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:
parent
4bd61abb51
commit
29482e90ba
1 changed files with 9 additions and 3 deletions
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in a new issue