From 632b1c1345c2ebed6300a3d1d7d2056922a7e1a0 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 9 Feb 2017 12:11:55 +0100 Subject: configure: error out on activating conflicting libraries Change-Id: I5d7dbeb3b3a653f7151279c7eba9387c107f9c42 Reviewed-by: Lars Knoll --- mkspecs/features/qt_configure.prf | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf index 82b97657d9..7744695b93 100644 --- a/mkspecs/features/qt_configure.prf +++ b/mkspecs/features/qt_configure.prf @@ -612,6 +612,9 @@ defineReplace(qtConfLibraryArgs) { defineTest(qtConfExportLibrary) { lpfx = $${currentConfig}.libraries.$$1 + alias = $$eval($${lpfx}.alias) + $${currentConfig}.found.$$alias = $$1 + export($${currentConfig}.found.$$alias) name = $$eval($${lpfx}.export) isEmpty(name): return() spfx = $${lpfx}.sources.$$eval($${lpfx}.source) @@ -658,6 +661,17 @@ defineTest(qtConfHandleLibrary) { lpfx = $${currentConfig}.libraries.$$1 defined($${lpfx}.result, var): return() + alias = $$eval($${lpfx}.alias) + !isEmpty($${currentConfig}.found.$$alias) { + # this happening indicates a logic error in the conditions + # of the feature(s) referring to this library. + # note that this does not look across module boundaries, as + # multiple modules may know the same libraries; de-duplication + # happens via the cache (obviously, this assumes identical + # definitions and logic). + error("A library exporting '$$alias' was already found.") + } + qtConfEnsureTestTypeDeps("library") qtConfTestPrepare_compile($$lpfx) use_args = $$eval($${lpfx}.literal_args) -- cgit v1.2.3