a6bd4c60e4
Re-enable checking if the compiler is in the path. The previous commit dealt with a user/spec author not setting CROSS_COMPILE and then picking up the host g++. Re-add the 'which' check, but put it after the sanity check for the CROSS_COMPILE variable. This check assumes that QMAKE_CXX is of the form "${CROSS_COMPILE}g++". Change-Id: I54f7e058a75d26d73eca5a860946a6854ce91d67 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
51 lines
1.5 KiB
Plaintext
51 lines
1.5 KiB
Plaintext
# Load generated qdevice.pri
|
|
exists($$_QMAKE_CACHE_) {
|
|
# set in default_pre, so it's the first place to check for qdevice.pri
|
|
DIR = $$fromfile($$_QMAKE_CACHE_, QT_BUILD_TREE)
|
|
!isEmpty(DIR):DEVICE_PRI = $$DIR/mkspecs/qdevice.pri
|
|
}
|
|
|
|
isEmpty(DEVICE_PRI) {
|
|
# OUTDIR environ is set by configure (arch detection) and compile.test
|
|
DIR = $$(OUTDIR)
|
|
!isEmpty(DIR):DEVICE_PRI = $$DIR/mkspecs/qdevice.pri
|
|
}
|
|
|
|
isEmpty(DEVICE_PRI) {
|
|
DIR = $$[QT_HOST_DATA]
|
|
!isEmpty(DIR):DEVICE_PRI = $$DIR/mkspecs/qdevice.pri
|
|
}
|
|
|
|
isEmpty(DEVICE_PRI) {
|
|
error(Could not locate qdevice.pri)
|
|
}
|
|
|
|
exists($$DEVICE_PRI):include($$DEVICE_PRI)
|
|
|
|
isEmpty(CROSS_COMPILE) {
|
|
#this variable can be persisted via qmake -set CROSS_COMPILE /foo
|
|
CROSS_COMPILE = $$[CROSS_COMPILE]
|
|
}
|
|
|
|
unset(DEVICE_PRI)
|
|
unset(DIR)
|
|
|
|
# Provide a function to be used by mkspecs
|
|
defineTest(deviceSanityCheckCompiler) {
|
|
# Check if the binary exists with an absolute path. Do this check
|
|
# before the CROSS_COMPILE empty check below to allow the mkspec
|
|
# to derive the compiler path from other device options.
|
|
exists($$QMAKE_CXX):return()
|
|
|
|
# Check for possible reasons of failure
|
|
# check if CROSS_COMPILE device-option is set
|
|
isEmpty(CROSS_COMPILE):error("CROSS_COMPILE needs to be set via -device-option CROSS_COMPILE=<path>")
|
|
|
|
# Check if QMAKE_CXX points to an executable.
|
|
system("which $$QMAKE_CXX > /dev/null"):return()
|
|
|
|
# QMAKE_CXX does not point to a compiler.
|
|
error("Compiler $$QMAKE_CXX not found. Check the value of CROSS_COMPILE -device-option")
|
|
}
|
|
|