libcrypto++ (8.6.0-3) unstable; urgency=medium
authorLaszlo Boszormenyi (GCS) <gcs@debian.org>
Sat, 12 Feb 2022 09:39:14 +0000 (09:39 +0000)
committerLaszlo Boszormenyi (GCS) <gcs@debian.org>
Sat, 12 Feb 2022 09:39:14 +0000 (09:39 +0000)
  * Fix armhf FTBFS (closes: #1001995).

[dgit import unpatched libcrypto++ 8.6.0-3]

24 files changed:
1  2 
debian/changelog
debian/clean
debian/control
debian/copyright
debian/cryptest.1
debian/fix_library_name.sh
debian/libcrypto++-dev.docs
debian/libcrypto++-dev.install
debian/libcrypto++-dev.links.in
debian/libcrypto++-doc.doc-base
debian/libcrypto++-doc.docs
debian/libcrypto++-doc.links
debian/libcrypto++-utils.install
debian/libcrypto++-utils.manpages
debian/libcrypto++8.install
debian/libcrypto++8.links.in
debian/not-installed
debian/patches/GNUmakefile_update.patch
debian/patches/armhf_FTBFS_fix.patch
debian/patches/fix_library_name.patch
debian/patches/series
debian/rules
debian/source/format
debian/watch

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1becf2536892d7f22bb409f87a9c3cbb430b6b79
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,712 @@@
++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
diff --cc debian/clean
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d87bc97d32d930f82c763dc045640c4c1e9da72f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,19 @@@
++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
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8da4a9cf7d2a8859069b7ef89ef7a35708dee1c3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,131 @@@
++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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f5e2d70aa05e62d0e923a6ee88cbbc21407ae083
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,102 @@@
++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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5ec028fe2be0b2867376a129ef10df20dcb82b22
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,95 @@@
++.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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4220145595d38c1b182392e9383f670c834799c0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,6 @@@
++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b8907ed7e5cb5a4f0a0f0d180d84737a16101409
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++Readme.txt
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..df9fbacc57f84ddf42c7a228b934557f39bed4ec
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++usr/include/
++usr/lib/*/*.a
++usr/lib/*/*.so
++usr/lib/*/pkgconfig/*.pc
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a93e83a565485caccb736766edf2acf5f4277ce0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++/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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c2a9394cd7b1df4d46301aab3b03ac38e15f4b18
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,10 @@@
++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c5c554d37b2109b7f010c0e2d55857d6d10839c4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++html-docs/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..044fa5856210f381ee2b66549ff363aa8d546292
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++/usr/share/javascript/jquery/jquery.js /usr/share/doc/libcrypto++-doc/html/jquery.js
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c12bd0f8f7877bdca32ad659b252830ea457070c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/bin
++usr/share/crypto--/TestData usr/share/crypto++
++usr/share/crypto--/TestVectors usr/share/crypto++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1f2587e5eb9df35fd0dc1b52d8d349529c553aa7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++debian/cryptest.1
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3de3b10a49844edfe7e12e2fde3eb1357306fbfc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/*.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1c367caf451242f086ddbede47f19c62cdbe20ae
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++/usr/lib/ARCH/libcrypto++.so.8 /usr/lib/ARCH/libcryptopp.so.8
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0cd52f30371ef7ab526da23f4dc965f35ac87f2a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++usr/share/crypto++/TestData/
++usr/share/crypto++/TestVectors/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c55fb816e0f36abba4f343c8de8009c86f62f029
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,833 @@@
++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2bb95fb525785f90e21205078092ce9b6a52f5fe
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,256 @@@
++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f43020f6867321554c9750c77defdeed193537e3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,346 @@@
++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),)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4c3b98ae1ba890e7b359369652c3d326b5f5efa0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++GNUmakefile_update.patch
++armhf_FTBFS_fix.patch
++fix_library_name.patch
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..58b591bd82c501225e2af40720a9f4493a2ea5af
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,77 @@@
++#!/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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ab92ef40cd53b2d2b4e91b26eeffb80e45343124
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++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)