summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2015-01-21 16:40:26 +1000
committerDave Airlie <[email protected]>2015-01-27 10:27:56 +1000
commitea9ae5d51abb057ca5c200620da46f7339d07617 (patch)
treed0d9ef85b2d6d13a74c2e8df527f7e5fa407daae
parent2e2087a9ebe1f047dff217ab084972935eb52d1b (diff)
mesa/autoconf: attempt to use gnu99 on older gcc compilers
anonymous structs/union don't work with c99 but do work with gnu99 on gcc 4.4. Signed-off-by: Dave Airlie <[email protected]>
-rw-r--r--configure.ac12
1 files changed, 11 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 2b7f5768640..c2d775eea9c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -145,6 +145,7 @@ AC_MSG_RESULT([$acv_mesa_CLANG])
dnl If we're using GCC, make sure that it is at least version 4.2.0. Older
dnl versions are explictly not supported.
GEN_ASM_OFFSETS=no
+USE_GNU99=no
if test "x$GCC" = xyes -a "x$acv_mesa_CLANG" = xno; then
AC_MSG_CHECKING([whether gcc version is sufficient])
major=0
@@ -163,6 +164,9 @@ if test "x$GCC" = xyes -a "x$acv_mesa_CLANG" = xno; then
AC_MSG_RESULT([yes])
fi
+ if test $GCC_VERSION_MAJOR -lt 4 -o $GCC_VERSION_MAJOR -eq 4 -a $GCC_VERSION_MINOR -lt 6 ; then
+ USE_GNU99=yes
+ fi
if test "x$cross_compiling" = xyes; then
GEN_ASM_OFFSETS=yes
fi
@@ -221,7 +225,13 @@ esac
dnl Add flags for gcc and g++
if test "x$GCC" = xyes; then
- CFLAGS="$CFLAGS -Wall -std=c99"
+ CFLAGS="$CFLAGS -Wall"
+
+ if test "x$USE_GNU99" = xyes; then
+ CFLAGS="$CFLAGS -std=gnu99"
+ else
+ CFLAGS="$CFLAGS -std=c99"
+ fi
# Enable -Werror=implicit-function-declaration and
# -Werror=missing-prototypes, if available, or otherwise, just