Title: [109733] trunk/Tools
- Revision
- 109733
- Author
- ves...@webkit.org
- Date
- 2012-03-05 05:00:09 -0800 (Mon, 05 Mar 2012)
Log Message
[Qt] Use config test to determine if the compiler supports -MD
We used to assume that unix systems building against Qt5 would have
a compiler that supported -MD. Although this was usually the case,
we failed to take into account broken tools for distributed builds
(e.g. teambuilder or icecream) which would end up producing .d files
in the root of the build dir instead of along-side the object file.
Now that we use a config-test to determine the support, we'll capture
those cases, unless distributed builds are enabled after the initial
build-webkit run.
Reviewed by Csaba Osztrogonác.
Modified Paths
Added Paths
Diff
Modified: trunk/Tools/ChangeLog (109732 => 109733)
--- trunk/Tools/ChangeLog 2012-03-05 12:03:53 UTC (rev 109732)
+++ trunk/Tools/ChangeLog 2012-03-05 13:00:09 UTC (rev 109733)
@@ -1,3 +1,27 @@
+2012-03-05 Tor Arne Vestbø <tor.arne.ves...@nokia.com>
+
+ [Qt] Use config test to determine if the compiler supports -MD
+
+ We used to assume that unix systems building against Qt5 would have
+ a compiler that supported -MD. Although this was usually the case,
+ we failed to take into account broken tools for distributed builds
+ (e.g. teambuilder or icecream) which would end up producing .d files
+ in the root of the build dir instead of along-side the object file.
+
+ Now that we use a config-test to determine the support, we'll capture
+ those cases, unless distributed builds are enabled after the initial
+ build-webkit run.
+
+ Reviewed by Csaba Osztrogonác.
+
+ * Tools.pro:
+ * qmake/config.tests/gccdepends/empty.cpp: Added.
+ * qmake/config.tests/gccdepends/gccdepends.pro: Added.
+ * qmake/mkspecs/features/default_pre.prf:
+ * qmake/mkspecs/features/features.prf:
+ * qmake/mkspecs/features/unix/default_pre.prf:
+ * qmake/sync.profile:
+
2012-03-05 Csaba Osztrogonác <o...@webkit.org>
Qt API test buildstep throws exception after buildmaster update
Modified: trunk/Tools/Tools.pro (109732 => 109733)
--- trunk/Tools/Tools.pro 2012-03-05 12:03:53 UTC (rev 109732)
+++ trunk/Tools/Tools.pro 2012-03-05 13:00:09 UTC (rev 109733)
@@ -29,6 +29,7 @@
qmake/sync.profile \
qmake/config.tests/README \
qmake/config.tests/fontconfig/* \
+ qmake/config.tests/gccdepends/* \
qmake/mkspecs/modules/* \
qmake/mkspecs/features/*.prf \
qmake/mkspecs/features/mac/*.prf \
Added: trunk/Tools/qmake/config.tests/gccdepends/empty.cpp ( => )
Added: trunk/Tools/qmake/config.tests/gccdepends/gccdepends.pro
===================================================================
--- trunk/Tools/qmake/config.tests/gccdepends/gccdepends.pro (rev 0)
+++ trunk/Tools/qmake/config.tests/gccdepends/gccdepends.pro 2012-03-05 13:00:09 UTC (rev 109733)
@@ -0,0 +1,12 @@
+TEMPLATE = aux
+SOURCES += empty.cpp
+OBJECTS_DIR = obj
+QMAKE_CXXFLAGS += -MD
+
+test.commands = test -f $$OBJECTS_DIR/empty.d && test ! -f empty.d && touch $$basename(PWD)
+test.depends = $$OBJECTS_DIR/empty.o
+QMAKE_EXTRA_TARGETS += test
+
+default.target = all
+default.depends += test
+QMAKE_EXTRA_TARGETS += default
Modified: trunk/Tools/qmake/mkspecs/features/default_pre.prf (109732 => 109733)
--- trunk/Tools/qmake/mkspecs/features/default_pre.prf 2012-03-05 12:03:53 UTC (rev 109732)
+++ trunk/Tools/qmake/mkspecs/features/default_pre.prf 2012-03-05 13:00:09 UTC (rev 109733)
@@ -7,6 +7,15 @@
load(functions)
+# Load results of config tests (only supported in Qt 5)
+haveQt(5): include($${ROOT_BUILD_DIR}/Tools/qmake/.qmake.cache, , true)
+
+unix:config_test_gccdepends {
+ # We have a compiler that supports the -MD option (and neither
+ # teambuilder nor icecream is messing up the .d file output).
+ CONFIG += GNUmake gcc_MD_depends
+}
+
# FIXME: In this case we probably want to exit early so that we
# don't load all of the custom build tweaks needlessly.
pro_file = $$_PRO_FILE_ # Checking the variable directly does not work
Modified: trunk/Tools/qmake/mkspecs/features/features.prf (109732 => 109733)
--- trunk/Tools/qmake/mkspecs/features/features.prf 2012-03-05 12:03:53 UTC (rev 109732)
+++ trunk/Tools/qmake/mkspecs/features/features.prf 2012-03-05 13:00:09 UTC (rev 109733)
@@ -5,9 +5,6 @@
# See 'Tools/qmake/README' for an overview of the build system
# -------------------------------------------------------------------
-# Load results of config tests (only supported in Qt 5)
-haveQt(5): include($${ROOT_BUILD_DIR}/Tools/qmake/.qmake.cache, , true)
-
CONFIG(minimal) {
DEFINES += ENABLE_NETSCAPE_PLUGIN_API=0
}
Modified: trunk/Tools/qmake/mkspecs/features/unix/default_pre.prf (109732 => 109733)
--- trunk/Tools/qmake/mkspecs/features/unix/default_pre.prf 2012-03-05 12:03:53 UTC (rev 109732)
+++ trunk/Tools/qmake/mkspecs/features/unix/default_pre.prf 2012-03-05 13:00:09 UTC (rev 109733)
@@ -6,10 +6,7 @@
load(functions)
-# Assume we use GNU make and a non-ancient GCC (compatible)
-# compiler that supports the -MD option. Relies on changes
-# introduced in Qt 5 to work correctly.
-haveQt(5): CONFIG += GNUmake gcc_MD_depends object_parallel_to_source
+haveQt(5): CONFIG += object_parallel_to_source
# Expose if we are building inside Scratchbox
SBOX_CHECK = $$(_SBOX_DIR)
Modified: trunk/Tools/qmake/sync.profile (109732 => 109733)
--- trunk/Tools/qmake/sync.profile 2012-03-05 12:03:53 UTC (rev 109732)
+++ trunk/Tools/qmake/sync.profile 2012-03-05 13:00:09 UTC (rev 109733)
@@ -1,4 +1,5 @@
# This file is only used for config tests
%configtests = (
fontconfig => {},
+ gccdepends => {},
);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes