diff --git a/GNUmakefile b/GNUmakefile index 102befa1..89950acf 100755 --- a/GNUmakefile +++ b/GNUmakefile @@ -419,17 +419,6 @@ ifeq ($(XLC_COMPILER),1) CXXFLAGS += -q32 endif endif - ifeq ($(findstring -q64,$(CXXFLAGS)),-q64) - ifeq ($(findstring -X64,$(ARFLAGS)),) - ARFLAGS := -r -X64 - endif - else - ifeq ($(findstring -q32,$(CXXFLAGS)),-q32) - ifeq ($(findstring -X32,$(ARFLAGS)),) - ARFLAGS := -r -X32 - endif - endif - endif endif endif # X86, X64, ARM32, ARM64, PPC32, PPC64, etc diff --git a/config.h b/config.h index 05058a10..54eac6c9 100644 --- a/config.h +++ b/config.h @@ -610,23 +610,36 @@ NAMESPACE_END #if (CRYPTOPP_BOOL_PPC32 || CRYPTOPP_BOOL_PPC64) +#if defined(CRYPTOPP_DISABLE_ALTIVEC) || defined(CRYPTOPP_DISABLE_ASM) +# undef CRYPTOPP_DISABLE_ALTIVEC +# undef CRYPTOPP_DISABLE_POWER7 +# undef CRYPTOPP_DISABLE_POWER8 +# define CRYPTOPP_DISABLE_ALTIVEC 1 +# define CRYPTOPP_DISABLE_POWER7 1 +# define CRYPTOPP_DISABLE_POWER8 1 +#endif + // An old Apple G5 with GCC 4.01 has AltiVec, but its only Power4 or so. // We need Power7 or above, so the makefile defines CRYPTOPP_DISABLE_ALTIVEC. -#if !defined(CRYPTOPP_POWER7_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ALTIVEC) && !defined(CRYPTOPP_DISABLE_ASM) -# if defined(_ARCH_PWR7) || (CRYPTOPP_XLC_VERSION >= 100000) || (CRYPTOPP_GCC_VERSION >= 40000) +#if !defined(CRYPTOPP_ALTIVEC_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ALTIVEC) +# if defined(_ARCH_PWR4) || (CRYPTOPP_XLC_VERSION >= 100000) || (CRYPTOPP_GCC_VERSION >= 40100) # define CRYPTOPP_ALTIVEC_AVAILABLE 1 +# endif +#endif + +#if !defined(CRYPTOPP_POWER7_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER7) && defined(CRYPTOPP_ALTIVEC_AVAILABLE) +# if defined(_ARCH_PWR7) || (CRYPTOPP_XLC_VERSION >= 100000) || (CRYPTOPP_GCC_VERSION >= 40100) # define CRYPTOPP_POWER7_AVAILABLE 1 # endif #endif -#if !defined(CRYPTOPP_POWER8_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ALTIVEC) && !defined(CRYPTOPP_DISABLE_ASM) +#if !defined(CRYPTOPP_POWER8_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER8) && defined(CRYPTOPP_POWER7_AVAILABLE) # if defined(_ARCH_PWR8) || (CRYPTOPP_XLC_VERSION >= 130000) || (CRYPTOPP_GCC_VERSION >= 40800) -# define CRYPTOPP_ALTIVEC_AVAILABLE 1 # define CRYPTOPP_POWER8_AVAILABLE 1 # endif #endif -#if !defined(CRYPTOPP_POWER8_CRYPTO_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ALTIVEC) && !defined(CRYPTOPP_DISABLE_ASM) +#if !defined(CRYPTOPP_POWER8_AVAILABLE) && !defined(CRYPTOPP_DISABLE_POWER8) && defined(CRYPTOPP_POWER7_AVAILABLE) # if defined(__CRYPTO__) || defined(_ARCH_PWR8) || (CRYPTOPP_XLC_VERSION >= 130000) || (CRYPTOPP_GCC_VERSION >= 40800) # define CRYPTOPP_POWER8_AES_AVAILABLE 1 //# define CRYPTOPP_POWER8_SHA_AVAILABLE 1