2011-02-22 Andras Becsi <abecsi@webkit.org>
authorabecsi@webkit.org <abecsi@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 Feb 2011 15:14:57 +0000 (15:14 +0000)
committerabecsi@webkit.org <abecsi@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 22 Feb 2011 15:14:57 +0000 (15:14 +0000)
        Reviewed by Laszlo Gombos.

        [Qt] Redesign the build system
        https://bugs.webkit.org/show_bug.cgi?id=51339

        Part 2.

        Build WebCore as a static library, compile the WebKit API and WebKit2 API
        in a final step and link to WebKit2, WebCore and JSC libraries to fix
        linking issues resulting from stripped away symbols.

        * Source/WebKit.pri: Add common include paths
        * Source/WebKit.pro: Add new project file to SUBDIRS
2011-02-22  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Laszlo Gombos.

        [Qt] Redesign the build system
        https://bugs.webkit.org/show_bug.cgi?id=51339

        Part 2.

        Build WebCore as a static library, compile the WebKit API and WebKit2 API
        in a final step and link to WebKit2, WebCore and JSC libraries to fix
        linking issues resulting from stripped away symbols.

        * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: Remove superfluous includepaths.
2011-02-22  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Laszlo Gombos.

        [Qt] Redesign the build system
        https://bugs.webkit.org/show_bug.cgi?id=51339

        Part 2.

        Build WebCore as a static library, compile the WebKit API and WebKit2 API
        in a final step and link to WebKit2, WebCore and JSC libraries to fix
        linking issues resulting from stripped away symbols.

        * JavaScriptCore.pri: Remove the workaround.
2011-02-22  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Laszlo Gombos.

        [Qt] Redesign the build system
        https://bugs.webkit.org/show_bug.cgi?id=51339

        Part 2.

        Build WebCore as a static library, compile the WebKit API and WebKit2 API
        in a final step and link to WebKit2, WebCore and JSC libraries to fix
        linking issues resulting from stripped away symbols.

        * QtWebKit.pro: Added.
        Project file for the final build step.
2011-02-22  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Laszlo Gombos.

        [Qt] Redesign the build system
        https://bugs.webkit.org/show_bug.cgi?id=51339

        Part 2.

        Build WebCore as a static library, compile the WebKit API and WebKit2 API
        in a final step and link to WebKit2, WebCore and JSC libraries to fix
        linking issues resulting from stripped away symbols.

        No new tests needed.

        * WebCore.pri: Add needed rules for handling the static library.
        * WebCore.pro: Reorganize API and linker options to QtWebKit.pro.
2011-02-22  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Laszlo Gombos.

        [Qt] Redesign the build system
        https://bugs.webkit.org/show_bug.cgi?id=51339

        Part 2.

        Build WebCore as a static library, compile the WebKit API and WebKit2 API
        in a final step and link to WebKit2, WebCore and JSC libraries to fix
        linking issues resulting from stripped away symbols.

        * WebKit2.pri: Add include paths.
        * WebKit2.pro: Move include paths to WebKit2.pri and move
        the API source to WebKit/qt/QtWebKit.pro

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@79320 268f45cc-cd09-0410-ab3c-d52691b4dbfc

15 files changed:
ChangeLog
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/JavaScriptCore.pri
Source/WebCore/ChangeLog
Source/WebCore/WebCore.pri
Source/WebCore/WebCore.pro
Source/WebKit.pri
Source/WebKit.pro
Source/WebKit/qt/ChangeLog
Source/WebKit/qt/QtWebKit.pro [new file with mode: 0644]
Source/WebKit2/ChangeLog
Source/WebKit2/WebKit2.pri
Source/WebKit2/WebKit2.pro
Tools/ChangeLog
Tools/WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro

index 7d520f8..1d3e85c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2011-02-22  Andras Becsi  <abecsi@webkit.org>
+
+        Reviewed by Laszlo Gombos.
+
+        [Qt] Redesign the build system
+        https://bugs.webkit.org/show_bug.cgi?id=51339
+
+        Part 2.
+
+        Build WebCore as a static library, compile the WebKit API and WebKit2 API
+        in a final step and link to WebKit2, WebCore and JSC libraries to fix
+        linking issues resulting from stripped away symbols.
+
+        * Source/WebKit.pri: Add common include paths
+        * Source/WebKit.pro: Add new project file to SUBDIRS
+
 2011-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         Reviewed by Martin Robinson.
index 9452858..7bfa1a7 100644 (file)
@@ -1,3 +1,18 @@
+2011-02-22  Andras Becsi  <abecsi@webkit.org>
+
+        Reviewed by Laszlo Gombos.
+
+        [Qt] Redesign the build system
+        https://bugs.webkit.org/show_bug.cgi?id=51339
+
+        Part 2.
+
+        Build WebCore as a static library, compile the WebKit API and WebKit2 API
+        in a final step and link to WebKit2, WebCore and JSC libraries to fix
+        linking issues resulting from stripped away symbols.
+
+        * JavaScriptCore.pri: Remove the workaround.
+
 2011-02-21  Adam Roben  <aroben@apple.com>
 
         Fix linker warning on Windows
index d34e780..80bfaa6 100644 (file)
@@ -88,13 +88,7 @@ defineTest(addJavaScriptCoreLib) {
         # Make sure jscore will be early in the list of libraries to workaround a bug in MinGW
         # that can't resolve symbols from QtCore if libjscore comes after.
         QMAKE_LIBDIR = $$pathToJavaScriptCoreOutput $$QMAKE_LIBDIR
-        webkit2 {
-            # FIXME Workaround for undefined reference linking issues until the build system gets redesigned
-            mac: LIBS += -Wl,-all_load -l$$JAVASCRIPTCORE_TARGET -WL,-noall_load 
-            else: LIBS += -Wl,-whole-archive -l$$JAVASCRIPTCORE_TARGET -Wl,-no-whole-archive
-        } else {
-            LIBS += -l$$JAVASCRIPTCORE_TARGET
-        }
+        LIBS += -l$$JAVASCRIPTCORE_TARGET
         POST_TARGETDEPS += $${pathToJavaScriptCoreOutput}$${QMAKE_DIR_SEP}lib$${JAVASCRIPTCORE_TARGET}.a
     }
 
index 6e234eb..813c412 100644 (file)
@@ -1,3 +1,21 @@
+2011-02-22  Andras Becsi  <abecsi@webkit.org>
+
+        Reviewed by Laszlo Gombos.
+
+        [Qt] Redesign the build system
+        https://bugs.webkit.org/show_bug.cgi?id=51339
+
+        Part 2.
+
+        Build WebCore as a static library, compile the WebKit API and WebKit2 API
+        in a final step and link to WebKit2, WebCore and JSC libraries to fix
+        linking issues resulting from stripped away symbols.
+
+        No new tests needed.
+
+        * WebCore.pri: Add needed rules for handling the static library.
+        * WebCore.pro: Reorganize API and linker options to QtWebKit.pro.
+
 2011-02-22  Pavel Podivilov  <podivilov@chromium.org>
 
         Reviewed by Pavel Feldman.
index 3385f48..d64201a 100644 (file)
@@ -3,15 +3,28 @@
 include(../common.pri)
 include(features.pri)
 
+# Uncomment this to enable Texture Mapper.
+# CONFIG += texmap
+
+QT *= network
+
 SOURCE_DIR = $$replace(PWD, /WebCore, "")
 
