summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2014-02-04 17:50:48 +0200
committerJussi Kivilinna <jussi.kivilinna@iki.fi>2014-02-04 17:50:48 +0200
commit6be3032048ee2466511d2384fcf2d28b856219b2 (patch)
treef8641407b7ee71d0800a257e24e58b28bfad8b57 /configure.ac
parent6e83552dde83a8b4f639071551a20e33a9d46eb9 (diff)
downloadlibgcrypt-6be3032048ee2466511d2384fcf2d28b856219b2.tar.gz
Fix ARMv6 detection when CFLAGS modify target CPU architecture
* configure.ac (gcry_cv_cc_arm_arch_is_v6): Use compiler test instead of preprocessor test. -- Old test was using C preprocessor to check ARM version macros and missed fact that using different CFLAGS affect those macros (CFLAGS are not passed to preprocessor checks). Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac14
1 files changed, 10 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index 62544533..a447859d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1307,8 +1307,10 @@ AC_CACHE_CHECK([whether compiler is configured for ARMv6 or newer architecture],
[if test "$mpi_cpu_arch" != "arm" ; then
gcry_cv_cc_arm_arch_is_v6="n/a"
else
- AC_EGREP_CPP(yes,
- [#if defined(__arm__) && \
+ gcry_cv_cc_arm_arch_is_v6=no
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE(
+ [[
+ #if defined(__arm__) && \
((defined(__ARM_ARCH) && __ARM_ARCH >= 6) \
|| defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \
|| defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) \
@@ -1316,9 +1318,13 @@ AC_CACHE_CHECK([whether compiler is configured for ARMv6 or newer architecture],
|| defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \
|| defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \
|| defined(__ARM_ARCH_7EM__))
- yes
+ /* empty */
+ #else
+ /* fail compile if not ARMv6. */
+ not_armv6 not_armv6 = (not_armv6)not_armv6;
#endif
- ], gcry_cv_cc_arm_arch_is_v6=yes, gcry_cv_cc_arm_arch_is_v6=no)
+ ]])],
+ [gcry_cv_cc_arm_arch_is_v6=yes])
fi])
if test "$gcry_cv_cc_arm_arch_is_v6" = "yes" ; then
AC_DEFINE(HAVE_ARM_ARCH_V6,1,