diff options
author | Steve Reinhardt <steve.reinhardt@amd.com> | 2012-04-13 08:13:04 -0700 |
---|---|---|
committer | Steve Reinhardt <steve.reinhardt@amd.com> | 2012-04-13 08:13:04 -0700 |
commit | 29482e90bad9d1d93b20d4f55fc4583756d68b3b (patch) | |
tree | e9a062eda5a8d45ee1116e19af24d43efa1b0e9b | |
parent | 4bd61abb5176a85e2bae173534bbe520725a57de (diff) | |
download | gem5-29482e90bad9d1d93b20d4f55fc4583756d68b3b.tar.xz |
SCons: restore Werror option in src/SConscript
Partial backout of cset 8b223e308b08.
Although it's great that there's currently no need
for Werror=false in the current tree, some of us
have uncommitted code that still needs this option.
-rwxr-xr-x | src/SConscript | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/SConscript b/src/SConscript index 9f11a45f3..8c50f9fbb 100755 --- a/src/SConscript +++ b/src/SConscript @@ -151,10 +151,11 @@ class SourceFile(object): class Source(SourceFile): '''Add a c/c++ source file to the build''' - def __init__(self, source, swig = False, **guards): + def __init__(self, source, Werror=True, swig=False, **guards): '''specify the source file, and any guards''' super(Source, self).__init__(source, **guards) + self.Werror = Werror self.swig = swig class PySource(SourceFile): @@ -843,10 +844,9 @@ def makeEnv(label, objsfx, strip = False, **kwargs): new_env = env.Clone(OBJSUFFIX=objsfx, SHOBJSUFFIX=objsfx + 's') new_env.Label = label new_env.Append(**kwargs) - # Always consider warnings errors - new_env.Append(CCFLAGS='-Werror') swig_env = new_env.Clone() + swig_env.Append(CCFLAGS='-Werror') if env['GCC']: swig_env.Append(CCFLAGS='-Wno-uninitialized') swig_env.Append(CCFLAGS='-Wno-sign-compare') @@ -857,6 +857,10 @@ def makeEnv(label, objsfx, strip = False, **kwargs): if env['CLANG']: swig_env.Append(CCFLAGS=['-Wno-unused-label']) + + werror_env = new_env.Clone() + werror_env.Append(CCFLAGS='-Werror') + def make_obj(source, static, extra_deps = None): '''This function adds the specified source to the correct build environment, and returns the corresponding SCons Object @@ -864,6 +868,8 @@ def makeEnv(label, objsfx, strip = False, **kwargs): if source.swig: env = swig_env + elif source.Werror: + env = werror_env else: env = new_env |