Add LLVM binaries for iOS 9 device
https://bugs.webkit.org/show_bug.cgi?id=149913
Source/JavaScriptCore:
Reviewed by Filip Pizlo.
Look for locally built/binary dropped LLVM headers and libraries when building for iOS device
in WebKitBuild/usr/local.
Currently Mac and iOS look for the locally built/binary dropped LLVM in different directories:
WebKitBuild/usr/local and /usr/local/LLVMForJavaScriptCore, respectively. This difference is
due to dependencies with the Apple internal build system. We should look to resolve the
Apple internal dependencies and standardize on one location for both platforms.
* Configurations/Base.xcconfig:
Tools:
Reviewed by Filip Pizlo.
Implement support for building LLVM for ARM64-based iOS devices.
* Scripts/build-jsc: Enable the FTL when building for Mac or iOS device.
* Scripts/copy-webkitlibraries-to-product-directory: Move logic to clean
an existing build earlier in the file such that remove previously built
libraries before building/copying new ones (if applicable).
(fileContains): Moved function outside of if-block.
(isContentOfFileEqualToString): Renamed; formerly named fileContentsEquals().
(buildLLVM): Added. Extracted machinery to build LLVM into this function and
added logic to build LLVM for ARM64-based iOS devices.
(symlinkLLVMLibrariesIfNeeded): Added. Extracted machinery to symlink the built
LLVM into the WebKitBuild directory.
WebKitLibraries:
Rubber-stamped by Filip Pizlo.
Add LLVM 3.6.2 binaries for ARM64-based iOS devices. We make use of LLVM for the FTL,
which is enabled for 64-bit iOS devices.
I built these binaries by performing the following:
1) Check out WebKit to a directory like /some/path/OpenSource.
2) Download and expand the archive <http://llvm.org/releases/3.6.2/llvm-3.6.2.src.tar.xz> into /some/path/OpenSource/llvm.
3) In /some/path/OpenSource, delete the WebKitBuild directory to ensure a clean build.
4) Run `Tools/Scripts/build-jsc --release --device ARCHS=arm64 ONLY_ACTIVE_ARCH=NO` to build both LLVM and JavaScriptCore.
5) Run `Tools/Scripts/export-llvm-build -i WebKitLibraries/LLVMIncludesIOSDevice9.tar.bz2 -l WebKitLibraries/LLVMLibrariesIOSDevice9.tar.bz2 -b llvm/wkLLVMBuild -B llvm/wkLLVMBuild/Release+Asserts -s llvm` to produce files LLVM{Includes, Libraries}IOS9.tar.bz2.
* LLVMIncludesIOS9.tar.bz2: Added.
* LLVMLibrariesIOS9.tar.bz2: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@190759 268f45cc-cd09-0410-ab3c-d52691b4dbfc
8 files changed