diff options
-rwxr-xr-x | configure | 4 | ||||
-rw-r--r-- | script/mconfig.py | 4 |
2 files changed, 7 insertions, 1 deletions
@@ -16,6 +16,7 @@ settings.add_setting_option('enable_tests', '--enable-tests', 'tests!', False, b settings.add_setting_option('enable_ios_bootstrap', '--enable-ios-bootstrap', 'default: true if you pass --xcode-sdk=iphoneos', lambda: 'iphoneos' in str(settings.host_machine().toolchains()[0].sdk_opt.value), bool=True) +settings.add_setting_option('enable_werror', '--enable-werror', '', False, bool=True) ldid_tool = mconfig.CLITool('ldid', ['ldid'], 'LDID', settings.host_machine(), settings.host_machine().toolchains()) ldid_tool.optional() @@ -51,6 +52,9 @@ mconfig.mark_safe_to_clean('(src)/generated/darwin-inject-asm.S', settings) if settings.enable_ios_bootstrap: mconfig.log('Will build iOS bootstrap.\n') +if settings.enable_werror: + for mach in machs + [settings.host_machine()]: + settings[mach.name].cflags = ['-Werror'] + settings[mach.name].cflags # todo make overridable? cc_argv = c.cc.argv() diff --git a/script/mconfig.py b/script/mconfig.py index 26556d6..88e5341 100644 --- a/script/mconfig.py +++ b/script/mconfig.py @@ -906,8 +906,10 @@ class MakefileEmitter(Emitter): # TODO avoid deleting partial output? stub = ''' %(banner)s -_ := $(shell "$(MAKE_COMMAND)" -s -f %(main_mk_arg)s %(makefile_arg)s >&2) +_out := $(shell "$(MAKE_COMMAND)" -s -f %(main_mk_arg)s %(makefile_arg)s >&2 || echo fail) +ifneq ($(_out),fail) include %(main_mk)s +endif '''.lstrip() \ % { 'makefile_arg': argv_to_shell([makefile]), |