+# Use a config-specific target to prevent parallel builds file clashes on Mac
+mac: CONFIG(debug, debug|release): WEBCORE_TARGET = webcored
+else: WEBCORE_TARGET = webcore
+
+# Output in WebCore/<config>
+CONFIG(debug, debug|release) : WEBCORE_DESTDIR = debug
+else: WEBCORE_DESTDIR = release
+
 CONFIG(standalone_package) {
-    isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = $$PWD/generated
+    isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = $$PWD/../WebCore/generated
     isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = $$PWD/../JavaScriptCore/generated
 
     PRECOMPILED_HEADER = $$PWD/../WebKit/qt/WebKit_pch.h
 } else {
-    isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = generated
+    isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = ../WebCore/generated
     isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = ../JavaScriptCore/generated
 
     !CONFIG(release, debug|release) {
@@ -19,19 +32,8 @@ CONFIG(standalone_package) {
     } else { # Release
         OBJECTS_DIR = obj/release
     }
-
 }
 
-# On Symbian PREPEND_INCLUDEPATH is the best way to make sure that WebKit headers
-# are included before platform headers.
-symbian {
-    PREPEND_INCLUDEPATH = $$WC_GENERATED_SOURCES_DIR $$PREPEND_INCLUDEPATH
-} else {
-    INCLUDEPATH = $$WC_GENERATED_SOURCES_DIR $$INCLUDEPATH
-}
-
-QT += network
-
 V8_DIR = "$$[QT_INSTALL_PREFIX]/src/3rdparty/v8"
 
 v8:!exists($${V8_DIR}/include/v8.h) {
@@ -130,15 +132,154 @@ WEBCORE_INCLUDEPATH = \
     $$SOURCE_DIR/WebKit/qt/WebCoreSupport \
     $$WEBCORE_INCLUDEPATH
 
+# On Symbian PREPEND_INCLUDEPATH is the best way to make sure that WebKit headers
+# are included before platform headers.
 symbian {
-    PREPEND_INCLUDEPATH = $$WEBCORE_INCLUDEPATH $$PREPEND_INCLUDEPATH
+    PREPEND_INCLUDEPATH = $$WEBCORE_INCLUDEPATH $$WC_GENERATED_SOURCES_DIR $$PREPEND_INCLUDEPATH
 } else {
+    INCLUDEPATH = $$WEBCORE_INCLUDEPATH $$WC_GENERATED_SOURCES_DIR $$INCLUDEPATH
+}
+
+symbian {
+    v8 {
+        webkitlibs.sources += v8.dll
+        QMAKE_CXXFLAGS.ARMCC += -OTime -O3
+        QMAKE_CXXFLAGS.ARMCC += --fpu softvfp+vfpv2 --fpmode fast
+    }
+
+    symbian-abld|symbian-sbsv2 {
+        # RO text (code) section in qtwebkit.dll exceeds allocated space for gcce udeb target.
+        # Move RW-section base address to start from 0xE00000 instead of the toolchain default 0x400000.
+        QMAKE_LFLAGS.ARMCC += --rw-base 0xE00000
+        MMP_RULES += ALWAYS_BUILD_AS_ARM
+    }  else {
+        QMAKE_CFLAGS -= --thumb
+        QMAKE_CXXFLAGS -= --thumb
+    }
+
+    CONFIG(release, debug|release): QMAKE_CXXFLAGS.ARMCC += -OTime -O3
+
+    !CONFIG(production):CONFIG-=def_files
+}
+
+contains(DEFINES, ENABLE_XSLT=1) {
+    QT *= xmlpatterns
+}
+
+contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) {
+    unix:!symbian {
+        mac {
+            INCLUDEPATH += platform/mac
+            # Note: XP_MACOSX is defined in npapi.h
+        } else {
+            maemo5 {
+                DEFINES += MOZ_PLATFORM_MAEMO=5
+            }
+            contains(DEFINES, Q_WS_MAEMO_6) {
+                DEFINES += MOZ_PLATFORM_MAEMO=6
+            }
+            DEFINES += XP_UNIX
+            DEFINES += ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE=1
+        }
+    }
+}
+
+contains(DEFINES, ENABLE_GEOLOCATION=1) {
+    CONFIG *= mobility
+    MOBILITY *= location
+}
+
+contains(DEFINES, ENABLE_DEVICE_ORIENTATION=1) {
+    CONFIG *= mobility
+    MOBILITY *= sensors
+}
+
+contains(DEFINES, ENABLE_QT_BEARER=1) {
+    # Bearer management is part of Qt 4.7, so don't accidentially
+    # pull in Qt Mobility when building against >= 4.7
+    !greaterThan(QT_MINOR_VERSION, 6) {
+        CONFIG *= mobility
+        MOBILITY *= bearer
+    }
+}
+
+contains(DEFINES, ENABLE_VIDEO=1) {
+    contains(DEFINES, USE_GSTREAMER=1) {
+        DEFINES += WTF_USE_GSTREAMER=1
+        DEFINES += ENABLE_GLIB_SUPPORT=1
+
+        INCLUDEPATH += $$PWD/platform/graphics/gstreamer
+
+        PKGCONFIG += glib-2.0 gio-2.0 gstreamer-0.10 gstreamer-app-0.10 gstreamer-base-0.10 gstreamer-interfaces-0.10 gstreamer-pbutils-0.10 gstreamer-plugins-base-0.10 gstreamer-video-0.10
+    } else:contains(MOBILITY_CONFIG, multimedia) {
+        CONFIG   *= mobility
+        MOBILITY *= multimedia
+        DEFINES  += WTF_USE_QT_MULTIMEDIA=1
+    } else:contains(QT_CONFIG, phonon) {
+        # Add phonon manually to prevent it from coming first in
+        # the include paths, as Phonon's path.h conflicts with
+        # WebCore's Path.h on case-insensitive filesystems.
+        qtAddLibrary(phonon)
+        INCLUDEPATH -= $$QT.phonon.includes
+        INCLUDEPATH += $$QT.phonon.includes
+        mac {
+            INCLUDEPATH -= $$QT.phonon.libs/phonon.framework/Headers
+            INCLUDEPATH += $$QT.phonon.libs/phonon.framework/Headers
+        }
+    }
+}
 
-    INCLUDEPATH = $$WEBCORE_INCLUDEPATH $$INCLUDEPATH
+contains(DEFINES, ENABLE_WEBGL=1)|contains(CONFIG, texmap) {
+    !contains(QT_CONFIG, opengl) {
+        error( "This configuration needs an OpenGL enabled Qt. Your Qt is missing OpenGL.")
+    }
+    QT *= opengl
 }
 
 contains(QT_CONFIG, qpa):CONFIG += embedded
 
+!CONFIG(webkit-debug):CONFIG(QTDIR_build) {
+    # Remove the following 2 lines if you want debug information in WebCore
+    CONFIG -= separate_debug_info
+    CONFIG += no_debug_info
+}
+
+unix:!mac:*-g++*:QMAKE_CXXFLAGS += -ffunction-sections -fdata-sections
+unix:!mac:*-g++*:QMAKE_LFLAGS += -Wl,--gc-sections
+linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
+
+unix:!mac:!symbian:CONFIG += link_pkgconfig
+
+# Disable C++0x mode in WebCore for those who enabled it in their Qt's mkspec
+*-g++*:QMAKE_CXXFLAGS -= -std=c++0x -std=gnu++0x
+
+# Remove whole program optimizations due to miscompilations
+win32-msvc2005|win32-msvc2008|wince*:{
+    QMAKE_CFLAGS_RELEASE -= -GL
+    QMAKE_CXXFLAGS_RELEASE -= -GL
+
+    # Disable incremental linking for windows 32bit OS debug build as WebKit is so big
+    # that linker failes to link incrementally in debug mode.
+    ARCH = $$(PROCESSOR_ARCHITECTURE)
+    WOW64ARCH = $$(PROCESSOR_ARCHITEW6432)
+    equals(ARCH, x86):{
+        isEmpty(WOW64ARCH): QMAKE_LFLAGS_DEBUG += /INCREMENTAL:NO
+    }
+}
+
 enable_fast_mobile_scrolling: DEFINES += ENABLE_FAST_MOBILE_SCROLLING=1
 
 use_qt_mobile_theme: DEFINES += WTF_USE_QT_MOBILE_THEME=1
+
+defineTest(addWebCoreLib) {
+    pathToWebCoreOutput = $$ARGS/$$WEBCORE_DESTDIR
+    QMAKE_LIBDIR += $$pathToWebCoreOutput
+    POST_TARGETDEPS += $${pathToWebCoreOutput}$${QMAKE_DIR_SEP}lib$${WEBCORE_TARGET}.a
+    CONFIG -= explicitlib
+    export(QMAKE_LIBDIR)
+    export(POST_TARGETDEPS)
+    export(CONFIG)
+    LIBS = -l$$WEBCORE_TARGET $$LIBS
+    export(LIBS)
+    return(true)
+}
index 639b416..4356af1 100644 (file)
 CONFIG += building-libs
 CONFIG += depend_includepath
 
-symbian: {
-    TARGET.EPOCALLOWDLLDATA=1
-    # DRM and Allfiles capabilites need to be audited to be signed on Symbian
-    # For regular users that is not possible, so use the CONFIG(production) flag is added
-    # To use all capabilies add CONFIG+=production
-    # If building from QT source tree, also add CONFIG-=QTDIR_build as qbase.pri defaults capabilities to All -Tcb.    
-    CONFIG(production) {
-        TARGET.CAPABILITY = All -Tcb
-    } else {
-        TARGET.CAPABILITY = All -Tcb -DRM -AllFiles
-    }
-    isEmpty(QT_LIBINFIX) {
-        TARGET.UID3 = 0x200267C2
-    } else {
-        TARGET.UID3 = 0xE00267C2
-    }
-    webkitlibs.sources = QtWebKit$${QT_LIBINFIX}.dll
-    v8 {
-        webkitlibs.sources += v8.dll
-        QMAKE_CXXFLAGS.ARMCC += -OTime -O3
-        QMAKE_CXXFLAGS.ARMCC += --fpu softvfp+vfpv2 --fpmode fast
-        LIBS += -llibpthread
-    }
-
-    CONFIG(QTDIR_build): webkitlibs.sources = $$QMAKE_LIBDIR_QT/$$webkitlibs.sources
-    webkitlibs.path = /sys/bin
-    vendorinfo = \
-        "; Localised Vendor name" \
-        "%{\"Nokia\"}" \
-        " " \
-        "; Unique Vendor name" \
-        ":\"Nokia, Qt\"" \
-        " "
-    webkitlibs.pkg_prerules = vendorinfo
-
-    webkitbackup.sources = ../WebKit/qt/symbian/backup_registration.xml
-    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 += ../WebKit/qt/declarative/qmldir
-         declarativeImport.path = c:$$QT_IMPORTS_BASE_DIR/QtWebKit
-         DEPLOYMENT += declarativeImport
-    }
-
-    DEPLOYMENT += webkitlibs webkitbackup
-
-    symbian-abld|symbian-sbsv2 {
-        # RO text (code) section in qtwebkit.dll exceeds allocated space for gcce udeb target.
-        # Move RW-section base address to start from 0xE00000 instead of the toolchain default 0x400000.
-        QMAKE_LFLAGS.ARMCC += --rw-base 0xE00000
-        MMP_RULES += ALWAYS_BUILD_AS_ARM
-    }  else {
-        QMAKE_CFLAGS -= --thumb
-        QMAKE_CXXFLAGS -= --thumb
-    }
-    CONFIG(release, debug|release): QMAKE_CXXFLAGS.ARMCC += -OTime -O3
-
-    !CONFIG(production):CONFIG-=def_files
-}
-
 isEmpty(OUTPUT_DIR): OUTPUT_DIR = ..
 include($$PWD/WebCore.pri)
 include($$PWD/../WebKit.pri)
+include($$PWD/../JavaScriptCore/JavaScriptCore.pri)
 
 TEMPLATE = lib
-TARGET = QtWebKit
-
-CONFIG(QTDIR_build) {
-    include($$QT_SOURCE_TREE/src/qbase.pri)
-} else {
-    DESTDIR = $$OUTPUT_DIR/lib
-    !static: DEFINES += QT_MAKEDLL
-    symbian: TARGET =$$TARGET$${QT_LIBINFIX}
-}
-moduleFile=$$PWD/../WebKit/qt/qt_webkit_version.pri
-isEmpty(QT_BUILD_TREE):include($$moduleFile)
-VERSION = $${QT_WEBKIT_MAJOR_VERSION}.$${QT_WEBKIT_MINOR_VERSION}.$${QT_WEBKIT_PATCH_VERSION}
+TARGET = $$WEBCORE_TARGET
+CONFIG += staticlib
 
-unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui QtNetwork
-
-unix:!mac:*-g++*:QMAKE_CXXFLAGS += -ffunction-sections -fdata-sections 
-unix:!mac:*-g++*:QMAKE_LFLAGS += -Wl,--gc-sections
-linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
-
-CONFIG(release):!CONFIG(standalone_package) {
-    contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
-    unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
-}
-
-DEFINES += BUILDING_WEBKIT
-
-# Remove whole program optimizations due to miscompilations
-win32-msvc2005|win32-msvc2008|wince*:{
-    QMAKE_CFLAGS_RELEASE -= -GL
-    QMAKE_CXXFLAGS_RELEASE -= -GL
-
-    # Disable incremental linking for windows 32bit OS debug build as WebKit is so big
-    # that linker failes to link incrementally in debug mode.
-    ARCH = $$(PROCESSOR_ARCHITECTURE)
-    WOW64ARCH = $$(PROCESSOR_ARCHITEW6432)
-    equals(ARCH, x86):{
-        isEmpty(WOW64ARCH): QMAKE_LFLAGS_DEBUG += /INCREMENTAL:NO
-    }
-}
-
-# Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
-win32-g++* {
-    TMPPATH            = $$quote($$(INCLUDE))
-    QMAKE_INCDIR_POST += $$split(TMPPATH,";")
-    TMPPATH            = $$quote($$(LIB))
-    QMAKE_LIBDIR_POST += $$split(TMPPATH,";")
-}
-
-symbian {
-    !CONFIG(QTDIR_build) {
-        # Test if symbian OS comes with sqlite
-        exists($${EPOCROOT}epoc32/release/armv5/lib/sqlite3.dso):CONFIG *= system-sqlite
-    } else:!symbian-abld:!symbian-sbsv2 {
-        # When bundled with Qt, all Symbian build systems extract their own sqlite files if
-        # necessary, but on non-mmp based ones we need to specify this ourselves.
-        include($$QT_SOURCE_TREE/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pri)
-    }
-}
+DESTDIR = $$WEBCORE_DESTDIR
 
 RESOURCES += \
     $$PWD/../WebCore/WebCore.qrc
@@ -136,38 +22,8 @@ contains(DEFINES, WTF_USE_QT_MOBILE_THEME=1) {
     DEFINES += ENABLE_NO_LISTBOX_RENDERING=1
 }
 
