determine QMAKE_DEFAULT_{INC,LIB}DIRS separately for host and target
note that in principle this leaves room for a race condition, as the first project to determine the host config is not going to be the top-level one. in qtbase and qtdeclarative, this is naturally serialized via the common bootstrapped libraries (bootstrap resp. qmldevtools). activeqt, qt3d, qtscxml, and qtwayland all build only one bootstrapped tool each. qtwebengine makes a fake host build to create files for gyp/gn; the convert_dict tool is declared a host tool, but isn't actually built when x-building anyway, and even if, it's serialized on the former. qttools needs explicit serialization, though. no other host builds exist within qt as of now. Task-number: QTBUG-58126 Change-Id: I81a02a2d98f2bfe5d6aaa51119d5e7919549f119 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
parent
6834d0eecc
commit
f67afee9e9
@ -12,7 +12,12 @@ defineReplace(qtMakeExpand) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
isEmpty(QMAKE_DEFAULT_INCDIRS):!host_build {
|
host_build: \
|
||||||
|
target_prefix = QMAKE_HOST_CXX
|
||||||
|
else: \
|
||||||
|
target_prefix = QMAKE_CXX
|
||||||
|
|
||||||
|
isEmpty($${target_prefix}.INCDIRS) {
|
||||||
#
|
#
|
||||||
# Get default include and library paths from compiler
|
# Get default include and library paths from compiler
|
||||||
#
|
#
|
||||||
@ -44,6 +49,8 @@ isEmpty(QMAKE_DEFAULT_INCDIRS):!host_build {
|
|||||||
}
|
}
|
||||||
QMAKE_DEFAULT_LIBDIRS = $$unique(QMAKE_DEFAULT_LIBDIRS)
|
QMAKE_DEFAULT_LIBDIRS = $$unique(QMAKE_DEFAULT_LIBDIRS)
|
||||||
} else: msvc {
|
} else: msvc {
|
||||||
|
# This doesn't differentiate between host and target,
|
||||||
|
# but neither do the compilers.
|
||||||
LIB = $$getenv("LIB")
|
LIB = $$getenv("LIB")
|
||||||
QMAKE_DEFAULT_LIBDIRS = $$split(LIB, $$QMAKE_DIRLIST_SEP)
|
QMAKE_DEFAULT_LIBDIRS = $$split(LIB, $$QMAKE_DIRLIST_SEP)
|
||||||
INCLUDE = $$getenv("INCLUDE")
|
INCLUDE = $$getenv("INCLUDE")
|
||||||
@ -55,8 +62,11 @@ isEmpty(QMAKE_DEFAULT_INCDIRS):!host_build {
|
|||||||
isEmpty(QMAKE_DEFAULT_LIBDIRS): QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib
|
isEmpty(QMAKE_DEFAULT_LIBDIRS): QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib
|
||||||
}
|
}
|
||||||
|
|
||||||
!isEmpty(QMAKE_DEFAULT_INCDIRS): cache(QMAKE_DEFAULT_INCDIRS, set stash)
|
cache($${target_prefix}.INCDIRS, set stash, QMAKE_DEFAULT_INCDIRS)
|
||||||
!isEmpty(QMAKE_DEFAULT_LIBDIRS): cache(QMAKE_DEFAULT_LIBDIRS, set stash)
|
cache($${target_prefix}.LIBDIRS, set stash, QMAKE_DEFAULT_LIBDIRS)
|
||||||
|
} else {
|
||||||
|
QMAKE_DEFAULT_INCDIRS = $$eval($${target_prefix}.INCDIRS)
|
||||||
|
QMAKE_DEFAULT_LIBDIRS = $$eval($${target_prefix}.LIBDIRS)
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -73,11 +83,6 @@ defineReplace(qtVariablesFromGCC) {
|
|||||||
return($$system("$$1 -E $$system_quote($$PWD/data/macros.cpp) <$$null_device 2>$$null_device", lines))
|
return($$system("$$1 -E $$system_quote($$PWD/data/macros.cpp) <$$null_device 2>$$null_device", lines))
|
||||||
}
|
}
|
||||||
|
|
||||||
host_build: \
|
|
||||||
target_prefix = QMAKE_HOST_CXX
|
|
||||||
else: \
|
|
||||||
target_prefix = QMAKE_CXX
|
|
||||||
|
|
||||||
isEmpty($${target_prefix}.COMPILER_MACROS) {
|
isEmpty($${target_prefix}.COMPILER_MACROS) {
|
||||||
msvc {
|
msvc {
|
||||||
clang_cl {
|
clang_cl {
|
||||||
|
Loading…
Reference in New Issue
Block a user