diff options
author | David Robillard <d@drobilla.net> | 2020-07-07 22:07:00 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-07-07 22:07:00 +0200 |
commit | a4df7cb1c302017ba131384fc09246315f8b60de (patch) | |
tree | 49c0c74bc4978c1d52648c68d9b842febeb0203f | |
parent | f773f9a6a1ace4e3ddda5db05db4fa49bd0173ac (diff) | |
download | autowaf-a4df7cb1c302017ba131384fc09246315f8b60de.tar.gz autowaf-a4df7cb1c302017ba131384fc09246315f8b60de.tar.bz2 autowaf-a4df7cb1c302017ba131384fc09246315f8b60de.zip |
Fix language checks to actually fail, and support optional languages
-rw-r--r-- | extras/autowaf.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/extras/autowaf.py b/extras/autowaf.py index b9d10f2..3ec4437 100644 --- a/extras/autowaf.py +++ b/extras/autowaf.py @@ -601,16 +601,21 @@ def display_summary(conf, msgs=None): display_msgs(conf, msgs) -def set_c_lang(conf, lang): +def set_c_lang(conf, lang, **kwargs): "Set a specific C language standard, like 'c99' or 'c11'" if conf.env.MSVC_COMPILER: # MSVC has no hope or desire to compile C99, just compile as C++ conf.env.append_unique('CFLAGS', ['/TP']) + return True else: flag = '-std=%s' % lang - conf.check(cflags=['-Werror', flag], - msg="Checking for flag '%s'" % flag) - conf.env.append_unique('CFLAGS', [flag]) + if conf.check(features='c cprogram', + cflags=['-Werror', flag], + msg="Checking for flag '%s'" % flag, + **kwargs): + conf.env.append_unique('CFLAGS', [flag]) + return True + return False def set_cxx_lang(conf, lang): |