qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC] Enable Werrror by default


From: Anthony Liguori
Subject: Re: [Qemu-devel] [RFC] Enable Werrror by default
Date: Thu, 11 Jun 2009 13:30:05 -0500
User-agent: Thunderbird 2.0.0.21 (X11/20090320)

Mark McLoughlin wrote:
On Thu, 2009-06-11 at 13:35 +0100, Paul Brook wrote:

I'd like to enable Werror by default. I've been using --enable-werror locally for a while now, and it's been extremely useful in picking up dumb errors (like the recent stellaris_enet.c breakage).

Any objections?

You can of course configure with --disable-werror if you really want the force things to build.

Based on experiences with other projects:

1) Release tarballs should not ship with -Werror on by default - e.g. new gcc comes along with new warnings and the tarball build fails with no benefit to anyone

2) Anyone submitting patches should build with -Werror and make sure they don't introduce new warnings

3) People with newer gcc are likely to be tripped up by warnings introduced by others with older gcc[1]

4) It's debatable whether builds from git should default to -Werror - on the plus side it helps ensure (2) happens, on the minus side if a warning does sneak in, it makes life a pain for everyone until a fix gets applied

IMHO, we should enable it by default for git builds.
How about the following? It currently only enables werror for Linux hosts and git builds.

Regards,

Anthony Liguori
commit ba59b4615be2b9b989b425bad2499f47a6928d5c
Author: Anthony Liguori <address@hidden>
Date:   Thu Jun 11 13:28:25 2009 -0500

    Enable -Werror by default for git builds on Linux hosts
    
    Additional hosts can be added to the white list as they are confirmed to 
build
    with --enable-werror.
    
    Signed-off-by: Anthony Liguori <address@hidden>

diff --git a/configure b/configure
index 89e7f53..48c8949 100755
--- a/configure
+++ b/configure
@@ -356,11 +356,7 @@ else
 fi
 [ -f "$workdir/vl.c" ] || source_path_used="yes"
 
-werror="no"
-# generate compile errors on warnings for development builds
-#if grep cvs $source_path/VERSION > /dev/null 2>&1 ; then
-#werror="yes";
-#fi
+werror=""
 
 for opt do
   optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
@@ -657,6 +653,18 @@ if test ! -x "$(which cgcc 2>/dev/null)"; then
     sparse="no"
 fi
 
+# Consult white-list to determine whether to enable werror
+# by default.  Only enable by default for git builds
+if test -z "$werror" ; then
+    z_version=`cut -f3 -d. $source_path/VERSION`
+    if test "$z_version" = "50" -a \
+       "$linux" = "yes" ; then
+       werror="yes"
+    else
+       werror="no"
+    fi
+fi
+
 #
 # Solaris specific configure tool chain decisions
 #

reply via email to

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