path: root/tools/configure/main.cpp
diff options
authorBradley T. Hughes <>2012-02-14 10:01:17 +0100
committerQt by Nokia <>2012-03-13 12:27:44 +0100
commitba6952b28d17b6b34f65510be645e414fa1ef6a2 (patch)
tree29dbe86906cb375fa58d7cc18a11b25a6a48dae2 /tools/configure/main.cpp
parent6d85d77a5def22ef8a50505f3c7634146db73421 (diff)
Remove -arch argument and #define QT_ARCH from configures
Do not try to detect the host or target architectures using uname or similar, and do not override with the -arch or -host-arch configure arguments. The configures will still accept the -arch and -host-arch arguments, but it ignores them and instead outputs a warning stating that these arguments are obsolete and should not be used. Set QT_ARCH and QT_HOST_ARCH qconfig.pri variables based on the compiler target. This is done by running qmake (twice when cross-compiling) on config.tests/arch/, which preprocesses a file that contains all knowns processors. On Windows, configure.exe has never run any config.tests before, and does not currently have a function to run a program and capture its output. Use _popen() to accomplish this (as qmake does for its system() function). This needs to be done after qmake is built, as does the mkspecs/qconfig.pri generation. As a side effect, the configure steps have been slightly re-ordered, but the overall result is the same. The displayConfig() call is moved to just before generating Makefiles, so that it can show the detected architecture(s). Change-Id: I77666c77a93b48848f87648d08e79a42f721683f Reviewed-by: Morten Johan Sørvig <> Reviewed-by: Oswald Buddenhagen <>
Diffstat (limited to 'tools/configure/main.cpp')
1 files changed, 8 insertions, 2 deletions
diff --git a/tools/configure/main.cpp b/tools/configure/main.cpp
index 51abd7aa82..08cd691875 100644
--- a/tools/configure/main.cpp
+++ b/tools/configure/main.cpp
@@ -87,11 +87,17 @@ int runConfigure( int argc, char** argv )
if( !app.isDone() )
if( !app.isDone() )
- app.displayConfig();
- if( !app.isDone() )
if( !app.isDone() )
+ // must be done after buildQmake()
+ if (!app.isDone())
+ app.detectArch();
+ // must be done after detectArch()
+ if (!app.isDone())
+ app.generateQConfigPri();
+ if (!app.isDone())
+ app.displayConfig();
if( !app.isDone() )