fix bootstrapped modules in framework builds, take 2

the borrowing of headers always happens from "proper" modules which are
actually built as frameworks if so requested. that means that even
though the borrowing module itself never is a framework, it needs a
framework path and include paths that point into frameworks.

amends 20c7ab44.

Change-Id: Ic582060dd179cc592e9be7792ff02cebdfabd772
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Oswald Buddenhagen 2016-12-23 19:35:45 +01:00
parent 1b75a04336
commit 97be8253fb
3 changed files with 12 additions and 6 deletions

View File

@ -41,8 +41,12 @@ host_build {
} }
} }
CONFIG(shared, static|shared):qtConfig(framework): \ qtConfig(framework) {
CONFIG += lib_bundle minimal_syncqt: \
CONFIG += module_frameworks
else: CONFIG(shared, static|shared): \
CONFIG += module_frameworks lib_bundle
}
CONFIG += relative_qt_rpath # Qt libraries should be relocatable CONFIG += relative_qt_rpath # Qt libraries should be relocatable

View File

@ -59,7 +59,9 @@ load(qt_build_paths)
# even beyond the module's own build. The implication of this is that # even beyond the module's own build. The implication of this is that
# qmake might never use a framework's headers in a non-prefix build, # qmake might never use a framework's headers in a non-prefix build,
# as there is no separate set of .pri files for users outside Qt. # as there is no separate set of .pri files for users outside Qt.
prefix_build:lib_bundle: \ # Borrowing is assumed to happen from modules which, in a framework build,
# actually are frameworks.
prefix_build:module_frameworks: \
fwd = _FWD fwd = _FWD
# When using a split include path during the build, the installed module's # When using a split include path during the build, the installed module's
# include path is also structurally different from that in the build dir. # include path is also structurally different from that in the build dir.
@ -82,7 +84,7 @@ for(mod, MODULE_INCNAME) {
generated_privates: \ generated_privates: \
MODULE$${sfwd}$${prv}_INCLUDES += $$mbibase/$$VERSION $$mbibase/$$VERSION/$$mod MODULE$${sfwd}$${prv}_INCLUDES += $$mbibase/$$VERSION $$mbibase/$$VERSION/$$mod
} }
prefix_build:lib_bundle { prefix_build:module_frameworks {
mfbase = \$\$QT_MODULE_LIB_BASE/$${mod}.framework/Headers mfbase = \$\$QT_MODULE_LIB_BASE/$${mod}.framework/Headers
MODULE_INCLUDES += $$mfbase MODULE_INCLUDES += $$mfbase
MODULE$${prv}_INCLUDES += $$mfbase/$$VERSION $$mfbase/$$VERSION/$$mod MODULE$${prv}_INCLUDES += $$mfbase/$$VERSION $$mfbase/$$VERSION/$$mod

View File

@ -83,10 +83,10 @@ defineReplace(qtExportLibsForModule) {
module_build_type = v2 module_build_type = v2
static: \ static: \
module_build_type += staticlib module_build_type += staticlib
lib_bundle { lib_bundle: \
module_build_type += lib_bundle module_build_type += lib_bundle
module_frameworks: \
MODULE_FRAMEWORKS = " \$\$QT_MODULE_LIB_BASE" MODULE_FRAMEWORKS = " \$\$QT_MODULE_LIB_BASE"
}
internal_module: \ internal_module: \
module_build_type += internal_module module_build_type += internal_module
ltcg: \ ltcg: \