summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mkspecs/features/device_config.prf13
-rw-r--r--mkspecs/features/spec_pre.prf14
2 files changed, 21 insertions, 6 deletions
diff --git a/mkspecs/features/device_config.prf b/mkspecs/features/device_config.prf
index 1de64b8821..cd3a0cf8cd 100644
--- a/mkspecs/features/device_config.prf
+++ b/mkspecs/features/device_config.prf
@@ -14,17 +14,26 @@ host_build {
# Provide a function to be used by mkspecs
defineTest(deviceSanityCheckCompiler) {
+ equals(QMAKE_HOST.os, Windows): \
+ sfx = .exe
+ else: \
+ sfx =
+
# 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()
+ exists($$QMAKE_CXX$$sfx):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()
+ ensurePathEnv()
+ for (dir, QMAKE_PATH_ENV) {
+ exists($$dir/$${QMAKE_CXX}$$sfx): \
+ return()
+ }
# QMAKE_CXX does not point to a compiler.
error("Compiler $$QMAKE_CXX not found. Check the value of CROSS_COMPILE -device-option")
diff --git a/mkspecs/features/spec_pre.prf b/mkspecs/features/spec_pre.prf
index 844fa35579..cdc1d7ee1e 100644
--- a/mkspecs/features/spec_pre.prf
+++ b/mkspecs/features/spec_pre.prf
@@ -23,19 +23,25 @@ QMAKE_H_MOD_MOC = moc_
QMAKE_MOD_LEX = _lex
QMAKE_MOD_YACC = _yacc
+defineTest(ensurePathEnv) {
+ isEmpty(QMAKE_PATH_ENV) {
+ QMAKE_PATH_ENV = $$(PATH)
+ QMAKE_PATH_ENV = $$split(QMAKE_PATH_ENV, $$QMAKE_DIRLIST_SEP)
+ export(QMAKE_PATH_ENV)
+ }
+}
+
equals(QMAKE_HOST.os, Windows) {
QMAKE_EXT_OBJ = .obj
QMAKE_EXT_RES = .res
QMAKE_SH =
- PATH = $$(PATH)
- PATH = $$split(PATH, ;)
- for(dir, PATH) {
+ ensurePathEnv()
+ for(dir, QMAKE_PATH_ENV) {
exists($$dir/sh.exe) {
QMAKE_SH = $$dir/sh.exe
break()
}
}
- unset(PATH)
} else {
QMAKE_EXT_CPP += .C
QMAKE_EXT_H += .H