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: 02eb9fc9d5
Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
Justus Winter 2017-03-07 15:20:19 +01:00
parent c22a2a89d3
commit 4b57359ef3
No known key found for this signature in database
GPG Key ID: DD1A52F9DA8C9020
1 changed files with 9 additions and 7 deletions

View File

@ -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