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.
This commit is contained in:
Steve Reinhardt 2012-04-13 08:13:04 -07:00
parent 4bd61abb51
commit 29482e90ba

View file

@ -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