diff options
Diffstat (limited to 'configure.json')
-rw-r--r-- | configure.json | 78 |
1 files changed, 69 insertions, 9 deletions
diff --git a/configure.json b/configure.json index 3b9d87e08a..ac2808eefa 100644 --- a/configure.json +++ b/configure.json @@ -40,7 +40,6 @@ "hostbindir": "string", "hostdatadir": "string", "hostlibdir": "string", - "importdir": "string", "libdir": "string", "libexecdir": "string", "plugindir": "string", @@ -222,6 +221,21 @@ { "type": "pkgConfig", "args": "libudev" }, "-ludev" ] + }, + "libdl": { + "label": "dlopen()", + "test": { + "main": [ + "dlclose(dlopen(0, 0));", + "dlsym(RTLD_DEFAULT, 0);", + "dlerror();" + ] + }, + "headers": "dlfcn.h", + "sources": [ + "", + "-ldl" + ] } }, @@ -321,13 +335,13 @@ "qmake": "CONFIG += c++11 c++14" } }, - "c++1z": { + "c++17": { "label": "C++17 support", "type": "compile", "test": { "head": [ "#if __cplusplus > 201402L", - "// Compiler claims to support experimental C++1z, trust it", + "// Compiler claims to support C++17, trust it", "#else", "# error __cplusplus must be > 201402L (the value for C++14)", "#endif", @@ -339,7 +353,7 @@ "int i = std::get<int>(v);", "std::visit([](const auto &) { return 1; }, v);" ], - "qmake": "CONFIG += c++11 c++14 c++1z" + "qmake": "CONFIG += c++11 c++14 c++17" } }, "c++2a": { @@ -353,7 +367,7 @@ "# error __cplusplus must be > 201703L (the value for C++17)", "#endif" ], - "qmake": "CONFIG += c++11 c++14 c++1z c++2a" + "qmake": "CONFIG += c++11 c++14 c++17 c++2a" } }, "precompile_header": { @@ -469,6 +483,17 @@ ] } }, + "signaling_nan": { + "label": "Signaling NaN for doubles", + "type": "compile", + "test": { + "head": [ "#include <limits>" ], + "main": [ + "using B = std::numeric_limits<double>;", + "static_assert(B::has_signaling_NaN, \"System lacks signaling NaN\");" + ] + } + }, "sse2": { "label": "SSE2 instructions", "type": "x86Simd" @@ -501,6 +526,10 @@ "label": "RDRAND instruction", "type": "x86Simd" }, + "rdseed": { + "label": "RDSEED instruction", + "type": "x86Simd" + }, "shani": { "label": "SHA new instructions", "type": "x86Simd" @@ -751,7 +780,7 @@ "debug_and_release": { "label": "Compile libs in debug and release mode", "autoDetect": "input.debug == ''", - "condition": "config.darwin || config.win32", + "condition": "config.darwin || (config.win32 && !config.gcc)", "output": [ "publicFeature", "publicQtConfig", "debugAndRelease" ] }, "force_debug_info": { @@ -792,6 +821,7 @@ "rpath": { "label": "Build with RPATH", "autoDetect": "var.QMAKE_LFLAGS_RPATH != '' && features.shared", + "condition": "!config.android", "output": [ "publicFeature", "publicQtConfig" ] }, "rpath_dir": { @@ -924,15 +954,20 @@ "condition": "features.c++11 && tests.c++14", "output": [ "publicFeature", "publicQtConfig" ] }, + "c++17": { + "label": "C++17", + "condition": "features.c++14 && tests.c++17", + "output": [ "publicFeature", "publicQtConfig" ] + }, "c++1z": { "label": "C++17", - "condition": "features.c++14 && tests.c++1z", + "condition": "features.c++17", "output": [ "publicFeature", "publicQtConfig" ] }, "c++2a": { "label": "C++2a", "autoDetect": false, - "condition": "features.c++1z && tests.c++2a", + "condition": "features.c++17 && tests.c++2a", "output": [ "publicFeature", "publicQtConfig" ] }, "c89": { @@ -990,6 +1025,11 @@ { "type": "define", "name": "QT_REDUCE_RELOCATIONS" } ] }, + "signaling_nan": { + "label": "Signaling NaN", + "condition": "tests.signaling_nan", + "output": [ "publicFeature" ] + }, "sse2": { "label": "SSE2", "condition": "(arch.i386 || arch.x86_64) && tests.sse2", @@ -1144,6 +1184,14 @@ { "type": "define", "name": "QT_COMPILER_SUPPORTS_RDRND", "value": 1 } ] }, + "rdseed": { + "label": "RDSEED", + "condition": "tests.rdseed", + "output": [ + "privateConfig", + { "type": "define", "name": "QT_COMPILER_SUPPORTS_RDSEED", "value": 1 } + ] + }, "shani": { "label": "SHA", "condition": "features.sse2 && tests.shani", @@ -1340,6 +1388,17 @@ "autoDetect": false, "condition": "!features.shared", "output": [ "publicConfig", "publicQtConfig" ] + }, + "dlopen": { + "label": "dlopen()", + "condition": "config.unix && libs.libdl", + "output": [ "privateFeature" ] + }, + "relocatable": { + "label": "Relocatable", + "autoDetect": "features.shared", + "condition": "features.dlopen || config.win32 || !features.shared", + "output": [ "privateFeature" ] } }, @@ -1438,7 +1497,7 @@ { "message": "Using C++ standard", "type": "firstAvailableFeature", - "args": "c++2a c++1z c++14 c++11" + "args": "c++2a c++17 c++14 c++11" }, { "type": "feature", @@ -1461,6 +1520,7 @@ "args": "enable_gdb_index", "condition": "config.gcc && !config.clang && (features.debug || features.force_debug_info || features.debug_and_release)" }, + "relocatable", "precompile_header", "ltcg", { |