Title: [101408] trunk
Revision
101408
Author
ves...@webkit.org
Date
2011-11-29 12:47:28 -0800 (Tue, 29 Nov 2011)

Log Message

[Qt] Don't hard-code the list of WebKit2 generated sources

The generated sources are... wait for it... generated. So
use the generator itself to figure out which sources we need
to compile.

Reviewed by Simon Hausmann.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (101407 => 101408)


--- trunk/Source/WebKit2/ChangeLog	2011-11-29 20:47:12 UTC (rev 101407)
+++ trunk/Source/WebKit2/ChangeLog	2011-11-29 20:47:28 UTC (rev 101408)
@@ -1,3 +1,16 @@
+2011-11-29  Tor Arne Vestbø  <tor.arne.ves...@nokia.com>
+
+        [Qt] Don't hard-code the list of WebKit2 generated sources
+
+        The generated sources are... wait for it... generated. So
+        use the generator itself to figure out which sources we need
+        to compile.
+
+        Reviewed by Simon Hausmann.
+
+        * DerivedSources.pri:
+        * Target.pri:
+
 2011-11-29  Carlos Garcia Campos  <cgar...@igalia.com>
 
         Unreviewed. Fix the GTK+ port build after r101307.

Modified: trunk/Source/WebKit2/DerivedSources.pri (101407 => 101408)


--- trunk/Source/WebKit2/DerivedSources.pri	2011-11-29 20:47:12 UTC (rev 101407)
+++ trunk/Source/WebKit2/DerivedSources.pri	2011-11-29 20:47:28 UTC (rev 101408)
@@ -4,7 +4,12 @@
 # See 'Tools/qmake/README' for an overview of the build system
 # -------------------------------------------------------------------
 
-TEMPLATE = derived
+# This file is both a top level target, and included from Target.pri,
+# so that the resulting generated sources can be added to SOURCES.
+# We only set the template if we're a top level target, so that we
+# don't override what Target.pri has already set.
+sanitizedFile = $$toSanitizedPath($$_FILE_)
+equals(sanitizedFile, $$toSanitizedPath($$_PRO_FILE_)):TEMPLATE = derived
 
 load(features)
 
@@ -105,6 +110,7 @@
 message_header_generator.input = MESSAGE_RECEIVERS
 message_header_generator.depends = $$SCRIPTS
 message_header_generator.output_function = message_header_generator_output
+message_header_generator.add_output_to_sources = false
 GENERATORS += message_header_generator
 
 message_receiver_generator.commands = $${PYTHON} $${SOURCE_DIR}/WebKit2/Scripts/generate-message-receiver.py  ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
@@ -118,17 +124,17 @@
 generated_files.depends += fwheader_generator
 GENERATORS += fwheader_generator
 
