[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 11/11] configure: Check for -Werror causing failures
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH 11/11] configure: Check for -Werror causing failures when compiling tests |
Date: |
Wed, 18 Jul 2012 15:10:28 +0100 |
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 <address@hidden>
---
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
- [Qemu-devel] [PATCH 00/11] configure: Fix -Werror issues, Peter Maydell, 2012/07/18
- [Qemu-devel] [PATCH 01/11] configure: Don't run configure tests with -Werror enabled, Peter Maydell, 2012/07/18
- [Qemu-devel] [PATCH 09/11] configure: Fix compile warning in utimensat/futimens test, Peter Maydell, 2012/07/18
- [Qemu-devel] [PATCH 10/11] configure: -I\$(SRC_PATH) goes in QEMU_INCLUDES not QEMU_CFLAGS, Peter Maydell, 2012/07/18
- [Qemu-devel] [PATCH 02/11] configure: Fix build with ALSA audio driver, Peter Maydell, 2012/07/18
- [Qemu-devel] [PATCH 03/11] configure: Fix build with capabilities, Peter Maydell, 2012/07/18
- [Qemu-devel] [PATCH 11/11] configure: Check for -Werror causing failures when compiling tests,
Peter Maydell <=
- Re: [Qemu-devel] [PATCH 11/11] configure: Check for -Werror causing failures when compiling tests, Blue Swirl, 2012/07/28
- Re: [Qemu-devel] [PATCH 11/11] configure: Check for -Werror causing failures when compiling tests, Peter Maydell, 2012/07/28
- Re: [Qemu-devel] [PATCH 11/11] configure: Check for -Werror causing failures when compiling tests, Blue Swirl, 2012/07/28
- Re: [Qemu-devel] [PATCH 11/11] configure: Check for -Werror causing failures when compiling tests, Peter Maydell, 2012/07/28
- Re: [Qemu-devel] [PATCH 11/11] configure: Check for -Werror causing failures when compiling tests, Blue Swirl, 2012/07/28
- Re: [Qemu-devel] [PATCH 11/11] configure: Check for -Werror causing failures when compiling tests, Blue Swirl, 2012/07/28
- Re: [Qemu-devel] [PATCH 11/11] configure: Check for -Werror causing failures when compiling tests, Peter Maydell, 2012/07/28
[Qemu-devel] [PATCH 05/11] configure: -march=i486 belongs in QEMU_CFLAGS, not CFLAGS, Peter Maydell, 2012/07/18
[Qemu-devel] [PATCH 04/11] configure: Replace bash code by standard shell code, Peter Maydell, 2012/07/18
[Qemu-devel] [PATCH 07/11] configure: Fix compile warning in PNG test, Peter Maydell, 2012/07/18