Title: [166386] trunk
Revision
166386
Author
fpi...@apple.com
Date
2014-03-27 16:52:23 -0700 (Thu, 27 Mar 2014)

Log Message

Switch the LLVMForJSC target to using the LLVM in /usr/local rather than /usr/local/LLVMForJavaScriptCore on iOS
https://bugs.webkit.org/show_bug.cgi?id=130867
<rdar://problem/16432456> 

Reviewed by Mark Hahnenberg.

Source/_javascript_Core: 

* Configurations/Base.xcconfig:
* Configurations/LLVMForJSC.xcconfig:

Tools: 

* Scripts/build-webkit:
* Scripts/copy-webkitlibraries-to-product-directory:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (166385 => 166386)


--- trunk/Source/_javascript_Core/ChangeLog	2014-03-27 23:46:32 UTC (rev 166385)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-03-27 23:52:23 UTC (rev 166386)
@@ -1,3 +1,14 @@
+2014-03-27  Filip Pizlo  <fpi...@apple.com>
+
+        Switch the LLVMForJSC target to using the LLVM in /usr/local rather than /usr/local/LLVMForJavaScriptCore on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=130867
+        <rdar://problem/16432456> 
+
+        Reviewed by Mark Hahnenberg.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/LLVMForJSC.xcconfig:
+
 2014-03-27  Andreas Kling  <akl...@apple.com>
 
         Avoid fetching JSObject::structure() repeatedly in putDirectInternal.

Modified: trunk/Source/_javascript_Core/Configurations/Base.xcconfig (166385 => 166386)


--- trunk/Source/_javascript_Core/Configurations/Base.xcconfig	2014-03-27 23:46:32 UTC (rev 166385)
+++ trunk/Source/_javascript_Core/Configurations/Base.xcconfig	2014-03-27 23:52:23 UTC (rev 166386)
@@ -86,8 +86,18 @@
 PREBINDING = NO;
 WARNING_CFLAGS = -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -Wimplicit-fallthrough;
 
-HEADER_SEARCH_PATHS = . icu "${BUILT_PRODUCTS_DIR}/usr/local/LLVMForJavaScriptCore/include" "${BUILT_PRODUCTS_DIR}/ExtraIncludesForLocalLLVMBuild" /usr/local/LLVMForJavaScriptCore/include "${BUILT_PRODUCTS_DIR}/usr/local/include" $(HEADER_SEARCH_PATHS);
+LLVM_LOCAL_HEADER_PATH = $(LLVM_LOCAL_HEADER_PATH_$(PLATFORM_NAME))
+LLVM_LOCAL_HEADER_PATH_macosx = "${BUILT_PRODUCTS_DIR}/usr/local/LLVMForJavaScriptCore/include"
+LLVM_LOCAL_HEADER_PATH_iphoneos = ;
+LLVM_LOCAL_HEADER_PATH_iphonesimulator = ;
 
+LLVM_SYSTEM_HEADER_PATH = $(LLVM_SYSTEM_HEADER_PATH_$(PLATFORM_NAME))
+LLVM_SYSTEM_HEADER_PATH_macosx = /usr/local/LLVMForJavaScriptCore/include;
+LLVM_SYSTEM_HEADER_PATH_iphoneos = ;
+LLVM_SYSTEM_HEADER_PATH_iphonesimulator = ;
+
+HEADER_SEARCH_PATHS = . icu $(LLVM_LOCAL_HEADER_PATH) "${BUILT_PRODUCTS_DIR}/ExtraIncludesForLocalLLVMBuild" $(LLVM_SYSTEM_HEADER_PATH) "${BUILT_PRODUCTS_DIR}/usr/local/include" $(HEADER_SEARCH_PATHS);
+
 TARGET_MAC_OS_X_VERSION_MAJOR = $(MAC_OS_X_VERSION_MAJOR);
 
 SUPPORTED_PLATFORMS = iphoneos iphonesimulator macosx;

Modified: trunk/Source/_javascript_Core/Configurations/LLVMForJSC.xcconfig (166385 => 166386)


