diff options
-rw-r--r-- | config.tests/arch/arch.cpp | 4 | ||||
-rw-r--r-- | configure.pri | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/config.tests/arch/arch.cpp b/config.tests/arch/arch.cpp index f99c5ca118..bb3efec177 100644 --- a/config.tests/arch/arch.cpp +++ b/config.tests/arch/arch.cpp @@ -284,8 +284,12 @@ const char msg2[] = "==Qt=magic=Qt== Sub-architecture:" #endif ""; +extern const char msg3[]; +const char msg3[] = "==Qt=magic=Qt== Build-ABI:" ARCH_FULL; + int main() { puts(msg); puts(msg2); + puts(msg3); } diff --git a/configure.pri b/configure.pri index 42f3247a59..c422c73650 100644 --- a/configure.pri +++ b/configure.pri @@ -258,15 +258,18 @@ defineTest(qtConfTest_architecture) { arch_magic = ".*==Qt=magic=Qt== Architecture:([^\\0]*).*" subarch_magic = ".*==Qt=magic=Qt== Sub-architecture:([^\\0]*).*" + buildabi_magic = ".*==Qt=magic=Qt== Build-ABI:([^\\0]*).*" - !contains(content, $$arch_magic)|!contains(content, $$subarch_magic): \ + !contains(content, $$arch_magic)|!contains(content, $$subarch_magic)|!contains(content, $$buildabi_magic): \ error("$$eval($${1}.label) detection binary does not contain expected data.") $${1}.arch = $$replace(content, $$arch_magic, "\\1") $${1}.subarch = $$replace(content, $$subarch_magic, "\\1") $${1}.subarch = $$split($${1}.subarch, " ") + $${1}.buildabi = $$replace(content, $$buildabi_magic, "\\1") export($${1}.arch) export($${1}.subarch) + export($${1}.buildabi) qtLog("Detected architecture: $$eval($${1}.arch) ($$eval($${1}.subarch))") $${1}.cache += arch subarch @@ -869,9 +872,11 @@ defineTest(qtConfOutput_shared) { defineTest(qtConfOutput_architecture) { arch = $$qtConfEvaluate("tests.architecture.arch") + buildabi = $$qtConfEvaluate("tests.architecture.buildabi") $$qtConfEvaluate("features.cross_compile") { host_arch = $$qtConfEvaluate("tests.host_architecture.arch") + host_buildabi = $$qtConfEvaluate("tests.host_architecture.buildabi") privatePro = \ "host_build {" \ @@ -883,15 +888,18 @@ defineTest(qtConfOutput_architecture) { "host_build {" \ " QT_ARCH = $$host_arch" \ " QT_TARGET_ARCH = $$arch" \ + " QT_TARGET_BUILDABI = $$buildabi" \ "} else {" \ " QT_ARCH = $$arch" \ + " QT_BUILDABI = $$host_buildabi" \ "}" } else { privatePro = \ "QT_CPU_FEATURES.$$arch = $$qtConfEvaluate('tests.architecture.subarch')" publicPro = \ - "QT_ARCH = $$arch" + "QT_ARCH = $$arch" \ + "QT_BUILDABI = $$buildabi" } $${currentConfig}.output.publicPro += $$publicPro |