diff options
author | Qt by Nokia <qt-info@nokia.com> | 2011-04-27 12:34:00 +0200 |
---|---|---|
committer | axis <qt-info@nokia.com> | 2011-04-27 12:34:00 +0200 |
commit | 92351a70e0b9193a1def156a470d9156beb8528b (patch) | |
tree | bbd040ad01c7a01d13939f45ad68c7d84d21b955 /patches |
Long live the qt5 Qt repository
Diffstat (limited to 'patches')
13 files changed, 748 insertions, 0 deletions
diff --git a/patches/qtwebkit/0003-Make-WebKit-compile-with-modularized-Qt-with-prefix.patch b/patches/qtwebkit/0003-Make-WebKit-compile-with-modularized-Qt-with-prefix.patch new file mode 100644 index 00000000..4cf246ea --- /dev/null +++ b/patches/qtwebkit/0003-Make-WebKit-compile-with-modularized-Qt-with-prefix.patch @@ -0,0 +1,171 @@ +From ff0c40205642eef0905c40bc5b8c74b04018372c Mon Sep 17 00:00:00 2001 +From: Prasanth Ullattil <prasanth.ullattil@nokia.com> +Date: Thu, 3 Mar 2011 17:02:15 +0100 +Subject: [PATCH] Make WebKit compile with modularized Qt with prefix + +Before this, WebKit would only compile with in-source developer builds. +Updated the previous patch for the same. +--- + Source/JavaScriptCore/JavaScriptCore.pro | 8 +++----- + Source/WebCore/WebCore.pro | 2 +- + Source/WebCore/features.pri | 2 +- + Source/WebKit.pri | 11 +++++------ + Source/WebKit/qt/declarative/declarative.pro | 12 ++---------- + .../docs/webkitsnippets/webelement/webelement.pro | 4 +--- + Source/WebKit/qt/tests/tests.pri | 3 +-- + Tools/DumpRenderTree/qt/DumpRenderTree.pro | 2 +- + 8 files changed, 15 insertions(+), 29 deletions(-) + +diff --git a/Source/JavaScriptCore/JavaScriptCore.pro b/Source/JavaScriptCore/JavaScriptCore.pro +index e41f04d..9237b16 100644 +--- a/Source/JavaScriptCore/JavaScriptCore.pro ++++ b/Source/JavaScriptCore/JavaScriptCore.pro +@@ -22,11 +22,9 @@ contains(QT_CONFIG, embedded):CONFIG += embedded + contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols + unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions + +-CONFIG(QTDIR_build) { +- # Remove the following 2 lines if you want debug information in JavaScriptCore +- CONFIG -= separate_debug_info +- CONFIG += no_debug_info +-} ++# Remove the following 2 lines if you want debug information in JavaScriptCore ++CONFIG -= separate_debug_info ++CONFIG += no_debug_info + + *-g++*:QMAKE_CXXFLAGS_RELEASE -= -O2 + *-g++*:QMAKE_CXXFLAGS_RELEASE += -O3 +diff --git a/Source/WebCore/WebCore.pro b/Source/WebCore/WebCore.pro +index 458d6a2..83b5d00 100644 +--- a/Source/WebCore/WebCore.pro ++++ b/Source/WebCore/WebCore.pro +@@ -1,5 +1,5 @@ + # WebCore - qmake build info +-CONFIG += building-libs ++CONFIG += building-libs qt_module + CONFIG += depend_includepath + + isEmpty(OUTPUT_DIR): OUTPUT_DIR = .. +diff --git a/Source/WebCore/features.pri b/Source/WebCore/features.pri +index 4288d0f..c1d5b55 100644 +--- a/Source/WebCore/features.pri ++++ b/Source/WebCore/features.pri +@@ -19,7 +19,7 @@ load(mobilityconfig, true) + ## Define default features macros for optional components + ## (look for defs in config.h and included files!) + # Try to locate sqlite3 source +-CONFIG(QTDIR_build) { ++!isEmpty(QT_SOURCE_TREE) { + SQLITE3SRCDIR = $$QT_SOURCE_TREE/src/3rdparty/sqlite/ + } else { + SQLITE3SRCDIR = $$(SQLITE3SRCDIR) +diff --git a/Source/WebKit.pri b/Source/WebKit.pri +index 51d13f0..8785496 100644 +--- a/Source/WebKit.pri ++++ b/Source/WebKit.pri +@@ -1,10 +1,10 @@ + # Include file to make it easy to include WebKit into Qt projects + + # Detect that we are building as a standalone package by the presence of +-# either the generated files directory or as part of the Qt package through +-# QTDIR_build +-CONFIG(QTDIR_build) { +- CONFIG += standalone_package ++# the generated files directory ++exists($$PWD/WebCore/generated):CONFIG += standalone_package ++ ++!isEmpty(QT_SOURCE_TREE) { + # Make sure we compile both debug and release on mac when inside Qt. + # This line was extracted from qbase.pri instead of including the whole file + win32|mac:!macx-xcode:CONFIG += debug_and_release +@@ -15,7 +15,6 @@ CONFIG(QTDIR_build) { + OBJECTS_DIR = obj/release + DEFINES *= NDEBUG + } +- exists($$PWD/WebCore/generated):CONFIG += standalone_package + # Make sure that build_all follows the build_all config in WebCore + mac:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework):!build_pass:CONFIG += build_all + } +@@ -29,7 +28,7 @@ DEFINES += BUILDING_QT__=1 + building-libs { + win32-msvc*|win32-icc: INCLUDEPATH += $$PWD/JavaScriptCore/os-win32 + } else { +- CONFIG(QTDIR_build) { ++ !isEmpty(QT_SOURCE_TREE) { + QT += webkit + } else { + QMAKE_LIBDIR = $$OUTPUT_DIR/lib $$QMAKE_LIBDIR +diff --git a/Source/WebKit/qt/declarative/declarative.pro b/Source/WebKit/qt/declarative/declarative.pro +index 526cf06..1f084b7 100644 +--- a/Source/WebKit/qt/declarative/declarative.pro ++++ b/Source/WebKit/qt/declarative/declarative.pro +@@ -10,11 +10,7 @@ isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../.. + + QMLDIRFILE = $${_PRO_FILE_PWD_}/qmldir + copy2build.input = QMLDIRFILE +-CONFIG(QTDIR_build) { +- copy2build.output = $$QT_BUILD_TREE/imports/$$TARGETPATH/qmldir +-} else { +- copy2build.output = $$OUTPUT_DIR/imports/$$TARGETPATH/qmldir +-} ++copy2build.output = $$OUTPUT_DIR/imports/$$TARGETPATH/qmldir + !contains(TEMPLATE_PREFIX, vc):copy2build.variable_out = PRE_TARGETDEPS + copy2build.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} + copy2build.name = COPY ${QMAKE_FILE_IN} +@@ -55,11 +51,7 @@ QT += declarative + SOURCES += qdeclarativewebview.cpp plugin.cpp + HEADERS += qdeclarativewebview_p.h + +-CONFIG(QTDIR_build) { +- DESTDIR = $$QT_BUILD_TREE/imports/$$TARGETPATH +-} else { +- DESTDIR = $$OUTPUT_DIR/imports/$$TARGETPATH +-} ++DESTDIR = $$OUTPUT_DIR/imports/$$TARGETPATH + target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH + + +diff --git a/Source/WebKit/qt/docs/webkitsnippets/webelement/webelement.pro b/Source/WebKit/qt/docs/webkitsnippets/webelement/webelement.pro +index 8ca4b59..7d17749 100644 +--- a/Source/WebKit/qt/docs/webkitsnippets/webelement/webelement.pro ++++ b/Source/WebKit/qt/docs/webkitsnippets/webelement/webelement.pro +@@ -1,8 +1,6 @@ + TEMPLATE = app + CONFIG -= app_bundle +-CONFIG(QTDIR_build) { +- QT += webkit +-} ++QT += webkit + SOURCES = main.cpp + include(../../../../../WebKit.pri) + QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR +diff --git a/Source/WebKit/qt/tests/tests.pri b/Source/WebKit/qt/tests/tests.pri +index bb519eb..b526e06 100644 +--- a/Source/WebKit/qt/tests/tests.pri ++++ b/Source/WebKit/qt/tests/tests.pri +@@ -3,8 +3,7 @@ CONFIG -= app_bundle + + VPATH += $$_PRO_FILE_PWD_ + # Add the tst_ prefix, In QTDIR_build it's done by qttest_p4.prf +-CONFIG(QTDIR_build) { load(qttest_p4) } +-ELSE { TARGET = tst_$$TARGET } ++TARGET = tst_$$TARGET + + # Load mobilityconfig if Qt Mobility is available + load(mobilityconfig, true) +diff --git a/Tools/DumpRenderTree/qt/DumpRenderTree.pro b/Tools/DumpRenderTree/qt/DumpRenderTree.pro +index d84af96..92d7a67 100644 +--- a/Tools/DumpRenderTree/qt/DumpRenderTree.pro ++++ b/Tools/DumpRenderTree/qt/DumpRenderTree.pro +@@ -17,7 +17,7 @@ unix:!mac:!symbian { + PKGCONFIG += fontconfig + } + +-QT = core gui network testlib ++QT = core gui network testlib webkit + macx: QT += xml + + HEADERS = $$BASEDIR/WorkQueue.h \ +-- +1.7.3.1 + diff --git a/patches/qtwebkit/0004-Avoided-ASCII-cast-warnings-for-WebKit.patch b/patches/qtwebkit/0004-Avoided-ASCII-cast-warnings-for-WebKit.patch new file mode 100644 index 00000000..8314c516 --- /dev/null +++ b/patches/qtwebkit/0004-Avoided-ASCII-cast-warnings-for-WebKit.patch @@ -0,0 +1,31 @@ +From ec71d9e0ea77a0648eaf80d3f5b6eebe4e33628d Mon Sep 17 00:00:00 2001 +From: axis <qt-info@nokia.com> +Date: Thu, 17 Feb 2011 15:21:07 +0100 +Subject: [PATCH 4/7] Avoided ASCII-cast warnings for WebKit. + +Normally they won't be enabled anyway, but if you build webkit from +within the Qt qt5 repository it will pick up Qt's default build +settings, which do enable it. We need to disable them because +warnings are treated as errors and there are way too many of them in +the WebKit code. +--- + Source/WebKit/qt/QtWebKit.pro | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +diff --git a/Source/WebKit/qt/QtWebKit.pro b/Source/WebKit/qt/QtWebKit.pro +index e876f5b..f43c49a 100644 +--- a/Source/WebKit/qt/QtWebKit.pro ++++ b/Source/WebKit/qt/QtWebKit.pro +@@ -87,6 +87,9 @@ CONFIG(QTDIR_build) { + symbian: TARGET =$$TARGET$${QT_LIBINFIX} + } + ++# Avoid ASCII-cast warnings because Qt use them a lot and warnings are treated as errors. ++DEFINES -= QT_ASCII_CAST_WARNINGS ++ + symbian { + TARGET.EPOCALLOWDLLDATA=1 + # DRM and Allfiles capabilites need to be audited to be signed on Symbian +-- +1.7.2.2 + diff --git a/patches/qtwebkit/0005-Properly-detect-phonon-include-and-avoid-double-qtLi.patch b/patches/qtwebkit/0005-Properly-detect-phonon-include-and-avoid-double-qtLi.patch new file mode 100644 index 00000000..a218ff12 --- /dev/null +++ b/patches/qtwebkit/0005-Properly-detect-phonon-include-and-avoid-double-qtLi.patch @@ -0,0 +1,39 @@ +From 061e406697c5ab7d0daf5050e55217b2048c0fc5 Mon Sep 17 00:00:00 2001 +From: Marius Storm-Olsen <marius.storm-olsen@nokia.com> +Date: Tue, 15 Feb 2011 16:37:20 -0600 +Subject: [PATCH 5/7] Properly detect phonon include, and avoid double qtLibraryTarget() call + +--- + Source/WebCore/WebCore.pri | 2 +- + Source/WebKit/qt/QtWebKit.pro | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Source/WebCore/WebCore.pri b/Source/WebCore/WebCore.pri +index 4cbc003..704e1dd 100644 +--- a/Source/WebCore/WebCore.pri ++++ b/Source/WebCore/WebCore.pri +@@ -300,7 +300,7 @@ contains (CONFIG, text_breaking_with_icu) { + !CONFIG(QTDIR_build) { + win32-*|wince* { + DLLDESTDIR = $$OUTPUT_DIR/bin +- build_pass: TARGET = $$qtLibraryTarget($$TARGET) ++ isEmpty(QT_SOURCE_TREE):build_pass: TARGET = $$qtLibraryTarget($$TARGET) + + dlltarget.commands = $(COPY_FILE) $(DESTDIR_TARGET) $$[QT_INSTALL_BINS] + dlltarget.CONFIG = no_path +diff --git a/Source/WebKit/qt/QtWebKit.pro b/Source/WebKit/qt/QtWebKit.pro +index f43c49a..7f6943d 100644 +--- a/Source/WebKit/qt/QtWebKit.pro ++++ b/Source/WebKit/qt/QtWebKit.pro +@@ -441,7 +441,7 @@ contains(DEFINES, ENABLE_GEOLOCATION=1) { + + CONFIG += build_all + } else { +- debug_and_release:TARGET = $$qtLibraryTarget($$TARGET) ++ isEmpty(QT_SOURCE_TREE):debug_and_release:TARGET = $$qtLibraryTarget($$TARGET) + } + + CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework +-- +1.7.2.2 + diff --git a/patches/qtwebkit/0006-Fix-link-issues-on-Mac.patch b/patches/qtwebkit/0006-Fix-link-issues-on-Mac.patch new file mode 100644 index 00000000..6f0c37af --- /dev/null +++ b/patches/qtwebkit/0006-Fix-link-issues-on-Mac.patch @@ -0,0 +1,25 @@ +From c9f2e25cc1ed3b9928212a920343374d306b6b2e Mon Sep 17 00:00:00 2001 +From: Prasanth Ullattil <prasanth.ullattil@nokia.com> +Date: Fri, 18 Feb 2011 14:49:11 +0100 +Subject: [PATCH 6/7] Fix link issues on Mac + +--- + Source/WebKit/qt/QtWebKit.pro | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/Source/WebKit/qt/QtWebKit.pro b/Source/WebKit/qt/QtWebKit.pro +index 7f6943d..6b1354f 100644 +--- a/Source/WebKit/qt/QtWebKit.pro ++++ b/Source/WebKit/qt/QtWebKit.pro +@@ -451,7 +451,7 @@ contains(DEFINES, ENABLE_GEOLOCATION=1) { + QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS + } + +- QMAKE_LFLAGS_SONAME = "$${QMAKE_LFLAGS_SONAME}$${DESTDIR}$${QMAKE_DIR_SEP}" ++ !contains(QT_CONFIG, modular):QMAKE_LFLAGS_SONAME = "$${QMAKE_LFLAGS_SONAME}$${DESTDIR}$${QMAKE_DIR_SEP}" + } + } + +-- +1.7.2.2 + diff --git a/patches/qtwebkit/0007-Made-sure-that-qbase.pri-is-loaded-before-WebKit.pri.patch b/patches/qtwebkit/0007-Made-sure-that-qbase.pri-is-loaded-before-WebKit.pri.patch new file mode 100644 index 00000000..461dc7ee --- /dev/null +++ b/patches/qtwebkit/0007-Made-sure-that-qbase.pri-is-loaded-before-WebKit.pri.patch @@ -0,0 +1,46 @@ +From 9ae00b7dc7a23715ff91c01b99b7370a47148b17 Mon Sep 17 00:00:00 2001 +From: Prasanth Ullattil <prasanth.ullattil@nokia.com> +Date: Thu, 3 Mar 2011 16:08:52 +0100 +Subject: [PATCH] Made sure that qbase.pri is loaded before WebKit.pri. + +This is needed because WebKit.pri changes some of qbase.pri's +options. Updating the previous patch for the same. +--- + Source/WebKit/qt/QtWebKit.pro | 14 +++++++------- + 1 files changed, 7 insertions(+), 7 deletions(-) + +diff --git a/Source/WebKit/qt/QtWebKit.pro b/Source/WebKit/qt/QtWebKit.pro +index b4f953c..78ffee2 100644 +--- a/Source/WebKit/qt/QtWebKit.pro ++++ b/Source/WebKit/qt/QtWebKit.pro +@@ -25,6 +25,13 @@ CONFIG(standalone_package) { + isEmpty(WC_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = ../../WebKit2/generated + } + ++CONFIG(QTDIR_build) { ++ include($$QT_SOURCE_TREE/src/qbase.pri) ++} else { ++ DESTDIR = $$OUTPUT_DIR/lib ++ symbian: TARGET =$$TARGET$${QT_LIBINFIX} ++} ++ + include($$PWD/Api/headers.pri) + include($$SOURCE_DIR/WebKit.pri) + include($$SOURCE_DIR/JavaScriptCore/JavaScriptCore.pri) +@@ -75,13 +82,6 @@ CONFIG(release):!CONFIG(standalone_package) { + unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions + } + +-CONFIG(QTDIR_build) { +- include($$QT_SOURCE_TREE/src/qbase.pri) +-} else { +- DESTDIR = $$OUTPUT_DIR/lib +- symbian: TARGET =$$TARGET$${QT_LIBINFIX} +-} +- + # Avoid ASCII-cast warnings because Qt use them a lot and warnings are treated as errors. + DEFINES -= QT_ASCII_CAST_WARNINGS + +-- +1.7.3.1 + diff --git a/patches/qtwebkit/0008-WebCore-is-a-static-library-so-don-t-load-qt_module..patch b/patches/qtwebkit/0008-WebCore-is-a-static-library-so-don-t-load-qt_module..patch new file mode 100644 index 00000000..5b0b84d4 --- /dev/null +++ b/patches/qtwebkit/0008-WebCore-is-a-static-library-so-don-t-load-qt_module..patch @@ -0,0 +1,35 @@ +From 5d5eaaa52a740e32deba17413aaefd17e5ef8d0a Mon Sep 17 00:00:00 2001 +From: Prasanth Ullattil <prasanth.ullattil@nokia.com> +Date: Fri, 4 Mar 2011 12:20:14 +0100 +Subject: [PATCH] WebCore is a static library, so don't load qt_module.pri . + +--- + Source/WebCore/WebCore.pro | 2 +- + Source/WebKit/qt/QtWebKit.pro | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Source/WebCore/WebCore.pro b/Source/WebCore/WebCore.pro +index 83b5d00..458d6a2 100644 +--- a/Source/WebCore/WebCore.pro ++++ b/Source/WebCore/WebCore.pro +@@ -1,5 +1,5 @@ + # WebCore - qmake build info +-CONFIG += building-libs qt_module ++CONFIG += building-libs + CONFIG += depend_includepath + + isEmpty(OUTPUT_DIR): OUTPUT_DIR = .. +diff --git a/Source/WebKit/qt/QtWebKit.pro b/Source/WebKit/qt/QtWebKit.pro +index 78ffee2..e572641 100644 +--- a/Source/WebKit/qt/QtWebKit.pro ++++ b/Source/WebKit/qt/QtWebKit.pro +@@ -1,5 +1,5 @@ + # QtWebKit - qmake build info +-CONFIG += building-libs ++CONFIG += building-libs qt_module + CONFIG += depend_includepath + + TARGET = QtWebKit +-- +1.7.3.1 + diff --git a/patches/qtwebkit/0009-Removed-modular-references-after-support-for-the-fla.patch b/patches/qtwebkit/0009-Removed-modular-references-after-support-for-the-fla.patch new file mode 100644 index 00000000..ed50cd61 --- /dev/null +++ b/patches/qtwebkit/0009-Removed-modular-references-after-support-for-the-fla.patch @@ -0,0 +1,34 @@ +From 6a2054424bc670339117024a9800fe556d538438 Mon Sep 17 00:00:00 2001 +From: axis <qt-info@nokia.com> +Date: Mon, 7 Mar 2011 16:14:39 +0100 +Subject: [PATCH] Removed modular references after support for the flag was removed. + +Support was removed because the Qt Modularization project decided we +don't need it. It's better to base decisions on the available +information, as demonstrated in the patch by checking +QT.phonon.includes. + +In addition, remove the reference to uitools. It has been moved to +QtBase now, and therefore is always available. +--- + Source/WebKit.pri | 4 +--- + 1 files changed, 1 insertions(+), 3 deletions(-) + +diff --git a/Source/WebKit.pri b/Source/WebKit.pri +index 8785496..90ae6fd 100644 +--- a/Source/WebKit.pri ++++ b/Source/WebKit.pri +@@ -134,9 +134,7 @@ symbian|maemo5|maemo6 { + + #### + +-contains(QT_CONFIG, modular):!contains(QT_CONFIG, uitools)|disable_uitools: DEFINES *= QT_NO_UITOOLS +- +-!contains(QT_CONFIG, modular) { ++isEmpty(QT.phonon.includes) { + QT.phonon.includes = $$QMAKE_INCDIR_QT/phonon + QT.phonon.libs = $$QMAKE_LIBDIR_QT + } +-- +1.7.2.2 + diff --git a/patches/qtwebkit/0010-Install-correct-header-files-for-webkit.patch b/patches/qtwebkit/0010-Install-correct-header-files-for-webkit.patch new file mode 100644 index 00000000..7d079a77 --- /dev/null +++ b/patches/qtwebkit/0010-Install-correct-header-files-for-webkit.patch @@ -0,0 +1,133 @@ +From aa0ff43fefd1fa748b1f30cad182e45e51cca756 Mon Sep 17 00:00:00 2001 +From: Prasanth Ullattil <prasanth.ullattil@nokia.com> +Date: Thu, 10 Mar 2011 18:44:09 +0100 +Subject: [PATCH] Install correct header files for webkit + +--- + Source/WebKit/qt/QtWebKit.pro | 90 ++++++++++++++++++++--------------------- + Source/sync.profile | 1 + + 2 files changed, 45 insertions(+), 46 deletions(-) + +diff --git a/Source/WebKit/qt/QtWebKit.pro b/Source/WebKit/qt/QtWebKit.pro +index e572641..d38ddbd 100644 +--- a/Source/WebKit/qt/QtWebKit.pro ++++ b/Source/WebKit/qt/QtWebKit.pro +@@ -260,64 +260,62 @@ contains(DEFINES, ENABLE_GEOLOCATION=1) { + QMAKE_EXTRA_TARGETS += install + } + +-!CONFIG(QTDIR_build) { +- exists($$OUTPUT_DIR/include/QtWebKit/classheaders.pri): include($$OUTPUT_DIR/include/QtWebKit/classheaders.pri) +- WEBKIT_INSTALL_HEADERS = $$WEBKIT_API_HEADERS $$WEBKIT_CLASS_HEADERS ++exists($$OUTPUT_DIR/include/QtWebKit/classheaders.pri): include($$OUTPUT_DIR/include/QtWebKit/classheaders.pri) ++WEBKIT_INSTALL_HEADERS = $$WEBKIT_API_HEADERS $$WEBKIT_CLASS_HEADERS + +- !symbian-abld:!symbian-sbsv2 { +- headers.files = $$WEBKIT_INSTALL_HEADERS ++!symbian-abld:!symbian-sbsv2 { ++ headers.files = $$WEBKIT_INSTALL_HEADERS + +- !isEmpty(INSTALL_HEADERS): headers.path = $$INSTALL_HEADERS/QtWebKit +- else: headers.path = $$[QT_INSTALL_HEADERS]/QtWebKit ++ !isEmpty(INSTALL_HEADERS): headers.path = $$INSTALL_HEADERS/QtWebKit ++ else: headers.path = $$[QT_INSTALL_HEADERS]/QtWebKit + +- !isEmpty(INSTALL_LIBS): target.path = $$INSTALL_LIBS +- else: target.path = $$[QT_INSTALL_LIBS] ++ !isEmpty(INSTALL_LIBS): target.path = $$INSTALL_LIBS ++ else: target.path = $$[QT_INSTALL_LIBS] + +- INSTALLS += target headers +- } else { +- # INSTALLS is not implemented in qmake's mmp generators, copy headers manually +- inst_headers.commands = $$QMAKE_COPY ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT} +- inst_headers.input = WEBKIT_INSTALL_HEADERS +- inst_headers.CONFIG = no_clean ++ INSTALLS += target headers ++} else { ++ # INSTALLS is not implemented in qmake's mmp generators, copy headers manually ++ inst_headers.commands = $$QMAKE_COPY ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT} ++ inst_headers.input = WEBKIT_INSTALL_HEADERS ++ inst_headers.CONFIG = no_clean + +- !isEmpty(INSTALL_HEADERS): inst_headers.output = $$INSTALL_HEADERS/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT} +- else: inst_headers.output = $$[QT_INSTALL_HEADERS]/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT} ++ !isEmpty(INSTALL_HEADERS): inst_headers.output = $$INSTALL_HEADERS/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT} ++ else: inst_headers.output = $$[QT_INSTALL_HEADERS]/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT} + +- QMAKE_EXTRA_COMPILERS += inst_headers ++ QMAKE_EXTRA_COMPILERS += inst_headers + +- install.depends += compiler_inst_headers_make_all +- } ++ install.depends += compiler_inst_headers_make_all ++} + +- unix { +- CONFIG += create_pc create_prl +- QMAKE_PKGCONFIG_LIBDIR = $$target.path +- QMAKE_PKGCONFIG_INCDIR = $$headers.path +- QMAKE_PKGCONFIG_DESTDIR = pkgconfig +- lib_replace.match = $$re_escape($$DESTDIR) +- lib_replace.replace = $$[QT_INSTALL_LIBS] +- QMAKE_PKGCONFIG_INSTALL_REPLACE += lib_replace +- } ++unix { ++ CONFIG += create_pc create_prl ++ QMAKE_PKGCONFIG_LIBDIR = $$target.path ++ QMAKE_PKGCONFIG_INCDIR = $$headers.path ++ QMAKE_PKGCONFIG_DESTDIR = pkgconfig ++ lib_replace.match = $$re_escape($$DESTDIR) ++ lib_replace.replace = $$[QT_INSTALL_LIBS] ++ QMAKE_PKGCONFIG_INSTALL_REPLACE += lib_replace ++} ++ ++mac { ++ !static:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework) { ++ !build_pass { ++ message("Building QtWebKit as a framework, as that's how Qt was built. You can") ++ message("override this by passing CONFIG+=webkit_no_framework to build-webkit.") + +- mac { +- !static:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework) { +- !build_pass { +- message("Building QtWebKit as a framework, as that's how Qt was built. You can") +- message("override this by passing CONFIG+=webkit_no_framework to build-webkit.") +- +- CONFIG += build_all +- } else { +- isEmpty(QT_SOURCE_TREE):debug_and_release:TARGET = $$qtLibraryTarget($$TARGET) +- } +- +- CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework +- FRAMEWORK_HEADERS.version = Versions +- FRAMEWORK_HEADERS.files = $${headers.files} +- FRAMEWORK_HEADERS.path = Headers +- QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS ++ CONFIG += build_all ++ } else { ++ isEmpty(QT_SOURCE_TREE):debug_and_release:TARGET = $$qtLibraryTarget($$TARGET) + } + +- !contains(QT_CONFIG, modular):QMAKE_LFLAGS_SONAME = "$${QMAKE_LFLAGS_SONAME}$${DESTDIR}$${QMAKE_DIR_SEP}" ++ CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework ++ FRAMEWORK_HEADERS.version = Versions ++ FRAMEWORK_HEADERS.files = $${headers.files} ++ FRAMEWORK_HEADERS.path = Headers ++ QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS + } ++ ++ !contains(QT_CONFIG, modular):QMAKE_LFLAGS_SONAME = "$${QMAKE_LFLAGS_SONAME}$${DESTDIR}$${QMAKE_DIR_SEP}" + } + + symbian { +diff --git a/Source/sync.profile b/Source/sync.profile +index f8177ec..5991607 100644 +--- a/Source/sync.profile ++++ b/Source/sync.profile +@@ -15,1 +15,2 @@ + ); ++@ignore_for_master_contents = ( "qwebscriptworld.h" ); +-- +1.7.4.2.g597a6 + diff --git a/patches/qtwebkit/0011-Remove-the-reference-to-modular-for-install_name-fla.patch b/patches/qtwebkit/0011-Remove-the-reference-to-modular-for-install_name-fla.patch new file mode 100644 index 00000000..634952f1 --- /dev/null +++ b/patches/qtwebkit/0011-Remove-the-reference-to-modular-for-install_name-fla.patch @@ -0,0 +1,29 @@ +From 32f4532d214af8eb833965b042135878c083df68 Mon Sep 17 00:00:00 2001 +From: Prasanth Ullattil <prasanth.ullattil@nokia.com> +Date: Tue, 15 Mar 2011 11:15:05 +0100 +Subject: [PATCH] Remove the reference to modular for install_name flag + +The install_name change for mac is now disabled. At least in the +modularized version of Qt the path used for install_name is correctly +set. We need to discuss this with the WebKit team before we forward +the patch. +--- + Source/WebKit/qt/QtWebKit.pro | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/Source/WebKit/qt/QtWebKit.pro b/Source/WebKit/qt/QtWebKit.pro +index d38ddbd..21715f7 100644 +--- a/Source/WebKit/qt/QtWebKit.pro ++++ b/Source/WebKit/qt/QtWebKit.pro +@@ -315,7 +315,7 @@ mac { + QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS + } + +- !contains(QT_CONFIG, modular):QMAKE_LFLAGS_SONAME = "$${QMAKE_LFLAGS_SONAME}$${DESTDIR}$${QMAKE_DIR_SEP}" ++ #!contains(QT_CONFIG, modular):QMAKE_LFLAGS_SONAME = "$${QMAKE_LFLAGS_SONAME}$${DESTDIR}$${QMAKE_DIR_SEP}" + } + + symbian { +-- +1.7.3.1 + diff --git a/patches/qtwebkit/0012-Switched-to-using-QT.webkit.imports-variable.patch b/patches/qtwebkit/0012-Switched-to-using-QT.webkit.imports-variable.patch new file mode 100644 index 00000000..11ea996a --- /dev/null +++ b/patches/qtwebkit/0012-Switched-to-using-QT.webkit.imports-variable.patch @@ -0,0 +1,62 @@ +From c1dd2df8a12c19f1cdca0fabc434ef548ced2a74 Mon Sep 17 00:00:00 2001 +From: axis <qt-info@nokia.com> +Date: Thu, 17 Mar 2011 11:17:20 +0100 +Subject: [PATCH] Switched to using QT.webkit.imports variable. + +This is required for modularized Qt. +--- + Source/WebKit/qt/QtWebKit.pro | 2 +- + Source/WebKit/qt/declarative/declarative.pro | 4 ++-- + Source/WebKit/qt/qt_webkit_version.pri | 1 + + 3 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Source/WebKit/qt/QtWebKit.pro b/Source/WebKit/qt/QtWebKit.pro +index e572641..7b36e51 100644 +--- a/Source/WebKit/qt/QtWebKit.pro ++++ b/Source/WebKit/qt/QtWebKit.pro +@@ -119,7 +119,7 @@ symbian { + webkitbackup.path = /private/10202D56/import/packages/$$replace(TARGET.UID3, 0x,) + + contains(QT_CONFIG, declarative) { +- declarativeImport.sources = $$QT_BUILD_TREE/imports/QtWebKit/qmlwebkitplugin$${QT_LIBINFIX}.dll ++ declarativeImport.sources = $$QT.webkit.imports/QtWebKit/qmlwebkitplugin$${QT_LIBINFIX}.dll + declarativeImport.sources += declarative/qmldir + declarativeImport.path = c:$$QT_IMPORTS_BASE_DIR/QtWebKit + DEPLOYMENT += declarativeImport +diff --git a/Source/WebKit/qt/declarative/declarative.pro b/Source/WebKit/qt/declarative/declarative.pro +index 1f084b7..96dd247 100644 +--- a/Source/WebKit/qt/declarative/declarative.pro ++++ b/Source/WebKit/qt/declarative/declarative.pro +@@ -10,7 +10,7 @@ isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../.. + + QMLDIRFILE = $${_PRO_FILE_PWD_}/qmldir + copy2build.input = QMLDIRFILE +-copy2build.output = $$OUTPUT_DIR/imports/$$TARGETPATH/qmldir ++copy2build.output = $$QT.webkit.imports/$$TARGETPATH/qmldir + !contains(TEMPLATE_PREFIX, vc):copy2build.variable_out = PRE_TARGETDEPS + copy2build.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT} + copy2build.name = COPY ${QMAKE_FILE_IN} +@@ -51,7 +51,7 @@ QT += declarative + SOURCES += qdeclarativewebview.cpp plugin.cpp + HEADERS += qdeclarativewebview_p.h + +-DESTDIR = $$OUTPUT_DIR/imports/$$TARGETPATH ++DESTDIR = $$QT.webkit.imports/$$TARGETPATH + target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH + + +diff --git a/Source/WebKit/qt/qt_webkit_version.pri b/Source/WebKit/qt/qt_webkit_version.pri +index 9f6ba20..e3948c8 100644 +--- a/Source/WebKit/qt/qt_webkit_version.pri ++++ b/Source/WebKit/qt/qt_webkit_version.pri +@@ -7,6 +7,7 @@ QT.webkit.name = QtWebKit + QT.webkit.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtWebKit + QT.webkit.sources = $$QT_MODULE_BASE + QT.webkit.libs = $$QT_MODULE_LIB_BASE ++QT.webkit.imports = $$QT_MODULE_IMPORT_BASE + QT.webkit.depends = core gui opengl network xmlpatterns script phonon + + !contains(QT_CONFIG, modular)|contains(QT_ELIGIBLE_MODULES, webkit) { +-- +1.7.3.4 + diff --git a/patches/qtwebkit/0013-QtWebKit-Windows-Link-with-Advapi32.patch b/patches/qtwebkit/0013-QtWebKit-Windows-Link-with-Advapi32.patch new file mode 100644 index 00000000..501fbde6 --- /dev/null +++ b/patches/qtwebkit/0013-QtWebKit-Windows-Link-with-Advapi32.patch @@ -0,0 +1,56 @@ +From 5f596aa0ee1ff1d5afe34bbbea8de9c0a790d51b Mon Sep 17 00:00:00 2001 +From: Marius Storm-Olsen <marius.storm-olsen@nokia.com> +Date: Tue, 22 Mar 2011 16:12:33 -0500 +Subject: [PATCH] QtWebKit/Windows: Link with Advapi32 + +OSRandomSource.cpp uses + CryptAcquireContext + CryptGenRandom + CryptReleaseContext +which requires symbols from the Advapi32 library on Windows. +--- + Source/JavaScriptCore/jsc.pro | 3 +++ + Source/WebCore/WebCore.pri | 4 +--- + 2 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Source/JavaScriptCore/jsc.pro b/Source/JavaScriptCore/jsc.pro +index a550c48..f265700 100644 +--- a/Source/JavaScriptCore/jsc.pro ++++ b/Source/JavaScriptCore/jsc.pro +@@ -31,6 +31,9 @@ wince* { + LIBS += mmtimer.lib + } + ++# for APIs used in wtf/OSRandomSource.cpp ++win32*:LIBS += -ladvapi32 ++ + # Prevent warnings about difference in visibility on Mac OS X + contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols + unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions +diff --git a/Source/WebCore/WebCore.pri b/Source/WebCore/WebCore.pri +index ba902f7..9cd4a8f 100644 +--- a/Source/WebCore/WebCore.pri ++++ b/Source/WebCore/WebCore.pri +@@ -210,11 +210,8 @@ contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) { + } + win32-* { + LIBS += \ +- -ladvapi32 \ +- -lgdi32 \ + -lshell32 \ + -lshlwapi \ +- -luser32 \ + -lversion + } + } +@@ -306,6 +303,7 @@ contains (CONFIG, text_breaking_with_icu) { + } + + win32-* { ++ LIBS += -ladvapi32 + LIBS += -lgdi32 + LIBS += -lole32 + LIBS += -luser32 +-- +1.7.2.3.msysgit.0.311.gb27be + diff --git a/patches/qtwebkit/0014-QtWebKit-Windows-Use-jom-instead-of-nmake-if-present.patch b/patches/qtwebkit/0014-QtWebKit-Windows-Use-jom-instead-of-nmake-if-present.patch new file mode 100644 index 00000000..91727468 --- /dev/null +++ b/patches/qtwebkit/0014-QtWebKit-Windows-Use-jom-instead-of-nmake-if-present.patch @@ -0,0 +1,57 @@ +From 845b4a908ee0c3f2467b797046bfcc3f834641b8 Mon Sep 17 00:00:00 2001 +From: Marius Storm-Olsen <marius.storm-olsen@nokia.com> +Date: Tue, 22 Mar 2011 16:17:10 -0500 +Subject: [PATCH] QtWebKit/Windows: Use jom instead of nmake, if present + +Detect if jom.exe is in the PATH. If so, use Jom instead of +nmake to compile, since Jom supports building on several cores. + +Had to roll out own find_exe function, since File::Which doesn't +seem to be installed by default on certain Linux systems. +--- + Tools/Scripts/webkitdirs.pm | 15 ++++++++++++++- + 1 files changed, 14 insertions(+), 1 deletions(-) + +diff --git a/Tools/Scripts/webkitdirs.pm b/Tools/Scripts/webkitdirs.pm +index 1820f1e..8a5a03e 100644 +--- a/Tools/Scripts/webkitdirs.pm ++++ b/Tools/Scripts/webkitdirs.pm +@@ -1345,6 +1345,18 @@ sub retrieveQMakespecVar + return $varvalue; + } + ++sub find_exe { ++ my ($exe) = @_; ++ return if (!defined($exe)); ++ my @paths = split(/;/, $ENV{"PATH"}); ++ foreach my $path (@paths) { ++ $path =~ s/\\$//g; ++ $path =~ s/\\/\//g; ++ my $file = $path . '/' . $exe; ++ return $file if ((-e $file) && (-f $file)); ++ } ++} ++ + sub qtMakeCommand($) + { + my ($qmakebin) = @_; +@@ -1356,6 +1368,7 @@ sub qtMakeCommand($) + #print "compiler found: " . $compiler . "\n"; + + if ($compiler && $compiler eq "cl") { ++ return "jom" if(find_exe('jom.exe')); + return "nmake"; + } + +@@ -1640,7 +1653,7 @@ sub buildQMakeProject($@) + for my $subdir (@subdirs) { + my $dsMakefile = "Makefile.DerivedSources"; + print "Calling '$make $makeargs -C $subdir -f $dsMakefile generated_files' in " . $dir . "/$subdir\n\n"; +- if ($make eq "nmake") { ++ if ($make eq "nmake" || $make eq "jom") { + my $subdirWindows = $subdir; + $subdirWindows =~ s:/:\\:g; + $result = system "pushd $subdirWindows && $make $makeargs -f $dsMakefile generated_files && popd"; +-- +1.7.2.3.msysgit.0.311.gb27be + diff --git a/patches/qtwebkit/0015-Disable-QMAKE_BUNDLE_DATA-the-webkit-project-file.patch b/patches/qtwebkit/0015-Disable-QMAKE_BUNDLE_DATA-the-webkit-project-file.patch new file mode 100644 index 00000000..6438cc9c --- /dev/null +++ b/patches/qtwebkit/0015-Disable-QMAKE_BUNDLE_DATA-the-webkit-project-file.patch @@ -0,0 +1,30 @@ +From 95d05245c8da84ee385e57d53f35f907cb2d87c1 Mon Sep 17 00:00:00 2001 +From: Prasanth Ullattil <prasanth.ullattil@nokia.com> +Date: Fri, 25 Mar 2011 10:53:16 +0100 +Subject: [PATCH] Disable QMAKE_BUNDLE_DATA the webkit project file + +QMAKE_BUNDLE_DATA in QtWebKit.pro seems to add the rules for Headers +inside the Framework in both Debug and Release Makefiles. The +variable already gets set through qbase.pri. After this, the rule +is created only in the Release Makefile. Not sure whether this should +go upstream. +--- + Source/WebKit/qt/QtWebKit.pro | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/Source/WebKit/qt/QtWebKit.pro b/Source/WebKit/qt/QtWebKit.pro +index 21715f7..646b77d 100644 +--- a/Source/WebKit/qt/QtWebKit.pro ++++ b/Source/WebKit/qt/QtWebKit.pro +@@ -312,7 +312,7 @@ mac { + FRAMEWORK_HEADERS.version = Versions + FRAMEWORK_HEADERS.files = $${headers.files} + FRAMEWORK_HEADERS.path = Headers +- QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS ++ #QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS + } + + #!contains(QT_CONFIG, modular):QMAKE_LFLAGS_SONAME = "$${QMAKE_LFLAGS_SONAME}$${DESTDIR}$${QMAKE_DIR_SEP}" +-- +1.7.3.1 + |