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 11/11] configure: Check for -Werror causing failures when compiling tests
Date: Wed, 18 Jul 2012 15:10:28 +0100 [thread overview]
Message-ID: <1342620628-12751-12-git-send-email-peter.maydell@linaro.org> (raw)
In-Reply-To: <1342620628-12751-1-git-send-email-peter.maydell@linaro.org>
Add support for checking whether test case code can compile without
warnings, by recompiling each successful test with -Werror. If the
-Werror version doesn't pass, we bail out. This gives us the same
level of visibility of warnings in test code as --enable-werror
provides for the main compile.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
configure | 32 ++++++++++++++++++++++++++++----
1 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/configure b/configure
index 8140464..1939bdb 100755
--- a/configure
+++ b/configure
@@ -27,16 +27,40 @@ printf " '%s'" "$0" "$@" >> config.log
echo >> config.log
echo "#" >> config.log
+do_cc() {
+ # Run the compiler, capturing its output to the log.
+ echo $cc "$@" >> config.log
+ $cc "$@" >> config.log 2>&1 || return $?
+ # Test passed. If this is an --enable-werror build, rerun
+ # the test with -Werror and bail out if it fails. This
+ # makes warning-generating-errors in configure test code
+ # obvious to developers.
+ if test "$werror" != "yes"; then
+ return 0
+ fi
+ # Don't bother rerunning the compile if we were already using -Werror
+ case "$*" in
+ *-Werror*)
+ return 0
+ ;;
+ esac
+ echo $cc -Werror "$@" >> config.log
+ $cc -Werror "$@" >> config.log 2>&1 && return $?
+ echo "ERROR: configure test passed without -Werror but failed with -Werror."
+ echo "This is probably a bug in the configure script. The failing command"
+ echo "will be at the bottom of config.log."
+ echo "You can run configure with --disable-werror to bypass this check."
+ exit 1
+}
+
compile_object() {
- echo $cc $QEMU_CFLAGS -c -o $TMPO $TMPC >> config.log
- $cc $QEMU_CFLAGS -c -o $TMPO $TMPC >> config.log 2>&1
+ do_cc $QEMU_CFLAGS -c -o $TMPO $TMPC
}
compile_prog() {
local_cflags="$1"
local_ldflags="$2"
- echo $cc $QEMU_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags >> config.log
- $cc $QEMU_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags >> config.log 2>&1
+ do_cc $QEMU_CFLAGS $local_cflags -o $TMPE $TMPC $LDFLAGS $local_ldflags
}
# symbolically link $1 to $2. Portable version of "ln -sf".
--
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 ` [Qemu-devel] [PATCH 01/11] configure: Don't run configure tests with -Werror enabled Peter Maydell
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 ` Peter Maydell [this message]
2012-07-28 9:04 ` [Qemu-devel] [PATCH 11/11] configure: Check for -Werror causing failures when compiling tests 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-12-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).