From 7c1326a1c390bb15eaa164f748c947f1df9f542d Mon Sep 17 00:00:00 2001 From: James McDonnell <jmcdonnell@qnx.com> Date: Thu, 14 Apr 2016 16:48:15 -0400 Subject: [PATCH] Ensure -no-pch is effective Have configure add a "CONFIG -= precompile_header" to qmodule.pri when -no-pch is specified. Ensures that Qt is built without precompiled headers (as requested) even if allowing precompiled header use is the default for the toolchain. Parallels changes to Windows configure. Task-number: QTBUG-11545 Change-Id: Iab4021e74c4e9978770e917dff97b976c449dd8b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> --- configure | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 9492cb54739..5d028278905 100755 --- a/configure +++ b/configure @@ -96,6 +96,7 @@ for i in "$@"; do done # initialize global variables +CONFIG_SEPARATORS=`printf ' \t'` QMAKE_SWITCHES= QMAKE_VARS= QMAKE_CONFIG= @@ -351,6 +352,21 @@ getXQMakeConf() getSingleQMakeVariable "$1" "$xspecvals" } +testXConfig() +{ + # Put a space on each end of the CONFIG value so that searching for the + # target with whitespace on either side will work even when it's the + # first/last/only item in the CONFIG value. + case \ `getXQMakeConf CONFIG`\ in + *[${CONFIG_SEPARATORS}]$1[${CONFIG_SEPARATORS}]*) + return 0 + ;; + *) + return 1 + ;; + esac +} + compilerSupportsFlag() { cat >conftest.cpp <<EOF @@ -6308,7 +6324,11 @@ fi [ "$CFG_STACK_PROTECTOR_STRONG" = "yes" ] && QT_CONFIG="$QT_CONFIG stack-protector-strong" [ "$CFG_REDUCE_RELOCATIONS" = "yes" ] && QT_CONFIG="$QT_CONFIG reduce_relocations" [ "$CFG_STRIP" = "no" ] && QMAKE_CONFIG="$QMAKE_CONFIG nostrip" -[ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header" +if testXConfig precompile_header; then + [ "$CFG_PRECOMPILE" = "no" ] && QMakeVar del CONFIG precompile_header +else + [ "$CFG_PRECOMPILE" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG precompile_header" +fi [ "$CFG_USE_GOLD_LINKER" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG use_gold_linker" [ "$CFG_ENABLE_NEW_DTAGS" = "yes" ] && QMAKE_CONFIG="$QMAKE_CONFIG enable_new_dtags" if [ "$CFG_SEPARATE_DEBUG_INFO" = "yes" ]; then -- GitLab