work around clang failing to find sys/cdefs.h
authorAndreas Beckmann <anbe@debian.org>
Mon, 10 Oct 2016 11:38:39 +0000 (12:38 +0100)
committerAndreas Beckmann <anbe@debian.org>
Mon, 10 Oct 2016 11:38:39 +0000 (12:38 +0100)
see #806241 for the clang-3.6 bug

Gbp-Pq: Name find-sys-cdefs-h.patch

configure.ac

index ec5636fa9b43436a4c95482a398693a57b73eb28..b34ee33b8f51e355f154c7901440a1c5ae681198 100644 (file)
@@ -760,6 +760,43 @@ else
 fi
 AC_MSG_RESULT(${CLANG_TARGET_OPTION}TARGET)
 
+HOST_CLANG_CPPFLAGS=
+
+old_CC=$CC
+CC=$CLANG
+old_CFLAGS=$CFLAGS
+old_LDFLAGS=$LDFLAGS
+old_LIBS=$LIBS
+AC_LANG_PUSH([C])
+
+AC_MSG_CHECKING([Clang flags for compiling features.h])
+success=no
+
+for candidate in "" "-I/usr/include/$DEB_HOST_MULTIARCH"
+do
+  CFLAGS="${CLANG_TARGET_OPTION}$host $HOST_CLANG_CPPFLAGS $candidate"
+  AC_COMPILE_IFELSE(
+    [AC_LANG_PROGRAM(
+      [[ #include <features.h> ]],
+      [[ ]]
+    )],
+    [AC_MSG_RESULT(${candidate:-none})
+     HOST_CLANG_CPPFLAGS="$HOST_CLANG_CPPFLAGS $candidate"
+     success=yes
+     break
+    ],[])
+done
+
+if test x$success != xyes ; then
+  AC_MSG_ERROR([Clang cannot compile features.h])
+fi
+
+AC_LANG_POP([C])
+CC=$old_CC
+CFLAGS=$old_CFLAGS
+LDFLAGS=$old_LDFLAGS
+LIBS=$old_LIBS
+
 # Check for a functioning clang++. It is needed to compile faster math 
 # builtins from vecmathlib.
 LLVM_PROG_WARN([CLANGXX], [clang++])
@@ -900,7 +937,7 @@ else
 fi
 AC_MSG_RESULT($LD_SHARED)
 
-HOST_CLANG_FLAGS=""
+HOST_CLANG_FLAGS="$HOST_CLANG_CPPFLAGS"
 HOST_LLC_FLAGS="-relocation-model=pic"
 HOST_AS_FLAGS=""
 HOST_LD_FLAGS="$LD_SHARED"