Bug 149913

Summary: Add LLVM binaries for iOS 9 device
Product: WebKit Reporter: Daniel Bates <dbates>
Component: Tools / TestsAssignee: Daniel Bates <dbates>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, ddkilzer, fpizlo, ggaren, lforschler
Priority: P2    
Version: WebKit Local Build   
Hardware: iPhone / iPad   
OS: iOS 9.0   
Bug Depends on:    
Bug Blocks: 149943    
Attachments:
Description Flags
Patch
none
[Part 1 of 2]: Build system and tooling changes
fpizlo: review+
[Part 2 of 2]: LLVM binaries for iOS none

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>