]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
configure: differentiate gcc and clang options
authorEric Leblond <eric@regit.org>
Thu, 8 Nov 2012 21:09:22 +0000 (22:09 +0100)
committerEric Leblond <eric@regit.org>
Thu, 8 Nov 2012 22:45:14 +0000 (23:45 +0100)
The version checking was made similarly for clang and gcc. This
patch modifies this to check on compiler name. This way we can
avoid to set march=native which is not supported by clang on
some system.
At the same time, this fix the annoying warning about no-fp-tree
being unsupported by clang.

configure.ac

index 52fdf09a06d1ec166d6a68df79b7f4ad30860874..3aa62b45cc92a17c81af4e959d91d424d5050b2f 100644 (file)
@@ -35,24 +35,30 @@ AC_INIT(configure.ac)
             echo
             ])
 
-    dnl get gcc version
-    AC_MSG_CHECKING([gcc version])
-            gccver=$($CC -dumpversion)
-            gccvermajor=$(echo $gccver | cut -d . -f1)
-            gccverminor=$(echo $gccver | cut -d . -f2)
-            gccvernum=$(expr $gccvermajor "*" 100 + $gccverminor)
-    AC_MSG_RESULT($gccver)
-
-    if test "$gccvernum" -ge "400"; then
-            dnl gcc 4.0 or later
-            CFLAGS="$CFLAGS -Wextra -Werror-implicit-function-declaration"
-    else
-            CFLAGS="$CFLAGS -W"
+    if test `basename $CC` = "clang"; then
+        CFLAGS="$CFLAGS -Wextra -Werror-implicit-function-declaration"
     fi
+    if test `basename $CC` = "gcc"; then
+        dnl get gcc version
+        AC_MSG_CHECKING([gcc version])
+                gccver=$($CC -dumpversion)
+                gccvermajor=$(echo $gccver | cut -d . -f1)
+                gccverminor=$(echo $gccver | cut -d . -f2)
+                gccvernum=$(expr $gccvermajor "*" 100 + $gccverminor)
+        AC_MSG_RESULT($gccver)
+
+        if test "$gccvernum" -ge "400"; then
+                dnl gcc 4.0 or later
+                CFLAGS="$CFLAGS -Wextra -Werror-implicit-function-declaration"
+        else
+                CFLAGS="$CFLAGS -W"
+        fi
 
-    # remove optimization options that break our code
-    # VJ 2010/06/27: no-tree-pre added. It breaks ringbuffers code.
-    CFLAGS="$CFLAGS -Wall -fno-strict-aliasing -fno-tree-pre"
+        # remove optimization options that break our code
+        # VJ 2010/06/27: no-tree-pre added. It breaks ringbuffers code.
+        CFLAGS="$CFLAGS -fno-tree-pre"
+    fi
+    CFLAGS="$CFLAGS -Wall -fno-strict-aliasing"
     CFLAGS="$CFLAGS -Wno-unused-parameter"
     CFLAGS="$CFLAGS -std=gnu99"