diff options
author | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-02-01 16:57:49 +0100 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@qt.io> | 2017-02-22 07:45:46 +0000 |
commit | 980daa49b207127bd3bb7cb41bd6d9df93827caa (patch) | |
tree | 031351ffc672542fa6e2f0812c3bc13f52edcaff /mkspecs/features | |
parent | 4a93adba6072ef6d9b9f4723897abcac4b42c194 (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>
Diffstat (limited to 'mkspecs/features')
-rw-r--r-- | mkspecs/features/qt_configure.prf | 19 |
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() } |