-include($$PWD/../JavaScriptCore/JavaScriptCore.pri)
-!v8: addJavaScriptCoreLib(../JavaScriptCore)
-
-webkit2 {
-    include($$PWD/../WebKit2/WebKit2.pri)
-    addWebKit2LibWholeArchive(../WebKit2)
-}
-
-# Extract sources to build from the generator definitions
-defineTest(addExtraCompiler) {
-    isEqual($${1}.wkAddOutputToSources, false): return(true)
-
-    outputRule = $$eval($${1}.output)
-    input = $$eval($${1}.input)
-    input = $$eval($$input)
-
-    for(file,input) {
-        base = $$basename(file)
-        base ~= s/\\..+//
-        newfile=$$replace(outputRule,\\$\\{QMAKE_FILE_BASE\\},$$base)
-        SOURCES += $$newfile
-    }
-    SOURCES += $$eval($${1}.wkExtraSources)
-    export(SOURCES)
-
-    return(true)
-}
-include(CodeGenerators.pri)
-
 DASHBOARDSUPPORTCSSPROPERTIES = $$PWD/css/DashboardSupportCSSPropertyNames.in
 
-
 contains(DEFINES, ENABLE_SVG=1) {
     EXTRACSSPROPERTIES += $$PWD/css/SVGCSSPropertyNames.in
     EXTRACSSVALUES += $$PWD/css/SVGCSSValueKeywords.in
@@ -210,6 +66,7 @@ v8 {
     include($$PWD/../JavaScriptCore/wtf/wtf.pri)
 
     SOURCES += \
+        platform/qt/PlatformBridgeQt.cpp \
         bindings/generic/BindingSecurityBase.cpp \
         \
         bindings/v8/WorldContextHandle.cpp \
@@ -218,7 +75,6 @@ v8 {
         bindings/v8/custom/V8PopStateEventCustom.cpp \
         bindings/v8/ScriptGCEvent.cpp
 
-
     SOURCES += \
         bindings/v8/custom/V8ArrayBufferCustom.cpp \
         bindings/v8/custom/V8CustomXPathNSResolver.cpp \
@@ -245,6 +101,7 @@ v8 {
         bindings/v8/ScriptCallStackFactory.cpp \
         bindings/ScriptControllerBase.cpp \
         bindings/v8/ScriptController.cpp \
+        bindings/v8/ScriptControllerQt.cpp \
         bindings/v8/ScriptEventListener.cpp \
         bindings/v8/ScriptFunctionCall.cpp \
         bindings/v8/ScriptInstance.cpp \
@@ -491,6 +348,7 @@ v8 {
         bindings/js/ScriptCachedFrameData.cpp \
         bindings/js/ScriptCallStackFactory.cpp \
         bindings/js/ScriptController.cpp \
+        bindings/js/ScriptControllerQt.cpp \
         bindings/js/ScriptDebugServer.cpp \
         bindings/js/ScriptEventListener.cpp \
         bindings/js/ScriptFunctionCall.cpp \
@@ -509,6 +367,10 @@ v8 {
         bridge/c/c_utility.cpp \
         bridge/jsc/BridgeJSC.cpp \
         bridge/npruntime.cpp \
+        bridge/qt/qt_class.cpp \
+        bridge/qt/qt_instance.cpp \
+        bridge/qt/qt_pixmapruntime.cpp \
+        bridge/qt/qt_runtime.cpp \
         bridge/runtime_array.cpp \
         bridge/runtime_method.cpp \
         bridge/runtime_object.cpp \
@@ -1287,7 +1149,7 @@ SOURCES += \
     xml/XMLHttpRequest.cpp \
     xml/XMLHttpRequestProgressEventThrottle.cpp \
     xml/XMLHttpRequestUpload.cpp \
-    xml/XMLSerializer.cpp 
+    xml/XMLSerializer.cpp
 
 HEADERS += \
     accessibility/AccessibilityARIAGridCell.h \
@@ -2099,6 +1961,7 @@ HEADERS += \
     platform/network/ResourceLoadTiming.h \
     platform/network/ResourceRequestBase.h \
     platform/network/ResourceResponseBase.h \
+    platform/network/qt/DnsPrefetchHelper.h \
     platform/PlatformTouchEvent.h \
     platform/PlatformTouchPoint.h \
     platform/PopupMenu.h \
@@ -2576,34 +2439,7 @@ HEADERS += \
     xml/XSLStyleSheet.h \
     xml/XSLTExtensions.h \
     xml/XSLTProcessor.h \
-    xml/XSLTUnicodeSort.h \
-    $$PWD/../WebKit/qt/Api/qwebplugindatabase_p.h \
-    $$PWD/../WebKit/qt/WebCoreSupport/InspectorServerQt.h \
-    $$PWD/../WebKit/qt/WebCoreSupport/QtFallbackWebPopup.h \
-    $$PWD/../WebKit/qt/WebCoreSupport/ChromeClientQt.h \
-    $$PWD/../WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h \
-    $$PWD/../WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.h \
-    $$PWD/../WebKit/qt/WebCoreSupport/GeolocationPermissionClientQt.h \
-    $$PWD/../WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.h \
-    $$PWD/../WebKit/qt/WebCoreSupport/PageClientQt.h \
-    $$PWD/../WebKit/qt/WebCoreSupport/QtPlatformPlugin.h \
-    $$PWD/../WebKit/qt/WebCoreSupport/PopupMenuQt.h \
-    $$PWD/../WebKit/qt/WebCoreSupport/SearchPopupMenuQt.h \
-    $$PWD/../WebKit/qt/WebCoreSupport/WebPlatformStrategies.h \
-    $$PWD/platform/network/qt/DnsPrefetchHelper.h
-
-v8 {
-    SOURCES += \
-       bindings/v8/ScriptControllerQt.cpp \
-       platform/qt/PlatformBridgeQt.cpp
-} else {
-    SOURCES += \
-       bindings/js/ScriptControllerQt.cpp \
-       bridge/qt/qt_class.cpp \
-       bridge/qt/qt_instance.cpp \
-       bridge/qt/qt_pixmapruntime.cpp \
-       bridge/qt/qt_runtime.cpp
-}
+    xml/XSLTUnicodeSort.h
 
 SOURCES += \
     accessibility/qt/AccessibilityObjectQt.cpp \
@@ -2676,51 +2512,14 @@ SOURCES += \
     platform/text/qt/TextBreakIteratorQt.cpp \
     platform/text/qt/TextCodecQt.cpp \
     platform/qt/WheelEventQt.cpp \
-    platform/qt/WidgetQt.cpp \
-    ../WebKit/qt/WebCoreSupport/QtFallbackWebPopup.cpp \
-    ../WebKit/qt/WebCoreSupport/ChromeClientQt.cpp \
-    ../WebKit/qt/WebCoreSupport/ContextMenuClientQt.cpp \
-    ../WebKit/qt/WebCoreSupport/DragClientQt.cpp \
-    ../WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp \
-    ../WebKit/qt/WebCoreSupport/EditorClientQt.cpp \
-    ../WebKit/qt/WebCoreSupport/EditCommandQt.cpp \
-    ../WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp \
-    ../WebKit/qt/WebCoreSupport/FrameNetworkingContextQt.cpp \
-    ../WebKit/qt/WebCoreSupport/GeolocationPermissionClientQt.cpp \
-    ../WebKit/qt/WebCoreSupport/InspectorClientQt.cpp \
-    ../WebKit/qt/WebCoreSupport/InspectorServerQt.cpp \
-    ../WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp \
-    ../WebKit/qt/WebCoreSupport/PageClientQt.cpp \
-    ../WebKit/qt/WebCoreSupport/PopupMenuQt.cpp \
-    ../WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp \
-    ../WebKit/qt/WebCoreSupport/SearchPopupMenuQt.cpp \
-    ../WebKit/qt/WebCoreSupport/WebPlatformStrategies.cpp \
-    ../WebKit/qt/Api/qwebframe.cpp \
-    ../WebKit/qt/Api/qgraphicswebview.cpp \
-    ../WebKit/qt/Api/qwebpage.cpp \
-    ../WebKit/qt/Api/qwebview.cpp \
-    ../WebKit/qt/Api/qwebelement.cpp \
-    ../WebKit/qt/Api/qwebhistory.cpp \
-    ../WebKit/qt/Api/qwebsettings.cpp \
-    ../WebKit/qt/Api/qwebhistoryinterface.cpp \
-    ../WebKit/qt/Api/qwebplugindatabase.cpp \
-    ../WebKit/qt/Api/qwebpluginfactory.cpp \
-    ../WebKit/qt/Api/qwebsecurityorigin.cpp \
-    ../WebKit/qt/Api/qwebscriptworld.cpp \
-    ../WebKit/qt/Api/qwebdatabase.cpp \
-    ../WebKit/qt/Api/qwebinspector.cpp \
-    ../WebKit/qt/Api/qwebkitversion.cpp
+    platform/qt/WidgetQt.cpp
+
 
 contains(DEFINES, WTF_USE_QT_MOBILE_THEME=1) {
     HEADERS += platform/qt/QtMobileWebStyle.h
     SOURCES += platform/qt/QtMobileWebStyle.cpp
 }
 
-maemo5 {
-    HEADERS += ../WebKit/qt/WebCoreSupport/QtMaemoWebPopup.h
-    SOURCES += ../WebKit/qt/WebCoreSupport/QtMaemoWebPopup.cpp
-}
-
 contains(DEFINES, ENABLE_SMOOTH_SCROLLING=1) {
     win32-*|wince* {
         HEADERS += platform/ScrollAnimatorWin.h
@@ -2738,103 +2537,53 @@ mac {
     SOURCES += \
         platform/text/cf/StringCF.cpp \
         platform/text/cf/StringImplCF.cpp
-    LIBS_PRIVATE += -framework Carbon -framework AppKit
-}
-
-win32-* {
-    LIBS += -lgdi32
-    LIBS += -lole32
-    LIBS += -luser32
-}
-
-wince* {
-    LIBS += -lmmtimer
-    LIBS += -lole32
 }
 
 contains (CONFIG, text_breaking_with_icu) {
     SOURCES += platform/text/TextBreakIteratorICU.cpp
-    LIBS += -licuuc
 }
 
 symbian {
     SOURCES += \
         plugins/symbian/PluginDatabaseSymbian.cpp \
         plugins/symbian/PluginPackageSymbian.cpp
-
-    LIBS += -lefsrv
 }
 
 contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) {
 
     SOURCES += plugins/npapi.cpp
 
-    symbian {
-        SOURCES += \
-        plugins/symbian/PluginViewSymbian.cpp \
-        plugins/symbian/PluginContainerSymbian.cpp
-
-        HEADERS += \
-        plugins/symbian/PluginContainerSymbian.h \
-        plugins/symbian/npinterface.h
-
-    } else {
-
-        unix {
-    
-            mac {
-                SOURCES += \
-                    plugins/mac/PluginPackageMac.cpp
-                OBJECTIVE_SOURCES += \
-                    platform/text/mac/StringImplMac.mm \
-                    platform/mac/WebCoreNSStringExtras.mm \
-                    plugins/mac/PluginViewMac.mm
-                INCLUDEPATH += platform/mac
-                # Note: XP_MACOSX is defined in npapi.h
-            } else {
-                !embedded {
-                    CONFIG += x11
-                    LIBS += -lXrender
-                }
-                maemo5 {
-                    DEFINES += MOZ_PLATFORM_MAEMO=5
-                }
-                contains(DEFINES, Q_WS_MAEMO_6) {
-                    DEFINES += MOZ_PLATFORM_MAEMO=6
-                }
-                SOURCES += \
-                    plugins/qt/PluginContainerQt.cpp \
-                    plugins/qt/PluginPackageQt.cpp \
-                    plugins/qt/PluginViewQt.cpp
-                HEADERS += \
-                    plugins/qt/PluginContainerQt.h
-                DEFINES += XP_UNIX
-                DEFINES += ENABLE_NETSCAPE_PLUGIN_METADATA_CACHE=1
-            }
-        }
-    
-        win32-* {
-            INCLUDEPATH += $$PWD/plugins/win \
-                           $$PWD/platform/win \
-                           $$PWD/platform/graphics/win
-    
-            SOURCES += plugins/win/PluginDatabaseWin.cpp \
-                       plugins/win/PluginPackageWin.cpp \
-                       plugins/win/PluginMessageThrottlerWin.cpp \
-                       plugins/win/PluginViewWin.cpp \
-                       platform/win/BitmapInfo.cpp \
-                       platform/win/WebCoreInstanceHandle.cpp
-    
-            LIBS += \
-                -ladvapi32 \
-                -lgdi32 \
-                -lshell32 \
-                -lshlwapi \
-                -luser32 \
-                -lversion
+    unix:!symbian {
+        mac {
+            SOURCES += \
+                plugins/mac/PluginPackageMac.cpp
+            OBJECTIVE_SOURCES += \
+                platform/text/mac/StringImplMac.mm \
+                platform/mac/WebCoreNSStringExtras.mm \
+                plugins/mac/PluginViewMac.mm
+        } else {
+            SOURCES += \
+                plugins/qt/PluginContainerQt.cpp \
+                plugins/qt/PluginPackageQt.cpp \
+                plugins/qt/PluginViewQt.cpp
+            HEADERS += \
+                plugins/qt/PluginContainerQt.h
         }
     }
 
+    win32-* {
+        INCLUDEPATH += $$PWD/plugins/win \
+                       $$PWD/platform/win \
+                       $$PWD/platform/graphics/win
+
+        SOURCES += plugins/win/PluginDatabaseWin.cpp \
+                   plugins/win/PluginPackageWin.cpp \
+                   plugins/win/PluginMessageThrottlerWin.cpp \
+                   plugins/win/PluginViewWin.cpp \
+                   platform/win/BitmapInfo.cpp \
+                   platform/win/WebCoreInstanceHandle.cpp
+    }
+
 } else {
     SOURCES += \
         plugins/PluginPackageNone.cpp \
@@ -2842,25 +2591,6 @@ contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) {
 }
 
 contains(DEFINES, ENABLE_SQLITE=1) {
-    !system-sqlite:exists( $${SQLITE3SRCDIR}/sqlite3.c ) {
-            # Build sqlite3 into WebCore from source
-            # somewhat copied from $$QT_SOURCE_TREE/src/plugins/sqldrivers/sqlite/sqlite.pro
-            INCLUDEPATH += $${SQLITE3SRCDIR}
-            SOURCES += $${SQLITE3SRCDIR}/sqlite3.c
-            DEFINES += SQLITE_CORE SQLITE_OMIT_LOAD_EXTENSION SQLITE_OMIT_COMPLETE
-            CONFIG(release, debug|release): DEFINES *= NDEBUG
-            contains(DEFINES, ENABLE_SINGLE_THREADED=1): DEFINES += SQLITE_THREADSAFE=0
-    } else {
-        # Use sqlite3 from the underlying OS
-        CONFIG(QTDIR_build) {
-            QMAKE_CXXFLAGS *= $$QT_CFLAGS_SQLITE
-            LIBS *= $$QT_LFLAGS_SQLITE
-        } else {
-            INCLUDEPATH += $${SQLITE3SRCDIR}
-            LIBS += -lsqlite3
-        }
-    }
-
     wince*:DEFINES += HAVE_LOCALTIME_S=0
 
     SOURCES += \
@@ -3173,43 +2903,18 @@ contains(DEFINES, ENABLE_VIDEO=1) {
             platform/graphics/gstreamer/PlatformVideoWindowQt.cpp \
             platform/graphics/gstreamer/ImageGStreamerQt.cpp
 
-        DEFINES += WTF_USE_GSTREAMER=1
-        DEFINES += ENABLE_GLIB_SUPPORT=1
-
-        INCLUDEPATH += $$PWD/platform/graphics/gstreamer
-
-        PKGCONFIG += glib-2.0 gio-2.0 gstreamer-0.10 gstreamer-app-0.10 gstreamer-base-0.10 gstreamer-interfaces-0.10 gstreamer-pbutils-0.10 gstreamer-plugins-base-0.10 gstreamer-video-0.10
-     } else:contains(MOBILITY_CONFIG, multimedia) {
+    } else:contains(MOBILITY_CONFIG, multimedia) {
         HEADERS += \ 
-            platform/graphics/qt/MediaPlayerPrivateQt.h \
-            $$PWD/../WebKit/qt/WebCoreSupport/FullScreenVideoQt.h \
-            $$PWD/../WebKit/qt/WebCoreSupport/FullScreenVideoWidget.h
+            platform/graphics/qt/MediaPlayerPrivateQt.h
 
         SOURCES += \
-            platform/graphics/qt/MediaPlayerPrivateQt.cpp \
-            $$PWD/../WebKit/qt/WebCoreSupport/FullScreenVideoQt.cpp \
-            $$PWD/../WebKit/qt/WebCoreSupport/FullScreenVideoWidget.cpp
-
-        CONFIG *= mobility
-        MOBILITY += multimedia
-        DEFINES += WTF_USE_QT_MULTIMEDIA
-     } else:contains(QT_CONFIG, phonon) {
+            platform/graphics/qt/MediaPlayerPrivateQt.cpp
+    } else:contains(QT_CONFIG, phonon) {
         HEADERS += \
             platform/graphics/qt/MediaPlayerPrivatePhonon.h
 
         SOURCES += \
             platform/graphics/qt/MediaPlayerPrivatePhonon.cpp
-
-        # Add phonon manually to prevent it from coming first in
-        # the include paths, as Phonon's path.h conflicts with
-        # WebCore's Path.h on case-insensitive filesystems.
-        qtAddLibrary(phonon)
-        INCLUDEPATH -= $$QT.phonon.includes
-        INCLUDEPATH += $$QT.phonon.includes
-        mac {
-            INCLUDEPATH -= $$QT.phonon.libs/phonon.framework/Headers
-            INCLUDEPATH += $$QT.phonon.libs/phonon.framework/Headers
-        }
     }
 }
 
@@ -3233,11 +2938,7 @@ contains(DEFINES, ENABLE_XPATH=1) {
         xml/XPathVariableReference.cpp
 }
 
-unix:!mac:!symbian:CONFIG += link_pkgconfig
-
 contains(DEFINES, ENABLE_XSLT=1) {
-    tobe|!tobe: QT += xmlpatterns
-
     v8 {
         SOURCES += \
             bindings/v8/custom/V8XSLTProcessorCustom.cpp
@@ -3348,24 +3049,9 @@ contains(DEFINES, ENABLE_QT_BEARER=1) {
 
     SOURCES += \
         platform/network/qt/NetworkStateNotifierQt.cpp
-
-    # Bearer management is part of Qt 4.7, so don't accidentially
-    # pull in Qt Mobility when building against >= 4.7
-    !greaterThan(QT_MINOR_VERSION, 6) {
-        CONFIG += mobility
-        MOBILITY += bearer
-    }
 }
 
 contains(DEFINES, ENABLE_GEOLOCATION=1) {
-     HEADERS += \
-        $$PWD/../WebKit/qt/WebCoreSupport/GeolocationClientQt.h
-     SOURCES += \
-        $$PWD/../WebKit/qt/WebCoreSupport/GeolocationClientQt.cpp
-    CONFIG += mobility
-    MOBILITY += location
-
     v8 {
         SOURCES += \
             bindings/v8/custom/V8CustomPositionCallback.cpp \
@@ -3374,25 +3060,6 @@ contains(DEFINES, ENABLE_GEOLOCATION=1) {
     }
 }
 
-contains(DEFINES, ENABLE_DEVICE_ORIENTATION=1) {
-    HEADERS += \
-        ../WebKit/qt/WebCoreSupport/DeviceMotionClientQt.h \
-        ../WebKit/qt/WebCoreSupport/DeviceMotionProviderQt.h \
-        ../WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.h \
-        ../WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.h \
-        ../WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h
-
-    SOURCES += \
-        ../WebKit/qt/WebCoreSupport/DeviceMotionClientQt.cpp \
-        ../WebKit/qt/WebCoreSupport/DeviceMotionProviderQt.cpp \
-        ../WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp \
-        ../WebKit/qt/WebCoreSupport/DeviceOrientationClientMockQt.cpp \
-        ../WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp
-
-    CONFIG += mobility
-    MOBILITY += sensors
-}
-
 contains(DEFINES, ENABLE_SVG=1) {
     !v8 {
         SOURCES += \
@@ -3674,8 +3341,6 @@ contains(DEFINES, ENABLE_WEB_SOCKETS=1) {
 }
 
 contains(DEFINES, ENABLE_WEBGL=1) {
-    tobe|!tobe: QT += opengl
-
     HEADERS += \
         html/canvas/CanvasContextAttributes.h \
         html/canvas/WebGLObject.h \
@@ -3735,134 +3400,6 @@ contains(DEFINES, ENABLE_WEBGL=1) {
         INCLUDEPATH += $$PWD/platform/graphics/gpu
 }
 
-contains(DEFINES, ENABLE_SYMBIAN_DIALOG_PROVIDERS) {
-    # this feature requires the S60 platform private BrowserDialogsProvider.h header file
-    # and is therefore not enabled by default but only meant for platform builds.
-    symbian {
-        LIBS += -lbrowserdialogsprovider
-    }
-}
-
-!symbian-abld:!symbian-sbsv2 {
-    modfile.files = $$moduleFile
-    modfile.path = $$[QMAKE_MKSPECS]/modules
-
-    INSTALLS += modfile
-} else {
-    # INSTALLS is not implemented in qmake's mmp generators, copy headers manually
-
-    inst_modfile.commands = $$QMAKE_COPY ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT}
-    inst_modfile.input = moduleFile
-    inst_modfile.output = $$[QMAKE_MKSPECS]/modules
-    inst_modfile.CONFIG = no_clean
-
-    QMAKE_EXTRA_COMPILERS += inst_modfile
-
-    install.depends += compiler_inst_modfile_make_all
-    QMAKE_EXTRA_TARGETS += install
-}
-
-include($$PWD/../WebKit/qt/Api/headers.pri)
-
-HEADERS += $$WEBKIT_API_HEADERS
-
-!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
-
-    !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_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
-
-        !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
-
-        install.depends += compiler_inst_headers_make_all
-    }
-
-    win32-*|wince* {
-        DLLDESTDIR = $$OUTPUT_DIR/bin
-        build_pass: TARGET = $$qtLibraryTarget($$TARGET)
-
-        dlltarget.commands = $(COPY_FILE) $(DESTDIR_TARGET) $$[QT_INSTALL_BINS]
-        dlltarget.CONFIG = no_path
-        INSTALLS += dlltarget
-    }
-
-    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.")
-
-                CONFIG += build_all
-            } else {
-                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
-        }
-
-        QMAKE_LFLAGS_SONAME = "$${QMAKE_LFLAGS_SONAME}$${DESTDIR}$${QMAKE_DIR_SEP}"
-        LIBS += -framework Carbon -framework AppKit
-    }
-}
-
-!CONFIG(webkit-debug):CONFIG(QTDIR_build) {
-    # Remove the following 2 lines if you want debug information in WebCore
-    CONFIG -= separate_debug_info
-    CONFIG += no_debug_info
-}
-
-win32:!win32-g++*:contains(QMAKE_HOST.arch, x86_64):{
-    asm_compiler.commands = ml64 /c
-    asm_compiler.commands +=  /Fo ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
-    asm_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
-    asm_compiler.input = ASM_SOURCES
-    asm_compiler.variable_out = OBJECTS
-    asm_compiler.name = compiling[asm] ${QMAKE_FILE_IN}
-    silent:asm_compiler.commands = @echo compiling[asm] ${QMAKE_FILE_IN} && $$asm_compiler.commands
-    QMAKE_EXTRA_COMPILERS += asm_compiler
-
-    ASM_SOURCES += \
-        plugins/win/PaintHooks.asm
-   if(win32-msvc2005|win32-msvc2008):equals(TEMPLATE_PREFIX, "vc") {
-        SOURCES += \
-            plugins/win/PaintHooks.asm
-    }
-}
-
-# Uncomment this to enable Texture Mapper.
-# CONFIG += texmap
-
 contains(CONFIG, texmap) {
     DEFINES += WTF_USE_TEXTURE_MAPPER=1
     HEADERS += \
@@ -3878,7 +3415,6 @@ contains(CONFIG, texmap) {
         platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
 
     contains(QT_CONFIG, opengl) {
-        QT += opengl
         HEADERS += platform/graphics/opengl/TextureMapperGL.h
         SOURCES += platform/graphics/opengl/TextureMapperGL.cpp
     }
@@ -3886,18 +3422,3 @@ contains(CONFIG, texmap) {
     HEADERS += platform/graphics/qt/GraphicsLayerQt.h
     SOURCES += platform/graphics/qt/GraphicsLayerQt.cpp
 }
-
-symbian {
-    shared {
-        contains(CONFIG, def_files) {
-            DEF_FILE=../WebKit/qt/symbian
-            # defFilePath is for Qt4.6 compatibility
-            defFilePath=../WebKit/qt/symbian
-        } else {
-            MMP_RULES += EXPORTUNFROZEN
-        }
-    }
-}
-
-# Disable C++0x mode in WebCore for those who enabled it in their Qt's mkspec
-*-g++*:QMAKE_CXXFLAGS -= -std=c++0x -std=gnu++0x
index 755772a..892da18 100644 (file)
@@ -51,7 +51,9 @@ CONFIG(release, debug|release) {
     DEFINES += NDEBUG
 }
 
-INCLUDEPATH += $$OUTPUT_DIR/include/QtWebKit
+INCLUDEPATH += \
+    $$OUTPUT_DIR/include/QtWebKit \
+    $$OUTPUT_DIR/include
 INCLUDEPATH += $$QT.script.includes
 
 CONFIG -= warn_on
index a6be4b6..10bd8cf 100644 (file)
@@ -11,6 +11,7 @@ include(WebKit.pri)
 webkit2:exists($$PWD/WebKit2/WebKit2.pro): SUBDIRS += WebKit2/WebKit2.pro
 
 SUBDIRS += WebCore
+SUBDIRS += WebKit/qt/QtWebKit.pro
 
 webkit2:exists($$PWD/WebKit2/WebProcess.pro): SUBDIRS += WebKit2/WebProcess.pro
 
index c530f08..6ac2e66 100644 (file)
@@ -1,3 +1,19 @@
+2011-02-22  Andras Becsi  <abecsi@webkit.org>
+
+        Reviewed by Laszlo Gombos.
+
+        [Qt] Redesign the build system
+        https://bugs.webkit.org/show_bug.cgi?id=51339
+
+        Part 2.
+
+        Build WebCore as a static library, compile the WebKit API and WebKit2 API
+        in a final step and link to WebKit2, WebCore and JSC libraries to fix
+        linking issues resulting from stripped away symbols.
+
+        * QtWebKit.pro: Added.
+        Project file for the final build step.
+
 2011-02-17  Ryosuke Niwa  <rniwa@webkit.org>
 
         Reviewed by Kent Tamura.
diff --git a/Source/WebKit/qt/QtWebKit.pro b/Source/WebKit/qt/QtWebKit.pro
new file mode 100644 (file)
index 0000000..f573901
--- /dev/null
@@ -0,0 +1,582 @@
+# QtWebKit - qmake build info
+CONFIG += building-libs
+CONFIG += depend_includepath
+
+TARGET = QtWebKit
+TEMPLATE = lib
+
+DEFINES += BUILDING_WEBKIT
+
+CONFIG(debug, debug|release) : CONFIG_DIR = debug
+else: CONFIG_DIR = release
+
+SOURCE_DIR = $$replace(PWD, /WebKit/qt, "")
+
+CONFIG(standalone_package) {
+    isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = $$PWD/../../JavaScriptCore/generated
+    isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = $$PWD/../../WebCore/generated
+    isEmpty(WC_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = $$PWD/../../WebKit2/generated
+} else {
+    isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = ../../JavaScriptCore/generated
+    isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = ../../WebCore/generated
+    isEmpty(WC_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = ../../WebKit2/generated
+
+    !CONFIG(release, debug|release) {
+        OBJECTS_DIR = obj/debug
+    } else { # Release
+        OBJECTS_DIR = obj/release
+    }
+}
+
+include($$PWD/Api/headers.pri)
+include($$SOURCE_DIR/WebKit.pri)
+include($$SOURCE_DIR/JavaScriptCore/JavaScriptCore.pri)
+webkit2:include($$SOURCE_DIR/WebKit2/WebKit2.pri)
+include($$SOURCE_DIR/WebCore/WebCore.pri)
+
+webkit2:addWebKit2Lib(../../WebKit2)
+
+addWebCoreLib(../../WebCore)
+
+!v8:addJavaScriptCoreLib(../../JavaScriptCore)
+
+isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../..
+
+contains(QT_CONFIG, embedded):CONFIG += embedded
+
+moduleFile=$$PWD/qt_webkit_version.pri
+isEmpty(QT_BUILD_TREE):include($$moduleFile)
+VERSION = $${QT_WEBKIT_MAJOR_VERSION}.$${QT_WEBKIT_MINOR_VERSION}.$${QT_WEBKIT_PATCH_VERSION}
+
+# Extract sources to build from the generator definitions
+defineTest(addExtraCompiler) {
+    isEqual($${1}.wkAddOutputToSources, false): return(true)
+
+    outputRule = $$eval($${1}.output)
+    input = $$eval($${1}.input)
+    input = $$eval($$input)
+
+    for(file,input) {
+        base = $$basename(file)
+        base ~= s/\\..+//
+        newfile=$$replace(outputRule,\\$\\{QMAKE_FILE_BASE\\},$$base)
+        SOURCES += $$newfile
+    }
+    SOURCES += $$eval($${1}.wkExtraSources)
+    export(SOURCES)
+
+    return(true)
+}
+
+include($$SOURCE_DIR/WebCore/CodeGenerators.pri)
+
+CONFIG(release):!CONFIG(standalone_package) {
+    contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
+    unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
+}
+
+# Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
+win32-g++* {
+    TMPPATH            = $$quote($$(INCLUDE))
+    QMAKE_INCDIR_POST += $$split(TMPPATH,";")
+    TMPPATH            = $$quote($$(LIB))
+    QMAKE_LIBDIR_POST += $$split(TMPPATH,";")
+}
+
+symbian {
+    !CONFIG(QTDIR_build) {
+        # Test if symbian OS comes with sqlite
+        exists($${EPOCROOT}epoc32/release/armv5/lib/sqlite3.dso):CONFIG *= system-sqlite
+    } else:!symbian-abld:!symbian-sbsv2 {
+        # When bundled with Qt, all Symbian build systems extract their own sqlite files if
+        # necessary, but on non-mmp based ones we need to specify this ourselves.
+        include($$QT_SOURCE_TREE/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pri)
+    }
+}
+
+CONFIG(QTDIR_build) {
+    include($$QT_SOURCE_TREE/src/qbase.pri)
+} else {
+    DESTDIR = $$OUTPUT_DIR/lib
+    symbian: TARGET =$$TARGET$${QT_LIBINFIX}
+}
+
+unix|win32-g++*:QMAKE_PKGCONFIG_REQUIRES = QtCore QtGui QtNetwork
+
+symbian {
+    TARGET.EPOCALLOWDLLDATA=1
+    # DRM and Allfiles capabilites need to be audited to be signed on Symbian
+    # For regular users that is not possible, so use the CONFIG(production) flag is added
+    # To use all capabilies add CONFIG+=production
+    # If building from QT source tree, also add CONFIG-=QTDIR_build as qbase.pri defaults capabilities to All -Tcb.    
+    CONFIG(production) {
+        TARGET.CAPABILITY = All -Tcb
+    } else {
+        TARGET.CAPABILITY = All -Tcb -DRM -AllFiles
+    }
+    isEmpty(QT_LIBINFIX) {
+        TARGET.UID3 = 0x200267C2
+    } else {
+        TARGET.UID3 = 0xE00267C2
+    }
+    webkitlibs.sources = QtWebKit$${QT_LIBINFIX}.dll
+    v8:LIBS += -llibpthread
+
+    CONFIG(QTDIR_build): webkitlibs.sources = $$QMAKE_LIBDIR_QT/$$webkitlibs.sources
+    webkitlibs.path = /sys/bin
+    vendorinfo = \
+        "; Localised Vendor name" \
+        "%{\"Nokia\"}" \
+        " " \
+        "; Unique Vendor name" \
+        ":\"Nokia, Qt\"" \
+        " "
+    webkitlibs.pkg_prerules = vendorinfo
+
+    webkitbackup.sources = symbian/backup_registration.xml
+    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 += declarative/qmldir
+         declarativeImport.path = c:$$QT_IMPORTS_BASE_DIR/QtWebKit
+         DEPLOYMENT += declarativeImport
+    }
+
+    DEPLOYMENT += webkitlibs webkitbackup
+}
+
+!static: DEFINES += QT_MAKEDLL
+
+SOURCES += \
+    $$PWD/Api/qwebframe.cpp \
+    $$PWD/Api/qgraphicswebview.cpp \
+    $$PWD/Api/qwebpage.cpp \
+    $$PWD/Api/qwebview.cpp \
+    $$PWD/Api/qwebelement.cpp \
+    $$PWD/Api/qwebhistory.cpp \
+    $$PWD/Api/qwebsettings.cpp \
+    $$PWD/Api/qwebhistoryinterface.cpp \
+    $$PWD/Api/qwebplugindatabase.cpp \
+    $$PWD/Api/qwebpluginfactory.cpp \
+    $$PWD/Api/qwebsecurityorigin.cpp \
+    $$PWD/Api/qwebscriptworld.cpp \
+    $$PWD/Api/qwebdatabase.cpp \
+    $$PWD/Api/qwebinspector.cpp \
+    $$PWD/Api/qwebkitversion.cpp \
+    \
+    $$PWD/WebCoreSupport/QtFallbackWebPopup.cpp \
+    $$PWD/WebCoreSupport/ChromeClientQt.cpp \
+    $$PWD/WebCoreSupport/ContextMenuClientQt.cpp \
+    $$PWD/WebCoreSupport/DragClientQt.cpp \
+    $$PWD/WebCoreSupport/DumpRenderTreeSupportQt.cpp \
+    $$PWD/WebCoreSupport/EditorClientQt.cpp \
+    $$PWD/WebCoreSupport/EditCommandQt.cpp \
+    $$PWD/WebCoreSupport/FrameLoaderClientQt.cpp \
+    $$PWD/WebCoreSupport/FrameNetworkingContextQt.cpp \
+    $$PWD/WebCoreSupport/GeolocationPermissionClientQt.cpp \
+    $$PWD/WebCoreSupport/InspectorClientQt.cpp \
+    $$PWD/WebCoreSupport/InspectorServerQt.cpp \
+    $$PWD/WebCoreSupport/NotificationPresenterClientQt.cpp \
+    $$PWD/WebCoreSupport/PageClientQt.cpp \
+    $$PWD/WebCoreSupport/PopupMenuQt.cpp \
+    $$PWD/WebCoreSupport/QtPlatformPlugin.cpp \
+    $$PWD/WebCoreSupport/SearchPopupMenuQt.cpp \
+    $$PWD/WebCoreSupport/WebPlatformStrategies.cpp
+
+webkit2 {
+    SOURCES += \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKArray.cpp \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKCertificateInfo.cpp \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKContextMenuItem.cpp \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKGraphicsContext.cpp \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKImage.cpp \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKNumber.cpp \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKSecurityOrigin.cpp \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKSerializedScriptValue.cpp \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKString.cpp \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKType.cpp \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKURL.cpp \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKURLRequest.cpp \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKURLResponse.cpp \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKUserContentURLPattern.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKAuthenticationChallenge.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKAuthenticationDecisionListener.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKBackForwardList.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKBackForwardListItem.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKContext.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKCredential.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKDatabaseManager.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKDownload.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKFrame.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKFramePolicyListener.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationManager.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationPermissionRequest.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationPosition.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKInspector.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKOpenPanelParameters.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKOpenPanelResultListener.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKNavigationData.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPage.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPageGroup.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPreferences.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKProtectionSpace.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/qt/WKStringQt.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/qt/WKURLQt.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/ClientImpl.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qgraphicswkview.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkcontext.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkhistory.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpage.cpp \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpreferences.cpp \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp \
+        $$SOURCE_DIR/WebKit2/WebProcess/qt/WebProcessMainQt.cpp
+}
+
+HEADERS += \
+    $$WEBKIT_API_HEADERS \
+    $$PWD/Api/qwebplugindatabase_p.h \
+    \
+    $$PWD/WebCoreSupport/InspectorServerQt.h \
+    $$PWD/WebCoreSupport/QtFallbackWebPopup.h \
+    $$PWD/WebCoreSupport/FrameLoaderClientQt.h \
+    $$PWD/WebCoreSupport/FrameNetworkingContextQt.h \
+    $$PWD/WebCoreSupport/GeolocationPermissionClientQt.h \
+    $$PWD/WebCoreSupport/NotificationPresenterClientQt.h \
+    $$PWD/WebCoreSupport/PageClientQt.h \
+    $$PWD/WebCoreSupport/QtPlatformPlugin.h \
+    $$PWD/WebCoreSupport/PopupMenuQt.h \
+    $$PWD/WebCoreSupport/SearchPopupMenuQt.h \
+    $$PWD/WebCoreSupport/WebPlatformStrategies.h
+
+webkit2 {
+    HEADERS += \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKBase.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKCertificateInfo.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKContextMenuItem.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKContextMenuItemTypes.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKGeometry.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKGraphicsContext.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKImage.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKNumber.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKPageLoadTypes.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKSecurityOrigin.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKSerializedScriptValue.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKSharedAPICast.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKString.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKStringPrivate.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKType.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKURL.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKURLRequest.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKURLResponse.h \
+        $$SOURCE_DIR/WebKit2/Shared/API/c/WKUserContentURLPattern.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKAPICast.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKAuthenticationChallenge.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKAuthenticationDecisionListener.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKBackForwardList.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKBackForwardListItem.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKContext.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKContextPrivate.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKCredential.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKCredentialTypes.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKDatabaseManager.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKDownload.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKFrame.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKFramePolicyListener.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationManager.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationPermissionRequest.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKGeolocationPosition.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKInspector.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKOpenPanelParameters.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKOpenPanelResultListener.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKNavigationData.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPage.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPageGroup.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPagePrivate.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPluginSiteDataManager.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPreferences.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKProtectionSpace.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WKProtectionSpaceTypes.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/WebKit2.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/C/qt/WKNativeEvent.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/WKRetainPtr.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/qt/WKStringQt.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/qt/WKURLQt.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/ClientImpl.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qgraphicswkview.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkcontext.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkcontext_p.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkhistory.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkhistory_p.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpage.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpage_p.h \
+        $$SOURCE_DIR/WebKit2/UIProcess/API/qt/qwkpreferences.h \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.h \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.h \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePage.h \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageGroup.h \
+        $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h
+}
+
+
+symbian {
+    # Need to build these sources here because of exported symbols
+    SOURCES += \
+    $$SOURCE_DIR/WebCore/plugins/symbian/PluginViewSymbian.cpp \
+    $$SOURCE_DIR/WebCore/plugins/symbian/PluginContainerSymbian.cpp
+
+    HEADERS += \
+    $$SOURCE_DIR/WebCore/plugins/symbian/PluginContainerSymbian.h \
+    $$SOURCE_DIR/WebCore/plugins/symbian/npinterface.h
+}
+
+unix:!mac:!symbian:CONFIG += link_pkgconfig
+
+mac {
+    LIBS_PRIVATE += -framework Carbon -framework AppKit
+}
+
+win32-* {
+    LIBS += -lgdi32
+    LIBS += -lole32
+    LIBS += -luser32
+}
+
+wince* {
+    LIBS += -lmmtimer
+    LIBS += -lole32
+}
+
+contains (CONFIG, text_breaking_with_icu) {
+    LIBS += -licuuc
+}
+
+symbian {
+    # Symbian plugin support
+    LIBS += -lefsrv
+}
+
+contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) {
+    unix:!symbian {
+        !mac {
+            !embedded {
+                CONFIG += x11
+                LIBS += -lXrender
+            }
+            maemo5 {
+                HEADERS += $$PWD/WebCoreSupport/QtMaemoWebPopup.h
+                SOURCES += $$PWD/WebCoreSupport/QtMaemoWebPopup.cpp
+            }
+        }
+    }
+    win32-* {
+        LIBS += \
+            -ladvapi32 \
+            -lgdi32 \
+            -lshell32 \
+            -lshlwapi \
+            -luser32 \
+            -lversion
+    }
+}
+
+contains(DEFINES, ENABLE_SQLITE=1) {
+    !system-sqlite:exists( $${SQLITE3SRCDIR}/sqlite3.c ) {
+            # Build sqlite3 into WebCore from source
+            # somewhat copied from $$QT_SOURCE_TREE/src/plugins/sqldrivers/sqlite/sqlite.pro
+            INCLUDEPATH += $${SQLITE3SRCDIR}
+            SOURCES += $${SQLITE3SRCDIR}/sqlite3.c
+            DEFINES += SQLITE_CORE SQLITE_OMIT_LOAD_EXTENSION SQLITE_OMIT_COMPLETE
+            CONFIG(release, debug|release): DEFINES *= NDEBUG
+            contains(DEFINES, ENABLE_SINGLE_THREADED=1): DEFINES += SQLITE_THREADSAFE=0
+    } else {
+        # Use sqlite3 from the underlying OS
+        CONFIG(QTDIR_build) {
+            QMAKE_CXXFLAGS *= $$QT_CFLAGS_SQLITE
+            LIBS *= $$QT_LFLAGS_SQLITE
+        } else {
+            INCLUDEPATH += $${SQLITE3SRCDIR}
+            LIBS += -lsqlite3
+        }
+    }
+    wince*:DEFINES += HAVE_LOCALTIME_S=0
+}
+
+contains(DEFINES, ENABLE_VIDEO=1) {
+    !contains(DEFINES, USE_GSTREAMER=1):contains(MOBILITY_CONFIG, multimedia) {
+        HEADERS += \
+            $$PWD/WebCoreSupport/FullScreenVideoQt.h \
+            $$PWD/WebCoreSupport/FullScreenVideoWidget.h
+
+        SOURCES += \
+            $$PWD/WebCoreSupport/FullScreenVideoQt.cpp \
+            $$PWD/WebCoreSupport/FullScreenVideoWidget.cpp
+    }
+}
+
+contains(DEFINES, ENABLE_DEVICE_ORIENTATION=1) {
+    HEADERS += \
+        $$PWD/WebCoreSupport/DeviceMotionClientQt.h \
+        $$PWD/WebCoreSupport/DeviceMotionProviderQt.h \
+        $$PWD/WebCoreSupport/DeviceOrientationClientQt.h \
+        $$PWD/WebCoreSupport/DeviceOrientationClientMockQt.h \
+        $$PWD/WebCoreSupport/DeviceOrientationProviderQt.h
+
+    SOURCES += \
+        $$PWD/WebCoreSupport/DeviceMotionClientQt.cpp \
+        $$PWD/WebCoreSupport/DeviceMotionProviderQt.cpp \
+        $$PWD/WebCoreSupport/DeviceOrientationClientQt.cpp \
+        $$PWD/WebCoreSupport/DeviceOrientationClientMockQt.cpp \
+        $$PWD/WebCoreSupport/DeviceOrientationProviderQt.cpp
+}
+
+contains(DEFINES, ENABLE_GEOLOCATION=1) {
+     HEADERS += \
+        $$PWD/WebCoreSupport/GeolocationClientQt.h
+     SOURCES += \
+        $$PWD/WebCoreSupport/GeolocationClientQt.cpp
+}
+
+!symbian-abld:!symbian-sbsv2 {
+    modfile.files = $$moduleFile
+    modfile.path = $$[QMAKE_MKSPECS]/modules
+
+    INSTALLS += modfile
+} else {
+    # INSTALLS is not implemented in qmake's mmp generators, copy headers manually
+
+    inst_modfile.commands = $$QMAKE_COPY ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT}
+    inst_modfile.input = moduleFile
+    inst_modfile.output = $$[QMAKE_MKSPECS]/modules
+    inst_modfile.CONFIG = no_clean
+
+    QMAKE_EXTRA_COMPILERS += inst_modfile
+
+    install.depends += compiler_inst_modfile_make_all
+    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
+
+    !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_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
+
+        !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
+
+        install.depends += compiler_inst_headers_make_all
+    }
+
+    win32-*|wince* {
+        DLLDESTDIR = $$OUTPUT_DIR/bin
+        build_pass: TARGET = $$qtLibraryTarget($$TARGET)
+
+        dlltarget.commands = $(COPY_FILE) $(DESTDIR_TARGET) $$[QT_INSTALL_BINS]
+        dlltarget.CONFIG = no_path
+        INSTALLS += dlltarget
+    }
+
+    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.")
+
+                CONFIG += build_all
+            } else {
+                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
+        }
+
+        QMAKE_LFLAGS_SONAME = "$${QMAKE_LFLAGS_SONAME}$${DESTDIR}$${QMAKE_DIR_SEP}"
+        LIBS += -framework Carbon -framework AppKit
+    }
+}
+
+win32:!win32-g++*:contains(QMAKE_HOST.arch, x86_64):{
+    asm_compiler.commands = ml64 /c
+    asm_compiler.commands +=  /Fo ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
+    asm_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
+    asm_compiler.input = ASM_SOURCES
+    asm_compiler.variable_out = OBJECTS
+    asm_compiler.name = compiling[asm] ${QMAKE_FILE_IN}
+    silent:asm_compiler.commands = @echo compiling[asm] ${QMAKE_FILE_IN} && $$asm_compiler.commands
+    QMAKE_EXTRA_COMPILERS += asm_compiler
+
+    ASM_SOURCES += \
+        $$SOURCE_DIR/WebCore/plugins/win/PaintHooks.asm
+   if(win32-msvc2005|win32-msvc2008):equals(TEMPLATE_PREFIX, "vc") {
+        SOURCES += \
+            $$SOURCE_DIR/WebCore/plugins/win/PaintHooks.asm
+   }
+}
+
+symbian {
+    shared {
+        contains(CONFIG, def_files) {
+            DEF_FILE=symbian
+            # defFilePath is for Qt4.6 compatibility
+            defFilePath=symbian
+        } else {
+            MMP_RULES += EXPORTUNFROZEN
+        }
+    }
+}
+
+contains(DEFINES, ENABLE_SYMBIAN_DIALOG_PROVIDERS) {
+    # this feature requires the S60 platform private BrowserDialogsProvider.h header file
+    # and is therefore not enabled by default but only meant for platform builds.
+    symbian {
+        LIBS += -lbrowserdialogsprovider
+    }
+}
index bdc9d83..7a65538 100644 (file)
@@ -1,3 +1,20 @@
+2011-02-22  Andras Becsi  <abecsi@webkit.org>
+
+        Reviewed by Laszlo Gombos.
+
+        [Qt] Redesign the build system
+        https://bugs.webkit.org/show_bug.cgi?id=51339
+
+        Part 2.
+
+        Build WebCore as a static library, compile the WebKit API and WebKit2 API
+        in a final step and link to WebKit2, WebCore and JSC libraries to fix
+        linking issues resulting from stripped away symbols.
+
+        * WebKit2.pri: Add include paths.
+        * WebKit2.pro: Move include paths to WebKit2.pri and move
+        the API source to WebKit/qt/QtWebKit.pro
+
 2011-02-22  Benjamin Poulain  <benjamin.poulain@nokia.com>
 
         Reviewed by Kenneth Rohde Christiansen.
index da08ea8..495e12b 100644 (file)
@@ -1,6 +1,6 @@
 # WebKit2 - Qt4 build info
 
-QT += network
+SOURCE_DIR = $$replace(PWD, /WebKit2, "")
 
 # Use a config-specific target to prevent parallel builds file clashes on Mac
 mac: CONFIG(debug, debug|release): WEBKIT2_TARGET = webkit2d
@@ -10,6 +10,58 @@ else: WEBKIT2_TARGET = webkit2
 CONFIG(debug, debug|release) : WEBKIT2_DESTDIR = debug
 else: WEBKIT2_DESTDIR = release
 
+CONFIG(standalone_package) {
+    isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = $$PWD/generated
+} else {
+    isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = generated
+}
+
+WEBKIT2_INCLUDEPATH = \
+    $$SOURCE_DIR/WebKit2 \
+    $$SOURCE_DIR/WebKit2/Platform \
+    $$SOURCE_DIR/WebKit2/Platform/CoreIPC \
+    $$SOURCE_DIR/WebKit2/Platform/qt \
+    $$SOURCE_DIR/WebKit2/Shared \
+    $$SOURCE_DIR/WebKit2/Shared/API/c \
+    $$SOURCE_DIR/WebKit2/Shared/CoreIPCSupport \
+    $$SOURCE_DIR/WebKit2/Shared/Plugins \
+    $$SOURCE_DIR/WebKit2/Shared/Plugins/Netscape \
+    $$SOURCE_DIR/WebKit2/Shared/qt \
+    $$SOURCE_DIR/WebKit2/UIProcess \
+    $$SOURCE_DIR/WebKit2/UIProcess/API/C \
+    $$SOURCE_DIR/WebKit2/UIProcess/API/cpp \
+    $$SOURCE_DIR/WebKit2/UIProcess/API/cpp/qt \
+    $$SOURCE_DIR/WebKit2/UIProcess/API/qt \
+    $$SOURCE_DIR/WebKit2/UIProcess/Authentication \
+    $$SOURCE_DIR/WebKit2/UIProcess/Downloads \
+    $$SOURCE_DIR/WebKit2/UIProcess/Launcher \
+    $$SOURCE_DIR/WebKit2/UIProcess/Plugins \
+    $$SOURCE_DIR/WebKit2/UIProcess/qt \
+    $$SOURCE_DIR/WebKit2/WebProcess \
+    $$SOURCE_DIR/WebKit2/WebProcess/Authentication \
+    $$SOURCE_DIR/WebKit2/WebProcess/Downloads \
+    $$SOURCE_DIR/WebKit2/WebProcess/Downloads/qt \
+    $$SOURCE_DIR/WebKit2/WebProcess/Geolocation \
+    $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle \
+    $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/DOM \
+    $$SOURCE_DIR/WebKit2/WebProcess/InjectedBundle/API/c \
+    $$SOURCE_DIR/WebKit2/WebProcess/Plugins \
+    $$SOURCE_DIR/WebKit2/WebProcess/Plugins/Netscape \
+    $$SOURCE_DIR/WebKit2/WebProcess/ResourceCache \
+    $$SOURCE_DIR/WebKit2/WebProcess/WebCoreSupport \
+    $$SOURCE_DIR/WebKit2/WebProcess/WebCoreSupport/qt \
+    $$SOURCE_DIR/WebKit2/WebProcess/WebPage \
+    $$SOURCE_DIR/WebKit2/WebProcess/qt
+
+# On Symbian PREPEND_INCLUDEPATH is the best way to make sure that WebKit headers
+# are included before platform headers.
+
+symbian {
+    PREPEND_INCLUDEPATH = $$WEBKIT2_INCLUDEPATH $$WEBKIT2_GENERATED_SOURCES_DIR $$PREPEND_INCLUDEPATH
+} else {
+    INCLUDEPATH = $$WEBKIT2_INCLUDEPATH $$WEBKIT2_GENERATED_SOURCES_DIR $$INCLUDEPATH
+}
+
 defineTest(_addWebKit2Lib_common) {
     pathToWebKit2Output = $$ARGS/$$WEBKIT2_DESTDIR
 
index 134ab93..32ea293 100644 (file)
@@ -5,14 +5,6 @@ CONFIG += depend_includepath
 
 isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../..
 
-CONFIG(standalone_package) {
-    isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = $$PWD/generated
-    isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = $$PWD/../WebCore/generated
-} else {
-    isEmpty(WEBKIT2_GENERATED_SOURCES_DIR):WEBKIT2_GENERATED_SOURCES_DIR = generated
-    isEmpty(WC_GENERATED_SOURCES_DIR):WC_GENERATED_SOURCES_DIR = ../WebCore/generated
-}
-
 include($$PWD/../WebKit.pri)
 include($$PWD/../JavaScriptCore/JavaScriptCore.pri)
 include($$PWD/../WebCore/WebCore.pri)
@@ -33,58 +25,6 @@ DESTDIR = $$WEBKIT2_DESTDIR
 # Build both debug and release configurations
 mac: CONFIG += build_all
 
-WEBKIT2_INCLUDEPATH = \
-    $$PWD \
-    Platform \
-    Platform/CoreIPC \
-    Platform/qt \
-    Shared \
-    Shared/API/c \
-    Shared/CoreIPCSupport \
-    Shared/Plugins \
-    Shared/Plugins/Netscape \
-    Shared/qt \
-    UIProcess \
-    UIProcess/API/C \
-    UIProcess/API/cpp \
-    UIProcess/API/cpp/qt \
-    UIProcess/API/qt \
-    UIProcess/Authentication \
-    UIProcess/Downloads \
-    UIProcess/Launcher \
-    UIProcess/Plugins \
-    UIProcess/qt \
-    WebProcess \
-    WebProcess/Authentication \
-    WebProcess/Downloads \
-    WebProcess/Downloads/qt \
-    WebProcess/Geolocation \
-    WebProcess/InjectedBundle \
-    WebProcess/InjectedBundle/DOM \
-    WebProcess/InjectedBundle/API/c \
-    WebProcess/ResourceCache \
-    WebProcess/Plugins \
-    WebProcess/Plugins/Netscape \
-    WebProcess/WebCoreSupport \
-    WebProcess/WebCoreSupport/qt \
-    WebProcess/WebPage \
-    WebProcess/qt \
-    $$OUTPUT_DIR/include
-
-WEBKIT2_INCLUDEPATH = \
-    $$WC_GENERATED_SOURCES_DIR \
-    $$WEBKIT2_GENERATED_SOURCES_DIR \
-    $$WEBKIT2_INCLUDEPATH
-
-# On Symbian PREPEND_INCLUDEPATH is the best way to make sure that WebKit headers
-# are included before platform headers.
-
-symbian {
-    PREPEND_INCLUDEPATH = $$WEBKIT2_INCLUDEPATH $$PREPEND_INCLUDEPATH
-} else {
-    INCLUDEPATH = $$WEBKIT2_INCLUDEPATH $$INCLUDEPATH
-}
-
 WEBKIT2_GENERATED_HEADERS = \
     $$WEBKIT2_GENERATED_SOURCES_DIR/AuthenticationManagerMessages.h \
     $$WEBKIT2_GENERATED_SOURCES_DIR/DownloadProxyMessages.h \
@@ -148,25 +88,6 @@ HEADERS += \
     Platform/SharedMemory.h \
     Platform/WorkItem.h \
     Platform/WorkQueue.h \
-    Shared/API/c/WKBase.h \
-    Shared/API/c/WKCertificateInfo.h \
-    Shared/API/c/WKContextMenuItem.h \
-    Shared/API/c/WKContextMenuItemTypes.h \
-    Shared/API/c/WKGeometry.h \
-    Shared/API/c/WKGraphicsContext.h \
-    Shared/API/c/WKImage.h \
-    Shared/API/c/WKNumber.h \
-    Shared/API/c/WKPageLoadTypes.h \
-    Shared/API/c/WKSecurityOrigin.h \
-    Shared/API/c/WKSerializedScriptValue.h \
-    Shared/API/c/WKSharedAPICast.h \
-    Shared/API/c/WKString.h \
-    Shared/API/c/WKStringPrivate.h \
-    Shared/API/c/WKType.h \
-    Shared/API/c/WKURL.h \
-    Shared/API/c/WKURLRequest.h \
-    Shared/API/c/WKURLResponse.h \
-    Shared/API/c/WKUserContentURLPattern.h \
     Shared/ShareableBitmap.h \
     Shared/CacheModel.h \
     Shared/ChildProcess.h \
@@ -216,49 +137,6 @@ HEADERS += \
     Shared/qt/PlatformCertificateInfo.h \
     Shared/qt/UpdateChunk.h \
     Shared/qt/WebEventFactoryQt.h \
-    UIProcess/API/C/WKAPICast.h \
-    UIProcess/API/C/WKAuthenticationChallenge.h \
-    UIProcess/API/C/WKAuthenticationDecisionListener.h \
-    UIProcess/API/C/WKBackForwardList.h \
-    UIProcess/API/C/WKBackForwardListItem.h \
-    UIProcess/API/C/WKResourceCacheManager.h \
-    UIProcess/API/C/WKContext.h \
-    UIProcess/API/C/WKContextPrivate.h \
-    UIProcess/API/C/WKCredential.h \
-    UIProcess/API/C/WKCredentialTypes.h \
-    UIProcess/API/C/WKDatabaseManager.h \
-    UIProcess/API/C/WKDownload.h \
-    UIProcess/API/C/WKFrame.h \
-    UIProcess/API/C/WKFramePolicyListener.h \
-    UIProcess/API/C/WKGeolocationManager.h \
-    UIProcess/API/C/WKGeolocationPermissionRequest.h \
-    UIProcess/API/C/WKGeolocationPosition.h \
-    UIProcess/API/C/WKInspector.h \
-    UIProcess/API/C/WKOpenPanelParameters.h \
-    UIProcess/API/C/WKOpenPanelResultListener.h \
-    UIProcess/API/C/WKNavigationData.h \
-    UIProcess/API/C/WKPage.h \
-    UIProcess/API/C/WKPageGroup.h \
-    UIProcess/API/C/WKPagePrivate.h \
-    UIProcess/API/C/WKPluginSiteDataManager.h \
-    UIProcess/API/C/WKPreferences.h \
-    UIProcess/API/C/WKPreferencesPrivate.h \
-    UIProcess/API/C/WKProtectionSpace.h \
-    UIProcess/API/C/WKProtectionSpaceTypes.h \
-    UIProcess/API/C/WebKit2.h \
-    UIProcess/API/C/qt/WKNativeEvent.h \
-    UIProcess/API/cpp/WKRetainPtr.h \
-    UIProcess/API/cpp/qt/WKStringQt.h \
-    UIProcess/API/cpp/qt/WKURLQt.h \
-    UIProcess/API/qt/ClientImpl.h \
-    UIProcess/API/qt/qgraphicswkview.h \
-    UIProcess/API/qt/qwkcontext.h \
-    UIProcess/API/qt/qwkcontext_p.h \
-    UIProcess/API/qt/qwkhistory.h \
-    UIProcess/API/qt/qwkhistory_p.h \
-    UIProcess/API/qt/qwkpage.h \
-    UIProcess/API/qt/qwkpage_p.h \
-    UIProcess/API/qt/qwkpreferences.h \
     UIProcess/Authentication/AuthenticationChallengeProxy.h \
     UIProcess/Authentication/AuthenticationDecisionListener.h \
     UIProcess/Authentication/WebCredential.h \
@@ -317,15 +195,6 @@ HEADERS += \
     WebProcess/Downloads/DownloadManager.h \
     WebProcess/Geolocation/GeolocationPermissionRequestManager.h \
     WebProcess/Geolocation/WebGeolocationManager.h \
-    WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.h \
-    WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h \
-    WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h \
-    WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.h \
-    WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.h \
-    WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h \
-    WebProcess/InjectedBundle/API/c/WKBundlePage.h \
-    WebProcess/InjectedBundle/API/c/WKBundlePageGroup.h \
-    WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h \
     WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h \
     WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h \
     WebProcess/InjectedBundle/InjectedBundle.h \
@@ -395,20 +264,6 @@ SOURCES += \
     Platform/qt/RunLoopQt.cpp \
     Platform/qt/SharedMemoryQt.cpp \
     Platform/qt/WorkQueueQt.cpp \
-    Shared/API/c/WKArray.cpp \
-    Shared/API/c/WKCertificateInfo.cpp \
-    Shared/API/c/WKContextMenuItem.cpp \
-    Shared/API/c/WKGraphicsContext.cpp \
-    Shared/API/c/WKImage.cpp \
-    Shared/API/c/WKNumber.cpp \
-    Shared/API/c/WKSecurityOrigin.cpp \
-    Shared/API/c/WKSerializedScriptValue.cpp \
-    Shared/API/c/WKString.cpp \
-    Shared/API/c/WKType.cpp \
-    Shared/API/c/WKURL.cpp \
-    Shared/API/c/WKURLRequest.cpp \
-    Shared/API/c/WKURLResponse.cpp \
-    Shared/API/c/WKUserContentURLPattern.cpp \
     Shared/Plugins/Netscape/NetscapePluginModule.cpp \
     Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp \
     Shared/ShareableBitmap.cpp \
@@ -453,37 +308,6 @@ SOURCES += \
     Shared/qt/WebEventFactoryQt.cpp \
     Shared/qt/WebURLRequestQt.cpp \
     Shared/qt/WebURLResponseQt.cpp \
-    UIProcess/API/C/WKAuthenticationChallenge.cpp \
-    UIProcess/API/C/WKAuthenticationDecisionListener.cpp \
-    UIProcess/API/C/WKBackForwardList.cpp \
-    UIProcess/API/C/WKBackForwardListItem.cpp \
-    UIProcess/API/C/WKResourceCacheManager.cpp \
-    UIProcess/API/C/WKContext.cpp \
-    UIProcess/API/C/WKCredential.cpp \
-    UIProcess/API/C/WKDatabaseManager.cpp \
-    UIProcess/API/C/WKDownload.cpp \
-    UIProcess/API/C/WKFrame.cpp \
-    UIProcess/API/C/WKFramePolicyListener.cpp \
-    UIProcess/API/C/WKGeolocationManager.cpp \
-    UIProcess/API/C/WKGeolocationPermissionRequest.cpp \
-    UIProcess/API/C/WKGeolocationPosition.cpp \
-    UIProcess/API/C/WKInspector.cpp \
-    UIProcess/API/C/WKOpenPanelParameters.cpp \
-    UIProcess/API/C/WKOpenPanelResultListener.cpp \
-    UIProcess/API/C/WKNavigationData.cpp \
-    UIProcess/API/C/WKPage.cpp \
-    UIProcess/API/C/WKPageGroup.cpp \
-    UIProcess/API/C/WKPluginSiteDataManager.cpp \
-    UIProcess/API/C/WKPreferences.cpp \
-    UIProcess/API/C/WKProtectionSpace.cpp \
-    UIProcess/API/cpp/qt/WKStringQt.cpp \
-    UIProcess/API/cpp/qt/WKURLQt.cpp \
-    UIProcess/API/qt/ClientImpl.cpp \
-    UIProcess/API/qt/qgraphicswkview.cpp \
-    UIProcess/API/qt/qwkcontext.cpp \
-    UIProcess/API/qt/qwkhistory.cpp \
-    UIProcess/API/qt/qwkpage.cpp \
-    UIProcess/API/qt/qwkpreferences.cpp \
     UIProcess/Authentication/AuthenticationChallengeProxy.cpp \
     UIProcess/Authentication/AuthenticationDecisionListener.cpp \
     UIProcess/Authentication/WebCredential.cpp \
@@ -551,18 +375,6 @@ SOURCES += \
     WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp \
     WebProcess/Geolocation/WebGeolocationManager.cpp \
     WebProcess/Downloads/qt/DownloadQt.cpp \
-    WebProcess/InjectedBundle/API/c/WKBundle.cpp \
-    WebProcess/InjectedBundle/API/c/WKBundleBackForwardList.cpp \
-    WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp \
-    WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp \
-    WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp \
-    WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp \
-    WebProcess/InjectedBundle/API/c/WKBundleNavigationAction.cpp \
-    WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp \
-    WebProcess/InjectedBundle/API/c/WKBundlePage.cpp \
-    WebProcess/InjectedBundle/API/c/WKBundlePageGroup.cpp \
-    WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp \
-    WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp \
     WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp \
     WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp \
     WebProcess/InjectedBundle/InjectedBundle.cpp \
index 42b0a1c..a35c085 100644 (file)
@@ -1,3 +1,18 @@
+2011-02-22  Andras Becsi  <abecsi@webkit.org>
+
+        Reviewed by Laszlo Gombos.
+
+        [Qt] Redesign the build system
+        https://bugs.webkit.org/show_bug.cgi?id=51339
+
+        Part 2.
+
+        Build WebCore as a static library, compile the WebKit API and WebKit2 API
+        in a final step and link to WebKit2, WebCore and JSC libraries to fix
+        linking issues resulting from stripped away symbols.
+
+        * WebKitTestRunner/InjectedBundle/qt/InjectedBundle.pro: Remove superfluous includepaths.
+
 2011-02-21  Lukasz Slachciak  <l.slachciak@samsung.com>
 
         Reviewed by Antonio Gomes.
index 24db4b8..e390997 100644 (file)
@@ -49,23 +49,25 @@ addJavaScriptCoreLib(../../../JavaScriptCore)
 include(../../../../Source/WebKit2/WebKit2.pri)
 addWebKit2Lib(../../../WebKit2)
 
-INCLUDEPATH += \
+INCLUDEPATH = \
     $$PWD \
     $$PWD/.. \
     $$PWD/../.. \
     $$PWD/../Bindings \
+    $$PWD/../../../../Source \
     $$PWD/../../../../Source/JavaScriptCore \
-    $$PWD/../../../../Source/JavaScriptCore/wtf \
+    $$PWD/../../../../Source/JavaScriptCore/ForwardingHeaders \
+    $$PWD/../../../../Source/JavaScriptCore/wtf/unicode \
     $$PWD/../../../../Source/WebCore \
     $$PWD/../../../../Source/WebCore/platform/text \
     $$PWD/../../../../Source/WebKit2 \
     $$PWD/../../../../Source/WebKit2/Shared \
-    $$GENERATED_SOURCES_DIR
-
-INCLUDEPATH += \
+    $$OUTPUT_DIR/include/QtWebKit \
     $$OUTPUT_DIR/include \
+    $$GENERATED_SOURCES_DIR \
     $$WC_GENERATED_SOURCES_DIR
 
+
 PREFIX_HEADER = $$PWD/../../WebKitTestRunnerPrefix.h
 *-g++*:QMAKE_CXXFLAGS += "-include $$PREFIX_HEADER"