summaryrefslogtreecommitdiffstats
path: root/mkspecs/symbian
diff options
context:
space:
mode:
authoraxis <qt-info@nokia.com>2010-01-25 12:36:46 (GMT)
committeraxis <qt-info@nokia.com>2010-01-25 12:36:46 (GMT)
commit9008705d02ceb6532f9dcbee12b1c481a1312bbe (patch)
treeccfcc8bd46c24e0821d3482ab06300ed13b80098 /mkspecs/symbian
parent165f76801ef060d4a156dea1c84f057ddee8c477 (diff)
downloadQt-9008705d02ceb6532f9dcbee12b1c481a1312bbe.zip
Qt-9008705d02ceb6532f9dcbee12b1c481a1312bbe.tar.gz
Qt-9008705d02ceb6532f9dcbee12b1c481a1312bbe.tar.bz2
Add a sanity check to verify that the system() command works.
Pre 2.6.23 Linux kernels have a limit on the environment size that can be passed to a forked process. We quite easily overstep this boundary when building big projects on Symbian, and since we depend on running the system() command, this causes the build to fail. This commit tests that system() can be successfully run.
Diffstat (limited to 'mkspecs/symbian')
-rw-r--r--mkspecs/symbian/linux-armcc/features/symbian_building.prf10
1 files changed, 10 insertions, 0 deletions
diff --git a/mkspecs/symbian/linux-armcc/features/symbian_building.prf b/mkspecs/symbian/linux-armcc/features/symbian_building.prf
index 1510bfd..8f2d8a4 100644
--- a/mkspecs/symbian/linux-armcc/features/symbian_building.prf
+++ b/mkspecs/symbian/linux-armcc/features/symbian_building.prf
@@ -129,3 +129,13 @@ symbianresources.dependency_type = TYPE_C
symbianresources.CONFIG = no_link
QMAKE_EXTRA_COMPILERS += symbianresources
+
+# Pre 2.6.23 Linux kernels have a limit on the environment size that can be passed to
+# a forked process. We quite easily overstep this boundary when building big projects
+# on Symbian, and since we depend on running the system() command, this causes the build
+# to fail. Test here that system() can be successfully run. It is important that this
+# check happens as late as possible, otherwise it will not be caught.
+execve_sanity_test = $$system("echo testing")
+!contains(execve_sanity_test, "testing") {
+ error("Running system() failed. Maybe your kernel is too old? (Linux kernels need at least version 2.6.23)")
+}