Title: [110993] trunk/Tools
Revision
110993
Author
ves...@webkit.org
Date
2012-03-16 05:46:40 -0700 (Fri, 16 Mar 2012)

Log Message

[Qt] Make gccdepends test aware of broken icecream deps generation

Icecream seems to build the files without passing -o to gcc with
the original destination path, which means the target name in the
dependency file is wrong.

Also, echo something to the final file instead of just touching it,
so it's not deleted on every build.

Reviewed by Simon Hausmann.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (110992 => 110993)


--- trunk/Tools/ChangeLog	2012-03-16 12:31:57 UTC (rev 110992)
+++ trunk/Tools/ChangeLog	2012-03-16 12:46:40 UTC (rev 110993)
@@ -1,3 +1,18 @@
+2012-03-16  Tor Arne Vestbø  <tor.arne.ves...@nokia.com>
+
+        [Qt] Make gccdepends test aware of broken icecream deps generation
+
+        Icecream seems to build the files without passing -o to gcc with
+        the original destination path, which means the target name in the
+        dependency file is wrong.
+
+        Also, echo something to the final file instead of just touching it,
+        so it's not deleted on every build.
+
+        Reviewed by Simon Hausmann.
+
+        * qmake/config.tests/gccdepends/gccdepends.pro:
+
 2012-03-16  Kihong Kwon  <kihong.k...@samsung.com>
 
         Support for Battery Status API

Modified: trunk/Tools/qmake/config.tests/gccdepends/gccdepends.pro (110992 => 110993)


--- trunk/Tools/qmake/config.tests/gccdepends/gccdepends.pro	2012-03-16 12:31:57 UTC (rev 110992)
+++ trunk/Tools/qmake/config.tests/gccdepends/gccdepends.pro	2012-03-16 12:46:40 UTC (rev 110993)
@@ -1,10 +1,32 @@
 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
+base_filename = empty
+object_file = $$OBJECTS_DIR/$${base_filename}.o
+deps_filename = $${base_filename}.d
+
+SOURCES += $${base_filename}.cpp
+
+test.commands = \
+    # Earlier teambuilder and icecream versions would not
+    # respect the -o argument for the .d file, so the file
+    # would end up in the root build dir.
+    test ! -f $${deps_filename} && \
+    \
+    # But it should end up in the OBJECTS_DIR
+    test -f $$OBJECTS_DIR/$${deps_filename} && \
+    \
+    # Icecream 0.9.7 and earlier does not ensure that the
+    # target rule matches the path of the .o file, since
+    # the file is compiled into the current dir and then
+    # moved. Verify that we don't hit that case.
+    grep -q \"$${object_file}:\" $$OBJECTS_DIR/$${deps_filename} && \
+    \
+    # If everything is all right we mark the test as succeeded
+    echo success > $$basename(PWD)
+
+test.depends = $${object_file}
 QMAKE_EXTRA_TARGETS += test
 
 default.target = all
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to