qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 11/11] configure: Check for -Werror causing fail


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH 11/11] configure: Check for -Werror causing failures when compiling tests
Date: Sat, 11 Aug 2012 19:12:25 +0000

Thanks, applied.


On Wed, Jul 18, 2012 at 2:10 PM, Peter Maydell <address@hidden> wrote:
> 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
>
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]