configure.ac: Drop LLVM compiler flags more radically
authorMichel Dänzer <michel.daenzer@amd.com>
Thu, 9 Feb 2017 04:00:03 +0000 (13:00 +0900)
committerMichel Dänzer <michel@daenzer.net>
Mon, 13 Feb 2017 07:07:37 +0000 (16:07 +0900)
Drop all -m*, -W*, -O*, -g* and -f* flags, with the exception of
-fno-rtti, which must be used if it's part of the llvm-config --cxxflags
output. We don't want LLVM to dictate the flags we use, and it can even
cause build failures, e.g. if LLVM and Mesa are built with different
compilers.

While we're at it, eat any whitespace preceding dropped flags as well.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
configure.ac

index 121457b..b4ea40f 100644 (file)
@@ -901,27 +901,18 @@ llvm_add_target() {
 # $1 is the llvm-config command with arguments.
 strip_unwanted_llvm_flags() {
     # Use \> (marks the end of the word)
-    echo `$1` | sed \
-        -e 's/-march=\S*//g' \
-        -e 's/-mtune=\S*//g' \
-        -e 's/-mcpu=\S*//g' \
-        -e 's/-DNDEBUG\>//g' \
-        -e 's/-D_GNU_SOURCE\>//g' \
-        -e 's/-pedantic\>//g' \
-        -e 's/-Wcovered-switch-default\>//g' \
-        -e 's/-O.\>//g' \
-        -e 's/-g\>//g' \
-        -e 's/-Wall\>//g' \
-        -e 's/-Wcast-qual\>//g' \
-        -e 's/-Woverloaded-virtual\>//g' \
-        -e 's/-fcolor-diagnostics\>//g' \
-        -e 's/-fdata-sections\>//g' \
-        -e 's/-ffunction-sections\>//g' \
-        -e 's/-fno-exceptions\>//g' \
-        -e 's/-fomit-frame-pointer\>//g' \
-        -e 's/-fvisibility-inlines-hidden\>//g' \
-        -e 's/-fPIC\>//g' \
-        -e 's/-fstack-protector-strong\>//g'
+    echo " `$1`" | sed \
+        -e 's/\s\+-m\S*//g' \
+        -e 's/\s\+-DNDEBUG\>//g' \
+        -e 's/\s\+-D_GNU_SOURCE\>//g' \
+        -e 's/\s\+-pedantic\>//g' \
+        -e 's/\s\+-W\S*//g' \
+        -e 's/\s\+-O\S*//g' \
+        -e 's/\s\+-g\S*//g' \
+        -e 's/-fno-rtti\>/-Fno-rtti/g' \
+        -e 's/\s\+-f\S*//g' \
+        -e 's/-Fno-rtti\>/-fno-rtti/g' \
+        -e 's/^ //'
 }
 
 llvm_set_environment_variables() {