diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2018-02-20 12:33:23 +0100 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2018-02-22 21:39:36 +0000 |
commit | 5cfd5fd9d7ece7e1eb3c4d2be8ec342b376acf38 (patch) | |
tree | 4210521b95222721371bb242a685b296eaed65b2 | |
parent | d98f17d4348ebf52bef7a02c3134d67bbee0a55d (diff) |
configure: introduce 'subarch' term to expression evaluator
... and make use of it.
it's a logical continuation of the 'arch' term, and will be used also in
qt3d's configure.
Started-by: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: I940917d6763842499b18fffd1514c96889a0cc63
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r-- | configure.json | 24 | ||||
-rw-r--r-- | configure.pri | 15 | ||||
-rw-r--r-- | mkspecs/features/qt_configure.prf | 6 |
3 files changed, 16 insertions, 29 deletions
diff --git a/configure.json b/configure.json index a7b8149469..3f751203b8 100644 --- a/configure.json +++ b/configure.json @@ -213,8 +213,7 @@ "compile": [ "verifyspec" ], "detectPkgConfig": [ "cross_compile", "machineTuple" ], "library": [ "pkg-config" ], - "getPkgConfigVariable": [ "pkg-config" ], - "subarch": [ "architecture" ] + "getPkgConfigVariable": [ "pkg-config" ] }, "testTypeAliases": { @@ -450,21 +449,6 @@ "type": "x86SimdAlways", "test": "x86_simd" }, - "mips_dsp": { - "label": "MIPS DSP instructions", - "type": "subarch", - "subarch": "dsp" - }, - "mips_dspr2": { - "label": "MIPS DSPr2 instructions", - "type": "subarch", - "subarch": "dspr2" - }, - "neon": { - "label": "NEON instructions", - "type": "subarch", - "subarch": "neon" - }, "posix_fallocate": { "label": "POSIX fallocate()", "type": "compile", @@ -1014,7 +998,7 @@ }, "mips_dsp": { "label": "DSP", - "condition": "arch.mips && tests.mips_dsp", + "condition": "arch.mips && subarch.dsp", "output": [ "privateConfig", { "type": "define", "name": "QT_COMPILER_SUPPORTS_MIPS_DSP", "value": 1 } @@ -1022,7 +1006,7 @@ }, "mips_dspr2": { "label": "DSPr2", - "condition": "arch.mips && tests.mips_dspr2", + "condition": "arch.mips && subarch.dspr2", "output": [ "privateConfig", { "type": "define", "name": "QT_COMPILER_SUPPORTS_MIPS_DSPR2", "value": 1 } @@ -1030,7 +1014,7 @@ }, "neon": { "label": "NEON", - "condition": "(arch.arm || arch.arm64) && tests.neon", + "condition": "(arch.arm || arch.arm64) && subarch.neon", "output": [ "privateConfig", { "type": "define", "name": "QT_COMPILER_SUPPORTS_NEON", "value": 1 } diff --git a/configure.pri b/configure.pri index a67860fba0..7185647e44 100644 --- a/configure.pri +++ b/configure.pri @@ -366,12 +366,6 @@ defineTest(qtConfTest_detectPkgConfig) { return(true) } -defineTest(qtConfTest_subarch) { - subarch = $$eval($${1}.subarch) - contains($${currentConfig}.tests.architecture.subarch, $${subarch}): return(true) - return(false) -} - defineTest(qtConfTest_buildParts) { parts = $$config.input.make isEmpty(parts) { @@ -914,6 +908,7 @@ defineTest(qtConfOutput_sanitizer) { defineTest(qtConfOutput_architecture) { arch = $$qtConfEvaluate("tests.architecture.arch") + subarch = $$qtConfEvaluate('tests.architecture.subarch') buildabi = $$qtConfEvaluate("tests.architecture.buildabi") $$qtConfEvaluate("features.cross_compile") { @@ -924,7 +919,7 @@ defineTest(qtConfOutput_architecture) { "host_build {" \ " QT_CPU_FEATURES.$$host_arch = $$qtConfEvaluate('tests.host_architecture.subarch')" \ "} else {" \ - " QT_CPU_FEATURES.$$arch = $$qtConfEvaluate('tests.architecture.subarch')" \ + " QT_CPU_FEATURES.$$arch = $$subarch" \ "}" publicPro = \ "host_build {" \ @@ -939,7 +934,7 @@ defineTest(qtConfOutput_architecture) { } else { privatePro = \ - "QT_CPU_FEATURES.$$arch = $$qtConfEvaluate('tests.architecture.subarch')" + "QT_CPU_FEATURES.$$arch = $$subarch" publicPro = \ "QT_ARCH = $$arch" \ "QT_BUILDABI = $$buildabi" @@ -950,9 +945,11 @@ defineTest(qtConfOutput_architecture) { $${currentConfig}.output.privatePro += $$privatePro export($${currentConfig}.output.privatePro) - # setup QT_ARCH variable used by qtConfEvaluate + # setup QT_ARCH and QT_CPU_FEATURES variables used by qtConfEvaluate QT_ARCH = $$arch export(QT_ARCH) + QT_CPU_FEATURES.$$arch = $$subarch + export(QT_CPU_FEATURES.$$arch) } defineTest(qtConfOutput_qreal) { diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index d5dcda22ac..98fff59ea1 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -1270,6 +1270,12 @@ defineReplace(qtConfEvaluateSingleExpression) { isEmpty(QT_ARCH): \ qtConfCheckFeature(architecture) contains(QT_ARCH, $$var): result = true + } else: contains(e, "^subarch\..*") { + var = $$replace(e, "^subarch\.", "") + result = false + isEmpty(QT_ARCH): \ + qtConfCheckFeature(architecture) + contains(QT_CPU_FEATURES.$$QT_ARCH, $$var): result = true } else: contains(e, "^input\..*") { result = $$eval(config.$$e) } else: contains(e, "^var\..*") { |