From fe1ba879610c73075b10f274bba338af53a6bd43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Th=C3=A9baudeau?= Date: Fri, 28 Aug 2015 21:17:19 +0200 Subject: Fix QMAKE_CXX/CROSS_COMPILE verification with ccache The use of ccache leads to QMAKE_CXX definitions of the form: QMAKE_CXX = $${CCACHE} $${CROSS_COMPILE}g++ The previous test required QMAKE_CXX to be a single valid (absolute or QMAKE_PATH_ENV-relative) path to an existing file, which was not compatible with definitions of QMAKE_CXX like the one above. Fix this by using only the first value in QMAKE_CXX, which usually points to the compiler executable, or to the ccache executable in the above case. Task-number: QTBUG-47951 Change-Id: Iade3136f03493593b067fb7742fb997f92377425 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/device_config.prf | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'mkspecs/features') diff --git a/mkspecs/features/device_config.prf b/mkspecs/features/device_config.prf index cd3a0cf8cd..e0383ef530 100644 --- a/mkspecs/features/device_config.prf +++ b/mkspecs/features/device_config.prf @@ -19,10 +19,15 @@ defineTest(deviceSanityCheckCompiler) { else: \ sfx = + # Build the compiler filename using the first value in QMAKE_CXX in order to + # support tools like ccache, which give QMAKE_CXX values of the form: + # ccache + compiler = $$first(QMAKE_CXX)$$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$$sfx):return() + exists($$compiler):return() # Check for possible reasons of failure # check if CROSS_COMPILE device-option is set @@ -31,7 +36,7 @@ defineTest(deviceSanityCheckCompiler) { # Check if QMAKE_CXX points to an executable. ensurePathEnv() for (dir, QMAKE_PATH_ENV) { - exists($$dir/$${QMAKE_CXX}$$sfx): \ + exists($$dir/$${compiler}): \ return() } -- cgit v1.2.3