[PATCH] build: make ARM NEON check in configure.ac more strict

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Peter Meerwald <p.meerwald@xxxxxxxxxxxxxxxxxx>

the check for NEON so far only checked if -mfpu=neon is understood by the compiler,
however, this is not enough:

(i) #include <arm_neon.h> should be checked
(ii) -mfpu=neon must be passed before CFLAGS because eventually the per-library CFLAGS
for NEON code in src/Makefile.am are passed to the compiler before the global CFLAGS

in case the build environment passes CFLAGS to configure and we try to set conflicting
CFLAGS option, the former take precedence; CFLAGS cannot be overridden

this does not fix
http://lists.freedesktop.org/archives/pulseaudio-discuss/2012-December/015570.html
but at least makes the build fail in configure (and not while compiling stuff)
and gives better diagnostics

Signed-off-by: Peter Meerwald <p.meerwald at bct-electronic.com>
---
 configure.ac |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index 8a02cb7..6857890 100644
--- a/configure.ac
+++ b/configure.ac
@@ -322,9 +322,9 @@ AC_ARG_ENABLE([neon-opt],
     AS_HELP_STRING([--enable-neon-opt], [Enable NEON optimisations on ARM CPUs that support it]))
 
 AS_IF([test "x$enable_neon_opt" != "xno"],
-    [save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS -mfpu=neon"
+    [save_CFLAGS="$CFLAGS"; CFLAGS="-mfpu=neon $CFLAGS"
      AC_COMPILE_IFELSE(
-        AC_LANG_PROGRAM([], []),
+        AC_LANG_PROGRAM([[#include <arm_neon.h>]], []),
         [
          HAVE_NEON=1
          NEON_CFLAGS="-mfpu=neon"
@@ -338,7 +338,7 @@ AS_IF([test "x$enable_neon_opt" != "xno"],
     [HAVE_NEON=0])
 
 AS_IF([test "x$enable_neon_opt" = "xyes" && test "x$HAVE_NEON" = "x0"],
-      [AC_MSG_ERROR([*** Compiler does not support -mfpu=neon])])
+      [AC_MSG_ERROR([*** Compiler does not support -mfpu=neon or CFLAGS override -mfpu])])
 
 AC_SUBST(HAVE_NEON)
 AC_SUBST(NEON_CFLAGS)
-- 
1.7.9.5



[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux