Bug 104529 - [Qt] Builds for Mac are tied to the OS system instead of the SDK version.
Summary: [Qt] Builds for Mac are tied to the OS system instead of the SDK version.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Qt (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Michael Brüning
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-10 02:42 PST by Michael Brüning
Modified: 2013-06-06 02:03 PDT (History)
4 users (show)

See Also:


Attachments
Patch (2.63 KB, patch)
2012-12-10 02:55 PST, Michael Brüning
no flags Details | Formatted Diff | Diff
Patch (3.84 KB, patch)
2012-12-10 03:58 PST, Michael Brüning
hausmann: review+
hausmann: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Brüning 2012-12-10 02:42:12 PST
SSIA, it's not possible to build for another SDK as the WebKitSystemInterface library version is chosen based on the OS version, not on the SDK that the build is made with.
Comment 1 Michael Brüning 2012-12-10 02:55:34 PST
Created attachment 178500 [details]
Patch
Comment 2 Zeno Albisser 2012-12-10 03:13:43 PST
Comment on attachment 178500 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=178500&action=review

> Source/WebCore/WebCore.pri:183
> +        equals(DARWIN_MAJOR_VERSION, "9") | contains(QMAKE_MAC_SDK, ".*MacOSX10.5.sdk.*") {

Isn't this going to cause trouble, when somebody tries to build for target MacOSX10.8, on a machine running MacOSX10.7 ? (Building for a newer version than running on the build-system).
Now obviously we currently do not support a different target than the one building on. So this would probably still be an improvement. But I am not sure if it is the correct solution.
Comment 3 Michael Brüning 2012-12-10 03:26:14 PST
(In reply to comment #2)
> Isn't this going to cause trouble, when somebody tries to build for target MacOSX10.8, on a machine running MacOSX10.7 ? (Building for a newer version than running on the build-system).

True, that would not work afaics. The question is whether we want the complete solution now or improve gradually...
Comment 4 Michael Brüning 2012-12-10 03:58:33 PST
Created attachment 178509 [details]
Patch
Comment 5 Zeno Albisser 2012-12-10 04:30:42 PST
(In reply to comment #4)
LGTM :)
Comment 6 Simon Hausmann 2012-12-10 04:40:11 PST
Comment on attachment 178509 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=178509&action=review

> Source/WebCore/WebCore.pri:188
> +            SYSTEM_LIBRARY_PATH = $${ROOT_WEBKIT_DIR}/WebKitLibraries/libWebKitSystemInterfaceLeopard.a
> +        } else:contains(QMAKE_MAC_SDK, ".*MacOSX10.6.sdk.*") {
> +            SYSTEM_LIBRARY_PATH = $${ROOT_WEBKIT_DIR}/WebKitLibraries/libWebKitSystemInterfaceSnowLeopard.a
> +        } else:contains(QMAKE_MAC_SDK, ".*MacOSX10.7.sdk.*") {

I think references to Leopard and SnowLeopard can be removed before landing. These libraries do not exist anymore (see WebKitLibraries/). Only Lion and MountainLion are supported in trunk.
Comment 7 Michael Brüning 2012-12-10 05:15:15 PST
Committed r137139: <http://trac.webkit.org/changeset/137139>
Comment 8 Thiago Macieira 2013-06-05 16:43:31 PDT
The commit is missing an explanation of why the two libraries for Lion and Mountain Lion are no longer being added.

With no explanation, it sounds like an oversight / mistake. Can someone bring them back?
Comment 9 Michael Brüning 2013-06-06 02:03:13 PDT
(In reply to comment #8)
> The commit is missing an explanation of why the two libraries for Lion and Mountain Lion are no longer being added.
> 
> With no explanation, it sounds like an oversight / mistake. Can someone bring them back?

The libraries were removed since Apple no longer supports the WebKitSystemInterfaces for these on trunk and the libraries that were checked in here had not been updated in a while and were most likely not usable anymore. I do not see a big chance to bring them back to be honest.