Bug 149913 - Add LLVM binaries for iOS 9 device
Summary: Add LLVM binaries for iOS 9 device
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Local Build
Hardware: iPhone / iPad iOS 9.0
: P2 Normal
Assignee: Daniel Bates
URL:
Keywords:
Depends on:
Blocks: 149943
  Show dependency treegraph
 
Reported: 2015-10-07 21:01 PDT by Daniel Bates
Modified: 2015-10-08 20:42 PDT (History)
5 users (show)

See Also:


Attachments
Patch (14.50 MB, patch)
2015-10-07 21:19 PDT, Daniel Bates
no flags Details | Formatted Diff | Diff
[Part 1 of 2]: Build system and tooling changes (24.06 KB, patch)
2015-10-07 21:25 PDT, Daniel Bates
fpizlo: review+
Details | Formatted Diff | Diff
[Part 2 of 2]: LLVM binaries for iOS (14.47 MB, patch)
2015-10-07 21:26 PDT, Daniel Bates
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Bates 2015-10-07 21:01:27 PDT
Towards building for ARM64-based iOS devices with the public iOS SDK we need to add support infrastructure to build and install LLVM from source and commit pre-built LLVM binaries/headers for iOS 9.
Comment 1 Daniel Bates 2015-10-07 21:19:07 PDT
Created attachment 262670 [details]
Patch
Comment 2 Daniel Bates 2015-10-07 21:25:02 PDT
Created attachment 262671 [details]
[Part 1 of 2]: Build system and tooling changes

For convenience I thought to break this patch into two parts: 1) build system and tooling changes and 2) pre-build LLVM binaries.
Comment 3 Daniel Bates 2015-10-07 21:26:14 PDT
Created attachment 262672 [details]
[Part 2 of 2]: LLVM binaries for iOS
Comment 4 Daniel Bates 2015-10-07 21:29:58 PDT
Comment on attachment 262671 [details]
[Part 1 of 2]: Build system and tooling changes

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

> Tools/Scripts/copy-webkitlibraries-to-product-directory:331
> +        # FIXME: Changes to SDKROOT are not detected between builds.

Will look to file a LLVM bug for this and update the FIXME comment to reference it before landing.
Comment 5 Filip Pizlo 2015-10-08 13:01:20 PDT
RS=me on the binaries.
Comment 6 Daniel Bates 2015-10-08 16:29:09 PDT
(In reply to comment #4)
> Comment on attachment 262671 [details]
> [Part 1 of 2]: Build system and tooling changes
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=262671&action=review
> 
> > Tools/Scripts/copy-webkitlibraries-to-product-directory:331
> > +        # FIXME: Changes to SDKROOT are not detected between builds.
> 
> Will look to file a LLVM bug for this and update the FIXME comment to
> reference it before landing.

Disregard this comment. Will remove FIXME comment. We pass SDKROOT to script configure to influence the search paths it uses to find the toolchain, headers and libraries (maybe there is a preferred way to specify these to script configure without using SDKROOT). Regardless, once configure finds these files it generates files so that make(1) will use them as appropriate.

The issue referred to by the comment is not so much that changes to SDKROOT are not detected but that calling `make` without specifying SDKROOT directly (or with a different SDKROOT value than called by copy-webkitlibraries-to-product-directory) from inside the LLVM build directory created after running Tools/Scripts/copy-webkitlibraries-to-product-directory will use the wrong SDK headers when compiling LLVM. Ideally this information could be saved as part of running the configure script (maybe encoded in the compiler flags using -isysroot?) such that we can invoke make(1) without explicitly specifying SDKROOT. I suggest we defer such work to a separate bug.
Comment 7 Daniel Bates 2015-10-08 16:34:42 PDT
Committed r190759: <http://trac.webkit.org/changeset/190759>