--- trunk/Source/_javascript_Core/Configurations/LLVMForJSC.xcconfig	2014-03-27 23:46:32 UTC (rev 166385)
+++ trunk/Source/_javascript_Core/Configurations/LLVMForJSC.xcconfig	2014-03-27 23:52:23 UTC (rev 166386)
@@ -30,8 +30,13 @@
 LLVM_LIBS_iphoneos = -lLLVMLinker -lLLVMipo -lLLVMVectorize -lLLVMBitWriter -lLLVMTableGen -lLLVMInstrumentation -lLLVMIRReader -lLLVMBitReader -lLLVMAsmParser -lLLVMARM64Disassembler -lLLVMARM64CodeGen -lLLVMARM64AsmParser -lLLVMARM64Desc -lLLVMARM64Info -lLLVMARM64AsmPrinter -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMMCParser -lLLVMDebugInfo -lLLVMOption -lLLVMInterpreter -lLLVMJIT -lLLVMCodeGen -lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMMCDisassembler -lLLVMMCJIT -lLLVMTarget -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport -lprotobuf;
 LLVM_LIBS_macosx = -lLLVMTableGen -lLLVMDebugInfo -lLLVMOption -lLLVMX86Disassembler -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils -lLLVMIRReader -lLLVMAsmParser -lLLVMMCDisassembler -lLLVMMCParser -lLLVMInstrumentation -lLLVMBitReader -lLLVMInterpreter -lLLVMipo -lLLVMVectorize -lLLVMLinker -lLLVMBitWriter -lLLVMMCJIT -lLLVMJIT -lLLVMCodeGen -lLLVMObjCARCOpts -lLLVMScalarOpts -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMRuntimeDyld -lLLVMExecutionEngine -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport;
 
-LIBRARY_SEARCH_PATHS = ${BUILT_PRODUCTS_DIR} "${BUILT_PRODUCTS_DIR}/usr/local/LLVMForJavaScriptCore/lib" /usr/local/LLVMForJavaScriptCore/lib $(LIBRARY_SEARCH_PATHS)
+LLVM_LIBRARY_PATHS = $(LLVM_LIBRARY_PATHS_$(PLATFORM_NAME))
+LLVM_LIBRARY_PATHS_macosx = "${BUILT_PRODUCTS_DIR}/usr/local/LLVMForJavaScriptCore/lib" /usr/local/LLVMForJavaScriptCore/lib;
+LLVM_LIBRARY_PATHS_iphoneos = "${BUILT_PRODUCTS_DIR}/usr/local/lib" /usr/local/lib;
+LLVM_LIBRARY_PATHS_iphonesimulator = ;
 
+LIBRARY_SEARCH_PATHS = ${BUILT_PRODUCTS_DIR} $(LLVM_LIBRARY_PATHS) $(LIBRARY_SEARCH_PATHS)
+
 OTHER_LDFLAGS_LLVM = $(OTHER_LDFLAGS_LLVM_$(ENABLE_FTL_JIT));
 OTHER_LDFLAGS_LLVM_ = ;
 OTHER_LDFLAGS_LLVM_ENABLE_FTL_JIT = -lpthread -lm $(LLVM_LIBS_$(PLATFORM_NAME));

Modified: trunk/Tools/ChangeLog (166385 => 166386)


--- trunk/Tools/ChangeLog	2014-03-27 23:46:32 UTC (rev 166385)
+++ trunk/Tools/ChangeLog	2014-03-27 23:52:23 UTC (rev 166386)
@@ -1,3 +1,14 @@
+2014-03-27  Filip Pizlo  <fpi...@apple.com>
+
+        Switch the LLVMForJSC target to using the LLVM in /usr/local rather than /usr/local/LLVMForJavaScriptCore on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=130867
+        <rdar://problem/16432456> 
+
+        Reviewed by Mark Hahnenberg.
+
+        * Scripts/build-webkit:
+        * Scripts/copy-webkitlibraries-to-product-directory:
+
 2014-03-26  Andy Estes  <aes...@apple.com>
 
         [Cocoa] Expose DownloadClient::didFail() and DownloadClient::didCancel()

Modified: trunk/Tools/Scripts/build-webkit (166385 => 166386)


--- trunk/Tools/Scripts/build-webkit	2014-03-27 23:46:32 UTC (rev 166385)
+++ trunk/Tools/Scripts/build-webkit	2014-03-27 23:52:23 UTC (rev 166386)
@@ -233,7 +233,8 @@
         my @copyLibrariesArgs = (
             "perl", "Tools/Scripts/copy-webkitlibraries-to-product-directory",
             "--sdk", xcodeSDK(), "--llvm", "--prefer-system-llvm",
-            "--llvm-subdirectory", "internal-llvm", productDir()
+            "--llvm-subdirectory", "internal-llvm", productDir(),
+            "--llvm-prefix", "/usr/local"
         );
         print(join(" ", @copyLibrariesArgs) . "\n");
         (system(@copyLibrariesArgs) == 0) or die;

