2c9d15d73c
the code got factored out to an own toolchain.prf file, which is load()ed from default_pre.prf, so no change at first. however, on mac, we shadow toolchain.prf, and make it load() sdk.prf first. a side effect of this is that project files may not override QMAKE_MAC_SDK any more, which seems to be no big loss. it is still possible to override the sdk on the configure command line (but note that this only ever worked for the target sdk). it has also become harder to disable the use of an sdk altogether: putting CONFIG-=sdk into a project file or the qmake command line has no effect now. instead, it's possible to put it into .qmake.{conf,cache}. to make it simpler again, it's conceivable to finally add qmake -pre, which would allow setting variables before default_pre.prf is executed. Change-Id: I149e0540c00745fe8119fffd146283bb214f22ec Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
43 lines
1.7 KiB
Plaintext
43 lines
1.7 KiB
Plaintext
|
|
isEmpty(QMAKE_DEFAULT_INCDIRS):!host_build {
|
|
#
|
|
# Get default include and library paths from compiler
|
|
#
|
|
gcc {
|
|
!equals(QMAKE_HOST.os, Windows) {
|
|
cmd_prefix = "LC_ALL=C"
|
|
cmd_suffix = "</dev/null >/dev/null"
|
|
} else {
|
|
cmd_prefix = "set LC_ALL=C&"
|
|
cmd_suffix = "<NUL >NUL"
|
|
}
|
|
output = $$system("$$cmd_prefix $$QMAKE_CXX $$QMAKE_CXXFLAGS -xc++ -E -v - 2>&1 $$cmd_suffix", lines)
|
|
add_includes = false
|
|
for (line, output) {
|
|
line ~= s/^ *// # remove leading spaces
|
|
contains(line, "LIBRARY_PATH=.*") {
|
|
line ~= s/^LIBRARY_PATH=// # remove leading LIBRARY_PATH=
|
|
paths = $$split(line, $$QMAKE_DIRLIST_SEP)
|
|
for (path, paths): \
|
|
QMAKE_DEFAULT_LIBDIRS += $$clean_path($$path)
|
|
} else: contains(line, "$${LITERAL_HASH}include <.*") { # #include <...> search starts here:
|
|
add_includes = true
|
|
} else: contains(line, "End of search.*") {
|
|
add_includes = false
|
|
} else: $$add_includes {
|
|
!contains(line, ".* \\(framework directory\\)"): \
|
|
QMAKE_DEFAULT_INCDIRS += $$clean_path($$line)
|
|
}
|
|
}
|
|
QMAKE_DEFAULT_LIBDIRS = $$unique(QMAKE_DEFAULT_LIBDIRS)
|
|
}
|
|
|
|
unix {
|
|
isEmpty(QMAKE_DEFAULT_INCDIRS): QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include
|
|
isEmpty(QMAKE_DEFAULT_LIBDIRS): QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib
|
|
}
|
|
|
|
!isEmpty(QMAKE_DEFAULT_INCDIRS): cache(QMAKE_DEFAULT_INCDIRS, set stash)
|
|
!isEmpty(QMAKE_DEFAULT_LIBDIRS): cache(QMAKE_DEFAULT_LIBDIRS, set stash)
|
|
}
|