Switch to pch.cpp for compile tests.
adhoc.cpp was a bit uncomfortable because we had to copy it out from adhoc.cpp.proto. For some reason CMake could not perform the copy, so we started using pch.cpp in CMake. This commit keeps them consistent. We may have problems with one test, and that is the Newlib tests. I seem to recall they a C++ header included to properly identify its use. We cross that bridge during MinGW testing.pull/730/head
parent
ffe63caae5
commit
81db4ea5e3
46
GNUmakefile
46
GNUmakefile
|
|
@ -97,7 +97,7 @@ HAS_SOLIB_VERSION := 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Newlib needs _XOPEN_SOURCE=600 for signals
|
# Newlib needs _XOPEN_SOURCE=600 for signals
|
||||||
HAS_NEWLIB := $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c "__NEWLIB__")
|
HAS_NEWLIB := $(shell $(CXX) $(CXXFLAGS) -dM -E pch.cpp 2>&1 | $(GREP) -i -c "__NEWLIB__")
|
||||||
|
|
||||||
# Formely adhoc.cpp was created from adhoc.cpp.proto when needed.
|
# Formely adhoc.cpp was created from adhoc.cpp.proto when needed.
|
||||||
# This is now needed because ISA tests are performed using adhoc.cpp.
|
# This is now needed because ISA tests are performed using adhoc.cpp.
|
||||||
|
|
@ -242,7 +242,7 @@ ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CXXFLAGS)),)
|
||||||
CHACHA_FLAG = -msse2
|
CHACHA_FLAG = -msse2
|
||||||
endif
|
endif
|
||||||
ifeq ($(findstring -DCRYPTOPP_DISABLE_SSSE3,$(CXXFLAGS)),)
|
ifeq ($(findstring -DCRYPTOPP_DISABLE_SSSE3,$(CXXFLAGS)),)
|
||||||
HAVE_SSSE3 = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -mssse3 -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c __SSSE3__)
|
HAVE_SSSE3 = $(shell $(CXX) $(CXXFLAGS) -mssse3 -dM -E pch.cpp 2>&1 | $(GREP) -i -c __SSSE3__)
|
||||||
ifeq ($(HAVE_SSSE3),1)
|
ifeq ($(HAVE_SSSE3),1)
|
||||||
ARIA_FLAG = -mssse3
|
ARIA_FLAG = -mssse3
|
||||||
CHAM_FLAG = -mssse3
|
CHAM_FLAG = -mssse3
|
||||||
|
|
@ -255,28 +255,28 @@ ifeq ($(findstring -DCRYPTOPP_DISABLE_SSSE3,$(CXXFLAGS)),)
|
||||||
SPECK128_FLAG = -mssse3
|
SPECK128_FLAG = -mssse3
|
||||||
endif
|
endif
|
||||||
ifeq ($(findstring -DCRYPTOPP_DISABLE_SSE4,$(CXXFLAGS)),)
|
ifeq ($(findstring -DCRYPTOPP_DISABLE_SSE4,$(CXXFLAGS)),)
|
||||||
HAVE_SSE4 = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -msse4.1 -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c __SSE4_1__)
|
HAVE_SSE4 = $(shell $(CXX) $(CXXFLAGS) -msse4.1 -dM -E pch.cpp 2>&1 | $(GREP) -i -c __SSE4_1__)
|
||||||
ifeq ($(HAVE_SSE4),1)
|
ifeq ($(HAVE_SSE4),1)
|
||||||
BLAKE2_FLAG = -msse4.1
|
BLAKE2_FLAG = -msse4.1
|
||||||
SIMON64_FLAG = -msse4.1
|
SIMON64_FLAG = -msse4.1
|
||||||
SPECK64_FLAG = -msse4.1
|
SPECK64_FLAG = -msse4.1
|
||||||
endif
|
endif
|
||||||
HAVE_SSE4 = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -msse4.2 -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c __SSE4_2__)
|
HAVE_SSE4 = $(shell $(CXX) $(CXXFLAGS) -msse4.2 -dM -E pch.cpp 2>&1 | $(GREP) -i -c __SSE4_2__)
|
||||||
ifeq ($(HAVE_SSE4),1)
|
ifeq ($(HAVE_SSE4),1)
|
||||||
CRC_FLAG = -msse4.2
|
CRC_FLAG = -msse4.2
|
||||||
endif
|
endif
|
||||||
ifeq ($(findstring -DCRYPTOPP_DISABLE_AESNI,$(CXXFLAGS)),)
|
ifeq ($(findstring -DCRYPTOPP_DISABLE_AESNI,$(CXXFLAGS)),)
|
||||||
HAVE_CLMUL = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -mssse3 -mpclmul -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c __PCLMUL__ )
|
HAVE_CLMUL = $(shell $(CXX) $(CXXFLAGS) -mssse3 -mpclmul -dM -E pch.cpp 2>&1 | $(GREP) -i -c __PCLMUL__ )
|
||||||
ifeq ($(HAVE_CLMUL),1)
|
ifeq ($(HAVE_CLMUL),1)
|
||||||
GCM_FLAG = -mssse3 -mpclmul
|
GCM_FLAG = -mssse3 -mpclmul
|
||||||
endif
|
endif
|
||||||
HAVE_AES = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -msse4.1 -maes -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c __AES__)
|
HAVE_AES = $(shell $(CXX) $(CXXFLAGS) -msse4.1 -maes -dM -E pch.cpp 2>&1 | $(GREP) -i -c __AES__)
|
||||||
ifeq ($(HAVE_AES),1)
|
ifeq ($(HAVE_AES),1)
|
||||||
AES_FLAG = -msse4.1 -maes
|
AES_FLAG = -msse4.1 -maes
|
||||||
SM4_FLAG = -mssse3 -maes
|
SM4_FLAG = -mssse3 -maes
|
||||||
endif
|
endif
|
||||||
ifeq ($(findstring -DCRYPTOPP_DISABLE_SHANI,$(CXXFLAGS)),)
|
ifeq ($(findstring -DCRYPTOPP_DISABLE_SHANI,$(CXXFLAGS)),)
|
||||||
HAVE_SHA = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -msse4.2 -msha -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c __SHA__)
|
HAVE_SHA = $(shell $(CXX) $(CXXFLAGS) -msse4.2 -msha -dM -E pch.cpp 2>&1 | $(GREP) -i -c __SHA__)
|
||||||
ifeq ($(HAVE_SHA),1)
|
ifeq ($(HAVE_SHA),1)
|
||||||
SHA_FLAG = -msse4.2 -msha
|
SHA_FLAG = -msse4.2 -msha
|
||||||
endif
|
endif
|
||||||
|
|
@ -370,7 +370,7 @@ else
|
||||||
###########################################################
|
###########################################################
|
||||||
|
|
||||||
ifeq ($(IS_NEON),1)
|
ifeq ($(IS_NEON),1)
|
||||||
HAVE_NEON = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c -E '\<__ARM_NEON\>')
|
HAVE_NEON = $(shell $(CXX) $(CXXFLAGS) -march=armv7-a -mfloat-abi=$(FP_ABI) -mfpu=neon -dM -E pch.cpp 2>&1 | $(GREP) -i -c -E '\<__ARM_NEON\>')
|
||||||
ifeq ($(HAVE_NEON),1)
|
ifeq ($(HAVE_NEON),1)
|
||||||
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
|
||||||
|
|
@ -392,7 +392,7 @@ ifeq ($(IS_NEON),1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(IS_ARMV8),1)
|
ifeq ($(IS_ARMV8),1)
|
||||||
HAVE_NEON = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -march=armv8-a -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c __ARM_NEON)
|
HAVE_NEON = $(shell $(CXX) $(CXXFLAGS) -march=armv8-a -dM -E pch.cpp 2>&1 | $(GREP) -i -c __ARM_NEON)
|
||||||
ifeq ($(HAVE_NEON),1)
|
ifeq ($(HAVE_NEON),1)
|
||||||
ARIA_FLAG = -march=armv8-a
|
ARIA_FLAG = -march=armv8-a
|
||||||
BLAKE2_FLAG = -march=armv8-a
|
BLAKE2_FLAG = -march=armv8-a
|
||||||
|
|
@ -407,17 +407,17 @@ ifeq ($(IS_ARMV8),1)
|
||||||
SPECK128_FLAG = -march=armv8-a
|
SPECK128_FLAG = -march=armv8-a
|
||||||
SM4_FLAG = -march=armv8-a
|
SM4_FLAG = -march=armv8-a
|
||||||
endif
|
endif
|
||||||
HAVE_CRC = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -march=armv8-a+crc -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c __ARM_FEATURE_CRC32)
|
HAVE_CRC = $(shell $(CXX) $(CXXFLAGS) -march=armv8-a+crc -dM -E pch.cpp 2>&1 | $(GREP) -i -c __ARM_FEATURE_CRC32)
|
||||||
ifeq ($(HAVE_CRC),1)
|
ifeq ($(HAVE_CRC),1)
|
||||||
CRC_FLAG = -march=armv8-a+crc
|
CRC_FLAG = -march=armv8-a+crc
|
||||||
endif
|
endif
|
||||||
HAVE_CRYPTO = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -march=armv8-a+crypto -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c __ARM_FEATURE_CRYPTO)
|
HAVE_CRYPTO = $(shell $(CXX) $(CXXFLAGS) -march=armv8-a+crypto -dM -E pch.cpp 2>&1 | $(GREP) -i -c __ARM_FEATURE_CRYPTO)
|
||||||
ifeq ($(HAVE_CRYPTO),1)
|
ifeq ($(HAVE_CRYPTO),1)
|
||||||
AES_FLAG = -march=armv8-a+crypto
|
AES_FLAG = -march=armv8-a+crypto
|
||||||
GCM_FLAG = -march=armv8-a+crypto
|
GCM_FLAG = -march=armv8-a+crypto
|
||||||
SHA_FLAG = -march=armv8-a+crypto
|
SHA_FLAG = -march=armv8-a+crypto
|
||||||
endif
|
endif
|
||||||
HAVE_CRYPTO = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -march=armv8.4-a+crypto -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c __ARM_FEATURE_CRYPTO)
|
HAVE_CRYPTO = $(shell $(CXX) $(CXXFLAGS) -march=armv8.4-a+crypto -dM -E pch.cpp 2>&1 | $(GREP) -i -c __ARM_FEATURE_CRYPTO)
|
||||||
ifeq ($(HAVE_CRYPTO),1)
|
ifeq ($(HAVE_CRYPTO),1)
|
||||||
SM4_FLAG = -march=armv8.4-a+crypto
|
SM4_FLAG = -march=armv8.4-a+crypto
|
||||||
endif
|
endif
|
||||||
|
|
@ -428,7 +428,7 @@ endif
|
||||||
# front-end. XLC/LLVM only supplies POWER8 so we have to set the flags for
|
# front-end. XLC/LLVM only supplies POWER8 so we have to set the flags for
|
||||||
# XLC/LLVM to POWER8. I've got a feeling LLVM is going to cause trouble.
|
# XLC/LLVM to POWER8. I've got a feeling LLVM is going to cause trouble.
|
||||||
ifneq ($(IS_PPC32)$(IS_PPC64),00)
|
ifneq ($(IS_PPC32)$(IS_PPC64),00)
|
||||||
HAVE_POWER8 = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -mcpu=power8 -maltivec -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c -E '_ARCH_PWR8|_ARCH_PWR9|__CRYPTO')
|
HAVE_POWER8 = $(shell $(CXX) $(CXXFLAGS) -mcpu=power8 -maltivec -dM -E pch.cpp 2>&1 | $(GREP) -i -c -E '_ARCH_PWR8|_ARCH_PWR9|__CRYPTO')
|
||||||
ifneq ($(HAVE_POWER8),0)
|
ifneq ($(HAVE_POWER8),0)
|
||||||
POWER8_FLAG = -mcpu=power8 -maltivec
|
POWER8_FLAG = -mcpu=power8 -maltivec
|
||||||
AES_FLAG = $(POWER8_FLAG)
|
AES_FLAG = $(POWER8_FLAG)
|
||||||
|
|
@ -443,7 +443,7 @@ ifneq ($(IS_PPC32)$(IS_PPC64),00)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# GCC and some compatibles
|
# GCC and some compatibles
|
||||||
HAVE_POWER7 = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -mcpu=power7 -maltivec -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c '_ARCH_PWR7')
|
HAVE_POWER7 = $(shell $(CXX) $(CXXFLAGS) -mcpu=power7 -maltivec -dM -E pch.cpp 2>&1 | $(GREP) -i -c '_ARCH_PWR7')
|
||||||
ifneq ($(HAVE_POWER7),0)
|
ifneq ($(HAVE_POWER7),0)
|
||||||
POWER7_FLAG = -mcpu=power7 -maltivec
|
POWER7_FLAG = -mcpu=power7 -maltivec
|
||||||
ARIA_FLAG = $(POWER7_FLAG)
|
ARIA_FLAG = $(POWER7_FLAG)
|
||||||
|
|
@ -456,13 +456,13 @@ ifneq ($(IS_PPC32)$(IS_PPC64),00)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# GCC and some compatibles
|
# GCC and some compatibles
|
||||||
HAVE_ALTIVEC = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -mcpu=power4 -maltivec -dM -E adhoc.cpp 2>&1 | $(GREP) -i -c '__ALTIVEC__')
|
HAVE_ALTIVEC = $(shell $(CXX) $(CXXFLAGS) -mcpu=power4 -maltivec -dM -E pch.cpp 2>&1 | $(GREP) -i -c '__ALTIVEC__')
|
||||||
ifneq ($(HAVE_ALTIVEC),0)
|
ifneq ($(HAVE_ALTIVEC),0)
|
||||||
ALTIVEC_FLAG = -mcpu=power4 -maltivec
|
ALTIVEC_FLAG = -mcpu=power4 -maltivec
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# IBM XL C/C++
|
# IBM XL C/C++
|
||||||
HAVE_POWER8 = $(shell $(CXX) $(CXXFLAGS) -qshowmacros -qarch=pwr8 -qaltivec -E adhoc.cpp 2>&1 | $(GREP) -i -c -E '_ARCH_PWR8|_ARCH_PWR9|__CRYPTO')
|
HAVE_POWER8 = $(shell $(CXX) $(CXXFLAGS) -qshowmacros -qarch=pwr8 -qaltivec -E pch.cpp 2>&1 | $(GREP) -i -c -E '_ARCH_PWR8|_ARCH_PWR9|__CRYPTO')
|
||||||
ifneq ($(HAVE_POWER8),0)
|
ifneq ($(HAVE_POWER8),0)
|
||||||
POWER8_FLAG = -qarch=pwr8 -qaltivec
|
POWER8_FLAG = -qarch=pwr8 -qaltivec
|
||||||
AES_FLAG = $(POWER8_FLAG)
|
AES_FLAG = $(POWER8_FLAG)
|
||||||
|
|
@ -477,7 +477,7 @@ ifneq ($(IS_PPC32)$(IS_PPC64),00)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# IBM XL C/C++
|
# IBM XL C/C++
|
||||||
HAVE_POWER7 = $(shell $(CXX) $(CXXFLAGS) -qshowmacros -qarch=pwr7 -qaltivec -E adhoc.cpp 2>&1 | $(GREP) -i -c -E '_ARCH_PWR7')
|
HAVE_POWER7 = $(shell $(CXX) $(CXXFLAGS) -qshowmacros -qarch=pwr7 -qaltivec -E pch.cpp 2>&1 | $(GREP) -i -c -E '_ARCH_PWR7')
|
||||||
ifneq ($(HAVE_POWER7),0)
|
ifneq ($(HAVE_POWER7),0)
|
||||||
POWER7_FLAG = -qarch=pwr7 -qaltivec
|
POWER7_FLAG = -qarch=pwr7 -qaltivec
|
||||||
ARIA_FLAG = $(POWER7_FLAG)
|
ARIA_FLAG = $(POWER7_FLAG)
|
||||||
|
|
@ -490,7 +490,7 @@ ifneq ($(IS_PPC32)$(IS_PPC64),00)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# IBM XL C/C++
|
# IBM XL C/C++
|
||||||
HAVE_ALTIVEC = $(shell $(CXX) $(CXXFLAGS) -qshowmacros -qarch=pwr6 -qaltivec -E adhoc.cpp 2>&1 | $(GREP) -i -c '__ALTIVEC__')
|
HAVE_ALTIVEC = $(shell $(CXX) $(CXXFLAGS) -qshowmacros -qarch=pwr6 -qaltivec -E pch.cpp 2>&1 | $(GREP) -i -c '__ALTIVEC__')
|
||||||
ifneq ($(HAVE_ALTIVEC),0)
|
ifneq ($(HAVE_ALTIVEC),0)
|
||||||
ALTIVEC_FLAG = -qarch=pwr6 -qaltivec
|
ALTIVEC_FLAG = -qarch=pwr6 -qaltivec
|
||||||
endif
|
endif
|
||||||
|
|
@ -498,7 +498,7 @@ ifneq ($(IS_PPC32)$(IS_PPC64),00)
|
||||||
# LLVM front-ends only provide Power8. It really jambs us up
|
# LLVM front-ends only provide Power8. It really jambs us up
|
||||||
# for ppc-simd.cpp which needs ALTIVEC/POWER4. We have similar
|
# for ppc-simd.cpp which needs ALTIVEC/POWER4. We have similar
|
||||||
# problems {lea|cham|simon|speck|...}-simd.cpp and POWER7.
|
# problems {lea|cham|simon|speck|...}-simd.cpp and POWER7.
|
||||||
HAVE_LLVM = $(shell $(CXX) $(CXXFLAGS) -qshowmacros -E adhoc.cpp 2>&1 | $(GREP) -i -c '__llvm__')
|
HAVE_LLVM = $(shell $(CXX) $(CXXFLAGS) -qshowmacros -E pch.cpp 2>&1 | $(GREP) -i -c '__llvm__')
|
||||||
ifneq ($(HAVE_LLVM),0)
|
ifneq ($(HAVE_LLVM),0)
|
||||||
POWER7_FLAG = $(POWER8_FLAG)
|
POWER7_FLAG = $(POWER8_FLAG)
|
||||||
ARIA_FLAG = $(POWER8_FLAG)
|
ARIA_FLAG = $(POWER8_FLAG)
|
||||||
|
|
@ -529,7 +529,7 @@ endif
|
||||||
ifeq ($(XLC_COMPILER),1)
|
ifeq ($(XLC_COMPILER),1)
|
||||||
# More stupid LLVM games, with Clang pretending to be a different compiler.
|
# More stupid LLVM games, with Clang pretending to be a different compiler.
|
||||||
# https://lists.tetaneutral.net/pipermail/cfarm-users/2018-July/000331.html
|
# https://lists.tetaneutral.net/pipermail/cfarm-users/2018-July/000331.html
|
||||||
HAVE_COMPAT = $(shell $(CXX) $(CXXFLAGS) -qxlcompatmacros adhoc.cpp 2>&1 | $(GREP) -i -c -E 'illegal|not supported')
|
HAVE_COMPAT = $(shell $(CXX) $(CXXFLAGS) -qxlcompatmacros pch.cpp 2>&1 | $(GREP) -i -c -E 'illegal|not supported')
|
||||||
ifeq ($(HAVE_COMPAT),0)
|
ifeq ($(HAVE_COMPAT),0)
|
||||||
CXXFLAGS += -qxlcompatmacros
|
CXXFLAGS += -qxlcompatmacros
|
||||||
endif
|
endif
|
||||||
|
|
@ -556,8 +556,8 @@ endif
|
||||||
# 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
|
# BAD_PTHREAD and HAVE_PTHREAD is due to GCC on Solaris. GCC rejects -pthread but defines
|
||||||
# 39 *_PTHREAD_* related macros. Then we pickup the macros and enable the option...
|
# 39 *_PTHREAD_* related macros. Then we pickup the macros and enable the option...
|
||||||
BAD_PTHREAD = $(shell $(CXX) $(CXXFLAGS) -pthread -c adhoc.cpp 2>&1 | $(GREP) -i -c -E 'warning|incorrect|illegal|unrecognized')
|
BAD_PTHREAD = $(shell $(CXX) $(CXXFLAGS) -pthread -c pch.cpp 2>&1 | $(GREP) -i -c -E 'warning|incorrect|illegal|unrecognized')
|
||||||
HAVE_PTHREAD = $(shell $(CXX) $(CXXFLAGS) -pthread -dM -E adhoc.cpp 2>/dev/null | $(GREP) -i -c 'PTHREAD')
|
HAVE_PTHREAD = $(shell $(CXX) $(CXXFLAGS) -pthread -dM -E pch.cpp 2>/dev/null | $(GREP) -i -c 'PTHREAD')
|
||||||
ifeq ($(BAD_PTHREAD),0)
|
ifeq ($(BAD_PTHREAD),0)
|
||||||
ifneq ($(HAVE_PTHREAD),0)
|
ifneq ($(HAVE_PTHREAD),0)
|
||||||
CXXFLAGS += -pthread
|
CXXFLAGS += -pthread
|
||||||
|
|
@ -744,7 +744,7 @@ endif # Valgrind
|
||||||
# Debug testing on GNU systems. Triggered by -DDEBUG.
|
# Debug testing on GNU systems. Triggered by -DDEBUG.
|
||||||
# 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)),)
|
||||||
USING_GLIBCXX := $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -E adhoc.cpp 2>&1 | $(GREP) -i -c "__GLIBCXX__")
|
USING_GLIBCXX := $(shell $(CXX) $(CXXFLAGS) -E pch.cpp 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)),)
|
||||||
|
|
|
||||||
|
|
@ -205,7 +205,7 @@ endif # Valgrind
|
||||||
# Debug testing on GNU systems. Triggered by -DDEBUG.
|
# Debug testing on GNU systems. Triggered by -DDEBUG.
|
||||||
# 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)),)
|
||||||
USING_GLIBCXX := $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -E adhoc.cpp 2>&1 | $(EGREP) -i -c "__GLIBCXX__")
|
USING_GLIBCXX := $(shell $(CXX) $(CXXFLAGS) -E pch.cpp 2>&1 | $(EGREP) -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)),)
|
||||||
|
|
@ -236,11 +236,11 @@ endif # Dead code stripping
|
||||||
|
|
||||||
# Pickup ARMv7 and NEON. Do it after Android, iOS and Embedded flags have been set.
|
# Pickup ARMv7 and NEON. Do it after Android, iOS and Embedded flags have been set.
|
||||||
ifeq ($(IS_ARM32),1)
|
ifeq ($(IS_ARM32),1)
|
||||||
IS_ARMv7 := $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -dM -E adhoc.cpp 2>&1 | $(EGREP) -i -c '__ARM_ARCH 7')
|
IS_ARMv7 := $(shell $(CXX) $(CXXFLAGS) -dM -E pch.cpp 2>&1 | $(EGREP) -i -c '__ARM_ARCH 7')
|
||||||
ifeq ($(IS_ARMv7),1)
|
ifeq ($(IS_ARMv7),1)
|
||||||
IS_NEON := 1
|
IS_NEON := 1
|
||||||
else
|
else
|
||||||
IS_NEON := $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -dM -E adhoc.cpp 2>&1 | $(EGREP) -i -c -E '\<__ARM_NEON\>')
|
IS_NEON := $(shell $(CXX) $(CXXFLAGS) -dM -E pch.cpp 2>&1 | $(EGREP) -i -c -E '\<__ARM_NEON\>')
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
@ -290,7 +290,7 @@ endif
|
||||||
|
|
||||||
# ARMv8-a
|
# ARMv8-a
|
||||||
ifneq ($(IS_ARMv8),0)
|
ifneq ($(IS_ARMv8),0)
|
||||||
IS_NEON := $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -march=armv8-a -dM -E adhoc.cpp 2>&1 | $(EGREP) -i -c __ARM_NEON)
|
IS_NEON := $(shell $(CXX) $(CXXFLAGS) -march=armv8-a -dM -E pch.cpp 2>&1 | $(EGREP) -i -c __ARM_NEON)
|
||||||
ifeq ($(IS_NEON),1)
|
ifeq ($(IS_NEON),1)
|
||||||
ARIA_FLAG = -march=armv8-a
|
ARIA_FLAG = -march=armv8-a
|
||||||
BLAKE2_FLAG = -march=armv8-a
|
BLAKE2_FLAG = -march=armv8-a
|
||||||
|
|
@ -303,17 +303,17 @@ ifneq ($(IS_ARMv8),0)
|
||||||
SPECK64_FLAG = -march=armv8-a
|
SPECK64_FLAG = -march=armv8-a
|
||||||
SPECK128_FLAG = -march=armv8-a
|
SPECK128_FLAG = -march=armv8-a
|
||||||
endif
|
endif
|
||||||
HAVE_CRC := $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -march=armv8-a+crc -dM -E adhoc.cpp 2>&1 | $(EGREP) -i -c __ARM_FEATURE_CRC32)
|
HAVE_CRC := $(shell $(CXX) $(CXXFLAGS) -march=armv8-a+crc -dM -E pch.cpp 2>&1 | $(EGREP) -i -c __ARM_FEATURE_CRC32)
|
||||||
ifeq ($(HAVE_CRC),1)
|
ifeq ($(HAVE_CRC),1)
|
||||||
CRC_FLAG = -march=armv8-a+crc
|
CRC_FLAG = -march=armv8-a+crc
|
||||||
endif
|
endif
|
||||||
HAVE_CRYPTO := $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -march=armv8-a+crypto -dM -E adhoc.cpp 2>&1 | $(EGREP) -i -c __ARM_FEATURE_CRYPTO)
|
HAVE_CRYPTO := $(shell $(CXX) $(CXXFLAGS) -march=armv8-a+crypto -dM -E pch.cpp 2>&1 | $(EGREP) -i -c __ARM_FEATURE_CRYPTO)
|
||||||
ifeq ($(HAVE_CRYPTO),1)
|
ifeq ($(HAVE_CRYPTO),1)
|
||||||
AES_FLAG = -march=armv8-a+crypto
|
AES_FLAG = -march=armv8-a+crypto
|
||||||
GCM_FLAG = -march=armv8-a+crypto
|
GCM_FLAG = -march=armv8-a+crypto
|
||||||
SHA_FLAG = -march=armv8-a+crypto
|
SHA_FLAG = -march=armv8-a+crypto
|
||||||
endif
|
endif
|
||||||
HAVE_CRYPTO := $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -march=armv8.4-a+crypto -dM -E adhoc.cpp 2>&1 | $(EGREP) -i -c __ARM_FEATURE_CRYPTO)
|
HAVE_CRYPTO := $(shell $(CXX) $(CXXFLAGS) -march=armv8.4-a+crypto -dM -E pch.cpp 2>&1 | $(EGREP) -i -c __ARM_FEATURE_CRYPTO)
|
||||||
ifeq ($(HAVE_CRYPTO),1)
|
ifeq ($(HAVE_CRYPTO),1)
|
||||||
SM4_FLAG = -march=armv8.4-a+crypto
|
SM4_FLAG = -march=armv8.4-a+crypto
|
||||||
endif
|
endif
|
||||||
|
|
@ -326,7 +326,7 @@ ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CXXFLAGS)),)
|
||||||
SSE_FLAG = -msse2
|
SSE_FLAG = -msse2
|
||||||
CHACHA_FLAG = -msse2
|
CHACHA_FLAG = -msse2
|
||||||
endif
|
endif
|
||||||
HAVE_SSSE3 = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -mssse3 -dM -E adhoc.cpp 2>&1 | $(EGREP) -i -c __SSSE3__)
|
HAVE_SSSE3 = $(shell $(CXX) $(CXXFLAGS) -mssse3 -dM -E pch.cpp 2>&1 | $(EGREP) -i -c __SSSE3__)
|
||||||
ifeq ($(HAVE_SSSE3),1)
|
ifeq ($(HAVE_SSSE3),1)
|
||||||
ARIA_FLAG = -mssse3
|
ARIA_FLAG = -mssse3
|
||||||
CHAM_FLAG = -mssse3
|
CHAM_FLAG = -mssse3
|
||||||
|
|
@ -336,26 +336,26 @@ endif
|
||||||
SIMON128_FLAG = -mssse3
|
SIMON128_FLAG = -mssse3
|
||||||
SPECK128_FLAG = -mssse3
|
SPECK128_FLAG = -mssse3
|
||||||
endif
|
endif
|
||||||
HAVE_SSE4 = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -msse4.1 -dM -E adhoc.cpp 2>&1 | $(EGREP) -i -c __SSE4_1__)
|
HAVE_SSE4 = $(shell $(CXX) $(CXXFLAGS) -msse4.1 -dM -E pch.cpp 2>&1 | $(EGREP) -i -c __SSE4_1__)
|
||||||
ifeq ($(HAVE_SSE4),1)
|
ifeq ($(HAVE_SSE4),1)
|
||||||
SIMON64_FLAG = -msse4.1
|
SIMON64_FLAG = -msse4.1
|
||||||
SPECK64_FLAG = -msse4.1
|
SPECK64_FLAG = -msse4.1
|
||||||
endif
|
endif
|
||||||
HAVE_SSE4 = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -msse4.2 -dM -E adhoc.cpp 2>&1 | $(EGREP) -i -c __SSE4_2__)
|
HAVE_SSE4 = $(shell $(CXX) $(CXXFLAGS) -msse4.2 -dM -E pch.cpp 2>&1 | $(EGREP) -i -c __SSE4_2__)
|
||||||
ifeq ($(HAVE_SSE4),1)
|
ifeq ($(HAVE_SSE4),1)
|
||||||
BLAKE2_FLAG = -msse4.2
|
BLAKE2_FLAG = -msse4.2
|
||||||
CRC_FLAG = -msse4.2
|
CRC_FLAG = -msse4.2
|
||||||
endif
|
endif
|
||||||
HAVE_CLMUL = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -mssse3 -mpclmul -dM -E adhoc.cpp 2>&1 | $(EGREP) -i -c __PCLMUL__ )
|
HAVE_CLMUL = $(shell $(CXX) $(CXXFLAGS) -mssse3 -mpclmul -dM -E pch.cpp 2>&1 | $(EGREP) -i -c __PCLMUL__ )
|
||||||
ifeq ($(HAVE_CLMUL),1)
|
ifeq ($(HAVE_CLMUL),1)
|
||||||
GCM_FLAG = -mssse3 -mpclmul
|
GCM_FLAG = -mssse3 -mpclmul
|
||||||
endif
|
endif
|
||||||
HAVE_AES = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -msse4.1 -maes -dM -E adhoc.cpp 2>&1 | $(EGREP) -i -c __AES__)
|
HAVE_AES = $(shell $(CXX) $(CXXFLAGS) -msse4.1 -maes -dM -E pch.cpp 2>&1 | $(EGREP) -i -c __AES__)
|
||||||
ifeq ($(HAVE_AES),1)
|
ifeq ($(HAVE_AES),1)
|
||||||
AES_FLAG = -msse4.1 -maes
|
AES_FLAG = -msse4.1 -maes
|
||||||
SM4_FLAG = -mssse3 -maes
|
SM4_FLAG = -mssse3 -maes
|
||||||
endif
|
endif
|
||||||
HAVE_SHA = $(shell $(CXX) $(CXXFLAGS) -DADHOC_MAIN -msse4.2 -msha -dM -E adhoc.cpp 2>&1 | $(EGREP) -i -c __SHA__)
|
HAVE_SHA = $(shell $(CXX) $(CXXFLAGS) -msse4.2 -msha -dM -E pch.cpp 2>&1 | $(EGREP) -i -c __SHA__)
|
||||||
ifeq ($(HAVE_SHA),1)
|
ifeq ($(HAVE_SHA),1)
|
||||||
SHA_FLAG = -msse4.2 -msha
|
SHA_FLAG = -msse4.2 -msha
|
||||||
endif
|
endif
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue