From 96d513558edde5a1d32721cb697d578b0c20482d Mon Sep 17 00:00:00 2001 From: Mathieu Malaterre Date: Wed, 1 Feb 2023 17:57:25 +0000 Subject: [PATCH 1/1] Import highway_1.0.3-2.debian.tar.xz [dgit import tarball highway 1.0.3-2 highway_1.0.3-2.debian.tar.xz] --- changelog | 256 ++++++++++++++++++ compat | 1 + control | 51 ++++ copyright | 26 ++ highway-doc.doc-base | 9 + highway-doc.docs | 1 + libhwy-dev.install | 4 + libhwy1.install | 1 + libhwy1.symbols | 100 +++++++ ...5ed21d28e2873dc8c80db2c8d03d047bed1c.patch | 22 ++ ...83105e69f0d8daa7b5e8ea1bcf8fb8ecaea3.patch | 131 +++++++++ ...ef67e8f1864aa55aafc3cf125bf38db20d12.patch | 37 +++ patches/series | 3 + rules | 73 +++++ source/format | 1 + source/include-binaries | 2 + watch | 3 + 17 files changed, 721 insertions(+) create mode 100644 changelog create mode 100644 compat create mode 100644 control create mode 100644 copyright create mode 100644 highway-doc.doc-base create mode 100644 highway-doc.docs create mode 100644 libhwy-dev.install create mode 100644 libhwy1.install create mode 100644 libhwy1.symbols create mode 100644 patches/06ea5ed21d28e2873dc8c80db2c8d03d047bed1c.patch create mode 100644 patches/2ea983105e69f0d8daa7b5e8ea1bcf8fb8ecaea3.patch create mode 100644 patches/bf4eef67e8f1864aa55aafc3cf125bf38db20d12.patch create mode 100644 patches/series create mode 100755 rules create mode 100644 source/format create mode 100644 source/include-binaries create mode 100644 watch diff --git a/changelog b/changelog new file mode 100644 index 0000000..8fffad4 --- /dev/null +++ b/changelog @@ -0,0 +1,256 @@ +highway (1.0.3-2) unstable; urgency=medium + + * d/control: Bump Std-Vers to 4.6.2 no changes needed + * d/patches: Make sure to put hwy target in hwy:: namespace + + -- Mathieu Malaterre Wed, 01 Feb 2023 18:57:25 +0100 + +highway (1.0.3-1) unstable; urgency=medium + + * New upstream version 1.0.3 + * d/patches: Remove patches applied upstream + * d/patches: Generate and install a HWYConfig.cmake file + * d/patches: Fixed HWY_SCALAR BitCast to copy only sizeof(T) bytes + * d/install: Install *.cmake files + + -- Mathieu Malaterre Sun, 29 Jan 2023 15:52:03 +0100 + +highway (1.0.2-4) unstable; urgency=medium + + * d/patches: Add missing atomic library to test + + -- Mathieu Malaterre Thu, 03 Nov 2022 11:29:42 +0100 + +highway (1.0.2-3) unstable; urgency=medium + + * d/patches: Fix cmake issue with usage of PRIVATE keyword + + -- Mathieu Malaterre Thu, 03 Nov 2022 10:34:54 +0100 + +highway (1.0.2-2) unstable; urgency=medium + + * d/patches: Fix build with atomic lib + + -- Mathieu Malaterre Thu, 03 Nov 2022 09:38:31 +0100 + +highway (1.0.2-1) unstable; urgency=medium + + * New upstream version 1.0.2 + * d/patches: Remove patches applied upstream + * d/symbols: Add new symbols + + -- Mathieu Malaterre Wed, 02 Nov 2022 15:55:21 +0100 + +highway (1.0.1-3) unstable; urgency=medium + + * d/patches: Remove some warnings on clang/riscv-64 + * d/patches: Hack around current rdcycle mess + * d/patches: Remove warnings on arm/gcc-12 + * d/patches: Rename patch to refer upstream + * d/rules: Make sure to compile without warnings + + -- Mathieu Malaterre Fri, 02 Sep 2022 12:16:04 +0200 + +highway (1.0.1-2) unstable; urgency=medium + + * d/patches: cherry-pick patch upstream to fix compilation on riscv64 + * d/rules: Remove hack on riscv64 not needed anymore + * d/patches: Properly detect HWY_BROKEN_EMU128 / GCC 12.x + * d/rules: Comment out HWY_BROKEN_EMU128 hack now detection is working + + -- Mathieu Malaterre Wed, 31 Aug 2022 09:00:14 +0200 + +highway (1.0.1-1) unstable; urgency=medium + + * New upstream version 1.0.1 + * d/patches: Refresh patches for new upstream release + + -- Mathieu Malaterre Thu, 25 Aug 2022 09:37:14 +0200 + +highway (1.0.0-5) unstable; urgency=medium + + * d/patches: Do not always inline + * d/patches: fix floating-point generator for sort tests. + + -- Mathieu Malaterre Thu, 04 Aug 2022 08:39:49 +0200 + +highway (1.0.0-4) unstable; urgency=medium + + * d/rules: Make sure to skip RVV logic on riscv64 + * d/rules: Start building with neon extension on armhf + * d/patches: fix spurious use after free warning + * d/patches: fix preprocessor int overflow warning + * d/patches: link with atomic for GCC + + -- Mathieu Malaterre Tue, 02 Aug 2022 14:02:56 +0200 + +highway (1.0.0-3) unstable; urgency=medium + + * d/patches: Add atomic patch to fix compilation + * d/patches: Add riscv64 compilation fix for GCC + + -- Mathieu Malaterre Tue, 02 Aug 2022 10:38:12 +0200 + +highway (1.0.0-2) unstable; urgency=medium + + * d/symbols: Fix symbols file on 32bits arch + + -- Mathieu Malaterre Tue, 02 Aug 2022 07:44:42 +0200 + +highway (1.0.0-1) unstable; urgency=medium + + * d/watch: Fix typo in watch file + * d/copyright: Simplify copyright file + * New upstream version 1.0.0 + * d/rules: Build SCALAR instead of EMU128 + * d/patches: Remove patches applied upstream + * d/symbols: Update symbols file for new ABI + + -- Mathieu Malaterre Mon, 01 Aug 2022 10:50:07 +0200 + +highway (0.17.0-11) unstable; urgency=medium + + * d/patches: Fix blockwise_test on big-endian arches + + -- Mathieu Malaterre Wed, 20 Jul 2022 17:21:46 +0200 + +highway (0.17.0-10) unstable; urgency=medium + + * d/rules: Prefer DEB_BUILD_ARCH_CPU over DEB_BUILD_ARCH + * d/rules: Do not report warnings as errors anymore. Closes: #1012944 + * d/rules: Simplify handling of hurd+qemu + * d/patches: Revert baseline EMU128 back to SCALAR. Closes: #1015256 + + -- Mathieu Malaterre Mon, 18 Jul 2022 15:42:24 +0200 + +highway (0.17.0-9) unstable; urgency=medium + + * d/rules: Really fix armhf build + + -- Mathieu Malaterre Tue, 05 Jul 2022 14:18:09 +0200 + +highway (0.17.0-8) unstable; urgency=medium + + * d/rules: Make sure to cleanup generated files + * d/rules: Do not run test on -indep target + * d/rules: Make sure to return true on hurd-i386 + * d/rules: Work around an issue with gcc-11/O2 combination + * d/patches: Remove arm WIP for now + + -- Mathieu Malaterre Tue, 05 Jul 2022 11:18:15 +0200 + +highway (0.17.0-7) experimental; urgency=medium + + * d/rules: Make sure to skip most rules for indep + * d/rules: Shrink the main PDF file using gs + * d/patches: Fix dynamic dispatch on linux/armhf. Closes: #1014330 + + -- Mathieu Malaterre Mon, 04 Jul 2022 15:31:59 +0200 + +highway (0.17.0-6) experimental; urgency=low + + * d/rules: Make sure to install binaries + * d/rules: Attempt to get neon on armhf working + + -- Mathieu Malaterre Mon, 04 Jul 2022 12:13:12 +0200 + +highway (0.17.0-5) experimental; urgency=low + + * d/rules: Remove no-psabi warning on both armel and armhf + * d/rules: Re-add extension on i386 + * d/rules: Run the compiled example + + -- Mathieu Malaterre Mon, 04 Jul 2022 11:04:54 +0200 + +highway (0.17.0-4) unstable; urgency=medium + + * d/patches: Fix armhf compilation failure + + -- Mathieu Malaterre Tue, 28 Jun 2022 11:54:52 +0200 + +highway (0.17.0-3) unstable; urgency=medium + + * d/rules: Disable Emu128 on armhf for now, revert to Scalar + * d/patches: Fix unit test on big-endian arches + + -- Mathieu Malaterre Mon, 27 Jun 2022 16:46:06 +0200 + +highway (0.17.0-2) unstable; urgency=medium + + * d/patches: cherry-pick a fix for arm64/armhf + + -- Mathieu Malaterre Wed, 22 Jun 2022 08:47:55 +0200 + +highway (0.17.0-1) unstable; urgency=medium + + * New upstream version 0.17.0 + * d/patches: Fix symbols mangling issue + * d/symbols: Update symbols for new release + * d/control: Bump Std-Vers to 4.6.1 no changes needed + * d/rules: Remove some CPU extension on i386 + + -- Mathieu Malaterre Tue, 21 Jun 2022 17:13:46 +0200 + +highway (0.16.0-1) unstable; urgency=medium + + * d/rules: Make sure to check level 4 symbol file + * d/symbols: Add symbol for 32bits arch + * d/binaries: Specify path to PDF files + * d/copyright: Update to latest year + * d/compat: Bump compat to 11 + * d/control: Make sure to depends on runtime + * New upstream version 0.16.0 + * d/symbols: Add new symbols from 0.16.0 + + -- Mathieu Malaterre Mon, 21 Feb 2022 10:20:45 +0100 + +highway (0.15.1~git20220119.fbe5705-1) experimental; urgency=medium + + * New upstream version 0.15.1~git20220119.fbe5705 + * d/patches: Remove patches applied upstream + * d/libhwy0: Provide highway as shared libraries + * d/doc-base: Add missing doc-base registration file + + -- Mathieu Malaterre Thu, 20 Jan 2022 09:03:02 +0100 + +highway (0.15.0-5) unstable; urgency=medium + + * d/rules: Clarify that we only ship static libs for now + * d/control: Add missing Rules-Requires-Root: no + * d/patches: Remove compilation error on GNU/Hurd + * d/rules: Set HWY_CMAKE_ARM7 to OFF. Closes: #1003218 + * d/patches: Fix compilation error on riscv64 + + -- Mathieu Malaterre Tue, 11 Jan 2022 14:52:28 +0100 + +highway (0.15.0-4) unstable; urgency=medium + + * d/docs: Create new highway-doc package + * d/rules: Do not set HWY_CMAKE_ARM7:ON for arm64 + * d/rules: Prefer building using cmake+ninja + * d/rules: Properly setup HWY_CMAKE_ARM7 on armhf. Closes: #1003218 + + -- Mathieu Malaterre Thu, 06 Jan 2022 15:21:05 +0100 + +highway (0.15.0-3) unstable; urgency=medium + + * d/rules: Fix typo in cmake armhf/neon option + * d/rules: Make sure to use neon extension on arm64 + * d/control: libhwy-dev could be marked Multi-Arch: same + + -- Mathieu Malaterre Thu, 06 Jan 2022 13:59:37 +0100 + +highway (0.15.0-2) unstable; urgency=medium + + * Upload to unstable + * d/rules: Make sure to compile without warnings + * d/rules: Start using arm7 neon extension + * d/patches: Prefer default gcc c++ version + + -- Mathieu Malaterre Tue, 04 Jan 2022 15:45:40 +0100 + +highway (0.15.0-1) experimental; urgency=medium + + * Initial release (Closes: #1000984) + + -- Mathieu Malaterre Thu, 02 Dec 2021 21:42:02 +0100 diff --git a/compat b/compat new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +11 diff --git a/control b/control new file mode 100644 index 0000000..edc0a79 --- /dev/null +++ b/control @@ -0,0 +1,51 @@ +Source: highway +Section: libs +Priority: optional +Maintainer: Debian PhotoTools Maintainers +Uploaders: Mathieu Malaterre +Build-Depends: cmake (>= 3.13), debhelper (>= 11), libgtest-dev, ninja-build +Build-Depends-Indep: ghostscript +Standards-Version: 4.6.2 +Homepage: https://github.com/google/highway +Vcs-Git: https://salsa.debian.org/debian-phototools-team/highway.git +Vcs-Browser: https://salsa.debian.org/debian-phototools-team/highway +Rules-Requires-Root: no + +Package: libhwy1 +Architecture: any +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, ${shlibs:Depends} +Multi-Arch: same +Description: Efficient and performance-portable SIMD wrapper (runtime files) + This library provides type-safe and source-code portable wrappers over + existing platform-specific intrinsics. Its design aims for simplicity, + reliable efficiency across platforms, and immediate usability with current + compilers. + . + This package installs the runtime files. + +Package: libhwy-dev +Architecture: any +Section: libdevel +Pre-Depends: ${misc:Pre-Depends} +Depends: libhwy1 (= ${binary:Version}), ${misc:Depends} +Multi-Arch: same +Description: Efficient and performance-portable SIMD wrapper (developer files) + This library provides type-safe and source-code portable wrappers over + existing platform-specific intrinsics. Its design aims for simplicity, + reliable efficiency across platforms, and immediate usability with current + compilers. + . + This package installs the development files. + +Package: highway-doc +Architecture: all +Section: doc +Depends: doc-base, ${misc:Depends} +Description: Efficient and performance-portable SIMD wrapper (documentation files) + This library provides type-safe and source-code portable wrappers over + existing platform-specific intrinsics. Its design aims for simplicity, + reliable efficiency across platforms, and immediate usability with current + compilers. + . + This package installs the documentation files. diff --git a/copyright b/copyright new file mode 100644 index 0000000..22c2432 --- /dev/null +++ b/copyright @@ -0,0 +1,26 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: highway +Source: https://github.com/google/highway + +Files: * +Copyright: 2019-2022 Google LLC +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the complete text of the Apache License, Version 2 + can be found in "/usr/share/common-licenses/Apache-2.0". + +Files: debian/* +Copyright: 2021-2022 Mathieu Malaterre +License: Apache-2.0 + Same as above diff --git a/highway-doc.doc-base b/highway-doc.doc-base new file mode 100644 index 0000000..6f524a8 --- /dev/null +++ b/highway-doc.doc-base @@ -0,0 +1,9 @@ +Document: highway-doc +Title: Highway Developer's Guide +Author: Google +Abstract: PDF documentation of Highway +Section: Programming/C++ + +Format: PDF +Files: /usr/share/doc/highway-doc/highway_intro.pdf + /usr/share/doc/highway-doc/instruction_matrix.pdf diff --git a/highway-doc.docs b/highway-doc.docs new file mode 100644 index 0000000..3603675 --- /dev/null +++ b/highway-doc.docs @@ -0,0 +1 @@ +debian_docs/* diff --git a/libhwy-dev.install b/libhwy-dev.install new file mode 100644 index 0000000..45a91f1 --- /dev/null +++ b/libhwy-dev.install @@ -0,0 +1,4 @@ +usr/include/hwy/ +usr/lib/*/*.so +usr/lib/*/pkgconfig/*.pc +usr/lib/*/cmake/ diff --git a/libhwy1.install b/libhwy1.install new file mode 100644 index 0000000..3de3b10 --- /dev/null +++ b/libhwy1.install @@ -0,0 +1 @@ +usr/lib/*/*.so.* diff --git a/libhwy1.symbols b/libhwy1.symbols new file mode 100644 index 0000000..c3ba773 --- /dev/null +++ b/libhwy1.symbols @@ -0,0 +1,100 @@ +libhwy.so.1 libhwy1 #MINVER# + HWY_0@HWY_0 1.0.0 + (arch-bits=32)_ZN3hwy14AlignedDeleter18DeleteAlignedArrayEPvPFvS1_S1_ES1_PFvS1_jE@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy14AlignedDeleter18DeleteAlignedArrayEPvPFvS1_S1_ES1_PFvS1_mE@HWY_0 0.16.0 + (arch-bits=32)_ZN3hwy14DisableTargetsEx@HWY_0 1.0.0 + (arch-bits=64)_ZN3hwy14DisableTargetsEl@HWY_0 1.0.0 + _ZN3hwy14Unpredictable1Ev@HWY_0 0.16.0 + _ZN3hwy15GetChosenTargetEv@HWY_0 0.16.0 + _ZN3hwy16FreeAlignedBytesEPKvPFvPvS2_ES2_@HWY_0 0.16.0 + _ZN3hwy16SupportedTargetsEv@HWY_0 0.16.0 + (arch-bits=32)_ZN3hwy20AllocateAlignedBytesEjPFPvS0_jES0_@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy20AllocateAlignedBytesEmPFPvS0_mES0_@HWY_0 0.16.0 + (arch-bits=32)_ZN3hwy26SetSupportedTargetsForTestEx@HWY_0 1.0.0 + (arch-bits=64)_ZN3hwy26SetSupportedTargetsForTestEl@HWY_0 1.0.0 + _ZN3hwy5AbortEPKciS1_z@HWY_0 0.16.0 + (arch-bits=32)_ZN3hwy6detail10PrintArrayERKNS0_8TypeInfoEPKcPKvjjj@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy6detail10PrintArrayERKNS0_8TypeInfoEPKcPKvmmm@HWY_0 0.16.0 + _ZN3hwy6detail8ToStringERKNS0_8TypeInfoEPKvPc@HWY_0 0.17.0 + (arch-bits=32)_ZN3hwy6detail8TypeNameERKNS0_8TypeInfoEjPc@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy6detail8TypeNameERKNS0_8TypeInfoEmPc@HWY_0 0.16.0 + (arch-bits=32)_ZN3hwy7MeasureEPFyPKvjEPKhPKjjPNS_6ResultERKNS_6ParamsE@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy7MeasureEPFmPKvmEPKhPKmmPNS_6ResultERKNS_6ParamsE@HWY_0 0.16.0 + _ZN3hwy8platform15TimerResolutionEv@HWY_0 0.16.0 + _ZN3hwy8platform23InvariantTicksPerSecondEv@HWY_0 0.16.0 + _ZN3hwy8platform3NowEv@HWY_0 0.16.0 +libhwy_contrib.so.1 libhwy1 #MINVER# + HWY_0@HWY_0 1.0.0 + (arch-bits=32)_ZN3hwy6Sorter11Fill24BytesEPKvjPv@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy6Sorter11Fill24BytesEPKvmPv@HWY_0 0.16.0 + _ZN3hwy6Sorter11HaveFloat64Ev@HWY_0 0.16.0 + _ZN3hwy6Sorter6DeleteEv@HWY_0 0.16.0 + _ZN3hwy6SorterC1Ev@HWY_0 0.16.0 + _ZN3hwy6SorterC2Ev@HWY_0 0.16.0 + _ZN3hwy9ImageBase10VectorSizeEv@HWY_0 0.16.0 + (arch-bits=32)_ZN3hwy9ImageBase11BytesPerRowEjj@HWY_0 0.16.0 + (arch-bits=32)_ZN3hwy9ImageBase17InitializePaddingEjNS0_7PaddingE@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy9ImageBase11BytesPerRowEmm@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy9ImageBase17InitializePaddingEmNS0_7PaddingE@HWY_0 0.16.0 + _ZN3hwy9ImageBase4SwapERS0_@HWY_0 0.16.0 + (arch-bits=32)_ZN3hwy9ImageBaseC1Ejjj@HWY_0 0.16.0 + (arch-bits=32)_ZN3hwy9ImageBaseC1EjjjPv@HWY_0 0.16.0 + (arch-bits=32)_ZN3hwy9ImageBaseC2Ejjj@HWY_0 0.16.0 + (arch-bits=32)_ZN3hwy9ImageBaseC2EjjjPv@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPNS_6K32V32EjNS_13SortAscendingE@HWY_0 1.0.2 + (arch-bits=32)_ZNK3hwy6SorterclEPNS_6K32V32EjNS_14SortDescendingE@HWY_0 1.0.2 + (arch-bits=64)_ZNK3hwy6SorterclEPNS_6K32V32EmNS_13SortAscendingE@HWY_0 1.0.2 + (arch-bits=64)_ZNK3hwy6SorterclEPNS_6K32V32EmNS_14SortDescendingE@HWY_0 1.0.2 + (arch-bits=32)_ZNK3hwy6SorterclEPNS_6K64V64EjNS_13SortAscendingE@HWY_0 1.0.0 + (arch-bits=32)_ZNK3hwy6SorterclEPNS_6K64V64EjNS_14SortDescendingE@HWY_0 1.0.0 + (arch-bits=32)_ZNK3hwy6SorterclEPNS_9uint128_tEjNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPNS_9uint128_tEjNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPdjNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPdjNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPfjNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPfjNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPijNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPijNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPjjNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPjjNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPsjNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPsjNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPtjNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPtjNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPxjNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPxjNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPyjNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=32)_ZNK3hwy6SorterclEPyjNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy9ImageBaseC1Emmm@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy9ImageBaseC1EmmmPv@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy9ImageBaseC2Emmm@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy9ImageBaseC2EmmmPv@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPNS_6K64V64EmNS_13SortAscendingE@HWY_0 1.0.0 + (arch-bits=64)_ZNK3hwy6SorterclEPNS_6K64V64EmNS_14SortDescendingE@HWY_0 1.0.0 + (arch-bits=64)_ZNK3hwy6SorterclEPNS_9uint128_tEmNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPNS_9uint128_tEmNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPdmNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPdmNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPfmNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPfmNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPimNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPimNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPjmNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPjmNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPlmNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPlmNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPmmNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPmmNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPsmNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPsmNS_14SortDescendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPtmNS_13SortAscendingE@HWY_0 0.16.0 + (arch-bits=64)_ZNK3hwy6SorterclEPtmNS_14SortDescendingE@HWY_0 0.16.0 +libhwy_test.so.1 libhwy1 #MINVER# + HWY_0@HWY_0 1.0.0 + (arch-bits=32)_ZN3hwy10BytesEqualEPKvS1_jPj@HWY_0 0.16.0 + (arch-bits=32)_ZN3hwy6detail16AssertArrayEqualERKNS0_8TypeInfoEPKvS5_jPKcS7_i@HWY_0 0.16.0 + (arch-bits=32)_ZN3hwy6detail21PrintMismatchAndAbortERKNS0_8TypeInfoEPKvS5_PKcS7_ijj@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy10BytesEqualEPKvS1_mPm@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy6detail16AssertArrayEqualERKNS0_8TypeInfoEPKvS5_mPKcS7_i@HWY_0 0.16.0 + (arch-bits=64)_ZN3hwy6detail21PrintMismatchAndAbortERKNS0_8TypeInfoEPKvS5_PKcS7_imm@HWY_0 0.16.0 + _ZN3hwy6detail7IsEqualERKNS0_8TypeInfoEPKvS5_@HWY_0 0.16.0 diff --git a/patches/06ea5ed21d28e2873dc8c80db2c8d03d047bed1c.patch b/patches/06ea5ed21d28e2873dc8c80db2c8d03d047bed1c.patch new file mode 100644 index 0000000..231a3e2 --- /dev/null +++ b/patches/06ea5ed21d28e2873dc8c80db2c8d03d047bed1c.patch @@ -0,0 +1,22 @@ +From 06ea5ed21d28e2873dc8c80db2c8d03d047bed1c Mon Sep 17 00:00:00 2001 +From: John Platts +Date: Fri, 27 Jan 2023 11:26:16 -0600 +Subject: [PATCH] Fixed HWY_SCALAR BitCast to copy only sizeof(T) bytes + +--- + hwy/ops/scalar-inl.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hwy/ops/scalar-inl.h b/hwy/ops/scalar-inl.h +index c28f7b51..eeb1b6ae 100644 +--- a/hwy/ops/scalar-inl.h ++++ b/hwy/ops/scalar-inl.h +@@ -93,7 +93,7 @@ template + HWY_API Vec1 BitCast(Sisd /* tag */, Vec1 v) { + static_assert(sizeof(T) <= sizeof(FromT), "Promoting is undefined"); + T to; +- CopyBytes(&v.raw, &to); // not same size - ok to shrink ++ CopyBytes(&v.raw, &to); // not same size - ok to shrink + return Vec1(to); + } + diff --git a/patches/2ea983105e69f0d8daa7b5e8ea1bcf8fb8ecaea3.patch b/patches/2ea983105e69f0d8daa7b5e8ea1bcf8fb8ecaea3.patch new file mode 100644 index 0000000..d191528 --- /dev/null +++ b/patches/2ea983105e69f0d8daa7b5e8ea1bcf8fb8ecaea3.patch @@ -0,0 +1,131 @@ +From 2ea983105e69f0d8daa7b5e8ea1bcf8fb8ecaea3 Mon Sep 17 00:00:00 2001 +From: Mathieu Malaterre +Date: Tue, 17 Jan 2023 11:33:20 +0100 +Subject: [PATCH] Generate and install a HWYConfig.cmake file + +This will be needed by cmake user consuming HWY. + +Also remove FindHWY.cmake since not needed in a cmake-based build tool +setup. + +Fixes #1114 +--- + CMakeLists.txt | 12 ++++++--- + FindHWY.cmake | 66 -------------------------------------------------- + 2 files changed, 9 insertions(+), 69 deletions(-) + delete mode 100644 FindHWY.cmake + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e01990b6..c239ef75 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -366,7 +366,7 @@ endif() + # -------------------------------------------------------- install library + if (HWY_ENABLE_INSTALL) + +-install(TARGETS hwy ++install(TARGETS hwy EXPORT hwy_targets + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +@@ -381,7 +381,7 @@ foreach (source ${HWY_SOURCES}) + endforeach() + + if (HWY_ENABLE_CONTRIB) +-install(TARGETS hwy_contrib ++install(TARGETS hwy_contrib EXPORT hwy_targets + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +@@ -396,7 +396,7 @@ foreach (source ${HWY_CONTRIB_SOURCES}) + endforeach() + endif() # HWY_ENABLE_CONTRIB + +-install(TARGETS hwy_test ++install(TARGETS hwy_test EXPORT hwy_targets + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") +@@ -571,3 +571,9 @@ endforeach () + target_sources(skeleton_test PRIVATE hwy/examples/skeleton.cc) + + endif() # BUILD_TESTING ++ ++# write HWYConfig file: ++include(CMakePackageConfigHelpers) ++write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/HWYConfigVersion.cmake" COMPATIBILITY SameMajorVersion) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/HWYConfigVersion.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/hwy") ++install(EXPORT hwy_targets FILE HWYConfig.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/hwy") +diff --git a/FindHWY.cmake b/FindHWY.cmake +deleted file mode 100644 +index 271fbc8e..00000000 +--- a/FindHWY.cmake ++++ /dev/null +@@ -1,66 +0,0 @@ +-# Copyright (c) the JPEG XL Project Authors. All rights reserved. +-# +-# Use of this source code is governed by a BSD-style license that can be +-# found in https://github.com/libjxl/libjxl/blob/main/LICENSE. +- +-find_package(PkgConfig QUIET) +-if (PkgConfig_FOUND) +- pkg_check_modules(PC_HWY QUIET libhwy) +- set(HWY_VERSION ${PC_HWY_VERSION}) +-endif () +- +-find_path(HWY_INCLUDE_DIR +- NAMES hwy/highway.h +- HINTS ${PC_HWY_INCLUDEDIR} ${PC_HWY_INCLUDE_DIRS} +-) +- +-find_library(HWY_LIBRARY +- NAMES ${HWY_NAMES} hwy +- HINTS ${PC_HWY_LIBDIR} ${PC_HWY_LIBRARY_DIRS} +-) +- +-if (HWY_INCLUDE_DIR AND NOT HWY_VERSION) +- if (EXISTS "${HWY_INCLUDE_DIR}/hwy/highway.h") +- file(READ "${HWY_INCLUDE_DIR}/hwy/highway.h" HWY_VERSION_CONTENT) +- +- string(REGEX MATCH "#define HWY_MAJOR +([0-9]+)" _dummy "${HWY_VERSION_CONTENT}") +- set(HWY_VERSION_MAJOR "${CMAKE_MATCH_1}") +- +- string(REGEX MATCH "#define +HWY_MINOR +([0-9]+)" _dummy "${HWY_VERSION_CONTENT}") +- set(HWY_VERSION_MINOR "${CMAKE_MATCH_1}") +- +- string(REGEX MATCH "#define +HWY_PATCH +([0-9]+)" _dummy "${HWY_VERSION_CONTENT}") +- set(HWY_VERSION_PATCH "${CMAKE_MATCH_1}") +- +- set(HWY_VERSION "${HWY_VERSION_MAJOR}.${HWY_VERSION_MINOR}.${HWY_VERSION_PATCH}") +- endif () +-endif () +- +-include(FindPackageHandleStandardArgs) +-find_package_handle_standard_args(HWY +- FOUND_VAR HWY_FOUND +- REQUIRED_VARS HWY_LIBRARY HWY_INCLUDE_DIR +- VERSION_VAR HWY_VERSION +-) +- +-if (HWY_LIBRARY AND NOT TARGET hwy) +- add_library(hwy INTERFACE IMPORTED GLOBAL) +- +- if(CMAKE_VERSION VERSION_LESS "3.13.5") +- set_property(TARGET hwy PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${HWY_INCLUDE_DIR}) +- target_link_libraries(hwy INTERFACE ${HWY_LIBRARY}) +- set_property(TARGET hwy PROPERTY INTERFACE_COMPILE_OPTIONS ${PC_HWY_CFLAGS_OTHER}) +- else() +- target_include_directories(hwy INTERFACE ${HWY_INCLUDE_DIR}) +- target_link_libraries(hwy INTERFACE ${HWY_LIBRARY}) +- target_link_options(hwy INTERFACE ${PC_HWY_LDFLAGS_OTHER}) +- target_compile_options(hwy INTERFACE ${PC_HWY_CFLAGS_OTHER}) +- endif() +-endif() +- +-mark_as_advanced(HWY_INCLUDE_DIR HWY_LIBRARY) +- +-if (HWY_FOUND) +- set(HWY_LIBRARIES ${HWY_LIBRARY}) +- set(HWY_INCLUDE_DIRS ${HWY_INCLUDE_DIR}) +-endif () +\ No newline at end of file diff --git a/patches/bf4eef67e8f1864aa55aafc3cf125bf38db20d12.patch b/patches/bf4eef67e8f1864aa55aafc3cf125bf38db20d12.patch new file mode 100644 index 0000000..60fd1c2 --- /dev/null +++ b/patches/bf4eef67e8f1864aa55aafc3cf125bf38db20d12.patch @@ -0,0 +1,37 @@ +From bf4eef67e8f1864aa55aafc3cf125bf38db20d12 Mon Sep 17 00:00:00 2001 +From: Mathieu Malaterre +Date: Mon, 30 Jan 2023 08:49:29 +0100 +Subject: [PATCH] Add support for find_package + Config mode + +Also prepend target names with hwy:: namespace for better CMake user +experience. +--- + CMakeLists.txt | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a47f39b6..0cf94783 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -26,6 +26,8 @@ if(POLICY CMP0111) + endif() + + project(hwy VERSION 1.0.3) # Keep in sync with highway.h version ++# `hwy` is lowercase to handle find_package() in Config mode: ++set(namespace "${PROJECT_NAME}::") + + # Directly define the ABI version from the cmake project() version values: + set(LIBRARY_VERSION "${hwy_VERSION}") +@@ -572,8 +574,8 @@ target_sources(skeleton_test PRIVATE hwy/examples/skeleton.cc) + + endif() # BUILD_TESTING + +-# write HWYConfig file: ++# write hwy-config file to handle `Config` mode + include(CMakePackageConfigHelpers) +-write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/HWYConfigVersion.cmake" COMPATIBILITY SameMajorVersion) +-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/HWYConfigVersion.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/hwy") +-install(EXPORT hwy_targets FILE HWYConfig.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/hwy") ++write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/hwy-config-version.cmake" COMPATIBILITY SameMajorVersion) ++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/hwy-config-version.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/hwy") ++install(EXPORT hwy_targets NAMESPACE "${namespace}" FILE hwy-config.cmake DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/hwy") diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..4eb0819 --- /dev/null +++ b/patches/series @@ -0,0 +1,3 @@ +2ea983105e69f0d8daa7b5e8ea1bcf8fb8ecaea3.patch +06ea5ed21d28e2873dc8c80db2c8d03d047bed1c.patch +bf4eef67e8f1864aa55aafc3cf125bf38db20d12.patch diff --git a/rules b/rules new file mode 100755 index 0000000..fe8f440 --- /dev/null +++ b/rules @@ -0,0 +1,73 @@ +#!/usr/bin/make -f +#export DH_VERBOSE=1 + +include /usr/share/dpkg/default.mk + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +export DPKG_GENSYMBOLS_CHECK_LEVEL = 4 + +%: + dh $@ --buildsystem=cmake+ninja + +# Prefer SCALAR over EMU128 for now, see #1015256 +#DEB_CXXFLAGS_MAINT_APPEND += -DHWY_BROKEN_EMU128=1 + +ifneq (,$(filter $(DEB_BUILD_ARCH), armhf armel)) + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728 + DEB_CXXFLAGS_MAINT_APPEND += -Wno-psabi +endif + +ifeq ($(DEB_BUILD_ARCH),$(filter $(DEB_BUILD_ARCH),armhf)) + # highway implement dynamic dipatch: + # https://github.com/google/highway/issues/891 + CMAKE_EXTRA_FLAGS += -DHWY_CMAKE_ARM7:BOOL=ON +endif + +export DEB_CXXFLAGS_MAINT_APPEND + +# test suite rely on CMAKE_SKIP_RPATH=OFF +CMAKE_EXTRA_FLAGS += \ + -DCMAKE_SKIP_RPATH:BOOL=OFF \ + -DBUILD_SHARED_LIBS:BOOL=ON \ + -DHWY_WARNINGS_ARE_ERRORS:BOOL=ON \ + -DHWY_SYSTEM_GTEST:BOOL=ON + +override_dh_auto_configure-arch: + dh_auto_configure -- $(CMAKE_EXTRA_FLAGS) + +# run default example to check compilation ok: +override_dh_install-arch: +ifeq (,$(filter $(DEB_BUILD_ARCH),hurd-i386)) + obj-*/examples/hwy_benchmark +else + echo "CPU 'QEMU Virtual CPU version 2.5+' does not support RDTSCP, skipping benchmark." +endif + dh_install + +override_dh_clean-indep: + dh_clean debian_docs/ + +override_dh_auto_configure-indep: +override_dh_auto_build-indep: + # most docs are ok as-is + cp -a g3doc debian_docs + # let's shrink a bit this one: + gs -q -dNOPAUSE -dBATCH -dSAFER \ + -sDEVICE=pdfwrite \ + -dCompatibilityLevel=1.4 \ + -dPDFSETTINGS=/screen \ + -dEmbedAllFonts=true \ + -dSubsetFonts=true \ + -dColorImageDownsampleType=/Bicubic \ + -dColorImageResolution=72 \ + -dGrayImageDownsampleType=/Bicubic \ + -dGrayImageResolution=72 \ + -dMonoImageDownsampleType=/Bicubic \ + -dMonoImageResolution=72 \ + -sOutputFile=debian_docs/highway_intro.pdf ./g3doc/highway_intro.pdf + +override_dh_auto_test-indep: +override_dh_auto_install-indep: +override_dh_compress-indep: + # do not compress .pdf/.md files for documentation + dh_compress -X.md -X.pdf diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/source/include-binaries b/source/include-binaries new file mode 100644 index 0000000..be14a9e --- /dev/null +++ b/source/include-binaries @@ -0,0 +1,2 @@ +g3doc/highway_intro.pdf +g3doc/instruction_matrix.pdf diff --git a/watch b/watch new file mode 100644 index 0000000..74d9c5c --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=4 +opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/highway-$1\.tar\.gz/ \ + https://github.com/google/highway/tags .*/v?(\d\S+)\.tar\.gz -- 2.30.2