[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.20-204-g221d8e8
vestbo at webkit.org
vestbo at webkit.org
Wed Feb 10 22:16:25 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 42c8a71f1e4196cb28685a6058817fc1774d904b
Author: vestbo at webkit.org <vestbo at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Feb 5 13:23:15 2010 +0000
[Qt] Generate convenience headers (QWebView, etc) using qmake
Reviewed by Simon Hausmann.
In Qt this is done using syncqt, but we use a pro-file instead
that generates makefile-rules for each of the extra headers.
These extra headers are installed alongside the normal headers.
WebCore:
* WebCore.pro: Use headers.pri based on DerivedSources instead
of the one previously checked in in the source tree.
WebKit/qt:
* Api/DerivedSources.pro: Added. List of headers + pro file magic
* Api/headers.pri: Removed, list of headers is now in the above file
WebKitTools:
* Scripts/webkitdirs.pm: Run qmake and make on new API-DerivedSources
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/ChangeLog b/ChangeLog
index f8d081d..998e193 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2010-02-05 Tor Arne Vestbø <tor.arne.vestbo at nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Generate convenience headers (QWebView, etc) using qmake
+
+ In Qt this is done using syncqt, but we use a pro-file instead
+ that generates makefile-rules for each of the extra headers.
+
+ These extra headers are installed alongside the normal headers.
+
+ * DerivedSources.pro: Include API-DerivedSources
+
2010-02-04 Tor Arne Vestbø <tor.arne.vestbo at nokia.com>
Reviewed by Lars Knoll.
diff --git a/DerivedSources.pro b/DerivedSources.pro
index adb17eb..d1a4802 100644
--- a/DerivedSources.pro
+++ b/DerivedSources.pro
@@ -3,7 +3,8 @@ CONFIG += ordered
SUBDIRS += \
JavaScriptCore/DerivedSources.pro \
- WebCore/DerivedSources.pro
+ WebCore/DerivedSources.pro \
+ WebKit/qt/Api/DerivedSources.pro
for(subpro, SUBDIRS) {
subdir = $${dirname(subpro)}
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index f52c9c5..95a80b9 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-02-05 Tor Arne Vestbø <tor.arne.vestbo at nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Generate convenience headers (QWebView, etc) using qmake
+
+ In Qt this is done using syncqt, but we use a pro-file instead
+ that generates makefile-rules for each of the extra headers.
+
+ These extra headers are installed alongside the normal headers.
+
+ * WebCore.pro: Use headers.pri based on DerivedSources instead
+ of the one previously checked in in the source tree.
+
2010-02-05 Mikhail Naganov <mnaganov at chromium.org>
Reviewed by Pavel Feldman.
diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index be4244d..4d2c597 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -2662,24 +2662,24 @@ SOURCES += \
}
}
-include($$PWD/../WebKit/qt/Api/headers.pri)
-HEADERS += $$WEBKIT_API_HEADERS
CONFIG(standalone_package) {
+ include($$PWD/../include/headers.pri)
+} else {
+ include($$OUTPUT_DIR/include/headers.pri)
+}
- !symbian {
- target.path = $$[QT_INSTALL_LIBS]
- INSTALLS += target
- }
-
- include($$PWD/../include/QtWebKit/headers.pri)
- headers.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES
- headers.path = $$[QT_INSTALL_HEADERS]/QtWebKit
- INSTALLS += headers
+HEADERS += $$WEBKIT_API_HEADERS $$WEBKIT_CLASS_HEADERS
-} else {
+!symbian {
target.path = $$[QT_INSTALL_LIBS]
- headers.files = $$WEBKIT_API_HEADERS
- headers.path = $$[QT_INSTALL_HEADERS]/QtWebKit
+ INSTALLS += target
+}
+
+headers.files = $$WEBKIT_API_HEADERS $$WEBKIT_CLASS_HEADERS $$OUTPUT_DIR/include/headers.pri
+headers.path = $$[QT_INSTALL_HEADERS]/QtWebKit
+INSTALLS += headers
+
+!CONFIG(standalone_package) {
VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
@@ -2692,9 +2692,6 @@ CONFIG(standalone_package) {
INSTALLS += dlltarget
}
-
- INSTALLS += target headers
-
unix {
CONFIG += create_pc create_prl
QMAKE_PKGCONFIG_LIBDIR = $$target.path
@@ -2718,7 +2715,7 @@ CONFIG(standalone_package) {
CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework
FRAMEWORK_HEADERS.version = Versions
- FRAMEWORK_HEADERS.files = $$WEBKIT_API_HEADERS
+ FRAMEWORK_HEADERS.files = $${headers.files}
FRAMEWORK_HEADERS.path = Headers
QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS
}
diff --git a/WebKit/qt/Api/DerivedSources.pro b/WebKit/qt/Api/DerivedSources.pro
new file mode 100644
index 0000000..529c20b
--- /dev/null
+++ b/WebKit/qt/Api/DerivedSources.pro
@@ -0,0 +1,105 @@
+TEMPLATE = lib
+TARGET = dummy
+
+WEBKIT_API_HEADERS = $$PWD/qwebframe.h \
+ $$PWD/qgraphicswebview.h \
+ $$PWD/qwebkitglobal.h \
+ $$PWD/qwebpage.h \
+ $$PWD/qwebview.h \
+ $$PWD/qwebsettings.h \
+ $$PWD/qwebhistoryinterface.h \
+ $$PWD/qwebdatabase.h \
+ $$PWD/qwebsecurityorigin.h \
+ $$PWD/qwebelement.h \
+ $$PWD/qwebpluginfactory.h \
+ $$PWD/qwebhistory.h \
+ $$PWD/qwebinspector.h \
+ $$PWD/qwebkitversion.h
+
+WEBKIT_PRIVATE_HEADERS = $$PWD/qwebdatabase_p.h \
+ $$PWD/qwebframe_p.h \
+ $$PWD/qwebhistory_p.h \
+ $$PWD/qwebinspector_p.h \
+ $$PWD/qwebpage_p.h \
+ $$PWD/qwebplugindatabase_p.h \
+ $$PWD/qwebsecurityorigin_p.h
+
+
+CONFIG -= debug_and_release
+
+DESTDIR = ../../../include
+
+qtheader_module.target = $${DESTDIR}/QtWebKit
+qtheader_module.depends = $${_PRO_FILE_}
+eval(qtheader_module.commands = echo \\\'\$${LITERAL_HASH}ifndef QT_QTWEBKIT_MODULE_H\\\' > $${qtheader_module.target};)
+eval(qtheader_module.commands += echo \\\'\$${LITERAL_HASH}define QT_QTWEBKIT_MODULE_H\\\' >> $${qtheader_module.target};)
+eval(qtheader_module.commands += echo \\\'\$${LITERAL_HASH}include <QtNetwork/QtNetwork>\\\' >> $${qtheader_module.target};)
+WEBKIT_CLASS_HEADERS = ../include/QtWebKit
+
+regex = ".*\sclass\sQWEBKIT_EXPORT\s(\w+)\s(.*)"
+
+for(HEADER, WEBKIT_API_HEADERS) {
+ qtheader_module.depends += $$HEADER
+ eval(qtheader_module.commands += echo \\\'\$${LITERAL_HASH}include \\\"$$basename(HEADER)\\\"\\\' >> $${qtheader_module.target};)
+
+ HEADER_NAME = $$basename(HEADER)
+ HEADER_TARGET = $$replace(HEADER_NAME, [^a-zA-Z0-9_], -)
+ HEADER_TARGET = "qtheader-$${HEADER_TARGET}"
+
+ eval($${HEADER_TARGET}.target = $${DESTDIR}/$${HEADER_NAME})
+ eval($${HEADER_TARGET}.depends = $$HEADER)
+ eval($${HEADER_TARGET}.commands = echo \\\'\$${LITERAL_HASH}include \\\"$$HEADER\\\"\\\' > $$eval($${HEADER_TARGET}.target))
+
+ QMAKE_EXTRA_TARGETS += $$HEADER_TARGET
+
+ src_words = $$cat($$HEADER)
+ # Really make sure we're dealing with words
+ src_words = $$split(src_words, " ")
+
+ src = $$join(src_words, $${LITERAL_WHITESPACE})
+ for(ever) {
+ # Looking up by line is faster, so we try that first
+ res = $$find(src_words, "QWEBKIT_EXPORT")
+ isEmpty(res):break()
+
+ # Then do a slow lookup to ensure we're dealing with an exported class
+ res = $$find(src, $$regex)
+ isEmpty(res):break()
+
+ exp = $$replace(src, $$regex, "EXPORTED_CLASS = \1")
+ eval($$exp)
+
+ CLASS_TARGET = "qtheader_$${EXPORTED_CLASS}"
+
+ eval($${CLASS_TARGET}.target = $${DESTDIR}/$${EXPORTED_CLASS})
+ eval($${CLASS_TARGET}.depends = $$eval($${HEADER_TARGET}.target))
+ eval($${CLASS_TARGET}.commands = echo \\\'\$${LITERAL_HASH}include \\\"$$basename(HEADER)\\\"\\\' > $$eval($${CLASS_TARGET}.target))
+
+ QMAKE_EXTRA_TARGETS += $$CLASS_TARGET
+ WEBKIT_CLASS_HEADERS += ../include/$${EXPORTED_CLASS}
+
+ generated_files.depends += $$eval($${CLASS_TARGET}.target)
+ qtheader_pri.depends += $$eval($${CLASS_TARGET}.target)
+
+ # Qt's QRegExp does not support inline non-greedy matching,
+ # so we'll have to work around it by updating the haystack
+ src = $$replace(src, $$regex, "\2")
+ src_words = $$join(src, $${LITERAL_WHITESPACE})
+ }
+}
+
+eval(qtheader_module.commands += echo \\\'\$${LITERAL_HASH}endif // QT_QTWEBKIT_MODULE_H\\\' >> $${qtheader_module.target})
+QMAKE_EXTRA_TARGETS += qtheader_module
+
+qtheader_pri.target = $${DESTDIR}/headers.pri
+qtheader_pri.depends = $${WEBKIT_API_HEADERS} $${WEBKIT_PRIVATE_HEADERS} $${_PRO_FILE_}
+eval(qtheader_pri.commands = echo \\\'WEBKIT_API_HEADERS = $${WEBKIT_API_HEADERS}\\\' > $${qtheader_pri.target};)
+eval(qtheader_pri.commands += echo \\\'WEBKIT_CLASS_HEADERS = $${WEBKIT_CLASS_HEADERS}\\\' >> $${qtheader_pri.target};)
+eval(qtheader_pri.commands += echo \\\'WEBKIT_PRIVATE_HEADERS = $${WEBKIT_PRIVATE_HEADERS}\\\' >> $${qtheader_pri.target};)
+QMAKE_EXTRA_TARGETS += qtheader_pri
+
+generated_files.depends += $${qtheader_module.target} $${qtheader_pri.target}
+QMAKE_EXTRA_TARGETS += generated_files
+
+
+
diff --git a/WebKit/qt/Api/headers.pri b/WebKit/qt/Api/headers.pri
deleted file mode 100644
index 1a42597..0000000
--- a/WebKit/qt/Api/headers.pri
+++ /dev/null
@@ -1,14 +0,0 @@
-WEBKIT_API_HEADERS = $$PWD/qwebframe.h \
- $$PWD/qgraphicswebview.h \
- $$PWD/qwebkitglobal.h \
- $$PWD/qwebpage.h \
- $$PWD/qwebview.h \
- $$PWD/qwebsettings.h \
- $$PWD/qwebhistoryinterface.h \
- $$PWD/qwebdatabase.h \
- $$PWD/qwebsecurityorigin.h \
- $$PWD/qwebelement.h \
- $$PWD/qwebpluginfactory.h \
- $$PWD/qwebhistory.h \
- $$PWD/qwebinspector.h \
- $$PWD/qwebkitversion.h
diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog
index dbc841e..5f6293e 100644
--- a/WebKit/qt/ChangeLog
+++ b/WebKit/qt/ChangeLog
@@ -1,3 +1,17 @@
+2010-02-05 Tor Arne Vestbø <tor.arne.vestbo at nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Generate convenience headers (QWebView, etc) using qmake
+
+ In Qt this is done using syncqt, but we use a pro-file instead
+ that generates makefile-rules for each of the extra headers.
+
+ These extra headers are installed alongside the normal headers.
+
+ * Api/DerivedSources.pro: Added. List of headers + pro file magic
+ * Api/headers.pri: Removed, list of headers is now in the above file
+
2010-02-04 No'am Rosenthal <noam.rosenthal at nokia.com>
Reviewed by Ariya Hidayat.
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index e25c0c1..40d19d2 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,16 @@
+2010-02-05 Tor Arne Vestbø <tor.arne.vestbo at nokia.com>
+
+ Reviewed by Simon Hausmann.
+
+ [Qt] Generate convenience headers (QWebView, etc) using qmake
+
+ In Qt this is done using syncqt, but we use a pro-file instead
+ that generates makefile-rules for each of the extra headers.
+
+ These extra headers are installed alongside the normal headers.
+
+ * Scripts/webkitdirs.pm: Run qmake and make on new API-DerivedSources
+
2010-02-05 Andras Becsi <abecsi at webkit.org>
Unreviewed typo fix.
diff --git a/WebKitTools/Scripts/webkitdirs.pm b/WebKitTools/Scripts/webkitdirs.pm
index 8b2ecc1..5ae4dce 100644
--- a/WebKitTools/Scripts/webkitdirs.pm
+++ b/WebKitTools/Scripts/webkitdirs.pm
@@ -1491,27 +1491,21 @@ sub buildQMakeProject($@)
my $dsMakefile = "Makefile.DerivedSources";
- print "Calling '$make $makeargs -f $dsMakefile generated_files' in " . $dir . "/JavaScriptCore\n\n";
- if ($make eq "nmake") {
- $result = system "pushd JavaScriptCore && $make $makeargs -f $dsMakefile generated_files && popd";
- } else {
- $result = system "$make $makeargs -C JavaScriptCore -f $dsMakefile generated_files";
- }
- if ($result ne 0) {
- die "Failed to generate JavaScriptCore's derived sources!\n";
- }
-
- print "Calling '$make $makeargs -f $dsMakefile generated_files' in " . $dir . "/WebCore\n\n";
- if ($make eq "nmake") {
- $result = system "pushd WebCore && $make $makeargs -f $dsMakefile generated_files && popd";
- } else {
- $result = system "$make $makeargs -C WebCore -f $dsMakefile generated_files";
- }
- if ($result ne 0) {
- die "Failed to generate WebCore's derived sources!\n";
+ # Iterate over different source directories manually to workaround a problem with qmake+extraTargets+s60
+ for my $subdir ("JavaScriptCore", "WebCore", "WebKit/qt/Api") {
+ print "Calling '$make $makeargs -f $dsMakefile generated_files' in " . $dir . "/$subdir\n\n";
+ if ($make eq "nmake") {
+ my $subdirWindows = $subdir;
+ $subdirWindows =~ s:/:\\:g;
+ $result = system "pushd $subdirWindows && $make $makeargs -f $dsMakefile generated_files && popd";
+ } else {
+ $result = system "$make $makeargs -C $subdir -f $dsMakefile generated_files";
+ }
+ if ($result ne 0) {
+ die "Failed to generate ${subdir}'s derived sources!\n";
+ }
}
-
push @buildArgs, "OUTPUT_DIR=" . baseProductDir() . "/$config";
push @buildArgs, sourceDir() . "/WebKit.pro";
if ($config =~ m/debug/i) {
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list