libcryptopp: allow compile on different platforms

This commit is contained in:
AmadeusGhost 2020-12-22 23:30:04 +08:00 committed by Tianling Shen
parent c98cf04893
commit 4da95c3acd
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
6 changed files with 3314 additions and 1193 deletions

View File

@ -17,10 +17,10 @@ PKG_HASH:=db38a15a6b1c337c665e2ebeb731dd0754b05e45504897d0f2fe4ae9f5ee589a
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
CMAKE_INSTALL:=1
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/libcryptopp
SECTION:=libs
@ -36,15 +36,13 @@ define Package/package/libcryptopp
abstract base classes.
endef
CMAKE_OPTIONS += -DCMAKE_CXX_FLAGS="$(FPIC)"
CMAKE_OPTIONS += -DBUILD_STATIC=ON
CMAKE_OPTIONS += -DBUILD_SHARED=ON
UNPACK_CMD=cd $(PKG_BUILD_DIR) && unzip "$(DL_DIR)/$(PKG_SOURCE)"
define Build/Prepare
$(Build/Prepare/Default)
cd $(PKG_BUILD_DIR) && rm -f GNUmakefile GNUmakefile-cross
endef
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/cryptopp
$(CP) $(PKG_INSTALL_DIR)/usr/include/cryptopp/* $(1)/usr/include/cryptopp/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,493 @@
## Makefile.am - Autotools configuration file for Crypto++.
## written and placed in public domain by Jeffrey Walton.
## based on Debian Makefile.am by László Böszörményi.
##
## The GNUmakefile can generate the list of lib headers, lib sources,
## test headers and test sources. Generate the list of files with
## 'make sources'. Remove the SIMD files for libothers_la_SOURCES.
## Thanks to steeldriver on U&L.SE for help with the sed.
##
## make sources | sed 's|cryptlib.cpp cpu.cpp integer.cpp ||g' | \
## sed -e 's|[[:alnum:]]*_simd.cpp ||g' | \
## sed -e 's|[[:alnum:]]*_sse.cpp ||g' | \
## sed -e 's|[[:alnum:]]*_avx.cpp ||g' | \
## sed -e 's|ppc_power[[:alnum:]]*.cpp ||g' | \
## fold -w73 -s
##
## The command `make sources | sed ... | fold` will create the source file
## list that can be used with `libothers_la_SOURCES` below.
##
## Note: configure.ac deletes GNUmakefile. You can get it back with:
##
## git checkout GNUmakefile
##
## Automake does not support "specific flags for certain source files"
## natively, so we hack it. The hack include building 20 or so
## libraries and then combining them into an archive or shared object.
## Also see https://lists.gnu.org/archive/html/automake/2017-11/msg00000.html
## https://www.gnu.org/software/automake/manual/html_node/Per_002dObject-Flags.html.
##
## Visit the link below for the original Debian Autotools files
## https://sources.debian.net/src/libcrypto++/5.6.4-8/debian/autotools/
##
## TODO:
##
## - Figure out what's going on with DragonFly and dependencies
##
AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4
AM_DEFAULT_SOURCE_EXT = .cpp
## libcryptopp.la is created from disjoint libraries due to object file
## ordering and per-object file flags requirements. libcryptopp.la is
## named as the primary library, and the object files with special needs
## are listed as EXTRA_LTLIBRARIES. Also see
## https://lists.gnu.org/archive/html/automake/2017-11/msg00000.html.
lib_LTLIBRARIES = \
libcryptopp.la
EXTRA_LTLIBRARIES = \
libcryptlib.la \
libcpu.la \
libinteger.la \
libaria_simd.la \
libblake2s_simd.la \
libblake2b_simd.la \
libchacha_simd.la \
libchacha_avx.la \
libcham_simd.la \
libcrc_simd.la \
libdonna_sse.la \
libgcm_simd.la \
libgf2n_simd.la \
libkeccak_simd.la \
liblea_simd.la \
libneon_simd.la \
libppc_simd.la \
libppc_power7.la \
libppc_power8.la \
libppc_power9.la \
librijndael_simd.la \
libsha_simd.la \
libshacal2_simd.la \
libsimon128_simd.la \
libspeck128_simd.la \
libsm4_simd.la \
libsse_simd.la
## ARMv7-a AES and SHA by Andy Polyakov
if CRYPTOGAMS_ARM_SOURCES
EXTRA_LTLIBRARIES += libaes_armv4.la
EXTRA_LTLIBRARIES += libsha1_armv4.la
EXTRA_LTLIBRARIES += libsha256_armv4.la
EXTRA_LTLIBRARIES += libsha512_armv4.la
endif
## The remainder of the source files
EXTRA_LTLIBRARIES += libothers.la
## libcryptopp_la_SOURCES is empty because we need to create the library
## artifact from disjoint libraries due to object file ordering and
## per-object file flags requriements. Actually, the adhoc.cpp file is
## due to an automake issue of assuming C sources when the list is empty.
## https://lists.gnu.org/archive/html/automake/2017-11/msg00000.html.
libcryptopp_la_SOURCES = \
adhoc.cpp
## Don't use EXTRA_ prefix for libcryptopp_la_LIBADD. It breaks Solaris.
libcryptopp_la_LIBADD = \
$(libcryptlib_la_OBJECTS) \
$(libcpu_la_OBJECTS) \
$(libinteger_la_OBJECTS) \
$(libaria_simd_la_OBJECTS) \
$(libblake2s_simd_la_OBJECTS) \
$(libblake2b_simd_la_OBJECTS) \
$(libchacha_simd_la_OBJECTS) \
$(libchacha_avx_la_OBJECTS) \
$(libcham_simd_la_OBJECTS) \
$(libcrc_simd_la_OBJECTS) \
$(libdonna_sse_la_OBJECTS) \
$(libgcm_simd_la_OBJECTS) \
$(libgf2n_simd_la_OBJECTS) \
$(libkeccak_simd_la_OBJECTS) \
$(liblea_simd_la_OBJECTS) \
$(libneon_simd_la_OBJECTS) \
$(libppc_simd_la_OBJECTS) \
$(libppc_power7_la_OBJECTS) \
$(libppc_power8_la_OBJECTS) \
$(libppc_power9_la_OBJECTS) \
$(librijndael_simd_la_OBJECTS) \
$(libsha_simd_la_OBJECTS) \
$(libshacal2_simd_la_OBJECTS) \
$(libsimon128_simd_la_OBJECTS) \
$(libspeck128_simd_la_OBJECTS) \
$(libsm4_simd_la_OBJECTS) \
$(libsse_simd_la_OBJECTS)
## ARMv7-a AES and SHA by Andy Polyakov
if CRYPTOGAMS_ARM_SOURCES
libcryptopp_la_LIBADD += $(libaes_armv4_la_OBJECTS)
libcryptopp_la_LIBADD += $(libsha1_armv4_la_OBJECTS)
libcryptopp_la_LIBADD += $(libsha256_armv4_la_OBJECTS)
libcryptopp_la_LIBADD += $(libsha512_armv4_la_OBJECTS)
endif
## cpufeatures library on Android
if ANDROID_CPU_FEATURES
libcryptopp_la_LIBADD += $(libcpu_features_la_OBJECTS)
endif
## The remainder of the object files
libcryptopp_la_LIBADD += $(libothers_la_OBJECTS)
## Don't use EXTRA_ prefix for libcryptopp_la_DEPENDENCIES. It breaks Solaris.
libcryptopp_la_DEPENDENCIES = \
$(libcryptlib_la_OBJECTS) \
$(libcpu_la_OBJECTS) \
$(libinteger_la_OBJECTS) \
$(libaria_simd_la_OBJECTS) \
$(libblake2s_simd_la_OBJECTS) \
$(libblake2b_simd_la_OBJECTS) \
$(libchacha_simd_la_OBJECTS) \
$(libchacha_avx_la_OBJECTS) \
$(libcham_simd_la_OBJECTS) \
$(libcrc_simd_la_OBJECTS) \
$(libdonna_sse_la_OBJECTS) \
$(libkeccak_simd_la_OBJECTS) \
$(liblea_simd_la_OBJECTS) \
$(libgcm_simd_la_OBJECTS) \
$(libgf2n_simd_la_OBJECTS) \
$(libneon_simd_la_OBJECTS) \
$(libppc_simd_la_OBJECTS) \
$(libppc_power7_la_OBJECTS) \
$(libppc_power8_la_OBJECTS) \
$(libppc_power9_la_OBJECTS) \
$(librijndael_simd_la_OBJECTS) \
$(libsha_simd_la_OBJECTS) \
$(libshacal2_simd_la_OBJECTS) \
$(libsimon128_simd_la_OBJECTS) \
$(libspeck128_simd_la_OBJECTS) \
$(libsm4_simd_la_OBJECTS) \
$(libsse_simd_la_OBJECTS)
## ARMv7-a AES and SHA by Andy Polyakov
if CRYPTOGAMS_ARM_SOURCES
libcryptopp_la_DEPENDENCIES += $(libaes_armv4_la_OBJECTS)
libcryptopp_la_DEPENDENCIES += $(libsha1_armv4_la_OBJECTS)
libcryptopp_la_DEPENDENCIES += $(libsha256_armv4_la_OBJECTS)
libcryptopp_la_DEPENDENCIES += $(libsha512_armv4_la_OBJECTS)
endif
## cpufeatures library on Android
if ANDROID_CPU_FEATURES
libcryptopp_la_DEPENDENCIES += $(libcpu_features_la_OBJECTS)
endif
## The remainder of the object files
libcryptopp_la_DEPENDENCIES += $(libothers_la_OBJECTS)
## Man, did Autotools fuck this up royally...
## https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
libcryptopp_la_LDFLAGS = $(AM_LDFLAGS) -release 8.3.0 -version-info 8:3
## Source files with special needs
libcryptlib_la_SOURCES = cryptlib.cpp
libcryptlib_la_CXXFLAGS = $(AM_CXXFLAGS)
libcpu_la_SOURCES = cpu.cpp
libcpu_la_CXXFLAGS = $(AM_CXXFLAGS)
libinteger_la_SOURCES = integer.cpp
libinteger_la_CXXFLAGS = $(AM_CXXFLAGS)
libaria_simd_la_SOURCES = aria_simd.cpp
libaria_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_ARIA_FLAG)
libblake2s_simd_la_SOURCES = blake2s_simd.cpp
libblake2s_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_BLAKE2S_FLAG)
libblake2b_simd_la_SOURCES = blake2b_simd.cpp
libblake2b_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_BLAKE2B_FLAG)
libchacha_simd_la_SOURCES = chacha_simd.cpp
libchacha_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_CHACHA_FLAG)
libchacha_avx_la_SOURCES = chacha_avx.cpp
libchacha_avx_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_CHACHA_AVX2_FLAG)
libcham_simd_la_SOURCES = cham_simd.cpp
libcham_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_CHAM_FLAG)
libcrc_simd_la_SOURCES = crc_simd.cpp
libcrc_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_CRC_FLAG)
libdonna_sse_la_SOURCES = donna_sse.cpp
libdonna_sse_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_DONNA_FLAG)
libgcm_simd_la_SOURCES = gcm_simd.cpp
libgcm_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_GCM_FLAG)
libgf2n_simd_la_SOURCES = gf2n_simd.cpp
libgf2n_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_GF2N_FLAG)
libkeccak_simd_la_SOURCES = keccak_simd.cpp
libkeccak_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_KECCAK_FLAG)
liblea_simd_la_SOURCES = lea_simd.cpp
liblea_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_LEA_FLAG)
libneon_simd_la_SOURCES = neon_simd.cpp
libneon_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_NEON_FLAG)
libppc_simd_la_SOURCES = ppc_simd.cpp
libppc_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_ALTIVEC_FLAG)
libppc_power7_la_SOURCES = ppc_power7.cpp
libppc_power7_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_POWER7_FLAG)
libppc_power8_la_SOURCES = ppc_power8.cpp
libppc_power8_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_POWER8_FLAG)
libppc_power9_la_SOURCES = ppc_power9.cpp
libppc_power9_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_POWER9_FLAG)
librijndael_simd_la_SOURCES = rijndael_simd.cpp
librijndael_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_AES_FLAG)
libsha_simd_la_SOURCES = sha_simd.cpp
libsha_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_SHA_FLAG)
libshacal2_simd_la_SOURCES = shacal2_simd.cpp
libshacal2_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_SHA_FLAG)
libsimon128_simd_la_SOURCES = simon128_simd.cpp
libsimon128_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_SIMON128_FLAG)
libspeck128_simd_la_SOURCES = speck128_simd.cpp
libspeck128_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_SPECK128_FLAG)
libsm4_simd_la_SOURCES = sm4_simd.cpp
libsm4_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_SM4_FLAG)
libsse_simd_la_SOURCES = sse_simd.cpp
libsse_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_SSE2_FLAG)
## ARMv7-a AES by Andy Polyakov
## Also see https://stackoverflow.com/q/51575580/608639
if CRYPTOGAMS_ARM_SOURCES
libaes_armv4_la_SOURCES = aes_armv4.S
libsha1_armv4_la_SOURCES = sha1_armv4.S
libsha256_armv4_la_SOURCES = sha256_armv4.S
libsha512_armv4_la_SOURCES = sha512_armv4.S
libaes_armv4_la_CCASFLAGS = $(AM_CXXFLAGS) $(CRYPTOPGAMS_ARMV4_THUMB_FLAG)
libsha1_armv4_la_CCASFLAGS = $(AM_CXXFLAGS) $(CRYPTOPGAMS_ARMV4_FLAG)
libsha256_armv4_la_CCASFLAGS = $(AM_CXXFLAGS) $(CRYPTOPGAMS_ARMV4_FLAG)
libsha512_armv4_la_CCASFLAGS = $(AM_CXXFLAGS) $(CRYPTOPGAMS_ARMV4_FLAG)
endif
## cpufeatures library on Android
if ANDROID_CPU_FEATURES
libcpu_features_la_SOURCES = cpu-features.c
endif
# This is the list of remaining sources files that don't need special order
# and don't need special flags. It is formed by removing cryptlib.cpp,
# cpu.cpp, integer.cpp, *_avx.cpp and *_simd.cpp files. It is sorted in
# alphabetical order for deterministic builds.
# To build this list, see the head notes and run the command with the
# make and multiple sed commands.
libothers_la_SOURCES = \
3way.cpp adler32.cpp algebra.cpp algparam.cpp allocate.cpp arc4.cpp aria.cpp \
ariatab.cpp asn.cpp authenc.cpp base32.cpp base64.cpp basecode.cpp \
bfinit.cpp blake2.cpp blowfish.cpp blumshub.cpp camellia.cpp cast.cpp \
casts.cpp cbcmac.cpp ccm.cpp chacha.cpp chachapoly.cpp cham.cpp \
channels.cpp cmac.cpp crc.cpp darn.cpp default.cpp des.cpp dessp.cpp \
dh.cpp dh2.cpp dll.cpp donna_32.cpp donna_64.cpp dsa.cpp eax.cpp \
ec2n.cpp eccrypto.cpp ecp.cpp elgamal.cpp emsa2.cpp eprecomp.cpp \
esign.cpp files.cpp filters.cpp fips140.cpp fipstest.cpp gcm.cpp \
gf256.cpp gf2_32.cpp gf2n.cpp gfpcrypt.cpp gost.cpp gzip.cpp hc128.cpp \
hc256.cpp hex.cpp hight.cpp hmac.cpp hrtimer.cpp ida.cpp idea.cpp \
iterhash.cpp kalyna.cpp kalynatab.cpp keccak.cpp keccak_core.cpp lea.cpp \
luc.cpp mars.cpp marss.cpp md2.cpp md4.cpp md5.cpp misc.cpp modes.cpp \
mqueue.cpp mqv.cpp nbtheory.cpp oaep.cpp osrng.cpp padlkrng.cpp \
panama.cpp pkcspad.cpp poly1305.cpp polynomi.cpp pssr.cpp pubkey.cpp \
queue.cpp rabbit.cpp rabin.cpp randpool.cpp rc2.cpp rc5.cpp rc6.cpp \
rdrand.cpp rdtables.cpp rijndael.cpp ripemd.cpp rng.cpp rsa.cpp rw.cpp \
safer.cpp salsa.cpp scrypt.cpp seal.cpp seed.cpp serpent.cpp sha.cpp \
sha3.cpp shacal2.cpp shake.cpp shark.cpp sharkbox.cpp simeck.cpp \
simon.cpp skipjack.cpp sm3.cpp sm4.cpp sosemanuk.cpp speck.cpp \
square.cpp squaretb.cpp strciphr.cpp tea.cpp tftables.cpp threefish.cpp \
tiger.cpp tigertab.cpp ttmac.cpp tweetnacl.cpp twofish.cpp vmac.cpp \
wake.cpp whrlpool.cpp xed25519.cpp xtr.cpp xtrcrypt.cpp xts.cpp \
zdeflate.cpp zinflate.cpp zlib.cpp
# Don't include aes_armv4.h here
pkginclude_HEADERS = \
3way.h adler32.h adv_simd.h aes.h algebra.h algparam.h allocate.h \
arc4.h argnames.h aria.h arm_simd.h asn.h authenc.h base32.h base64.h \
basecode.h blake2.h blowfish.h blumshub.h camellia.h cast.h cbcmac.h \
ccm.h chacha.h chachapoly.h cham.h channels.h cmac.h config.h cpu.h \
crc.h cryptlib.h darn.h default.h des.h dh.h dh2.h dll.h dmac.h donna.h \
donna_32.h donna_64.h donna_sse.h drbg.h dsa.h eax.h ec2n.h eccrypto.h \
ecp.h ecpoint.h elgamal.h emsa2.h eprecomp.h esign.h fhmqv.h files.h \
filters.h fips140.h fltrimpl.h gcm.h gf256.h gf2_32.h gf2n.h gfpcrypt.h \
gost.h gzip.h hashfwd.h hc128.h hc256.h hex.h hight.h hkdf.h hmac.h \
hmqv.h hrtimer.h ida.h idea.h integer.h iterhash.h kalyna.h keccak.h \
lea.h lubyrack.h luc.h mars.h md2.h md4.h md5.h mdc.h mersenne.h misc.h \
modarith.h modes.h modexppc.h mqueue.h mqv.h naclite.h nbtheory.h nr.h \
oaep.h oids.h osrng.h ossig.h padlkrng.h panama.h pch.h pkcspad.h \
poly1305.h polynomi.h ppc_simd.h pssr.h pubkey.h pwdbased.h queue.h \
rabbit.h rabin.h randpool.h rc2.h rc5.h rc6.h rdrand.h rijndael.h \
ripemd.h rng.h rsa.h rw.h safer.h salsa.h scrypt.h seal.h secblock.h \
seckey.h seed.h serpent.h serpentp.h sha.h sha3.h shacal2.h shake.h \
shark.h simeck.h simon.h simple.h siphash.h skipjack.h sm3.h sm4.h \
smartptr.h sosemanuk.h speck.h square.h stdcpp.h strciphr.h tea.h \
threefish.h tiger.h trap.h trunhash.h ttmac.h tweetnacl.h twofish.h \
vmac.h wake.h whrlpool.h words.h xed25519.h xtr.h xtrcrypt.h xts.h \
zdeflate.h zinflate.h zlib.h
noinst_HEADERS = \
local.h \
bench.h \
factory.h \
resource.h \
validate.h \
aes_armv4.h \
sha1_armv4.h \
sha256_armv4.h \
sha512_armv4.h
bin_PROGRAMS = cryptest$(EXEEXT)
cryptest_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTEST_CXXFLAGS) -DCRYPTOPP_DATA_DIR='"${pkgdatadir}/"'
cryptest_SOURCES = \
test.cpp bench1.cpp bench2.cpp bench3.cpp datatest.cpp \
dlltest.cpp fipsalgt.cpp validat0.cpp validat1.cpp validat2.cpp \
validat3.cpp validat4.cpp validat5.cpp validat6.cpp validat7.cpp \
validat8.cpp validat9.cpp validat10.cpp regtest1.cpp regtest2.cpp \
regtest3.cpp regtest4.cpp
nodist_cryptest_SOURCES = adhoc.cpp
cryptest_LDADD = $(lib_LTLIBRARIES)
CLEANFILES = adhoc.cpp
## Copy the TestVectors/ and TestData/ to ${pkgdatadir}
## https://www.gnu.org/software/automake/manual/html_node/Data.html
testdata_FILES = \
TestData/3desval.dat TestData/fhmqv160.dat TestData/rc2val.dat \
TestData/3wayval.dat TestData/fhmqv256.dat TestData/rc5val.dat \
TestData/aria.dat TestData/fhmqv384.dat TestData/rc6val.dat \
TestData/camellia.dat TestData/fhmqv512.dat TestData/rijndael.dat \
TestData/cast128v.dat TestData/gostval.dat TestData/rsa1024.dat \
TestData/cast256v.dat TestData/hmqv160.dat TestData/rsa2048a.dat \
TestData/defdmac1.bin TestData/hmqv256.dat TestData/rsa2048.dat \
TestData/defdmac2.bin TestData/hmqv384.dat TestData/rsa400pb.dat \
TestData/descert.dat TestData/hmqv512.dat TestData/rsa400pv.dat \
TestData/dh1024.dat TestData/ideaval.dat TestData/rsa512a.dat \
TestData/dh2048.dat TestData/luc1024.dat TestData/rw1024.dat \
TestData/dlie1024.dat TestData/luc2048.dat TestData/rw2048.dat \
TestData/dlie2048.dat TestData/lucc1024.dat TestData/saferval.dat \
TestData/dsa1024b.dat TestData/lucc512.dat TestData/serpentv.dat \
TestData/dsa1024.dat TestData/lucd1024.dat TestData/shacal2v.dat \
TestData/dsa512.dat TestData/lucd512.dat TestData/sharkval.dat \
TestData/ecies_p160.dat TestData/lucs1024.dat TestData/skipjack.dat \
TestData/ecies_t163.dat TestData/lucs512.dat TestData/squareva.dat \
TestData/ed25519.dat TestData/marsval.dat TestData/twofishv.dat \
TestData/ed25519v0.dat TestData/mqv1024.dat TestData/usage.dat \
TestData/ed25519v1.dat TestData/mqv2048.dat TestData/x25519.dat \
TestData/elgc1024.dat TestData/nr1024.dat TestData/x25519v0.dat \
TestData/esig1023.dat TestData/nr2048.dat TestData/x25519v1.dat \
TestData/esig1536.dat TestData/rabi1024.dat TestData/xtrdh171.dat \
TestData/esig2046.dat TestData/rabi2048.dat TestData/xtrdh342.dat
testvector_FILES = \
TestVectors/aead.txt TestVectors/rsa_pss.txt \
TestVectors/aes.txt TestVectors/rw.txt \
TestVectors/all.txt TestVectors/salsa.txt \
TestVectors/aria.txt TestVectors/seal.txt \
TestVectors/blake2b.txt TestVectors/seed.txt \
TestVectors/blake2s.txt TestVectors/sha1_160_fips_180.txt \
TestVectors/blake2.txt TestVectors/sha1_fips_180.txt \
TestVectors/camellia.txt TestVectors/sha2_224_fips_180.txt \
TestVectors/ccm.txt TestVectors/sha2_256_fips_180.txt \
TestVectors/chacha20poly1305.txt TestVectors/sha2_384_fips_180.txt \
TestVectors/chacha_tls.txt TestVectors/sha2_512_fips_180.txt \
TestVectors/chacha.txt TestVectors/sha2_fips_180.txt \
TestVectors/cham.txt TestVectors/sha2.txt \
TestVectors/cmac.txt TestVectors/sha3_224_fips_202.txt \
TestVectors/dlies.txt TestVectors/sha3_256_fips_202.txt \
TestVectors/dsa_1363.txt TestVectors/sha3_384_fips_202.txt \
TestVectors/dsa_rfc6979.txt TestVectors/sha3_512_fips_202.txt \
TestVectors/dsa.txt TestVectors/sha3_fips_202.txt \
TestVectors/eax.txt TestVectors/sha3.txt \
TestVectors/esign.txt TestVectors/shacal2.txt \
TestVectors/gcm.txt TestVectors/shake.txt \
TestVectors/hc128.txt TestVectors/sha.txt \
TestVectors/hc256.txt TestVectors/simeck.txt \
TestVectors/hight.txt TestVectors/simon.txt \
TestVectors/hkdf.txt TestVectors/siphash.txt \
TestVectors/hmac.txt TestVectors/skipjack.txt \
TestVectors/kalyna.txt TestVectors/sm3.txt \
TestVectors/keccak.txt TestVectors/sm4.txt \
TestVectors/lea.txt TestVectors/sosemanuk.txt \
TestVectors/mars.txt TestVectors/speck.txt \
TestVectors/nr.txt TestVectors/tea.txt \
TestVectors/panama.txt TestVectors/threefish.txt \
TestVectors/poly1305aes.txt TestVectors/ttmac.txt \
TestVectors/poly1305_tls.txt TestVectors/vmac.txt \
TestVectors/rabbit.txt TestVectors/wake.txt \
TestVectors/Readme.txt TestVectors/whrlpool.txt \
TestVectors/rsa_oaep.txt TestVectors/xchacha.txt \
TestVectors/rsa_pkcs1_1_5.txt TestVectors/xts.txt
nobase_dist_pkgdata_DATA = \
$(testdata_FILES) \
$(testvector_FILES)
## Automake bug workaround. If libcryptopp_la_SOURCES is an empty list, Automake assumes
## C source files and drives link through the C compiler. We provide the empty adhoc.cpp
## to get things back on course, so adhoc.cpp must always be copied.
adhoc.cpp:
cp adhoc.cpp.proto adhoc.cpp
touch adhoc.cpp
## Remove doc directpry if present
distclean-local:
-rm -rf html-docs doxyfile.stamp
## Automake does not properly uninstall the library test data and vectors
uninstall-hook:
-rm -rf ${pkgdatadir}
-rm -rf ${pkghtmldir}
## Doxygen is available but not built by default
## TODO: copy docs to ${pkghtmldir} if built
if CRYPTOPP_DOXYGEN_AVAILABLE
## PHONY targets. Automake can only handle one of them...
.PHONY: doc docs html htmldoc checkout reset
doc docs html htmldoc:
$(DOXYGEN) Doxyfile -d CRYPTOPP_DOXYGEN_PROCESSING
endif
# Restore GNUmakefile
checkout:
git checkout master -f
# Restore GNUmakefile
reset:
git reset --hard HEAD

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
include("${CMAKE_CURRENT_LIST_DIR}/cryptopp-targets.cmake")

View File

@ -0,0 +1,31 @@
## libcryptopp.pc.in - Autotools package configuration file for Crypto++.
## written and placed in public domain by Jeffrey Walton.
## based on Debian package configuration by László Böszörményi.
##
## libdir=@libdir@ is not working as expected for Fedora, Solaris,
## and other 64-bit OSes that use library directories like /lib64,
## /usr/lib64, /lib/amd64 and friends. Also see:
## * https://stackoverflow.com/q/47124066/608639
## * https://stackoverflow.com/q/46847939/608639 and
## * https://bugzilla.redhat.com/show_bug.cgi?id=1510073.
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: @PACKAGE_NAME@
Description: free C++ class library of cryptographic schemes
Authors: originally written by Wei Dai
Maintainers: the Crypto++ community
URL: @PACKAGE_URL@
Version: @PACKAGE_VERSION@
Bug-Report: @PACKAGE_BUGREPORT@
Requires:
## These flags are mostly broken. We cannot record user choices,
## and then have user programs use the same flags later.
## https://lists.freedesktop.org/archives/pkg-config/2017-November/001087.html
Cflags: -I${includedir}
Libs: -L${libdir} -lcryptopp