summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-02-01 16:57:49 +0100
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2017-02-22 07:45:46 +0000
commit980daa49b207127bd3bb7cb41bd6d9df93827caa (patch)
tree031351ffc672542fa6e2f0812c3bc13f52edcaff
parent4a93adba6072ef6d9b9f4723897abcac4b42c194 (diff)
prefer library's export name when looking up input variables
if multiple library entries provide the same export (as openssl is going to), it makes sense to make them recognize the same input variables, as it would be rather counterproductive to require different configure arguments for each. Change-Id: Ia32842e95294296d50220297f85689bc92de2d05 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r--mkspecs/features/qt_configure.prf19
1 files changed, 14 insertions, 5 deletions
diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
index 08dc892dd5..69203abf07 100644
--- a/mkspecs/features/qt_configure.prf
+++ b/mkspecs/features/qt_configure.prf
@@ -408,6 +408,11 @@ defineTest(qtConfSetupLibraries) {
$${lpfx}.export = $$l
export($${lpfx}.export)
}
+ # 'export' may also be empty, but we need a derived identifier
+ alias = $$eval($${lpfx}.export)
+ isEmpty(alias): alias = $$l
+ $${lpfx}.alias = $$alias
+ export($${lpfx}.alias)
isEmpty($${lpfx}.sources._KEYS_): \
error("Library $$l defines no sources")
for (s, $${lpfx}.sources._KEYS_) {
@@ -444,9 +449,13 @@ defineTest(qtConfLibrary_inline) {
!defined($${1}.libs, var): \
error("'inline' source in library '$$lib' does not specify 'libs'.")
+ # if multiple libraries provide the same export, it makes sense
+ # to make them recognize the same input variables.
+ input = $$eval($${2}.alias)
+
# direct libs. overwrites inline libs.
- defined(config.input.$${lib}.libs, var) {
- $${1}.libs = $$eval(config.input.$${lib}.libs)
+ defined(config.input.$${input}.libs, var) {
+ $${1}.libs = $$eval(config.input.$${input}.libs)
export($${1}.libs)
}
@@ -455,7 +464,7 @@ defineTest(qtConfLibrary_inline) {
any = false
all = true
for (b, $${1}.builds._KEYS_) {
- iv = $${lib}.libs.$${b}
+ iv = $${input}.libs.$${b}
vars += $$eval(config.commandline.rev_assignments.$${iv})
defined(config.input.$${iv}, var) {
$${1}.builds.$${b}.libs = $$eval(config.input.$${iv})
@@ -471,7 +480,7 @@ defineTest(qtConfLibrary_inline) {
}
# prefix. prepends to (possibly overwritten) inline libs.
- prefix = $$val_escape(config.input.$${lib}.prefix)
+ prefix = $$val_escape(config.input.$${input}.prefix)
!isEmpty(prefix) {
$${1}.includedir = $$prefix/include
export($${1}.includedir)
@@ -637,7 +646,7 @@ defineTest(qtConfHandleLibrary) {
next()
}
- !$${call}($$spfx) {
+ !$${call}($$spfx, $$lpfx) {
qtLog(" => source produced no result.")
next()
}