summaryrefslogtreecommitdiffstats
path: root/configure.pri
diff options
context:
space:
mode:
Diffstat (limited to 'configure.pri')
-rw-r--r--configure.pri54
1 files changed, 43 insertions, 11 deletions
diff --git a/configure.pri b/configure.pri
index 131aa868c2..81133da3d7 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) {
@@ -276,6 +296,8 @@ defineTest(qtConfTest_architecture) {
content = $$cat($$test_out_dir/libarch.so, blob)
else: wasm:exists($$test_out_dir/arch.wasm): \
content = $$cat($$test_out_dir/arch.wasm, blob)
+ else: wasm:exists($$test_out_dir/arch.o): \
+ content = $$cat($$test_out_dir/arch.o, blob)
else: \
error("$$eval($${1}.label) detection binary not found.")
@@ -606,14 +628,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)" \
@@ -1020,6 +1036,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()
@@ -1028,6 +1052,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")