Modified: trunk/Tools/Scripts/copy-webkitlibraries-to-product-directory (166385 => 166386)


--- trunk/Tools/Scripts/copy-webkitlibraries-to-product-directory	2014-03-27 23:46:32 UTC (rev 166385)
+++ trunk/Tools/Scripts/copy-webkitlibraries-to-product-directory	2014-03-27 23:52:23 UTC (rev 166386)
@@ -38,7 +38,8 @@
 my $useFullLibPaths = 0;
 my $preferSystemLLVMOverDrops = 0;
 my $llvmSubdirectoryName = "llvm";
-my $sdkName = "";
+my $llvmPrefix = "/usr/local/LLVMForJavaScriptCore";
+my $sdkName = ""; # Ideally we only use this for build commands, rather than deciding policies about what needs to get copied or built and where it needs to be placed.
 my $force = 0;
 
 my $programName = basename($0);
@@ -52,6 +53,7 @@
   --[no-]use-full-lib-paths     Toggle using full library paths
   --[no-]prefer-system-llvm     Toggle preferring the system LLVM over the binary drops (default: $preferSystemLLVMOverDrops)
   --llvm-subdirectory=<name>    Set the name of the LLVM subdirectory to search for (default: $llvmSubdirectoryName)
+  --llvm-prefix=<path>          Set the prefix into which LLVM is installed (default: $llvmPrefix)
   --sdk-name=<name>             Set the name of the Xcode SDK to use.
   --[no-]force                  Toggle forcing the copy - i.e. ignoring timestamps (default: $force)
 EOF
@@ -65,6 +67,7 @@
     'use-full-lib-paths!' => \$useFullLibPaths,
     'prefer-system-llvm!' => \$preferSystemLLVMOverDrops,
     'llvm-subdirectory=s' => \$llvmSubdirectoryName,
+    'llvm-prefix=s' => \$llvmPrefix,
     'sdk-name=s' => \$sdkName,
     'force!' => \$force
 );
@@ -142,9 +145,9 @@
 }
 
 if ($llvm) {
-    (system("mkdir", "-p", "$productDir/usr/local/LLVMForJavaScriptCore/include") == 0) or die;
+    (system("mkdir", "-p", "$productDir$llvmPrefix/include") == 0) or die;
 
-    my $libraryDir = $useFullLibPaths ? "$productDir/usr/local/LLVMForJavaScriptCore/lib" : $productDir;
+    my $libraryDir = $useFullLibPaths ? "$productDir$llvmPrefix/lib" : $productDir;
     (system("mkdir", "-p", $libraryDir) == 0) or die;
 
     # Determine where to get LLVM binaries and headers.
@@ -278,13 +281,13 @@
 
     (system("rm", "-f", "$productDir/ExtraIncludesForLocalLLVMBuild") == 0) or die;
     if ($useOwnLLVM) {
-        (system("rm", "-rf", "$productDir/usr/local/LLVMForJavaScriptCore/include/llvm") == 0) or die;
-        (system("rm", "-rf", "$productDir/usr/local/LLVMForJavaScriptCore/include/llvm-c") == 0) or die;
-        symlink("$ownLLVMDirectory/include/llvm", "$productDir/usr/local/LLVMForJavaScriptCore/include/llvm") or die;
-        symlink("$ownLLVMDirectory/include/llvm-c", "$productDir/usr/local/LLVMForJavaScriptCore/include/llvm-c") or die;
+        (system("rm", "-rf", "$productDir$llvmPrefix/include/llvm") == 0) or die;
+        (system("rm", "-rf", "$productDir$llvmPrefix/include/llvm-c") == 0) or die;
+        symlink("$ownLLVMDirectory/include/llvm", "$productDir$llvmPrefix/include/llvm") or die;
+        symlink("$ownLLVMDirectory/include/llvm-c", "$productDir$llvmPrefix/include/llvm-c") or die;
         symlink("$ownLLVMDirectory/wkLLVMBuild/include", "$productDir/ExtraIncludesForLocalLLVMBuild") or die;
     } elsif (!$preferSystemLLVMOverDrops) {
-        unpackIfNecessary("$productDir/usr/local/LLVMForJavaScriptCore/include", "$productDir/usr/local/LLVMForJavaScriptCore/include/llvm-c/Core.h", $llvmIncludePackage, 0);
+        unpackIfNecessary("$productDir$llvmPrefix/include", "$productDir$llvmPrefix/include/llvm-c/Core.h", $llvmIncludePackage, 0);
     }
 
     if ($shouldUpdateLLVMLibraryToken) {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to