From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-devel@nongnu.org
Cc: Stefan Weil <sw@weilnetz.de>, patches@linaro.org
Subject: [Qemu-devel] [PATCH 01/11] configure: Don't run configure tests with -Werror enabled
Date: Wed, 18 Jul 2012 15:10:18 +0100 [thread overview]
Message-ID: <1342620628-12751-2-git-send-email-peter.maydell@linaro.org> (raw)
In-Reply-To: <1342620628-12751-1-git-send-email-peter.maydell@linaro.org>
Don't run configure tests with -Werror in the compiler flags. The idea
of -Werror is that it makes problems very obvious to developers, so
they get fixed quickly. However, when running configure tests, failures
due to -Werror are far from obvious -- they simply result in the test
quietly failing when it should have passed. Not using -Werror is in
line with recommended practice in the Autoconf world.
This commit is essentially backing out the changes in commit 417c9d72.
Instead we fix the problem that commit was trying to address in a
different way: we add -Werror only for the test of the nss headers,
with a comment that this is specifically intended to detect a bug
in some releases of nss.
We also have to clean up a bug in the smartcard test where it was
trying to include smartcard_cflags in the test compile flags: this
would always result in a failure with -Werror, because they include
an escaped "$(SRC_PATH)" which is only valid when used in the final
makefile.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Stefan Weil <sw@weilnetz.de>
---
configure | 22 ++++++++++++++++++----
1 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/configure b/configure
index 0a3896e..383fa3d 100755
--- a/configure
+++ b/configure
@@ -1156,9 +1156,10 @@ gcc_flags="-Wold-style-declaration -Wold-style-definition -Wtype-limits"
gcc_flags="-Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers $gcc_flags"
gcc_flags="-Wmissing-include-dirs -Wempty-body -Wnested-externs $gcc_flags"
gcc_flags="-fstack-protector-all -Wendif-labels $gcc_flags"
-if test "$werror" = "yes" ; then
- gcc_flags="-Werror $gcc_flags"
-fi
+# Note that we do not add -Werror to gcc_flags here, because that would
+# enable it for all configure tests. If a configure test failed due
+# to -Werror this would just silently disable some features,
+# so it's too error prone.
cat > $TMPC << EOF
int main(void) { return 0; }
EOF
@@ -2656,8 +2657,16 @@ EOF
smartcard_cflags="-I\$(SRC_PATH)/libcacard"
libcacard_libs="$($pkg_config --libs nss 2>/dev/null) $glib_libs"
libcacard_cflags="$($pkg_config --cflags nss 2>/dev/null) $glib_cflags"
+ test_cflags="$libcacard_cflags"
+ # The header files in nss < 3.13.3 have a bug which causes them to
+ # emit a warning. If we're going to compile QEMU with -Werror, then
+ # test that the headers don't have this bug. Otherwise we would pass
+ # the configure test but fail to compile QEMU later.
+ if test "$werror" = "yes"; then
+ test_cflags="-Werror $test_cflags"
+ fi
if $pkg_config --atleast-version=3.12.8 nss >/dev/null 2>&1 && \
- compile_prog "$smartcard_cflags $libcacard_cflags" "$libcacard_libs"; then
+ compile_prog "$test_cflags" "$libcacard_libs"; then
smartcard_nss="yes"
QEMU_CFLAGS="$QEMU_CFLAGS $smartcard_cflags $libcacard_cflags"
libs_softmmu="$libcacard_libs $libs_softmmu"
@@ -2903,6 +2912,11 @@ if test -z "$zero_malloc" ; then
fi
fi
+# Now we've finished running tests it's OK to add -Werror to the compiler flags
+if test "$werror" = "yes"; then
+ QEMU_CFLAGS="-Werror $QEMU_CFLAGS"
+fi
+
if test "$solaris" = "no" ; then
if $ld --version 2>/dev/null | grep "GNU ld" >/dev/null 2>/dev/null ; then
LDFLAGS="-Wl,--warn-common $LDFLAGS"
--
1.7.5.4
next prev parent reply other threads:[~2012-07-18 14:10 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-18 14:10 [Qemu-devel] [PATCH 00/11] configure: Fix -Werror issues Peter Maydell
2012-07-18 14:10 ` Peter Maydell [this message]
2012-07-18 14:10 ` [Qemu-devel] [PATCH 02/11] configure: Fix build with ALSA audio driver Peter Maydell
2012-07-18 14:10 ` [Qemu-devel] [PATCH 03/11] configure: Fix build with capabilities Peter Maydell
2012-07-18 14:10 ` [Qemu-devel] [PATCH 04/11] configure: Replace bash code by standard shell code Peter Maydell
2012-07-18 14:10 ` [Qemu-devel] [PATCH 05/11] configure: -march=i486 belongs in QEMU_CFLAGS, not CFLAGS Peter Maydell
2012-07-18 14:10 ` [Qemu-devel] [PATCH 06/11] configure: Fix errors in test for__sync_fetch_and_and Peter Maydell
2012-07-18 14:10 ` [Qemu-devel] [PATCH 07/11] configure: Fix compile warning in PNG test Peter Maydell
2012-07-18 15:46 ` Stefan Weil
2012-07-18 14:10 ` [Qemu-devel] [PATCH 08/11] configure: Fix warnings in VDE library probe Peter Maydell
2012-07-18 14:10 ` [Qemu-devel] [PATCH 09/11] configure: Fix compile warning in utimensat/futimens test Peter Maydell
2012-07-18 15:48 ` Stefan Weil
2012-07-18 14:10 ` [Qemu-devel] [PATCH 10/11] configure: -I\$(SRC_PATH) goes in QEMU_INCLUDES not QEMU_CFLAGS Peter Maydell
2012-07-18 14:10 ` [Qemu-devel] [PATCH 11/11] configure: Check for -Werror causing failures when compiling tests Peter Maydell
2012-07-28 9:04 ` Blue Swirl
2012-07-28 10:57 ` Peter Maydell
2012-07-28 12:09 ` Blue Swirl
2012-07-28 12:14 ` Peter Maydell
2012-07-28 12:20 ` Blue Swirl
2012-07-28 12:31 ` Blue Swirl
2012-07-28 13:48 ` Peter Maydell
2012-08-04 17:57 ` Blue Swirl
2012-08-09 18:24 ` Peter Maydell
2012-08-09 20:15 ` Blue Swirl
2012-08-11 19:12 ` Blue Swirl
2012-07-31 20:21 ` [Qemu-devel] [PATCH 00/11] configure: Fix -Werror issues Blue Swirl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1342620628-12751-2-git-send-email-peter.maydell@linaro.org \
--to=peter.maydell@linaro.org \
--cc=patches@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=sw@weilnetz.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).