libcryptopp: update autotools to release 8.3

This commit is contained in:
AmadeusGhost 2020-12-08 15:20:39 +08:00 committed by Tianling Shen
parent 42416392d7
commit 3ae70bba24
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
3 changed files with 215 additions and 156 deletions

View File

@ -11,12 +11,18 @@
## sed -e 's|[[:alnum:]]*_simd.cpp ||g' | \
## sed -e 's|[[:alnum:]]*_sse.cpp ||g' | \
## sed -e 's|[[:alnum:]]*_avx.cpp ||g' | \
## sed -e 's|[[:alnum:]]*_armv4.cpp ||g' | \
## sed -e 's|ppc_power[[:alnum:]]*.cpp ||g' | \
## fold -w73 -s
## fold -s -w 72
##
## The command `make sources | sed ... | fold` will create the source file
## list that can be used with `libothers_la_SOURCES` below.
##
## The list of header files can be built with 'make sources', too.
##
## make sources | sed -e 's|[[:alnum:]]*_armv4.h ||g' \
## fold -s -w 72
##
## Note: configure.ac deletes GNUmakefile. You can get it back with:
##
## git checkout GNUmakefile
@ -34,6 +40,9 @@
## TODO:
##
## - Figure out how to include TestPrograms/ in the dist tarball
## TestPrograms/ is unique because it is included in dist tarball but not installed
##
## - Figure out what's going on with DragonFly and dependencies
##
@ -255,8 +264,10 @@ 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)
# Do not use CRYPTOPP_POWER9_FLAG. See https://github.com/weidai11/cryptopp/issues/986
libppc_power9_la_SOURCES = ppc_power9.cpp
libppc_power9_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_POWER9_FLAG)
# libppc_power9_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_POWER9_FLAG)
libppc_power9_la_CXXFLAGS = $(AM_CXXFLAGS)
librijndael_simd_la_SOURCES = rijndael_simd.cpp
librijndael_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_AES_FLAG)
@ -279,7 +290,7 @@ 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
## ARMv7-a AES and SHA by Andy Polyakov
## Also see https://stackoverflow.com/q/51575580/608639
if CRYPTOGAMS_ARM_SOURCES
libaes_armv4_la_SOURCES = aes_armv4.S
@ -302,58 +313,59 @@ endif
# 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.
# To build this list, see the head notes.
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
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
# To build this list, see the head notes.
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
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 \
config_align.h config_asm.h config_cpu.h config_cxx.h config_dll.h \
config_int.h config_misc.h config_ns.h config_os.h config_ver.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 local.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 secblockfwd.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 \
@ -381,9 +393,11 @@ cryptest_LDADD = $(lib_LTLIBRARIES)
CLEANFILES = adhoc.cpp
## Copy the TestVectors/ and TestData/ to ${pkgdatadir}
## Copy the TestVectors/ and TestData/ to ${pkgdatadir}.
## TestPrograms/ is included in the tarball but not installed.
## https://www.gnu.org/software/automake/manual/html_node/Data.html
# Create with 'ls TestVectors/*.dat'. These files get installed.
testdata_FILES = \
TestData/3desval.dat TestData/fhmqv160.dat TestData/rc2val.dat \
TestData/3wayval.dat TestData/fhmqv256.dat TestData/rc5val.dat \
@ -411,6 +425,7 @@ testdata_FILES = \
TestData/esig1536.dat TestData/rabi1024.dat TestData/xtrdh171.dat \
TestData/esig2046.dat TestData/rabi2048.dat TestData/xtrdh342.dat
# Create with 'ls TestVectors/*.txt'. These files get installed.
testvector_FILES = \
TestVectors/aead.txt TestVectors/rsa_pss.txt \
TestVectors/aes.txt TestVectors/rw.txt \
@ -451,10 +466,94 @@ testvector_FILES = \
TestVectors/rsa_oaep.txt TestVectors/xchacha.txt \
TestVectors/rsa_pkcs1_1_5.txt TestVectors/xts.txt
# Create with 'ls TestPrograms/test_*.cxx'. These files do not get installed.
# They exist so the feature tests can be run from the configure directory.
testprogs_FILES= \
TestPrograms/test_32bit.cxx
TestPrograms/test_64bit.cxx
TestPrograms/test_arm_acle_header.cxx
TestPrograms/test_arm_aes.cxx
TestPrograms/test_arm_asimd.cxx
TestPrograms/test_arm_crc.cxx
TestPrograms/test_arm_neon.cxx
TestPrograms/test_arm_neon_header.cxx
TestPrograms/test_arm_pmull.cxx
TestPrograms/test_arm_sha1.cxx
TestPrograms/test_arm_sha256.cxx
TestPrograms/test_arm_sha3.cxx
TestPrograms/test_arm_sha512.cxx
TestPrograms/test_arm_sm3.cxx
TestPrograms/test_arm_sm4.cxx
TestPrograms/test_asm_mixed.cxx
TestPrograms/test_cxx11_alignas.cxx
TestPrograms/test_cxx11_alignof.cxx
TestPrograms/test_cxx11_assert.cxx
TestPrograms/test_cxx11_atomic.cxx
TestPrograms/test_cxx11_auto.cxx
TestPrograms/test_cxx11_constexpr.cxx
TestPrograms/test_cxx11.cxx
TestPrograms/test_cxx11_deletefn.cxx
TestPrograms/test_cxx11_enumtype.cxx
TestPrograms/test_cxx11_initializer.cxx
TestPrograms/test_cxx11_lambda.cxx
TestPrograms/test_cxx11_noexcept.cxx
TestPrograms/test_cxx11_nullptr.cxx
TestPrograms/test_cxx11_staticinit.cxx
TestPrograms/test_cxx11_sync.cxx
TestPrograms/test_cxx11_vartemplates.cxx
TestPrograms/test_cxx14.cxx
TestPrograms/test_cxx17_assert.cxx
TestPrograms/test_cxx17.cxx
TestPrograms/test_cxx17_exceptions.cxx
TestPrograms/test_cxx98_exception.cxx
TestPrograms/test_cxx.cxx
TestPrograms/test_glibc.cxx
TestPrograms/test_newlib.cxx
TestPrograms/test_ppc_aes.cxx
TestPrograms/test_ppc_altivec.cxx
TestPrograms/test_ppc_power7.cxx
TestPrograms/test_ppc_power8.cxx
TestPrograms/test_ppc_power9.cxx
TestPrograms/test_ppc_sha.cxx
TestPrograms/test_ppc_vmull.cxx
TestPrograms/test_pthreads.cxx
TestPrograms/test_x86_aes.cxx
TestPrograms/test_x86_avx2.cxx
TestPrograms/test_x86_avx512.cxx
TestPrograms/test_x86_avx.cxx
TestPrograms/test_x86_clmul.cxx
TestPrograms/test_x86_cpuid.cxx
TestPrograms/test_x86_rdrand.cxx
TestPrograms/test_x86_rdseed.cxx
TestPrograms/test_x86_sha.cxx
TestPrograms/test_x86_sse2.cxx
TestPrograms/test_x86_sse3.cxx
TestPrograms/test_x86_sse41.cxx
TestPrograms/test_x86_sse42.cxx
TestPrograms/test_x86_ssse3.cxx
TestPrograms/test_x86_via_aes.cxx
TestPrograms/test_x86_via_rng.cxx
TestPrograms/test_x86_via_sha.cxx
nobase_dist_pkgdata_DATA = \
$(testdata_FILES) \
$(testvector_FILES)
# Can't seem to get this to work, despite the fiddling attempts.
# https://www.gnu.org/software/automake/manual/html_node/Uniform.html and
# https://www.gnu.org/software/automake/manual/html_node/Program-and-Library-Variables.html
#nobase_noinst_data_DATA = \
# $(testprogs_FILES)
# Workaround Automake bug. We can't seem to include the TestProgram/ data
# in the tarball without installation using their Uniform Naming Scheme
# https://www.gnu.org/software/automake/manual/html_node/Uniform.html and
# https://www.gnu.org/software/automake/manual/html_node/Program-and-Library-Variables.html
dist-hook:
chmod -R u+w $(distdir)
cp -r TestPrograms/ $(distdir)
rm -f $(distdir)/TestPrograms/dump2def.cxx
## 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.
@ -463,7 +562,7 @@ adhoc.cpp:
cp adhoc.cpp.proto adhoc.cpp
touch adhoc.cpp
## Remove doc directpry if present
## Remove doc directory if present
distclean-local:
-rm -rf html-docs doxyfile.stamp

