Created
February 26, 2012 16:25
-
-
Save anonymous/1917493 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git i/Source/api.pri w/Source/api.pri | |
index d22d43c..6b23ea4 100644 | |
--- i/Source/api.pri | |
+++ w/Source/api.pri | |
@@ -4,10 +4,24 @@ | |
# See 'Tools/qmake/README' for an overview of the build system | |
# ------------------------------------------------------------------- | |
-TEMPLATE = lib | |
TARGET = QtWebKit | |
-DESTDIR = $${ROOT_BUILD_DIR}/lib | |
+haveQt(5) { | |
+ # Use Qt5's module system | |
+ load(qt_module) | |
+ MODULE = webkit | |
+ MODULE_PRI = $$QT.webkit.module_pri | |
+ CONFIG += module | |
+ load(qt_module_config) | |
+ | |
+ message(TARGET=$$TARGET) | |
+ message(DESTDIR=$$DESTDIR) | |
+ | |
+ # FIXME: Copy libraries back to lib as well, since our own tools use rpath | |
+ # new makefile rule to QMAKE_COPY $$DESTDIR/$$QT.webkit.name* (or libs) | |
+} else { | |
+ DESTDIR = $${ROOT_BUILD_DIR}/lib | |
+} | |
runSyncQt() # Generate forwarding headers for the QtWebKit API | |
@@ -169,55 +183,53 @@ contains(CONFIG, texmap) { | |
DEFINES += WTF_USE_TEXTURE_MAPPER=1 | |
} | |
+plugin_backend_xlib: PKGCONFIG += x11 | |
# ------------- Install rules ------------- | |
-modulefile.files = $$QT.webkit.modulefile | |
-mkspecs = $$[QMAKE_MKSPECS] | |
-mkspecs = $$split(mkspecs, :) | |
-modulefile.path = $$last(mkspecs)/modules | |
-INSTALLS += modulefile | |
- | |
-# Syncqt has already run at this point, so we can use headers.pri | |
-# as a basis for our install-rules | |
-HEADERS_PRI = $${ROOT_BUILD_DIR}/include/$$TARGET/headers.pri | |
-!include($$HEADERS_PRI): error(Failed to resolve install headers) | |
- | |
-headers.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES | |
-!isEmpty(INSTALL_HEADERS): headers.path = $$INSTALL_HEADERS/$${TARGET} | |
-else: headers.path = $$[QT_INSTALL_HEADERS]/$${TARGET} | |
-INSTALLS += headers | |
- | |
-!isEmpty(INSTALL_LIBS): target.path = $$INSTALL_LIBS | |
-else: target.path = $$[QT_INSTALL_LIBS] | |
-INSTALLS += target | |
- | |
-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 | |
-} | |
+haveQt(5) { | |
+ # Install rules handled by Qt's module system | |
+} else { | |
+ # For Qt4 we have to set up install rules manually | |
+ | |
+ # Syncqt has already run at this point, so we can use headers.pri | |
+ # as a basis for our install-rules | |
+ HEADERS_PRI = $${ROOT_BUILD_DIR}/include/$${QT.webkit.name}/headers.pri | |
+ !include($$HEADERS_PRI): error(Failed to resolve install headers) | |
+ | |
+ headers.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES | |
+ !isEmpty(INSTALL_HEADERS): headers.path = $$INSTALL_HEADERS/$${TARGET} | |
+ else: headers.path = $$[QT_INSTALL_HEADERS]/$${TARGET} | |
+ INSTALLS += headers | |
+ | |
+ !isEmpty(INSTALL_LIBS): target.path = $$INSTALL_LIBS | |
+ else: target.path = $$[QT_INSTALL_LIBS] | |
+ INSTALLS += target | |
+ | |
+ 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) { | |
- # Build QtWebKit as a framework, to match how Qt was built | |
- CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework | |
- | |
- # For debug_and_release configs, only copy headers in release | |
- !debug_and_release|if(build_pass:CONFIG(release, debug|release)) { | |
- FRAMEWORK_HEADERS.version = Versions | |
- FRAMEWORK_HEADERS.files = $${headers.files} | |
- FRAMEWORK_HEADERS.path = Headers | |
- QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS | |
+ mac { | |
+ !static:contains(QT_CONFIG, qt_framework) { | |
+ # Build QtWebKit as a framework, to match how Qt was built | |
+ CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework | |
+ | |
+ # For debug_and_release configs, only copy headers in release | |
+ !debug_and_release|if(build_pass:CONFIG(release, debug|release)) { | |
+ 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}" | |
+ QMAKE_LFLAGS_SONAME = "$${QMAKE_LFLAGS_SONAME}$${DESTDIR}$${QMAKE_DIR_SEP}" | |
+ } | |
} | |
- | |
-plugin_backend_xlib: PKGCONFIG += x11 | |
- | |
diff --git i/Source/sync.profile w/Source/sync.profile | |
index 6cbcef3..246b5c1 100644 | |
--- i/Source/sync.profile | |
+++ w/Source/sync.profile | |
@@ -13,6 +13,6 @@ | |
"script" => "#include <QtScript/QtScript>\n", | |
); | |
%modulepris = ( | |
- "QtWebKit" => "$basedir/../Tools/qmake/mkspecs/modules/qt_webkit.pri", | |
+ "QtWebKit" => "$basedir/../Tools/qmake/qt_webkit.pri", | |
); | |
@ignore_for_master_contents = ( "qwebscriptworld.h", "testwindow.h", "util.h" ); | |
diff --git i/Tools/qmake/mkspecs/features/default_post.prf w/Tools/qmake/mkspecs/features/default_post.prf | |
index b5d879e..53357c9 100644 | |
--- i/Tools/qmake/mkspecs/features/default_post.prf | |
+++ w/Tools/qmake/mkspecs/features/default_post.prf | |
@@ -188,7 +188,7 @@ contains(TEMPLATE, lib) { | |
mac: CONFIG += build_all | |
# Prevent name clashes when building both debug and release | |
- debug_and_release: TARGET = $$qtLibraryTarget($$TARGET) | |
+ !module:debug_and_release: TARGET = $$qtLibraryTarget($$TARGET) | |
isEmpty(DESTDIR): DESTDIR = $$activeBuildConfig() | |
diff --git i/Tools/qmake/mkspecs/features/default_pre.prf w/Tools/qmake/mkspecs/features/default_pre.prf | |
index 776728d..a30e0bb 100644 | |
--- i/Tools/qmake/mkspecs/features/default_pre.prf | |
+++ w/Tools/qmake/mkspecs/features/default_pre.prf | |
@@ -95,9 +95,5 @@ haveQt(5): { | |
} | |
} | |
-QT.webkit.modulefile = $${ROOT_WEBKIT_DIR}/Tools/qmake/mkspecs/modules/qt_webkit.pri | |
-include($$QT.webkit.modulefile) | |
-VERSION = $${QT.webkit.VERSION} | |
- | |
# Set some defaults for specific platforms | |
CONFIG += include_webinspector | |
diff --git i/Tools/qmake/mkspecs/modules/qt_webkit.pri w/Tools/qmake/mkspecs/modules/qt_webkit.pri | |
deleted file mode 100644 | |
index a4cf684..0000000 | |
--- i/Tools/qmake/mkspecs/modules/qt_webkit.pri | |
+++ /dev/null | |
@@ -1,24 +0,0 @@ | |
-QT.webkit.VERSION = 4.10.0 | |
-QT.webkit.MAJOR_VERSION = 4 | |
-QT.webkit.MINOR_VERSION = 10 | |
-QT.webkit.PATCH_VERSION = 0 | |
- | |
-QT.webkit.name = QtWebKit | |
-QT.webkit.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtWebKit | |
-QT.webkit.private_includes = $$QT_MODULE_INCLUDE_BASE/$$QT.webkit.name/$$QT.webkit.VERSION | |
-QT.webkit.sources = $$QT_MODULE_BASE | |
-QT.webkit.libs = $$QT_MODULE_LIB_BASE | |
-QT.webkit.depends = core gui opengl network xmlpatterns script | |
- | |
-!contains(QT_CONFIG, modular)|contains(QT_ELIGIBLE_MODULES, webkit) { | |
- QT_CONFIG += webkit | |
-} else { | |
- warning("Attempted to include $$QT.webkit.name in the build, but it was not enabled in configure.") | |
-} | |
- | |
-# This is the old syntax for the WebKit version defines. | |
-# We keep them around in case someone was using them. | |
-QT_WEBKIT_VERSION = $$QT.webkit.VERSION | |
-QT_WEBKIT_MAJOR_VERSION = $$QT.webkit.MAJOR_VERSION | |
-QT_WEBKIT_MINOR_VERSION = $$QT.webkit.MINOR_VERSION | |
-QT_WEBKIT_PATCH_VERSION = $$QT.webkit.PATCH_VERSION |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment