diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-02-14 13:40:57 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-04-21 09:05:14 +0000 |
commit | 591edbb11c73a51d5d6657ef4e3b585d556d7c68 (patch) | |
tree | c5245c29efe823715054569b3de23e32b9c58255 /configure.json | |
parent | 17ae9305afb0c7f12bc8108bb12cf2f213272173 (diff) |
Detect C standard and try using the most recent one (take 2)
Fixes the default C version used with gcc < 5
Change-Id: I948dece961caed8e6b181e1c6e6b9dc43c46583e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Diffstat (limited to 'configure.json')
-rw-r--r-- | configure.json | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/configure.json b/configure.json index cc78938173..323b25e1d6 100644 --- a/configure.json +++ b/configure.json @@ -260,6 +260,36 @@ "type": "compile", "test": "stl" }, + "c99": { + "label": "C99 support", + "type": "compile", + "test": { + "head": [ + "#if __STDC_VERSION__ >= 199901L", + "// Compiler claims to support C99, trust it", + "#else", + "# error __STDC_VERSION__ must be >= 199901L", + "#endif" + ], + "lang": "c", + "qmake": "CONFIG += c99" + } + }, + "c11": { + "label": "C11 support", + "type": "compile", + "test": { + "head": [ + "#if __STDC_VERSION__ >= 201112L", + "// Compiler claims to support C11, trust it", + "#else", + "# error __STDC_VERSION__ must be >= 201112L", + "#endif" + ], + "lang": "c", + "qmake": "CONFIG += c11" + } + }, "c++14": { "label": "C++14 support", "type": "compile", @@ -787,6 +817,19 @@ "condition": "features.c++14 && tests.c++1z", "output": [ "publicFeature", "publicQtConfig" ] }, + "c89": { + "label": "C89" + }, + "c99": { + "label": "C99", + "condition": "tests.c99", + "output": [ "publicFeature" ] + }, + "c11": { + "label": "C11", + "condition": "features.c99 && tests.c11", + "output": [ "publicFeature" ] + }, "precompile_header": { "label": "Using precompiled headers", "condition": "config.msvc || tests.precompile_header", @@ -1248,6 +1291,11 @@ Configure with '-qreal float' to create a build that is binary-compatible with 5 }, "shared", { + "message": "Using C standard", + "type": "firstAvailableFeature", + "args": "c11 c99 c89" + }, + { "message": "Using C++ standard", "type": "firstAvailableFeature", "args": "c++1z c++14 c++11" |