summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2016-07-01 14:14:41 +0200
committerAlexandru Croitor <alexandru.croitor@theqtcompany.com>2016-07-01 16:05:13 +0000
commit9e65aaf4e0d0c5b5d927f2fbc5c8aa052bae24b8 (patch)
tree2cdffa305826ac7e71b3db766621ef54fdcf788c
parentec5a99b0515779ff5ec3df6bd657127b4e037823 (diff)
Fix building on OS X 10.9 with 10.10 SDK
Previously building on OS X 10.9 was only allowed with a 10.10.3 SDK. But there is no supported version of Xcode on 10.9 that would ship with that SDK, which lead to the fact that there was no way to compile WebEngine with an officialy provided toolchain. This patch lowers the requirement of the SDK to 10.10, at the expense of disabling usage of API that was added in the 10.10.3 SDK release (Force Touch API). The required minimum Xcode version is thus bumped to 6.1, and the documentation is updated accordingly. Task-number: QTBUG-54486 Change-Id: I025caa336ceac5b8ea76ef451eb5e6b78abfe0c9 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
m---------src/3rdparty0
-rw-r--r--src/core/config/mac_osx.pri5
-rw-r--r--src/webengine/doc/src/qtwebengine-platform-notes.qdoc8
-rw-r--r--tools/qmake/mkspecs/features/configure.prf3
-rw-r--r--tools/qmake/mkspecs/features/functions.prf10
5 files changed, 21 insertions, 5 deletions
diff --git a/src/3rdparty b/src/3rdparty
-Subproject 77c17ae35f825cb70e46b880fb0b5ed7be83709
+Subproject c109a95a067af783e48f93d1cdeca870cda9887
diff --git a/src/core/config/mac_osx.pri b/src/core/config/mac_osx.pri
index 83ddea233..c447add4a 100644
--- a/src/core/config/mac_osx.pri
+++ b/src/core/config/mac_osx.pri
@@ -1,4 +1,5 @@
include(common.pri)
+load(functions)
# Reuse the cached sdk version value from mac/sdk.prf if available
# otherwise query for it.
@@ -26,5 +27,9 @@ GYP_CONFIG += \
clang_use_chrome_plugins=0 \
enable_widevine=1
+# Force touch API is used in 49-based Chromium, which is included starting with 10.10.3 SDK, so we
+# disable the API usage if the SDK version is lower.
+!isMinOSXSDKVersion(10, 10, 3): GYP_CONFIG += disable_force_touch=1
+
QMAKE_MAC_SDK_PATH = "$$eval(QMAKE_MAC_SDK.$${QMAKE_MAC_SDK}.path)"
exists($$QMAKE_MAC_SDK_PATH): GYP_CONFIG += mac_sdk_path=\"$${QMAKE_MAC_SDK_PATH}\"
diff --git a/src/webengine/doc/src/qtwebengine-platform-notes.qdoc b/src/webengine/doc/src/qtwebengine-platform-notes.qdoc
index ecec53bda..989c69d6c 100644
--- a/src/webengine/doc/src/qtwebengine-platform-notes.qdoc
+++ b/src/webengine/doc/src/qtwebengine-platform-notes.qdoc
@@ -114,7 +114,13 @@
\section2 OS X
- On OS X, Xcode version 5.1 or later on OS X 10.9 or later is required.
+ On OS X, the following is required:
+
+ \list
+ \li OS X 10.9 or later
+ \li Xcode 6.1 or later
+ \li OS X 10.10 SDK or later
+ \endlist
\note Qt WebEngine cannot be built for the 32-bit mode of OS X (using the
\c macx-clang-32 \c mkspec).
diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf
index 7ef4b8545..cb6fb8fda 100644
--- a/tools/qmake/mkspecs/features/configure.prf
+++ b/tools/qmake/mkspecs/features/configure.prf
@@ -128,6 +128,9 @@ defineTest(finalizeConfigure) {
} else {
log("AppStore Compliant ............... Not enabled (Default, enable with WEBENGINE_CONFIG+=use_appstore_compliant_code)$${EOL}")
}
+ !isMinOSXSDKVersion(10, 10, 3) {
+ log("Force Touch API usage ............ Not enabled (Because the OS X SDK version to be used \"$${WEBENGINE_OSX_SDK_PRODUCT_VERSION}\" is lower than the required \"10.10.3\")$${EOL}")
+ }
}
}
diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf
index 33bebb47a..a5cf5ca77 100644
--- a/tools/qmake/mkspecs/features/functions.prf
+++ b/tools/qmake/mkspecs/features/functions.prf
@@ -23,8 +23,8 @@ defineTest(isPlatformSupported) {
skipBuild("Qt WebEngine on Windows must be built on a 64-bit machine.")
}
} else:osx {
- lessThan(QMAKE_XCODE_VERSION, 5.1) {
- skipBuild("Using XCode version $$QMAKE_XCODE_VERSION, but at least version 5.1 is required to build Qt WebEngine.")
+ lessThan(QMAKE_XCODE_VERSION, 6.1) {
+ skipBuild("Using XCode version $$QMAKE_XCODE_VERSION, but at least version 6.1 is required to build Qt WebEngine.")
return(false)
}
# We require OS X 10.9 (darwin version 13.0.0) or newer
@@ -33,8 +33,8 @@ defineTest(isPlatformSupported) {
skipBuild("Qt WebEngine requires OS X version 10.9 or newer.")
return(false)
}
- !isMinOSXSDKVersion(10, 10, 3): {
- skipBuild("Qt WebEngine requires an OS X SDK version 10.10.3 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
+ !isMinOSXSDKVersion(10, 10): {
+ skipBuild("Qt WebEngine requires an OS X SDK version of 10.10 or newer. Current version is $${WEBENGINE_OSX_SDK_PRODUCT_VERSION}.")
return(false)
}
} else {
@@ -101,6 +101,7 @@ defineTest(isMinOSXSDKVersion) {
requested_major = $$1
requested_minor = $$2
requested_patch = $$3
+ isEmpty(requested_patch): requested_patch = 0
WEBENGINE_OSX_SDK_PRODUCT_VERSION = $$system("/usr/bin/xcodebuild -sdk $$QMAKE_MAC_SDK -version ProductVersion 2>/dev/null")
export(WEBENGINE_OSX_SDK_PRODUCT_VERSION)
isEmpty(WEBENGINE_OSX_SDK_PRODUCT_VERSION) {
@@ -110,6 +111,7 @@ defineTest(isMinOSXSDKVersion) {
major_version = $$section(WEBENGINE_OSX_SDK_PRODUCT_VERSION, ., 0, 0)
minor_version = $$section(WEBENGINE_OSX_SDK_PRODUCT_VERSION, ., 1, 1)
patch_version = $$section(WEBENGINE_OSX_SDK_PRODUCT_VERSION, ., 2, 2)
+ isEmpty(patch_version): patch_version = 0
greaterThan(major_version, $$requested_major):return(true)
equals(major_version, $$requested_major):greaterThan(minor_version, $$requested_minor):return(true)