parent
197f751831
commit
fc1e98e70d
158
GNUmakefile
158
GNUmakefile
|
|
@ -12,6 +12,9 @@ SHELL = /bin/sh
|
||||||
TMPDIR ?= /tmp
|
TMPDIR ?= /tmp
|
||||||
# Used for ARMv7 and NEON.
|
# Used for ARMv7 and NEON.
|
||||||
FP_ABI ?= hard
|
FP_ABI ?= hard
|
||||||
|
# Used for feature tests
|
||||||
|
TOUT ?= a.out
|
||||||
|
TOUT := $(strip $(TOUT))
|
||||||
|
|
||||||
# Command and arguments
|
# Command and arguments
|
||||||
AR ?= ar
|
AR ?= ar
|
||||||
|
|
@ -38,8 +41,8 @@ else
|
||||||
GREP ?= grep
|
GREP ?= grep
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Attempt to determine host machine, fallback to "this" machine.
|
# Attempt to determine target machine, fallback to "this" machine.
|
||||||
# The host machine is the one the package runs on. Most people
|
# The target machine is the one the package runs on. Most people
|
||||||
# call this the "target", but not Autotools.
|
# call this the "target", but not Autotools.
|
||||||
HOSTX := $(shell $(CXX) $(CXXFLAGS) -dumpmachine 2>/dev/null | cut -f 1 -d '-')
|
HOSTX := $(shell $(CXX) $(CXXFLAGS) -dumpmachine 2>/dev/null | cut -f 1 -d '-')
|
||||||
ifeq ($(HOSTX),)
|
ifeq ($(HOSTX),)
|
||||||
|
|
@ -50,10 +53,10 @@ IS_X86 := $(shell echo "$(HOSTX)" | $(GREP) -v "64" | $(GREP) -i -c -E 'i.86|x86
|
||||||
IS_X64 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E '_64|d64')
|
IS_X64 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E '_64|d64')
|
||||||
IS_PPC32 := $(shell echo "$(HOSTX)" | $(GREP) -v "64" | $(GREP) -i -c -E 'ppc|power')
|
IS_PPC32 := $(shell echo "$(HOSTX)" | $(GREP) -v "64" | $(GREP) -i -c -E 'ppc|power')
|
||||||
IS_PPC64 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E 'ppc64|power64')
|
IS_PPC64 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E 'ppc64|power64')
|
||||||
IS_ARM32 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E 'arm|armhf|arm7l|eabihf')
|
|
||||||
IS_ARMV8 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E 'aarch32|aarch64')
|
|
||||||
IS_SPARC32 := $(shell echo "$(HOSTX)" | $(GREP) -v "64" | $(GREP) -i -c -E 'sun|sparc')
|
IS_SPARC32 := $(shell echo "$(HOSTX)" | $(GREP) -v "64" | $(GREP) -i -c -E 'sun|sparc')
|
||||||
IS_SPARC64 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E 'sun|sparc64')
|
IS_SPARC64 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E 'sun|sparc64')
|
||||||
|
IS_ARM32 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E 'arm|armhf|arm7l|eabihf')
|
||||||
|
IS_ARMV8 := $(shell echo "$(HOSTX)" | $(GREP) -i -c -E 'aarch32|aarch64')
|
||||||
|
|
||||||
IS_NEON := $(shell $(CXX) $(CXXFLAGS) -dumpmachine 2>/dev/null | $(GREP) -i -c -E 'armv7|armhf|arm7l|eabihf|armv8|aarch32|aarch64')
|
IS_NEON := $(shell $(CXX) $(CXXFLAGS) -dumpmachine 2>/dev/null | $(GREP) -i -c -E 'armv7|armhf|arm7l|eabihf|armv8|aarch32|aarch64')
|
||||||
|
|
||||||
|
|
@ -112,6 +115,8 @@ else ifeq ($(findstring clean,$(MAKECMDGOALS)),clean)
|
||||||
DETECT_FEATURES := 0
|
DETECT_FEATURES := 0
|
||||||
else ifeq ($(findstring distclean,$(MAKECMDGOALS)),distclean)
|
else ifeq ($(findstring distclean,$(MAKECMDGOALS)),distclean)
|
||||||
DETECT_FEATURES := 0
|
DETECT_FEATURES := 0
|
||||||
|
else ifeq ($(findstring distclean,$(MAKECMDGOALS)),trim)
|
||||||
|
DETECT_FEATURES := 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
###########################################################
|
###########################################################
|
||||||
|
|
@ -215,14 +220,14 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_sse2.cxx
|
TPROG = TestPrograms/test_x86_sse2.cxx
|
||||||
TOPT = -msse2
|
TOPT = -msse2
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
SSE_FLAG = -msse2
|
SSE_FLAG = -msse2
|
||||||
CHACHA_FLAG = -msse2
|
CHACHA_FLAG = -msse2
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_ssse3.cxx
|
TPROG = TestPrograms/test_x86_ssse3.cxx
|
||||||
TOPT = -mssse3
|
TOPT = -mssse3
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
ARIA_FLAG = -mssse3
|
ARIA_FLAG = -mssse3
|
||||||
CHAM_FLAG = -mssse3
|
CHAM_FLAG = -mssse3
|
||||||
|
|
@ -236,7 +241,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_sse41.cxx
|
TPROG = TestPrograms/test_x86_sse41.cxx
|
||||||
TOPT = -msse4.1
|
TOPT = -msse4.1
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
BLAKE2B_FLAG = -msse4.1
|
BLAKE2B_FLAG = -msse4.1
|
||||||
BLAKE2S_FLAG = -msse4.1
|
BLAKE2S_FLAG = -msse4.1
|
||||||
|
|
@ -245,13 +250,13 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_sse42.cxx
|
TPROG = TestPrograms/test_x86_sse42.cxx
|
||||||
TOPT = -msse4.2
|
TOPT = -msse4.2
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
CRC_FLAG = -msse4.2
|
CRC_FLAG = -msse4.2
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_clmul.cxx
|
TPROG = TestPrograms/test_x86_clmul.cxx
|
||||||
TOPT = -mssse3 -mpclmul
|
TOPT = -mssse3 -mpclmul
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
GCM_FLAG = -mssse3 -mpclmul
|
GCM_FLAG = -mssse3 -mpclmul
|
||||||
else
|
else
|
||||||
|
|
@ -260,7 +265,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_aes.cxx
|
TPROG = TestPrograms/test_x86_aes.cxx
|
||||||
TOPT = -msse4.1 -maes
|
TOPT = -msse4.1 -maes
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
AES_FLAG = -msse4.1 -maes
|
AES_FLAG = -msse4.1 -maes
|
||||||
SM4_FLAG = -mssse3 -maes
|
SM4_FLAG = -mssse3 -maes
|
||||||
|
|
@ -270,7 +275,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_avx.cxx
|
TPROG = TestPrograms/test_x86_avx.cxx
|
||||||
TOPT = -mavx
|
TOPT = -mavx
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
AVX_FLAG = -mavx
|
AVX_FLAG = -mavx
|
||||||
else
|
else
|
||||||
|
|
@ -279,7 +284,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_avx2.cxx
|
TPROG = TestPrograms/test_x86_avx2.cxx
|
||||||
TOPT = -mavx2
|
TOPT = -mavx2
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
CHACHA_AVX2_FLAG = -mavx2
|
CHACHA_AVX2_FLAG = -mavx2
|
||||||
else
|
else
|
||||||
|
|
@ -288,7 +293,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_sha.cxx
|
TPROG = TestPrograms/test_x86_sha.cxx
|
||||||
TOPT = -msse4.2 -msha
|
TOPT = -msse4.2 -msha
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
SHA_FLAG = -msse4.2 -msha
|
SHA_FLAG = -msse4.2 -msha
|
||||||
else
|
else
|
||||||
|
|
@ -308,9 +313,6 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
CXXFLAGS += -DCRYPTOPP_DISABLE_SSE2
|
CXXFLAGS += -DCRYPTOPP_DISABLE_SSE2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# https://github.com/weidai11/cryptopp/issues/738
|
|
||||||
UNUSED := $(shell rm -f a.out && rm -rf a.out.dSYM/)
|
|
||||||
|
|
||||||
# DETECT_FEATURES
|
# DETECT_FEATURES
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
@ -323,7 +325,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_sse2.cxx
|
TPROG = TestPrograms/test_x86_sse2.cxx
|
||||||
TOPT = -xarch=sse2
|
TOPT = -xarch=sse2
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
SSE_FLAG = -xarch=sse2
|
SSE_FLAG = -xarch=sse2
|
||||||
CHACHA_FLAG = -xarch=sse2
|
CHACHA_FLAG = -xarch=sse2
|
||||||
|
|
@ -331,7 +333,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_ssse3.cxx
|
TPROG = TestPrograms/test_x86_ssse3.cxx
|
||||||
TOPT = -xarch=ssse3
|
TOPT = -xarch=ssse3
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
ARIA_FLAG = -xarch=ssse3
|
ARIA_FLAG = -xarch=ssse3
|
||||||
CHAM_FLAG = -xarch=ssse3
|
CHAM_FLAG = -xarch=ssse3
|
||||||
|
|
@ -346,7 +348,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_sse41.cxx
|
TPROG = TestPrograms/test_x86_sse41.cxx
|
||||||
TOPT = -xarch=sse4_1
|
TOPT = -xarch=sse4_1
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
BLAKE2B_FLAG = -xarch=sse4_1
|
BLAKE2B_FLAG = -xarch=sse4_1
|
||||||
BLAKE2S_FLAG = -xarch=sse4_1
|
BLAKE2S_FLAG = -xarch=sse4_1
|
||||||
|
|
@ -356,14 +358,14 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_sse42.cxx
|
TPROG = TestPrograms/test_x86_sse42.cxx
|
||||||
TOPT = -xarch=sse4_2
|
TOPT = -xarch=sse4_2
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
CRC_FLAG = -xarch=sse4_2
|
CRC_FLAG = -xarch=sse4_2
|
||||||
LDFLAGS += -xarch=sse4_2
|
LDFLAGS += -xarch=sse4_2
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_clmul.cxx
|
TPROG = TestPrograms/test_x86_clmul.cxx
|
||||||
TOPT = -xarch=ssse3 -xarch=aes
|
TOPT = -xarch=ssse3 -xarch=aes
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
GCM_FLAG = -xarch=ssse3 -xarch=aes
|
GCM_FLAG = -xarch=ssse3 -xarch=aes
|
||||||
else
|
else
|
||||||
|
|
@ -372,7 +374,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_aes.cxx
|
TPROG = TestPrograms/test_x86_aes.cxx
|
||||||
TOPT = -xarch=sse4_1 -xarch=aes
|
TOPT = -xarch=sse4_1 -xarch=aes
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
AES_FLAG = -xarch=sse4_1 -xarch=aes
|
AES_FLAG = -xarch=sse4_1 -xarch=aes
|
||||||
SM4_FLAG = -xarch=ssse3 -xarch=aes
|
SM4_FLAG = -xarch=ssse3 -xarch=aes
|
||||||
|
|
@ -383,7 +385,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_avx.cxx
|
TPROG = TestPrograms/test_x86_avx.cxx
|
||||||
TOPT = -xarch=avx
|
TOPT = -xarch=avx
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
AVX_FLAG = -xarch=avx
|
AVX_FLAG = -xarch=avx
|
||||||
LDFLAGS += -xarch=avx
|
LDFLAGS += -xarch=avx
|
||||||
|
|
@ -393,7 +395,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_avx2.cxx
|
TPROG = TestPrograms/test_x86_avx2.cxx
|
||||||
TOPT = -xarch=avx2
|
TOPT = -xarch=avx2
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
CHACHA_AVX2_FLAG = -xarch=avx2
|
CHACHA_AVX2_FLAG = -xarch=avx2
|
||||||
LDFLAGS += -xarch=avx2
|
LDFLAGS += -xarch=avx2
|
||||||
|
|
@ -403,7 +405,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_x86_sha.cxx
|
TPROG = TestPrograms/test_x86_sha.cxx
|
||||||
TOPT = -xarch=sse4_2 -xarch=sha
|
TOPT = -xarch=sse4_2 -xarch=sha
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
SHA_FLAG = -xarch=sse4_2 -xarch=sha
|
SHA_FLAG = -xarch=sse4_2 -xarch=sha
|
||||||
LDFLAGS += -xarch=sha
|
LDFLAGS += -xarch=sha
|
||||||
|
|
@ -424,9 +426,6 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
CXXFLAGS += -DCRYPTOPP_DISABLE_SSE2
|
CXXFLAGS += -DCRYPTOPP_DISABLE_SSE2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# https://github.com/weidai11/cryptopp/issues/738
|
|
||||||
UNUSED := $(shell rm -f a.out && rm -rf a.out.dSYM/)
|
|
||||||
|
|
||||||
# DETECT_FEATURES
|
# DETECT_FEATURES
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
@ -467,7 +466,7 @@ ifeq ($(IS_ARM32)$(IS_NEON),11)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_arm_neon.cxx
|
TPROG = TestPrograms/test_arm_neon.cxx
|
||||||
TOPT = -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon
|
TOPT = -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
NEON_FLAG = -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon
|
NEON_FLAG = -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon
|
||||||
ARIA_FLAG = -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon
|
ARIA_FLAG = -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon
|
||||||
|
|
@ -490,9 +489,6 @@ ifeq ($(IS_ARM32)$(IS_NEON),11)
|
||||||
CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
|
CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# https://github.com/weidai11/cryptopp/issues/738
|
|
||||||
UNUSED := $(shell rm -f a.out && rm -rf a.out.dSYM/)
|
|
||||||
|
|
||||||
# IS_NEON
|
# IS_NEON
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
@ -500,7 +496,7 @@ ifeq ($(IS_ARMV8),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_arm_acle.cxx
|
TPROG = TestPrograms/test_arm_acle.cxx
|
||||||
TOPT = -march=armv8-a
|
TOPT = -march=armv8-a
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
ACLE_FLAG += -DCRYPTOPP_ARM_ACLE_AVAILABLE=1
|
ACLE_FLAG += -DCRYPTOPP_ARM_ACLE_AVAILABLE=1
|
||||||
else
|
else
|
||||||
|
|
@ -509,7 +505,7 @@ ifeq ($(IS_ARMV8),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_arm_asimd.cxx
|
TPROG = TestPrograms/test_arm_asimd.cxx
|
||||||
TOPT = -march=armv8-a
|
TOPT = -march=armv8-a
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ACLE_FLAG) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ACLE_FLAG) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
ASIMD_FLAG = -march=armv8-a
|
ASIMD_FLAG = -march=armv8-a
|
||||||
ARIA_FLAG = -march=armv8-a
|
ARIA_FLAG = -march=armv8-a
|
||||||
|
|
@ -532,7 +528,7 @@ ifeq ($(IS_ARMV8),1)
|
||||||
ifneq ($(ASIMD_FLAG),)
|
ifneq ($(ASIMD_FLAG),)
|
||||||
TPROG = TestPrograms/test_arm_crc.cxx
|
TPROG = TestPrograms/test_arm_crc.cxx
|
||||||
TOPT = -march=armv8.1-a+crc
|
TOPT = -march=armv8.1-a+crc
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ACLE_FLAG) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ACLE_FLAG) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
CRC_FLAG = -march=armv8.1-a+crc
|
CRC_FLAG = -march=armv8.1-a+crc
|
||||||
else
|
else
|
||||||
|
|
@ -541,7 +537,7 @@ ifeq ($(IS_ARMV8),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_arm_aes.cxx
|
TPROG = TestPrograms/test_arm_aes.cxx
|
||||||
TOPT = -march=armv8.1-a+crypto
|
TOPT = -march=armv8.1-a+crypto
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ACLE_FLAG) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ACLE_FLAG) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
AES_FLAG = -march=armv8.1-a+crypto
|
AES_FLAG = -march=armv8.1-a+crypto
|
||||||
else
|
else
|
||||||
|
|
@ -550,7 +546,7 @@ ifeq ($(IS_ARMV8),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_arm_pmull.cxx
|
TPROG = TestPrograms/test_arm_pmull.cxx
|
||||||
TOPT = -march=armv8.1-a+crypto
|
TOPT = -march=armv8.1-a+crypto
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ACLE_FLAG) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ACLE_FLAG) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
GCM_FLAG = -march=armv8.1-a+crypto
|
GCM_FLAG = -march=armv8.1-a+crypto
|
||||||
else
|
else
|
||||||
|
|
@ -559,7 +555,7 @@ ifeq ($(IS_ARMV8),1)
|
||||||
|
|
||||||
TPROG = TestPrograms/test_arm_sha.cxx
|
TPROG = TestPrograms/test_arm_sha.cxx
|
||||||
TOPT = -march=armv8.1-a+crypto
|
TOPT = -march=armv8.1-a+crypto
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ACLE_FLAG) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ACLE_FLAG) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
SHA_FLAG = -march=armv8.1-a+crypto
|
SHA_FLAG = -march=armv8.1-a+crypto
|
||||||
else
|
else
|
||||||
|
|
@ -569,7 +565,7 @@ ifeq ($(IS_ARMV8),1)
|
||||||
ifneq ($(AES_FLAG),)
|
ifneq ($(AES_FLAG),)
|
||||||
TPROG = TestPrograms/test_crypto_v84.cxx
|
TPROG = TestPrograms/test_crypto_v84.cxx
|
||||||
TOPT = -march=armv8.4-a+crypto
|
TOPT = -march=armv8.4-a+crypto
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ACLE_FLAG) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ACLE_FLAG) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
SM3_FLAG = -march=armv8.4-a+crypto
|
SM3_FLAG = -march=armv8.4-a+crypto
|
||||||
SM4_FLAG = -march=armv8.4-a+crypto
|
SM4_FLAG = -march=armv8.4-a+crypto
|
||||||
|
|
@ -577,9 +573,6 @@ ifeq ($(IS_ARMV8),1)
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# https://github.com/weidai11/cryptopp/issues/738
|
|
||||||
UNUSED := $(shell rm -f a.out && rm -rf a.out.dSYM/)
|
|
||||||
|
|
||||||
# IS_ARMV8
|
# IS_ARMV8
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
@ -606,7 +599,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
ifeq ($(XLC_COMPILER)$(findstring -qxlcompatmacros,$(CXXFLAGS)),1)
|
ifeq ($(XLC_COMPILER)$(findstring -qxlcompatmacros,$(CXXFLAGS)),1)
|
||||||
TPROG = TestPrograms/test_ppc_altivec.cxx
|
TPROG = TestPrograms/test_ppc_altivec.cxx
|
||||||
TOPT = -qxlcompatmacros
|
TOPT = -qxlcompatmacros
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
CXXFLAGS += -qxlcompatmacros
|
CXXFLAGS += -qxlcompatmacros
|
||||||
endif
|
endif
|
||||||
|
|
@ -615,7 +608,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
# GCC and some compatibles
|
# GCC and some compatibles
|
||||||
TPROG = TestPrograms/test_ppc_power8.cxx
|
TPROG = TestPrograms/test_ppc_power8.cxx
|
||||||
TOPT = -mcpu=power8 -maltivec
|
TOPT = -mcpu=power8 -maltivec
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
POWER8_FLAG = -mcpu=power8 -maltivec
|
POWER8_FLAG = -mcpu=power8 -maltivec
|
||||||
AES_FLAG = $(POWER8_FLAG)
|
AES_FLAG = $(POWER8_FLAG)
|
||||||
|
|
@ -634,7 +627,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
# GCC and some compatibles
|
# GCC and some compatibles
|
||||||
TPROG = TestPrograms/test_ppc_power7.cxx
|
TPROG = TestPrograms/test_ppc_power7.cxx
|
||||||
TOPT = -mcpu=power7 -maltivec
|
TOPT = -mcpu=power7 -maltivec
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
POWER7_FLAG = -mcpu=power7 -maltivec
|
POWER7_FLAG = -mcpu=power7 -maltivec
|
||||||
ARIA_FLAG = $(POWER7_FLAG)
|
ARIA_FLAG = $(POWER7_FLAG)
|
||||||
|
|
@ -649,17 +642,17 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
# GCC and some compatibles
|
# GCC and some compatibles
|
||||||
TPROG = TestPrograms/test_ppc_altivec.cxx
|
TPROG = TestPrograms/test_ppc_altivec.cxx
|
||||||
TOPT = -mcpu=power4 -maltivec
|
TOPT = -mcpu=power4 -maltivec
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
ALTIVEC_FLAG = -mcpu=power4 -maltivec
|
ALTIVEC_FLAG = -mcpu=power4 -maltivec
|
||||||
else
|
else
|
||||||
TOPT = -mcpu=power5 -maltivec
|
TOPT = -mcpu=power5 -maltivec
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
ALTIVEC_FLAG = -mcpu=power5 -maltivec
|
ALTIVEC_FLAG = -mcpu=power5 -maltivec
|
||||||
else
|
else
|
||||||
TOPT = -mcpu=power6 -maltivec
|
TOPT = -mcpu=power6 -maltivec
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
ALTIVEC_FLAG = -mcpu=power6 -maltivec
|
ALTIVEC_FLAG = -mcpu=power6 -maltivec
|
||||||
endif
|
endif
|
||||||
|
|
@ -675,7 +668,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
# IBM XL C/C++
|
# IBM XL C/C++
|
||||||
TPROG = TestPrograms/test_ppc_power8.cxx
|
TPROG = TestPrograms/test_ppc_power8.cxx
|
||||||
TOPT = -qarch=pwr8 -qaltivec
|
TOPT = -qarch=pwr8 -qaltivec
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
POWER8_FLAG = -qarch=pwr8 -qaltivec
|
POWER8_FLAG = -qarch=pwr8 -qaltivec
|
||||||
AES_FLAG = $(POWER8_FLAG)
|
AES_FLAG = $(POWER8_FLAG)
|
||||||
|
|
@ -694,7 +687,7 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
# IBM XL C/C++
|
# IBM XL C/C++
|
||||||
TPROG = TestPrograms/test_ppc_power7.cxx
|
TPROG = TestPrograms/test_ppc_power7.cxx
|
||||||
TOPT = -qarch=pwr7 -qaltivec
|
TOPT = -qarch=pwr7 -qaltivec
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
POWER7_FLAG = -qarch=pwr7 -qaltivec
|
POWER7_FLAG = -qarch=pwr7 -qaltivec
|
||||||
ARIA_FLAG = $(POWER7_FLAG)
|
ARIA_FLAG = $(POWER7_FLAG)
|
||||||
|
|
@ -709,17 +702,17 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
# IBM XL C/C++
|
# IBM XL C/C++
|
||||||
TPROG = TestPrograms/test_ppc_altivec.cxx
|
TPROG = TestPrograms/test_ppc_altivec.cxx
|
||||||
TOPT = -qarch=pwr4 -qaltivec
|
TOPT = -qarch=pwr4 -qaltivec
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
ALTIVEC_FLAG = -qarch=pwr4 -qaltivec
|
ALTIVEC_FLAG = -qarch=pwr4 -qaltivec
|
||||||
else
|
else
|
||||||
TOPT = -qarch=pwr5 -qaltivec
|
TOPT = -qarch=pwr5 -qaltivec
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
ALTIVEC_FLAG = -qarch=pwr5 -qaltivec
|
ALTIVEC_FLAG = -qarch=pwr5 -qaltivec
|
||||||
else
|
else
|
||||||
TOPT = -qarch=pwr6 -qaltivec
|
TOPT = -qarch=pwr6 -qaltivec
|
||||||
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(HAVE_OPT),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
ALTIVEC_FLAG = -qarch=pwr6 -qaltivec
|
ALTIVEC_FLAG = -qarch=pwr6 -qaltivec
|
||||||
endif
|
endif
|
||||||
|
|
@ -763,9 +756,6 @@ ifeq ($(DETECT_FEATURES),1)
|
||||||
CXXFLAGS += -DCRYPTOPP_DISABLE_POWER8
|
CXXFLAGS += -DCRYPTOPP_DISABLE_POWER8
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# https://github.com/weidai11/cryptopp/issues/738
|
|
||||||
UNUSED := $(shell rm -f a.out && rm -rf a.out.dSYM/)
|
|
||||||
|
|
||||||
# DETECT_FEATURES
|
# DETECT_FEATURES
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
@ -793,16 +783,16 @@ endif
|
||||||
|
|
||||||
# Use -pthread whenever it is available. See http://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf
|
# Use -pthread whenever it is available. See http://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf
|
||||||
# http://stackoverflow.com/questions/2127797/gcc-significance-of-pthread-flag-when-compiling
|
# http://stackoverflow.com/questions/2127797/gcc-significance-of-pthread-flag-when-compiling
|
||||||
# BAD_PTHREAD and HAVE_PTHREAD is due to GCC on Solaris. GCC rejects -pthread but defines
|
ifeq ($(DETECT_FEATURES),1)
|
||||||
# 39 *_PTHREAD_* related macros. Then we pickup the macros and enable the option...
|
ifeq ($(findstring -pthread,$(CXXFLAGS)),)
|
||||||
TPROG = TestPrograms/test_cxx.cxx
|
TPROG = TestPrograms/test_pthreads.cxx
|
||||||
BAD_PTHREAD = $(shell $(CXX) $(CXXFLAGS) -pthread -c $(TPROG) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
TOPT = -pthread
|
||||||
HAVE_PTHREAD = $(shell $(CXX) $(CXXFLAGS) -pthread -dM -E $(TPROG) 2>/dev/null | $(GREP) -i -c 'PTHREAD')
|
HAVE_OPT = $(shell $(CXX) $(CXXFLAGS) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c -E $(BAD_RESULT))
|
||||||
ifeq ($(BAD_PTHREAD),0)
|
ifeq ($(HAVE_OPT),0)
|
||||||
ifneq ($(HAVE_PTHREAD),0)
|
|
||||||
CXXFLAGS += -pthread
|
CXXFLAGS += -pthread
|
||||||
endif # CXXFLAGS
|
endif # CXXFLAGS
|
||||||
endif # CXXFLAGS
|
endif # pthread
|
||||||
|
endif # DETECT_FEATURES
|
||||||
|
|
||||||
# Remove -fPIC if present. SunCC use -KPIC, and needs the larger GOT table
|
# Remove -fPIC if present. SunCC use -KPIC, and needs the larger GOT table
|
||||||
# https://docs.oracle.com/cd/E19205-01/819-5267/bkbaq/index.html
|
# https://docs.oracle.com/cd/E19205-01/819-5267/bkbaq/index.html
|
||||||
|
|
@ -811,7 +801,7 @@ ifeq ($(SUN_COMPILER),1)
|
||||||
CXXFLAGS := $(subst -fpic,-KPIC,$(CXXFLAGS))
|
CXXFLAGS := $(subst -fpic,-KPIC,$(CXXFLAGS))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# For SunOS and SunCC Sun wants folks to use -xregs=no%appl
|
# Add -xregs=no%appl SPARC. SunCC should not use certain registers in library code.
|
||||||
# https://docs.oracle.com/cd/E18659_01/html/821-1383/bkamt.html
|
# https://docs.oracle.com/cd/E18659_01/html/821-1383/bkamt.html
|
||||||
ifeq ($(IS_SUN)$(SUN_COMPILER),11)
|
ifeq ($(IS_SUN)$(SUN_COMPILER),11)
|
||||||
ifneq ($(IS_SPARC32)$(IS_SPARC64),00)
|
ifneq ($(IS_SPARC32)$(IS_SPARC64),00)
|
||||||
|
|
@ -824,6 +814,7 @@ endif # SunOS
|
||||||
# Remove -fPIC if present. IBM XL C/C++ use -qpic
|
# Remove -fPIC if present. IBM XL C/C++ use -qpic
|
||||||
ifeq ($(XLC_COMPILER),1)
|
ifeq ($(XLC_COMPILER),1)
|
||||||
CXXFLAGS := $(subst -fPIC,-qpic,$(CXXFLAGS))
|
CXXFLAGS := $(subst -fPIC,-qpic,$(CXXFLAGS))
|
||||||
|
CXXFLAGS := $(subst -fpic,-qpic,$(CXXFLAGS))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Add -pipe for everything except IBM XL C/C++, SunCC and ARM.
|
# Add -pipe for everything except IBM XL C/C++, SunCC and ARM.
|
||||||
|
|
@ -985,7 +976,7 @@ endif # Valgrind
|
||||||
# Newlib test due to http://sourceware.org/bugzilla/show_bug.cgi?id=20268
|
# Newlib test due to http://sourceware.org/bugzilla/show_bug.cgi?id=20268
|
||||||
ifneq ($(filter -DDEBUG -DDEBUG=1,$(CXXFLAGS)),)
|
ifneq ($(filter -DDEBUG -DDEBUG=1,$(CXXFLAGS)),)
|
||||||
TPROG = TestPrograms/test_cxx.cxx
|
TPROG = TestPrograms/test_cxx.cxx
|
||||||
USING_GLIBCXX := $(shell $(CXX) $(CXXFLAGS) -E $(TPROG) 2>&1 | $(GREP) -i -c "__GLIBCXX__")
|
USING_GLIBCXX := $(shell $(CXX) $(CXXFLAGS) -E $(TPROG) -o $(TOUT) 2>&1 | $(GREP) -i -c "__GLIBCXX__")
|
||||||
ifneq ($(USING_GLIBCXX),0)
|
ifneq ($(USING_GLIBCXX),0)
|
||||||
ifeq ($(HAS_NEWLIB),0)
|
ifeq ($(HAS_NEWLIB),0)
|
||||||
ifeq ($(findstring -D_GLIBCXX_DEBUG,$(CXXFLAGS)),)
|
ifeq ($(findstring -D_GLIBCXX_DEBUG,$(CXXFLAGS)),)
|
||||||
|
|
@ -1043,6 +1034,22 @@ SOLIB_FLAGS=-Wl,-h,libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
|
||||||
endif
|
endif
|
||||||
endif # HAS_SOLIB_VERSION
|
endif # HAS_SOLIB_VERSION
|
||||||
|
|
||||||
|
###########################################################
|
||||||
|
##### Temp file cleanup #####
|
||||||
|
###########################################################
|
||||||
|
|
||||||
|
# After this point no more test programs should be run.
|
||||||
|
# https://github.com/weidai11/cryptopp/issues/738
|
||||||
|
ifeq ($(findstring /dev/null,$(TOUT)),)
|
||||||
|
# $(info TOUT is not /dev/null, cleaning $(TOUT))
|
||||||
|
ifeq ($(wildcard $(TOUT)),$(TOUT))
|
||||||
|
UNUSED := $(shell $(RM) $(TOUT) 2>/dev/null)
|
||||||
|
endif
|
||||||
|
ifeq ($(wildcard $(TOUT).dSYM/),$(TOUT).dSYM/)
|
||||||
|
UNUSED := $(shell $(RM) -r $(TOUT).dSYM/ 2>/dev/null)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
###########################################################
|
###########################################################
|
||||||
##### Source and object files #####
|
##### Source and object files #####
|
||||||
###########################################################
|
###########################################################
|
||||||
|
|
@ -1189,18 +1196,11 @@ clean:
|
||||||
@-$(RM) libcryptopp.so libcryptopp.so$(SOLIB_COMPAT_SUFFIX) libcryptopp.so$(SOLIB_VERSION_SUFFIX)
|
@-$(RM) libcryptopp.so libcryptopp.so$(SOLIB_COMPAT_SUFFIX) libcryptopp.so$(SOLIB_VERSION_SUFFIX)
|
||||||
@-$(RM) cryptest.exe dlltest.exe cryptest.import.exe cryptest.info ct et
|
@-$(RM) cryptest.exe dlltest.exe cryptest.import.exe cryptest.info ct et
|
||||||
@-$(RM) *.la *.lo *.gcov *.gcno *.gcda *.stackdump core core-*
|
@-$(RM) *.la *.lo *.gcov *.gcno *.gcda *.stackdump core core-*
|
||||||
@-$(RM) a.out /tmp/adhoc.exe
|
@-$(RM) /tmp/adhoc.exe
|
||||||
@-$(RM) -r /tmp/cryptopp_test/
|
@-$(RM) -r /tmp/cryptopp_test/
|
||||||
@-$(RM) -r *.exe.dSYM/ *.dylib.dSYM/ a.out.dSYM/
|
@-$(RM) -r *.exe.dSYM/ *.dylib.dSYM/
|
||||||
@-$(RM) -r cov-int/
|
@-$(RM) -r cov-int/
|
||||||
|
|
||||||
# Feature testing runs the compiler and produces an [unwanted] a.out artifact.
|
|
||||||
# If a.out is created using privileges then it will cause problems later if
|
|
||||||
# the makefile is run again without privileges. This rule cleans a.out.
|
|
||||||
.PHONY: aout-clean
|
|
||||||
aout-clean:
|
|
||||||
@-$(RM) -r a.out a.out.dSYM/
|
|
||||||
|
|
||||||
.PHONY: autotools-clean
|
.PHONY: autotools-clean
|
||||||
autotools-clean:
|
autotools-clean:
|
||||||
@-$(RM) -f configure.ac configure configure.in Makefile.am Makefile.in Makefile
|
@-$(RM) -f configure.ac configure configure.in Makefile.am Makefile.in Makefile
|
||||||
|
|
@ -1215,7 +1215,7 @@ cmake-clean:
|
||||||
@-$(RM) -rf cmake_build/
|
@-$(RM) -rf cmake_build/
|
||||||
|
|
||||||
.PHONY: distclean
|
.PHONY: distclean
|
||||||
distclean: clean autotools-clean cmake-clean aout-clean
|
distclean: clean autotools-clean cmake-clean
|
||||||
-$(RM) adhoc.cpp adhoc.cpp.copied GNUmakefile.deps benchmarks.html cryptest.txt
|
-$(RM) adhoc.cpp adhoc.cpp.copied GNUmakefile.deps benchmarks.html cryptest.txt
|
||||||
@-$(RM) cryptest-*.txt cryptopp.tgz libcryptopp.pc *.o *.bc *.ii *~
|
@-$(RM) cryptest-*.txt cryptopp.tgz libcryptopp.pc *.o *.bc *.ii *~
|
||||||
@-$(RM) -r cryptlib.lib cryptest.exe *.suo *.sdf *.pdb Win32/ x64/ ipch/
|
@-$(RM) -r cryptlib.lib cryptest.exe *.suo *.sdf *.pdb Win32/ x64/ ipch/
|
||||||
|
|
@ -1345,8 +1345,8 @@ libcryptopp.pc:
|
||||||
@echo 'Libs: -L$${libdir} -lcryptopp' >> libcryptopp.pc
|
@echo 'Libs: -L$${libdir} -lcryptopp' >> libcryptopp.pc
|
||||||
|
|
||||||
# This recipe prepares the distro files
|
# This recipe prepares the distro files
|
||||||
TEXT_FILES := *.h *.cpp adhoc.cpp License.txt Readme.txt Install.txt Filelist.txt Doxyfile cryptest* cryptlib* dlltest* cryptdll* *.sln *.s *.S *.vcxproj *.filters cryptopp.rc TestVectors/*.txt TestData/*.dat TestScripts/*.sh TestScripts/*.cmd
|
TEXT_FILES := *.h *.cpp adhoc.cpp License.txt Readme.txt Install.txt Filelist.txt Doxyfile cryptest* cryptlib* dlltest* cryptdll* *.sln *.s *.S *.vcxproj *.filters cryptopp.rc TestVectors/*.txt TestData/*.dat TestPrograms/*.cxx TestScripts/*.sh TestScripts/*.cmd
|
||||||
EXEC_FILES := GNUmakefile GNUmakefile-cross TestData/ TestVectors/ TestScripts/
|
EXEC_FILES := GNUmakefile GNUmakefile-cross TestData/ TestVectors/ TestScripts/ TestPrograms/
|
||||||
|
|
||||||
ifeq ($(wildcard Filelist.txt),Filelist.txt)
|
ifeq ($(wildcard Filelist.txt),Filelist.txt)
|
||||||
DIST_FILES := $(shell cat Filelist.txt)
|
DIST_FILES := $(shell cat Filelist.txt)
|
||||||
|
|
@ -1373,7 +1373,7 @@ convert:
|
||||||
@-$(CHMOD) 0700 $(EXEC_FILES) *.sh *.cmd TestScripts/*.sh TestScripts/*.cmd
|
@-$(CHMOD) 0700 $(EXEC_FILES) *.sh *.cmd TestScripts/*.sh TestScripts/*.cmd
|
||||||
@-$(CHMOD) 0700 *.cmd *.sh GNUmakefile GNUmakefile-cross TestScripts/*.sh
|
@-$(CHMOD) 0700 *.cmd *.sh GNUmakefile GNUmakefile-cross TestScripts/*.sh
|
||||||
-unix2dos --keepdate --quiet $(TEXT_FILES) .*.yml *.asm *.cmd TestScripts/*.*
|
-unix2dos --keepdate --quiet $(TEXT_FILES) .*.yml *.asm *.cmd TestScripts/*.*
|
||||||
-dos2unix --keepdate --quiet GNUmakefile GNUmakefile-cross *.supp *.s *.sh *.mapfile TestScripts/*.sh
|
-dos2unix --keepdate --quiet GNUmakefile* *.supp *.s *.S *.sh *.mapfile TestScripts/*.sh
|
||||||
ifneq ($(IS_DARWIN),0)
|
ifneq ($(IS_DARWIN),0)
|
||||||
@-xattr -c *
|
@-xattr -c *
|
||||||
endif
|
endif
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue