From: A. Maitland Bottoms Date: Sat, 16 Dec 2023 14:31:28 +0000 (-0500) Subject: volk (3.1.0-3) unstable; urgency=medium X-Git-Tag: archive/raspbian/3.1.0-3+rpi1^2~12 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=746015d3fe3f36a7d0be6fca88ea383d4f295c72;p=volk.git volk (3.1.0-3) unstable; urgency=medium * add powerpc to cpu-features dependency [dgit import unpatched volk 3.1.0-3] --- 746015d3fe3f36a7d0be6fca88ea383d4f295c72 diff --cc debian/changelog index 0000000,0000000..9c32224 new file mode 100644 --- /dev/null +++ b/debian/changelog @@@ -1,0 -1,0 +1,615 @@@ ++volk (3.1.0-3) unstable; urgency=medium ++ ++ * add powerpc to cpu-features dependency ++ ++ -- A. Maitland Bottoms Sat, 16 Dec 2023 09:31:28 -0500 ++ ++volk (3.1.0-2) unstable; urgency=medium ++ ++ * Avoid ORC on x32, led to test failures ++ * include argilo-volk/all-i386-patches ++ * update available cpu-features architecture list ++ * Express version information in decimal ++ * add debian/upstream/metadata ++ * clean __pycahe__ (Closes: #1048046) ++ ++ -- A. Maitland Bottoms Fri, 15 Dec 2023 17:57:14 -0500 ++ ++volk (3.1.0-1) experimental; urgency=medium ++ ++ * New upstream release ++ Improved CMake build ++ Better tests ++ New kernel API (old API still available) ++ New and Updated kernels ++ * Upload to experimental for soversion bump ++ ++ -- A. Maitland Bottoms Tue, 05 Dec 2023 18:12:20 -0500 ++ ++volk (3.0.0-2) unstable; urgency=medium ++ ++ * upload to unstable ++ ++ -- A. Maitland Bottoms Sat, 15 Jul 2023 21:58:53 -0400 ++ ++volk (3.0.0-1) experimental; urgency=medium ++ ++ * New upstream release ++ - License switch to LGPLv3+ ++ - Fix build for 32 bit arm with neon ++ - Add experimental support for MIPS and RISC-V ++ * Upload to experimental for package renames and soversion bump ++ ++ -- A. Maitland Bottoms Sat, 14 Jan 2023 14:01:06 -0500 ++ ++volk (2.5.2-3) unstable; urgency=medium ++ ++ * orc 1:0.4.33-1 dropped building static library, ++ so now volk will drop building its static library too. (Closes: #1026593) ++ ++ -- A. Maitland Bottoms Tue, 20 Dec 2022 20:03:23 -0500 ++ ++volk (2.5.2-2) unstable; urgency=medium ++ ++ * revert changes to kernels/volk/volk_8u_x2_encodeframepolar_8u.h ++ made by make-acc-happy patch since version 1.3-1 (Closes: #1021856) ++ ++ -- A. Maitland Bottoms Sat, 15 Oct 2022 23:41:48 -0400 ++ ++volk (2.5.2-1) unstable; urgency=medium ++ ++ * New upstream release. ++ * volk_8u_x4_conv_k7_r2_8u ++ - Add NEON implementation `neonspiral` via `sse2neon.h` ++ * Fixes ++ - Fix out-of-bounds reads ++ - Fix broken neon kernels ++ - Fix float to int conversion ++ * CMake ++ - Suppress superfluous warning ++ - Fix Python install path calculation and documentation ++ ++ -- A. Maitland Bottoms Sun, 04 Sep 2022 12:00:56 -0400 ++ ++volk (2.5.1-2) unstable; urgency=medium ++ ++ * VolkPython use posix prefix scheme (Closes: #1009394) ++ ++ -- A. Maitland Bottoms Tue, 12 Apr 2022 18:39:33 -0400 ++ ++volk (2.5.1-1) unstable; urgency=medium ++ ++ * New upstream release. ++ ++ -- A. Maitland Bottoms Sun, 13 Feb 2022 00:18:58 -0500 ++ ++volk (2.5.0-2) unstable; urgency=medium ++ ++ * upload to unstable ++ * with some upstream bugfixes ++ ++ -- A. Maitland Bottoms Thu, 21 Oct 2021 23:30:05 -0400 ++ ++volk (2.5.0-1) experimental; urgency=medium ++ ++ * New upstream release ++ * Use libcpu-features-dev on powerpc and x32 (Closes: #978602) ++ * Mention volk-config-info and volk_modtool in description (Closes: #989263) ++ * Upload to experimental for soversion bump ++ ++ -- A. Maitland Bottoms Thu, 10 Jun 2021 18:29:47 -0400 ++ ++volk (2.4.1-2) unstable; urgency=medium ++ ++ [ Shengjing Zhu ] ++ * Use system cpu_features package ++ ++ [ A. Maitland Bottoms ] ++ * Adopt Use system cpu_features package patch (Closes: #978096) ++ ++ -- A. Maitland Bottoms Sun, 27 Dec 2020 15:16:07 -0500 ++ ++volk (2.4.1-1) unstable; urgency=medium ++ ++ * New upstream release ++ ++ -- A. Maitland Bottoms Thu, 17 Dec 2020 23:53:21 -0500 ++ ++volk (2.4.0-4) unstable; urgency=medium ++ ++ * skip cpu_features on "Unsupported OS" kFreeBSD ++ * bump Standards-Version - no other changes. ++ ++ -- A. Maitland Bottoms Tue, 15 Dec 2020 19:53:16 -0500 ++ ++volk (2.4.0-3) unstable; urgency=medium ++ ++ * Fix binary-indep build (Closes: #976300) ++ * Upload to unstable ++ ++ -- A. Maitland Bottoms Thu, 03 Dec 2020 20:43:29 -0500 ++ ++volk (2.4.0-2) experimental; urgency=medium ++ ++ * Make use of cpu_features a CMake option with sensible defaults per arch ++ ++ -- A. Maitland Bottoms Mon, 30 Nov 2020 16:19:19 -0500 ++ ++volk (2.4.0-1) experimental; urgency=medium ++ ++ * New upstream release ++ * cpu_features git submodule packaged as cpu-features source component. ++ * Upload to experimental for soversion bump ++ ++ -- A. Maitland Bottoms Sun, 22 Nov 2020 12:35:43 -0500 ++ ++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 Tue, 30 Jun 2020 19:48:20 -0400 ++ ++volk (2.3.0-2) unstable; urgency=medium ++ ++ * Upload to unstable ++ ++ -- A. Maitland Bottoms 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 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 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 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 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 Sun, 23 Feb 2020 23:49:18 -0500 ++ ++volk (2.2.0-2) unstable; urgency=medium ++ ++ * Upload to unstable ++ ++ -- A. Maitland Bottoms 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 Sun, 16 Feb 2020 18:25:20 -0500 ++ ++volk (2.1.0-2) unstable; urgency=medium ++ ++ * Upload to unstable ++ ++ -- A. Maitland Bottoms 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 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 Thu, 14 Nov 2019 22:47:23 -0500 ++ ++volk (2.0.0-2) unstable; urgency=medium ++ ++ * Upload to unstable ++ ++ -- A. Maitland Bottoms Mon, 12 Aug 2019 22:49:11 -0400 ++ ++volk (2.0.0-1) experimental; urgency=medium ++ ++ * New upstream release ++ ++ -- A. Maitland Bottoms 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 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 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 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 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 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 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 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 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 Sun, 19 Jun 2016 14:44:15 -0400 ++ ++volk (1.2.2-1) unstable; urgency=medium ++ ++ * New upstream release ++ ++ -- A. Maitland Bottoms 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 Wed, 23 Mar 2016 17:47:54 -0400 ++ ++volk (1.2.1-1) unstable; urgency=medium ++ ++ * New upstream release ++ ++ -- A. Maitland Bottoms Sun, 07 Feb 2016 19:38:32 -0500 ++ ++volk (1.2-1) unstable; urgency=medium ++ ++ * New upstream release ++ ++ -- A. Maitland Bottoms 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 Fri, 11 Dec 2015 13:12:55 -0500 ++ ++volk (1.1.1-4) unstable; urgency=medium ++ ++ * more lintian fixes ++ ++ -- A. Maitland Bottoms Wed, 25 Nov 2015 21:49:58 -0500 ++ ++volk (1.1.1-3) unstable; urgency=medium ++ ++ * Lintian fixes Pre-Depends ++ ++ -- A. Maitland Bottoms 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 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 Sun, 01 Nov 2015 18:45:43 -0500 ++ ++volk (1.1-4) unstable; urgency=medium ++ ++ * update to v1.1-12-g264addc ++ ++ -- A. Maitland Bottoms 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 Fri, 11 Sep 2015 22:57:06 -0400 ++ ++volk (1.1-2) unstable; urgency=low ++ ++ * use dh-acc ++ ++ -- A. Maitland Bottoms 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 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 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 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 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 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 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 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 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 Sun, 12 Apr 2015 23:20:41 -0400 diff --cc debian/control index 0000000,0000000..a104ede new file mode 100644 --- /dev/null +++ b/debian/control @@@ -1,0 -1,0 +1,83 @@@ ++Source: volk ++Section: libdevel ++Priority: optional ++Maintainer: A. Maitland Bottoms ++Build-Depends: cmake, ++ debhelper-compat (= 13), ++ dh-python, ++ libcpu-features-dev [amd64 arm64 armel armhf i386 mips64el ppc64 ppc64el riscv64 s390x powerpc x32], ++ liborc-0.4-dev [!x32], ++ python3-dev, ++ python3-mako ++Build-Depends-Indep: doxygen, graphviz ++Standards-Version: 4.6.2 ++Rules-Requires-Root: no ++Homepage: https://libvolk.org ++Vcs-Browser: https://salsa.debian.org/bottoms/pkg-volk ++Vcs-Git: https://salsa.debian.org/bottoms/pkg-volk.git ++ ++Package: libvolk3.1 ++Section: libs ++Architecture: any ++Pre-Depends: ${misc:Pre-Depends} ++Depends: ${misc:Depends}, ${shlibs:Depends} ++Multi-Arch: same ++Recommends: libvolk-bin ++Suggests: libvolk-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: libvolk-dev ++Architecture: any ++Pre-Depends: ${misc:Pre-Depends} ++Depends: libvolk3.1 (=${binary:Version}), ${misc:Depends} ++Breaks: libvolk1-dev, libvolk1.0-dev, libvolk2-dev ++Replaces: libvolk1-dev, libvolk1.0-dev, libvolk2-dev ++Suggests: libvolk-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: libvolk-bin ++Section: libs ++Architecture: any ++Pre-Depends: ${misc:Pre-Depends} ++Depends: libvolk3.1 (=${binary:Version}), ++ ${misc:Depends}, ++ ${python3:Depends}, ++ ${shlibs:Depends} ++Breaks: libvolk1-bin, libvolk1.0-bin, libvolk2-bin ++Replaces: libvolk1-bin, libvolk1.0-bin, libvolk2-bin ++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 to customize settings for ++ the system; volk_modtool to create new optimized modules; and ++ volk-config-info to show settings. ++ ++Package: libvolk-doc ++Section: doc ++Architecture: all ++Multi-Arch: foreign ++Depends: ${misc:Depends} ++Recommends: 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/libvolk-dev/html/index.html diff --cc debian/copyright index 0000000,0000000..440c5dc new file mode 100644 --- /dev/null +++ b/debian/copyright @@@ -1,0 -1,0 +1,152 @@@ ++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 ++ . ++ Upstream Maintainers: ++ Johannes Demel ++ Michael Dickens ++Copyright: 2014-2023 Free Software Foundation, Inc. ++License: LGPL-3+ ++ ++Files: * ++Copyright: 2006, 2009-2023, Free Software Foundation, Inc. ++License: LGPL-3+ ++ ++Files: apps/volk_profile.h ++Copyright: 2014-2020 Free Software Foundation, Inc. ++License: LGPL-3+ ++ ++Files: appveyor.yml ++Copyright: 2016 Paul Cercueil ++License: LGPL-3+ ++ ++Files: cmake/* ++Copyright: 2014-2020 Free Software Foundation, Inc. ++License: LGPL-3+ ++ ++Files: cmake/Modules/* ++Copyright: 2006, 2009-2020, Free Software Foundation, Inc. ++License: LGPL-3+ ++ ++Files: cmake/Modules/CMakeParseArgumentsCopy.cmake ++Copyright: 2010 Alexander Neundorf ++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: LGPL-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: debian/* ++Copyright: 2015-2020 Free Software Foundation, Inc ++License: LGPL-3+ ++Comment: assigned by A. Maitland Bottoms ++ ++Files: docs/* ++Copyright: 2014-2015 Free Software Foundation, Inc. ++License: LGPL-3+ ++ ++Files: gen/archs.xml ++ gen/machines.xml ++Copyright: 2014-2015 Free Software Foundation, Inc. ++License: LGPL-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: LGPL-3+ ++ ++Files: kernels/volk/asm/* ++Copyright: 2014-2015 Free Software Foundation, Inc. ++License: LGPL-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: LGPL-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: LGPL-3+ ++ ++License: LGPL-3+ ++ This program is free software: you can redistribute it and/or modify ++ it under the terms of the GNU Lesser 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 Lesser General Public License ++ along with this program. If not, see . ++ . ++ On Debian systems, the complete text of the GNU Lesser General ++ Public License version 3 can be found in "/usr/share/common-licenses/LGPL-3". diff --cc debian/libvolk-bin.install index 0000000,0000000..2f34922 new file mode 100644 --- /dev/null +++ b/debian/libvolk-bin.install @@@ -1,0 -1,0 +1,2 @@@ ++usr/bin/volk* ++usr/lib/python3*/site-packages/* usr/lib/python3/dist-packages/ diff --cc debian/libvolk-bin.manpages index 0000000,0000000..95bae9e new file mode 100644 --- /dev/null +++ b/debian/libvolk-bin.manpages @@@ -1,0 -1,0 +1,3 @@@ ++debian/volk-config-info.1 ++debian/volk_modtool.1 ++debian/volk_profile.1 diff --cc debian/libvolk-dev.install index 0000000,0000000..4b391be new file mode 100644 --- /dev/null +++ b/debian/libvolk-dev.install @@@ -1,0 -1,0 +1,4 @@@ ++usr/include/* ++usr/lib/*/*volk*so ++usr/lib/*/cmake/volk ++usr/lib/*/pkgconfig/*volk* diff --cc debian/libvolk-doc.doc-base index 0000000,0000000..1174c64 new file mode 100644 --- /dev/null +++ b/debian/libvolk-doc.doc-base @@@ -1,0 -1,0 +1,19 @@@ ++Document: libvolk-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/libvolk-dev/html/index.html ++Files: /usr/share/doc/libvolk-dev/html/*.html diff --cc debian/libvolk-doc.docs index 0000000,0000000..87dd314 new file mode 100644 --- /dev/null +++ b/debian/libvolk-doc.docs @@@ -1,0 -1,0 +1,1 @@@ ++obj-*/html diff --cc debian/libvolk3.1.install index 0000000,0000000..e4252f4 new file mode 100644 --- /dev/null +++ b/debian/libvolk3.1.install @@@ -1,0 -1,0 +1,1 @@@ ++usr/lib/*/libvolk.so.* diff --cc debian/not-not-installed index 0000000,0000000..6f354d0 new file mode 100644 --- /dev/null +++ b/debian/not-not-installed @@@ -1,0 -1,0 +1,6 @@@ ++usr/bin/list_cpu_features ++usr/lib/*/cmake/CpuFeatures/CpuFeaturesConfig.cmake ++usr/lib/*/cmake/CpuFeatures/CpuFeaturesConfigVersion.cmake ++usr/lib/*/cmake/CpuFeatures/CpuFeaturesTargets-relwithdebinfo.cmake ++usr/lib/*/cmake/CpuFeatures/CpuFeaturesTargets.cmake ++usr/lib/*/libcpu_features.a diff --cc debian/patches/0001-Allow-for-rounding-error-in-float-to-int-conversions.patch index 0000000,0000000..ce259bc new file mode 100644 --- /dev/null +++ b/debian/patches/0001-Allow-for-rounding-error-in-float-to-int-conversions.patch @@@ -1,0 -1,0 +1,31 @@@ ++From f9aed341bcf68cf68248e82c6ea883d937a9ab7e Mon Sep 17 00:00:00 2001 ++From: Clayton Smith ++Date: Fri, 8 Dec 2023 12:25:56 -0500 ++Subject: [PATCH 1/6] Allow for rounding error in float-to-int conversions ++ ++Signed-off-by: Clayton Smith ++--- ++ lib/kernel_tests.h | 6 +++--- ++ 1 file changed, 3 insertions(+), 3 deletions(-) ++ ++diff --git a/lib/kernel_tests.h b/lib/kernel_tests.h ++index 5ef3324..0f59de1 100644 ++--- a/lib/kernel_tests.h +++++ b/lib/kernel_tests.h ++@@ -121,10 +121,10 @@ std::vector init_test_list(volk_test_params_t test_params) ++ QA(VOLK_INIT_TEST(volk_32fc_x2_multiply_conjugate_32fc, test_params)) ++ QA(VOLK_INIT_TEST(volk_32fc_x2_divide_32fc, test_params)) ++ QA(VOLK_INIT_TEST(volk_32fc_conjugate_32fc, test_params)) ++- QA(VOLK_INIT_TEST(volk_32f_s32f_convert_16i, test_params)) ++- QA(VOLK_INIT_TEST(volk_32f_s32f_convert_32i, test_params)) +++ QA(VOLK_INIT_TEST(volk_32f_s32f_convert_16i, test_params.make_tol(1))) +++ QA(VOLK_INIT_TEST(volk_32f_s32f_convert_32i, test_params.make_tol(1))) ++ QA(VOLK_INIT_TEST(volk_32f_convert_64f, test_params)) ++- QA(VOLK_INIT_TEST(volk_32f_s32f_convert_8i, test_params)) +++ QA(VOLK_INIT_TEST(volk_32f_s32f_convert_8i, test_params.make_tol(1))) ++ QA(VOLK_INIT_TEST(volk_32fc_convert_16ic, test_params)) ++ QA(VOLK_INIT_TEST(volk_32fc_s32f_power_spectrum_32f, test_params.make_tol(2e-6))) ++ QA(VOLK_INIT_TEST(volk_32fc_x2_square_dist_32f, test_params)) ++-- ++2.39.2 ++ diff --cc debian/patches/0002-Allow-for-rounding-error-in-volk_32fc_s32f_magnitude.patch index 0000000,0000000..7022a2e new file mode 100644 --- /dev/null +++ b/debian/patches/0002-Allow-for-rounding-error-in-volk_32fc_s32f_magnitude.patch @@@ -1,0 -1,0 +1,26 @@@ ++From 1828eae1d2e4a758acf5131e004dc0cccec04c1e Mon Sep 17 00:00:00 2001 ++From: Clayton Smith ++Date: Fri, 8 Dec 2023 14:02:12 -0500 ++Subject: [PATCH 2/6] Allow for rounding error in volk_32fc_s32f_magnitude_16i ++ ++Signed-off-by: Clayton Smith ++--- ++ lib/kernel_tests.h | 2 +- ++ 1 file changed, 1 insertion(+), 1 deletion(-) ++ ++diff --git a/lib/kernel_tests.h b/lib/kernel_tests.h ++index 5ef3324..d5f9442 100644 ++--- a/lib/kernel_tests.h +++++ b/lib/kernel_tests.h ++@@ -113,7 +113,7 @@ std::vector init_test_list(volk_test_params_t test_params) ++ QA(VOLK_INIT_TEST(volk_32fc_index_max_32u, test_params)) ++ QA(VOLK_INIT_TEST(volk_32fc_index_min_16u, test_params)) ++ QA(VOLK_INIT_TEST(volk_32fc_index_min_32u, test_params)) ++- QA(VOLK_INIT_TEST(volk_32fc_s32f_magnitude_16i, test_params)) +++ QA(VOLK_INIT_TEST(volk_32fc_s32f_magnitude_16i, test_params.make_tol(1))) ++ QA(VOLK_INIT_TEST(volk_32fc_magnitude_32f, test_params_inacc_tenth)) ++ QA(VOLK_INIT_TEST(volk_32fc_magnitude_squared_32f, test_params)) ++ QA(VOLK_INIT_TEST(volk_32fc_x2_add_32fc, test_params)) ++-- ++2.39.2 ++ diff --cc debian/patches/0003-Remove-broken-sse_32-kernels.patch index 0000000,0000000..e002775 new file mode 100644 --- /dev/null +++ b/debian/patches/0003-Remove-broken-sse_32-kernels.patch @@@ -1,0 -1,0 +1,292 @@@ ++From 874d95c3ef837cfb90b47b063447f15db6cdbd5d Mon Sep 17 00:00:00 2001 ++From: Clayton Smith ++Date: Fri, 8 Dec 2023 16:53:53 -0500 ++Subject: [PATCH 3/6] Remove broken sse_32 kernels ++ ++Signed-off-by: Clayton Smith ++--- ++ .../volk_32fc_x2_conjugate_dot_prod_32fc.h | 131 ------------------ ++ kernels/volk/volk_32fc_x2_dot_prod_32fc.h | 126 ----------------- ++ 2 files changed, 257 deletions(-) ++ ++diff --git a/kernels/volk/volk_32fc_x2_conjugate_dot_prod_32fc.h b/kernels/volk/volk_32fc_x2_conjugate_dot_prod_32fc.h ++index b1c1938..c71c7a3 100644 ++--- a/kernels/volk/volk_32fc_x2_conjugate_dot_prod_32fc.h +++++ b/kernels/volk/volk_32fc_x2_conjugate_dot_prod_32fc.h ++@@ -567,136 +567,5 @@ static inline void volk_32fc_x2_conjugate_dot_prod_32fc_a_sse(lv_32fc_t* result, ++ } ++ #endif ++ ++-#if LV_HAVE_SSE && LV_HAVE_32 ++-static inline void volk_32fc_x2_conjugate_dot_prod_32fc_a_sse_32(lv_32fc_t* result, ++- const lv_32fc_t* input, ++- const lv_32fc_t* taps, ++- unsigned int num_points) ++-{ ++- ++- const unsigned int num_bytes = num_points * 8; ++- ++- __VOLK_ATTR_ALIGNED(16) ++- static const uint32_t conjugator[4] = { ++- 0x00000000, 0x80000000, 0x00000000, 0x80000000 ++- }; ++- ++- int bound = num_bytes >> 4; ++- int leftovers = num_bytes % 16; ++- ++- __VOLK_ASM __VOLK_VOLATILE( ++- " #pushl %%ebp\n\t" ++- " #movl %%esp, %%ebp\n\t" ++- " #movl 12(%%ebp), %%eax # input\n\t" ++- " #movl 16(%%ebp), %%edx # taps\n\t" ++- " #movl 20(%%ebp), %%ecx # n_bytes\n\t" ++- " movaps 0(%[conjugator]), %%xmm1\n\t" ++- " xorps %%xmm6, %%xmm6 # zero accumulators\n\t" ++- " movaps 0(%[eax]), %%xmm0\n\t" ++- " xorps %%xmm7, %%xmm7 # zero accumulators\n\t" ++- " movaps 0(%[edx]), %%xmm2\n\t" ++- " movl %[ecx], (%[out])\n\t" ++- " shrl $5, %[ecx] # ecx = n_2_ccomplex_blocks / 2\n\t" ++- ++- " xorps %%xmm1, %%xmm2\n\t" ++- " jmp .%=L1_test\n\t" ++- " # 4 taps / loop\n\t" ++- " # something like ?? cycles / loop\n\t" ++- ".%=Loop1: \n\t" ++- "# complex prod: C += A * B, w/ temp Z & Y (or B), xmmPN=$0x8000000080000000\n\t" ++- "# movaps (%[eax]), %%xmmA\n\t" ++- "# movaps (%[edx]), %%xmmB\n\t" ++- "# movaps %%xmmA, %%xmmZ\n\t" ++- "# shufps $0xb1, %%xmmZ, %%xmmZ # swap internals\n\t" ++- "# mulps %%xmmB, %%xmmA\n\t" ++- "# mulps %%xmmZ, %%xmmB\n\t" ++- "# # SSE replacement for: pfpnacc %%xmmB, %%xmmA\n\t" ++- "# xorps %%xmmPN, %%xmmA\n\t" ++- "# movaps %%xmmA, %%xmmZ\n\t" ++- "# unpcklps %%xmmB, %%xmmA\n\t" ++- "# unpckhps %%xmmB, %%xmmZ\n\t" ++- "# movaps %%xmmZ, %%xmmY\n\t" ++- "# shufps $0x44, %%xmmA, %%xmmZ # b01000100\n\t" ++- "# shufps $0xee, %%xmmY, %%xmmA # b11101110\n\t" ++- "# addps %%xmmZ, %%xmmA\n\t" ++- "# addps %%xmmA, %%xmmC\n\t" ++- "# A=xmm0, B=xmm2, Z=xmm4\n\t" ++- "# A'=xmm1, B'=xmm3, Z'=xmm5\n\t" ++- " movaps 16(%[edx]), %%xmm3\n\t" ++- " movaps %%xmm0, %%xmm4\n\t" ++- " xorps %%xmm1, %%xmm3\n\t" ++- " mulps %%xmm2, %%xmm0\n\t" ++- " movaps 16(%[eax]), %%xmm1\n\t" ++- " shufps $0xb1, %%xmm4, %%xmm4 # swap internals\n\t" ++- " movaps %%xmm1, %%xmm5\n\t" ++- " addps %%xmm0, %%xmm6\n\t" ++- " mulps %%xmm3, %%xmm1\n\t" ++- " shufps $0xb1, %%xmm5, %%xmm5 # swap internals\n\t" ++- " addps %%xmm1, %%xmm6\n\t" ++- " movaps 0(%[conjugator]), %%xmm1\n\t" ++- " mulps %%xmm4, %%xmm2\n\t" ++- " movaps 32(%[eax]), %%xmm0\n\t" ++- " addps %%xmm2, %%xmm7\n\t" ++- " mulps %%xmm5, %%xmm3\n\t" ++- " addl $32, %[eax]\n\t" ++- " movaps 32(%[edx]), %%xmm2\n\t" ++- " addps %%xmm3, %%xmm7\n\t" ++- " xorps %%xmm1, %%xmm2\n\t" ++- " addl $32, %[edx]\n\t" ++- ".%=L1_test:\n\t" ++- " decl %[ecx]\n\t" ++- " jge .%=Loop1\n\t" ++- " # We've handled the bulk of multiplies up to here.\n\t" ++- " # Let's sse if original n_2_ccomplex_blocks was odd.\n\t" ++- " # If so, we've got 2 more taps to do.\n\t" ++- " movl 0(%[out]), %[ecx] # n_2_ccomplex_blocks\n\t" ++- " shrl $4, %[ecx]\n\t" ++- " andl $1, %[ecx]\n\t" ++- " je .%=Leven\n\t" ++- " # The count was odd, do 2 more taps.\n\t" ++- " # Note that we've already got mm0/mm2 preloaded\n\t" ++- " # from the main loop.\n\t" ++- " movaps %%xmm0, %%xmm4\n\t" ++- " mulps %%xmm2, %%xmm0\n\t" ++- " shufps $0xb1, %%xmm4, %%xmm4 # swap internals\n\t" ++- " addps %%xmm0, %%xmm6\n\t" ++- " mulps %%xmm4, %%xmm2\n\t" ++- " addps %%xmm2, %%xmm7\n\t" ++- ".%=Leven:\n\t" ++- " # neg inversor\n\t" ++- " #movl 8(%%ebp), %[eax] \n\t" ++- " xorps %%xmm1, %%xmm1\n\t" ++- " movl $0x80000000, (%[out])\n\t" ++- " movss (%[out]), %%xmm1\n\t" ++- " shufps $0x11, %%xmm1, %%xmm1 # b00010001 # 0 -0 0 -0\n\t" ++- " # pfpnacc\n\t" ++- " xorps %%xmm1, %%xmm6\n\t" ++- " movaps %%xmm6, %%xmm2\n\t" ++- " unpcklps %%xmm7, %%xmm6\n\t" ++- " unpckhps %%xmm7, %%xmm2\n\t" ++- " movaps %%xmm2, %%xmm3\n\t" ++- " shufps $0x44, %%xmm6, %%xmm2 # b01000100\n\t" ++- " shufps $0xee, %%xmm3, %%xmm6 # b11101110\n\t" ++- " addps %%xmm2, %%xmm6\n\t" ++- " # xmm6 = r1 i2 r3 i4\n\t" ++- " #movl 8(%%ebp), %[eax] # @result\n\t" ++- " movhlps %%xmm6, %%xmm4 # xmm4 = r3 i4 ?? ??\n\t" ++- " addps %%xmm4, %%xmm6 # xmm6 = r1+r3 i2+i4 ?? ??\n\t" ++- " movlps %%xmm6, (%[out]) # store low 2x32 bits (complex) " ++- "to memory\n\t" ++- " #popl %%ebp\n\t" ++- : ++- : [eax] "r"(input), ++- [edx] "r"(taps), ++- [ecx] "r"(num_bytes), ++- [out] "r"(result), ++- [conjugator] "r"(conjugator)); ++- ++- for (; leftovers > 0; leftovers -= 8) { ++- *result += (input[(bound << 1)] * lv_conj(taps[(bound << 1)])); ++- } ++-} ++-#endif /*LV_HAVE_SSE*/ ++- ++ ++ #endif /*INCLUDED_volk_32fc_x2_conjugate_dot_prod_32fc_a_H*/ ++diff --git a/kernels/volk/volk_32fc_x2_dot_prod_32fc.h b/kernels/volk/volk_32fc_x2_dot_prod_32fc.h ++index 16851f8..7d9d4d4 100644 ++--- a/kernels/volk/volk_32fc_x2_dot_prod_32fc.h +++++ b/kernels/volk/volk_32fc_x2_dot_prod_32fc.h ++@@ -651,132 +651,6 @@ static inline void volk_32fc_x2_dot_prod_32fc_a_sse_64(lv_32fc_t* result, ++ ++ #endif ++ ++-#if LV_HAVE_SSE && LV_HAVE_32 ++- ++-static inline void volk_32fc_x2_dot_prod_32fc_a_sse_32(lv_32fc_t* result, ++- const lv_32fc_t* input, ++- const lv_32fc_t* taps, ++- unsigned int num_points) ++-{ ++- ++- volk_32fc_x2_dot_prod_32fc_generic(result, input, taps, num_points); ++- ++-#if 0 ++- const unsigned int num_bytes = num_points*8; ++- unsigned int isodd = num_points & 1; ++- ++- __VOLK_ASM __VOLK_VOLATILE ++- ( ++- " #pushl %%ebp\n\t" ++- " #movl %%esp, %%ebp\n\t" ++- " movl 12(%%ebp), %%eax # input\n\t" ++- " movl 16(%%ebp), %%edx # taps\n\t" ++- " movl 20(%%ebp), %%ecx # n_bytes\n\t" ++- " xorps %%xmm6, %%xmm6 # zero accumulators\n\t" ++- " movaps 0(%%eax), %%xmm0\n\t" ++- " xorps %%xmm7, %%xmm7 # zero accumulators\n\t" ++- " movaps 0(%%edx), %%xmm2\n\t" ++- " shrl $5, %%ecx # ecx = n_2_ccomplex_blocks / 2\n\t" ++- " jmp .%=L1_test\n\t" ++- " # 4 taps / loop\n\t" ++- " # something like ?? cycles / loop\n\t" ++- ".%=Loop1: \n\t" ++- "# complex prod: C += A * B, w/ temp Z & Y (or B), xmmPN=$0x8000000080000000\n\t" ++- "# movaps (%%eax), %%xmmA\n\t" ++- "# movaps (%%edx), %%xmmB\n\t" ++- "# movaps %%xmmA, %%xmmZ\n\t" ++- "# shufps $0xb1, %%xmmZ, %%xmmZ # swap internals\n\t" ++- "# mulps %%xmmB, %%xmmA\n\t" ++- "# mulps %%xmmZ, %%xmmB\n\t" ++- "# # SSE replacement for: pfpnacc %%xmmB, %%xmmA\n\t" ++- "# xorps %%xmmPN, %%xmmA\n\t" ++- "# movaps %%xmmA, %%xmmZ\n\t" ++- "# unpcklps %%xmmB, %%xmmA\n\t" ++- "# unpckhps %%xmmB, %%xmmZ\n\t" ++- "# movaps %%xmmZ, %%xmmY\n\t" ++- "# shufps $0x44, %%xmmA, %%xmmZ # b01000100\n\t" ++- "# shufps $0xee, %%xmmY, %%xmmA # b11101110\n\t" ++- "# addps %%xmmZ, %%xmmA\n\t" ++- "# addps %%xmmA, %%xmmC\n\t" ++- "# A=xmm0, B=xmm2, Z=xmm4\n\t" ++- "# A'=xmm1, B'=xmm3, Z'=xmm5\n\t" ++- " movaps 16(%%eax), %%xmm1\n\t" ++- " movaps %%xmm0, %%xmm4\n\t" ++- " mulps %%xmm2, %%xmm0\n\t" ++- " shufps $0xb1, %%xmm4, %%xmm4 # swap internals\n\t" ++- " movaps 16(%%edx), %%xmm3\n\t" ++- " movaps %%xmm1, %%xmm5\n\t" ++- " addps %%xmm0, %%xmm6\n\t" ++- " mulps %%xmm3, %%xmm1\n\t" ++- " shufps $0xb1, %%xmm5, %%xmm5 # swap internals\n\t" ++- " addps %%xmm1, %%xmm6\n\t" ++- " mulps %%xmm4, %%xmm2\n\t" ++- " movaps 32(%%eax), %%xmm0\n\t" ++- " addps %%xmm2, %%xmm7\n\t" ++- " mulps %%xmm5, %%xmm3\n\t" ++- " addl $32, %%eax\n\t" ++- " movaps 32(%%edx), %%xmm2\n\t" ++- " addps %%xmm3, %%xmm7\n\t" ++- " addl $32, %%edx\n\t" ++- ".%=L1_test:\n\t" ++- " decl %%ecx\n\t" ++- " jge .%=Loop1\n\t" ++- " # We've handled the bulk of multiplies up to here.\n\t" ++- " # Let's sse if original n_2_ccomplex_blocks was odd.\n\t" ++- " # If so, we've got 2 more taps to do.\n\t" ++- " movl 20(%%ebp), %%ecx # n_2_ccomplex_blocks\n\t" ++- " shrl $4, %%ecx\n\t" ++- " andl $1, %%ecx\n\t" ++- " je .%=Leven\n\t" ++- " # The count was odd, do 2 more taps.\n\t" ++- " # Note that we've already got mm0/mm2 preloaded\n\t" ++- " # from the main loop.\n\t" ++- " movaps %%xmm0, %%xmm4\n\t" ++- " mulps %%xmm2, %%xmm0\n\t" ++- " shufps $0xb1, %%xmm4, %%xmm4 # swap internals\n\t" ++- " addps %%xmm0, %%xmm6\n\t" ++- " mulps %%xmm4, %%xmm2\n\t" ++- " addps %%xmm2, %%xmm7\n\t" ++- ".%=Leven:\n\t" ++- " # neg inversor\n\t" ++- " movl 8(%%ebp), %%eax \n\t" ++- " xorps %%xmm1, %%xmm1\n\t" ++- " movl $0x80000000, (%%eax)\n\t" ++- " movss (%%eax), %%xmm1\n\t" ++- " shufps $0x11, %%xmm1, %%xmm1 # b00010001 # 0 -0 0 -0\n\t" ++- " # pfpnacc\n\t" ++- " xorps %%xmm1, %%xmm6\n\t" ++- " movaps %%xmm6, %%xmm2\n\t" ++- " unpcklps %%xmm7, %%xmm6\n\t" ++- " unpckhps %%xmm7, %%xmm2\n\t" ++- " movaps %%xmm2, %%xmm3\n\t" ++- " shufps $0x44, %%xmm6, %%xmm2 # b01000100\n\t" ++- " shufps $0xee, %%xmm3, %%xmm6 # b11101110\n\t" ++- " addps %%xmm2, %%xmm6\n\t" ++- " # xmm6 = r1 i2 r3 i4\n\t" ++- " #movl 8(%%ebp), %%eax # @result\n\t" ++- " movhlps %%xmm6, %%xmm4 # xmm4 = r3 i4 ?? ??\n\t" ++- " addps %%xmm4, %%xmm6 # xmm6 = r1+r3 i2+i4 ?? ??\n\t" ++- " movlps %%xmm6, (%%eax) # store low 2x32 bits (complex) to memory\n\t" ++- " #popl %%ebp\n\t" ++- : ++- : ++- : "eax", "ecx", "edx" ++- ); ++- ++- ++- int getem = num_bytes % 16; ++- ++- if(isodd) { ++- *result += (input[num_points - 1] * taps[num_points - 1]); ++- } ++- ++- return; ++-#endif ++-} ++- ++-#endif /*LV_HAVE_SSE*/ ++- ++ #ifdef LV_HAVE_SSE3 ++ ++ #include ++-- ++2.39.2 ++ diff --cc debian/patches/0004-Fix-flaky-fm_detect-test.patch index 0000000,0000000..02ebdca new file mode 100644 --- /dev/null +++ b/debian/patches/0004-Fix-flaky-fm_detect-test.patch @@@ -1,0 -1,0 +1,70 @@@ ++From e6fa6a54bd79764cebc855f58ca4db32c25584a2 Mon Sep 17 00:00:00 2001 ++From: Clayton Smith ++Date: Fri, 8 Dec 2023 18:57:02 -0500 ++Subject: [PATCH 4/6] Fix flaky fm_detect test ++ ++Signed-off-by: Clayton Smith ++--- ++ kernels/volk/volk_32f_x2_fm_detectpuppet_32f.h | 8 ++++---- ++ lib/kernel_tests.h | 5 +++-- ++ 2 files changed, 7 insertions(+), 6 deletions(-) ++ ++diff --git a/kernels/volk/volk_32f_x2_fm_detectpuppet_32f.h b/kernels/volk/volk_32f_x2_fm_detectpuppet_32f.h ++index e4196d5..b490154 100644 ++--- a/kernels/volk/volk_32f_x2_fm_detectpuppet_32f.h +++++ b/kernels/volk/volk_32f_x2_fm_detectpuppet_32f.h ++@@ -20,7 +20,7 @@ static inline void volk_32f_x2_fm_detectpuppet_32f_a_avx(float* outputVector, ++ float* saveValue, ++ unsigned int num_points) ++ { ++- const float bound = 1.0f; +++ const float bound = 2.0f; ++ ++ volk_32f_s32f_32f_fm_detect_32f_a_avx( ++ outputVector, inputVector, bound, saveValue, num_points); ++@@ -35,7 +35,7 @@ static inline void volk_32f_x2_fm_detectpuppet_32f_a_sse(float* outputVector, ++ float* saveValue, ++ unsigned int num_points) ++ { ++- const float bound = 1.0f; +++ const float bound = 2.0f; ++ ++ volk_32f_s32f_32f_fm_detect_32f_a_sse( ++ outputVector, inputVector, bound, saveValue, num_points); ++@@ -49,7 +49,7 @@ static inline void volk_32f_x2_fm_detectpuppet_32f_generic(float* outputVector, ++ float* saveValue, ++ unsigned int num_points) ++ { ++- const float bound = 1.0f; +++ const float bound = 2.0f; ++ ++ volk_32f_s32f_32f_fm_detect_32f_generic( ++ outputVector, inputVector, bound, saveValue, num_points); ++@@ -73,7 +73,7 @@ static inline void volk_32f_x2_fm_detectpuppet_32f_u_avx(float* outputVector, ++ float* saveValue, ++ unsigned int num_points) ++ { ++- const float bound = 1.0f; +++ const float bound = 2.0f; ++ ++ volk_32f_s32f_32f_fm_detect_32f_u_avx( ++ outputVector, inputVector, bound, saveValue, num_points); ++diff --git a/lib/kernel_tests.h b/lib/kernel_tests.h ++index 5ef3324..c90e7d8 100644 ++--- a/lib/kernel_tests.h +++++ b/lib/kernel_tests.h ++@@ -64,8 +64,9 @@ std::vector init_test_list(volk_test_params_t test_params) ++ 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( ++- volk_32f_x2_fm_detectpuppet_32f, volk_32f_s32f_32f_fm_detect_32f, test_params)) +++ QA(VOLK_INIT_PUPP(volk_32f_x2_fm_detectpuppet_32f, +++ volk_32f_s32f_32f_fm_detect_32f, +++ test_params.make_absolute(1e-6))) ++ QA(VOLK_INIT_TEST(volk_16ic_s32f_deinterleave_real_32f, test_params)) ++ QA(VOLK_INIT_TEST(volk_16ic_deinterleave_real_8i, test_params)) ++ QA(VOLK_INIT_TEST(volk_16ic_deinterleave_16i_x2, test_params)) ++-- ++2.39.2 ++ diff --cc debian/patches/0005-Fix-flaky-mod_range-test.patch index 0000000,0000000..29ef13b new file mode 100644 --- /dev/null +++ b/debian/patches/0005-Fix-flaky-mod_range-test.patch @@@ -1,0 -1,0 +1,80 @@@ ++From 2561b46ffd9c18cc8972b48a111e5dfaa79dfca3 Mon Sep 17 00:00:00 2001 ++From: Clayton Smith ++Date: Fri, 8 Dec 2023 19:27:45 -0500 ++Subject: [PATCH 5/6] Fix flaky mod_range test ++ ++Signed-off-by: Clayton Smith ++--- ++ kernels/volk/volk_32f_s32f_mod_rangepuppet_32f.h | 14 +++++++------- ++ 1 file changed, 7 insertions(+), 7 deletions(-) ++ ++diff --git a/kernels/volk/volk_32f_s32f_mod_rangepuppet_32f.h b/kernels/volk/volk_32f_s32f_mod_rangepuppet_32f.h ++index 3e0bc43..3a17859 100644 ++--- a/kernels/volk/volk_32f_s32f_mod_rangepuppet_32f.h +++++ b/kernels/volk/volk_32f_s32f_mod_rangepuppet_32f.h ++@@ -19,7 +19,7 @@ static inline void volk_32f_s32f_mod_rangepuppet_32f_generic(float* output, ++ unsigned int num_points) ++ { ++ volk_32f_s32f_s32f_mod_range_32f_generic( ++- output, input, bound - 3.141f, bound, num_points); +++ output, input, bound - 3.131f, bound, num_points); ++ } ++ #endif ++ ++@@ -31,7 +31,7 @@ static inline void volk_32f_s32f_mod_rangepuppet_32f_u_sse(float* output, ++ unsigned int num_points) ++ { ++ volk_32f_s32f_s32f_mod_range_32f_u_sse( ++- output, input, bound - 3.141f, bound, num_points); +++ output, input, bound - 3.131f, bound, num_points); ++ } ++ #endif ++ #ifdef LV_HAVE_SSE ++@@ -41,7 +41,7 @@ static inline void volk_32f_s32f_mod_rangepuppet_32f_a_sse(float* output, ++ unsigned int num_points) ++ { ++ volk_32f_s32f_s32f_mod_range_32f_a_sse( ++- output, input, bound - 3.141f, bound, num_points); +++ output, input, bound - 3.131f, bound, num_points); ++ } ++ #endif ++ ++@@ -52,7 +52,7 @@ static inline void volk_32f_s32f_mod_rangepuppet_32f_u_sse2(float* output, ++ unsigned int num_points) ++ { ++ volk_32f_s32f_s32f_mod_range_32f_u_sse2( ++- output, input, bound - 3.141f, bound, num_points); +++ output, input, bound - 3.131f, bound, num_points); ++ } ++ #endif ++ #ifdef LV_HAVE_SSE2 ++@@ -62,7 +62,7 @@ static inline void volk_32f_s32f_mod_rangepuppet_32f_a_sse2(float* output, ++ unsigned int num_points) ++ { ++ volk_32f_s32f_s32f_mod_range_32f_a_sse2( ++- output, input, bound - 3.141f, bound, num_points); +++ output, input, bound - 3.131f, bound, num_points); ++ } ++ #endif ++ ++@@ -73,7 +73,7 @@ static inline void volk_32f_s32f_mod_rangepuppet_32f_u_avx(float* output, ++ unsigned int num_points) ++ { ++ volk_32f_s32f_s32f_mod_range_32f_u_avx( ++- output, input, bound - 3.141f, bound, num_points); +++ output, input, bound - 3.131f, bound, num_points); ++ } ++ #endif ++ #ifdef LV_HAVE_AVX ++@@ -83,7 +83,7 @@ static inline void volk_32f_s32f_mod_rangepuppet_32f_a_avx(float* output, ++ unsigned int num_points) ++ { ++ volk_32f_s32f_s32f_mod_range_32f_a_avx( ++- output, input, bound - 3.141f, bound, num_points); +++ output, input, bound - 3.131f, bound, num_points); ++ } ++ #endif ++ #endif ++-- ++2.39.2 ++ diff --cc debian/patches/0006-Allow-for-rounding-error-in-float-to-int-interleave.patch index 0000000,0000000..d93568a new file mode 100644 --- /dev/null +++ b/debian/patches/0006-Allow-for-rounding-error-in-float-to-int-interleave.patch @@@ -1,0 -1,0 +1,30 @@@ ++From b5992f21b74b129094afe0f2d3e31d5aeb50844c Mon Sep 17 00:00:00 2001 ++From: Clayton Smith ++Date: Fri, 8 Dec 2023 21:34:26 -0500 ++Subject: [PATCH 6/6] Allow for rounding error in float-to-int interleave ++ ++Signed-off-by: Clayton Smith ++--- ++ lib/kernel_tests.h | 4 ++-- ++ 1 file changed, 2 insertions(+), 2 deletions(-) ++ ++--- a/lib/kernel_tests.h +++++ b/lib/kernel_tests.h ++@@ -104,7 +104,7 @@ ++ QA(VOLK_INIT_TEST(volk_32fc_deinterleave_32f_x2, test_params)) ++ QA(VOLK_INIT_TEST(volk_32fc_accumulator_s32fc, test_params.make_absolute(3e-2))) ++ QA(VOLK_INIT_TEST(volk_32fc_deinterleave_64f_x2, test_params)) ++- QA(VOLK_INIT_TEST(volk_32fc_s32f_deinterleave_real_16i, test_params)) +++ QA(VOLK_INIT_TEST(volk_32fc_s32f_deinterleave_real_16i, test_params.make_tol(1))) ++ QA(VOLK_INIT_TEST(volk_32fc_deinterleave_imag_32f, test_params)) ++ QA(VOLK_INIT_TEST(volk_32fc_deinterleave_real_32f, test_params)) ++ QA(VOLK_INIT_TEST(volk_32fc_deinterleave_real_64f, test_params)) ++@@ -132,7 +132,7 @@ ++ QA(VOLK_INIT_TEST(volk_32fc_x2_s32f_square_dist_scalar_mult_32f, test_params)) ++ QA(VOLK_INIT_TEST(volk_32f_x2_divide_32f, test_params)) ++ QA(VOLK_INIT_TEST(volk_32f_x2_dot_prod_32f, test_params.make_absolute(1.5e-2))) ++- QA(VOLK_INIT_TEST(volk_32f_x2_s32f_interleave_16ic, test_params)) +++ QA(VOLK_INIT_TEST(volk_32f_x2_s32f_interleave_16ic, test_params.make_tol(1))) ++ QA(VOLK_INIT_TEST(volk_32f_x2_interleave_32fc, test_params)) ++ QA(VOLK_INIT_TEST(volk_32f_x2_max_32f, test_params)) ++ QA(VOLK_INIT_TEST(volk_32f_x2_min_32f, test_params)) diff --cc debian/patches/0007-Express-version-information-in-decimal.patch index 0000000,0000000..3848974 new file mode 100644 --- /dev/null +++ b/debian/patches/0007-Express-version-information-in-decimal.patch @@@ -1,0 -1,0 +1,68 @@@ ++From 8b5183be984e27103ef2472244dac98ab3db0b32 Mon Sep 17 00:00:00 2001 ++From: Clayton Smith ++Date: Mon, 11 Dec 2023 14:10:20 -0500 ++Subject: [PATCH 7/7] Express version information in decimal ++ ++Signed-off-by: Clayton Smith ++--- ++ CMakeLists.txt | 17 ++++------------- ++ include/volk/volk_version.h.in | 8 ++++---- ++ 2 files changed, 8 insertions(+), 17 deletions(-) ++ ++diff --git a/CMakeLists.txt b/CMakeLists.txt ++index 2416eb2..2ff536a 100644 ++--- a/CMakeLists.txt +++++ b/CMakeLists.txt ++@@ -80,19 +80,10 @@ set(VERSION_INFO_MINOR_VERSION 1) ++ set(VERSION_INFO_MAINT_VERSION 0) ++ include(VolkVersion) #setup version info ++ ++-macro(set_version_str VAR) ++- set(IN_VER ${VERSION_INFO_${VAR}_VERSION}) ++- string(LENGTH "${IN_VER}" VER_LEN) ++- if(${VER_LEN} EQUAL 1) ++- set(VOLK_VERSION_${VAR} "0${IN_VER}") ++- else() ++- set(VOLK_VERSION_${VAR} "${IN_VER}") ++- endif() ++-endmacro() ++- ++-set_version_str(MAJOR) ++-set_version_str(MINOR) ++-set_version_str(MAINT) +++math(EXPR VOLK_VERSION_DECIMAL +++ "${VERSION_INFO_MAJOR_VERSION} * 10000 +++ + ${VERSION_INFO_MINOR_VERSION} * 100 +++ + ${VERSION_INFO_MAINT_VERSION}") ++ ++ configure_file( ++ ${CMAKE_SOURCE_DIR}/include/volk/volk_version.h.in ++diff --git a/include/volk/volk_version.h.in b/include/volk/volk_version.h.in ++index e565048..5fce7d3 100644 ++--- a/include/volk/volk_version.h.in +++++ b/include/volk/volk_version.h.in ++@@ -20,9 +20,9 @@ __VOLK_DECL_BEGIN ++ * some specific API is present and functional. ++ */ ++ ++-#define VOLK_VERSION_MAJOR @VOLK_VERSION_MAJOR@ ++-#define VOLK_VERSION_MINOR @VOLK_VERSION_MINOR@ ++-#define VOLK_VERSION_MAINT @VOLK_VERSION_MAINT@ +++#define VOLK_VERSION_MAJOR @VERSION_INFO_MAJOR_VERSION@ +++#define VOLK_VERSION_MINOR @VERSION_INFO_MINOR_VERSION@ +++#define VOLK_VERSION_MAINT @VERSION_INFO_MAINT_VERSION@ ++ ++ /* ++ * VOLK_VERSION % 100 is the MAINT version ++@@ -30,7 +30,7 @@ __VOLK_DECL_BEGIN ++ * (VOLK_VERSION / 100) / 100 is the MAJOR version ++ */ ++ ++-#define VOLK_VERSION @VOLK_VERSION_MAJOR@@VOLK_VERSION_MINOR@@VOLK_VERSION_MAINT@ +++#define VOLK_VERSION @VOLK_VERSION_DECIMAL@ ++ ++ __VOLK_DECL_END ++ ++-- ++2.39.2 ++ diff --cc debian/patches/doxygen-pdf index 0000000,0000000..6babbfc new file mode 100644 --- /dev/null +++ b/debian/patches/doxygen-pdf @@@ -1,0 -1,0 +1,86 @@@ ++Author: A. Maitland Bottoms ++Forwarded: not-needed ++Description: doxygen pdf ++ Work-In-Progress Debian inclusion of PDF format documentation. ++ ++--- a/docs/CMakeLists.txt +++++ b/docs/CMakeLists.txt ++@@ -5,10 +5,18 @@ ++ # SPDX-License-Identifier: LGPL-3.0-or-later ++ # ++ +++option(ENABLE_DOXYGEN_PDF "Build Doxygen PDF" OFF) ++ find_package(Doxygen) ++ if(DOXYGEN_FOUND) ++- ++ message(STATUS "Doxygen found. Building docs ...") +++find_package(LATEX COMPONENTS PDFLATEX) +++ +++if(ENABLE_DOXYGEN_PDF AND LATEX_FOUND) +++ set(enable_pdf_docs YES) +++ message(STATUS "latex found. Building PDF docs ...") +++else() +++ set(enable_pdf_docs NO) +++endif() ++ ++ configure_file( ++ ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ++@@ -21,4 +29,11 @@ ++ COMMENT "Generating documentation with Doxygen" VERBATIM ++ ) ++ +++add_custom_target(volk_pdf_doc +++ make +++ DEPENDS volk_doc +++ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/latex +++ COMMENT "Generating PDF documentation with Doxygen" VERBATIM +++) +++ ++ endif(DOXYGEN_FOUND) ++--- a/docs/Doxyfile.in +++++ b/docs/Doxyfile.in ++@@ -1894,7 +1894,7 @@ ++ # If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output. ++ # The default value is: YES. ++ ++-GENERATE_LATEX = NO +++GENERATE_LATEX = @enable_pdf_docs@ ++ ++ # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a ++ # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of ++@@ -1914,7 +1914,7 @@ ++ # the output language. ++ # This tag requires that the tag GENERATE_LATEX is set to YES. ++ ++-LATEX_CMD_NAME = latex +++LATEX_CMD_NAME = xelatex ++ ++ # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate ++ # index for LaTeX. ++@@ -1951,7 +1951,7 @@ ++ # The default value is: a4. ++ # This tag requires that the tag GENERATE_LATEX is set to YES. ++ ++-PAPER_TYPE = a4 +++PAPER_TYPE = letter ++ ++ # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names ++ # that should be included in the LaTeX output. The package can be specified just ++@@ -1963,7 +1963,7 @@ ++ # If left blank no extra packages will be included. ++ # This tag requires that the tag GENERATE_LATEX is set to YES. ++ ++-EXTRA_PACKAGES = +++EXTRA_PACKAGES = {unicode-math} ++ ++ # The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for ++ # the generated LaTeX document. The header should contain everything until the ++@@ -2429,7 +2429,7 @@ ++ # set to NO ++ # The default value is: YES. ++ ++-HAVE_DOT = NO +++HAVE_DOT = YES ++ ++ # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed ++ # to run in parallel. When set to 0 doxygen will base this on the number of diff --cc debian/patches/omit-doxygen-build-paths index 0000000,0000000..f916c35 new file mode 100644 --- /dev/null +++ b/debian/patches/omit-doxygen-build-paths @@@ -1,0 -1,0 +1,77 @@@ ++From 58cc2b105211f0e5beab4dc228b478ebe105be06 Mon Sep 17 00:00:00 2001 ++From: "A. Maitland Bottoms" ++Date: Sun, 4 Sep 2022 21:37:45 -0400 ++Subject: [PATCH] omit doxygen build paths ++ ++Use reproducible-builds friendly configuration settings. ++ ++Signed-off-by: A. Maitland Bottoms ++--- ++ docs/Doxyfile.in | 14 +++++++------- ++ 1 file changed, 7 insertions(+), 7 deletions(-) ++ ++--- a/docs/Doxyfile.in +++++ b/docs/Doxyfile.in ++@@ -157,7 +157,7 @@ ++ # will be relative from the directory where doxygen is started. ++ # This tag requires that the tag FULL_PATH_NAMES is set to YES. ++ ++-STRIP_FROM_PATH = +++STRIP_FROM_PATH = @CMAKE_BINARY_DIR@ @CMAKE_SOURCE_DIR@ ++ ++ # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the ++ # path mentioned in the documentation of a class, which tells the reader which ++@@ -166,7 +166,7 @@ ++ # specify the list of include paths that are normally passed to the compiler ++ # using the -I flag. ++ ++-STRIP_FROM_INC_PATH = +++STRIP_FROM_INC_PATH = @CMAKE_SOURCE_DIR@ @CMAKE_BINARY_DIR@ ++ ++ # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but ++ # less readable) file names. This can be useful is your file systems doesn't ++@@ -637,7 +637,7 @@ ++ # will mention the files that were used to generate the documentation. ++ # The default value is: YES. ++ ++-SHOW_USED_FILES = YES +++SHOW_USED_FILES = NO ++ ++ # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This ++ # will remove the Files entry from the Quick Index and from the Folder Tree View ++@@ -832,7 +832,7 @@ ++ # Note that relative paths are relative to the directory from which doxygen is ++ # run. ++ ++-EXCLUDE = @CMAKE_BINARY_DIR@ @CMAKE_SOURCE_DIR@/cpu_features @CMAKE_SOURCE_DIR@/README.md @CMAKE_SOURCE_DIR@/docs/AUTHORS_RESUBMITTING_UNDER_LGPL_LICENSE.md +++EXCLUDE = @CMAKE_BINARY_DIR@ @CMAKE_SOURCE_DIR@/cpu_features @CMAKE_SOURCE_DIR@/README.md @CMAKE_SOURCE_DIR@/cmake @CMAKE_SOURCE_DIR@/docs/AUTHORS_RESUBMITTING_UNDER_LGPL_LICENSE.md @CMAKE_SOURCE_DIR@/apps @CMAKE_SOURCE_DIR@/lib/*qa* @CMAKE_SOURCE_DIR@/tmpl ++ ++ # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or ++ # directories that are symbolic links (a Unix file system feature) are excluded ++@@ -979,7 +979,7 @@ ++ # link to the documentation. ++ # The default value is: YES. ++ ++-REFERENCES_LINK_SOURCE = YES +++REFERENCES_LINK_SOURCE = NO ++ ++ # If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the ++ # source code will show a tooltip with additional information such as prototype, ++@@ -989,7 +989,7 @@ ++ # The default value is: YES. ++ # This tag requires that the tag SOURCE_BROWSER is set to YES. ++ ++-SOURCE_TOOLTIPS = YES +++SOURCE_TOOLTIPS = NO ++ ++ # If the USE_HTAGS tag is set to YES then the references to source code will ++ # point to the HTML generated by the htags(1) tool instead of doxygen built-in ++@@ -1099,7 +1099,7 @@ ++ # that doxygen normally uses. ++ # This tag requires that the tag GENERATE_HTML is set to YES. ++ ++-HTML_FOOTER = +++HTML_FOOTER = "" ++ ++ # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style ++ # sheet that is used by each HTML page. It can be used to fine-tune the look of diff --cc debian/patches/optional-static-apps index 0000000,0000000..8cb050d new file mode 100644 --- /dev/null +++ b/debian/patches/optional-static-apps @@@ -1,0 -1,0 +1,25 @@@ ++Author: A. Maitland Bottoms ++Forwarded: not-needed ++Description: optional static apps ++ For Debian, build apps with static libs if ENABLE_STATIC_APPS. ++ ++--- a/apps/CMakeLists.txt +++++ b/apps/CMakeLists.txt ++@@ -44,7 +44,7 @@ ++ endif() ++ target_link_libraries(volk_profile PRIVATE std::filesystem) ++ ++-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() ++@@ -61,7 +61,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 --cc debian/patches/series index 0000000,0000000..620cb57 new file mode 100644 --- /dev/null +++ b/debian/patches/series @@@ -1,0 -1,0 +1,11 @@@ ++0001-Allow-for-rounding-error-in-float-to-int-conversions.patch ++0002-Allow-for-rounding-error-in-volk_32fc_s32f_magnitude.patch ++0003-Remove-broken-sse_32-kernels.patch ++0004-Fix-flaky-fm_detect-test.patch ++0005-Fix-flaky-mod_range-test.patch ++0006-Allow-for-rounding-error-in-float-to-int-interleave.patch ++0007-Express-version-information-in-decimal.patch ++optional-static-apps ++omit-doxygen-build-paths ++update-doxygen ++doxygen-pdf diff --cc debian/patches/update-doxygen index 0000000,0000000..d856a1e new file mode 100644 --- /dev/null +++ b/debian/patches/update-doxygen @@@ -1,0 -1,0 +1,2134 @@@ ++Author: A. Maitland Bottoms ++Forwarded: not-needed ++Description: update doxygen ++ For Debian version of Doxygen. ++ ++--- a/docs/Doxyfile.in +++++ b/docs/Doxyfile.in ++@@ -1,4 +1,4 @@ ++-# Doxyfile 1.8.6 +++# Doxyfile 1.9.4 ++ ++ # This file describes the settings to be used by the documentation system ++ # doxygen (www.doxygen.org) for a project. ++@@ -12,16 +12,25 @@ ++ # For lists, items can also be appended using: ++ # TAG += value [value, ...] ++ # Values that contain spaces should be placed between quotes (\" \"). +++# +++# Note: +++# +++# Use doxygen to compare the used configuration file with the template +++# configuration file: +++# doxygen -x [configFile] +++# Use doxygen to compare the used configuration file with the template +++# configuration file without replacing the environment variables: +++# doxygen -x_noenv [configFile] ++ ++ #--------------------------------------------------------------------------- ++ # Project related configuration options ++ #--------------------------------------------------------------------------- ++ ++-# This tag specifies the encoding used for all characters in the config file ++-# that follow. The default is UTF-8 which is also the encoding used for all text ++-# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv ++-# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv ++-# for the list of possible encodings. +++# This tag specifies the encoding used for all characters in the configuration +++# file that follow. The default is UTF-8 which is also the encoding used for all +++# text before the first occurrence of this tag. Doxygen uses libiconv (or the +++# iconv built into libc) for the transcoding. See +++# https://www.gnu.org/software/libiconv/ for the list of possible encodings. ++ # The default value is: UTF-8. ++ ++ DOXYFILE_ENCODING = UTF-8 ++@@ -46,10 +55,10 @@ ++ ++ PROJECT_BRIEF = "Architecture-tuned implementations of math kernels" ++ ++-# With the PROJECT_LOGO tag one can specify an logo or icon that is included in ++-# the documentation. The maximum height of the logo should not exceed 55 pixels ++-# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo ++-# to the output directory. +++# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +++# in the documentation. The maximum height of the logo should not exceed 55 +++# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +++# the logo to the output directory. ++ ++ PROJECT_LOGO = @CMAKE_SOURCE_DIR@/docs/volk_logo_small.png ++ ++@@ -58,44 +67,61 @@ ++ # entered, it will be relative to the location where doxygen was started. If ++ # left blank the current directory will be used. ++ ++-# TODO: configure this to be a special docs directory. nw tried, but running ++-# make doc won' create the directory, but with doxygen it will. why? ++- ++ OUTPUT_DIRECTORY = ++ ++-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub- ++-# directories (in 2 levels) under the output directory of each output format and ++-# will distribute the generated files over these directories. Enabling this +++# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 +++# sub-directories (in 2 levels) under the output directory of each output format +++# and will distribute the generated files over these directories. Enabling this ++ # option can be useful when feeding doxygen a huge amount of source files, where ++ # putting all generated files in the same directory would otherwise causes ++-# performance problems for the file system. +++# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to +++# control the number of sub-directories. ++ # The default value is: NO. ++ ++ CREATE_SUBDIRS = NO ++ +++# Controls the number of sub-directories that will be created when +++# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every +++# level increment doubles the number of directories, resulting in 4096 +++# directories at level 8 which is the default and also the maximum value. The +++# sub-directories are organized in 2 levels, the first level always has a fixed +++# numer of 16 directories. +++# Minimum value: 0, maximum value: 8, default value: 8. +++# This tag requires that the tag CREATE_SUBDIRS is set to YES. +++ +++CREATE_SUBDIRS_LEVEL = 8 +++ +++# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +++# characters to appear in the names of generated files. If set to NO, non-ASCII +++# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +++# U+3044. +++# The default value is: NO. +++ +++ALLOW_UNICODE_NAMES = NO +++ ++ # The OUTPUT_LANGUAGE tag is used to specify the language in which all ++ # documentation generated by doxygen is written. Doxygen will use this ++ # information to generate all constant output in the proper language. ++-# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, ++-# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), ++-# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, ++-# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), ++-# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, ++-# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, ++-# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, ++-# Ukrainian and Vietnamese. +++# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, +++# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English +++# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, +++# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with +++# English messages), Korean, Korean-en (Korean with English messages), Latvian, +++# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, +++# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, +++# Swedish, Turkish, Ukrainian and Vietnamese. ++ # The default value is: English. ++ ++ OUTPUT_LANGUAGE = English ++ ++-# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member +++# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member ++ # descriptions after the members that are listed in the file and class ++ # documentation (similar to Javadoc). Set to NO to disable this. ++ # The default value is: YES. ++ ++ BRIEF_MEMBER_DESC = YES ++ ++-# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief +++# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief ++ # description of a member or function before the detailed description ++ # ++ # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the ++@@ -140,7 +166,7 @@ ++ ++ INLINE_INHERITED_MEMB = NO ++ ++-# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path +++# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path ++ # before files name in the file list and in the header files. If set to NO the ++ # shortest path that makes the file name unique will be used ++ # The default value is: YES. ++@@ -157,7 +183,8 @@ ++ # will be relative from the directory where doxygen is started. ++ # This tag requires that the tag FULL_PATH_NAMES is set to YES. ++ ++-STRIP_FROM_PATH = @CMAKE_BINARY_DIR@ @CMAKE_SOURCE_DIR@ +++STRIP_FROM_PATH = @CMAKE_BINARY_DIR@ \ +++ @CMAKE_SOURCE_DIR@ ++ ++ # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the ++ # path mentioned in the documentation of a class, which tells the reader which ++@@ -166,7 +193,8 @@ ++ # specify the list of include paths that are normally passed to the compiler ++ # using the -I flag. ++ ++-STRIP_FROM_INC_PATH = @CMAKE_SOURCE_DIR@ @CMAKE_BINARY_DIR@ +++STRIP_FROM_INC_PATH = @CMAKE_SOURCE_DIR@ \ +++ @CMAKE_BINARY_DIR@ ++ ++ # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but ++ # less readable) file names. This can be useful is your file systems doesn't ++@@ -184,6 +212,16 @@ ++ ++ JAVADOC_AUTOBRIEF = NO ++ +++# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line +++# such as +++# /*************** +++# as being the beginning of a Javadoc-style comment "banner". If set to NO, the +++# Javadoc-style will behave just like regular comments and it will not be +++# interpreted by doxygen. +++# The default value is: NO. +++ +++JAVADOC_BANNER = NO +++ ++ # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first ++ # line (until the first dot) of a Qt-style comment as the brief description. If ++ # set to NO, the Qt-style will behave just like regular Qt-style comments (thus ++@@ -204,15 +242,23 @@ ++ ++ MULTILINE_CPP_IS_BRIEF = NO ++ +++# By default Python docstrings are displayed as preformatted text and doxygen's +++# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the +++# doxygen's special commands can be used and the contents of the docstring +++# documentation blocks is shown as doxygen documentation. +++# The default value is: YES. +++ +++PYTHON_DOCSTRING = YES +++ ++ # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the ++ # documentation from any documented member that it re-implements. ++ # The default value is: YES. ++ ++ INHERIT_DOCS = YES ++ ++-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a ++-# new page for each member. If set to NO, the documentation of a member will be ++-# part of the file/class/namespace that contains it. +++# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +++# page for each member. If set to NO, the documentation of a member will be part +++# of the file/class/namespace that contains it. ++ # The default value is: NO. ++ ++ SEPARATE_MEMBER_PAGES = NO ++@@ -227,20 +273,19 @@ ++ # the documentation. An alias has the form: ++ # name=value ++ # For example adding ++-# "sideeffect=@par Side Effects:\n" +++# "sideeffect=@par Side Effects:^^" ++ # will allow you to put the command \sideeffect (or @sideeffect) in the ++ # documentation, which will result in a user-defined paragraph with heading ++-# "Side Effects:". You can put \n's in the value part of an alias to insert ++-# newlines. +++# "Side Effects:". Note that you cannot put \n's in the value part of an alias +++# to insert newlines (in the resulting output). You can put ^^ in the value part +++# of an alias to insert a newline as if a physical newline was in the original +++# file. When you need a literal { or } or , in the value part of an alias you +++# have to escape them by means of a backslash (\), this can lead to conflicts +++# with the commands \{ and \} for these it is advised to use the version @{ and +++# @} or use a double escape (\\{ and \\}) ++ ++ ALIASES = ++ ++-# This tag can be used to specify a number of word-keyword mappings (TCL only). ++-# A mapping has the form "name=value". For example adding "class=itcl::class" ++-# will allow you to use the command class in the itcl::class meaning. ++- ++-TCL_SUBST = ++- ++ # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources ++ # only. Doxygen will then generate output that is more tailored for C. For ++ # instance, some of the names that are used will be different. The list of all ++@@ -269,25 +314,40 @@ ++ ++ OPTIMIZE_OUTPUT_VHDL = NO ++ +++# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice +++# sources only. Doxygen will then generate output that is more tailored for that +++# language. For instance, namespaces will be presented as modules, types will be +++# separated into more groups, etc. +++# The default value is: NO. +++ +++OPTIMIZE_OUTPUT_SLICE = NO +++ ++ # Doxygen selects the parser to use depending on the extension of the files it ++ # parses. With this tag you can assign which parser to use for a given ++ # extension. Doxygen has a built-in mapping, but you can override or extend it ++ # using this tag. The format is ext=language, where ext is a file extension, and ++-# language is one of the parsers supported by doxygen: IDL, Java, Javascript, ++-# C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL. For instance to make ++-# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C ++-# (default is Fortran), use: inc=Fortran f=C. +++# language is one of the parsers supported by doxygen: IDL, Java, JavaScript, +++# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, +++# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: +++# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser +++# tries to guess whether the code is fixed or free formatted code, this is the +++# default for Fortran type files). For instance to make doxygen treat .inc files +++# as Fortran files (default is PHP), and .f files as C (default is Fortran), +++# use: inc=Fortran f=C. ++ # ++-# Note For files without extension you can use no_extension as a placeholder. +++# Note: For files without extension you can use no_extension as a placeholder. ++ # ++ # Note that for custom extensions you also need to set FILE_PATTERNS otherwise ++-# the files are not read by doxygen. +++# the files are not read by doxygen. When specifying no_extension you should add +++# * to the FILE_PATTERNS. +++# +++# Note see also the list of default file extension mappings. ++ ++ EXTENSION_MAPPING = ++ ++ # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments ++ # according to the Markdown format, which allows for more readable ++-# documentation. See http://daringfireball.net/projects/markdown/ for details. +++# documentation. See https://daringfireball.net/projects/markdown/ for details. ++ # The output of markdown processing is further processed by doxygen, so you can ++ # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in ++ # case of backward compatibilities issues. ++@@ -295,10 +355,19 @@ ++ ++ MARKDOWN_SUPPORT = YES ++ +++# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up +++# to that level are automatically included in the table of contents, even if +++# they do not have an id attribute. +++# Note: This feature currently applies only to Markdown headings. +++# Minimum value: 0, maximum value: 99, default value: 5. +++# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. +++ +++TOC_INCLUDE_HEADINGS = 5 +++ ++ # When enabled doxygen tries to link words that correspond to documented ++ # classes, or namespaces to their corresponding documentation. Such a link can ++-# be prevented in individual cases by by putting a % sign in front of the word ++-# or globally by setting AUTOLINK_SUPPORT to NO. +++# be prevented in individual cases by putting a % sign in front of the word or +++# globally by setting AUTOLINK_SUPPORT to NO. ++ # The default value is: YES. ++ ++ AUTOLINK_SUPPORT = YES ++@@ -320,7 +389,7 @@ ++ CPP_CLI_SUPPORT = NO ++ ++ # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: ++-# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +++# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen ++ # will parse them like normal C++ but will assume all classes use public instead ++ # of private inheritance when no explicit protection keyword is present. ++ # The default value is: NO. ++@@ -338,13 +407,20 @@ ++ IDL_PROPERTY_SUPPORT = YES ++ ++ # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC ++-# tag is set to YES, then doxygen will reuse the documentation of the first +++# tag is set to YES then doxygen will reuse the documentation of the first ++ # member in the group (if any) for the other members of the group. By default ++ # all members of a group must be documented explicitly. ++ # The default value is: NO. ++ ++ DISTRIBUTE_GROUP_DOC = NO ++ +++# If one adds a struct or class to a group and this option is enabled, then also +++# any nested class or struct is added to the same group. By default this option +++# is disabled and one has to add nested compounds explicitly via \ingroup. +++# The default value is: NO. +++ +++GROUP_NESTED_COMPOUNDS = NO +++ ++ # Set the SUBGROUPING tag to YES to allow class member groups of the same type ++ # (for instance a group of public functions) to be put as a subgroup of that ++ # type (e.g. under the Public Functions section). Set it to NO to prevent ++@@ -399,11 +475,24 @@ ++ ++ LOOKUP_CACHE_SIZE = 0 ++ +++# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use +++# during processing. When set to 0 doxygen will based this on the number of +++# cores available in the system. You can set it explicitly to a value larger +++# than 0 to get more control over the balance between CPU load and processing +++# speed. At this moment only the input processing can be done using multiple +++# threads. Since this is still an experimental feature the default is set to 1, +++# which effectively disables parallel processing. Please report any issues you +++# encounter. Generating dot graphs in parallel is controlled by the +++# DOT_NUM_THREADS setting. +++# Minimum value: 0, maximum value: 32, default value: 1. +++ +++NUM_PROC_THREADS = 1 +++ ++ #--------------------------------------------------------------------------- ++ # Build related configuration options ++ #--------------------------------------------------------------------------- ++ ++-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +++# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in ++ # documentation are documented, even if no documentation was available. Private ++ # class members and static file members will be hidden unless the ++ # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. ++@@ -413,35 +502,41 @@ ++ ++ EXTRACT_ALL = YES ++ ++-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will +++# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will ++ # be included in the documentation. ++ # The default value is: NO. ++ ++ EXTRACT_PRIVATE = NO ++ ++-# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal +++# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual +++# methods of a class will be included in the documentation. +++# The default value is: NO. +++ +++EXTRACT_PRIV_VIRTUAL = NO +++ +++# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal ++ # scope will be included in the documentation. ++ # The default value is: NO. ++ ++ EXTRACT_PACKAGE = NO ++ ++-# If the EXTRACT_STATIC tag is set to YES all static members of a file will be +++# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be ++ # included in the documentation. ++ # The default value is: NO. ++ ++ EXTRACT_STATIC = YES ++ ++-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined ++-# locally in source files will be included in the documentation. If set to NO +++# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +++# locally in source files will be included in the documentation. If set to NO, ++ # only classes defined in header files are included. Does not have any effect ++ # for Java sources. ++ # The default value is: YES. ++ ++ EXTRACT_LOCAL_CLASSES = YES ++ ++-# This flag is only useful for Objective-C code. When set to YES local methods, +++# This flag is only useful for Objective-C code. If set to YES, local methods, ++ # which are defined in the implementation section but not in the interface are ++-# included in the documentation. If set to NO only methods in the interface are +++# included in the documentation. If set to NO, only methods in the interface are ++ # included. ++ # The default value is: NO. ++ ++@@ -456,6 +551,13 @@ ++ ++ EXTRACT_ANON_NSPACES = NO ++ +++# If this flag is set to YES, the name of an unnamed parameter in a declaration +++# will be determined by the corresponding definition. By default unnamed +++# parameters remain unnamed in the output. +++# The default value is: YES. +++ +++RESOLVE_UNNAMED_PARAMS = YES +++ ++ # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all ++ # undocumented members inside documented classes or files. If set to NO these ++ # members will be included in the various overviews, but no documentation ++@@ -466,21 +568,21 @@ ++ ++ # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all ++ # undocumented classes that are normally visible in the class hierarchy. If set ++-# to NO these classes will be included in the various overviews. This option has ++-# no effect if EXTRACT_ALL is enabled. +++# to NO, these classes will be included in the various overviews. This option +++# has no effect if EXTRACT_ALL is enabled. ++ # The default value is: NO. ++ ++ HIDE_UNDOC_CLASSES = YES ++ ++ # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend ++-# (class|struct|union) declarations. If set to NO these declarations will be ++-# included in the documentation. +++# declarations. If set to NO, these declarations will be included in the +++# documentation. ++ # The default value is: NO. ++ ++ HIDE_FRIEND_COMPOUNDS = NO ++ ++ # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any ++-# documentation blocks found inside the body of a function. If set to NO these +++# documentation blocks found inside the body of a function. If set to NO, these ++ # blocks will be appended to the function's detailed documentation block. ++ # The default value is: NO. ++ ++@@ -493,22 +595,42 @@ ++ ++ INTERNAL_DOCS = NO ++ ++-# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file ++-# names in lower-case letters. If set to YES upper-case letters are also ++-# allowed. This is useful if you have classes or files whose names only differ ++-# in case and if your file system supports case sensitive file names. Windows ++-# and Mac users are advised to set this option to NO. +++# With the correct setting of option CASE_SENSE_NAMES doxygen will better be +++# able to match the capabilities of the underlying filesystem. In case the +++# filesystem is case sensitive (i.e. it supports files in the same directory +++# whose names only differ in casing), the option must be set to YES to properly +++# deal with such files in case they appear in the input. For filesystems that +++# are not case sensitive the option should be set to NO to properly deal with +++# output files written for symbols that only differ in casing, such as for two +++# classes, one named CLASS and the other named Class, and to also support +++# references to files without having to specify the exact matching casing. On +++# Windows (including Cygwin) and MacOS, users should typically set this option +++# to NO, whereas on Linux or other Unix flavors it should typically be set to +++# YES. ++ # The default value is: system dependent. ++ ++ CASE_SENSE_NAMES = NO ++ ++ # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with ++-# their full class and namespace scopes in the documentation. If set to YES the +++# their full class and namespace scopes in the documentation. If set to YES, the ++ # scope will be hidden. ++ # The default value is: NO. ++ ++ HIDE_SCOPE_NAMES = NO ++ +++# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +++# append additional text to a page's title, such as Class Reference. If set to +++# YES the compound reference will be hidden. +++# The default value is: NO. +++ +++HIDE_COMPOUND_REFERENCE= NO +++ +++# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class +++# will show which file needs to be included to use the class. +++# The default value is: YES. +++ +++SHOW_HEADERFILE = YES +++ ++ # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of ++ # the files that are included by a file in the documentation of that file. ++ # The default value is: YES. ++@@ -536,14 +658,14 @@ ++ ++ # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the ++ # (detailed) documentation of file and class members alphabetically by member ++-# name. If set to NO the members will appear in declaration order. +++# name. If set to NO, the members will appear in declaration order. ++ # The default value is: YES. ++ ++ SORT_MEMBER_DOCS = YES ++ ++ # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief ++ # descriptions of file, namespace and class members alphabetically by member ++-# name. If set to NO the members will appear in declaration order. Note that +++# name. If set to NO, the members will appear in declaration order. Note that ++ # this will also influence the order of the classes in the class list. ++ # The default value is: NO. ++ ++@@ -588,27 +710,25 @@ ++ ++ STRICT_PROTO_MATCHING = NO ++ ++-# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the ++-# todo list. This list is created by putting \todo commands in the ++-# documentation. +++# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +++# list. This list is created by putting \todo commands in the documentation. ++ # The default value is: YES. ++ ++ GENERATE_TODOLIST = YES ++ ++-# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the ++-# test list. This list is created by putting \test commands in the ++-# documentation. +++# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +++# list. This list is created by putting \test commands in the documentation. ++ # The default value is: YES. ++ ++ GENERATE_TESTLIST = YES ++ ++-# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug +++# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug ++ # list. This list is created by putting \bug commands in the documentation. ++ # The default value is: YES. ++ ++ GENERATE_BUGLIST = YES ++ ++-# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO) +++# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) ++ # the deprecated list. This list is created by putting \deprecated commands in ++ # the documentation. ++ # The default value is: YES. ++@@ -633,8 +753,8 @@ ++ MAX_INITIALIZER_LINES = 30 ++ ++ # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at ++-# the bottom of the documentation of classes and structs. If set to YES the list ++-# will mention the files that were used to generate the documentation. +++# the bottom of the documentation of classes and structs. If set to YES, the +++# list will mention the files that were used to generate the documentation. ++ # The default value is: YES. ++ ++ SHOW_USED_FILES = NO ++@@ -668,7 +788,8 @@ ++ # output files in an output format independent way. To create the layout file ++ # that represents doxygen's defaults, run doxygen with the -l option. You can ++ # optionally specify a file name after the option, if omitted DoxygenLayout.xml ++-# will be used as the name of the layout file. +++# will be used as the name of the layout file. See also section "Changing the +++# layout of pages" for information. ++ # ++ # Note that if you run doxygen from a directory containing a file called ++ # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE ++@@ -679,11 +800,10 @@ ++ # The CITE_BIB_FILES tag can be used to specify one or more bib files containing ++ # the reference definitions. This must be a list of .bib files. The .bib ++ # extension is automatically appended if omitted. This requires the bibtex tool ++-# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +++# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. ++ # For LaTeX the style of the bibliography can be controlled using ++ # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the ++-# search path. Do not use file names with spaces, bibtex cannot handle them. See ++-# also \cite for info how to create references. +++# search path. See also \cite for info how to create references. ++ ++ CITE_BIB_FILES = ++ ++@@ -699,7 +819,7 @@ ++ QUIET = NO ++ ++ # The WARNINGS tag can be used to turn on/off the warning messages that are ++-# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES +++# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES ++ # this implies that the warnings are on. ++ # ++ # Tip: Turn warnings on while writing the documentation. ++@@ -707,7 +827,7 @@ ++ ++ WARNINGS = YES ++ ++-# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate +++# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate ++ # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag ++ # will automatically be disabled. ++ # The default value is: YES. ++@@ -715,34 +835,66 @@ ++ WARN_IF_UNDOCUMENTED = YES ++ ++ # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for ++-# potential errors in the documentation, such as not documenting some parameters ++-# in a documented function, or documenting parameters that don't exist or using ++-# markup commands wrongly. +++# potential errors in the documentation, such as documenting some parameters in +++# a documented function twice, or documenting parameters that don't exist or +++# using markup commands wrongly. ++ # The default value is: YES. ++ ++ WARN_IF_DOC_ERROR = YES ++ +++# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete +++# function parameter documentation. If set to NO, doxygen will accept that some +++# parameters have no documentation without warning. +++# The default value is: YES. +++ +++WARN_IF_INCOMPLETE_DOC = YES +++ ++ # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that ++ # are documented, but have no documentation for their parameters or return ++-# value. If set to NO doxygen will only warn about wrong or incomplete parameter ++-# documentation, but not about the absence of documentation. +++# value. If set to NO, doxygen will only warn about wrong parameter +++# documentation, but not about the absence of documentation. If EXTRACT_ALL is +++# set to YES then this flag will automatically be disabled. See also +++# WARN_IF_INCOMPLETE_DOC ++ # The default value is: NO. ++ ++ WARN_NO_PARAMDOC = NO ++ +++# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +++# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS +++# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but +++# at the end of the doxygen process doxygen will return with a non-zero status. +++# Possible values are: NO, YES and FAIL_ON_WARNINGS. +++# The default value is: NO. +++ +++WARN_AS_ERROR = NO +++ ++ # The WARN_FORMAT tag determines the format of the warning messages that doxygen ++ # can produce. The string should contain the $file, $line, and $text tags, which ++ # will be replaced by the file and line number from which the warning originated ++ # and the warning text. Optionally the format may contain $version, which will ++ # be replaced by the version of the file (if it could be obtained via ++ # FILE_VERSION_FILTER) +++# See also: WARN_LINE_FORMAT ++ # The default value is: $file:$line: $text. ++ ++ WARN_FORMAT = "$file:$line: $text" ++ +++# In the $text part of the WARN_FORMAT command it is possible that a reference +++# to a more specific place is given. To make it easier to jump to this place +++# (outside of doxygen) the user can define a custom "cut" / "paste" string. +++# Example: +++# WARN_LINE_FORMAT = "'vi $file +$line'" +++# See also: WARN_FORMAT +++# The default value is: at line $line of file $file. +++ +++WARN_LINE_FORMAT = "at line $line of file $file" +++ ++ # The WARN_LOGFILE tag can be used to specify a file to which warning and error ++ # messages should be written. If left blank the output is written to standard ++-# error (stderr). +++# error (stderr). In case the file specified cannot be opened for writing the +++# warning and error messages are written to standard error. When as file - is +++# specified the warning and error messages are written to standard output +++# (stdout). ++ ++ WARN_LOGFILE = ++ ++@@ -753,7 +905,7 @@ ++ # The INPUT tag is used to specify the files and/or directories that contain ++ # documented source files. You may enter file names like myfile.cpp or ++ # directories like /usr/src/myproject. Separate the files or directories with ++-# spaces. +++# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING ++ # Note: If this tag is empty the current directory is searched. ++ ++ INPUT = @CMAKE_SOURCE_DIR@ ++@@ -761,20 +913,29 @@ ++ # This tag can be used to specify the character encoding of the source files ++ # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses ++ # libiconv (or the iconv built into libc) for the transcoding. See the libiconv ++-# documentation (see: http://www.gnu.org/software/libiconv) for the list of ++-# possible encodings. +++# documentation (see: +++# https://www.gnu.org/software/libiconv/) for the list of possible encodings. ++ # The default value is: UTF-8. ++ ++ INPUT_ENCODING = UTF-8 ++ ++ # If the value of the INPUT tag contains directories, you can use the ++ # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and ++-# *.h) to filter out the source-files in the directories. If left blank the ++-# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii, ++-# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, ++-# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, ++-# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, ++-# *.qsf, *.as and *.js. +++# *.h) to filter out the source-files in the directories. +++# +++# Note that for custom extensions or not directly supported extensions you also +++# need to set EXTENSION_MAPPING for the extension otherwise the files are not +++# read by doxygen. +++# +++# Note the list of default checked file patterns might differ from the list of +++# default file extension mappings. +++# +++# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +++# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +++# *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, +++# *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C +++# comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, +++# *.vhdl, *.ucf, *.qsf and *.ice. ++ ++ FILE_PATTERNS = *.c \ ++ *.cc \ ++@@ -832,7 +993,14 @@ ++ # Note that relative paths are relative to the directory from which doxygen is ++ # run. ++ ++-EXCLUDE = @CMAKE_BINARY_DIR@ @CMAKE_SOURCE_DIR@/cpu_features @CMAKE_SOURCE_DIR@/README.md @CMAKE_SOURCE_DIR@/cmake @CMAKE_SOURCE_DIR@/docs/AUTHORS_RESUBMITTING_UNDER_LGPL_LICENSE.md @CMAKE_SOURCE_DIR@/apps @CMAKE_SOURCE_DIR@/lib/*qa* @CMAKE_SOURCE_DIR@/tmpl +++EXCLUDE = @CMAKE_BINARY_DIR@ \ +++ @CMAKE_SOURCE_DIR@/cpu_features \ +++ @CMAKE_SOURCE_DIR@/README.md \ +++ @CMAKE_SOURCE_DIR@/cmake \ +++ @CMAKE_SOURCE_DIR@/docs/AUTHORS_RESUBMITTING_UNDER_LGPL_LICENSE.md \ +++ @CMAKE_SOURCE_DIR@/apps \ +++ @CMAKE_SOURCE_DIR@/lib/*qa* \ +++ @CMAKE_SOURCE_DIR@/tmpl ++ ++ # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or ++ # directories that are symbolic links (a Unix file system feature) are excluded ++@@ -854,7 +1022,7 @@ ++ # (namespaces, classes, functions, etc.) that should be excluded from the ++ # output. The symbol name can be a fully qualified name, a word, or if the ++ # wildcard * is used, a substring. Examples: ANamespace, AClass, ++-# AClass::ANamespace, ANamespace::*Test +++# ANamespace::AClass, ANamespace::*Test ++ # ++ # Note that the wildcards are matched against the file with absolute path, so to ++ # exclude all test directories use the pattern */test/* ++@@ -901,6 +1069,10 @@ ++ # Note that the filter must not add or remove lines; it is applied before the ++ # code is scanned, but not when the output code is generated. If lines are added ++ # or removed, the anchors will not be placed correctly. +++# +++# Note that for custom extensions or not directly supported extensions you also +++# need to set EXTENSION_MAPPING for the extension otherwise the files are not +++# properly processed by doxygen. ++ ++ INPUT_FILTER = ++ ++@@ -910,11 +1082,15 @@ ++ # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how ++ # filters are used. If the FILTER_PATTERNS tag is empty or if none of the ++ # patterns match the file name, INPUT_FILTER is applied. +++# +++# Note that for custom extensions or not directly supported extensions you also +++# need to set EXTENSION_MAPPING for the extension otherwise the files are not +++# properly processed by doxygen. ++ ++ FILTER_PATTERNS = ++ ++ # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using ++-# INPUT_FILTER ) will also be used to filter the input files that are used for +++# INPUT_FILTER) will also be used to filter the input files that are used for ++ # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). ++ # The default value is: NO. ++ ++@@ -962,7 +1138,7 @@ ++ STRIP_CODE_COMMENTS = YES ++ ++ # If the REFERENCED_BY_RELATION tag is set to YES then for each documented ++-# function all documented functions referencing it will be listed. +++# entity all documented functions referencing it will be listed. ++ # The default value is: NO. ++ ++ REFERENCED_BY_RELATION = NO ++@@ -974,7 +1150,7 @@ ++ REFERENCES_RELATION = NO ++ ++ # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set ++-# to YES, then the hyperlinks from functions in REFERENCES_RELATION and +++# to YES then the hyperlinks from functions in REFERENCES_RELATION and ++ # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will ++ # link to the documentation. ++ # The default value is: YES. ++@@ -994,12 +1170,12 @@ ++ # If the USE_HTAGS tag is set to YES then the references to source code will ++ # point to the HTML generated by the htags(1) tool instead of doxygen built-in ++ # source browser. The htags tool is part of GNU's global source tagging system ++-# (see http://www.gnu.org/software/global/global.html). You will need version +++# (see https://www.gnu.org/software/global/global.html). You will need version ++ # 4.8.6 or higher. ++ # ++ # To use it do the following: ++ # - Install the latest version of global ++-# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +++# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file ++ # - Make sure the INPUT points to the root of the source tree ++ # - Run doxygen as normal ++ # ++@@ -1021,6 +1197,46 @@ ++ ++ VERBATIM_HEADERS = YES ++ +++# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the +++# clang parser (see: +++# http://clang.llvm.org/) for more accurate parsing at the cost of reduced +++# performance. This can be particularly helpful with template rich C++ code for +++# which doxygen's built-in parser lacks the necessary type information. +++# Note: The availability of this option depends on whether or not doxygen was +++# generated with the -Duse_libclang=ON option for CMake. +++# The default value is: NO. +++ +++CLANG_ASSISTED_PARSING = NO +++ +++# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS +++# tag is set to YES then doxygen will add the directory of each input to the +++# include path. +++# The default value is: YES. +++# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. +++ +++CLANG_ADD_INC_PATHS = YES +++ +++# If clang assisted parsing is enabled you can provide the compiler with command +++# line options that you would normally use when invoking the compiler. Note that +++# the include paths will already be set by doxygen for the files and directories +++# specified with INPUT and INCLUDE_PATH. +++# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. +++ +++CLANG_OPTIONS = +++ +++# If clang assisted parsing is enabled you can provide the clang parser with the +++# path to the directory containing a file called compile_commands.json. This +++# file is the compilation database (see: +++# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the +++# options used when the source files were built. This is equivalent to +++# specifying the -p option to a clang tool, such as clang-check. These options +++# will then be passed to the parser. Any options specified with CLANG_OPTIONS +++# will be added as well. +++# Note: The availability of this option depends on whether or not doxygen was +++# generated with the -Duse_libclang=ON option for CMake. +++ +++CLANG_DATABASE_PATH = +++ ++ #--------------------------------------------------------------------------- ++ # Configuration options related to the alphabetical class index ++ #--------------------------------------------------------------------------- ++@@ -1032,13 +1248,6 @@ ++ ++ ALPHABETICAL_INDEX = YES ++ ++-# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in ++-# which the alphabetical index list will be split. ++-# Minimum value: 1, maximum value: 20, default value: 5. ++-# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. ++- ++-COLS_IN_ALPHA_INDEX = 5 ++- ++ # In case all classes in a project start with a common prefix, all classes will ++ # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag ++ # can be used to specify a prefix (or a list of prefixes) that should be ignored ++@@ -1051,7 +1260,7 @@ ++ # Configuration options related to the HTML output ++ #--------------------------------------------------------------------------- ++ ++-# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output +++# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output ++ # The default value is: YES. ++ ++ GENERATE_HTML = YES ++@@ -1099,7 +1308,7 @@ ++ # that doxygen normally uses. ++ # This tag requires that the tag GENERATE_HTML is set to YES. ++ ++-HTML_FOOTER = "" +++HTML_FOOTER = ++ ++ # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style ++ # sheet that is used by each HTML page. It can be used to fine-tune the look of ++@@ -1113,13 +1322,15 @@ ++ ++ HTML_STYLESHEET = ++ ++-# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user- ++-# defined cascading style sheet that is included after the standard style sheets +++# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +++# cascading style sheets that are included after the standard style sheets ++ # created by doxygen. Using this option one can overrule certain style aspects. ++ # This is preferred over using HTML_STYLESHEET since it does not replace the ++ # standard style sheet and is therefore more robust against future updates. ++-# Doxygen will copy the style sheet file to the output directory. For an example ++-# see the documentation. +++# Doxygen will copy the style sheet files to the output directory. +++# Note: The order of the extra style sheet files is of importance (e.g. the last +++# style sheet in the list overrules the setting of the previous ones in the +++# list). For an example see the documentation. ++ # This tag requires that the tag GENERATE_HTML is set to YES. ++ ++ HTML_EXTRA_STYLESHEET = ++@@ -1135,9 +1346,9 @@ ++ HTML_EXTRA_FILES = ++ ++ # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen ++-# will adjust the colors in the stylesheet and background images according to ++-# this color. Hue is specified as an angle on a colorwheel, see ++-# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +++# will adjust the colors in the style sheet and background images according to +++# this color. Hue is specified as an angle on a color-wheel, see +++# https://en.wikipedia.org/wiki/Hue for more information. For instance the value ++ # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 ++ # purple, and 360 is red again. ++ # Minimum value: 0, maximum value: 359, default value: 220. ++@@ -1146,7 +1357,7 @@ ++ HTML_COLORSTYLE_HUE = 220 ++ ++ # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors ++-# in the HTML output. For a value of 0 the output will use grayscales only. A +++# in the HTML output. For a value of 0 the output will use gray-scales only. A ++ # value of 255 will produce the most vivid colors. ++ # Minimum value: 0, maximum value: 255, default value: 100. ++ # This tag requires that the tag GENERATE_HTML is set to YES. ++@@ -1166,12 +1377,24 @@ ++ ++ # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML ++ # page will contain the date and time when the page was generated. Setting this ++-# to NO can help when comparing the output of multiple runs. ++-# The default value is: YES. +++# to YES can help to show when doxygen was last run and thus if the +++# documentation is up to date. +++# The default value is: NO. ++ # This tag requires that the tag GENERATE_HTML is set to YES. ++ ++ HTML_TIMESTAMP = NO ++ +++# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML +++# documentation will contain a main index with vertical navigation menus that +++# are dynamically created via JavaScript. If disabled, the navigation index will +++# consists of multiple levels of tabs that are statically embedded in every HTML +++# page. Disable this option to support browsers that do not have JavaScript, +++# like the Qt help browser. +++# The default value is: YES. +++# This tag requires that the tag GENERATE_HTML is set to YES. +++ +++HTML_DYNAMIC_MENUS = YES +++ ++ # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML ++ # documentation will contain sections that can be hidden and shown after the ++ # page has loaded. ++@@ -1195,13 +1418,14 @@ ++ ++ # If the GENERATE_DOCSET tag is set to YES, additional index files will be ++ # generated that can be used as input for Apple's Xcode 3 integrated development ++-# environment (see: http://developer.apple.com/tools/xcode/), introduced with ++-# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a ++-# Makefile in the HTML output directory. Running make will produce the docset in ++-# that directory and running make install will install the docset in +++# environment (see: +++# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To +++# create a documentation set, doxygen will generate a Makefile in the HTML +++# output directory. Running make will produce the docset in that directory and +++# running make install will install the docset in ++ # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at ++-# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html ++-# for more information. +++# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy +++# genXcode/_index.html for more information. ++ # The default value is: NO. ++ # This tag requires that the tag GENERATE_HTML is set to YES. ++ ++@@ -1215,6 +1439,13 @@ ++ ++ DOCSET_FEEDNAME = "Doxygen generated docs" ++ +++# This tag determines the URL of the docset feed. A documentation feed provides +++# an umbrella under which multiple documentation sets from a single provider +++# (such as a company or product suite) can be grouped. +++# This tag requires that the tag GENERATE_DOCSET is set to YES. +++ +++DOCSET_FEEDURL = +++ ++ # This tag specifies a string that should uniquely identify the documentation ++ # set bundle. This should be a reverse domain-name style string, e.g. ++ # com.mycompany.MyDocSet. Doxygen will append .docset to the name. ++@@ -1240,8 +1471,12 @@ ++ # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three ++ # additional HTML index files: index.hhp, index.hhc, and index.hhk. The ++ # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop ++-# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on ++-# Windows. +++# on Windows. In the beginning of 2021 Microsoft took the original page, with +++# a.o. the download links, offline the HTML help workshop was already many years +++# in maintenance mode). You can download the HTML help workshop from the web +++# archives at Installation executable (see: +++# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo +++# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). ++ # ++ # The HTML Help Workshop contains a compiler that can convert all HTML output ++ # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML ++@@ -1263,28 +1498,29 @@ ++ CHM_FILE = ++ ++ # The HHC_LOCATION tag can be used to specify the location (absolute path ++-# including file name) of the HTML help compiler ( hhc.exe). If non-empty +++# including file name) of the HTML help compiler (hhc.exe). If non-empty, ++ # doxygen will try to run the HTML help compiler on the generated index.hhp. ++ # The file has to be specified with full path. ++ # This tag requires that the tag GENERATE_HTMLHELP is set to YES. ++ ++ HHC_LOCATION = ++ ++-# The GENERATE_CHI flag controls if a separate .chi index file is generated ( ++-# YES) or that it should be included in the master .chm file ( NO). +++# The GENERATE_CHI flag controls if a separate .chi index file is generated +++# (YES) or that it should be included in the main .chm file (NO). ++ # The default value is: NO. ++ # This tag requires that the tag GENERATE_HTMLHELP is set to YES. ++ ++ GENERATE_CHI = NO ++ ++-# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc) +++# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) ++ # and project file content. ++ # This tag requires that the tag GENERATE_HTMLHELP is set to YES. ++ ++ CHM_INDEX_ENCODING = ++ ++-# The BINARY_TOC flag controls whether a binary table of contents is generated ( ++-# YES) or a normal table of contents ( NO) in the .chm file. +++# The BINARY_TOC flag controls whether a binary table of contents is generated +++# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +++# enables the Previous and Next buttons. ++ # The default value is: NO. ++ # This tag requires that the tag GENERATE_HTMLHELP is set to YES. ++ ++@@ -1315,7 +1551,8 @@ ++ ++ # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help ++ # Project output. For more information please see Qt Help Project / Namespace ++-# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +++# (see: +++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). ++ # The default value is: org.doxygen.Project. ++ # This tag requires that the tag GENERATE_QHP is set to YES. ++ ++@@ -1323,8 +1560,8 @@ ++ ++ # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt ++ # Help Project output. For more information please see Qt Help Project / Virtual ++-# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- ++-# folders). +++# Folders (see: +++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). ++ # The default value is: doc. ++ # This tag requires that the tag GENERATE_QHP is set to YES. ++ ++@@ -1332,30 +1569,30 @@ ++ ++ # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom ++ # filter to add. For more information please see Qt Help Project / Custom ++-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- ++-# filters). +++# Filters (see: +++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). ++ # This tag requires that the tag GENERATE_QHP is set to YES. ++ ++ QHP_CUST_FILTER_NAME = ++ ++ # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the ++ # custom filter to add. For more information please see Qt Help Project / Custom ++-# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- ++-# filters). +++# Filters (see: +++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). ++ # This tag requires that the tag GENERATE_QHP is set to YES. ++ ++ QHP_CUST_FILTER_ATTRS = ++ ++ # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this ++ # project's filter section matches. Qt Help Project / Filter Attributes (see: ++-# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +++# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). ++ # This tag requires that the tag GENERATE_QHP is set to YES. ++ ++ QHP_SECT_FILTER_ATTRS = ++ ++-# The QHG_LOCATION tag can be used to specify the location of Qt's ++-# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the ++-# generated .qhp file. +++# The QHG_LOCATION tag can be used to specify the location (absolute path +++# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to +++# run qhelpgenerator on the generated .qhp file. ++ # This tag requires that the tag GENERATE_QHP is set to YES. ++ ++ QHG_LOCATION = ++@@ -1397,17 +1634,29 @@ ++ # index structure (just like the one that is generated for HTML Help). For this ++ # to work a browser that supports JavaScript, DHTML, CSS and frames is required ++ # (i.e. any modern browser). Windows users are probably better off using the ++-# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can ++-# further fine-tune the look of the index. As an example, the default style ++-# sheet generated by doxygen has an example that shows how to put an image at ++-# the root of the tree instead of the PROJECT_NAME. Since the tree basically has ++-# the same information as the tab index, you could consider setting ++-# DISABLE_INDEX to YES when enabling this option. +++# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +++# further fine tune the look of the index (see "Fine-tuning the output"). As an +++# example, the default style sheet generated by doxygen has an example that +++# shows how to put an image at the root of the tree instead of the PROJECT_NAME. +++# Since the tree basically has the same information as the tab index, you could +++# consider setting DISABLE_INDEX to YES when enabling this option. ++ # The default value is: NO. ++ # This tag requires that the tag GENERATE_HTML is set to YES. ++ ++ GENERATE_TREEVIEW = YES ++ +++# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the +++# FULL_SIDEBAR option determines if the side bar is limited to only the treeview +++# area (value NO) or if it should extend to the full height of the window (value +++# YES). Setting this to YES gives a layout similar to +++# https://docs.readthedocs.io with more room for contents, but less room for the +++# project logo, title, and description. If either GENERATE_TREEVIEW or +++# DISABLE_INDEX is set to NO, this option has no effect. +++# The default value is: NO. +++# This tag requires that the tag GENERATE_HTML is set to YES. +++ +++FULL_SIDEBAR = NO +++ ++ # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that ++ # doxygen will group on one line in the generated HTML documentation. ++ # ++@@ -1425,13 +1674,31 @@ ++ ++ TREEVIEW_WIDTH = 250 ++ ++-# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to +++# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to ++ # external symbols imported via tag files in a separate window. ++ # The default value is: NO. ++ # This tag requires that the tag GENERATE_HTML is set to YES. ++ ++ EXT_LINKS_IN_WINDOW = NO ++ +++# If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email +++# addresses. +++# The default value is: YES. +++# This tag requires that the tag GENERATE_HTML is set to YES. +++ +++OBFUSCATE_EMAILS = YES +++ +++# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg +++# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see +++# https://inkscape.org) to generate formulas as SVG images instead of PNGs for +++# the HTML output. These images will generally look nicer at scaled resolutions. +++# Possible values are: png (the default) and svg (looks nicer but requires the +++# pdf2svg or inkscape tool). +++# The default value is: png. +++# This tag requires that the tag GENERATE_HTML is set to YES. +++ +++HTML_FORMULA_FORMAT = png +++ ++ # Use this tag to change the font size of LaTeX formulas included as images in ++ # the HTML documentation. When you change the font size after a successful ++ # doxygen run you need to manually remove any form_*.png images from the HTML ++@@ -1441,7 +1708,7 @@ ++ ++ FORMULA_FONTSIZE = 10 ++ ++-# Use the FORMULA_TRANPARENT tag to determine whether or not the images +++# Use the FORMULA_TRANSPARENT tag to determine whether or not the images ++ # generated for formulas are transparent PNGs. Transparent PNGs are not ++ # supported properly for IE 6.0, but are supported on all modern browsers. ++ # ++@@ -1452,9 +1719,15 @@ ++ ++ FORMULA_TRANSPARENT = YES ++ +++# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands +++# to create new LaTeX commands to be used in formulas as building blocks. See +++# the section "Including formulas" for details. +++ +++FORMULA_MACROFILE = +++ ++ # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see ++-# http://www.mathjax.org) which uses client side Javascript for the rendering ++-# instead of using prerendered bitmaps. Use this if you do not have LaTeX +++# https://www.mathjax.org) which uses client side JavaScript for the rendering +++# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX ++ # installed or if you want to formulas look prettier in the HTML output. When ++ # enabled you may also need to install MathJax separately and configure the path ++ # to it using the MATHJAX_RELPATH option. ++@@ -1463,11 +1736,29 @@ ++ ++ USE_MATHJAX = NO ++ +++# With MATHJAX_VERSION it is possible to specify the MathJax version to be used. +++# Note that the different versions of MathJax have different requirements with +++# regards to the different settings, so it is possible that also other MathJax +++# settings have to be changed when switching between the different MathJax +++# versions. +++# Possible values are: MathJax_2 and MathJax_3. +++# The default value is: MathJax_2. +++# This tag requires that the tag USE_MATHJAX is set to YES. +++ +++MATHJAX_VERSION = MathJax_2 +++ ++ # When MathJax is enabled you can set the default output format to be used for ++-# the MathJax output. See the MathJax site (see: ++-# http://docs.mathjax.org/en/latest/output.html) for more details. +++# the MathJax output. For more details about the output format see MathJax +++# version 2 (see: +++# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 +++# (see: +++# http://docs.mathjax.org/en/latest/web/components/output.html). ++ # Possible values are: HTML-CSS (which is slower, but has the best ++-# compatibility), NativeMML (i.e. MathML) and SVG. +++# compatibility. This is the name for Mathjax version 2, for MathJax version 3 +++# this will be translated into chtml), NativeMML (i.e. MathML. Only supported +++# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This +++# is the name for Mathjax version 3, for MathJax version 2 this will be +++# translated into HTML-CSS) and SVG. ++ # The default value is: HTML-CSS. ++ # This tag requires that the tag USE_MATHJAX is set to YES. ++ ++@@ -1480,22 +1771,29 @@ ++ # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax ++ # Content Delivery Network so you can quickly see the result without installing ++ # MathJax. However, it is strongly recommended to install a local copy of ++-# MathJax from http://www.mathjax.org before deployment. ++-# The default value is: http://cdn.mathjax.org/mathjax/latest. +++# MathJax from https://www.mathjax.org before deployment. The default value is: +++# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 +++# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 ++ # This tag requires that the tag USE_MATHJAX is set to YES. ++ ++ MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest ++ ++ # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax ++ # extension names that should be enabled during MathJax rendering. For example +++# for MathJax version 2 (see +++# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): ++ # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +++# For example for MathJax version 3 (see +++# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): +++# MATHJAX_EXTENSIONS = ams ++ # This tag requires that the tag USE_MATHJAX is set to YES. ++ ++ MATHJAX_EXTENSIONS = ++ ++ # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces ++ # of code that will be used on startup of the MathJax code. See the MathJax site ++-# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +++# (see: +++# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an ++ # example see the documentation. ++ # This tag requires that the tag USE_MATHJAX is set to YES. ++ ++@@ -1523,12 +1821,12 @@ ++ SEARCHENGINE = YES ++ ++ # When the SERVER_BASED_SEARCH tag is enabled the search engine will be ++-# implemented using a web server instead of a web client using Javascript. There ++-# are two flavours of web server based searching depending on the ++-# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for ++-# searching and an index file used by the script. When EXTERNAL_SEARCH is ++-# enabled the indexing and searching needs to be provided by external tools. See ++-# the section "External Indexing and Searching" for details. +++# implemented using a web server instead of a web client using JavaScript. There +++# are two flavors of web server based searching depending on the EXTERNAL_SEARCH +++# setting. When disabled, doxygen will generate a PHP script for searching and +++# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing +++# and searching needs to be provided by external tools. See the section +++# "External Indexing and Searching" for details. ++ # The default value is: NO. ++ # This tag requires that the tag SEARCHENGINE is set to YES. ++ ++@@ -1540,9 +1838,10 @@ ++ # external search engine pointed to by the SEARCHENGINE_URL option to obtain the ++ # search results. ++ # ++-# Doxygen ships with an example indexer ( doxyindexer) and search engine +++# Doxygen ships with an example indexer (doxyindexer) and search engine ++ # (doxysearch.cgi) which are based on the open source search engine library ++-# Xapian (see: http://xapian.org/). +++# Xapian (see: +++# https://xapian.org/). ++ # ++ # See the section "External Indexing and Searching" for details. ++ # The default value is: NO. ++@@ -1553,10 +1852,11 @@ ++ # The SEARCHENGINE_URL should point to a search engine hosted by a web server ++ # which will return the search results when EXTERNAL_SEARCH is enabled. ++ # ++-# Doxygen ships with an example indexer ( doxyindexer) and search engine +++# Doxygen ships with an example indexer (doxyindexer) and search engine ++ # (doxysearch.cgi) which are based on the open source search engine library ++-# Xapian (see: http://xapian.org/). See the section "External Indexing and ++-# Searching" for details. +++# Xapian (see: +++# https://xapian.org/). See the section "External Indexing and Searching" for +++# details. ++ # This tag requires that the tag SEARCHENGINE is set to YES. ++ ++ SEARCHENGINE_URL = ++@@ -1591,7 +1891,7 @@ ++ # Configuration options related to the LaTeX output ++ #--------------------------------------------------------------------------- ++ ++-# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output. +++# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output. ++ # The default value is: YES. ++ ++ GENERATE_LATEX = NO ++@@ -1607,22 +1907,36 @@ ++ # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be ++ # invoked. ++ # ++-# Note that when enabling USE_PDFLATEX this option is only used for generating ++-# bitmaps for formulas in the HTML output, but not in the Makefile that is ++-# written to the output directory. ++-# The default file is: latex. +++# Note that when not enabling USE_PDFLATEX the default is latex when enabling +++# USE_PDFLATEX the default is pdflatex and when in the later case latex is +++# chosen this is overwritten by pdflatex. For specific output languages the +++# default can have been set differently, this depends on the implementation of +++# the output language. ++ # This tag requires that the tag GENERATE_LATEX is set to YES. ++ ++ LATEX_CMD_NAME = latex ++ ++ # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate ++ # index for LaTeX. +++# Note: This tag is used in the Makefile / make.bat. +++# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file +++# (.tex). ++ # The default file is: makeindex. ++ # This tag requires that the tag GENERATE_LATEX is set to YES. ++ ++ MAKEINDEX_CMD_NAME = makeindex ++ ++-# If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX +++# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to +++# generate index for LaTeX. In case there is no backslash (\) as first character +++# it will be automatically added in the LaTeX code. +++# Note: This tag is used in the generated output file (.tex). +++# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat. +++# The default value is: makeindex. +++# This tag requires that the tag GENERATE_LATEX is set to YES. +++ +++LATEX_MAKEINDEX_CMD = makeindex +++ +++# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX ++ # documents. This may be useful for small projects and may help to save some ++ # trees in general. ++ # The default value is: NO. ++@@ -1640,39 +1954,57 @@ ++ PAPER_TYPE = a4 ++ ++ # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names ++-# that should be included in the LaTeX output. To get the times font for ++-# instance you can specify ++-# EXTRA_PACKAGES=times +++# that should be included in the LaTeX output. The package can be specified just +++# by its name or with the correct syntax as to be used with the LaTeX +++# \usepackage command. To get the times font for instance you can specify : +++# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times} +++# To use the option intlimits with the amsmath package you can specify: +++# EXTRA_PACKAGES=[intlimits]{amsmath} ++ # If left blank no extra packages will be included. ++ # This tag requires that the tag GENERATE_LATEX is set to YES. ++ ++ EXTRA_PACKAGES = ++ ++-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the ++-# generated LaTeX document. The header should contain everything until the first ++-# chapter. If it is left blank doxygen will generate a standard header. See ++-# section "Doxygen usage" for information on how to let doxygen write the ++-# default header to a separate file. ++-# ++-# Note: Only use a user-defined header if you know what you are doing! The ++-# following commands have a special meaning inside the header: $title, ++-# $datetime, $date, $doxygenversion, $projectname, $projectnumber. Doxygen will ++-# replace them by respectively the title of the page, the current date and time, ++-# only the current date, the version number of doxygen, the project name (see ++-# PROJECT_NAME), or the project number (see PROJECT_NUMBER). +++# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for +++# the generated LaTeX document. The header should contain everything until the +++# first chapter. If it is left blank doxygen will generate a standard header. It +++# is highly recommended to start with a default header using +++# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty +++# and then modify the file new_header.tex. See also section "Doxygen usage" for +++# information on how to generate the default header that doxygen normally uses. +++# +++# Note: Only use a user-defined header if you know what you are doing! +++# Note: The header is subject to change so you typically have to regenerate the +++# default header when upgrading to a newer version of doxygen. The following +++# commands have a special meaning inside the header (and footer): For a +++# description of the possible markers and block names see the documentation. ++ # This tag requires that the tag GENERATE_LATEX is set to YES. ++ ++ LATEX_HEADER = ++ ++-# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the ++-# generated LaTeX document. The footer should contain everything after the last ++-# chapter. If it is left blank doxygen will generate a standard footer. ++-# ++-# Note: Only use a user-defined footer if you know what you are doing! +++# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for +++# the generated LaTeX document. The footer should contain everything after the +++# last chapter. If it is left blank doxygen will generate a standard footer. See +++# LATEX_HEADER for more information on how to generate a default footer and what +++# special commands can be used inside the footer. See also section "Doxygen +++# usage" for information on how to generate the default footer that doxygen +++# normally uses. Note: Only use a user-defined footer if you know what you are +++# doing! ++ # This tag requires that the tag GENERATE_LATEX is set to YES. ++ ++ LATEX_FOOTER = ++ +++# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined +++# LaTeX style sheets that are included after the standard style sheets created +++# by doxygen. Using this option one can overrule certain style aspects. Doxygen +++# will copy the style sheet files to the output directory. +++# Note: The order of the extra style sheet files is of importance (e.g. the last +++# style sheet in the list overrules the setting of the previous ones in the +++# list). +++# This tag requires that the tag GENERATE_LATEX is set to YES. +++ +++LATEX_EXTRA_STYLESHEET = +++ ++ # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or ++ # other source files which should be copied to the LATEX_OUTPUT output ++ # directory. Note that the files will be copied as-is; there are no commands or ++@@ -1690,9 +2022,11 @@ ++ ++ PDF_HYPERLINKS = YES ++ ++-# If the LATEX_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate ++-# the PDF file directly from the LaTeX files. Set this option to YES to get a ++-# higher quality PDF documentation. +++# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as +++# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX +++# files. Set this option to YES, to get a higher quality PDF documentation. +++# +++# See also section LATEX_CMD_NAME for selecting the engine. ++ # The default value is: YES. ++ # This tag requires that the tag GENERATE_LATEX is set to YES. ++ ++@@ -1700,8 +2034,7 @@ ++ ++ # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode ++ # command to the generated LaTeX files. This will instruct LaTeX to keep running ++-# if errors occur, instead of asking the user for help. This option is also used ++-# when generating formulas in HTML. +++# if errors occur, instead of asking the user for help. ++ # The default value is: NO. ++ # This tag requires that the tag GENERATE_LATEX is set to YES. ++ ++@@ -1714,29 +2047,35 @@ ++ ++ LATEX_HIDE_INDICES = NO ++ ++-# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source ++-# code with syntax highlighting in the LaTeX output. ++-# ++-# Note that which sources are shown also depends on other settings such as ++-# SOURCE_BROWSER. ++-# The default value is: NO. ++-# This tag requires that the tag GENERATE_LATEX is set to YES. ++- ++-LATEX_SOURCE_CODE = NO ++- ++ # The LATEX_BIB_STYLE tag can be used to specify the style to use for the ++ # bibliography, e.g. plainnat, or ieeetr. See ++-# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. +++# https://en.wikipedia.org/wiki/BibTeX and \cite for more info. ++ # The default value is: plain. ++ # This tag requires that the tag GENERATE_LATEX is set to YES. ++ ++ LATEX_BIB_STYLE = plain ++ +++# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated +++# page will contain the date and time when the page was generated. Setting this +++# to NO can help when comparing the output of multiple runs. +++# The default value is: NO. +++# This tag requires that the tag GENERATE_LATEX is set to YES. +++ +++LATEX_TIMESTAMP = NO +++ +++# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) +++# path from which the emoji images will be read. If a relative path is entered, +++# it will be relative to the LATEX_OUTPUT directory. If left blank the +++# LATEX_OUTPUT directory will be used. +++# This tag requires that the tag GENERATE_LATEX is set to YES. +++ +++LATEX_EMOJI_DIRECTORY = +++ ++ #--------------------------------------------------------------------------- ++ # Configuration options related to the RTF output ++ #--------------------------------------------------------------------------- ++ ++-# If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The +++# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The ++ # RTF output is optimized for Word 97 and may not look too pretty with other RTF ++ # readers/editors. ++ # The default value is: NO. ++@@ -1751,7 +2090,7 @@ ++ ++ RTF_OUTPUT = rtf ++ ++-# If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF +++# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF ++ # documents. This may be useful for small projects and may help to save some ++ # trees in general. ++ # The default value is: NO. ++@@ -1771,9 +2110,9 @@ ++ ++ RTF_HYPERLINKS = NO ++ ++-# Load stylesheet definitions from file. Syntax is similar to doxygen's config ++-# file, i.e. a series of assignments. You only have to provide replacements, ++-# missing definitions are set to their default value. +++# Load stylesheet definitions from file. Syntax is similar to doxygen's +++# configuration file, i.e. a series of assignments. You only have to provide +++# replacements, missing definitions are set to their default value. ++ # ++ # See also section "Doxygen usage" for information on how to generate the ++ # default style sheet that doxygen normally uses. ++@@ -1782,8 +2121,8 @@ ++ RTF_STYLESHEET_FILE = ++ ++ # Set optional variables used in the generation of an RTF document. Syntax is ++-# similar to doxygen's config file. A template extensions file can be generated ++-# using doxygen -e rtf extensionFile. +++# similar to doxygen's configuration file. A template extensions file can be +++# generated using doxygen -e rtf extensionFile. ++ # This tag requires that the tag GENERATE_RTF is set to YES. ++ ++ RTF_EXTENSIONS_FILE = ++@@ -1792,7 +2131,7 @@ ++ # Configuration options related to the man page output ++ #--------------------------------------------------------------------------- ++ ++-# If the GENERATE_MAN tag is set to YES doxygen will generate man pages for +++# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for ++ # classes and files. ++ # The default value is: NO. ++ ++@@ -1816,6 +2155,13 @@ ++ ++ MAN_EXTENSION = .3 ++ +++# The MAN_SUBDIR tag determines the name of the directory created within +++# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by +++# MAN_EXTENSION with the initial . removed. +++# This tag requires that the tag GENERATE_MAN is set to YES. +++ +++MAN_SUBDIR = +++ ++ # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it ++ # will generate one additional man file for each entity documented in the real ++ # man page(s). These additional files only source the real man page, but without ++@@ -1829,7 +2175,7 @@ ++ # Configuration options related to the XML output ++ #--------------------------------------------------------------------------- ++ ++-# If the GENERATE_XML tag is set to YES doxygen will generate an XML file that +++# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that ++ # captures the structure of the code including all documentation. ++ # The default value is: NO. ++ ++@@ -1843,19 +2189,7 @@ ++ ++ XML_OUTPUT = xml ++ ++-# The XML_SCHEMA tag can be used to specify a XML schema, which can be used by a ++-# validating XML parser to check the syntax of the XML files. ++-# This tag requires that the tag GENERATE_XML is set to YES. ++- ++-XML_SCHEMA = ++- ++-# The XML_DTD tag can be used to specify a XML DTD, which can be used by a ++-# validating XML parser to check the syntax of the XML files. ++-# This tag requires that the tag GENERATE_XML is set to YES. ++- ++-XML_DTD = ++- ++-# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program +++# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program ++ # listings (including syntax highlighting and cross-referencing information) to ++ # the XML output. Note that enabling this will significantly increase the size ++ # of the XML output. ++@@ -1864,11 +2198,18 @@ ++ ++ XML_PROGRAMLISTING = YES ++ +++# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include +++# namespace members in file scope as well, matching the HTML output. +++# The default value is: NO. +++# This tag requires that the tag GENERATE_XML is set to YES. +++ +++XML_NS_MEMB_FILE_SCOPE = NO +++ ++ #--------------------------------------------------------------------------- ++ # Configuration options related to the DOCBOOK output ++ #--------------------------------------------------------------------------- ++ ++-# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files +++# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files ++ # that can be used to generate PDF. ++ # The default value is: NO. ++ ++@@ -1886,10 +2227,10 @@ ++ # Configuration options for the AutoGen Definitions output ++ #--------------------------------------------------------------------------- ++ ++-# If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen ++-# Definitions (see http://autogen.sf.net) file that captures the structure of ++-# the code including all documentation. Note that this feature is still ++-# experimental and incomplete at the moment. +++# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an +++# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures +++# the structure of the code including all documentation. Note that this feature +++# is still experimental and incomplete at the moment. ++ # The default value is: NO. ++ ++ GENERATE_AUTOGEN_DEF = NO ++@@ -1898,7 +2239,7 @@ ++ # Configuration options related to the Perl module output ++ #--------------------------------------------------------------------------- ++ ++-# If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module +++# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module ++ # file that captures the structure of the code including all documentation. ++ # ++ # Note that this feature is still experimental and incomplete at the moment. ++@@ -1906,7 +2247,7 @@ ++ ++ GENERATE_PERLMOD = NO ++ ++-# If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary +++# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary ++ # Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI ++ # output from the Perl module output. ++ # The default value is: NO. ++@@ -1914,9 +2255,9 @@ ++ ++ PERLMOD_LATEX = NO ++ ++-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely +++# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely ++ # formatted so it can be parsed by a human reader. This is useful if you want to ++-# understand what is going on. On the other hand, if this tag is set to NO the +++# understand what is going on. On the other hand, if this tag is set to NO, the ++ # size of the Perl module output will be much smaller and Perl will parse it ++ # just the same. ++ # The default value is: YES. ++@@ -1936,14 +2277,14 @@ ++ # Configuration options related to the preprocessor ++ #--------------------------------------------------------------------------- ++ ++-# If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all +++# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all ++ # C-preprocessor directives found in the sources and include files. ++ # The default value is: YES. ++ ++ ENABLE_PREPROCESSING = YES ++ ++-# If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names ++-# in the source code. If set to NO only conditional compilation will be +++# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names +++# in the source code. If set to NO, only conditional compilation will be ++ # performed. Macro expansion can be done in a controlled way by setting ++ # EXPAND_ONLY_PREDEF to YES. ++ # The default value is: NO. ++@@ -1959,7 +2300,7 @@ ++ ++ EXPAND_ONLY_PREDEF = NO ++ ++-# If the SEARCH_INCLUDES tag is set to YES the includes files in the +++# If the SEARCH_INCLUDES tag is set to YES, the include files in the ++ # INCLUDE_PATH will be searched if a #include is found. ++ # The default value is: YES. ++ # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. ++@@ -1968,7 +2309,8 @@ ++ ++ # The INCLUDE_PATH tag can be used to specify one or more directories that ++ # contain include files that are not input files but should be processed by the ++-# preprocessor. +++# preprocessor. Note that the INCLUDE_PATH is not recursive, so the setting of +++# RECURSIVE has no effect here. ++ # This tag requires that the tag SEARCH_INCLUDES is set to YES. ++ ++ INCLUDE_PATH = ++@@ -2008,9 +2350,9 @@ ++ EXPAND_AS_DEFINED = ++ ++ # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will ++-# remove all references to function-like macros that are alone on a line, have an ++-# all uppercase name, and do not end with a semicolon. Such function macros are ++-# typically used for boiler-plate code, and will confuse the parser if not +++# remove all references to function-like macros that are alone on a line, have +++# an all uppercase name, and do not end with a semicolon. Such function macros +++# are typically used for boiler-plate code, and will confuse the parser if not ++ # removed. ++ # The default value is: YES. ++ # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. ++@@ -2030,7 +2372,7 @@ ++ # where loc1 and loc2 can be relative or absolute paths or URLs. See the ++ # section "Linking to external documentation" for more information about the use ++ # of tag files. ++-# Note: Each tag file must have an unique name (where the name does NOT include +++# Note: Each tag file must have a unique name (where the name does NOT include ++ # the path). If a tag file is not located in the directory in which doxygen is ++ # run, you must also specify the path to the tagfile here. ++ ++@@ -2042,54 +2384,31 @@ ++ ++ GENERATE_TAGFILE = ++ ++-# If the ALLEXTERNALS tag is set to YES all external class will be listed in the ++-# class index. If set to NO only the inherited external classes will be listed. +++# If the ALLEXTERNALS tag is set to YES, all external class will be listed in +++# the class index. If set to NO, only the inherited external classes will be +++# listed. ++ # The default value is: NO. ++ ++ ALLEXTERNALS = NO ++ ++-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in ++-# the modules index. If set to NO, only the current project's groups will be +++# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed +++# in the modules index. If set to NO, only the current project's groups will be ++ # listed. ++ # The default value is: YES. ++ ++ EXTERNAL_GROUPS = YES ++ ++-# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in +++# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in ++ # the related pages index. If set to NO, only the current project's pages will ++ # be listed. ++ # The default value is: YES. ++ ++ EXTERNAL_PAGES = YES ++ ++-# The PERL_PATH should be the absolute path and name of the perl script ++-# interpreter (i.e. the result of 'which perl'). ++-# The default file (with absolute path) is: /usr/bin/perl. ++- ++-PERL_PATH = /usr/bin/perl ++- ++ #--------------------------------------------------------------------------- ++ # Configuration options related to the dot tool ++ #--------------------------------------------------------------------------- ++ ++-# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram ++-# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to ++-# NO turns the diagrams off. Note that this option also works with HAVE_DOT ++-# disabled, but it is recommended to install and use dot, since it yields more ++-# powerful graphs. ++-# The default value is: YES. ++- ++-CLASS_DIAGRAMS = NO ++- ++-# You can define message sequence charts within doxygen comments using the \msc ++-# command. Doxygen will then run the mscgen tool (see: ++-# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the ++-# documentation. The MSCGEN_PATH tag allows you to specify the directory where ++-# the mscgen tool resides. If left empty the tool is assumed to be found in the ++-# default search path. ++- ++-MSCGEN_PATH = ++- ++ # You can include diagrams made with dia in doxygen documentation. Doxygen will ++ # then run dia to produce the diagram and insert it in the documentation. The ++ # DIA_PATH tag allows you to specify the directory where the dia binary resides. ++@@ -2097,7 +2416,7 @@ ++ ++ DIA_PATH = ++ ++-# If set to YES, the inheritance and collaboration graphs will hide inheritance +++# If set to YES the inheritance and collaboration graphs will hide inheritance ++ # and usage relations if the target is undocumented or is not a class. ++ # The default value is: YES. ++ ++@@ -2108,7 +2427,7 @@ ++ # http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent ++ # Bell Labs. The other options in this section have no effect if this option is ++ # set to NO ++-# The default value is: NO. +++# The default value is: YES. ++ ++ HAVE_DOT = NO ++ ++@@ -2122,7 +2441,7 @@ ++ ++ DOT_NUM_THREADS = 0 ++ ++-# When you want a differently looking font n the dot files that doxygen +++# When you want a differently looking font in the dot files that doxygen ++ # generates you can specify the font name using DOT_FONTNAME. You need to make ++ # sure dot is able to find the font, which can be done by putting it in a ++ # standard location or by setting the DOTFONTPATH environment variable or by ++@@ -2146,13 +2465,16 @@ ++ ++ DOT_FONTPATH = ++ ++-# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for ++-# each documented class showing the direct and indirect inheritance relations. ++-# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO. +++# If the CLASS_GRAPH tag is set to YES (or GRAPH) then doxygen will generate a +++# graph for each documented class showing the direct and indirect inheritance +++# relations. In case HAVE_DOT is set as well dot will be used to draw the graph, +++# otherwise the built-in generator will be used. If the CLASS_GRAPH tag is set +++# to TEXT the direct and indirect inheritance relations will be shown as texts / +++# links. +++# Possible values are: NO, YES, TEXT and GRAPH. ++ # The default value is: YES. ++-# This tag requires that the tag HAVE_DOT is set to YES. ++ ++-CLASS_GRAPH = YES +++CLASS_GRAPH = TEXT ++ ++ # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a ++ # graph for each documented class showing the direct and indirect implementation ++@@ -2164,13 +2486,14 @@ ++ COLLABORATION_GRAPH = YES ++ ++ # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for ++-# groups, showing the direct groups dependencies. +++# groups, showing the direct groups dependencies. See also the chapter Grouping +++# in the manual. ++ # The default value is: YES. ++ # This tag requires that the tag HAVE_DOT is set to YES. ++ ++ GROUP_GRAPHS = YES ++ ++-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +++# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and ++ # collaboration diagrams in a style similar to the OMG's Unified Modeling ++ # Language. ++ # The default value is: NO. ++@@ -2187,10 +2510,32 @@ ++ # but if the number exceeds 15, the total amount of fields shown is limited to ++ # 10. ++ # Minimum value: 0, maximum value: 100, default value: 10. ++-# This tag requires that the tag HAVE_DOT is set to YES. +++# This tag requires that the tag UML_LOOK is set to YES. ++ ++ UML_LIMIT_NUM_FIELDS = 10 ++ +++# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and +++# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS +++# tag is set to YES, doxygen will add type and arguments for attributes and +++# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen +++# will not generate fields with class member information in the UML graphs. The +++# class diagrams will look similar to the default class diagrams but using UML +++# notation for the relationships. +++# Possible values are: NO, YES and NONE. +++# The default value is: NO. +++# This tag requires that the tag UML_LOOK is set to YES. +++ +++DOT_UML_DETAILS = NO +++ +++# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters +++# to display on a single line. If the actual line length exceeds this threshold +++# significantly it will wrapped across multiple lines. Some heuristics are apply +++# to avoid ugly line breaks. +++# Minimum value: 0, maximum value: 1000, default value: 17. +++# This tag requires that the tag HAVE_DOT is set to YES. +++ +++DOT_WRAP_THRESHOLD = 17 +++ ++ # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and ++ # collaboration graphs will show the relations between templates and their ++ # instances. ++@@ -2222,7 +2567,8 @@ ++ # ++ # Note that enabling this option will significantly increase the time of a run. ++ # So in most cases it will be better to enable call graphs for selected ++-# functions only using the \callgraph command. +++# functions only using the \callgraph command. Disabling a call graph can be +++# accomplished by means of the command \hidecallgraph. ++ # The default value is: NO. ++ # This tag requires that the tag HAVE_DOT is set to YES. ++ ++@@ -2233,7 +2579,8 @@ ++ # ++ # Note that enabling this option will significantly increase the time of a run. ++ # So in most cases it will be better to enable caller graphs for selected ++-# functions only using the \callergraph command. +++# functions only using the \callergraph command. Disabling a caller graph can be +++# accomplished by means of the command \hidecallergraph. ++ # The default value is: NO. ++ # This tag requires that the tag HAVE_DOT is set to YES. ++ ++@@ -2255,12 +2602,24 @@ ++ ++ DIRECTORY_GRAPH = YES ++ +++# The DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of levels +++# of child directories generated in directory dependency graphs by dot. +++# Minimum value: 1, maximum value: 25, default value: 1. +++# This tag requires that the tag DIRECTORY_GRAPH is set to YES. +++ +++DIR_GRAPH_MAX_DEPTH = 1 +++ ++ # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images ++-# generated by dot. +++# generated by dot. For an explanation of the image formats see the section +++# output formats in the documentation of the dot tool (Graphviz (see: +++# http://www.graphviz.org/)). ++ # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order ++ # to make the SVG files visible in IE 9+ (other browsers do not have this ++ # requirement). ++-# Possible values are: png, jpg, gif and svg. +++# Possible values are: png, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, +++# gif, gif:cairo, gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, +++# png:cairo, png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and +++# png:gdiplus:gdiplus. ++ # The default value is: png. ++ # This tag requires that the tag HAVE_DOT is set to YES. ++ ++@@ -2303,6 +2662,24 @@ ++ ++ DIAFILE_DIRS = ++ +++# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the +++# path where java can find the plantuml.jar file or to the filename of jar file +++# to be used. If left blank, it is assumed PlantUML is not used or called during +++# a preprocessing step. Doxygen will generate a warning when it encounters a +++# \startuml command in this case and will not generate output for the diagram. +++ +++PLANTUML_JAR_PATH = +++ +++# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a +++# configuration file for plantuml. +++ +++PLANTUML_CFG_FILE = +++ +++# When using plantuml, the specified paths are searched for files specified by +++# the !include statement in a plantuml block. +++ +++PLANTUML_INCLUDE_PATH = +++ ++ # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes ++ # that will be shown in the graph. If the number of nodes in a graph becomes ++ # larger than this value, doxygen will truncate the graph, which is visualized ++@@ -2339,7 +2716,7 @@ ++ ++ DOT_TRANSPARENT = NO ++ ++-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +++# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output ++ # files in one run (i.e. multiple -o and -T options on the command line). This ++ # makes dot run faster, but since only newer versions of dot (>1.8.10) support ++ # this, this feature is disabled by default. ++@@ -2351,14 +2728,18 @@ ++ # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page ++ # explaining the meaning of the various boxes and arrows in the dot generated ++ # graphs. +++# Note: This tag requires that UML_LOOK isn't set, i.e. the doxygen internal +++# graphical representation for inheritance and collaboration diagrams is used. ++ # The default value is: YES. ++ # This tag requires that the tag HAVE_DOT is set to YES. ++ ++ GENERATE_LEGEND = YES ++ ++-# If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot +++# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate ++ # files that are used to generate the various graphs. +++# +++# Note: This setting is not only used for dot files but also for msc temporary +++# files. ++ # The default value is: YES. ++-# This tag requires that the tag HAVE_DOT is set to YES. ++ ++ DOT_CLEANUP = YES ++--- a/docs/DoxygenLayout.xml +++++ b/docs/DoxygenLayout.xml ++@@ -1,22 +1,36 @@ ++ ++- +++ ++ ++ ++ ++ ++ ++- +++ +++ +++ +++ +++ +++ +++ +++ +++ ++ ++ ++ ++@@ -27,7 +41,7 @@ ++ ++ ++ ++- +++ ++ ++ ++ ++@@ -89,8 +103,14 @@ ++ ++ ++ +++ ++ +++ +++ +++ ++ +++ +++ ++ ++ ++ ++@@ -100,6 +120,8 @@ ++ ++ ++ +++ +++ ++ ++ ++ ++@@ -107,6 +129,15 @@ ++ ++ ++ +++ +++ +++ +++ +++ +++ +++ +++ +++ ++ ++ ++ ++@@ -115,11 +146,17 @@ ++ ++ ++ +++ ++ +++ +++ ++ +++ ++ ++ ++ +++ +++ ++ ++ ++ ++@@ -130,6 +167,8 @@ ++ ++ ++ +++ +++ ++ ++ ++ ++@@ -146,9 +185,12 @@ ++ ++ ++ +++ ++ ++ ++ +++ +++ ++ ++ ++ ++@@ -168,6 +210,8 @@ ++ ++ ++ +++ +++ ++ ++ ++ diff --cc debian/rules index 0000000,0000000..c881415 new file mode 100755 --- /dev/null +++ b/debian/rules @@@ -1,0 -1,0 +1,26 @@@ ++#!/usr/bin/make -f ++DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) ++export DEB_HOST_MULTIARCH ++#DEB_BUILD_MAINT_OPTIONS += hardening=+all ++#export DEB_BUILD_MAINT_OPTIONS ++#export DH_VERBOSE=1 ++ ++%: ++ dh $@ --with python3 ++ ++override_dh_auto_configure: ++ dh_auto_configure -- -DLIB_SUFFIX="/$(DEB_HOST_MULTIARCH)" ++# -DENABLE_DOXYGEN_PDF=ON ++ ++override_dh_auto_build-indep: ++ cmake --build obj-* --target all ++ cmake --build obj-* --target volk_doc ++# cmake --build obj-* --target volk_pdf_doc ++ ++override_dh_auto_install: ++ dh_auto_install ++ find debian -type d -empty -delete ++ ++override_dh_auto_clean: ++ dh_auto_clean ++ rm -rf gen/__pycache__ diff --cc debian/source/format index 0000000,0000000..163aaf8 new file mode 100644 --- /dev/null +++ b/debian/source/format @@@ -1,0 -1,0 +1,1 @@@ ++3.0 (quilt) diff --cc debian/upstream/metadata index 0000000,0000000..30bf7d4 new file mode 100644 --- /dev/null +++ b/debian/upstream/metadata @@@ -1,0 -1,0 +1,4 @@@ ++--- ++Bug-Database: https://github.com/gnuradio/volk/issues ++Bug-Submit: https://github.com/gnuradio/volk/issues/new ++Repository-Browse: https://github.com/gnuradio/volk diff --cc debian/volk-config-info.1 index 0000000,0000000..e8d6efd new file mode 100644 --- /dev/null +++ b/debian/volk-config-info.1 @@@ -1,0 -1,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 --cc debian/volk_modtool.1 index 0000000,0000000..752e7f5 new file mode 100644 --- /dev/null +++ b/debian/volk_modtool.1 @@@ -1,0 -1,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_ ++ destination: // directory new source tree is built under -- must exists. ++ // It will create /volk_ ++ 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_. 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 ++/volk_/kernels/volk_/ ++.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 --cc debian/volk_profile.1 index 0000000,0000000..405facb new file mode 100644 --- /dev/null +++ b/debian/volk_profile.1 @@@ -1,0 -1,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 --cc debian/watch index 0000000,0000000..0a64f71 new file mode 100644 --- /dev/null +++ b/debian/watch @@@ -1,0 -1,0 +1,4 @@@ ++version=4 ++ opts="filenamemangle=s%(?:.*?)?v?(\d[\d.]*@ARCHIVE_EXT@)%@PACKAGE@-$1%,uversionmangle=s/-rc/~rc/" \ ++ https://github.com/gnuradio/volk/tags \ ++ (?:.*?/)?v?@ANY_VERSION@@ARCHIVE_EXT@