summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-07-07 22:07:00 +0200
committerDavid Robillard <d@drobilla.net>2020-07-07 22:07:00 +0200
commita4df7cb1c302017ba131384fc09246315f8b60de (patch)
tree49c0c74bc4978c1d52648c68d9b842febeb0203f
parentf773f9a6a1ace4e3ddda5db05db4fa49bd0173ac (diff)
downloadautowaf-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.py13
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):