View File

@ -1,6 +1,6 @@
## configure.ac - Autotools configuration file for Crypto++.
## written and placed in public domain by Jeffrey Walton.
## based on Debian configure.ac by László Böszörményi.
## based on Debian configure.ac by László Böszörményi.
## Visit the link below for the original Debian Autotools files
@ -42,6 +42,11 @@
## LT_INIT bug. There is no Uniform Name like bin_LTPROGRAMS to signal PIC/PIE
## should be used. Autoconf is guessing wrong and not using PIC/PIE.
##
## - Fix Autotools 'make dist' failures. If you run 'make dist' on x86_64, then
## the release tarball only works on x86_64. It is like it is pre-configured
## for only the x86_64 platform, and other platform code paths have been
## thrown away. WTF???
##
## - Fix Autoconf ignoring our config.h.in. This one looks like it is a problem
## without a solution. Also see https://stackoverflow.com/q/48436715/608639.
## (Gave up after https://github.com/weidai11/cryptopp/commit/c51f0ecbfd21.
@ -822,6 +827,31 @@ if test "$IS_SUN_OS" != "0"; then
CXXFLAGS="$SAVED_CXXFLAGS"
fi
#############################################################################
## AIX and -qpic=large or -bbigtoc
if test "$IS_AIX" != "0"; then
## Save LDFLAGS
SAVED_LDFLAGS="$LDFLAGS"
# https://www.ibm.com/developerworks/rational/library/overview-toc-aix/index.html
LDFLAGS="-bbigtoc"
AC_MSG_CHECKING([if $LDNAME supports $LDFLAGS])
XXX_LINK_IFELSE(
[AC_LANG_SOURCE([[int main() { return 0; }]])],
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])]
)
if test "$retval" = "0"; then
AM_LDFLAGS="$AM_LDFLAGS $LDFLAGS"
fi
## Restore LDFLAGS
LDFLAGS="$SAVED_LDFLAGS"
fi
#############################################################################
## MacPorts GCC using Clang integrated assembler
@ -1954,10 +1984,7 @@ if test "$IS_PPC" != "0"; then
# XLC requires -qaltivec in addition to Arch or CPU option
if test "$IS_XLC_COMPILER" = "1"; then
ALTIVEC_FLAG="-qaltivec"
POWER4_FLAG="-qarch=pwr4 -qaltivec"
POWER5_FLAG="-qarch=pwr5 -qaltivec"
POWER6_FLAG="-qarch=pwr6 -qaltivec"
ALTIVEC_FLAG="-qarch=auto -qaltivec"
POWER7_VSX_FLAG="-qarch=pwr7 -qvsx -qaltivec"
POWER7_PWR_FLAG="-qarch=pwr7 -qaltivec"
POWER8_FLAG="-qarch=pwr8 -qaltivec"
@ -1973,7 +2000,7 @@ if test "$IS_PPC" != "0"; then
##### Altivec #####
CXXFLAGS="$ALTIVEC_FLAG"
AC_MSG_CHECKING([if $CXXNAME supports $CXXFLAGS (Altivec)])
AC_MSG_CHECKING([if $CXXNAME supports $CXXFLAGS])
XXX_LINK_IFELSE(
[AC_LANG_SOURCE([`cat TestPrograms/test_ppc_altivec.cxx`])],
[AC_MSG_RESULT([yes])],
@ -1985,64 +2012,22 @@ if test "$IS_PPC" != "0"; then
AC_SUBST([ALTIVEC_FLAG],[""])
fi
# Figure out what is needed for Altivec
if test "$IS_XLC_COMPILER" = "1"; then
CXXFLAGS="$POWER4_FLAG"
AC_MSG_CHECKING([if $CXXNAME supports $CXXFLAGS (Altivec)])
XXX_LINK_IFELSE(
[AC_LANG_SOURCE([`cat TestPrograms/test_ppc_altivec.cxx`])],
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])]
)
if test "$retval" = "0"; then
AC_SUBST([ALTIVEC_FLAG],[$POWER4_FLAG])
else
CXXFLAGS="$POWER5_FLAG"
AC_MSG_CHECKING([if $CXXNAME supports $CXXFLAGS (Altivec)])
XXX_LINK_IFELSE(
[AC_LANG_SOURCE([`cat TestPrograms/test_ppc_altivec.cxx`])],
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])]
)
if test "$retval" = "0"; then
AC_SUBST([ALTIVEC_FLAG],[$POWER5_FLAG])
else
CXXFLAGS="$POWER6_FLAG"
AC_MSG_CHECKING([if $CXXNAME supports $CXXFLAGS (Altivec)])
XXX_LINK_IFELSE(
[AC_LANG_SOURCE([`cat TestPrograms/test_ppc_altivec.cxx`])],
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])]
)
if test "$retval" = "0"; then
AC_SUBST([ALTIVEC_FLAG],[$POWER6_FLAG])
else
AC_SUBST([ALTIVEC_FLAG],[""])
fi # POWER6_FLAG
fi # POWER5_FLAG
fi # POWER4_FLAG
fi # XLC Compiler
##### Power7 #####
##### POWER7 #####
CXXFLAGS="$POWER7_VSX_FLAG"
AC_MSG_CHECKING([if $CXXNAME supports $CXXFLAGS (Power7)])
AC_MSG_CHECKING([if $CXXNAME supports $CXXFLAGS])
XXX_LINK_IFELSE(
[AC_LANG_SOURCE([`cat TestPrograms/test_ppc_power7.cxx`])],
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])]
)
# Figure out what is needed for Power7
# Figure out what is needed for POWER7
if test "$retval" = "0"; then
AC_SUBST([POWER7_FLAG],[$POWER7_VSX_FLAG])
else
CXXFLAGS="$POWER7_PWR_FLAG"
AC_MSG_CHECKING([if $CXXNAME supports $CXXFLAGS (Power7)])
AC_MSG_CHECKING([if $CXXNAME supports $CXXFLAGS])
XXX_LINK_IFELSE(
[AC_LANG_SOURCE([`cat TestPrograms/test_ppc_power7.cxx`])],
[AC_MSG_RESULT([yes])],
@ -2056,10 +2041,10 @@ if test "$IS_PPC" != "0"; then
fi # POWER7_PWR_FLAG
fi # POWER7_VSX_FLAG
##### Power8 #####
##### POWER8 #####
CXXFLAGS="$POWER8_FLAG"
AC_MSG_CHECKING([if $CXXNAME supports $CXXFLAGS (Power8)])
AC_MSG_CHECKING([if $CXXNAME supports $CXXFLAGS])
XXX_LINK_IFELSE(
[AC_LANG_SOURCE([`cat TestPrograms/test_ppc_power8.cxx`])],
[AC_MSG_RESULT([yes])],
@ -2070,10 +2055,10 @@ if test "$IS_PPC" != "0"; then
AC_SUBST([POWER8_FLAG],[""])
fi
##### Power9 #####
##### POWER9 #####
CXXFLAGS="$POWER9_FLAG"
AC_MSG_CHECKING([if $CXXNAME supports $CXXFLAGS (Power9)])
AC_MSG_CHECKING([if $CXXNAME supports $CXXFLAGS])
XXX_COMPILE_IFELSE(
[AC_LANG_SOURCE([`cat TestPrograms/test_ppc_power9.cxx`])],
[AC_MSG_RESULT([yes])],
@ -2084,17 +2069,18 @@ if test "$IS_PPC" != "0"; then
AC_SUBST([POWER9_FLAG],[""])
fi
# Power9 and DARN random number generator
if test x"$POWER9_FLAG" != "x"; then
AC_SUBST([CRYPTOPP_POWER9_FLAG], [$POWER9_FLAG])
AC_SUBST([CRYPTOPP_DARN_FLAG], [$POWER9_FLAG])
else
AC_DEFINE([CRYPTOPP_DISABLE_POWER9], [1], [Disable Power9])
fi
# POWER9 and DARN random number generator. Disabled due to
# https://github.com/weidai11/cryptopp/issues/986
#if test x"$POWER9_FLAG" != "x"; then
# AC_SUBST([CRYPTOPP_POWER9_FLAG], [$POWER9_FLAG])
# AC_SUBST([CRYPTOPP_DARN_FLAG], [$POWER9_FLAG])
#else
# AC_DEFINE([CRYPTOPP_DISABLE_POWER9], [1], [Disable POWER9])
#fi
##### Fixups #####
## Power8 and in-core crypto.
## POWER8 and in-core crypto.
if test x"$POWER8_FLAG" != "x"; then
AC_SUBST([CRYPTOPP_POWER8_FLAG], [$POWER8_FLAG])
AC_SUBST([CRYPTOPP_BLAKE2B_FLAG], [$POWER8_FLAG])
@ -2105,20 +2091,20 @@ if test "$IS_PPC" != "0"; then
AC_SUBST([CRYPTOPP_SHA_FLAG], [$POWER8_FLAG])
AC_SUBST([CRYPTOPP_SIMON128_FLAG], [$POWER8_FLAG])
AC_SUBST([CRYPTOPP_SPECK128_FLAG], [$POWER8_FLAG])
AC_DEFINE([CRYPTOPP_POWER8_CRC_AVAILABLE], [1], [Enable Power8 CRC])
AC_DEFINE([CRYPTOPP_POWER8_AES_AVAILABLE], [1], [Enable Power8 AES])
AC_DEFINE([CRYPTOPP_POWER8_PMULL_AVAILABLE], [1], [Enable Power8 PMULL])
AC_DEFINE([CRYPTOPP_POWER8_SHA_AVAILABLE], [1], [Enable Power8 SHA])
AC_DEFINE([CRYPTOPP_POWER8_CRC_AVAILABLE], [1], [Enable POWER8 CRC])
AC_DEFINE([CRYPTOPP_POWER8_AES_AVAILABLE], [1], [Enable POWER8 AES])
AC_DEFINE([CRYPTOPP_POWER8_PMULL_AVAILABLE], [1], [Enable POWER8 PMULL])
AC_DEFINE([CRYPTOPP_POWER8_SHA_AVAILABLE], [1], [Enable POWER8 SHA])
else
AC_DEFINE([CRYPTOPP_DISABLE_POWER8], [1], [Disable Power8])
AC_DEFINE([CRYPTOPP_DISABLE_POWER8], [1], [Disable POWER8])
fi
# Power7 and VSX
# POWER7 and VSX
if test x"$POWER7_FLAG" != "x"; then
AC_SUBST([CRYPTOPP_POWER7_FLAG], [$POWER7_FLAG])
AC_DEFINE([CRYPTOPP_POWER7_AVAILABLE], [1], [Enable Power7])
AC_DEFINE([CRYPTOPP_POWER7_AVAILABLE], [1], [Enable POWER7])
else
AC_DEFINE([CRYPTOPP_DISABLE_POWER7], [1], [Disable Power7])
AC_DEFINE([CRYPTOPP_DISABLE_POWER7], [1], [Disable POWER7])
fi
# Plain old Altivec
@ -2419,32 +2405,6 @@ if test "$IS_SUN_OS" != "0"; then
fi
fi
# No longer needed
LDFLAGS="-lnsl"
AC_MSG_CHECKING([if $LDNAME supports $LDFLAGS])
XXX_LINK_IFELSE(
[AC_LANG_SOURCE([[int main() { return 0; }]])],
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])]
)
if test "$retval" = "0"; then
AM_LDFLAGS="$AM_LDFLAGS $LDFLAGS"
fi
# No longer needed
LDFLAGS="-lsocket"
AC_MSG_CHECKING([if $LDNAME supports $LDFLAGS])
XXX_LINK_IFELSE(
[AC_LANG_SOURCE([[int main() { return 0; }]])],
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])]
)
if test "$retval" = "0"; then
AM_LDFLAGS="$AM_LDFLAGS $LDFLAGS"
fi
## Restore LDFLAGS
LDFLAGS="$SAVED_LDFLAGS"
fi
@ -2690,9 +2650,9 @@ fi
if test x"$CRYPTOPP_POWER8_FLAG" != "x"; then
echo "CRYPTOPP_POWER8_FLAG: $CRYPTOPP_POWER8_FLAG"
fi
if test x"$CRYPTOPP_POWER9_FLAG" != "x"; then
echo "CRYPTOPP_POWER9_FLAG: $CRYPTOPP_POWER9_FLAG"
fi
#if test x"$CRYPTOPP_POWER9_FLAG" != "x"; then
# echo "CRYPTOPP_POWER9_FLAG: $CRYPTOPP_POWER9_FLAG"
#fi
if test x"$CRYPTOPP_ARIA_FLAG" != "x"; then
echo "CRYPTOPP_ARIA_FLAG: $CRYPTOPP_ARIA_FLAG"
fi

View File

@ -1,6 +1,6 @@
## 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.
## based on Debian package configuration by László Böszörményi.
##
## libdir=@libdir@ is not working as expected for Fedora, Solaris,