Import volk_2.3.0-3.debian.tar.xz
authorA. Maitland Bottoms <bottoms@debian.org>
Tue, 30 Jun 2020 23:48:20 +0000 (00:48 +0100)
committerA. Maitland Bottoms <bottoms@debian.org>
Tue, 30 Jun 2020 23:48:20 +0000 (00:48 +0100)
[dgit import tarball volk 2.3.0-3 volk_2.3.0-3.debian.tar.xz]

32 files changed:
changelog [new file with mode: 0644]
compat [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
libvolk2-bin.install [new file with mode: 0644]
libvolk2-bin.manpages [new file with mode: 0644]
libvolk2-dev.acc [new file with mode: 0644]
libvolk2-dev.install [new file with mode: 0644]
libvolk2-doc.doc-base [new file with mode: 0644]
libvolk2-doc.docs [new file with mode: 0644]
libvolk2.3.install [new file with mode: 0644]
patches/0001-readme-Add-section-on-supported-platforms.patch [new file with mode: 0644]
patches/0002-readme-Make-supported-compiler-section-more-specific.patch [new file with mode: 0644]
patches/0003-Test-the-rotator-kernel-with-a-realistic-scalar.patch [new file with mode: 0644]
patches/0004-readme-Fix-wording.patch [new file with mode: 0644]
patches/0005-emit-an-emms-instruction-after-using-the-mmx-extensi.patch [new file with mode: 0644]
patches/0006-update-to-newest-version-of-the-Intel-SDE.patch [new file with mode: 0644]
patches/0007-fix-Adjust-min-max-for-32f_s32f_convert_8i-kernel.patch [new file with mode: 0644]
patches/0008-fix-Use-INT8_-instead-of-CHAR_.patch [new file with mode: 0644]
patches/0009-docs-Fix-conversion-inaccuracy.patch [new file with mode: 0644]
patches/make-acc-happy [new file with mode: 0644]
patches/optional-static-apps [new file with mode: 0644]
patches/remove-external-HTML-resources [new file with mode: 0644]
patches/series [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
source/include-binaries [new file with mode: 0644]
upstream/signing-key.asc [new file with mode: 0644]
volk-config-info.1 [new file with mode: 0644]
volk_modtool.1 [new file with mode: 0644]
volk_profile.1 [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..686de1f
--- /dev/null
+++ b/changelog
@@ -0,0 +1,470 @@
+volk (2.3.0-3) unstable; urgency=medium
+
+  * update to v2.3.0-14-g91e5d07
+    emit an emms instruction after using the mmx extension
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Tue, 30 Jun 2020 19:48:20 -0400
+
+volk (2.3.0-2) unstable; urgency=medium
+
+  * Upload to unstable
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Mon, 11 May 2020 07:26:03 -0400
+
+volk (2.3.0-1) experimental; urgency=medium
+
+  * New upstream release, to experimental for soversion bump
+  * Kernels
+    - volk: accurate exp kernel
+        - exp: Rename SSE4.1 to SSE2 kernel
+    - Add 32f_s32f_add_32f kernel
+        - This kernel adds in vector + scalar functionality
+    - Fix the broken index max kernels
+    - Treat the mod_range puppet as such
+    - Add puppet for power spectral density kernel
+    - Updated log10 calcs to use faster log2 approach
+    - fix: Use unaligned load
+    - divide: Optimize complexmultiplyconjugate
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sat, 09 May 2020 15:42:23 -0400
+
+volk (2.2.1-3) unstable; urgency=medium
+
+  * update to v2.2.1-34-gd4756c5
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 05 Apr 2020 10:37:46 -0400
+
+volk (2.2.1-2) unstable; urgency=medium
+
+  * update to v2.2.1-11-gfaf230e
+  * cmake: Remove the ORC from the VOLK public link interface
+  * Fix the broken index max kernels
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Fri, 27 Mar 2020 21:48:10 -0400
+
+volk (2.2.1-1) unstable; urgency=high
+
+  * New upstream bugfix release
+    reason for high urgency:
+    - Fix loop bound in AVX rotator (only one fixed in 2.2.0-3)
+    - Fix out-of-bounds read in AVX2 square dist kernel
+    - Fix length checks in AVX2 index max kernels
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Mon, 24 Feb 2020 18:08:05 -0500
+
+volk (2.2.0-3) unstable; urgency=high
+
+  * Update to v2.2.0-6-g5701f8f
+    reason for high urgency:
+    - Fix loop bound in AVX rotator
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 23 Feb 2020 23:49:18 -0500
+
+volk (2.2.0-2) unstable; urgency=medium
+
+  * Upload to unstable
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Tue, 18 Feb 2020 17:56:58 -0500
+
+volk (2.2.0-1) experimental; urgency=medium
+
+  * New upstream release
+    - Remove build dependency on python six
+    - Fixup VolkConfigVersion
+    - add volk_version.h
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 16 Feb 2020 18:25:20 -0500
+
+volk (2.1.0-2) unstable; urgency=medium
+
+  * Upload to unstable
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 05 Jan 2020 23:17:57 -0500
+
+volk (2.1.0-1) experimental; urgency=medium
+
+  * New upstream release
+    - The AVX FMA rotator bug is fixed
+    - VOLK offers `volk::vector<>` for C++ to follow RAII
+    - Use C++17 `std::filesystem`
+        - This enables VOLK to be built without Boost if available!
+    - lots of bugfixes
+    - more optimized kernels, especially more NEON versions
+  * Upload to experimental for new ABI library package libvolk2.1
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 22 Dec 2019 10:27:36 -0500
+
+volk (2.0.0-3) unstable; urgency=medium
+
+  * update to v2.0.0-4-gf04a46f
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 14 Nov 2019 22:47:23 -0500
+
+volk (2.0.0-2) unstable; urgency=medium
+
+  * Upload to unstable
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Mon, 12 Aug 2019 22:49:11 -0400
+
+volk (2.0.0-1) experimental; urgency=medium
+
+  * New upstream release
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Wed, 07 Aug 2019 23:31:20 -0400
+
+volk (1.4-4) unstable; urgency=medium
+
+  * working volk_modtool with Python 3
+  * build and install libvolk.a
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Mon, 29 Oct 2018 01:32:05 -0400
+
+volk (1.4-3) unstable; urgency=medium
+
+  * update to v1.4-9-g297fefd
+    Added an AVX protokernel for volk_32fc_x2_32f_square_dist_scalar_mult_32f
+    fixed a buffer over-read and over-write in
+     volk_32fc_x2_s32f_square_dist_scalar_mult_32f_a_avx
+    Fix 32u_reverse_32u for ARM
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sat, 12 May 2018 15:25:04 -0400
+
+volk (1.4-2) unstable; urgency=medium
+
+  * Upload to unstable, needed by gnuradio (>= 3.7.12.0)
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Tue, 03 Apr 2018 01:03:19 -0400
+
+volk (1.4-1) experimental; urgency=medium
+
+  * New upstream release
+    upstream changelog http://libvolk.org/release-v14.html
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Tue, 27 Mar 2018 22:57:42 -0400
+
+volk (1.3.1-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+  * Refresh all debian patches for use with git am
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Tue, 27 Mar 2018 21:54:29 -0400
+
+volk (1.3-3) unstable; urgency=medium
+
+  * update to v1.3-23-g0109b2e
+  * update debian/libvolk1-dev.abi.tar.gz.amd64
+  * Add breaks/replaces gnuradio (<=3.7.2.1) (LP: #1614235)
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 04 Feb 2018 13:12:21 -0500
+
+volk (1.3-2) unstable; urgency=medium
+
+  * update to v1.3-16-g28b03a9
+    apps: fix profile update reading end of lines
+    qa: lower tolerance for 32fc_mag to fix issue #96
+  * include upstream master patch to sort input files
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 27 Aug 2017 13:44:55 -0400
+
+volk (1.3-1) unstable; urgency=medium
+
+  * New upstream release
+  * The index_max kernels were named with the wrong output datatype. To
+    fix this there are new kernels that return a 32u (int32_t) and the
+    existing kernels had their signatures changed to return 16u (int16_t).
+  * The output to stdout and stderr has been shuffled around. There is no
+    longer a message that prints what VOLK machine is being used and the
+    warning messages go to stderr rather than stdout.
+  * The 32fc_index_max kernels previously were only accurate to the SSE
+    register width (4 points). This was a pretty serious and long-lived
+    bug that's been fixed and the QA updated appropriately.
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sat, 02 Jul 2016 16:30:47 -0400
+
+volk (1.2.2-2) unstable; urgency=medium
+
+  * update to v1.2.2-11-g78c8bc4 (to follow gnuradio maint branch)
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 19 Jun 2016 14:44:15 -0400
+
+volk (1.2.2-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Fri, 08 Apr 2016 00:12:10 -0400
+
+volk (1.2.1-2) unstable; urgency=medium
+
+  * Upstream patches:
+    Fix some CMake complaints
+    The fix for compilation with cmake 3.5
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Wed, 23 Mar 2016 17:47:54 -0400
+
+volk (1.2.1-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 07 Feb 2016 19:38:32 -0500
+
+volk (1.2-1) unstable; urgency=medium
+
+  * New upstream release
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 24 Dec 2015 20:28:13 -0500
+
+volk (1.1.1-5) experimental; urgency=medium
+
+  * update to v1.1.1-22-gef53547 to support gnuradio 3.7.9
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Fri, 11 Dec 2015 13:12:55 -0500
+
+volk (1.1.1-4) unstable; urgency=medium
+
+  * more lintian fixes
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Wed, 25 Nov 2015 21:49:58 -0500
+
+volk (1.1.1-3) unstable; urgency=medium
+
+  * Lintian fixes Pre-Depends
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 19 Nov 2015 21:24:27 -0500
+
+volk (1.1.1-2) unstable; urgency=medium
+
+  * Note that libvolk1-dev replaces files in gnuradio-dev versions <<3.7.8
+    (Closes: #802646) again. Thanks Andreas Beckmann.
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Fri, 13 Nov 2015 18:45:49 -0500
+
+volk (1.1.1-1) unstable; urgency=medium
+
+  * New upstream release
+  * New architectures exist for the AVX2 and FMA ISAs.
+  * The profiler now generates buffers that are vlen + a tiny amount and
+    generates random data to fill buffers. This is intended to catch bugs
+    in protokernels that write beyond num_points.
+  * Note that libvolk1-dev replaces files in earlier gnuradio-dev versions
+    (Closes: #802646)
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 01 Nov 2015 18:45:43 -0500
+
+volk (1.1-4) unstable; urgency=medium
+
+  * update to v1.1-12-g264addc
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Tue, 29 Sep 2015 23:41:50 -0400
+
+volk (1.1-3) unstable; urgency=low
+
+  * drop dh_acc to get reproducible builds
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Fri, 11 Sep 2015 22:57:06 -0400
+
+volk (1.1-2) unstable; urgency=low
+
+  * use dh-acc
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Mon, 07 Sep 2015 15:45:20 -0400
+
+volk (1.1-1) unstable; urgency=medium
+
+  * re-organize package naming convention
+  * New upstream release tag v1.1
+  New architectures exist for the AVX2 and FMA ISAs. Along
+  with the build-system support the following kernels have
+  no proto-kernels taking advantage of these architectures:
+  
+  * 32f_x2_dot_prod_32f
+  * 32fc_x2_multiply_32fc
+  * 64_byteswap
+  * 32f_binary_slicer_8i
+  * 16u_byteswap
+  * 32u_byteswap
+  
+  QA/profiler
+  -----------
+  
+  The profiler now generates buffers that are vlen + a tiny
+  amount and generates random data to fill buffers. This is
+  intended to catch bugs in protokernels that write beyond
+  num_points.
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Wed, 26 Aug 2015 09:22:48 -0400
+
+volk (1.0.2-2) unstable; urgency=low
+
+  * Use SOURCE_DATE_EPOCH from the environment, if defined,
+    rather than current date and time to implement volk_build_date()
+    (embedding build date in a library does not help reproducible builds)
+  * add watch file
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sat, 15 Aug 2015 17:43:15 -0400
+
+volk (1.0.2-1) unstable; urgency=medium
+
+  * Maintenance release 24 Jul 2015 by Nathan West
+  * The major change is the CMake logic to add ASM protokernels. Rather
+    than depending on CFLAGS and ASMFLAGS we use the results of VOLK's
+    built in has_ARCH tests. All configurations should work the same as
+    before, but manually specifying CFLAGS and ASMFLAGS on the cmake call
+    for ARM native builds should no longer be necessary.
+  * The 32fc_s32fc_x2_rotator_32fc generic protokernel now includes a
+    previously implied header.
+  * Finally, there is a fix to return the "best" protokernel to the
+    dispatcher when no volk_config exists. Thanks to Alexandre Raymond for
+    pointing this out.
+  * with maint branch patch:
+      kernels-add-missing-include-arm_neon.h
+  * removed unused build-dependency on liboil0.3-dev (closes: #793626)
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Wed, 05 Aug 2015 00:43:40 -0400
+
+volk (1.0.1-1) unstable; urgency=low
+
+  * Maintenance Release v1.0.1 08 Jul 2015 by Nathan West
+    This is a maintenance release with bug fixes since the initial release of
+    v1.0 in April.
+    
+  * Contributors
+   
+    The following authors have contributed code to this release:
+    
+    Doug Geiger doug.geiger@bioradiation.net
+    Elliot Briggs elliot.briggs@gmail.com
+    Marcus Mueller marcus@hostalia.de
+    Nathan West nathan.west@okstate.edu
+    Tom Rondeau tom@trondeau.com
+   
+  * Kernels
+   
+    Several bug fixes in different kernels. The NEON implementations of the
+    following kernels have been fixed:
+   
+      32f_x2_add_32f
+      32f_x2_dot_prod_32f
+      32fc_s32fc_multiply_32fc
+      32fc_x2_multiply_32fc
+   
+   Additionally the NEON asm based 32f_x2_add_32f protokernels were not being
+   used and are now included and available for use via the dispatcher.
+   
+   The 32f_s32f_x2_fm_detect_32f kernel now has a puppet. This solves QA seg
+   faults on 32-bit machines and provide a better test for this kernel.
+   
+   The 32fc_s32fc_x2_rotator_32fc generic protokernel replaced cabsf with
+   hypotf for better Android support.
+
+  * Building
+   
+    Static builds now trigger the applications (volk_profile and
+    volk-config-info) to be statically linked.
+    
+    The file gcc_x86_cpuid.h has been removed since it was no longer being
+    used. Previously it provided cpuid functionality for ancient compilers
+    that we do not support.
+    
+    All build types now use -Wall.
+
+  * QA and Testing
+   
+   The documentation around the --update option to volk_profile now makes it
+   clear that the option will only profile kernels without entries in
+   volk_profile. The signature of run_volk_tests with expanded args changed
+   signed types to unsigned types to reflect the actual input.
+   
+   The remaining changes are all non-functional changes to address issues
+   from Coverity.
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Fri, 10 Jul 2015 17:57:42 -0400
+
+volk (1.0-5) unstable; urgency=medium
+
+  * native-armv7-build-support skips neon on Debian armel (Closes: #789972)
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sat, 04 Jul 2015 12:36:36 -0400
+
+volk (1.0-4) unstable; urgency=low
+
+  * update native-armv7-build-support patch from gnuradio volk package
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 25 Jun 2015 16:38:49 -0400
+
+volk (1.0-3) unstable; urgency=medium
+
+  * Add Breaks/Replaces (Closes: #789893, #789894)
+  * Allow failing tests
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Thu, 25 Jun 2015 12:46:06 -0400
+
+volk (1.0-2) unstable; urgency=medium
+
+  * kernels-add-missing-math.h-include-to-rotator
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Wed, 24 Jun 2015 21:09:32 -0400
+
+volk (1.0-1) unstable; urgency=low
+
+  * Initial package (Closes: #782417)
+  Initial Release 11 Apr 2015 by Nathan West
+  
+  VOLK 1.0 is available. This is the first release of VOLK as an independently
+  tracked sub-project of GNU Radio.
+
+  * Contributors
+  
+  VOLK has been tracked separately from GNU Radio since 2014 Dec 23.
+  Contributors between the split and the initial release are
+
+  Albert Holguin aholguin_77@yahoo.com
+  Doug Geiger doug.geiger@bioradiation.net
+  Elliot Briggs elliot.briggs@gmail.com
+  Julien Olivain julien.olivain@lsv.ens-cachan.fr
+  Michael Dickens michael.dickens@ettus.com
+  Nathan West nathan.west@okstate.edu
+  Tom Rondeau tom@trondeau.com
+  
+  * QA
+  
+  The test and profiler have significantly changed. The profiler supports
+  run-time changes to vlen and iters to help kernel development and provide
+  more flexibility on embedded systems. Additionally there is a new option
+  to update an existing volk_profile results file with only new kernels which
+  will save time when updating to newer versions of VOLK
+  
+  The QA system creates a static list of kernels and test cases. The QA
+  testing and profiler iterate over this static list rather than each source
+  file keeping its own list. The QA also emits XML results to
+  lib/.unittest/kernels.xml which is formatted similarly to JUnit results.
+  
+  * Modtool
+  
+  Modtool was updated to support the QA and profiler changes.
+
+  * Kernels
+  
+  New proto-kernels:
+  
+  16ic_deinterleave_real_8i_neon
+  16ic_s32f_deinterleave_32f_neon
+  fix preprocessor errors for some compilers on byteswap and popcount puppets
+  
+  ORC was moved to the asm kernels directory.
+  volk_malloc
+  
+  The posix_memalign implementation of Volk_malloc now falls back to a standard
+  malloc if alignment is 1.
+  
+  * Miscellaneous
+  
+  Several build system and cmake changes have made it possible to build VOLK
+  both independently with proper soname versions and in-tree for projects
+  such as GNU Radio.
+  
+  The static builds take advantage of cmake object libraries to speed up builds.
+  
+  Finally, there are a number of changes to satisfy compiler warnings and make
+  QA work on multiple machines.
+
+ -- A. Maitland Bottoms <bottoms@debian.org>  Sun, 12 Apr 2015 23:20:41 -0400
diff --git a/compat b/compat
new file mode 100644 (file)
index 0000000..48082f7
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+12
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..6fc1e39
--- /dev/null
+++ b/control
@@ -0,0 +1,80 @@
+Source: volk
+Section: libdevel
+Priority: optional
+Maintainer: A. Maitland Bottoms <bottoms@debian.org>
+Build-Depends: cmake,
+               debhelper (>= 12~),
+              dh-acc,
+               dh-python,
+               liborc-0.4-dev,
+              python3-dev,
+              python3-mako
+Build-Depends-Indep: doxygen
+Standards-Version: 4.5.0
+Homepage: http://libvolk.org
+Vcs-Browser: https://salsa.debian.org/bottoms/pkg-volk
+Vcs-Git: https://salsa.debian.org/bottoms/pkg-volk.git
+
+Package: libvolk2.3
+Section: libs
+Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Multi-Arch: same
+Recommends: libvolk2-bin
+Suggests: libvolk2-dev
+Description: vector optimized functions
+ Vector-Optimized Library of Kernels is designed to help
+ applications work with the processor's SIMD instruction sets. These are
+ very powerful vector operations that can give signal processing a
+ huge boost in performance.
+
+Package: libvolk2-dev
+Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Depends: libvolk2.3 (=${binary:Version}), ${misc:Depends}
+Breaks: gnuradio-dev (<<3.7.8), libvolk-dev, libvolk1.0-dev, libvolk1-dev
+Replaces: gnuradio-dev (<<3.7.8), libvolk-dev, libvolk1.0-dev, libvolk1-dev
+Suggests: libvolk2-doc
+Multi-Arch: same
+Description: vector optimized function headers
+ Vector-Optimized Library of Kernels is designed to help
+ applications work with the processor's SIMD instruction sets. These are
+ very powerful vector operations that can give signal processing a
+ huge boost in performance.
+ .
+ This package contains the header files.
+ For documentation, see libvolk-doc.
+
+Package: libvolk2-bin
+Section: libs
+Architecture: any
+Pre-Depends: ${misc:Pre-Depends}
+Depends: libvolk2.3 (=${binary:Version}),
+         ${misc:Depends},
+         ${python3:Depends},
+         ${shlibs:Depends}
+Breaks: libvolk1-bin, libvolk-bin, libvolk1.0-bin, gnuradio (<=3.7.2.1)
+Replaces: libvolk1-bin, libvolk-bin, libvolk1.0-bin, gnuradio (<=3.7.2.1)
+Description: vector optimized runtime tools
+ Vector-Optimized Library of Kernels is designed to help
+ applications work with the processor's SIMD instruction sets. These are
+ very powerful vector operations that can give signal processing a
+ huge boost in performance.
+ .
+ This package includes the volk_profile tool.
+
+Package: libvolk2-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}
+Recommends: lynx | www-browser
+Description: vector optimized library documentation
+ Vector-Optimized Library of Kernels is designed to help
+ applications work with the processor's SIMD instruction sets. These are
+ very powerful vector operations that can give signal processing a
+ huge boost in performance.
+ .
+ This package includes the Doxygen generated documentation in
+ /usr/share/doc/libvolk2-dev/html/index.html
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..d40af90
--- /dev/null
+++ b/copyright
@@ -0,0 +1,187 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: volk
+Upstream-Contact: http://libvolk.org/
+Source:
+ https://github.com/gnuradio/volk
+Comment:
+ Debian packages by A. Maitland Bottoms <bottoms@debian.org>
+ git archive --format=tar --prefix=volk-2.3.0/  v2.3.0  | xz > ../volk_2.3.0.orig.tar.xz
+ .
+ Upstream Maintainers:
+  Johannes Demel <demel@uni-bremen.de>
+  Michael Dickens <michael.dickens@ettus.com>
+Copyright: 2014-2019 Free Software Foundation, Inc.
+License: GPL-3+
+
+Files: *
+Copyright: 2006, 2009-2020, Free Software Foundation, Inc.
+License: GPL-3+
+
+Files: Doxyfile.in
+  DoxygenLayout.xml
+  volk.pc.in
+Copyright: 2014-2020 Free Software Foundation, Inc.
+License: GPL-3+
+
+Files: apps/volk_profile.h
+Copyright: 2014-2020 Free Software Foundation, Inc.
+License: GPL-3+
+
+Files: appveyor.yml
+Copyright: 2016 Paul Cercueil <paul.cercueil@analog.com>
+License: GPL-3+
+
+Files: cmake/*
+Copyright: 2014-2020 Free Software Foundation, Inc.
+License: GPL-3+
+
+Files: cmake/Modules/*
+Copyright: 2006, 2009-2020, Free Software Foundation, Inc.
+License: GPL-3+
+
+Files: cmake/Modules/CMakeParseArgumentsCopy.cmake
+Copyright: 2010 Alexander Neundorf <neundorf@kde.org>
+License: Kitware-BSD
+ All rights reserved.
+ .
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+ .
+ * Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+ .
+ * Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+ .
+ * Neither the names of Kitware, Inc., the Insight Software Consortium,
+   nor the names of their contributors may be used to endorse or promote
+   products derived from this software without specific prior written
+   permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Files: cmake/Modules/FindORC.cmake
+  cmake/Modules/VolkConfig.cmake.in
+Copyright: 2014-2015 Free Software Foundation, Inc.
+License: GPL-3+
+
+Files: cmake/msvc/*
+Copyright: 2006-2008, Alexander Chemeris
+License: BSD-2-clause
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+ .
+   1. Redistributions of source code must retain the above copyright notice,
+      this list of conditions and the following disclaimer.
+ .
+   2. Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+ .
+   3. The name of the author may be used to endorse or promote products
+      derived from this software without specific prior written permission.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+ EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+Files: cmake/msvc/config.h
+Copyright: 2005, 2006 Apple Computer, Inc.
+License: LGPL-2+
+
+Files: cmake/msvc/stdbool.h
+Copyright: 2005, 2006, Apple Computer, Inc.
+License: LGPL-2+
+
+Files: debian/*
+Copyright: 2015-2020 Free Software Foundation, Inc
+License: GPL-3+
+Comment: assigned by A. Maitland Bottoms <bottoms@debian.org>
+
+Files: debian/libvolk2-dev.abi.tar.gz.amd64
+Copyright: 2019 Free Software Foundation, Inc
+License: GPL-3+
+
+Files: docs/*
+Copyright: 2014-2015 Free Software Foundation, Inc.
+License: GPL-3+
+
+Files: gen/archs.xml
+  gen/machines.xml
+Copyright: 2014-2015 Free Software Foundation, Inc.
+License: GPL-3+
+
+Files: include/volk/volk_common.h
+  include/volk/volk_complex.h
+  include/volk/volk_prefs.h
+Copyright: 2014-2015 Free Software Foundation, Inc.
+License: GPL-3+
+
+Files: kernels/volk/asm/*
+Copyright: 2014-2015 Free Software Foundation, Inc.
+License: GPL-3+
+
+Files: kernels/volk/volk_16u_byteswappuppet_16u.h
+  kernels/volk/volk_32u_byteswappuppet_32u.h
+  kernels/volk/volk_64u_byteswappuppet_64u.h
+Copyright: 2014-2015 Free Software Foundation, Inc.
+License: GPL-3+
+
+Files: lib/kernel_tests.h
+  lib/qa_utils.cc
+  lib/qa_utils.h
+  lib/volk_prefs.c
+Copyright: 2014-2015 Free Software Foundation, Inc.
+License: GPL-3+
+
+License: LGPL-2+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+ .
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ Library General Public License for more details.
+ .
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB.  If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+
+License: GPL-3+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
diff --git a/libvolk2-bin.install b/libvolk2-bin.install
new file mode 100644 (file)
index 0000000..7221b71
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin/volk*
+usr/lib/python3/dist-packages
diff --git a/libvolk2-bin.manpages b/libvolk2-bin.manpages
new file mode 100644 (file)
index 0000000..95bae9e
--- /dev/null
@@ -0,0 +1,3 @@
+debian/volk-config-info.1
+debian/volk_modtool.1
+debian/volk_profile.1
diff --git a/libvolk2-dev.acc b/libvolk2-dev.acc
new file mode 100644 (file)
index 0000000..37f5a79
--- /dev/null
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<descriptor>
+
+  <gcc_options>
+    -DHAVE_CPUID_H
+    -DHAVE_DLFCN_H
+    -DHAVE_FENV_H
+    -DHAVE_POSIX_MEMALIGN
+    -DHAVE_XGETBV
+    -D_GLIBCXX_USE_CXX11_ABI=1
+    -I/usr/include/orc-0.4
+    -DNDEBUG
+    -std=gnu11
+    -m64
+    -mmmx
+    -msse
+    -msse2
+    -msse3
+    -mssse3
+    -msse4.1
+    -msse4.2
+    -mpopcnt
+    -mavx
+    -mfma
+    -mavx2
+    -mavx512f
+    -mavx512cd
+    -fPIC
+    -g
+    -O2
+    -fstack-protector-strong
+    -Wformat
+    -Werror=format-security
+    -Wdate-time
+    -D_FORTIFY_SOURCE=2
+    -fvisibility=hidden
+    -Wsign-compare
+    -Wall
+    -Wno-uninitialized
+</gcc_options>
+
+<headers>
+debian/libvolk2-dev/usr/include/volk/
+</headers>
+
+<libs>
+debian/libvolk2.0/usr/lib/
+</libs>
+
+</descriptor>
diff --git a/libvolk2-dev.install b/libvolk2-dev.install
new file mode 100644 (file)
index 0000000..8b14c56
--- /dev/null
@@ -0,0 +1,5 @@
+usr/include/*
+usr/lib/*/*volk.a
+usr/lib/*/*volk*so
+usr/lib/*/cmake/volk
+usr/lib/*/pkgconfig/*volk*
diff --git a/libvolk2-doc.doc-base b/libvolk2-doc.doc-base
new file mode 100644 (file)
index 0000000..3d5fdc8
--- /dev/null
@@ -0,0 +1,19 @@
+Document: libvolk2-doc
+Title: Vector-Optimized Library of Kernels Reference Manual
+Author: GNU Radio Developers
+Abstract: VOLK is the Vector-Optimized Library of Kernels.
+ It is a library that contains kernels of hand-written SIMD code for
+ different mathematical operations. Since each SIMD architecture can
+ be very different and no compiler has yet come along to handle
+ vectorization properly or highly efficiently, VOLK approaches the
+ problem differently. For each architecture or platform that a
+ developer wishes to vectorize for, a new proto-kernel is added to
+ VOLK. At runtime, VOLK will select the correct proto-kernel. In this
+ way, the users of VOLK call a kernel for performing the operation
+ that is platform/architecture agnostic. This allows us to write
+ portable SIMD code.
+Section: Programming/C++
+
+Format: HTML
+Index: /usr/share/doc/libvolk2-dev/html/index.html
+Files: /usr/share/doc/libvolk2-dev/html/*.html
diff --git a/libvolk2-doc.docs b/libvolk2-doc.docs
new file mode 100644 (file)
index 0000000..87dd314
--- /dev/null
@@ -0,0 +1 @@
+obj-*/html
diff --git a/libvolk2.3.install b/libvolk2.3.install
new file mode 100644 (file)
index 0000000..e4252f4
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libvolk.so.*
diff --git a/patches/0001-readme-Add-section-on-supported-platforms.patch b/patches/0001-readme-Add-section-on-supported-platforms.patch
new file mode 100644 (file)
index 0000000..3ab47f3
--- /dev/null
@@ -0,0 +1,55 @@
+From 936553647dfd1a7ae08e246b9e8c6f0dc77fa208 Mon Sep 17 00:00:00 2001
+From: Johannes Demel <demel@ant.uni-bremen.de>
+Date: Sat, 2 May 2020 16:31:31 +0200
+Subject: [PATCH 1/9] readme: Add section on supported platforms
+
+So far, this is kind of a work in progress. I'd like to discuss the
+exact wording here.
+We run CI on Ubuntu, Windows and MacOS. For Windows and MacOS, we focus
+on the latest release and do not make any attempt to support older
+releases.
+For Linux, we want to have support for distros other than Ubuntu and
+older distros to some degree. Though, we decided to drop support for
+Ubuntu 16.04 because some bugs make it hard work put a work around in
+place for this old distro.
+---
+ README.md | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+diff --git a/README.md b/README.md
+index 234351f..6c6f491 100644
+--- a/README.md
++++ b/README.md
+@@ -1,4 +1,6 @@
+ [![Build Status](https://travis-ci.org/gnuradio/volk.svg?branch=master)](https://travis-ci.org/gnuradio/volk) [![Build status](https://ci.appveyor.com/api/projects/status/5o56mgw0do20jlh3/branch/master?svg=true)](https://ci.appveyor.com/project/gnuradio/volk/branch/master)
++![Check PR Formatting](https://github.com/gnuradio/volk/workflows/Check%20PR%20Formatting/badge.svg)
++![Run VOLK tests](https://github.com/gnuradio/volk/workflows/Run%20VOLK%20tests/badge.svg)
+ ![VOLK Logo](/docs/volk_logo.png)
+@@ -54,6 +56,22 @@ $ sudo make install
+ $ volk_profile
+ ```
++## Supported platforms
++
++VOLK aims to be portable to as many platforms as possible. We can only run tests on some platforms.
++
++### Hardware architectures
++Currently VOLK aims to run with optimized kernels on x86 with SSE/AVX and ARM with NEON.
++
++### OS / Distro
++We run tests on a variety of Ubuntu versions and aim to support as many current distros as possible.
++The same goal applies to differenct OSes. Although this does only happen rarely, it might occur that VOLK does not work on obsolete distros, e.g. Ubuntu 12.04.
++
++### Compilers
++We want to make sure VOLK works with C/C++ standard compliant compilers. Most notably GCC and Clang.
++Other compilers that fail to be standard compliant, e.g. MSVC or AppleClang, do also receive attention but some functionality might be missing with these compilers due to lack of standard support.
++
++
+ ## License
+ >
+-- 
+2.20.1
+
diff --git a/patches/0002-readme-Make-supported-compiler-section-more-specific.patch b/patches/0002-readme-Make-supported-compiler-section-more-specific.patch
new file mode 100644 (file)
index 0000000..218d5e9
--- /dev/null
@@ -0,0 +1,39 @@
+From d4c5d0d041981d9b47395e17399ba754fe36f163 Mon Sep 17 00:00:00 2001
+From: Johannes Demel <demel@ant.uni-bremen.de>
+Date: Sun, 3 May 2020 15:53:43 +0200
+Subject: [PATCH 2/9] readme: Make supported compiler section more specific
+
+---
+ README.md | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/README.md b/README.md
+index 6c6f491..cf73325 100644
+--- a/README.md
++++ b/README.md
+@@ -57,7 +57,6 @@ $ volk_profile
+ ```
+ ## Supported platforms
+-
+ VOLK aims to be portable to as many platforms as possible. We can only run tests on some platforms.
+ ### Hardware architectures
+@@ -65,11 +64,11 @@ Currently VOLK aims to run with optimized kernels on x86 with SSE/AVX and ARM wi
+ ### OS / Distro
+ We run tests on a variety of Ubuntu versions and aim to support as many current distros as possible.
+-The same goal applies to differenct OSes. Although this does only happen rarely, it might occur that VOLK does not work on obsolete distros, e.g. Ubuntu 12.04.
++The same goal applies to different OSes. Although this does only happen rarely, it might occur that VOLK does not work on obsolete distros, e.g. Ubuntu 12.04.
+ ### Compilers
+-We want to make sure VOLK works with C/C++ standard compliant compilers. Most notably GCC and Clang.
+-Other compilers that fail to be standard compliant, e.g. MSVC or AppleClang, do also receive attention but some functionality might be missing with these compilers due to lack of standard support.
++We want to make sure VOLK works with C/C++ standard compliant compilers. Of course, as an open source project we focus on open source compilers, most notably GCC and Clang.
++We work want to make sure VOLK compiles on a wide variety of compilers. Thus, we target AppleClang and MSVC as well. Mind that MSVC lacks `aligned_alloc` support for aligned arrays. We use MSVC specific instructions in this case which cannot be `free`'d with `free`.
+ ## License
+-- 
+2.20.1
+
diff --git a/patches/0003-Test-the-rotator-kernel-with-a-realistic-scalar.patch b/patches/0003-Test-the-rotator-kernel-with-a-realistic-scalar.patch
new file mode 100644 (file)
index 0000000..9eebdcc
--- /dev/null
@@ -0,0 +1,39 @@
+From 412cd9cdcfd23982e1ad345dbdb0fe5bf2017b57 Mon Sep 17 00:00:00 2001
+From: Clayton Smith <argilo@gmail.com>
+Date: Sat, 9 May 2020 10:34:30 -0400
+Subject: [PATCH 3/9] Test the rotator kernel with a realistic scalar
+
+---
+ lib/kernel_tests.h | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/lib/kernel_tests.h b/lib/kernel_tests.h
+index ec2bb07..de340f4 100644
+--- a/lib/kernel_tests.h
++++ b/lib/kernel_tests.h
+@@ -32,6 +32,10 @@ std::vector<volk_test_case_t> init_test_list(volk_test_params_t test_params)
+     volk_test_params_t test_params_power(test_params);
+     test_params_power.set_scalar(2.5);
++    volk_test_params_t test_params_rotator(test_params);
++    test_params_rotator.set_scalar(std::polar(1.0f, 0.1f));
++    test_params_rotator.set_tol(1e-3);
++
+     std::vector<volk_test_case_t> test_cases;
+     QA(VOLK_INIT_PUPP(volk_64u_popcntpuppet_64u, volk_64u_popcnt, test_params))
+     QA(VOLK_INIT_PUPP(volk_64u_popcntpuppet_64u, volk_64u_popcnt, test_params))
+@@ -40,8 +44,9 @@ std::vector<volk_test_case_t> init_test_list(volk_test_params_t test_params)
+     QA(VOLK_INIT_PUPP(volk_32u_byteswappuppet_32u, volk_32u_byteswap, test_params))
+     QA(VOLK_INIT_PUPP(volk_32u_popcntpuppet_32u, volk_32u_popcnt_32u, test_params))
+     QA(VOLK_INIT_PUPP(volk_64u_byteswappuppet_64u, volk_64u_byteswap, test_params))
+-    QA(VOLK_INIT_PUPP(
+-        volk_32fc_s32fc_rotatorpuppet_32fc, volk_32fc_s32fc_x2_rotator_32fc, test_params))
++    QA(VOLK_INIT_PUPP(volk_32fc_s32fc_rotatorpuppet_32fc,
++                      volk_32fc_s32fc_x2_rotator_32fc,
++                      test_params_rotator))
+     QA(VOLK_INIT_PUPP(
+         volk_8u_conv_k7_r2puppet_8u, volk_8u_x4_conv_k7_r2_8u, test_params.make_tol(0)))
+     QA(VOLK_INIT_PUPP(
+-- 
+2.20.1
+
diff --git a/patches/0004-readme-Fix-wording.patch b/patches/0004-readme-Fix-wording.patch
new file mode 100644 (file)
index 0000000..6b0b1d7
--- /dev/null
@@ -0,0 +1,25 @@
+From f9832a2b6234d3dff5c67f8d8cbc36e9d3262f14 Mon Sep 17 00:00:00 2001
+From: jdemel <demel@uni-bremen.de>
+Date: Tue, 19 May 2020 08:20:07 +0200
+Subject: [PATCH 4/9] readme: Fix wording
+
+---
+ README.md | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/README.md b/README.md
+index cf73325..c288014 100644
+--- a/README.md
++++ b/README.md
+@@ -68,7 +68,7 @@ The same goal applies to different OSes. Although this does only happen rarely,
+ ### Compilers
+ We want to make sure VOLK works with C/C++ standard compliant compilers. Of course, as an open source project we focus on open source compilers, most notably GCC and Clang.
+-We work want to make sure VOLK compiles on a wide variety of compilers. Thus, we target AppleClang and MSVC as well. Mind that MSVC lacks `aligned_alloc` support for aligned arrays. We use MSVC specific instructions in this case which cannot be `free`'d with `free`.
++We want to make sure VOLK compiles on a wide variety of compilers. Thus, we target AppleClang and MSVC as well. Mind that MSVC lacks `aligned_alloc` support for aligned arrays. We use MSVC specific instructions in this case which cannot be `free`'d with `free`.
+ ## License
+-- 
+2.20.1
+
diff --git a/patches/0005-emit-an-emms-instruction-after-using-the-mmx-extensi.patch b/patches/0005-emit-an-emms-instruction-after-using-the-mmx-extensi.patch
new file mode 100644 (file)
index 0000000..2b9cb0b
--- /dev/null
@@ -0,0 +1,34 @@
+From 041db6e3e1fdeb9773cc1cafc0891e234f9a6b3a Mon Sep 17 00:00:00 2001
+From: Martin Kaesberger <git@skipfish.de>
+Date: Mon, 15 Jun 2020 02:23:22 +0200
+Subject: [PATCH 5/9] emit an emms instruction after using the mmx extension
+
+---
+ kernels/volk/volk_16i_32fc_dot_prod_32fc.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/kernels/volk/volk_16i_32fc_dot_prod_32fc.h b/kernels/volk/volk_16i_32fc_dot_prod_32fc.h
+index 2635649..9246259 100644
+--- a/kernels/volk/volk_16i_32fc_dot_prod_32fc.h
++++ b/kernels/volk/volk_16i_32fc_dot_prod_32fc.h
+@@ -209,6 +209,8 @@ static inline void volk_16i_32fc_dot_prod_32fc_u_sse(lv_32fc_t* result,
+         bPtr += 16;
+     }
++    _mm_empty(); // clear the mmx technology state
++
+     dotProdVal0 = _mm_add_ps(dotProdVal0, dotProdVal1);
+     dotProdVal0 = _mm_add_ps(dotProdVal0, dotProdVal2);
+     dotProdVal0 = _mm_add_ps(dotProdVal0, dotProdVal3);
+@@ -484,6 +486,8 @@ static inline void volk_16i_32fc_dot_prod_32fc_a_sse(lv_32fc_t* result,
+         bPtr += 16;
+     }
++    _mm_empty(); // clear the mmx technology state
++
+     dotProdVal0 = _mm_add_ps(dotProdVal0, dotProdVal1);
+     dotProdVal0 = _mm_add_ps(dotProdVal0, dotProdVal2);
+     dotProdVal0 = _mm_add_ps(dotProdVal0, dotProdVal3);
+-- 
+2.20.1
+
diff --git a/patches/0006-update-to-newest-version-of-the-Intel-SDE.patch b/patches/0006-update-to-newest-version-of-the-Intel-SDE.patch
new file mode 100644 (file)
index 0000000..29c358d
--- /dev/null
@@ -0,0 +1,62 @@
+From f246d4cf56ce74a0509dca116d6340beb157a823 Mon Sep 17 00:00:00 2001
+From: Christoph Mayer <hcab14@gmail.com>
+Date: Mon, 15 Jun 2020 18:07:40 +0200
+Subject: [PATCH 6/9] update to newest version of the Intel SDE
+
+---
+ .travis.yml                      |  5 ++---
+ scripts/ci/download_intel_sde.sh | 16 +++++-----------
+ 2 files changed, 7 insertions(+), 14 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index dae3e50..2c0e769 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -11,9 +11,8 @@ addons:
+ env:
+   global:
+-    - SDE_VERSION=sde-external-8.35.0-2019-03-11-lin
+-    - SDE_URL1=https://software.intel.com/protected-download/267266/144917
+-    - SDE_URL2=https://software.intel.com/system/files/managed/32/db
++    - SDE_VERSION=sde-external-8.50.0-2020-03-26-lin
++    - SDE_URL=http://software.intel.com/content/dam/develop/external/us/en/protected/
+ matrix:
+   include:
+diff --git a/scripts/ci/download_intel_sde.sh b/scripts/ci/download_intel_sde.sh
+index 47e4093..2d5a8e3 100755
+--- a/scripts/ci/download_intel_sde.sh
++++ b/scripts/ci/download_intel_sde.sh
+@@ -16,23 +16,17 @@ function test_sde
+ mkdir -p cache
+ cd cache
+-[ -z "${SDE_VERSION}" ] && SDE_VERSION=sde-external-8.35.0-2019-03-11-lin
+-[ -z "${SDE_URL1}" ] && SDE_URL1=https://software.intel.com/protected-download/267266/144917
+-[ -z "${SDE_URL2}" ] && SDE_URL2=https://software.intel.com/system/files/managed/32/db
++[ -z "${SDE_VERSION}" ] && SDE_VERSION=sde-external-8.50.0-2020-03-26-lin
++[ -z "${SDE_URL}" ] && SDE_URL=http://software.intel.com/content/dam/develop/external/us/en/protected/
++[ -z "${SDE}" ] && SDE=${SDE_VERSION}/sde64
+-SDE_TARBALL=${SDE_VERSION}.tar.bz2
+-SDE=$(pwd)/${SDE_VERSION}/sde64
+ if [ _$(test_sde) == _0 ]; then
+     MSG="found working version: ${SDE_VERSION}"
+ else
+     MSG="downloading: ${SDE_VERSION}"
+-    curl --verbose --form accept_license=1 --form form_id=intel_licensed_dls_step_1 \
+-         --output /dev/null --cookie-jar jar.txt \
+-         --location ${SDE_URL1}
+-    curl --verbose --cookie jar.txt --output ${SDE_TARBALL} \
+-         ${SDE_URL2}/${SDE_TARBALL}
+-    tar xvf ${SDE_TARBALL}
++    wget ${SDE_URL}/${SDE_VERSION}.tar.bz2
++    tar xvf ${SDE_VERSION}.tar.bz2
+ fi
+ echo $SDE
+-- 
+2.20.1
+
diff --git a/patches/0007-fix-Adjust-min-max-for-32f_s32f_convert_8i-kernel.patch b/patches/0007-fix-Adjust-min-max-for-32f_s32f_convert_8i-kernel.patch
new file mode 100644 (file)
index 0000000..9f5c89e
--- /dev/null
@@ -0,0 +1,31 @@
+From 3ade4bc736a4f6c9246fdf3e5f388e182b94fbe5 Mon Sep 17 00:00:00 2001
+From: Johannes Demel <demel@ant.uni-bremen.de>
+Date: Mon, 15 Jun 2020 23:14:26 +0200
+Subject: [PATCH 7/9] fix: Adjust min/max for 32f_s32f_convert_8i kernel
+
+This kernel used `CHAR_MIN` to determine the minimum value which may be
+0. It is expected that this value is -127. Thus, we move to `INT8_MIN`.
+
+Fix #390
+---
+ kernels/volk/volk_32f_s32f_convert_8i.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/kernels/volk/volk_32f_s32f_convert_8i.h b/kernels/volk/volk_32f_s32f_convert_8i.h
+index 242c3bd..ea16ef8 100644
+--- a/kernels/volk/volk_32f_s32f_convert_8i.h
++++ b/kernels/volk/volk_32f_s32f_convert_8i.h
+@@ -78,8 +78,8 @@
+ static inline void volk_32f_s32f_convert_8i_single(int8_t* out, const float in)
+ {
+-    float min_val = CHAR_MIN;
+-    float max_val = CHAR_MAX;
++    float min_val = INT8_MIN;
++    float max_val = INT8_MAX;
+     if (in > max_val) {
+         *out = (int8_t)(max_val);
+     } else if (in < min_val) {
+-- 
+2.20.1
+
diff --git a/patches/0008-fix-Use-INT8_-instead-of-CHAR_.patch b/patches/0008-fix-Use-INT8_-instead-of-CHAR_.patch
new file mode 100644 (file)
index 0000000..af4de10
--- /dev/null
@@ -0,0 +1,84 @@
+From 1ca3dac77d68d048cd99d0cd7e6014780e3f93f5 Mon Sep 17 00:00:00 2001
+From: Johannes Demel <demel@ant.uni-bremen.de>
+Date: Thu, 25 Jun 2020 09:41:46 +0200
+Subject: [PATCH 8/9] fix: Use INT8_* instead of CHAR_*
+
+For consistency and to prevent bugs, we move from CHAR_* to INT8_*
+everywhere in this kernel.
+---
+ kernels/volk/volk_32f_s32f_convert_8i.h | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/kernels/volk/volk_32f_s32f_convert_8i.h b/kernels/volk/volk_32f_s32f_convert_8i.h
+index ea16ef8..d08ecd5 100644
+--- a/kernels/volk/volk_32f_s32f_convert_8i.h
++++ b/kernels/volk/volk_32f_s32f_convert_8i.h
+@@ -104,8 +104,8 @@ static inline void volk_32f_s32f_convert_8i_u_avx2(int8_t* outputVector,
+     const float* inputVectorPtr = (const float*)inputVector;
+     int8_t* outputVectorPtr = outputVector;
+-    float min_val = CHAR_MIN;
+-    float max_val = CHAR_MAX;
++    float min_val = INT8_MIN;
++    float max_val = INT8_MAX;
+     float r;
+     __m256 vScalar = _mm256_set1_ps(scalar);
+@@ -176,8 +176,8 @@ static inline void volk_32f_s32f_convert_8i_u_sse2(int8_t* outputVector,
+     const float* inputVectorPtr = (const float*)inputVector;
+     int8_t* outputVectorPtr = outputVector;
+-    float min_val = CHAR_MIN;
+-    float max_val = CHAR_MAX;
++    float min_val = INT8_MIN;
++    float max_val = INT8_MAX;
+     float r;
+     __m128 vScalar = _mm_set_ps1(scalar);
+@@ -245,8 +245,8 @@ static inline void volk_32f_s32f_convert_8i_u_sse(int8_t* outputVector,
+     const float* inputVectorPtr = (const float*)inputVector;
+     int8_t* outputVectorPtr = outputVector;
+-    float min_val = CHAR_MIN;
+-    float max_val = CHAR_MAX;
++    float min_val = INT8_MIN;
++    float max_val = INT8_MAX;
+     float r;
+     __m128 vScalar = _mm_set_ps1(scalar);
+@@ -321,8 +321,8 @@ static inline void volk_32f_s32f_convert_8i_a_avx2(int8_t* outputVector,
+     const float* inputVectorPtr = (const float*)inputVector;
+     int8_t* outputVectorPtr = outputVector;
+-    float min_val = CHAR_MIN;
+-    float max_val = CHAR_MAX;
++    float min_val = INT8_MIN;
++    float max_val = INT8_MAX;
+     float r;
+     __m256 vScalar = _mm256_set1_ps(scalar);
+@@ -393,8 +393,8 @@ static inline void volk_32f_s32f_convert_8i_a_sse2(int8_t* outputVector,
+     const float* inputVectorPtr = (const float*)inputVector;
+     int8_t* outputVectorPtr = outputVector;
+-    float min_val = CHAR_MIN;
+-    float max_val = CHAR_MAX;
++    float min_val = INT8_MIN;
++    float max_val = INT8_MAX;
+     float r;
+     __m128 vScalar = _mm_set_ps1(scalar);
+@@ -460,8 +460,8 @@ static inline void volk_32f_s32f_convert_8i_a_sse(int8_t* outputVector,
+     const float* inputVectorPtr = (const float*)inputVector;
+-    float min_val = CHAR_MIN;
+-    float max_val = CHAR_MAX;
++    float min_val = INT8_MIN;
++    float max_val = INT8_MAX;
+     float r;
+     int8_t* outputVectorPtr = outputVector;
+-- 
+2.20.1
+
diff --git a/patches/0009-docs-Fix-conversion-inaccuracy.patch b/patches/0009-docs-Fix-conversion-inaccuracy.patch
new file mode 100644 (file)
index 0000000..8942f6a
--- /dev/null
@@ -0,0 +1,25 @@
+From 9b2e54b78e65bf7f34e4f8a66c0ed1a2377bec9f Mon Sep 17 00:00:00 2001
+From: jdemel <demel@uni-bremen.de>
+Date: Thu, 25 Jun 2020 18:35:40 +0200
+Subject: [PATCH 9/9] docs: Fix conversion inaccuracy
+
+---
+ kernels/volk/volk_32f_s32f_convert_8i.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kernels/volk/volk_32f_s32f_convert_8i.h b/kernels/volk/volk_32f_s32f_convert_8i.h
+index d08ecd5..4016a52 100644
+--- a/kernels/volk/volk_32f_s32f_convert_8i.h
++++ b/kernels/volk/volk_32f_s32f_convert_8i.h
+@@ -25,7 +25,7 @@
+  *
+  * \b Overview
+  *
+- * Converts a floating point number to a 8-bit char after applying a
++ * Converts a floating point number to a 8-bit int after applying a
+  * scaling factor.
+  *
+  * <b>Dispatcher Prototype</b>
+-- 
+2.20.1
+
diff --git a/patches/make-acc-happy b/patches/make-acc-happy
new file mode 100644 (file)
index 0000000..7c5c767
--- /dev/null
@@ -0,0 +1,60 @@
+From 799245ea6e9e05cc0ed0fabe783fbbe1a5054fd4 Mon Sep 17 00:00:00 2001
+From: "A. Maitland Bottoms" <bottoms@debian.org>
+Date: Tue, 27 Mar 2018 22:02:59 -0400
+Subject: [PATCH 2/6] make acc happy
+
+The abi-compliance-checker grabs all the .h files it finds
+and tries to compile them all. Even though some are not
+appropriate for the architecture being run on. Being careful
+with preprocessor protections avoids problems.
+---
+ include/volk/volk_neon_intrinsics.h                 | 2 ++
+ kernels/volk/volk_32f_8u_polarbutterflypuppet_32f.h | 1 +
+ kernels/volk/volk_8u_x2_encodeframepolar_8u.h       | 3 ---
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+--- a/include/volk/volk_neon_intrinsics.h
++++ b/include/volk/volk_neon_intrinsics.h
+@@ -79,6 +79,7 @@
+ #ifndef INCLUDE_VOLK_VOLK_NEON_INTRINSICS_H_
+ #define INCLUDE_VOLK_VOLK_NEON_INTRINSICS_H_
++#ifdef LV_HAVE_NEON
+ #include <arm_neon.h>
+@@ -278,4 +279,5 @@
+ }
++#endif /*LV_HAVE_NEON*/
+ #endif /* INCLUDE_VOLK_VOLK_NEON_INTRINSICS_H_ */
+--- a/kernels/volk/volk_32f_8u_polarbutterflypuppet_32f.h
++++ b/kernels/volk/volk_32f_8u_polarbutterflypuppet_32f.h
+@@ -31,6 +31,7 @@
+ #include <volk/volk_32f_8u_polarbutterfly_32f.h>
+ #include <volk/volk_8u_x3_encodepolar_8u_x2.h>
+ #include <volk/volk_8u_x3_encodepolarpuppet_8u.h>
++#include <volk/volk_8u_x2_encodeframepolar_8u.h>
+ static inline void sanitize_bytes(unsigned char* u, const int elements)
+--- a/kernels/volk/volk_8u_x2_encodeframepolar_8u.h
++++ b/kernels/volk/volk_8u_x2_encodeframepolar_8u.h
+@@ -60,8 +60,6 @@
+     }
+ }
+-#ifdef LV_HAVE_GENERIC
+-
+ static inline void volk_8u_x2_encodeframepolar_8u_generic(unsigned char* frame,
+                                                           unsigned char* temp,
+                                                           unsigned int frame_size)
+@@ -81,7 +79,6 @@
+         --stage;
+     }
+ }
+-#endif /* LV_HAVE_GENERIC */
+ #ifdef LV_HAVE_SSSE3
+ #include <tmmintrin.h>
diff --git a/patches/optional-static-apps b/patches/optional-static-apps
new file mode 100644 (file)
index 0000000..399ee9b
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/apps/CMakeLists.txt
++++ b/apps/CMakeLists.txt
+@@ -62,7 +62,7 @@
+     target_link_libraries(volk_profile PRIVATE std::filesystem)
+ endif()
+-if(ENABLE_STATIC_LIBS)
++if(ENABLE_STATIC_LIBS AND ENABLE_STATIC_APPS)
+     target_link_libraries(volk_profile PRIVATE volk_static)
+     set_target_properties(volk_profile PROPERTIES LINK_FLAGS "-static")
+ else()
+@@ -79,7 +79,7 @@
+ add_executable(volk-config-info volk-config-info.cc ${CMAKE_CURRENT_SOURCE_DIR}/volk_option_helpers.cc
+         )
+-if(ENABLE_STATIC_LIBS)
++if(ENABLE_STATIC_LIBS AND ENABLE_STATIC_APPS)
+     target_link_libraries(volk-config-info volk_static)
+     set_target_properties(volk-config-info PROPERTIES LINK_FLAGS "-static")
+ else()
diff --git a/patches/remove-external-HTML-resources b/patches/remove-external-HTML-resources
new file mode 100644 (file)
index 0000000..c4b201b
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/README.md
++++ b/README.md
+@@ -1,7 +1,3 @@
+-[![Build Status](https://travis-ci.org/gnuradio/volk.svg?branch=master)](https://travis-ci.org/gnuradio/volk) [![Build status](https://ci.appveyor.com/api/projects/status/5o56mgw0do20jlh3/branch/master?svg=true)](https://ci.appveyor.com/project/gnuradio/volk/branch/master)
+-![Check PR Formatting](https://github.com/gnuradio/volk/workflows/Check%20PR%20Formatting/badge.svg)
+-![Run VOLK tests](https://github.com/gnuradio/volk/workflows/Run%20VOLK%20tests/badge.svg)
+-
+ ![VOLK Logo](/docs/volk_logo.png)
+ # Welcome to VOLK!
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..ff8e8df
--- /dev/null
@@ -0,0 +1,12 @@
+0001-readme-Add-section-on-supported-platforms.patch
+0002-readme-Make-supported-compiler-section-more-specific.patch
+0003-Test-the-rotator-kernel-with-a-realistic-scalar.patch
+0004-readme-Fix-wording.patch
+0005-emit-an-emms-instruction-after-using-the-mmx-extensi.patch
+0006-update-to-newest-version-of-the-Intel-SDE.patch
+0007-fix-Adjust-min-max-for-32f_s32f_convert_8i-kernel.patch
+0008-fix-Use-INT8_-instead-of-CHAR_.patch
+0009-docs-Fix-conversion-inaccuracy.patch
+make-acc-happy
+optional-static-apps
+remove-external-HTML-resources
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..965cdd3
--- /dev/null
+++ b/rules
@@ -0,0 +1,23 @@
+#!/usr/bin/make -f
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+export DEB_HOST_MULTIARCH
+export DH_VERBOSE=1
+
+%:
+       dh $@ --with python3 --with acc
+
+override_dh_auto_configure:
+       dh_auto_configure -- -DLIB_SUFFIX="/$(DEB_HOST_MULTIARCH)" \
+       -DENABLE_STATIC_LIBS=On, -DPYTHON_EXECUTABLE=/usr/bin/python3 \
+       -DCMAKE_BUILD_TYPE=RelWithDebInfo
+
+override_dh_auto_build-indep:
+       cmake --build obj-* --target volk_doc
+
+override_dh_auto_test:
+       - dh_auto_test -- CTEST_TEST_TIMEOUT=60
+
+override_dh_acc:
+       - abi-compliance-checker -l libvolk2-dev -v1 2.0.0-1 -dump debian/libvolk2-dev.acc -dump-path debian/libvolk2-dev/usr/lib/x86_64-linux-gnu/dh-acc/libvolk2-dev_2.0.0-1.abi.tar.gz
+       - cat logs/libvolk2-dev/2.0.0-1/log.txt
+       - dh_acc
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/source/include-binaries b/source/include-binaries
new file mode 100644 (file)
index 0000000..2a77b05
--- /dev/null
@@ -0,0 +1 @@
+debian/libvolk2-dev.abi.tar.gz.amd64
diff --git a/upstream/signing-key.asc b/upstream/signing-key.asc
new file mode 100644 (file)
index 0000000..f6d7f93
--- /dev/null
@@ -0,0 +1,52 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+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
+CLIM6szb01rYgHTn9/vDgJE=
+=MlbD
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/volk-config-info.1 b/volk-config-info.1
new file mode 100644 (file)
index 0000000..e8d6efd
--- /dev/null
@@ -0,0 +1,45 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.40.10.
+.TH VOLK-CONFIG-INFO "1" "July 2014" "volk-config-info 0.1" "User Commands"
+.SH NAME
+volk-config-info \- pkgconfig-like tool for Vector Optimized Library of Kernels 0.1
+.SH DESCRIPTION
+.SS "Program options: volk-config-info [options]:"
+.TP
+\fB\-h\fR [ \fB\-\-help\fR ]
+print help message
+.TP
+\fB\-\-prefix\fR
+print VOLK installation prefix
+.TP
+\fB\-\-builddate\fR
+print VOLK build date (RFC2822 format)
+.TP
+\fB\-\-cc\fR
+print VOLK C compiler version
+.TP
+\fB\-\-cflags\fR
+print VOLK CFLAGS
+.TP
+\fB\-\-all\-machines\fR
+print VOLK machines built into library
+.TP
+\fB\-\-avail\-machines\fR
+print VOLK machines the current platform can use
+.TP
+\fB\-\-machine\fR
+print the VOLK machine that will be used
+.TP
+\fB\-v\fR [ \fB\-\-version\fR ]
+print VOLK version
+.SH "SEE ALSO"
+The full documentation for
+.B volk-config-info
+is maintained as a Texinfo manual.  If the
+.B info
+and
+.B volk-config-info
+programs are properly installed at your site, the command
+.IP
+.B info volk-config-info
+.PP
+should give you access to the complete manual.
diff --git a/volk_modtool.1 b/volk_modtool.1
new file mode 100644 (file)
index 0000000..752e7f5
--- /dev/null
@@ -0,0 +1,112 @@
+.TH GNURADIO "1" "August 2013" "volk_modtool 3.7" "User Commands"
+.SH NAME
+volk_modtool \- tailor VOLK modules
+.SH DESCRIPTION
+The volk_modtool tool is installed along with VOLK as a way of helping
+to construct, add to, and interogate the VOLK library or companion
+libraries.
+.P
+volk_modtool is installed into $prefix/bin.
+.P
+VOLK modtool enables creating standalone (out-of-tree) VOLK modules
+and provides a few tools for sharing VOLK kernels between VOLK
+modules.  If you need to design or work with VOLK kernels away from
+the canonical VOLK library, this is the tool.  If you need to tailor
+your own VOLK library for whatever reason, this is the tool.
+.P
+The canonical VOLK library installs a volk.h and a libvolk.so.  Your
+own library will install volk_$name.h and libvolk_$name.so.  Ya Gronk?
+Good.
+.P
+There isn't a substantial difference between the canonical VOLK
+module and any other VOLK module.  They're all peers.  Any module
+created via VOLK modtool will come complete with a default
+volk_modtool.cfg file associating the module with the base from which
+it came, its distinctive $name and its destination (or path).  These
+values (created from user input if VOLK modtool runs without a
+user-supplied config file or a default config file) serve as default
+values for some VOLK modtool actions.  It's more or less intended for
+the user to change directories to the top level of a created VOLK
+module and then run volk_modtool to take advantage of the values
+stored in the default volk_modtool.cfg file.
+.P
+Apart from creating new VOLK modules, VOLK modtool allows you to list
+the names of kernels in other modules, list the names of kernels in
+the current module, add kernels from another module into the current
+module, and remove kernels from the current module.  When moving
+kernels between modules, VOLK modtool does its best to keep the qa
+and profiling code for those kernels intact.  If the base has a test
+or a profiling call for some kernel, those calls will follow the
+kernel when VOLK modtool adds that kernel.  If QA or profiling
+requires a puppet kernel, the puppet kernel will follow the original
+kernel when VOLK modtool adds that original kernel.  VOLK modtool
+respects puppets.
+.P
+======================================================================
+.P
+.SH Installing a new VOLK Library:
+.P
+Run the command "volk_modtool -i". This will ask you three questions:
+.P
+  name: // the name to give your VOLK library: volk_<name>
+  destination: // directory new source tree is built under -- must exists.
+               // It will create <directory>/volk_<name>
+  base: // the directory containing the original VOLK source code
+.P
+This will build a new skeleton directory in the destination provided
+with the name volk_<name>. It will contain the necessary structure to
+build:
+.P
+  mkdir build
+  cd build
+  cmake -DCMAKE_INSTALL_PREFIX=/opt/volk ../
+  make
+  sudo make install
+.P
+Right now, the library is empty and contains no kernels. Kernels can
+be added from another VOLK library using the '-a' option. If not
+specified, the kernel will be extracted from the base VOLK
+directory. Using the '-b' allows us to specify another VOLK library to
+use for this purpose.
+.P
+  volk_modtool -a -n 32fc_x2_conjugate_dot_prod_32fc
+.P
+This will put the code for the new kernel into
+<destination>/volk_<name>/kernels/volk_<name>/
+.P
+Other kernels must be added by hand. See the following webpages for
+more information about creating VOLK kernels:
+  http://gnuradio.org/doc/doxygen/volk_guide.html
+  http://gnuradio.org/redmine/projects/gnuradio/wiki/Volk
+.P
+======================================================================
+.P
+.SH OPTIONS
+.P
+Options for Adding and Removing Kernels:
+  -a, --add_kernel
+       Add kernel from existing VOLK module. Uses the base VOLK module
+       unless -b is used. Use -n to specify the kernel name.
+       Requires: -n.
+       Optional: -b
+.P
+  -A, --add_all_kernels
+       Add all kernels from existing VOLK module. Uses the base VOLK
+       module unless -b is used.
+       Optional: -b
+.P
+  -x, --remove_kernel
+       Remove kernel from module. 
+       Required: -n.
+       Optional: -b
+.P
+Options for Listing Kernels:
+  -l, --list
+       Lists all kernels available in the base VOLK module.
+.P
+  -k, --kernels 
+       Lists all kernels in this VOLK module.
+.P
+  -r, --remote-list
+       Lists all kernels in another VOLK module that is specified
+       using the -b option.
diff --git a/volk_profile.1 b/volk_profile.1
new file mode 100644 (file)
index 0000000..405facb
--- /dev/null
@@ -0,0 +1,5 @@
+.TH UHD_FFT "1" "March 2012" "volk_profile 3.5" "User Commands"
+.SH NAME
+volk_profile \- Quality Assurance application for libvolk functions
+.SH DESCRIPTION
+Writes profile results to a file.
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..1339ebb
--- /dev/null
+++ b/watch
@@ -0,0 +1,4 @@
+version=4
+ opts="pgpsigurlmangle=s%$%.asc%,filenamemangle=s%(?:.*?)?volk-?(\d[\d.]*)\.tar\.xz%volk_$1.orig.tar.xz%" \
+ https://github.com/gnuradio/volk/releases \
+ (?:.*?/)?volk-?(\d[\d.]*)\.tar\.xz debian uupdate