summaryrefslogtreecommitdiff
path: root/config.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2017-09-17 20:07:53 -0400
committerJeffrey Walton <noloader@gmail.com>2017-09-17 20:07:53 -0400
commitf0c2324f6be1a3b91b88412354e7c80e19cd03e7 (patch)
treee741c2a1b1c2e340d01afc7d6734773842541a84 /config.h
parent09f1a2fb38fa493de110d620472bc5b3617a2f8e (diff)
downloadcryptopp-git-f0c2324f6be1a3b91b88412354e7c80e19cd03e7.tar.gz
Fix armeabi and armv7-a for Android (GH #509)
Diffstat (limited to 'config.h')
-rw-r--r--config.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/config.h b/config.h
index 56526ebf..092edbd6 100644
--- a/config.h
+++ b/config.h
@@ -541,9 +541,10 @@ NAMESPACE_END
#if (CRYPTOPP_BOOL_ARM32 || CRYPTOPP_BOOL_ARM64)
// Requires ARMv7 and ACLE 1.0. Testing shows ARMv7 is really ARMv7a under most toolchains.
+// Android still uses ARMv5 and ARMv6 so we have to be conservative when enabling NEON.
#if !defined(CRYPTOPP_ARM_NEON_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ASM)
-# if defined(__ARM_NEON__) || defined(__ARM_FEATURE_NEON) || (CRYPTOPP_MSC_VERSION >= 1700) || \
- (CRYPTOPP_GCC_VERSION >= 40800) || (CRYPTOPP_LLVM_CLANG_VERSION >= 30500)
+# if defined(__ARM_NEON__) || defined(__ARM_FEATURE_NEON) || \
+ (__ARM_ARCH >= 7) || (CRYPTOPP_MSC_VERSION >= 1700)
# define CRYPTOPP_ARM_NEON_AVAILABLE 1
# endif
#endif
@@ -564,7 +565,7 @@ NAMESPACE_END
// TODO: Add MSC_VER and ARM-64 platform define when available
#if !defined(CRYPTOPP_ARM_CRC32_AVAILABLE) && !defined(CRYPTOPP_DISABLE_ASM) && !defined(__apple_build_version__)
# if (defined(__ARM_FEATURE_CRC32) || (CRYPTOPP_MSC_VERSION >= 1910) || \
- defined(__aarch32__) || defined(__aarch64__)) && !defined(__ANDROID__)
+ defined(__aarch32__) || defined(__aarch64__))
# define CRYPTOPP_ARM_CRC32_AVAILABLE 1
# endif
#endif