From 7967d8dadb5a1451a7a18dee8cb69cf58b22e2c1 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 18 Apr 2017 18:19:47 +0200 Subject: [PATCH] configure: balk at any of {{,X}QMAKESPEC,QMAKE{PATH,FEATURES}} being set these variables have no legitimate use when building qt itself, but have great potential to wreak havoc. Task-number: QTBUG-60016 Change-Id: I161837463443af82d48145e75952fa529212fe75 Reviewed-by: Jake Petroules Reviewed-by: Friedemann Kleint Reviewed-by: Oliver Wolff --- configure | 9 +++++++++ configure.bat | 13 +++++++++++++ 2 files changed, 22 insertions(+) diff --git a/configure b/configure index 8827e63a78..7023656cad 100755 --- a/configure +++ b/configure @@ -73,6 +73,15 @@ if [ -z "$MAKE" ]; then export MAKE fi +# make sure qmake is not confused by these. recursion via Makefiles would +# be still affected, so just unsetting them here is not an option. +if [ -n "$QMAKESPEC" ] || [ -n "$XQMAKESPEC" ] || \ + [ -n "$QMAKEPATH" ] || [ -n "$QMAKEFEATURES" ]; then + echo >&2 "Please make sure to unset the QMAKESPEC, XQMAKESPEC, QMAKEPATH," + echo >&2 "and QMAKEFEATURES environment variables prior to building Qt." + exit 1 +fi + # do this early so we don't store it in config.status CFG_TOPLEVEL= relpathMangled=$relpath diff --git a/configure.bat b/configure.bat index 7ce39e7ecf..6e9a82f2df 100644 --- a/configure.bat +++ b/configure.bat @@ -34,6 +34,19 @@ set QTSRC=%~dp0 set QTSRC=%QTSRC:~0,-1% set QTDIR=%CD% +rem Make sure qmake is not confused by these. Recursion via Makefiles would +rem be still affected, so just unsetting them here is not an option. +if not "%QMAKESPEC%" == "" goto envfail +if not "%XQMAKESPEC%" == "" goto envfail +if not "%QMAKEPATH%" == "" goto envfail +if not "%QMAKEFEATURES%" == "" goto envfail +goto envok +:envfail +echo >&2 Please make sure to unset the QMAKESPEC, XQMAKESPEC, QMAKEPATH, +echo >&2 and QMAKEFEATURES environment variables prior to building Qt. +exit /b 1 +:envok + rem Parse command line set TOPLEVEL=false