aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Winter <[email protected]>2017-03-07 14:20:19 +0000
committerJustus Winter <[email protected]>2017-03-07 14:20:19 +0000
commit4b57359ef3ce0b87e15889e12ef0fcd23f62dcb4 (patch)
treed48ae920179c681ff1d61b7127868611337b9311
parentgpgscm: Use system strlwr if available. (diff)
downloadgnupg-4b57359ef3ce0b87e15889e12ef0fcd23f62dcb4.tar.gz
gnupg-4b57359ef3ce0b87e15889e12ef0fcd23f62dcb4.zip
build: Improve CFLAGS handling.
* configure.ac: Strip any flags matching '-Werror' from CFLAGS before running the tests, and add them back later on. -- Previously, the tests were run with empty CFLAGS. This caused problems, e.g. on Fedora mmap was not detected due to some missing CFLAGS while running the tests. GnuPG-bug-id: 2423 Fixes-commit: 02eb9fc9d5863abcfed6af704e618f8cac7cc2e8 Signed-off-by: Justus Winter <[email protected]>
-rw-r--r--configure.ac16
1 files changed, 9 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac
index 6d35450b0..8e2fc4348 100644
--- a/configure.ac
+++ b/configure.ac
@@ -85,12 +85,14 @@ AB_INIT
AC_GNU_SOURCE
-# Before we do anything with the C compiler, we first save the user's
-# CFLAGS (they are restored at the end of the configure script). This
-# is because some configure checks don't work with -Werror, but we'd
-# like to use -Werror with our build.
-CFLAGS_orig=$CFLAGS
-CFLAGS=
+# Before we do anything with the C compiler, we first split the user's
+# CFLAGS into two lists, one containing all flags matching '-Werror',
+# and the other one containing all remaing flags. They are recombined
+# at the end of the configure script. This is because some configure
+# checks don't work with -Werror, but we'd like to use -Werror with
+# our build.
+CFLAGS_werror="$(echo $CFLAGS | tr '[[:space:]]' '\n' | grep -e -Werror | tr '\n' ' ')"
+CFLAGS="$(echo $CFLAGS | tr '[[:space:]]' '\n' | grep -v -e -Werror | tr '\n' ' ')"
# Some status variables.
have_gpg_error=no
@@ -1676,7 +1678,7 @@ fi
#
# Add user CFLAGS.
#
-CFLAGS="$CFLAGS $CFLAGS_orig"
+CFLAGS="$CFLAGS $CFLAGS_werror"
#
# Decide what to build