diff options
Diffstat (limited to 'mkspecs/features')
-rw-r--r-- | mkspecs/features/device_config.prf | 13 | ||||
-rw-r--r-- | mkspecs/features/spec_pre.prf | 14 |
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 |