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

Peter Meerwald pmeerw at pmeerw.net
Thu Mar 28 06:46:48 PDT 2013

From: Peter Meerwald <p.meerwald at bct-electronic.com>

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
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_LANG_PROGRAM([], []),
+        AC_LANG_PROGRAM([[#include <arm_neon.h>]], []),
@@ -338,7 +338,7 @@ AS_IF([test "x$enable_neon_opt" != "xno"],
 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])])

More information about the pulseaudio-discuss mailing list