[dgit import tarball libcrypto++ 8.6.0-3+rpi1 libcrypto++_8.6.0-3+rpi1.debian.tar.xz]
--- /dev/null
+libcrypto++ (8.6.0-3+rpi1) bookworm-staging; urgency=medium
+
+ * Upload to raspbian despite detection of armv7 contaimination,
+ investigation of the code shows that the armv7/neon code seems
+ to be safely behind runtime CPU testection.
+ * Pass -march=armv7+fp instead of -march=armv7 when building "armv4"
+ assembler files. Despite the names these files only seem to be used
+ on armv7.
+
+ -- Peter Michael Green <plugwash@raspbian.org> Sat, 19 Mar 2022 22:09:41 +0000
+
+libcrypto++ (8.6.0-3) unstable; urgency=medium
+
+ * Fix armhf FTBFS (closes: #1001995).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sat, 12 Feb 2022 10:39:14 +0100
+
+libcrypto++ (8.6.0-2) unstable; urgency=medium
+
+ * Fix armel and armhf link breakage.
+ * Update Standards-Version to 4.6.0 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sat, 25 Sep 2021 19:44:37 +0200
+
+libcrypto++ (8.6.0-1) unstable; urgency=high
+
+ * New upstream release.
+ * Fix CVE-2021-40530: ElGamal encryption using a work estimate to size
+ encryption exponents instead subgroup order (closes: #993841).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sat, 25 Sep 2021 11:23:06 +0200
+
+libcrypto++ (8.5.0-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Tue, 07 Sep 2021 22:41:51 +0200
+
+libcrypto++ (8.4.0-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Update patches.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sat, 02 Jan 2021 08:22:09 +0100
+
+libcrypto++ (8.3.0-3) unstable; urgency=medium
+
+ * Upload to Sid.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Fri, 25 Dec 2020 18:16:54 +0100
+
+libcrypto++ (8.3.0-2) experimental; urgency=medium
+
+ * Backport upstream fix for SIGILL on PowerPC.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Tue, 22 Dec 2020 20:38:25 +0100
+
+libcrypto++ (8.3.0-1) experimental; urgency=medium
+
+ * New upstream release.
+ * Update debhelper level to 13 .
+ * Update Standards-Version to 4.5.1 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sun, 20 Dec 2020 17:35:29 +0100
+
+libcrypto++ (8.2.0-2) experimental; urgency=medium
+
+ * Fix CVE-2019-14318: timing side channel in ECDSA signature generation
+ (closes: #934326).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sun, 11 Aug 2019 16:57:18 +0000
+
+libcrypto++ (8.2.0-1) experimental; urgency=medium
+
+ * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Mon, 29 Apr 2019 17:00:27 +0000
+
+libcrypto++ (8.1.0-2) experimental; urgency=medium
+
+ * Backport upstream fix of remove early NEON qualification tests.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sat, 02 Mar 2019 20:11:43 +0000
+
+libcrypto++ (8.1.0-1) experimental; urgency=medium
+
+ * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Wed, 27 Feb 2019 00:39:55 +0000
+
+libcrypto++ (8.0.0-1) experimental; urgency=medium
+
+ * New upstream release.
+ * Use upstream build system.
+ * Library transition to version 8 of soname.
+ * Update Standards-Version to 4.3.0 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Fri, 28 Dec 2018 12:18:20 +0000
+
+libcrypto++ (7.0.0-1) experimental; urgency=medium
+
+ * New upstream release.
+ * Library transition to version 2 of soname.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sun, 08 Apr 2018 12:04:05 +0000
+
+libcrypto++ (6.1.0-2) experimental; urgency=medium
+
+ * Update library compatibility symlink (closes: #891662).
+ * Remove debug_info from libcrypto++.a library (closes: #880637).
+ * Make the package multiarch (closes: #879822).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Tue, 27 Feb 2018 21:31:37 +0000
+
+libcrypto++ (6.1.0-1) experimental; urgency=medium
+
+ * New upstream release.
+ * Library transition to version 1 of soname.
+ * Update debhelper level to 11 .
+ * Update Standards-Version to 4.1.3:
+ - remove libcrypto++6-dbg package and use the auto-generated one.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Thu, 22 Feb 2018 16:51:10 +0000
+
+libcrypto++ (5.6.4-8) unstable; urgency=medium
+
+ * Install all headers (closes: #866100).
+ * Update watch file (closes: #862876).
+ * Update Standards-Version to 4.0.0 and debhelper level to 10 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Tue, 27 Jun 2017 19:04:20 +0000
+
+libcrypto++ (5.6.4-7) unstable; urgency=high
+
+ * Backport security fix for out-of-bounds read in zinflate.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Mon, 05 Jun 2017 06:55:28 +0000
+
+libcrypto++ (5.6.4-6) unstable; urgency=medium
+
+ * Backport additional ASN.1 validations.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sun, 25 Dec 2016 08:46:52 +0000
+
+libcrypto++ (5.6.4-5) unstable; urgency=high
+
+ * Fix CVE-2016-9939: possible DoS in ASN.1 decoders (closes: #848009).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Fri, 23 Dec 2016 20:54:36 +0000
+
+libcrypto++ (5.6.4-4) unstable; urgency=medium
+
+ * Apply upstream fix for Integer class ABI break (closes: #845460).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Fri, 02 Dec 2016 17:00:47 +0000
+
+libcrypto++ (5.6.4-3) unstable; urgency=medium
+
+ * Backport upstream fix for potential zeroizer removal.
+ * Backport upstream fix for Hurd build.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Tue, 01 Nov 2016 11:27:35 +0000
+
+libcrypto++ (5.6.4-2) unstable; urgency=low
+
+ * Add missed headers to libcrypto++-dev (closes: #841443).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sun, 23 Oct 2016 16:46:44 +0200
+
+libcrypto++ (5.6.4-1) unstable; urgency=low
+
+ * New upstream release.
+ * Remove cryptest-data-files-location.diff as applied upstream.
+ * Remove backported patches as this release contains those.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sat, 08 Oct 2016 16:27:30 +0000
+
+libcrypto++ (5.6.3-8) unstable; urgency=high
+
+ * Fix CVE-2016-7420 with compiling -DNDEBUG to prevent sensitive information
+ leakage to core dumps when an assert() happens.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Fri, 16 Sep 2016 15:42:32 +0000
+
+libcrypto++ (5.6.3-7) unstable; urgency=low
+
+ * Prevent binary testing when only architecture independent packages are
+ built (closes: #821176).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Fri, 15 Jul 2016 20:11:19 +0000
+
+libcrypto++ (5.6.3-6) unstable; urgency=high
+
+ * Backport last bit of CVE-2016-3995 fix, the Rijndael timing attack
+ counter measure.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Wed, 13 Apr 2016 16:40:13 +0000
+
+libcrypto++ (5.6.3-5) unstable; urgency=medium
+
+ * Fix the Rijndael timing attack counter measure.
+ * Fix FTBFS on M68k machines.
+ * Update Standards-Version to 3.9.8 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sun, 10 Apr 2016 09:14:31 +0000
+
+libcrypto++ (5.6.3-4) unstable; urgency=low
+
+ * Start the transition with upload to Sid.
+ * Builds on x32 (closes: #813659).
+ * Update Standards-Version to 3.9.7 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sun, 03 Apr 2016 11:33:16 +0000
+
+libcrypto++ (5.6.3-3) experimental; urgency=low
+
+ * Backport upstream fixes:
+ - fixed hang on ARM platforms in Integer::DivideThreeWordsByTwo,
+ - work around issue on ARMEL in MultiplyTop and GCC,
+ - increase range for GCC workaround on ARMEL,
+ - fixed SecBlock append.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sat, 09 Jan 2016 09:15:35 +0100
+
+libcrypto++ (5.6.3-2) experimental; urgency=low
+
+ * Only fix -doc package HTML path if it's built.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sat, 21 Nov 2015 13:27:54 +0100
+
+libcrypto++ (5.6.3-1) experimental; urgency=low
+
+ * New major upstream release (closes: #739157).
+ * Keep rebuildable.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sat, 21 Nov 2015 09:25:03 +0100
+
+libcrypto++ (5.6.3~rc6-1) experimental; urgency=low
+
+ * New major upstream release candidate version.
+ * Add CRYPTOPP_NO_UNALIGNED_DATA_ACCESS preprocessor flag to CXXFLAGS .
+ * Add rdrand.cpp to library sources to compile.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Thu, 29 Oct 2015 19:44:06 +0100
+
+libcrypto++ (5.6.3~rc4-1) experimental; urgency=low
+
+ * New major upstream release candidate version.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Mon, 21 Sep 2015 20:10:14 +0200
+
+libcrypto++ (5.6.3~rc3-1) experimental; urgency=low
+
+ * New major upstream release candidate version.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Wed, 16 Sep 2015 19:47:57 +0200
+
+libcrypto++ (5.6.3~rc2-2) experimental; urgency=low
+
+ * Make co-installable with older versions.
+ * Run doxygen only in the indep target.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Mon, 14 Sep 2015 20:06:20 +0200
+
+libcrypto++ (5.6.3~rc2-1) experimental; urgency=low
+
+ * New major upstream release release candidate version.
+ * ABI transition from libcrypto++9v5 to libcrypto++6 .
+ * Rewrite packaging and copyright.
+ * Build with CRYPTOPP_INIT_PRIORITY=250 .
+ * Symlink jquery.js to the packaged one.
+ * Add watch file.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sun, 13 Sep 2015 15:55:30 +0200
+
+libcrypto++ (5.6.1-9) unstable; urgency=low
+
+ * Compile integer.cpp with -O1 on armel to prevent FTBFS (closes: #796297).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sat, 12 Sep 2015 10:17:29 +0200
+
+libcrypto++ (5.6.1-8) unstable; urgency=medium
+
+ * Rename library to libcrypto++9v5 and the debug one to libcrypto++9-dbg
+ for GCC 5 transition.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Wed, 12 Aug 2015 18:43:04 +0200
+
+libcrypto++ (5.6.1-7) unstable; urgency=high
+
+ * Fix CVE-2015-2141.
+ * Update Standards-Version to 3.9.6 and debhelper level to 9 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org> Sun, 28 Jun 2015 12:34:20 +0000
+
+libcrypto++ (5.6.1-6) unstable; urgency=low
+
+ * Fix build failure with gcc-4.7 (closes: #668700) by adding missing 'this'
+ references. Thanks to Matthias Klose <doko@debian.org> .
+ * Update packaging bits.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu> Sat, 14 Apr 2012 20:21:41 +0200
+
+libcrypto++ (5.6.1-5) unstable; urgency=low
+
+ * New maintainer (closes: #628935).
+ * salsa.patch from upstream to fix testcase FTBFS (closes: #628298).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.hu> Sat, 04 Jun 2011 20:15:34 +0200
+
+libcrypto++ (5.6.1-4) unstable; urgency=low
+
+ * Fix Pananma so that it works on armel, thanks to Wei Dai.
+ (Closes: #619856)
+
+ -- Jens Peter Secher <jps@debian.org> Mon, 25 Apr 2011 21:13:50 +0200
+
+libcrypto++ (5.6.1-3) unstable; urgency=low
+
+ * Make debug packages conflict with each other because they all include
+ usr/bin/cryptest.
+ (Closes: #619527)
+ * Removed obsolete README.source now that the package is in dpkg format
+ 3.0 (quilt).
+
+ -- Jens Peter Secher <jps@debian.org> Sun, 27 Mar 2011 23:56:51 +0200
+
+libcrypto++ (5.6.1-2) unstable; urgency=low
+
+ * Build for Wheezy, no change.
+ (Closes: #599639)
+
+ -- Jens Peter Secher <jps@debian.org> Tue, 22 Mar 2011 04:51:04 +0100
+
+libcrypto++ (5.6.1-1) experimental; urgency=low
+
+ * New release, which changes the API of the library, so bumping the SO
+ version to 9.
+ * Patch for sha256 assembly is now included upstream.
+ * Bumped Standards-Version to 3.9.1, no change.
+
+ -- Jens Peter Secher <jps@debian.org> Tue, 10 Aug 2010 21:26:54 +0200
+
+libcrypto++ (5.6.0-6) unstable; urgency=low
+
+ * Fix sha256 assembly problem with signed address comparison, thanks to
+ Ken Raeburn.
+ (Closes: #585930)
+ * Converted to dpkg-source format 3.0 (quilt).
+ * Use mercurial-buildpackage for repository maintenance, so old
+ repository does not exist any more.
+ * Bumped Standards-Version to 3.8.4, no change.
+ * Use misc:Depends debhelper macro for all packages.
+ * Introduced a realclean target in debian/rules for cleaning up an
+ interrupted build.
+ * Build-depend on a proper quilt-handling version of dpkg-source instead
+ of quilt itself.
+
+ -- Jens Peter Secher <jps@debian.org> Wed, 16 Jun 2010 23:50:50 +0200
+
+libcrypto++ (5.6.0-5) unstable; urgency=low
+
+ * Fix build failure on Hurd by using POSIX threads, thanks to Samuel
+ Thibault.
+ (Closes: #550786)
+
+ -- Jens Peter Secher <jps@debian.org> Fri, 16 Oct 2009 20:06:13 +0200
+
+libcrypto++ (5.6.0-4) unstable; urgency=low
+
+ * Inlcude missing testvector for AES, thanks to Nelson A. de Oliveira.
+ (Closes: #549150)
+ * Do not include .la file per request from Kartik Mistry.
+
+ -- Jens Peter Secher <jps@debian.org> Thu, 01 Oct 2009 22:08:44 +0200
+
+libcrypto++ (5.6.0-3) unstable; urgency=low
+
+ * Depend on generic automake package (at the time of writing version 11).
+ (Closes: #543028)
+ * Update the various package descriptions.
+ (Closes: #531814)
+ * Upgrate to debhelper version 7, using dh_prep instead of dh_clean -k.
+ * Updated Standards-Version to 3.8.3, but retaining GNU style variables
+ because they are passed to automake scripts. Also correct
+ "hppa-linux" to "hppa-linux-gnu".
+
+ -- Jens Peter Secher <jps@debian.org> Sat, 22 Aug 2009 19:55:04 +0200
+
+libcrypto++ (5.6.0-2) unstable; urgency=low
+
+ * Added a package with debug symbols.
+ * Drop the DCRYPTOPP_DISABLE_ASM flag to avoid segfault in amule on
+ i386.
+ (Closes: #525071)
+
+ -- Jens Peter Secher <jps@debian.org> Tue, 28 Apr 2009 23:23:21 +0200
+
+libcrypto++ (5.6.0-1) unstable; urgency=low
+
+ * New upstream version.
+ + Includes incompatible changes, so bumping the shared library number to 8
+ (libtool version info 8:0:0).
+ + The test data is now in its own directory, so this TestData directory
+ is handled in debian/rules the same way that TestVectors is.
+ * Link with pthread to avoid warning from dpkg-shlibdeps.
+ * Avoid running the test suite twice by giving it its own target: check.
+
+ -- Jens Peter Secher <jps@debian.org> Tue, 07 Apr 2009 02:52:06 +0200
+
+libcrypto++ (5.5.2-3) unstable; urgency=low
+
+ * Use quilt instead of dpatch for patches, and describe how to use
+ quilt in Debian.source (thanks to Russ Allbery).
+ * Added a Vcs-Hg control filed to indicate the location of the public
+ repository.
+ * Bumped Standards-Version to 3.8.1.
+
+ -- Jens Peter Secher <jps@debian.org> Tue, 07 Apr 2009 00:51:49 +0200
+
+libcrypto++ (5.5.2-2) unstable; urgency=low
+
+ * Produce a pkg-config file for the development package.
+ (Closes: #473090)
+ * Use doc-bas section Programming.
+
+ -- Jens Peter Secher <jps@debian.org> Sat, 29 Mar 2008 17:37:32 +0100
+
+libcrypto++ (5.5.2-1) unstable; urgency=low
+
+ * New upstream version.
+ * Increased SONAME from 6 to 7 because of API changes.
+ * Fixed GCC 4.3 header include problem.
+ (Closes: #455627)
+ * Created symlinks from libcryptopp* to libcrypto++*, as requested in
+ bug #448766.
+ * Bumped debhelper version to 5.
+ * Bumped Standards-Version to 3.7.3.
+
+ -- Jens Peter Secher <jps@debian.org> Tue, 11 Dec 2007 19:06:15 +0100
+
+libcrypto++ (5.5-5) unstable; urgency=low
+
+ * Create a symlink to /usr/include/cryptopp -> crypto++ to aid
+ portability of client code.
+ (Closes: #448766)
+ * Bumped automake to 1.10 instead of 1.9 .
+
+ -- Jens Peter Secher <jps@debian.org> Sun, 11 Nov 2007 21:51:53 +0100
+
+libcrypto++ (5.5-4) unstable; urgency=low
+
+ * Use POSIX threads on GNU/kFreeBSD, thanks to Petr Salinger.
+ (Closes: #433672)
+
+ -- Jens Peter Secher <jps@debian.org> Sun, 19 Aug 2007 10:02:37 +0200
+
+libcrypto++ (5.5-3) unstable; urgency=high
+
+ * Do not compile with -msse2 to avoid crash on Pentium II, thanks
+ to Adeodato Simó. Hence the high urgency.
+ (Closes: #428150)
+ * Use ${binary:Version} instead of ${Source-Version} to facilitate
+ binNMU.
+ * Do not ignore 'make clean' errors.
+
+ -- Jens Peter Secher <jps@debian.org> Sat, 30 Jun 2007 16:39:14 +0200
+
+libcrypto++ (5.5-2) unstable; urgency=low
+
+ * Use CURDIR throughout debian/rules to avoid buildd failures.
+
+ -- Jens Peter Secher <jps@debian.org> Tue, 29 May 2007 20:29:08 +0200
+
+libcrypto++ (5.5-1) unstable; urgency=low
+
+ * New upstream release.
+ * Bumped SO name to 6.0.0 because of new namespaces and removed algorithms.
+ * Updated man page and build scripts.
+ * Only use header files to generate documentation because Doxygen
+ otherwise chokes.
+
+ -- Jens Peter Secher <jps@debian.org> Sat, 12 May 2007 12:50:30 +0200
+
+libcrypto++ (5.4-1) experimental; urgency=low
+
+ * New upstream release.
+ * Removed all patches that have now been included upstream.
+ * Now that things are stable with both Crypto++ and GCC, the shared
+ library has a proper SO name.
+
+ -- Jens Peter Secher <jps@debian.org> Fri, 15 Dec 2006 23:32:46 +0100
+
+libcrypto++ (5.2.1c2a-3) unstable; urgency=low
+
+ * Patch source so that it compiles with GCC 4.1 . More specifically,
+ avoid mixing implicit calls to base classes and free-standing
+ functions.
+ (Closes: #356170)
+ * Use LDFLAGS=-pthread to fix linking errors.
+
+ -- Jens Peter Secher <jps@debian.org> Thu, 16 Mar 2006 23:08:48 +0100
+
+libcrypto++ (5.2.1c2a-2) unstable; urgency=low
+
+ * Build-depend on a version of g++ that fixes PR c++/21123 which
+ resulted in internal compiler errors on m68k, arm, and hppa
+ (Closes: #343003)
+ * Include an override to stop Lintian complaining about the name of the
+ shared library.
+ * Removed link in main headline of Doxygen generated documentaion since
+ Doxygen insists on escaping it.
+
+ -- Jens Peter Secher <jps@debian.org> Tue, 13 Dec 2005 20:40:25 +0100
+
+libcrypto++ (5.2.1c2a-1) unstable; urgency=low
+
+ * Rebuild and name change due to libstdc++6 mt-allocator transition.
+ (Closes: #339201)
+
+ -- Jens Peter Secher <jps@debian.org> Sat, 19 Nov 2005 23:56:27 +0100
+
+libcrypto++ (5.2.1c2-8) unstable; urgency=low
+
+ * Force autoreconf to use automake1.9 so that it is possible to have
+ several automake versions installed.
+
+ -- Jens Peter Secher <jps@debian.org> Sat, 1 Oct 2005 16:11:18 +0200
+
+libcrypto++ (5.2.1c2-7) unstable; urgency=low
+
+ * Use the upstream-provided way of doing manual template instantiation
+ on architectures where it is necessary to use GCC3.4.
+
+ -- Jens Peter Secher <jps@debian.org> Mon, 26 Sep 2005 19:08:30 +0200
+
+libcrypto++ (5.2.1c2-6) unstable; urgency=low
+
+ * Circumvent GCC4 internal compiler error on m68k, arm, and hppa by
+ using GCC3.4 on those architectures, thanks to Adeodato Simó.
+ (Closes: #328975)
+
+ -- Jens Peter Secher <jps@debian.org> Tue, 20 Sep 2005 20:46:29 +0200
+
+libcrypto++ (5.2.1c2-5) unstable; urgency=low
+
+ * Fixed the debian/rules so that the binary-arch target can be built in
+ isolation.
+ (Closes: #323161)
+ * Added a doc-base file for the libcrypto++-doc package.
+
+ -- Jens Peter Secher <jps@debian.org> Mon, 15 Aug 2005 22:18:05 +0200
+
+libcrypto++ (5.2.1c2-4) unstable; urgency=low
+
+ * Really take care of endianess this time by letting config.status
+ manipulate config.h .
+ * Split the documentation into a libcrypto++-doc package.
+
+ -- Jens Peter Secher <jps@debian.org> Wed, 10 Aug 2005 23:47:51 +0200
+
+libcrypto++ (5.2.1c2-3) unstable; urgency=low
+
+ * Take care of architecture endianess by using AC_C_BIGENDIAN in
+ configure.ac . Should fix building for s390 and mipsel.
+
+ -- Jens Peter Secher <jps@debian.org> Mon, 8 Aug 2005 21:25:50 +0200
+
+libcrypto++ (5.2.1c2-2) unstable; urgency=low
+
+ * Stopped including autotools generated scripts, and instead
+ build-depends on automaken to avoid strange problems with libtool that
+ causes problems for the build daemons.
+ * Fix cryptest so that it always can find its data files, and put it in
+ the libcrypto++-utils package again.
+
+ -- Jens Peter Secher <jps@debian.org> Sat, 6 Aug 2005 16:34:56 +0200
+
+libcrypto++ (5.2.1c2-1) unstable; urgency=low
+
+ * New maintainer.
+ (Closes: #288433)
+ * Complete re-autotoolising of the package to retain pristine upstream
+ source and to only build-depend on libtool.
+ * The crypto++-util package has been merged into the crypto++-dev
+ package and is thus dead.
+ * Applied patches from Ben Hutchings to avoid compile warnings
+ (Closes: #286114)
+ * Circumvented anonymous-enum and template-instantiations problems with
+ GCC 4. Thanks to Florian Weimer and Jozef Matula for guiding me in
+ the right direction.
+ (Closes: #318518)
+ * Started using dpatch since some of the above patches probably could
+ make it upstream.
+
+ -- Jens Peter Secher <jps@debian.org> Sun, 31 Jul 2005 02:07:29 +0200
+
+libcrypto++ (5.2.1a-1) unstable; urgency=high
+
+ * Urgency set to high because lastest upload was unclean
+ * Rename libcrypto++-5.2.1.orig.tar.gz in libcrypto++-5.2.1a.orig.tar.gz
+
+ -- Pierre Machard <pmachard@debian.org> Fri, 27 Aug 2004 12:35:05 +0200
+
+libcrypto++ (5.2.1-2) unstable; urgency=high
+
+ * Added TestVectors to example dir
+ * Add symlink from cryptopp_config.h to config.h (closes: #244980)
+ * Hack configure.in to fit with new upstream version. This hack is
+ far from being complete and quite uggly.
+ * Update manpage
+ * Automaticaly update config.{sub,guess}
+
+ -- Pierre Machard <pmachard@debian.org> Sat, 21 Aug 2004 08:59:37 +0200
+
+libcrypto++ (5.2.1-1) unstable; urgency=high
+
+ * Adding myself as package uploaders
+ * Urgency set to high because of #244892
+ * New upstream release (closes: #244892, #247922, #245921, #261074)
+
+ -- Pierre Machard <pmachard@debian.org> Fri, 20 Aug 2004 05:22:28 +0200
+
+libcrypto++ (5.1-5) unstable; urgency=low
+
+ * Remove the final arch specific (rather than feature specifc) tests in
+ crypto_config.h,
+ Closes: #238220
+ * Add symlinks libcrypto++.{a,la,so} pointing to
+ libcrypto++5.1.{a,la,so} so that users can act like the ABI of this
+ library doesn't change with every major release,
+ Closes: #241148
+
+ -- Stephen Zander <gibreel@debian.org> Mon, 19 Apr 2004 18:10:28 -0700
+
+libcrypto++ (5.1-4) unstable; urgency=low
+
+ * Build with -fno-strict-aliasing. This should fix the segfaults on
+ non-i386 architectures.
+ * Add -ffunction-sections for hppa build,
+ Closes: #238220
+
+ -- Stephen Zander <gibreel@debian.org> Fri, 19 Mar 2004 02:06:08 -0800
+
+libcrypto++ (5.1-3) unstable; urgency=low
+
+ * Move datatest.cpp from libcrypto++5.1.so to the cryptest source to
+ really fix the GlobalRNG bug,
+ Closes: #236539
+
+ -- Stephen Zander <gibreel@debian.org> Sun, 14 Mar 2004 20:23:16 -0800
+
+libcrypto++ (5.1-2) unstable; urgency=low
+
+ * Remove validate.h from the libcrypto++5.1.so headers; it should only
+ be used by cryptest,
+ Closes: #236539
+ * Include test.cpp as an example of how to invoke the various Crypto++
+ routines,
+ Closes: #236844
+ * Allow cryptest to look for validation files in the current directory
+ as well as /usr/share/crypto++,
+ Closes: #236968
+
+ -- Stephen Zander <gibreel@debian.org> Sat, 13 Mar 2004 00:59:54 -0800
+
+libcrypto++ (5.1-1) unstable; urgency=low
+
+ * Drop the gcc-3.2 dependency as gcc-3.2 should be everywhere by now. This
+ also fixes the build failure on ARM.
+ * Rename the library from libcrypto++.so.5 to libcrypto++5.1.so.0 as
+ upstream does not maintain binary compatibility and having the 5.1
+ package provide libcrypto++.so.6 strikes me as too confusing.
+ * New upstream version,
+ Closes: #213953
+ * Include full paths to data files used by the cryptest validation
+ routines,
+ Closes: #198696
+ * Add MD4 to the output of 'cryptest b' and segregate the hashing
+ algorithms from the encryption algorithms,
+ Closes: #198698
+ * Include Doxygen generated documents in the libcrypto++-dev package,
+ Closes: #211725
+
+ -- Stephen Zander <gibreel@debian.org> Tue, 17 Feb 2004 12:41:29 -0800
+
+libcrypto++ (5.0-3) unstable; urgency=low
+
+ * Add generic 64bit arch support, rather than hard-coded alpha supoprt,
+ Closes: #181457
+
+ -- Stephen Zander <gibreel@debian.org> Sat, 15 Mar 2003 17:47:27 -0800
+
+libcrypto++ (5.0-2) unstable; urgency=low
+
+ * Convert the gcc-3.2 build depends to a g++-3.2, they way it should be
+ Closes: #175085
+ * Clean up cryptlib.h slightly so it's not so noisy under -Wall,
+ Closes: #175180
+
+ -- Stephen Zander <gibreel@debian.org> Tue, 7 Jan 2003 01:24:07 -0800
+
+libcrypto++ (5.0-1) unstable; urgency=low
+
+ * Package moved to main.
+ * New upstream version,
+ Closes: #174217
+ * All files now have appropriate copyright entries and debian/copyright
+ accurately reflects the contents of this package,
+ Closes: #153926
+ * cryptest now successfully runs to completion,
+ Closes: #153929
+ * Fix a typo in the cryptest manpage,
+ Closes: #153932
+
+ -- Stephen Zander <gibreel@debian.org> Fri, 27 Dec 2002 11:23:06 -0800
+
+libcrypto++ (4.2-1) unstable; urgency=low
+
+ * New package,
+ Closes: #79131
+
+ -- Stephen Zander <gibreel@debian.org> Fri, 5 Jul 2002 09:45:26 -0700
--- /dev/null
+Makefile.am
+Makefile.in
+aclocal.m4
+compile
+config.guess
+config.sub
+config.status
+configure
+configure.ac
+depcomp
+install-sh
+local.h.in
+ltmain.sh
+m4/libtool.m4
+m4/ltoptions.m4
+m4/ltsugar.m4
+m4/ltversion.m4
+m4/lt~obsolete.m4
+missing
--- /dev/null
+Source: libcrypto++
+Section: libs
+Priority: optional
+Maintainer: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Standards-Version: 4.6.0
+Build-Depends: debhelper-compat (= 13), automake, autoconf, libtool
+Build-Depends-Indep: doxygen
+Homepage: https://www.cryptopp.com
+Rules-Requires-Root: no
+
+Package: libcrypto++8
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: General purpose cryptographic library - shared library
+ General purpose cryptographic library for C++.
+ .
+ This package contains the shared libraries and should only be
+ installed if other packages depend on it.
+
+Package: libcrypto++-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libcrypto++8 (= ${binary:Version}), ${misc:Depends}
+Description: General purpose cryptographic library - C++ development
+ Crypto++ is library for creating C++ programs which use cryptographic
+ algorithms. The library uses a Pipes & Filters architecture with heavy
+ use of templates and abstract base classes. The cryptographic
+ tools include:
+ * Authenticated encryption schemes (GCM, CCM, EAX),
+ * High speed stream ciphers (Panama, Sosemanuk, Salsa20, XSalsa20),
+ * AES and candidates (Rijndael, RC6, MARS, Twofish, Serpent, CAST-256),
+ * Other symmetric block ciphers (IDEA, Triple-DES, Camellia, SEED,
+ RC5, Blowfish, TEA, XTEA, Skipjack, SHACAL-2),
+ * Block cipher modes of operation (ECB, CBC, CTS, CFB, OFB, CTR),
+ * Message authentication codes (VMAC, HMAC, CMAC, CBC-MAC, DMAC,
+ Two-Track-MAC),
+ * Hash functions (SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, Tiger,
+ WHIRLPOOL, RIPEMD-128, RIPEMD-256, RIPEMD-160, RIPEMD-320),
+ * Public-key cryptography (RSA, DSA, ElGamal, NR, RW, LUC, LUCELG,
+ DLIES, ESIGN),
+ * Padding schemes for public-key systems (PKCS#1, OAEP, PSS, PSSR,
+ EMSA2, EMSA5),
+ * Key agreement schemes (DH, MQV, LUCDIF, XTR-DH),
+ * Elliptic curve cryptography (ECDSA, ECNR, ECIES, ECDH, ECMQV),
+ * Backwards compatibility algorithms (MD2, MD4, MD5, Panama Hash, DES,
+ ARC4, SEAL 3.0, WAKE, WAKE-OFB, DESX, RC2, SAFER, 3-WAY, GOST,
+ SHARK, CAST-128, Square),
+ * Pseudo-random number generators,
+ and a whole lot more. Alternative libraries are libgcrypt and
+ nettle.
+ .
+ This package contains the header files needed for developing using
+ the Crypto++ class library and the static library with libtool
+ supoport.
+
+Package: libcrypto++-utils
+Architecture: any
+Section: utils
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Conflicts: libcrypto++-dev (= 5.2.1c2-1)
+Description: General purpose cryptographic library - utilities and data files
+ Crypto++ is library for creating C++ programs which use cryptographic
+ algorithms. The library uses a Pipes & Filters architecture with heavy
+ use of templates and abstract base classes. The cryptographic
+ tools include:
+ * Authenticated encryption schemes (GCM, CCM, EAX),
+ * High speed stream ciphers (Panama, Sosemanuk, Salsa20, XSalsa20),
+ * AES and candidates (Rijndael, RC6, MARS, Twofish, Serpent, CAST-256),
+ * Other symmetric block ciphers (IDEA, Triple-DES, Camellia, SEED,
+ RC5, Blowfish, TEA, XTEA, Skipjack, SHACAL-2),
+ * Block cipher modes of operation (ECB, CBC, CTS, CFB, OFB, CTR),
+ * Message authentication codes (VMAC, HMAC, CMAC, CBC-MAC, DMAC,
+ Two-Track-MAC),
+ * Hash functions (SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, Tiger,
+ WHIRLPOOL, RIPEMD-128, RIPEMD-256, RIPEMD-160, RIPEMD-320),
+ * Public-key cryptography (RSA, DSA, ElGamal, NR, RW, LUC, LUCELG,
+ DLIES, ESIGN),
+ * Padding schemes for public-key systems (PKCS#1, OAEP, PSS, PSSR,
+ EMSA2, EMSA5),
+ * Key agreement schemes (DH, MQV, LUCDIF, XTR-DH),
+ * Elliptic curve cryptography (ECDSA, ECNR, ECIES, ECDH, ECMQV),
+ * Backwards compatibility algorithms (MD2, MD4, MD5, Panama Hash, DES,
+ ARC4, SEAL 3.0, WAKE, WAKE-OFB, DESX, RC2, SAFER, 3-WAY, GOST,
+ SHARK, CAST-128, Square),
+ * Pseudo-random number generators,
+ and a whole lot more. Alternative libraries are libgcrypt and
+ nettle.
+ .
+ This package includes a utility for benchmarking and using the
+ various Crypto++ routines from the command line. It also includes
+ the test vectors for validating both the Crypto++ implementation and
+ other implementations of these routines.
+
+Package: libcrypto++-doc
+Architecture: all
+Section: doc
+Depends: ${misc:Depends}, libjs-jquery
+Conflicts: libcrypto++-dev (<= 5.2.1c2-3)
+Enhances: libcrypto++-dev
+Description: General purpose cryptographic library - documentation
+ Crypto++ is library for creating C++ programs which use cryptographic
+ algorithms. The library uses a Pipes & Filters architecture with heavy
+ use of templates and abstract base classes. The cryptographic
+ tools include:
+ * Authenticated encryption schemes (GCM, CCM, EAX),
+ * High speed stream ciphers (Panama, Sosemanuk, Salsa20, XSalsa20),
+ * AES and candidates (Rijndael, RC6, MARS, Twofish, Serpent, CAST-256),
+ * Other symmetric block ciphers (IDEA, Triple-DES, Camellia, SEED,
+ RC5, Blowfish, TEA, XTEA, Skipjack, SHACAL-2),
+ * Block cipher modes of operation (ECB, CBC, CTS, CFB, OFB, CTR),
+ * Message authentication codes (VMAC, HMAC, CMAC, CBC-MAC, DMAC,
+ Two-Track-MAC),
+ * Hash functions (SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, Tiger,
+ WHIRLPOOL, RIPEMD-128, RIPEMD-256, RIPEMD-160, RIPEMD-320),
+ * Public-key cryptography (RSA, DSA, ElGamal, NR, RW, LUC, LUCELG,
+ DLIES, ESIGN),
+ * Padding schemes for public-key systems (PKCS#1, OAEP, PSS, PSSR,
+ EMSA2, EMSA5),
+ * Key agreement schemes (DH, MQV, LUCDIF, XTR-DH),
+ * Elliptic curve cryptography (ECDSA, ECNR, ECIES, ECDH, ECMQV),
+ * Backwards compatibility algorithms (MD2, MD4, MD5, Panama Hash, DES,
+ ARC4, SEAL 3.0, WAKE, WAKE-OFB, DESX, RC2, SAFER, 3-WAY, GOST,
+ SHARK, CAST-128, Square),
+ * Pseudo-random number generators,
+ and a whole lot more. Alternative libraries are libgcrypt and
+ nettle.
+ .
+ This package includes the HTML reference guide to the source code.
--- /dev/null
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Crypto++
+Source: https://sourceforge.net/projects/cryptopp/files/cryptopp/
+
+Files: *
+Copyright: (C) 1995-2013 by Wei Dai
+License: Boost
+
+Files: 3way.cpp
+Copyright: Joan Daemen
+License: public-domain
+
+Files: cast.cpp
+Copyright: Leonard Janke,
+ Steve Reid
+License: public-domain
+
+Files: seal.cpp
+Copyright: Leonard Janke
+License: public-domain
+
+Files: des.cpp
+Copyright: Phil Karn
+License: public-domain
+
+Files: md2.cpp
+ md4.cpp
+Copyright: Andrew M. Kuchling
+License: public-domain
+
+Files: md5.cpp
+Copyright: Colin Plumb
+License: public-domain
+
+Files: rc6.cpp
+Copyright: Seal Woods
+License: public-domain
+
+Files: rijndael.cpp
+Copyright: Chris Morgan,
+ Paulo Baretto
+License: public-domain
+
+Files: skipjack.cpp
+ square.cpp
+Copyright: Paulo Baretto
+License: public-domain
+
+Files: safer.cpp
+Copyright: Richard De Moliner
+License: public-domain
+
+Files: twofish.cpp
+Copyright: Matthew Skala
+License: public-domain
+
+Files: camellia.cpp
+ shacal2.cpp
+ ttmac.cpp
+ whrlpool.cpp
+ ripemd.cpp
+Copyright: Kevin Springle
+License: public-domain
+
+License: public-domain
+ No license required for any purpose; the work is not subject to copyright
+ in any jurisdiction.
+
+Files: debian/*
+Copyright: (C) 2011- Laszlo Boszormenyi (GCS) <gcs@debian.org>,
+ (C) 2005-2010 Jens Peter Secher <jps@debian.org>,
+ (C) 2004 Pierre Machard <pmachard@debian.org>,
+ (C) 2000-2002 Stephen Zander <gibreel@debian.org>
+License: Boost
+
+License: Boost
+ Boost Software License - Version 1.0
+ ------------------------------------
+ .
+ Boost Software License - Version 1.0 - August 17th, 2003
+ .
+ Permission is hereby granted, free of charge, to any person or organization
+ obtaining a copy of the software and accompanying documentation covered by
+ this license (the "Software") to use, reproduce, display, distribute,
+ execute, and transmit the Software, and to prepare derivative works of the
+ Software, and to permit third-parties to whom the Software is furnished to
+ do so, all subject to the following:
+ .
+ The copyright notices in the Software and this entire statement, including
+ the above license grant, this restriction and the following disclaimer,
+ must be included in all copies of the Software, in whole or in part, and
+ all derivative works of the Software, unless such copies or derivative
+ works are solely in the form of machine-executable object code generated by
+ a source language processor.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
--- /dev/null
+.TH cryptest 1 local
+.SH NAME
+cryptest \- Test Driver for Crypto++, a C++ Class Library of Cryptographic Primitives
+.SH SYNOPSIS
+.B cryptest
+[\fIOPTION\fR]
+.SH DESCRIPTION
+cryptest takes the following options
+.TP
+.B g
+generate an RSA key
+.TP
+.B h
+display usage information
+.TP
+.B r
+encrypt and decrypt a string using RSA
+.TP
+.BI rs " privatekeyfile messagefile signaturefile"
+sign a file using RSA
+.TP
+.BI rv " publickeyfile messagefile signaturefile"
+verify a signature of a file using RSA
+.TP
+.BI m " file"
+calculate MD5, SHA, and RIPEMD-160 message digests
+.TP
+.B t
+encrypt and decrypt a string using DES-EDE in CBC mode
+.TP
+.BI e|d " input output"
+encrypt or decrypt a file
+.TP
+.BI ss " <threshold> <number-of-shares> file"
+secret share a file (shares will be named file.000, file.001, etc)
+.TP
+.BI sr " file share1 share2 [....]"
+reconstruct a secret-shared file (number of shares given must be equal
+to threshold)
+.TP
+.BI id " <threshold> <number-of-shares> file"
+information disperse a file (shares will be named file.000, file.001, etc)
+.TP
+.BI ir " file share1 share2 [....]"
+reconstruct an information-dispersed file (number of shares given must
+be equal to threshold)
+.TP
+.BI z " <compression-level> input output"
+gzip a file
+.TP
+.BI u " input output"
+gunzip a file
+.TP
+.BI ae " input output"
+encrypt a file with AES in CTR mode
+.TP
+.BI e64 " input output"
+base64 encode a file
+.TP
+.BI d64 " input output"
+base64 decode a file
+.TP
+.BI e16 " input output"
+hex encode a file
+.TP
+.BI d16 " input output"
+hex decode a file
+.TP
+.BI ft " source-port destination-host destination-port"
+forward a TCP connection
+.TP
+.BI fips
+run the FIPS 140-2 sample application
+.TP
+.BI fips-rand
+generate 100000 random files using FIPS Approved X.917 RNG
+.TP
+.BI mt " input"
+run Maurer's randomness test on a file
+.TP
+.B v
+run validation tests
+.TP
+.B V
+display version number
+.TP
+.BI b " [time for each benchmark in seconds] [frequency of CPU in gigahertz]"
+run benchmarks
+.TP
+.BI tv " filename"
+run test vector file (available in TestVectors example subdirectory)
+.SH AUTHOR
+This man page was created by Stephen Zander, Pierre Machard and Jens
+Peter Secher for the Debian distribution. It is licenced under the
+same terms as the rest of the Crypto++ library, written by Wei Dai.
--- /dev/null
+sed -i 's/)\/cryptopp/)\/crypto++/' GNUmakefile
+sed -i 's/-lcryptopp/-lcrypto++/' GNUmakefile
+sed -i 's/libcryptopp.a/libcrypto++.a/' GNUmakefile
+sed -i 's/libcryptopp.pc/libcrypto++.pc/' GNUmakefile
+sed -i 's/libcryptopp.so/libcrypto++.so/g' GNUmakefile
+sed -i 's/cryptest.exe/cryptest/' GNUmakefile
--- /dev/null
+Readme.txt
--- /dev/null
+usr/include/
+usr/lib/*/*.a
+usr/lib/*/*.so
+usr/lib/*/pkgconfig/*.pc
--- /dev/null
+/usr/include/crypto++ /usr/include/cryptopp
+/usr/lib/ARCH/libcrypto++.a /usr/lib/ARCH/libcryptopp.a
+/usr/lib/ARCH/libcrypto++.so /usr/lib/ARCH/libcryptopp.so
--- /dev/null
+Document: libcrypto++
+Title: Crypto++ library reference manual
+Author: Wei Dai
+Abstract: Reference manual for the general purpose cryptographic library
+ Crypto++ for the C++ language.
+Section: Programming
+
+Format: HTML
+Index: /usr/share/doc/libcrypto++-dev/html/index.html
+Files: /usr/share/doc/libcrypto++-dev/html/*.html
--- /dev/null
+html-docs/
--- /dev/null
+/usr/share/javascript/jquery/jquery.js /usr/share/doc/libcrypto++-doc/html/jquery.js
--- /dev/null
+usr/bin
+usr/share/crypto--/TestData usr/share/crypto++
+usr/share/crypto--/TestVectors usr/share/crypto++
--- /dev/null
+debian/cryptest.1
--- /dev/null
+usr/lib/*/*.so.*
--- /dev/null
+/usr/lib/ARCH/libcrypto++.so.8 /usr/lib/ARCH/libcryptopp.so.8
--- /dev/null
+usr/share/crypto++/TestData/
+usr/share/crypto++/TestVectors/
--- /dev/null
+diff --git a/GNUmakefile b/GNUmakefile
+index 6f630710..31bf6b36 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -1,4 +1,3 @@
+-
+ ###########################################################
+ ##### System Attributes and Programs #####
+ ###########################################################
+@@ -99,15 +98,15 @@ endif
+
+ # Hack to skip CPU feature tests for some recipes
+ DETECT_FEATURES ?= 1
+-ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CXXFLAGS)),-DCRYPTOPP_DISABLE_ASM)
++ifneq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CPPFLAGS)$(CXXFLAGS)),)
+ DETECT_FEATURES := 0
+-else ifeq ($(findstring clean,$(MAKECMDGOALS)),clean)
++else ifneq ($(findstring clean,$(MAKECMDGOALS)),)
+ DETECT_FEATURES := 0
+-else ifeq ($(findstring distclean,$(MAKECMDGOALS)),distclean)
++else ifneq ($(findstring distclean,$(MAKECMDGOALS)),)
+ DETECT_FEATURES := 0
+-else ifeq ($(findstring trim,$(MAKECMDGOALS)),trim)
++else ifneq ($(findstring trim,$(MAKECMDGOALS)),)
+ DETECT_FEATURES := 0
+-else ifeq ($(findstring zip,$(MAKECMDGOALS)),zip)
++else ifneq ($(findstring zip,$(MAKECMDGOALS)),)
+ DETECT_FEATURES := 0
+ endif
+
+@@ -142,20 +141,23 @@ endif
+ ##### General Variables #####
+ ###########################################################
+
+-# Base CXXFLAGS used if the user did not specify them
++# Base CPPFLAGS and CXXFLAGS used if the user did not specify them
++ifeq ($(CPPFLAGS),)
++ CRYPTOPP_CPPFLAGS += -DNDEBUG
++endif
+ ifeq ($(CXXFLAGS),)
+ ifeq ($(SUN_COMPILER),1)
+- CRYPTOPP_CXXFLAGS += -DNDEBUG -g -xO3
++ CRYPTOPP_CXXFLAGS += -g -xO3
+ ZOPT = -xO0
+ else
+- CRYPTOPP_CXXFLAGS += -DNDEBUG -g2 -O3
++ CRYPTOPP_CXXFLAGS += -g2 -O3
+ ZOPT = -O0
+ endif
+ endif
+
+ # Fix CXX on Cygwin 1.1.4
+ ifeq ($(CXX),gcc)
+-CXX := g++
++ CXX := g++
+ endif
+
+ # On ARM we may compile aes_armv4.S though the CC compiler
+@@ -202,11 +204,11 @@ endif
+ # Original MinGW targets Win2k by default, but lacks proper Win2k support
+ # if target Windows version is not specified, use Windows XP instead
+ ifeq ($(IS_MINGW),1)
+-ifeq ($(findstring -D_WIN32_WINNT,$(CXXFLAGS)),)
+-ifeq ($(findstring -D_WIN32_WINDOWS,$(CXXFLAGS)),)
+-ifeq ($(findstring -DWINVER,$(CXXFLAGS)),)
+-ifeq ($(findstring -DNTDDI_VERSION,$(CXXFLAGS)),)
+- CRYPTOPP_CXXFLAGS += -D_WIN32_WINNT=0x0501
++ifeq ($(findstring -D_WIN32_WINNT,$(CPPFLAGS)$(CXXFLAGS)),)
++ifeq ($(findstring -D_WIN32_WINDOWS,$(CPPFLAGS)$(CXXFLAGS)),)
++ifeq ($(findstring -DWINVER,$(CPPFLAGS)$(CXXFLAGS)),)
++ifeq ($(findstring -DNTDDI_VERSION,$(CPPFLAGS)$(CXXFLAGS)),)
++ CRYPTOPP_CPPFLAGS += -D_WIN32_WINNT=0x0501
+ endif # NTDDI_VERSION
+ endif # WINVER
+ endif # _WIN32_WINDOWS
+@@ -218,8 +220,8 @@ TPROG = TestPrograms/test_newlib.cpp
+ TOPT =
+ HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
+ ifeq ($(strip $(HAVE_OPT)),0)
+- ifeq ($(findstring -D_XOPEN_SOURCE,$(CXXFLAGS)),)
+- CRYPTOPP_CXXFLAGS += -D_XOPEN_SOURCE=600
++ ifeq ($(findstring -D_XOPEN_SOURCE,$(CPPFLAGS)$(CXXFLAGS)),)
++ CRYPTOPP_CPPFLAGS += -D_XOPEN_SOURCE=600
+ endif
+ endif
+
+@@ -283,7 +285,7 @@ ifeq ($(DETECT_FEATURES),1)
+ endif
+
+ ifeq ($(SSE2_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
+ endif
+
+ # Need SSE2 or higher for these tests
+@@ -392,33 +394,33 @@ ifeq ($(DETECT_FEATURES),1)
+ endif
+
+ ifeq ($(SSE3_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_SSE3
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_SSE3
+ else ifeq ($(SSSE3_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_SSSE3
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_SSSE3
+ else ifeq ($(SSE41_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_SSE4
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_SSE4
+ else ifeq ($(SSE42_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_SSE4
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_SSE4
+ endif
+
+ ifneq ($(SSE42_FLAG),)
+ # Unusual GCC/Clang on Macports. It assembles AES, but not CLMUL.
+ # test_x86_clmul.s:15: no such instruction: 'pclmulqdq $0, %xmm1,%xmm0'
+ ifeq ($(CLMUL_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_CLMUL
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_CLMUL
+ endif
+ ifeq ($(AESNI_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_AESNI
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_AESNI
+ endif
+
+ ifeq ($(AVX_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_AVX
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_AVX
+ else ifeq ($(AVX2_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_AVX2
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_AVX2
+ endif
+ # SHANI independent of AVX per GH #1045
+ ifeq ($(SHANI_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_SHANI
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_SHANI
+ endif
+ endif
+
+@@ -437,7 +439,7 @@ ifeq ($(DETECT_FEATURES),1)
+ #TOPT =
+ #HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
+ #ifneq ($(strip $(HAVE_OPT)),0)
+- # CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_MIXED_ASM
++ # CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_MIXED_ASM
+ #endif
+
+ # SSE2_FLAGS
+@@ -453,13 +455,13 @@ ifneq ($(INTEL_COMPILER),0)
+ # "internal error: backend signals" occurs on some x86 inline assembly with ICC 9 and
+ # some x64 inline assembly with ICC 11.0. If you want to use Crypto++'s assembly code
+ # with ICC, try enabling it on individual files
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
+ endif
+ endif
+
+ # Allow use of "/" operator for GNU Assembler.
+ # http://sourceware.org/bugzilla/show_bug.cgi?id=4572
+-ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CXXFLAGS)),)
++ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CPPFLAGS)$(CXXFLAGS)),)
+ ifeq ($(IS_SUN)$(GCC_COMPILER),11)
+ CRYPTOPP_CXXFLAGS += -Wa,--divide
+ endif
+@@ -473,6 +475,12 @@ endif
+ ###########################################################
+
+ ifneq ($(IS_ARM32),0)
++
++# No need for feature detection on this platform if NEON is disabled
++ifneq ($(findstring -DCRYPTOPP_DISABLE_ARM_NEON,$(CPPFLAGS)$(CXXFLAGS)),)
++ DETECT_FEATURES := 0
++endif
++
+ ifeq ($(DETECT_FEATURES),1)
+
+ # Clang needs an option to include <arm_neon.h>
+@@ -507,7 +515,7 @@ ifeq ($(DETECT_FEATURES),1)
+ endif
+
+ ifeq ($(NEON_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
+ endif
+
+ # DETECT_FEATURES
+@@ -560,7 +568,7 @@ ifeq ($(DETECT_FEATURES),1)
+ endif
+
+ ifeq ($(ASIMD_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
+ endif
+
+ ifneq ($(ASIMD_FLAG),)
+@@ -570,7 +578,7 @@ ifeq ($(DETECT_FEATURES),1)
+ ifeq ($(strip $(HAVE_OPT)),0)
+ CRC_FLAG = -march=armv8-a+crc
+ else
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_CRC32
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_CRC32
+ endif
+
+ TPROG = TestPrograms/test_arm_aes.cpp
+@@ -579,7 +587,7 @@ ifeq ($(DETECT_FEATURES),1)
+ ifeq ($(strip $(HAVE_OPT)),0)
+ AES_FLAG = -march=armv8-a+crypto
+ else
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_AES
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_AES
+ endif
+
+ TPROG = TestPrograms/test_arm_pmull.cpp
+@@ -589,7 +597,7 @@ ifeq ($(DETECT_FEATURES),1)
+ GCM_FLAG = -march=armv8-a+crypto
+ GF2N_FLAG = -march=armv8-a+crypto
+ else
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_PMULL
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_PMULL
+ endif
+
+ TPROG = TestPrograms/test_arm_sha1.cpp
+@@ -598,7 +606,7 @@ ifeq ($(DETECT_FEATURES),1)
+ ifeq ($(strip $(HAVE_OPT)),0)
+ SHA_FLAG = -march=armv8-a+crypto
+ else
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA1
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA1
+ endif
+
+ TPROG = TestPrograms/test_arm_sha256.cpp
+@@ -607,7 +615,7 @@ ifeq ($(DETECT_FEATURES),1)
+ ifeq ($(strip $(HAVE_OPT)),0)
+ SHA_FLAG = -march=armv8-a+crypto
+ else
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA2
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA2
+ endif
+
+ TPROG = TestPrograms/test_arm_sm3.cpp
+@@ -617,8 +625,8 @@ ifeq ($(DETECT_FEATURES),1)
+ SM3_FLAG = -march=armv8.4-a+sm3
+ SM4_FLAG = -march=armv8.4-a+sm3
+ else
+- #CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SM3
+- #CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SM4
++ #CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SM3
++ #CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SM4
+ endif
+
+ TPROG = TestPrograms/test_arm_sha3.cpp
+@@ -627,7 +635,7 @@ ifeq ($(DETECT_FEATURES),1)
+ ifeq ($(strip $(HAVE_OPT)),0)
+ SHA3_FLAG = -march=armv8.4-a+sha3
+ else
+- #CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA3
++ #CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA3
+ endif
+
+ TPROG = TestPrograms/test_arm_sha512.cpp
+@@ -636,7 +644,7 @@ ifeq ($(DETECT_FEATURES),1)
+ ifeq ($(strip $(HAVE_OPT)),0)
+ SHA512_FLAG = -march=armv8.4-a+sha512
+ else
+- #CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA512
++ #CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA512
+ endif
+
+ # ASIMD_FLAG
+@@ -788,13 +796,13 @@ ifeq ($(DETECT_FEATURES),1)
+ # Fixups for missing ISAs
+
+ ifeq ($(ALTIVEC_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ALTIVEC
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ALTIVEC
+ else ifeq ($(POWER7_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_POWER7
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_POWER7
+ else ifeq ($(POWER8_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_POWER8
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_POWER8
+ #else ifeq ($(POWER9_FLAG),)
+- # CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_POWER9
++ # CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_POWER9
+ endif
+
+ # DETECT_FEATURES
+@@ -919,7 +927,7 @@ endif
+ # http://www.oracle.com/technetwork/server-storage/solaris/hwcap-modification-139536.html
+ ifeq ($(IS_SUN)$(SUN_COMPILER),11)
+ ifneq ($(IS_X86)$(IS_X64),00)
+- ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CRYPTOPP_CXXFLAGS) $(CXXFLAGS)),)
++ ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CPPFLAGS)$(CXXFLAGS)),)
+ CRYPTOPP_LDFLAGS += -M cryptopp.mapfile
+ endif # No CRYPTOPP_DISABLE_ASM
+ endif # X86/X32/X64
+@@ -941,7 +949,7 @@ SUN_CC10_BUGGY := $(shell $(CXX) -V 2>&1 | $(GREP) -c -E "CC: Sun .* 5\.10 .* (2
+ ifneq ($(SUN_CC10_BUGGY),0)
+ # -DCRYPTOPP_INCLUDE_VECTOR_CC is needed for Sun Studio 12u1 Sun C++ 5.10 SunOS_i386 128229-02 2009/09/21
+ # and was fixed in May 2010. Remove it if you get "already had a body defined" errors in vector.cc
+-CRYPTOPP_CXXFLAGS += -DCRYPTOPP_INCLUDE_VECTOR_CC
++CRYPTOPP_CPPFLAGS += -DCRYPTOPP_INCLUDE_VECTOR_CC
+ endif
+ AR = $(CXX)
+ ARFLAGS = -xar -o
+@@ -950,9 +958,9 @@ endif
+
+ # No ASM for Travis testing
+ ifeq ($(findstring no-asm,$(MAKECMDGOALS)),no-asm)
+- ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CRYPTOPP_CXXFLAGS) $(CXXFLAGS)),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
+- endif # CRYPTOPP_CXXFLAGS
++ ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CPPFLAGS)$(CXXFLAGS)),)
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
++ endif # CRYPTOPP_CPPFLAGS
+ endif # No ASM
+
+ # Native build testing. Issue 'make native'.
+@@ -998,10 +1006,10 @@ ifeq ($(findstring ubsan,$(MAKECMDGOALS)),ubsan)
+ CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-xO%=-xO1)
+ ifeq ($(findstring -fsanitize=undefined,$(CXXFLAGS)),)
+ CRYPTOPP_CXXFLAGS += -fsanitize=undefined
+- endif # CRYPTOPP_CXXFLAGS
+- ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_COVERAGE
+- endif # CRYPTOPP_CXXFLAGS
++ endif # CRYPTOPP_CPPFLAGS
++ ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CPPFLAGS)$(CXXFLAGS)),)
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_COVERAGE
++ endif # CRYPTOPP_CPPFLAGS
+ endif # UBsan
+
+ # Address Sanitizer (Asan) testing. Issue 'make asan'.
+@@ -1012,9 +1020,9 @@ ifeq ($(findstring asan,$(MAKECMDGOALS)),asan)
+ ifeq ($(findstring -fsanitize=address,$(CXXFLAGS)),)
+ CRYPTOPP_CXXFLAGS += -fsanitize=address
+ endif # CRYPTOPP_CXXFLAGS
+- ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_COVERAGE
+- endif # CRYPTOPP_CXXFLAGS
++ ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CPPFLAGS)$(CXXFLAGS)),)
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_COVERAGE
++ endif # CRYPTOPP_CPPFLAGS
+ ifeq ($(findstring -fno-omit-frame-pointer,$(CXXFLAGS)),)
+ CRYPTOPP_CXXFLAGS += -fno-omit-frame-pointer
+ endif # CRYPTOPP_CXXFLAGS
+@@ -1036,8 +1044,8 @@ ifneq ($(filter lcov coverage,$(MAKECMDGOALS)),)
+ CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-g%=-g3)
+ CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-O%=-O1)
+ CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-xO%=-xO1)
+- ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_COVERAGE
++ ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CPPFLAGS)$(CXXFLAGS)),)
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_COVERAGE
+ endif # CRYPTOPP_COVERAGE
+ ifeq ($(findstring -coverage,$(CXXFLAGS)),)
+ CRYPTOPP_CXXFLAGS += -coverage
+@@ -1049,8 +1057,8 @@ ifneq ($(filter gcov codecov,$(MAKECMDGOALS)),)
+ CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-g%=-g3)
+ CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-O%=-O1)
+ CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-xO%=-xO1)
+- ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_COVERAGE
++ ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CPPFLAGS)$(CXXFLAGS)),)
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_COVERAGE
+ endif # CRYPTOPP_COVERAGE
+ ifeq ($(findstring -coverage,$(CXXFLAGS)),)
+ CRYPTOPP_CXXFLAGS += -coverage
+@@ -1063,9 +1071,9 @@ ifneq ($(filter valgrind,$(MAKECMDGOALS)),)
+ CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-g%=-g3)
+ CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-O%=-O1)
+ CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-xO%=-xO1)
+- ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_COVERAGE
+- endif # -DCRYPTOPP_COVERAGE
++ ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CPPFLAGS)$(CXXFLAGS)),)
++ CRYPTOPP_CPPFLAGS += -DCRYPTOPP_COVERAGE
++ endif # CRYPTOPP_CPPFLAGS
+ endif # Valgrind
+
+ # Debug testing on GNU systems. Triggered by -DDEBUG.
+@@ -1076,9 +1084,9 @@ ifneq ($(filter -DDEBUG -DDEBUG=1,$(CXXFLAGS)),)
+ USING_GLIBCXX := $(shell $(CXX)$(CXXFLAGS) -E $(TPROG) -c 2>&1 | $(GREP) -i -c "__GLIBCXX__")
+ ifneq ($(USING_GLIBCXX),0)
+ ifeq ($(HAS_NEWLIB),0)
+- ifeq ($(findstring -D_GLIBCXX_DEBUG,$(CXXFLAGS)),)
+- CRYPTOPP_CXXFLAGS += -D_GLIBCXX_DEBUG
+- endif # CRYPTOPP_CXXFLAGS
++ ifeq ($(findstring -D_GLIBCXX_DEBUG,$(CPPFLAGS)$(CXXFLAGS)),)
++ CRYPTOPP_CPPFLAGS += -D_GLIBCXX_DEBUG
++ endif # CRYPTOPP_CPPFLAGS
+ endif # HAS_NEWLIB
+ endif # USING_GLIBCXX
+
+@@ -1169,18 +1177,20 @@ ifneq ($(IS_MINGW),0)
+ INCL += resource.h
+ endif
+
+-# Cryptogams source files. We couple to ARMv7.
++# Cryptogams source files. We couple to ARMv7 and NEON.
+ # Limit to Linux. The source files target the GNU assembler.
+ # Also see https://www.cryptopp.com/wiki/Cryptogams.
+ ifeq ($(IS_ARM32)$(IS_LINUX),11)
+- ifeq ($(CLANG_COMPILER),1)
+- CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
+- CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -mthumb -Wa,--noexecstack
+- else
+- CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
+- CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -Wa,--noexecstack
++ ifeq ($(filter -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_ARM_NEON,$(CPPFLAGS)$(CXXFLAGS)),)
++ ifeq ($(CLANG_COMPILER),1)
++ CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
++ CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -mthumb -Wa,--noexecstack
++ else
++ CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
++ CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -Wa,--noexecstack
++ endif
++ SRCS += aes_armv4.S sha1_armv4.S sha256_armv4.S sha512_armv4.S
+ endif
+- SRCS += aes_armv4.S sha1_armv4.S sha256_armv4.S sha512_armv4.S
+ endif
+
+ # Remove unneeded arch specific files to speed build time.
+@@ -1412,6 +1422,7 @@ ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),)
+ $(CHMOD) u=rwx,go=rx $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
+ ifeq ($(HAS_SOLIB_VERSION),1)
+ -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
++ -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
+ $(LDCONF) $(DESTDIR)$(LIBDIR)
+ endif
+ endif
+@@ -1499,7 +1510,7 @@ cryptopp.pc libcryptopp.pc:
+ @echo '' >> libcryptopp.pc
+ @echo 'Name: Crypto++' >> libcryptopp.pc
+ @echo 'Description: Crypto++ cryptographic library' >> libcryptopp.pc
+- @echo 'Version: 8.6' >> libcryptopp.pc
++ @echo 'Version: 8.7' >> libcryptopp.pc
+ @echo 'URL: https://cryptopp.com/' >> libcryptopp.pc
+ @echo '' >> libcryptopp.pc
+ @echo 'Cflags: -I$${includedir}' >> libcryptopp.pc
+@@ -1532,7 +1543,7 @@ endif
+ convert:
+ @-$(CHMOD) u=rwx,go=rx $(EXEC_DIRS)
+ @-$(CHMOD) u=rw,go=r $(TEXT_FILES) *.supp .*.yml *.asm *.zip TestVectors/*.txt TestData/*.dat TestPrograms/*.cpp
+- @-$(CHMOD) u=rwx,go=rx $(EXEC_FILES) *.sh
++ @-$(CHMOD) u=rwx,go=rx $(EXEC_FILES)
+ -unix2dos --keepdate --quiet $(TEXT_FILES) .*.yml *.asm TestScripts/*.cmd TestScripts/*.txt TestScripts/*.cpp
+ -dos2unix --keepdate --quiet GNUmakefile GNUmakefile-cross *.sh *.S *.supp *.mapfile TestScripts/*.sh
+ ifneq ($(IS_DARWIN),0)
+@@ -1737,16 +1748,16 @@ rijndael.o : rijndael.cpp
+ endif
+
+ # Only use CRYPTOPP_DATA_DIR if its not set in CXXFLAGS
+-ifeq ($(findstring -DCRYPTOPP_DATA_DIR, $(CXXFLAGS)),)
++ifeq ($(findstring -DCRYPTOPP_DATA_DIR, $(CPPFLAGS)$(CXXFLAGS)),)
+ ifneq ($(strip $(CRYPTOPP_DATA_DIR)),)
+ validat%.o : validat%.cpp
+- $(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" -c) $<
++ $(CXX) $(strip $(CPPFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" $(CXXFLAGS) -c) $<
+ bench%.o : bench%.cpp
+- $(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" -c) $<
++ $(CXX) $(strip $(CPPFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" $(CXXFLAGS) -c) $<
+ datatest.o : datatest.cpp
+- $(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" -c) $<
++ $(CXX) $(strip $(CPPFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" $(CXXFLAGS) -c) $<
+ test.o : test.cpp
+- $(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" -c) $<
++ $(CXX) $(strip $(CPPFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" $(CXXFLAGS) -c) $<
+ endif
+ endif
+
+@@ -1754,13 +1765,13 @@ validat1.o : validat1.cpp
+ $(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(ALTIVEC_FLAG) -c) $<
+
+ %.dllonly.o : %.cpp
+- $(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -DCRYPTOPP_DLL_ONLY -c) $< -o $@
++ $(CXX) $(strip $(CPPFLAGS) -DCRYPTOPP_DLL_ONLY $(CXXFLAGS) -c) $< -o $@
+
+ %.import.o : %.cpp
+- $(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -DCRYPTOPP_IMPORTS -c) $< -o $@
++ $(CXX) $(strip $(CPPFLAGS) -DCRYPTOPP_IMPORTS $(CXXFLAGS) -c) $< -o $@
+
+ %.export.o : %.cpp
+- $(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -DCRYPTOPP_EXPORTS -c) $< -o $@
++ $(CXX) $(strip $(CPPFLAGS) -DCRYPTOPP_EXPORTS $(CXXFLAGS) -c) $< -o $@
+
+ %.bc : %.cpp
+ $(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -c) $<
+diff --git a/GNUmakefile-cross b/GNUmakefile-cross
+index 9847f04b..1c2c55fb 100644
+--- a/GNUmakefile-cross
++++ b/GNUmakefile-cross
+@@ -184,15 +184,15 @@ IS_PPC64 := 0
+
+ # Hack to skip CPU feature tests for some recipes
+ DETECT_FEATURES ?= 1
+-ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CXXFLAGS)),-DCRYPTOPP_DISABLE_ASM)
++ifneq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CPPFLAGS)$(CXXFLAGS)),)
+ DETECT_FEATURES := 0
+-else ifeq ($(findstring clean,$(MAKECMDGOALS)),clean)
++else ifneq ($(findstring clean,$(MAKECMDGOALS)),)
+ DETECT_FEATURES := 0
+-else ifeq ($(findstring distclean,$(MAKECMDGOALS)),distclean)
++else ifneq ($(findstring distclean,$(MAKECMDGOALS)),)
+ DETECT_FEATURES := 0
+-else ifeq ($(findstring trim,$(MAKECMDGOALS)),trim)
++else ifneq ($(findstring trim,$(MAKECMDGOALS)),)
+ DETECT_FEATURES := 0
+-else ifeq ($(findstring zip,$(MAKECMDGOALS)),zip)
++else ifneq ($(findstring zip,$(MAKECMDGOALS)),)
+ DETECT_FEATURES := 0
+ endif
+
+@@ -240,7 +240,7 @@ ifeq ($(DETECT_FEATURES),1)
+ endif
+
+ ifeq ($(SSE2_FLAG),)
+- CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
++ CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
+ endif
+
+ # Need SSE2 or higher for these tests
+@@ -336,33 +336,33 @@ ifeq ($(DETECT_FEATURES),1)
+ endif
+
+ ifeq ($(SSE3_FLAG),)
+- CXXFLAGS += -DCRYPTOPP_DISABLE_SSE3
++ CPPFLAGS += -DCRYPTOPP_DISABLE_SSE3
+ else ifeq ($(SSSE3_FLAG),)
+- CXXFLAGS += -DCRYPTOPP_DISABLE_SSSE3
++ CPPFLAGS += -DCRYPTOPP_DISABLE_SSSE3
+ else ifeq ($(SSE41_FLAG),)
+- CXXFLAGS += -DCRYPTOPP_DISABLE_SSE4
++ CPPFLAGS += -DCRYPTOPP_DISABLE_SSE4
+ else ifeq ($(SSE42_FLAG),)
+- CXXFLAGS += -DCRYPTOPP_DISABLE_SSE4
++ CPPFLAGS += -DCRYPTOPP_DISABLE_SSE4
+ endif
+
+ ifneq ($(SSE42_FLAG),)
+ # Unusual GCC/Clang on Macports. It assembles AES, but not CLMUL.
+ # test_x86_clmul.s:15: no such instruction: 'pclmulqdq $0, %xmm1,%xmm0'
+ ifeq ($(CLMUL_FLAG),)
+- CXXFLAGS += -DCRYPTOPP_DISABLE_CLMUL
++ CPPFLAGS += -DCRYPTOPP_DISABLE_CLMUL
+ endif
+ ifeq ($(AESNI_FLAG),)
+- CXXFLAGS += -DCRYPTOPP_DISABLE_AESNI
++ CPPFLAGS += -DCRYPTOPP_DISABLE_AESNI
+ endif
+
+ ifeq ($(AVX_FLAG),)
+- CXXFLAGS += -DCRYPTOPP_DISABLE_AVX
++ CPPFLAGS += -DCRYPTOPP_DISABLE_AVX
+ else ifeq ($(AVX2_FLAG),)
+- CXXFLAGS += -DCRYPTOPP_DISABLE_AVX2
++ CPPFLAGS += -DCRYPTOPP_DISABLE_AVX2
+ endif
+ # SHANI independent of AVX per GH #1045
+ ifeq ($(SHANI_FLAG),)
+- CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_SHANI
++ CPPFLAGS += -DCRYPTOPP_DISABLE_SHANI
+ endif
+ endif
+
+@@ -381,7 +381,7 @@ ifeq ($(DETECT_FEATURES),1)
+ #TOPT =
+ #HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
+ #ifneq ($(strip $(HAVE_OPT)),0)
+- # CXXFLAGS += -DCRYPTOPP_DISABLE_MIXED_ASM
++ # CPPFLAGS += -DCRYPTOPP_DISABLE_MIXED_ASM
+ #endif
+
+ # SSE2_FLAGS
+@@ -398,6 +398,12 @@ endif
+ ###########################################################
+
+ ifneq ($(IS_ARM32),0)
++
++# No need for feature detection on this platform if NEON is disabled
++ifneq ($(findstring -DCRYPTOPP_DISABLE_ARM_NEON,$(CPPFLAGS)$(CXXFLAGS)),)
++ DETECT_FEATURES := 0
++endif
++
+ ifeq ($(DETECT_FEATURES),1)
+
+ # Android needs -c compile flag for NEON. Otherwise there's an odd linker message.
+@@ -441,7 +447,7 @@ ifeq ($(DETECT_FEATURES),1)
+ endif
+
+ ifeq ($(NEON_FLAG),)
+- CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
++ CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
+ endif
+
+ # DETECT_FEATURES
+@@ -508,7 +514,7 @@ ifeq ($(DETECT_FEATURES),1)
+ endif
+
+ ifeq ($(ASIMD_FLAG),)
+- CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
++ CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
+ endif
+
+ ifneq ($(ASIMD_FLAG),)
+@@ -518,7 +524,7 @@ ifeq ($(DETECT_FEATURES),1)
+ HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
+ ifneq ($(strip $(HAVE_OPT)),0)
+ CRC_FLAG =
+- CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_CRC32
++ CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_CRC32
+ endif
+
+ TPROG = TestPrograms/test_arm_aes.cpp
+@@ -526,7 +532,7 @@ ifeq ($(DETECT_FEATURES),1)
+ HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
+ ifneq ($(strip $(HAVE_OPT)),0)
+ AES_FLAG =
+- CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_AES
++ CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_AES
+ endif
+
+ TPROG = TestPrograms/test_arm_pmull.cpp
+@@ -535,7 +541,7 @@ ifeq ($(DETECT_FEATURES),1)
+ ifneq ($(strip $(HAVE_OPT)),0)
+ GCM_FLAG =
+ GF2N_FLAG =
+- CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_PMULL
++ CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_PMULL
+ endif
+
+ TPROG = TestPrograms/test_arm_sha1.cpp
+@@ -543,7 +549,7 @@ ifeq ($(DETECT_FEATURES),1)
+ HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
+ ifneq ($(strip $(HAVE_OPT)),0)
+ SHA_FLAG =
+- CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA1
++ CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA1
+ endif
+
+ TPROG = TestPrograms/test_arm_sha256.cpp
+@@ -551,7 +557,7 @@ ifeq ($(DETECT_FEATURES),1)
+ HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
+ ifneq ($(strip $(HAVE_OPT)),0)
+ SHA_FLAG =
+- CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA2
++ CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA2
+ endif
+
+ TPROG = TestPrograms/test_arm_sm3.cpp
+@@ -561,8 +567,8 @@ ifeq ($(DETECT_FEATURES),1)
+ SM3_FLAG = -march=armv8.4-a+sm3
+ SM4_FLAG = -march=armv8.4-a+sm3
+ else
+- #CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SM3
+- #CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SM4
++ #CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SM3
++ #CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SM4
+ endif
+
+ TPROG = TestPrograms/test_arm_sha3.cpp
+@@ -571,7 +577,7 @@ ifeq ($(DETECT_FEATURES),1)
+ ifeq ($(strip $(HAVE_OPT)),0)
+ SHA3_FLAG = -march=armv8.4-a+sha3
+ else
+- #CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA3
++ #CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA3
+ endif
+
+ TPROG = TestPrograms/test_arm_sha512.cpp
+@@ -580,7 +586,7 @@ ifeq ($(DETECT_FEATURES),1)
+ ifeq ($(strip $(HAVE_OPT)),0)
+ SHA512_FLAG = -march=armv8.4-a+sha512
+ else
+- #CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA512
++ #CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA512
+ endif
+
+ # ASIMD_FLAG
+@@ -596,10 +602,10 @@ endif
+ ###########################################################
+
+ # No ASM for Travis testing
+-ifeq ($(findstring no-asm,$(MAKECMDGOALS)),no-asm)
+- ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CXXFLAGS)),)
+- CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
+- endif # CXXFLAGS
++ifneq ($(findstring no-asm,$(MAKECMDGOALS)),)
++ ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CPPFLAGS)$(CXXFLAGS)),)
++ CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
++ endif # CPPFLAGS
+ endif # No ASM
+
+ # Undefined Behavior Sanitizer (UBsan) testing. Issue 'make ubsan'.
+@@ -607,9 +613,9 @@ ifeq ($(findstring ubsan,$(MAKECMDGOALS)),ubsan)
+ ifeq ($(findstring -fsanitize=undefined,$(CXXFLAGS)),)
+ CXXFLAGS += -fsanitize=undefined
+ endif # CXXFLAGS
+- ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
+- CXXFLAGS += -DCRYPTOPP_COVERAGE
+- endif # CXXFLAGS
++ ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CPPFLAGS)$(CXXFLAGS)),)
++ CPPFLAGS += -DCRYPTOPP_COVERAGE
++ endif # CPPFLAGS
+ endif # UBsan
+
+ # Address Sanitizer (Asan) testing. Issue 'make asan'.
+@@ -617,9 +623,9 @@ ifeq ($(findstring asan,$(MAKECMDGOALS)),asan)
+ ifeq ($(findstring -fsanitize=address,$(CXXFLAGS)),)
+ CXXFLAGS += -fsanitize=address
+ endif # CXXFLAGS
+- ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
+- CXXFLAGS += -DCRYPTOPP_COVERAGE
+- endif # CXXFLAGS
++ ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CPPFLAGS)$(CXXFLAGS)),)
++ CPPFLAGS += -DCRYPTOPP_COVERAGE
++ endif # CPPFLAGS
+ ifeq ($(findstring -fno-omit-frame-pointer,$(CXXFLAGS)),)
+ CXXFLAGS += -fno-omit-frame-pointer
+ endif # CXXFLAGS
+@@ -641,20 +647,20 @@ ifneq ($(filter valgrind,$(MAKECMDGOALS)),)
+ CXXFLAGS := $(CXXFLAGS:-g%=-g3)
+ CXXFLAGS := $(CXXFLAGS:-O%=-O1)
+ CXXFLAGS := $(CXXFLAGS:-xO%=-xO1)
+- ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
+- CXXFLAGS += -DCRYPTOPP_COVERAGE
+- endif # -DCRYPTOPP_COVERAGE
++ ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CPPFLAGS)$(CXXFLAGS)),)
++ CPPFLAGS += -DCRYPTOPP_COVERAGE
++ endif # CPPFLAGS
+ endif # Valgrind
+
+ # Debug testing on GNU systems. Triggered by -DDEBUG.
+-# Newlib test due to http://sourceware.org/bugzilla/show_bug.cgi?id=20268
+-ifneq ($(filter -DDEBUG -DDEBUG=1,$(CXXFLAGS)),)
+- USING_GLIBCXX := $(shell $(CXX) $(CXXFLAGS) -E pch.cpp 2>&1 | $(GREP) -i -c "__GLIBCXX__")
++# Newlib test due to http://sourceware.org/bugzilla/show_bug.cgi?id=20268
++ifneq ($(filter -DDEBUG -DDEBUG=1,$(CPPFLAGS) $(CXXFLAGS)),)
++ USING_GLIBCXX := $(shell $(CXX) $(CPPFLAGS) $(CXXFLAGS) -E pch.cpp 2>&1 | $(GREP) -i -c "__GLIBCXX__")
+ ifneq ($(USING_GLIBCXX),0)
+ ifeq ($(HAS_NEWLIB),0)
+- ifeq ($(findstring -D_GLIBCXX_DEBUG,$(CXXFLAGS)),)
+- CXXFLAGS += -D_GLIBCXX_DEBUG
+- endif # CXXFLAGS
++ ifeq ($(findstring -D_GLIBCXX_DEBUG,$(CPPFLAGS)$(CXXFLAGS)),)
++ CPPFLAGS += -D_GLIBCXX_DEBUG
++ endif # CPPFLAGS
+ endif # HAS_NEWLIB
+ endif # USING_GLIBCXX
+ endif # GNU Debug build
+@@ -687,18 +693,20 @@ SRCS := cryptlib.cpp cpu.cpp integer.cpp $(filter-out cryptlib.cpp cpu.cpp integ
+ # For Makefile.am; resource.h is Windows
+ INCL := $(filter-out resource.h,$(sort $(wildcard *.h)))
+
+-# Cryptogams source files. We couple to ARMv7.
++# Cryptogams source files. We couple to ARMv7 and NEON.
+ # Limit to Linux. The source files target the GNU assembler.
+ # Also see https://www.cryptopp.com/wiki/Cryptogams.
+ ifeq ($(IS_ARM32)$(IS_LINUX),11)
+- ifeq ($(CLANG_COMPILER),1)
+- CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
+- CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -mthumb -Wa,--noexecstack
+- else
+- CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
+- CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -Wa,--noexecstack
++ ifeq ($(filter -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_ARM_NEON,$(CPPFLAGS)$(CXXFLAGS)),)
++ ifeq ($(CLANG_COMPILER),1)
++ CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
++ CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -mthumb -Wa,--noexecstack
++ else
++ CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
++ CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -Wa,--noexecstack
++ endif
++ SRCS += aes_armv4.S sha1_armv4.S sha256_armv4.S sha512_armv4.S
+ endif
+- SRCS += aes_armv4.S sha1_armv4.S sha256_armv4.S sha512_armv4.S
+ endif
+
+ # Remove unneeded arch specific files to speed build time.
+@@ -856,6 +864,7 @@ ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),)
+ $(CHMOD) u=rwx,go=rx $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
+ ifeq ($(HAS_SOLIB_VERSION),1)
+ -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
++ -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
+ $(LDCONF) $(DESTDIR)$(LIBDIR)
+ endif
+ endif
+diff --git a/config_asm.h b/config_asm.h
+index 3202a2c3..3f7f2306 100644
+--- a/config_asm.h
++++ b/config_asm.h
+@@ -130,7 +130,7 @@
+ #endif\r
+ \r
+ // Couple to CRYPTOPP_DISABLE_AESNI, but use CRYPTOPP_CLMUL_AVAILABLE so we can selectively\r
+-// disable for misbehaving platofrms and compilers, like Solaris or some Clang.\r
++// disable for misbehaving platforms and compilers, like Solaris or some Clang.\r
+ #if defined(CRYPTOPP_DISABLE_AESNI)\r
+ #define CRYPTOPP_DISABLE_CLMUL 1\r
+ #endif\r
+@@ -311,6 +311,12 @@
+ # endif // Platforms\r
+ #endif\r
+ \r
++// Buggy Microsoft compiler, https://github.com/weidai11/cryptopp/issues/1096\r
++#if defined(_MSC_VER)\r
++# undef CRYPTOPP_ARM_SHA1_AVAILABLE\r
++# undef CRYPTOPP_ARM_SHA2_AVAILABLE\r
++#endif\r
++\r
+ // ARMv8 and SHA-512, SHA-3. -march=armv8.2-a+crypto or above must be present\r
+ // Requires GCC 8.0, Clang 11.0, Apple Clang 12.0 or Visual Studio 20??\r
+ #if !defined(CRYPTOPP_ARM_SHA3_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ARM_SHA)\r
+@@ -365,12 +371,14 @@
+ // than C/C++. Define this to use the Cryptogams AES and SHA implementations\r
+ // on GNU Linux systems. When defined, Crypto++ will use aes_armv4.S,\r
+ // sha1_armv4.S and sha256_armv4.S. https://www.cryptopp.com/wiki/Cryptogams.\r
+-#if defined(__arm__) && defined(__linux__)\r
+-# if defined(__GNUC__) || defined(__clang__)\r
+-# define CRYPTOGAMS_ARM_AES 1\r
+-# define CRYPTOGAMS_ARM_SHA1 1\r
+-# define CRYPTOGAMS_ARM_SHA256 1\r
+-# define CRYPTOGAMS_ARM_SHA512 1\r
++#if !defined(CRYPTOPP_DISABLE_ARM_NEON)\r
++# if defined(__arm__) && defined(__linux__)\r
++# if defined(__GNUC__) || defined(__clang__)\r
++# define CRYPTOGAMS_ARM_AES 1\r
++# define CRYPTOGAMS_ARM_SHA1 1\r
++# define CRYPTOGAMS_ARM_SHA256 1\r
++# define CRYPTOGAMS_ARM_SHA512 1\r
++# endif\r
+ # endif\r
+ #endif\r
+ \r
--- /dev/null
+From c38adfd7f440c724e79a8582d75167337423021f Mon Sep 17 00:00:00 2001
+From: Jeffrey Walton <noloader@gmail.com>
+Date: Thu, 10 Feb 2022 18:56:24 -0500
+Subject: [PATCH] Don't use -march=armv7 when compiler already offers it (GH
+ #1094)
+
+---
+ GNUmakefile | 43 ++++++++++++++++++++++---------------
+ GNUmakefile-cross | 54 +++++++++++++++++++++++++++++------------------
+ 2 files changed, 59 insertions(+), 38 deletions(-)
+
+diff --git a/GNUmakefile b/GNUmakefile
+index 31bf6b365..c283568c0 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -155,12 +155,18 @@ ifeq ($(CXXFLAGS),)
+ endif
+ endif
+
++# Needed when the assembler is invoked
++ifeq ($(findstring $(ASFLAGS),-Wa,--noexecstack),)
++ CRYPTOPP_ASFLAGS ?= -Wa,--noexecstack
++endif
++
+ # Fix CXX on Cygwin 1.1.4
+ ifeq ($(CXX),gcc)
+ CXX := g++
+ endif
+
+-# On ARM we may compile aes_armv4.S though the CC compiler
++# On ARM we may compile aes_armv4.S, sha1_armv4.S, sha256_armv4.S, and
++# sha512_armv4.S through the CC compiler
+ ifeq ($(GCC_COMPILER),1)
+ CC=gcc
+ else ifeq ($(CLANG_COMPILER),1)
+@@ -956,13 +962,6 @@ ARFLAGS = -xar -o
+ RANLIB = true
+ endif
+
+-# No ASM for Travis testing
+-ifeq ($(findstring no-asm,$(MAKECMDGOALS)),no-asm)
+- ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CPPFLAGS)$(CXXFLAGS)),)
+- CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
+- endif # CRYPTOPP_CPPFLAGS
+-endif # No ASM
+-
+ # Native build testing. Issue 'make native'.
+ ifeq ($(findstring native,$(MAKECMDGOALS)),native)
+ NATIVE_OPT =
+@@ -1182,12 +1181,18 @@ endif
+ # Also see https://www.cryptopp.com/wiki/Cryptogams.
+ ifeq ($(IS_ARM32)$(IS_LINUX),11)
+ ifeq ($(filter -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_ARM_NEON,$(CPPFLAGS)$(CXXFLAGS)),)
++ # Do not use -march=armv7 if the compiler is already targeting the ISA.
++ # Also see https://github.com/weidai11/cryptopp/issues/1094
++ ifneq ($($(CXX) ++ -dM -E - </dev/null 2>/dev/null| grep 'ARM_ARCH 7|_ARM_ARCH_7A__'),)
++ CRYPTOGAMS_ARMV7_FLAG = -march=armv7-a
++ endif
+ ifeq ($(CLANG_COMPILER),1)
+- CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
+- CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -mthumb -Wa,--noexecstack
++ CRYPTOGAMS_ARM_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
++ CRYPTOGAMS_ARM_THUMB_FLAG = $(CRYPTOGAMS_ARMV7_FLAG) -mthumb
+ else
+- CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
+- CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -Wa,--noexecstack
++ # -mfpu=auto due to https://github.com/weidai11/cryptopp/issues/1094
++ CRYPTOGAMS_ARM_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
++ CRYPTOGAMS_ARM_THUMB_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
+ endif
+ SRCS += aes_armv4.S sha1_armv4.S sha256_armv4.S sha512_armv4.S
+ endif
+@@ -1244,7 +1249,8 @@ CLEAN_OBJS := $(CLEAN_SRCS:.cpp=.o) $(CLEAN_SRCS:.cpp=.import.o) $(CLEAN_SRCS:.c
+ # argument to the make program: make CXXFLAGS="..."
+ CPPFLAGS := $(strip $(CRYPTOPP_CPPFLAGS) $(CPPFLAGS))
+ CXXFLAGS := $(strip $(CRYPTOPP_CXXFLAGS) $(CXXFLAGS))
+-LDFLAGS := $(strip $(CRYPTOPP_LDFLAGS) $(LDFLAGS))
++ASFLAGS := $(strip $(CRYPTOPP_ASFLAGS) $(ASFLAGS))
++LDFLAGS := $(strip $(CRYPTOPP_LDFLAGS) $(LDFLAGS))
+
+ ###########################################################
+ ##### Targets and Recipes #####
+@@ -1519,6 +1525,9 @@ cryptopp.pc libcryptopp.pc:
+ # This recipe prepares the distro files
+ TEXT_FILES := *.h *.cpp *.S GNUmakefile GNUmakefile-cross License.txt Readme.txt Install.txt Filelist.txt Doxyfile cryptest* cryptlib* dlltest* cryptdll* *.sln *.vcxproj *.filters cryptopp.rc TestVectors/*.txt TestData/*.dat TestPrograms/*.cpp
+ EXEC_FILES := TestScripts/*.sh TestScripts/*.cmd
++ifneq ($(wildcard *.sh),)
++ EXEC_FILES += $(wildcard *.sh)
++endif
+ EXEC_DIRS := TestData/ TestVectors/ TestScripts/ TestPrograms/
+
+ ifeq ($(wildcard Filelist.txt),Filelist.txt)
+@@ -1594,7 +1603,7 @@ NOSTD_CXXFLAGS=$(filter-out -stdlib=%,$(filter-out -std=%,$(CXXFLAGS)))
+
+ # Cryptogams ARM asm implementation. AES needs -mthumb for Clang
+ aes_armv4.o : aes_armv4.S
+- $(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_THUMB_FLAG) -c) $<
++ $(CXX) $(strip $(CPPFLAGS) $(ASFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARM_THUMB_FLAG) -c) $<
+
+ # SSSE3 or NEON available
+ aria_simd.o : aria_simd.cpp
+@@ -1694,15 +1703,15 @@ sha_simd.o : sha_simd.cpp
+
+ # Cryptogams SHA1 asm implementation.
+ sha1_armv4.o : sha1_armv4.S
+- $(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_FLAG) -c) $<
++ $(CXX) $(strip $(CPPFLAGS) $(ASFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARM_FLAG) -c) $<
+
+ # Cryptogams SHA256 asm implementation.
+ sha256_armv4.o : sha256_armv4.S
+- $(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_FLAG) -c) $<
++ $(CXX) $(strip $(CPPFLAGS) $(ASFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARM_FLAG) -c) $<
+
+ # Cryptogams SHA512 asm implementation.
+ sha512_armv4.o : sha512_armv4.S
+- $(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_FLAG) -c) $<
++ $(CXX) $(strip $(CPPFLAGS) $(ASFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARM_FLAG) -c) $<
+
+ sha3_simd.o : sha3_simd.cpp
+ $(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(SHA3_FLAG) -c) $<
+diff --git a/GNUmakefile-cross b/GNUmakefile-cross
+index 1c2c55fb1..27e124dc2 100644
+--- a/GNUmakefile-cross
++++ b/GNUmakefile-cross
+@@ -47,7 +47,7 @@ endif
+ IS_LINUX := $(shell echo $(MACHINEX) | $(GREP) -i -c "Linux")
+
+ # Can be used by Android and Embedded cross-compiles. Disable by default because
+-# Android and embedded users typically don't run this configuration.
++# Android and embedded users typically don't run this configuration.
+ HAS_SOLIB_VERSION ?= 0
+
+ # Formerly adhoc.cpp was created from adhoc.cpp.proto when needed.
+@@ -60,6 +60,19 @@ endif
+ ##### General Variables #####
+ ###########################################################
+
++# Needed when the assembler is invoked
++ifeq ($(findstring $(ASFLAGS),-Wa,--noexecstack),)
++ ASFLAGS += -Wa,--noexecstack
++endif
++
++# On ARM we may compile aes_armv4.S, sha1_armv4.S, sha256_armv4.S, and
++# sha512_armv4.S through the CC compiler
++ifeq ($(GCC_COMPILER),1)
++ CC ?= gcc
++else ifeq ($(CLANG_COMPILER),1)
++ CC ?= clang
++endif
++
+ # http://www.gnu.org/prep/standards/html_node/Directory-Variables.html
+ ifeq ($(PREFIX),)
+ PREFIX = /usr/local
+@@ -87,7 +100,7 @@ endif
+ ###########################################################
+
+ # MacOS cross-compile configuration.
+-# See http://www.cryptopp.com/wiki/MacOS_(Command_Line).
++# See http://www.cryptopp.com/wiki/MacOS_(Command_Line).
+ ifeq ($(IS_MACOS),1)
+ # setenv-macos.sh sets CPPFLAGS, CXXFLAGS and LDFLAGS
+ IS_APPLE_LIBTOOL=$(shell libtool -V 2>&1 | $(GREP) -i -c 'Apple')
+@@ -104,7 +117,7 @@ endif
+ ###########################################################
+
+ # iOS cross-compile configuration.
+-# See http://www.cryptopp.com/wiki/iOS_(Command_Line).
++# See http://www.cryptopp.com/wiki/iOS_(Command_Line).
+ ifeq ($(IS_IOS),1)
+ # setenv-ios.sh sets CPPFLAGS, CXXFLAGS and LDFLAGS
+ AR = libtool
+@@ -116,7 +129,7 @@ endif
+ ###########################################################
+
+ # Android cross-compile configuration.
+-# See http://www.cryptopp.com/wiki/Android_(Command_Line).
++# See http://www.cryptopp.com/wiki/Android_(Command_Line).
+ ifeq ($(IS_ANDROID),1)
+ # setenv-android.sh sets CPPFLAGS, CXXFLAGS and LDFLAGS
+
+@@ -130,8 +143,8 @@ endif
+ ###########################################################
+
+ # ARM embedded cross-compile configuration.
+-# See http://www.cryptopp.com/wiki/ARM_Embedded_(Command_Line)
+-# and http://www.cryptopp.com/wiki/ARM_Embedded_(Bare Metal).
++# See http://www.cryptopp.com/wiki/ARM_Embedded_(Command_Line)
++# and http://www.cryptopp.com/wiki/ARM_Embedded_(Bare Metal).
+ ifeq ($(IS_ARM_EMBEDDED),1)
+ # setenv-android.sh sets CPPFLAGS, CXXFLAGS and LDFLAGS
+ endif
+@@ -601,13 +614,6 @@ endif
+ ##### Common #####
+ ###########################################################
+
+-# No ASM for Travis testing
+-ifneq ($(findstring no-asm,$(MAKECMDGOALS)),)
+- ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CPPFLAGS)$(CXXFLAGS)),)
+- CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
+- endif # CPPFLAGS
+-endif # No ASM
+-
+ # Undefined Behavior Sanitizer (UBsan) testing. Issue 'make ubsan'.
+ ifeq ($(findstring ubsan,$(MAKECMDGOALS)),ubsan)
+ ifeq ($(findstring -fsanitize=undefined,$(CXXFLAGS)),)
+@@ -698,12 +704,18 @@ INCL := $(filter-out resource.h,$(sort $(wildcard *.h)))
+ # Also see https://www.cryptopp.com/wiki/Cryptogams.
+ ifeq ($(IS_ARM32)$(IS_LINUX),11)
+ ifeq ($(filter -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_ARM_NEON,$(CPPFLAGS)$(CXXFLAGS)),)
++ # Do not use -march=armv7 if the compiler is already targeting the ISA.
++ # Also see https://github.com/weidai11/cryptopp/issues/1094
++ ifneq ($($(CXX) ++ -dM -E - </dev/null 2>/dev/null| grep 'ARM_ARCH 7|_ARM_ARCH_7A__'),)
++ CRYPTOGAMS_ARMV7_FLAG = -march=armv7-a
++ endif
+ ifeq ($(CLANG_COMPILER),1)
+- CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
+- CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -mthumb -Wa,--noexecstack
++ CRYPTOGAMS_ARM_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
++ CRYPTOGAMS_ARM_THUMB_FLAG = $(CRYPTOGAMS_ARMV7_FLAG) -mthumb
+ else
+- CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
+- CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -Wa,--noexecstack
++ # -mfpu=auto due to https://github.com/weidai11/cryptopp/issues/1094
++ CRYPTOGAMS_ARM_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
++ CRYPTOGAMS_ARM_THUMB_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
+ endif
+ SRCS += aes_armv4.S sha1_armv4.S sha256_armv4.S sha512_armv4.S
+ endif
+@@ -938,7 +950,7 @@ NOSTD_CXXFLAGS=$(filter-out -stdlib=%,$(filter-out -std=%,$(CXXFLAGS)))
+
+ # Cryptogams ARM asm implementation. AES needs -mthumb for Clang
+ aes_armv4.o : aes_armv4.S
+- $(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_THUMB_FLAG) -c) $<
++ $(CXX) $(strip $(CPPFLAGS) $(ASFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARM_THUMB_FLAG) -c) $<
+
+ # Use C++ compiler on C source after patching.
+ # https://github.com/weidai11/cryptopp/issues/926
+@@ -1031,15 +1043,15 @@ sha_simd.o : sha_simd.cpp
+
+ # Cryptogams SHA1 asm implementation.
+ sha1_armv4.o : sha1_armv4.S
+- $(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_FLAG) -c) $<
++ $(CXX) $(strip $(CPPFLAGS) $(ASFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARM_FLAG) -c) $<
+
+ # Cryptogams SHA256 asm implementation.
+ sha256_armv4.o : sha256_armv4.S
+- $(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_FLAG) -c) $<
++ $(CXX) $(strip $(CPPFLAGS) $(ASFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARM_FLAG) -c) $<
+
+ # Cryptogams SHA512 asm implementation.
+ sha512_armv4.o : sha512_armv4.S
+- $(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_FLAG) -c) $<
++ $(CXX) $(strip $(CPPFLAGS) $(ASFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARM_FLAG) -c) $<
+
+ # SSE4.2/SHA-NI or ARMv8a available
+ shacal2_simd.o : shacal2_simd.cpp
--- /dev/null
+Description: use crypto++ instead of cryptopp
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+Forwarded: not-needed
+Last-Update: 2022-02-12
+
+---
+
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -13,10 +13,10 @@ TMPDIR ?= /tmp
+ TOUT ?= a.out
+ TOUT := $(strip $(TOUT))
+
+-# Allow override for the cryptest.exe recipe. Change to
+-# ./libcryptopp.so or ./libcryptopp.dylib to suit your
++# Allow override for the cryptest recipe. Change to
++# ./libcrypto++.so or ./libcrypto++.dylib to suit your
+ # taste. https://github.com/weidai11/cryptopp/issues/866
+-LINK_LIBRARY ?= libcryptopp.a
++LINK_LIBRARY ?= libcrypto++.a
+ LINK_LIBRARY_PATH ?= ./
+
+ # Command and arguments
+@@ -1135,7 +1135,7 @@ SOLIB_COMPAT_SUFFIX=.$(LIB_MAJOR)
+ ifneq ($(IS_LINUX)$(IS_HURD),00)
+ # Linux uses full version suffix for shared library
+ SOLIB_VERSION_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)
+-SOLIB_FLAGS=-Wl,-soname,libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
++SOLIB_FLAGS=-Wl,-soname,libcrypto++.so$(SOLIB_COMPAT_SUFFIX)
+ endif
+ # Solaris uses -Wl,-h
+ ifeq ($(IS_SUN),1)
+@@ -1143,7 +1143,7 @@ ifeq ($(IS_SUN),1)
+ # The minor version allows previous version to remain and not overwritten.
+ # https://blogs.oracle.com/solaris/how-to-name-a-solaris-shared-object-v2
+ SOLIB_VERSION_SUFFIX=.$(LIB_MAJOR).$(LIB_MINOR)
+-SOLIB_FLAGS=-Wl,-h,libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
++SOLIB_FLAGS=-Wl,-h,libcrypto++.so$(SOLIB_COMPAT_SUFFIX)
+ endif
+ endif # HAS_SOLIB_VERSION
+
+@@ -1258,36 +1258,36 @@ LDFLAGS := $(strip $(CRYPTOPP_LDFLAGS)
+
+ # Default builds program with static library only
+ .PHONY: default
+-default: cryptest.exe
++default: cryptest
+
+ .PHONY: all static dynamic
+-all: static dynamic cryptest.exe
++all: static dynamic cryptest
+
+ ifneq ($(IS_DARWIN),0)
+-static: libcryptopp.a
+-shared dynamic dylib: libcryptopp.dylib
++static: libcrypto++.a
++shared dynamic dylib: libcrypto++.dylib
+ else
+-static: libcryptopp.a
+-shared dynamic: libcryptopp.so$(SOLIB_VERSION_SUFFIX)
++static: libcrypto++.a
++shared dynamic: libcrypto++.so$(SOLIB_VERSION_SUFFIX)
+ endif
+
+ # CXXFLAGS are tuned earlier.
+ .PHONY: native no-asm asan ubsan
+-native no-asm asan ubsan: cryptest.exe
++native no-asm asan ubsan: cryptest
+
+ # CXXFLAGS are tuned earlier. Applications must use linker flags
+ # -Wl,--gc-sections (Linux and Unix) or -Wl,-dead_strip (OS X)
+ .PHONY: lean
+-lean: static dynamic cryptest.exe
++lean: static dynamic cryptest
+
+ # May want to export CXXFLAGS="-g3 -O1"
+ .PHONY: lcov coverage
+-lcov coverage: cryptest.exe
++lcov coverage: cryptest
+ @-$(RM) -r ./TestCoverage/
+ lcov --base-directory . --directory . --zerocounters -q
+- ./cryptest.exe v
+- ./cryptest.exe tv all
+- ./cryptest.exe b 0.25
++ ./cryptest v
++ ./cryptest tv all
++ ./cryptest b 0.25
+ lcov --base-directory . --directory . -c -o cryptest.info
+ lcov --remove cryptest.info "adhoc.*" -o cryptest.info
+ lcov --remove cryptest.info "fips140.*" -o cryptest.info
+@@ -1297,20 +1297,20 @@ lcov coverage: cryptest.exe
+
+ # Travis CI and CodeCov rule
+ .PHONY: gcov codecov
+-gcov codecov: cryptest.exe
++gcov codecov: cryptest
+ @-$(RM) -r ./TestCoverage/
+- ./cryptest.exe v
+- ./cryptest.exe tv all
++ ./cryptest v
++ ./cryptest tv all
+ gcov -r $(SRCS)
+
+ # Should use CXXFLAGS="-g3 -O1"
+ .PHONY: valgrind
+-valgrind: cryptest.exe
+- valgrind --track-origins=yes --suppressions=cryptopp.supp ./cryptest.exe v
++valgrind: cryptest
++ valgrind --track-origins=yes --suppressions=cryptopp.supp ./cryptest v
+
+ .PHONY: test check
+-test check: cryptest.exe
+- ./cryptest.exe v
++test check: cryptest
++ ./cryptest v
+
+ # Used to generate list of source files for Autotools, CMakeList, Android.mk, etc
+ .PHONY: sources
+@@ -1350,13 +1350,13 @@ docs html:
+ .PHONY: clean
+ clean:
+ -$(RM) adhoc.cpp.o adhoc.cpp.proto.o $(CLEAN_OBJS) rdrand-*.o
+- @-$(RM) libcryptopp.a libcryptopp.dylib cryptopp.dll libcryptopp.dll.a libcryptopp.import.a
+- @-$(RM) libcryptopp.so libcryptopp.so$(SOLIB_COMPAT_SUFFIX) libcryptopp.so$(SOLIB_VERSION_SUFFIX)
+- @-$(RM) cryptest.exe dlltest.exe cryptest.import.exe cryptest.dat ct et
++ @-$(RM) libcrypto++.a libcrypto++.dylib cryptopp.dll libcrypto++.dll.a libcrypto++.import.a
++ @-$(RM) libcrypto++.so libcrypto++.so$(SOLIB_COMPAT_SUFFIX) libcrypto++.so$(SOLIB_VERSION_SUFFIX)
++ @-$(RM) cryptest dlltest cryptest.import cryptest.dat ct et
+ @-$(RM) *.la *.lo *.gcov *.gcno *.gcda *.stackdump core core-*
+- @-$(RM) /tmp/adhoc.exe
++ @-$(RM) /tmp/adhoc
+ @-$(RM) -r /tmp/cryptopp_test/
+- @-$(RM) -r *.exe.dSYM/ *.dylib.dSYM/
++ @-$(RM) -r *.dSYM/ *.dylib.dSYM/
+ @-$(RM) -r cov-int/
+
+ .PHONY: autotools-clean
+@@ -1364,7 +1364,7 @@ autotools-clean:
+ @-$(RM) -f configure.ac configure configure.in Makefile.am Makefile.in Makefile
+ @-$(RM) -f config.guess config.status config.sub config.h.in compile depcomp
+ @-$(RM) -f install-sh stamp-h1 ar-lib *.lo *.la *.m4 local.* lt*.sh missing
+- @-$(RM) -f cryptest cryptestcwd libtool* libcryptopp.la libcryptopp.pc*
++ @-$(RM) -f cryptest cryptestcwd libtool* libcrypto++.la libcrypto++.pc*
+ @-$(RM) -rf build-aux/ m4/ auto*.cache/ .deps/ .libs/
+
+ .PHONY: cmake-clean
+@@ -1381,40 +1381,40 @@ android-clean:
+ distclean: clean autotools-clean cmake-clean android-clean
+ -$(RM) adhoc.cpp adhoc.cpp.copied GNUmakefile.deps benchmarks.html cryptest.txt
+ -$(RM) cryptest_all.info cryptest_debug.info cryptest_noasm.info cryptest_base.info cryptest.info cryptest_release.info
+- @-$(RM) cryptest-*.txt cryptopp.tgz libcryptopp.pc *.o *.bc *.ii *~
+- @-$(RM) -r cryptlib.lib cryptest.exe *.suo *.sdf *.pdb Win32/ x64/ ipch/
++ @-$(RM) cryptest-*.txt cryptopp.tgz libcrypto++.pc *.o *.bc *.ii *~
++ @-$(RM) -r cryptlib.lib cryptest *.suo *.sdf *.pdb Win32/ x64/ ipch/
+ @-$(RM) -r $(LIBOBJS:.o=.obj) $(TESTOBJS:.o=.obj)
+ @-$(RM) -r $(LIBOBJS:.o=.lst) $(TESTOBJS:.o=.lst)
+ @-$(RM) -r TestCoverage/ ref*/
+ @-$(RM) cryptopp$(LIB_VER)\.* CryptoPPRef.zip
+
+-# Install cryptest.exe, libcryptopp.a, libcryptopp.so and libcryptopp.pc.
++# Install cryptest, libcrypto++.a, libcrypto++.so and libcrypto++.pc.
+ # The library install was broken-out into its own recipe at GH #653.
+ .PHONY: install
+-install: cryptest.exe install-lib
++install: cryptest install-lib
+ @-$(MKDIR) $(DESTDIR)$(BINDIR)
+- $(CP) cryptest.exe $(DESTDIR)$(BINDIR)
+- $(CHMOD) u=rwx,go=rx $(DESTDIR)$(BINDIR)/cryptest.exe
+- @-$(MKDIR) $(DESTDIR)$(DATADIR)/cryptopp/TestData
+- @-$(MKDIR) $(DESTDIR)$(DATADIR)/cryptopp/TestVectors
+- $(CP) TestData/*.dat $(DESTDIR)$(DATADIR)/cryptopp/TestData
+- $(CHMOD) u=rw,go=r $(DESTDIR)$(DATADIR)/cryptopp/TestData/*.dat
+- $(CP) TestVectors/*.txt $(DESTDIR)$(DATADIR)/cryptopp/TestVectors
+- $(CHMOD) u=rw,go=r $(DESTDIR)$(DATADIR)/cryptopp/TestVectors/*.txt
++ $(CP) cryptest $(DESTDIR)$(BINDIR)
++ $(CHMOD) u=rwx,go=rx $(DESTDIR)$(BINDIR)/cryptest
++ @-$(MKDIR) $(DESTDIR)$(DATADIR)/crypto++/TestData
++ @-$(MKDIR) $(DESTDIR)$(DATADIR)/crypto++/TestVectors
++ $(CP) TestData/*.dat $(DESTDIR)$(DATADIR)/crypto++/TestData
++ $(CHMOD) u=rw,go=r $(DESTDIR)$(DATADIR)/crypto++/TestData/*.dat
++ $(CP) TestVectors/*.txt $(DESTDIR)$(DATADIR)/crypto++/TestVectors
++ $(CHMOD) u=rw,go=r $(DESTDIR)$(DATADIR)/crypto++/TestVectors/*.txt
+
+-# A recipe to install only the library, and not cryptest.exe. Also
++# A recipe to install only the library, and not cryptest. Also
+ # see https://github.com/weidai11/cryptopp/issues/653. Some users
+-# already have a libcryptopp.pc. Install the *.pc file if the file
+-# is present. If you want one, then issue 'make libcryptopp.pc'.
++# already have a libcrypto++.pc. Install the *.pc file if the file
++# is present. If you want one, then issue 'make libcrypto++.pc'.
+ .PHONY: install-lib
+ install-lib:
+- @-$(MKDIR) $(DESTDIR)$(INCLUDEDIR)/cryptopp
+- $(CP) *.h $(DESTDIR)$(INCLUDEDIR)/cryptopp
+- $(CHMOD) u=rw,go=r $(DESTDIR)$(INCLUDEDIR)/cryptopp/*.h
+-ifneq ($(wildcard libcryptopp.a),)
++ @-$(MKDIR) $(DESTDIR)$(INCLUDEDIR)/crypto++
++ $(CP) *.h $(DESTDIR)$(INCLUDEDIR)/crypto++
++ $(CHMOD) u=rw,go=r $(DESTDIR)$(INCLUDEDIR)/crypto++/*.h
++ifneq ($(wildcard libcrypto++.a),)
+ @-$(MKDIR) $(DESTDIR)$(LIBDIR)
+- $(CP) libcryptopp.a $(DESTDIR)$(LIBDIR)
+- $(CHMOD) u=rw,go=r $(DESTDIR)$(LIBDIR)/libcryptopp.a
++ $(CP) libcrypto++.a $(DESTDIR)$(LIBDIR)
++ $(CHMOD) u=rw,go=r $(DESTDIR)$(LIBDIR)/libcrypto++.a
+ endif
+ ifneq ($(wildcard libcryptopp.dylib),)
+ @-$(MKDIR) $(DESTDIR)$(LIBDIR)
+@@ -1422,64 +1422,64 @@ ifneq ($(wildcard libcryptopp.dylib),)
+ $(CHMOD) u=rwx,go=rx $(DESTDIR)$(LIBDIR)/libcryptopp.dylib
+ -install_name_tool -id $(DESTDIR)$(LIBDIR)/libcryptopp.dylib $(DESTDIR)$(LIBDIR)/libcryptopp.dylib
+ endif
+-ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),)
++ifneq ($(wildcard libcrypto++.so$(SOLIB_VERSION_SUFFIX)),)
+ @-$(MKDIR) $(DESTDIR)$(LIBDIR)
+- $(CP) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)
+- $(CHMOD) u=rwx,go=rx $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
++ $(CP) libcrypto++.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)
++ $(CHMOD) u=rwx,go=rx $(DESTDIR)$(LIBDIR)/libcrypto++.so$(SOLIB_VERSION_SUFFIX)
+ ifeq ($(HAS_SOLIB_VERSION),1)
+- -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
+- -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
++ -$(LN) libcrypto++.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcrypto++.so
++ -$(LN) libcrypto++.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcrypto++.so$(SOLIB_COMPAT_SUFFIX)
+ $(LDCONF) $(DESTDIR)$(LIBDIR)
+ endif
+ endif
+-ifneq ($(wildcard libcryptopp.pc),)
++ifneq ($(wildcard libcrypto++.pc),)
+ @-$(MKDIR) $(DESTDIR)$(LIBDIR)/pkgconfig
+- $(CP) libcryptopp.pc $(DESTDIR)$(LIBDIR)/pkgconfig
+- $(CHMOD) u=rw,go=r $(DESTDIR)$(LIBDIR)/pkgconfig/libcryptopp.pc
++ $(CP) libcrypto++.pc $(DESTDIR)$(LIBDIR)/pkgconfig
++ $(CHMOD) u=rw,go=r $(DESTDIR)$(LIBDIR)/pkgconfig/libcrypto++.pc
+ endif
+
+ .PHONY: remove uninstall
+ remove uninstall:
+- -$(RM) -r $(DESTDIR)$(INCLUDEDIR)/cryptopp
+- -$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.a
+- -$(RM) $(DESTDIR)$(BINDIR)/cryptest.exe
++ -$(RM) -r $(DESTDIR)$(INCLUDEDIR)/crypto++
++ -$(RM) $(DESTDIR)$(LIBDIR)/libcrypto++.a
++ -$(RM) $(DESTDIR)$(BINDIR)/cryptest
+ ifneq ($(wildcard $(DESTDIR)$(LIBDIR)/libcryptopp.dylib),)
+ -$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.dylib
+ endif
+-ifneq ($(wildcard $(DESTDIR)$(LIBDIR)/libcryptopp.so),)
+- -$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so
++ifneq ($(wildcard $(DESTDIR)$(LIBDIR)/libcrypto++.so),)
++ -$(RM) $(DESTDIR)$(LIBDIR)/libcrypto++.so
+ endif
+- @-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
+- @-$(RM) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
+- @-$(RM) $(DESTDIR)$(LIBDIR)/pkgconfig/libcryptopp.pc
+- @-$(RM) -r $(DESTDIR)$(DATADIR)/cryptopp
++ @-$(RM) $(DESTDIR)$(LIBDIR)/libcrypto++.so$(SOLIB_VERSION_SUFFIX)
++ @-$(RM) $(DESTDIR)$(LIBDIR)/libcrypto++.so$(SOLIB_COMPAT_SUFFIX)
++ @-$(RM) $(DESTDIR)$(LIBDIR)/pkgconfig/libcrypto++.pc
++ @-$(RM) -r $(DESTDIR)$(DATADIR)/crypto++
+
+-libcryptopp.a: $(LIBOBJS) | osx_warning
++libcrypto++.a: $(LIBOBJS) | osx_warning
+ $(AR) $(ARFLAGS) $@ $(LIBOBJS)
+ ifeq ($(IS_SUN),0)
+ $(RANLIB) $@
+ endif
+
+ ifeq ($(HAS_SOLIB_VERSION),1)
+-.PHONY: libcryptopp.so
+-libcryptopp.so: libcryptopp.so$(SOLIB_VERSION_SUFFIX) | so_warning
++.PHONY: libcrypto++.so
++libcryptopp.so: libcrypto++.so$(SOLIB_VERSION_SUFFIX) | so_warning
+ endif
+
+-libcryptopp.so$(SOLIB_VERSION_SUFFIX): $(LIBOBJS)
++libcrypto++.so$(SOLIB_VERSION_SUFFIX): $(LIBOBJS)
+ ifeq ($(XLC_COMPILER),1)
+ $(CXX) -qmkshrobj $(SOLIB_FLAGS) -o $@ $(CXXFLAGS) $(LDFLAGS) $(LIBOBJS) $(LDLIBS)
+ else
+ $(CXX) -shared $(SOLIB_FLAGS) -o $@ $(CXXFLAGS) $(LDFLAGS) $(LIBOBJS) $(LDLIBS)
+ endif
+ ifeq ($(HAS_SOLIB_VERSION),1)
+- -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) libcryptopp.so
+- -$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
++ -$(LN) libcrypto++.so$(SOLIB_VERSION_SUFFIX) libcrypto++.so
++ -$(LN) libcrypto++.so$(SOLIB_VERSION_SUFFIX) libcrypto++.so$(SOLIB_COMPAT_SUFFIX)
+ endif
+
+ libcryptopp.dylib: $(LIBOBJS) | osx_warning
+ $(CXX) -dynamiclib -o $@ $(CXXFLAGS) -install_name "$@" -current_version "$(LIB_MAJOR).$(LIB_MINOR).$(LIB_PATCH)" -compatibility_version "$(LIB_MAJOR).$(LIB_MINOR)" -headerpad_max_install_names $(LDFLAGS) $(LIBOBJS)
+
+-cryptest.exe: $(LINK_LIBRARY) $(TESTOBJS) | osx_warning
++cryptest: $(LINK_LIBRARY) $(TESTOBJS) | osx_warning
+ $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) $(LINK_LIBRARY_PATH)$(LINK_LIBRARY) $(LDFLAGS) $(LDLIBS)
+
+ # Makes it faster to test changes
+@@ -1506,21 +1506,21 @@ dlltest.exe: cryptopp.dll $(DLLTESTOBJS)
+ # Some users already have a libcryptopp.pc. We install it if the file
+ # is present. If you want one, then issue 'make libcryptopp.pc'. Be sure
+ # to use/verify PREFIX and LIBDIR below after writing the file.
+-cryptopp.pc libcryptopp.pc:
+- @echo '# Crypto++ package configuration file' > libcryptopp.pc
+- @echo '' >> libcryptopp.pc
+- @echo 'prefix=$(PC_PREFIX)' >> libcryptopp.pc
+- @echo 'libdir=$(PC_LIBDIR)' >> libcryptopp.pc
+- @echo 'includedir=$(PC_INCLUDEDIR)' >> libcryptopp.pc
+- @echo 'datadir=$(PC_DATADIR)' >> libcryptopp.pc
+- @echo '' >> libcryptopp.pc
+- @echo 'Name: Crypto++' >> libcryptopp.pc
+- @echo 'Description: Crypto++ cryptographic library' >> libcryptopp.pc
+- @echo 'Version: 8.7' >> libcryptopp.pc
+- @echo 'URL: https://cryptopp.com/' >> libcryptopp.pc
+- @echo '' >> libcryptopp.pc
+- @echo 'Cflags: -I$${includedir}' >> libcryptopp.pc
+- @echo 'Libs: -L$${libdir} -lcryptopp' >> libcryptopp.pc
++cryptopp.pc libcrypto++.pc:
++ @echo '# Crypto++ package configuration file' > libcrypto++.pc
++ @echo '' >> libcrypto++.pc
++ @echo 'prefix=$(PC_PREFIX)' >> libcrypto++.pc
++ @echo 'libdir=$(PC_LIBDIR)' >> libcrypto++.pc
++ @echo 'includedir=$(PC_INCLUDEDIR)' >> libcrypto++.pc
++ @echo 'datadir=$(PC_DATADIR)' >> libcrypto++.pc
++ @echo '' >> libcrypto++.pc
++ @echo 'Name: Crypto++' >> libcrypto++.pc
++ @echo 'Description: Crypto++ cryptographic library' >> libcrypto++.pc
++ @echo 'Version: 8.7' >> libcrypto++.pc
++ @echo 'URL: https://cryptopp.com/' >> libcrypto++.pc
++ @echo '' >> libcrypto++.pc
++ @echo 'Cflags: -I$${includedir}' >> libcrypto++.pc
++ @echo 'Libs: -L$${libdir} -lcryptopp' >> libcrypto++.pc
+
+ # This recipe prepares the distro files
+ TEXT_FILES := *.h *.cpp *.S GNUmakefile GNUmakefile-cross License.txt Readme.txt Install.txt Filelist.txt Doxyfile cryptest* cryptlib* dlltest* cryptdll* *.sln *.vcxproj *.filters cryptopp.rc TestVectors/*.txt TestData/*.dat TestPrograms/*.cpp
+@@ -1582,9 +1582,9 @@ endif
+ # CRYPTOPP_CPU_FREQ in GHz
+ CRYPTOPP_CPU_FREQ ?= 0.0
+ .PHONY: bench benchmark benchmarks
+-bench benchmark benchmarks: cryptest.exe
++bench benchmark benchmarks: cryptest
+ @-$(RM) -f benchmarks.html
+- ./cryptest.exe b 2 $(CRYPTOPP_CPU_FREQ)
++ ./cryptest b 2 $(CRYPTOPP_CPU_FREQ)
+
+ adhoc.cpp: adhoc.cpp.proto
+ ifeq ($(wildcard adhoc.cpp),)
--- /dev/null
+GNUmakefile_update.patch
+armhf_FTBFS_fix.patch
+fix_library_name.patch
+use-fp-with-march.patch
--- /dev/null
+Description: pass -march=armv7+fp when building "armv4" assembler files.
+ despite the names these only seem to be used for armv7, and contain
+ neon implementations which won't be built if no -march is specified
+Author: Peter Michael Green <plugwash@raspbian.org>
+
+Index: libcrypto++-8.6.0/GNUmakefile
+===================================================================
+--- libcrypto++-8.6.0.orig/GNUmakefile
++++ libcrypto++-8.6.0/GNUmakefile
+@@ -1181,11 +1181,7 @@ endif
+ # Also see https://www.cryptopp.com/wiki/Cryptogams.
+ ifeq ($(IS_ARM32)$(IS_LINUX),11)
+ ifeq ($(filter -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_ARM_NEON,$(CPPFLAGS)$(CXXFLAGS)),)
+- # Do not use -march=armv7 if the compiler is already targeting the ISA.
+- # Also see https://github.com/weidai11/cryptopp/issues/1094
+- ifneq ($($(CXX) ++ -dM -E - </dev/null 2>/dev/null| grep 'ARM_ARCH 7|_ARM_ARCH_7A__'),)
+- CRYPTOGAMS_ARMV7_FLAG = -march=armv7-a
+- endif
++ CRYPTOGAMS_ARMV7_FLAG = -march=armv7-a+fp
+ ifeq ($(CLANG_COMPILER),1)
+ CRYPTOGAMS_ARM_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
+ CRYPTOGAMS_ARM_THUMB_FLAG = $(CRYPTOGAMS_ARMV7_FLAG) -mthumb
--- /dev/null
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+DOC_PKG_DIR = $(CURDIR)/debian/libcrypto++-doc/
+
+CXXFLAGS+=-DNDEBUG
+
+SONAME=8
+
+PREFIX=/usr
+LIBDIR=$(PREFIX)/lib/$(DEB_HOST_MULTIARCH)/
+
+override_dh_auto_clean:
+ dh_auto_clean
+ rm -f $(CURDIR)/libcrypto++.pc.in $(CURDIR)/config.log
+ rm -rf $(CURDIR)/html-docs/
+ # these will be re-generated
+ rm -f $(CURDIR)/debian/libcrypto++$(SONAME).links \
+ $(CURDIR)/debian/libcrypto++-dev.links
+
+override_dh_auto_build-arch:
+ PREFIX=$(PREFIX) LIBDIR=$(LIBDIR) dh_auto_build -a \
+ -- all libcrypto++.pc
+
+override_dh_auto_build-indep:
+ doxygen
+
+override_dh_auto_install:
+ # use automake
+ PREFIX=$(PREFIX) LIBDIR=$(LIBDIR) dh_auto_install
+ # install test files
+ mkdir -p $(CURDIR)/debian/tmp/usr/share/crypto--/
+ cp -a $(CURDIR)/TestVectors $(CURDIR)/debian/tmp/usr/share/crypto--/
+ chmod a-x $(CURDIR)/debian/tmp/usr/share/crypto--/TestVectors/*.txt
+ cp -a $(CURDIR)/TestData $(CURDIR)/debian/tmp/usr/share/crypto--/
+ # install pkg-config file
+ mkdir -p $(CURDIR)/debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/
+# cp -a $(CURDIR)/*.pc \
+ $(CURDIR)/debian/tmp/usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/
+ # generate links files
+ sed s/ARCH/${DEB_HOST_MULTIARCH}/g \
+ $(CURDIR)/debian/libcrypto++$(SONAME).links.in \
+ >$(CURDIR)/debian/libcrypto++$(SONAME).links
+ sed s/ARCH/${DEB_HOST_MULTIARCH}/g \
+ $(CURDIR)/debian/libcrypto++-dev.links.in \
+ >$(CURDIR)/debian/libcrypto++-dev.links
+
+override_dh_auto_test-arch:
+ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+ $(CURDIR)/cryptest v
+endif
+
+override_dh_auto_test-indep:
+
+override_dh_installdocs:
+ dh_installdocs
+ if [ -d "$(DOC_PKG_DIR)/usr/share/doc/libcrypto++-dev/html-docs" ]; then \
+ mv $(DOC_PKG_DIR)/usr/share/doc/libcrypto++-dev/html-docs \
+ $(DOC_PKG_DIR)/usr/share/doc/libcrypto++-dev/html; \
+ fi
+
+# skip files failing with "Unknown DWARF DW_OP_255" (see bug#949296)
+override_dh_dwz:
+ dh_dwz --exclude=usr/bin/cryptest \
+ --exclude=usr/lib/$(DEB_HOST_MULTIARCH)/libcrypto++.so.8.6.0
+
+%:
+ dh $@
+
+.PHONY: override_dh_auto_clean override_dh_auto_build-arch \
+ override_dh_auto_build-indep override_dh_auto_install \
+ override_dh_installdocs override_dh_dwz \
+ override_dh_auto_test-arch override_dh_auto_test-indep
--- /dev/null
+3.0 (quilt)
--- /dev/null
+version=3
+opts=uversionmangle=s/^(\d)_?(\d)_?(\d)$/$1.$2.$3/;s/^(\d)_?(\d)$/$1.$2/ \
+https://github.com/weidai11/cryptopp/releases .*/CRYPTOPP_(\d[\d_]+)\.(?:tar\.xz|txz|tar\.bz2|tbz2|tar\.gz|tgz|zip)