summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Goddard <michael.goddard@nokia.com>2011-07-25 22:07:54 +1000
committerQt by Nokia <qt-info@nokia.com>2011-07-26 13:40:07 +0200
commit2dc77d9264f3a5b713c1742515d627c92a1b61b6 (patch)
treec48d07860d40347be52a1954b26f910d6b4db9ac
parentd55aa1ad2aa2391eb6b32fa696867fd8b20e570b (diff)
Try to make sure the config test script is installed.
And try to fail a bit more gracefully if it isn't. Change-Id: I62e01c0536aa0a032940d6a9a5ccf5edcfeef221 Reviewed-on: http://codereview.qt.nokia.com/2109 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
-rwxr-xr-xbin/syncqt14
-rwxr-xr-xconfigure2
-rw-r--r--qtbase.pro5
-rw-r--r--tools/configure/configureapp.cpp6
4 files changed, 23 insertions, 4 deletions
diff --git a/bin/syncqt b/bin/syncqt
index 0c22cf8a6f..0dcbc4d58e 100755
--- a/bin/syncqt
+++ b/bin/syncqt
@@ -1320,10 +1320,18 @@ if($check_includes) {
# Do configure tests now (pass some things along)
# fatal tests have a non zero return
-unless ($showonly) {
+# If the generator is not set (e.g. someone invoking syncqt as part of configure etc, then don't run tests either)
+unless ($showonly || $makefile_generator eq '') {
my $configtests = dirname($0)."/qtmodule-configtests";
- if (system($EXECUTABLE_NAME, $configtests, $basedir, $out_basedir, $qtbasedir, $makefile_generator)) {
- die "$configtests exited with status $?";
+ if (! -f $configtests) {
+ $configtests = $qtbasedir."/bin/qtmodule-configtests";
+ }
+ if (! -f $configtests) {
+ warn "Unable to locate qtmodule-configtests script - config tests disabled.\n";
+ } else {
+ if (system($EXECUTABLE_NAME, $configtests, $basedir, $out_basedir, $qtbasedir, $makefile_generator)) {
+ die "$configtests exited with status $?";
+ }
}
}
diff --git a/configure b/configure
index 35aea298ff..2bd5c06351 100755
--- a/configure
+++ b/configure
@@ -2577,7 +2577,7 @@ if [ "$OPT_SHADOW" = "yes" ]; then
chmod 755 "$outpath/bin/syncqt"
fi
- for i in elf2e32_qtwrapper createpackage patch_capabilities; do
+ for i in elf2e32_qtwrapper createpackage patch_capabilities qtmodule-configtests; do
rm -f "$outpath/bin/$i"
if [ -x "$relpath/bin/$i" ]; then
mkdir -p "$outpath/bin"
diff --git a/qtbase.pro b/qtbase.pro
index ecbb183471..c28bc9382b 100644
--- a/qtbase.pro
+++ b/qtbase.pro
@@ -135,6 +135,11 @@ syncqt.files=$$QT_BUILD_TREE/bin/syncqt
win32:syncqt.files=$$QT_BUILD_TREE/bin/syncqt.bat
INSTALLS += syncqt
+#qtmodule-configtests
+configtests.path=$$[QT_INSTALL_BINS]
+configtests.files=$$QT_BUILD_TREE/bin/qtmodule-configtests
+INSTALLS += configtests
+
#mkspecs
mkspecs.path=$$[QT_INSTALL_DATA]/mkspecs
mkspecs.files=$$QT_BUILD_TREE/mkspecs/qconfig.pri $$files($$QT_SOURCE_TREE/mkspecs/*)
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 698b6a381e..f76b9930a7 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -221,6 +221,12 @@ Configure::Configure(int& argc, char** argv)
createpackage_bat.close();
}
+ QFile configtests(buildPath + "/bin/qtmodule-configtests");
+ if (configtests.open(QFile::WriteOnly)) {
+ QTextStream stream(&configtests);
+ stream << "#!/usr/bin/perl -w" << endl
+ << "require \"" << sourcePath + "/bin/qtmodule-configtests\";" << endl;
+ }
// For Windows CE and shadow builds we need to copy these to the
// build directory.
QFile::copy(sourcePath + "/bin/setcepaths.bat" , buildPath + "/bin/setcepaths.bat");