Added option for werror.

pull/15/head
Jussi Pakkanen 11 years ago
parent b8f6c3f39c
commit 83237f2b38
  1. 2
      backends.py
  2. 1
      coredata.py
  3. 6
      environment.py
  4. 2
      meson.py
  5. 2
      ninjabackend.py
  6. 1
      optinterpreter.py

@ -341,6 +341,8 @@ class Backend():
commands += compiler.get_buildtype_args(self.environment.coredata.buildtype)
if self.environment.coredata.coverage:
commands += compiler.get_coverage_args()
if self.environment.coredata.werror:
commands += compiler.get_werror_args()
if isinstance(target, build.SharedLibrary):
commands += compiler.get_pic_args()
for dep in target.get_external_deps():

@ -40,6 +40,7 @@ class CoreData():
self.use_pch = options.use_pch
self.unity = options.unity
self.coverage = options.coverage
self.werror = options.werror
self.user_options = {}
self.external_args = {} # These are set from "the outside" with e.g. mesonconf
self.external_link_args = {}

@ -148,6 +148,9 @@ class CCompiler():
def get_coverage_link_args(self):
return ['-lgcov']
def get_werror_args(self):
return ['-Werror']
def get_std_exe_link_args(self):
return []
@ -597,6 +600,9 @@ class ValaCompiler():
def get_exelist(self):
return self.exelist
def get_werror_args(self):
return ['--fatal-warnings']
def get_language(self):
return self.language

@ -66,6 +66,8 @@ parser.add_option('--disable-pch', action='store_false', dest='use_pch', default
help='do not use precompiled headers')
parser.add_option('--unity', action='store_true', dest='unity', default=False,\
help='unity build')
parser.add_option('--werror', action='store_true', dest='werror', default=False,\
help='Treat warnings as errors')
parser.add_option('--cross-file', default=None, dest='cross_file',
help='file describing cross compilation environment')

@ -493,6 +493,8 @@ class NinjaBackend(backends.Backend):
relsc = os.path.join(self.get_target_dir(target), target.get_basename() + '.dir', sc)
rel_s = os.path.join(self.build_to_src, s)
args += ['--deps', relsc + '.d']
if self.environment.coredata.werror:
args += valac.get_werror_args()
for d in target.external_deps:
if isinstance(d, dependencies.PkgConfigDependency):
args += ['--pkg', d.name]

@ -28,6 +28,7 @@ forbidden_option_names = {'type': True,
'datadir' : True,
'mandir' : True,
'localedir' : True,
'werror' : True,
}
class OptionException(coredata.MesonException):

Loading…
Cancel
Save