-for(HEADER, WEBCORE_GENERATED_HEADERS_FOR_WEBKIT2) {
-    HEADER_NAME = $$basename(HEADER)
-    HEADER_PATH = $$HEADER
-    HEADER_TARGET = $$replace(HEADER_PATH, [^a-zA-Z0-9_], -)
-    HEADER_TARGET = "qtheader-$${HEADER_TARGET}"
-    DESTDIR = $${ROOT_BUILD_DIR}/Source/include/WebCore
+for(header, WEBCORE_GENERATED_HEADERS_FOR_WEBKIT2) {
+    header_name = $$basename(header)
+    header_path = $$header
+    header_target = $$replace(header_path, [^a-zA-Z0-9_], -)
+    header_target = "qtheader-$${header_target}"
+    dest_dir = $${ROOT_BUILD_DIR}/Source/include/WebCore
 
-    eval($${HEADER_TARGET}.target = $$DESTDIR/$$HEADER_NAME)
-    eval($${HEADER_TARGET}.depends = $$HEADER_PATH)
-    eval($${HEADER_TARGET}.commands = echo $${DOUBLE_ESCAPED_QUOTE}\$${LITERAL_HASH}include \\\"$$HEADER_PATH\\\"$${DOUBLE_ESCAPED_QUOTE} > $$eval($${HEADER_TARGET}.target))
+    eval($${header_target}.target = $$dest_dir/$$header_name)
+    eval($${header_target}.depends = $$header_path)
+    eval($${header_target}.commands = echo $${DOUBLE_ESCAPED_QUOTE}\$${LITERAL_HASH}include \\\"$$header_path\\\"$${DOUBLE_ESCAPED_QUOTE} > $$eval($${header_target}.target))
 
-    GENERATORS += $$HEADER_TARGET
+    GENERATORS += $$header_target
 }
 

Modified: trunk/Source/WebKit2/Target.pri (101407 => 101408)


--- trunk/Source/WebKit2/Target.pri	2011-11-29 20:47:12 UTC (rev 101407)
+++ trunk/Source/WebKit2/Target.pri	2011-11-29 20:47:28 UTC (rev 101408)
@@ -20,86 +20,6 @@
 
 QT += declarative
 
-WEBKIT2_GENERATED_HEADERS = \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/AuthenticationManagerMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/DownloadProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/LayerTreeHostMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/LayerTreeHostProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/NPObjectMessageReceiverMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/PluginControllerProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/PluginProcessConnectionMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/PluginProcessMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/PluginProcessProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/PluginProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebApplicationCacheManagerMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebApplicationCacheManagerProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebContextMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebCookieManagerMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebCookieManagerProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebDatabaseManagerMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebDatabaseManagerProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebFullScreenManagerMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebFullScreenManagerProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebGeolocationManagerMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebGeolocationManagerProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebIconDatabaseMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebIconDatabaseProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebInspectorMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebInspectorProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebKeyValueStorageManagerMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebKeyValueStorageManagerProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebMediaCacheManagerMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebMediaCacheManagerProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebNotificationManagerProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebPageMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebPageProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessConnectionMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessProxyMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebResourceCacheManagerMessages.h \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebResourceCacheManagerProxyMessages.h
-
-WEBKIT2_GENERATED_SOURCES = \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/AuthenticationManagerMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/DownloadProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/DrawingAreaMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/DrawingAreaProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/LayerTreeHostMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/LayerTreeHostProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/NPObjectMessageReceiverMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/PluginControllerProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/PluginProcessMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/PluginProcessConnectionMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/PluginProcessProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/PluginProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebApplicationCacheManagerMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebApplicationCacheManagerProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebContextMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebCookieManagerMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebCookieManagerProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebDatabaseManagerMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebDatabaseManagerProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebFullScreenManagerMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebFullScreenManagerProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebGeolocationManagerMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebGeolocationManagerProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebIconDatabaseMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebIconDatabaseProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebInspectorMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebInspectorProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebKeyValueStorageManagerMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebKeyValueStorageManagerProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebMediaCacheManagerMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebMediaCacheManagerProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebNotificationManagerProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebPageMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebPageProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessConnectionMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebProcessProxyMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebResourceCacheManagerMessageReceiver.cpp \
-    $$WEBKIT2_GENERATED_SOURCES_DIR/WebResourceCacheManagerProxyMessageReceiver.cpp
-
 HEADERS += \
     Platform/CoreIPC/ArgumentDecoder.h \
     Platform/CoreIPC/ArgumentEncoder.h \
@@ -425,8 +345,7 @@
     WebProcess/WebPage/WebPageGroupProxy.h \
     WebProcess/WebProcess.h \
     WebProcess/qt/QtBuiltinBundle.h \
-    WebProcess/qt/QtBuiltinBundlePage.h \
-    $$WEBKIT2_GENERATED_HEADERS
+    WebProcess/qt/QtBuiltinBundlePage.h
 
 SOURCES += \
     Platform/CoreIPC/ArgumentCoders.cpp \
@@ -768,8 +687,7 @@
     WebProcess/qt/QtBuiltinBundle.cpp \
     WebProcess/qt/QtBuiltinBundlePage.cpp \
     WebProcess/qt/WebProcessMainQt.cpp \
-    WebProcess/qt/WebProcessQt.cpp \
-    $$WEBKIT2_GENERATED_SOURCES
+    WebProcess/qt/WebProcessQt.cpp
 
 mac: {
     INCLUDEPATH += \
@@ -806,3 +724,5 @@
 plugin_backend_xlib {
     DEFINES += XP_UNIX
 }
+
+include(DerivedSources.pri)

Modified: trunk/Tools/ChangeLog (101407 => 101408)


--- trunk/Tools/ChangeLog	2011-11-29 20:47:12 UTC (rev 101407)
+++ trunk/Tools/ChangeLog	2011-11-29 20:47:28 UTC (rev 101408)
@@ -1,3 +1,15 @@
+2011-11-29  Tor Arne Vestbø  <tor.arne.ves...@nokia.com>
+
+        [Qt] Don't hard-code the list of WebKit2 generated sources
+
+        The generated sources are... wait for it... generated. So
+        use the generator itself to figure out which sources we need
+        to compile.
+
+        Reviewed by Simon Hausmann.
+
+        * qmake/mkspecs/features/default_post.prf:
+
 2011-11-29  Martin Robinson  <mrobin...@igalia.com>
 
         [GTK] Add a method to detect 'make dist' errors without running 'make dist'

Modified: trunk/Tools/qmake/mkspecs/features/default_post.prf (101407 => 101408)


--- trunk/Tools/qmake/mkspecs/features/default_post.prf	2011-11-29 20:47:12 UTC (rev 101407)
+++ trunk/Tools/qmake/mkspecs/features/default_post.prf	2011-11-29 20:47:28 UTC (rev 101408)
@@ -98,20 +98,26 @@
     for(generator, GENERATORS) {
         isEqual($${generator}.add_output_to_sources, false): next()
 
-        isEmpty($${generator}.output_function) {
-            prependEach($${generator}.output, $${GENERATED_SOURCES_DESTDIR}/)
-        }
-
         output = $$eval($${generator}.output)
         input = $$eval($${generator}.input)
-        input = $$eval($$input)
+        input_files = $$eval($$input)
 
-        for(file, input) {
-            base = $$basename(file)
-            base ~= s/\\..+//
-            newfile = $$replace(output,\\$\\{QMAKE_FILE_BASE\\}, $$base)
+        isEmpty($${generator}.output_function) {
+            prependEach(output, $${GENERATED_SOURCES_DESTDIR}/)
 
-            SOURCES += $$newfile
+            for(input_file, input_files) {
+                base = $$basename(input_file)
+                base ~= s/\\..+//
+                output_file = $$replace(output,\\$\\{QMAKE_FILE_BASE\\}, $$base)
+
+                SOURCES += $$output_file
+            }
+        } else {
+            function = $$eval($${generator}.output_function)
+            for(input_file, input_files) {
+                eval(output_file = \$\$$$function\($$input_file\))
+                SOURCES += $$output_file
+            }
         }
 
         prependEach($${generator}.extra_sources, $${GENERATED_SOURCES_DESTDIR}/)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to