diff options
Diffstat (limited to 'configure.pri')
-rw-r--r-- | configure.pri | 77 |
1 files changed, 57 insertions, 20 deletions
diff --git a/configure.pri b/configure.pri index e9fd055854..7b8dee0953 100644 --- a/configure.pri +++ b/configure.pri @@ -14,21 +14,26 @@ defineTest(qtConfCommandline_qmakeArgs) { } defineTest(qtConfCommandline_cxxstd) { - msvc: \ - qtConfAddError("Command line option -c++std is not supported with MSVC compilers.") - arg = $${1} val = $${2} isEmpty(val): val = $$qtConfGetNextCommandlineArg() !contains(val, "^-.*"):!isEmpty(val) { contains(val, "(c\+\+)?11") { qtConfCommandlineSetInput("c++14", "no") + qtConfCommandlineSetInput("c++1z", "no") + qtConfCommandlineSetInput("c++2a", "no") } else: contains(val, "(c\+\+)?(14|1y)") { qtConfCommandlineSetInput("c++14", "yes") qtConfCommandlineSetInput("c++1z", "no") - } else: contains(val, "(c\+\+)?(1z)") { + qtConfCommandlineSetInput("c++2a", "no") + } else: contains(val, "(c\+\+)?(17|1z)") { qtConfCommandlineSetInput("c++14", "yes") qtConfCommandlineSetInput("c++1z", "yes") + qtConfCommandlineSetInput("c++2a", "no") + } else: contains(val, "(c\+\+)?(2a)") { + qtConfCommandlineSetInput("c++14", "yes") + qtConfCommandlineSetInput("c++1z", "yes") + qtConfCommandlineSetInput("c++2a", "yes") } else { qtConfAddError("Invalid argument $$val to command line parameter $$arg") } @@ -58,6 +63,21 @@ defineTest(qtConfCommandline_sanitize) { } } +defineTest(qtConfCommandline_coverage) { + arg = $${1} + val = $${2} + isEmpty(val): val = $$qtConfGetNextCommandlineArg() + !contains(val, "^-.*"):!isEmpty(val) { + equals(val, "trace-pc-guard") { + qtConfCommandlineSetInput("coverage_trace_pc_guard", "yes") + } else { + qtConfAddError("Invalid argument $$val to command line parameter $$arg") + } + } else { + qtConfAddError("Missing argument to command line parameter $$arg") + } +} + # callbacks defineReplace(qtConfFunc_crossCompile) { @@ -269,29 +289,36 @@ defineTest(qtConfTest_architecture) { host = $$eval($${1}.host) isEmpty(host): host = false file_prefix = - ext = + exts = - $$host { equals(QMAKE_HOST.os, Windows): \ - ext = .exe + exts = .exe } else { win32 { - ext = .exe + exts = .exe } else:android { file_prefix = lib - ext = .so + exts = .so } else:wasm { - ext = .wasm + exts = .wasm .o } } test = $$eval($${1}.test) output = $$eval($${1}.output) test_out_dir = $$OUT_PWD/$$basename(QMAKE_CONFIG_TESTS_DIR)/$$test - test_out_file = $$test_out_dir/$$file_prefix$$output$$ext - exists($$test_out_file): \ - content = $$cat($$test_out_file, blob) - else: \ + test_out_file = + for(ext, exts) { + equals(ext, -): ext = + f = $$test_out_dir/$$file_prefix$$output$$ext + exists($$f) { + test_out_file = $$f + break() + } + } + isEmpty(test_out_file): \ error("$$eval($${1}.label) detection binary not found.") + content = $$cat($$test_out_file, blob) arch_magic = ".*==Qt=magic=Qt== Architecture:([^\\0]*).*" subarch_magic = ".*==Qt=magic=Qt== Sub-architecture:([^\\0]*).*" @@ -620,14 +647,8 @@ defineTest(qtConfOutput_prepareOptions) { target_arch = armeabi-v7a platform = $$eval(config.input.android-ndk-platform) - isEmpty(platform): equals(target_arch, arm64-v8a): \ - platform = android-21 - - isEmpty(platform): equals(target_arch, x86_64): \ - platform = android-21 - isEmpty(platform): \ - platform = android-16 ### the windows configure disagrees ... + platform = android-21 $${currentConfig}.output.devicePro += \ "DEFAULT_ANDROID_SDK_ROOT = $$val_escape(sdk_root)" \ @@ -1034,6 +1055,14 @@ defineTest(qtConfOutput_crossCompile) { export(CONFIG) } +defineTest(qtConfOutput_useBFDLinker) { + !$${2}: return() + + # We need to preempt the output here, so that qtConfTest_linkerSupportsFlag can work properly in qtbase + CONFIG += use_bfd_linker + export(CONFIG) +} + defineTest(qtConfOutput_useGoldLinker) { !$${2}: return() @@ -1042,6 +1071,14 @@ defineTest(qtConfOutput_useGoldLinker) { export(CONFIG) } +defineTest(qtConfOutput_useLLDLinker) { + !$${2}: return() + + # We need to preempt the output here, so that qtConfTest_linkerSupportsFlag can work properly in qtbase + CONFIG += use_lld_linker + export(CONFIG) +} + defineTest(qtConfOutput_debugAndRelease) { $$qtConfEvaluate("features.debug") { qtConfOutputVar(append, "publicPro", "CONFIG", "debug") |