Title: [165819] tags/Safari-538.23.1
Revision
165819
Author
[email protected]
Date
2014-03-18 11:02:45 -0700 (Tue, 18 Mar 2014)

Log Message

More FTL enabling.

Source/_javascript_Core: 

Rubber stamped by Dan Bernstein and Mark Hahnenberg.

* Configurations/FeatureDefines.xcconfig:
* ftl/FTLCompile.cpp:
(JSC::FTL::compile):

Source/WebCore: 

Reviewed by Dan Bernstein.

No new tests because this already has ample test coverage in JSC.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac: 

Reviewed by Dan Bernstein.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2: 

Reviewed by Dan Bernstein.

* Configurations/FeatureDefines.xcconfig:

Source/WTF: 

Rubber stamped by Dan Bernstein and Mark Hahnenberg.

* wtf/Platform.h:

Tools: 

Rubber stamped by Dan Bernstein.

* Tools/Scripts/build-webkit:

Modified Paths

Diff

Modified: tags/Safari-538.23.1/Source/_javascript_Core/ChangeLog (165818 => 165819)


--- tags/Safari-538.23.1/Source/_javascript_Core/ChangeLog	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/_javascript_Core/ChangeLog	2014-03-18 18:02:45 UTC (rev 165819)
@@ -1,3 +1,75 @@
+2014-03-18  Filip Pizlo  <[email protected]>
+
+        More FTL enabling.
+
+        Rubber stamped by Dan Bernstein and Mark Hahnenberg.
+
+        * Configurations/FeatureDefines.xcconfig:
+        * ftl/FTLCompile.cpp:
+        (JSC::FTL::compile):
+
+2014-03-17  Filip Pizlo  <[email protected]>
+
+        Merge r165673.
+
+    2014-03-14  Filip Pizlo  <[email protected]>
+    
+            Final FTL iOS build magic
+            https://bugs.webkit.org/show_bug.cgi?id=130281
+    
+            Reviewed by Michael Saboff.
+    
+            * Configurations/Base.xcconfig: For now our LLVM headers are in /usr/local/LLVMForJavaScriptCore/include, which is the same as OS X.
+            * Configurations/LLVMForJSC.xcconfig: We need to be more careful about how we specify library paths if we want to get the prioritzation right. Also we need protobuf because things. :-/
+    
+2014-03-17  Filip Pizlo  <[email protected]>
+
+        Merge r165601.
+
+    2014-03-13  Filip Pizlo  <[email protected]>
+    
+            Unreviewed, fix Mac no-FTL build.
+    
+            * llvm/library/LLVMExports.cpp:
+            (initializeAndGetJSCLLVMAPI):
+    
+2014-03-17  Filip Pizlo  <[email protected]>
+
+        Merge r165600.
+
+    2014-03-13  Juergen Ributzka  <[email protected]>
+    
+            Only export initializeAndGetJSCLLVMAPI from libllvmForJSC.dylib
+            https://bugs.webkit.org/show_bug.cgi?id=130224
+    
+            Reviewed by Filip Pizlo.
+    
+            This limits the exported symbols to only initializeAndGetJSCLLVMAPI from
+            the LLVM dylib. This allows the dylib to be safely used with other LLVM
+            dylibs on the same system. It also reduces the dynamic linking overhead
+            and also reduces the size by 6MB, because the linker can now dead strip
+            many unused functions.
+    
+            * Configurations/LLVMForJSC.xcconfig:
+    
+2014-03-17  Filip Pizlo  <[email protected]>
+
+        Merge r165553.
+
+    2014-03-12  Filip Pizlo  <[email protected]>
+    
+            WebKit shouldn't crash on uniprocessor machines
+            https://bugs.webkit.org/show_bug.cgi?id=130176
+    
+            Reviewed by Michael Saboff.
+            
+            Previously the math for computing the number of JIT compiler threads would come up with
+            zero threads on uniprocessor machines, and then the Worklist code would assert.
+    
+            * runtime/Options.cpp:
+            (JSC::computeNumberOfWorkerThreads):
+            * runtime/Options.h:
+    
 2014-03-13  Lucas Forschler  <[email protected]>
 
         Merge r165559

Modified: tags/Safari-538.23.1/Source/_javascript_Core/Configurations/Base.xcconfig (165818 => 165819)


--- tags/Safari-538.23.1/Source/_javascript_Core/Configurations/Base.xcconfig	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/_javascript_Core/Configurations/Base.xcconfig	2014-03-18 18:02:45 UTC (rev 165819)
@@ -79,13 +79,8 @@
 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;
 
-SYSTEM_LLVM_SEARCH_PATHS = $(SYSTEM_LLVM_SEARCH_PATHS_$(PLATFORM_NAME));
-SYSTEM_LLVM_SEARCH_PATHS_macosx = /usr/local/LLVMForJavaScriptCore/include;
-SYSTEM_LLVM_SEARCH_PATHS_iphoneos = ;
-SYSTEM_LLVM_SEARCH_PATHS_iphonesimulator = ;
+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);
 
-HEADER_SEARCH_PATHS = . icu "${BUILT_PRODUCTS_DIR}/usr/local/LLVMForJavaScriptCore/include" "${BUILT_PRODUCTS_DIR}/ExtraIncludesForLocalLLVMBuild" $(SYSTEM_LLVM_SEARCH_PATHS) "${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: tags/Safari-538.23.1/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig (165818 => 165819)


--- tags/Safari-538.23.1/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2014-03-18 18:02:45 UTC (rev 165819)
@@ -219,6 +219,8 @@
 ENABLE_FTL_JIT_macosx_1080 = ;
 ENABLE_FTL_JIT_macosx_1090 = ;
 ENABLE_FTL_JIT_macosx_101000 = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_iphoneos = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_iphonesimulator = ;
 
 ENABLE_LLINT_C_LOOP = ;
 

Modified: tags/Safari-538.23.1/Source/_javascript_Core/Configurations/LLVMForJSC.xcconfig (165818 => 165819)


--- tags/Safari-538.23.1/Source/_javascript_Core/Configurations/LLVMForJSC.xcconfig	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/_javascript_Core/Configurations/LLVMForJSC.xcconfig	2014-03-18 18:02:45 UTC (rev 165819)
@@ -24,15 +24,17 @@
 #include "FeatureDefines.xcconfig"
 #include "Version.xcconfig"
 
-// Prevent C++ standard library operator new, delete and their related exception types from being exported as weak symbols.
-OTHER_LDFLAGS_HIDE_SYMBOLS = -Wl,-unexported_symbol -Wl,__ZTISt9bad_alloc -Wl,-unexported_symbol -Wl,__ZTISt9exception -Wl,-unexported_symbol -Wl,__ZTSSt9bad_alloc -Wl,-unexported_symbol -Wl,__ZTSSt9exception -Wl,-unexported_symbol -Wl,__ZdlPvS_ -Wl,-unexported_symbol -Wl,__ZnwmPv -Wl,-all_load;
+// Only export our hook for initializing LLVM and returning the API struct.
+OTHER_LDFLAGS_HIDE_SYMBOLS = -Wl,-exported_symbol -Wl,_initializeAndGetJSCLLVMAPI -Wl,-all_load;
 
-LLVM_LIBS_iphoneos = -lLLVMTableGen -lLLVMDebugInfo -lLLVMOption -lLLVMARM64Disassembler -lLLVMARM64AsmParser -lLLVMARM64CodeGen -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMARM64Desc -lLLVMARM64Info -lLLVMARM64AsmPrinter -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;
+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)
+
 OTHER_LDFLAGS_LLVM = $(OTHER_LDFLAGS_LLVM_$(ENABLE_FTL_JIT));
 OTHER_LDFLAGS_LLVM_ = ;
-OTHER_LDFLAGS_LLVM_ENABLE_FTL_JIT = -lpthread -lm -L/usr/local/LLVMForJavaScriptCore/lib $(LLVM_LIBS_$(PLATFORM_NAME));
+OTHER_LDFLAGS_LLVM_ENABLE_FTL_JIT = -lpthread -lm $(LLVM_LIBS_$(PLATFORM_NAME));
 
 OTHER_LDFLAGS_BASE = -lobjc -Wl,-Y,3 $(OTHER_LDFLAGS_HIDE_SYMBOLS);
 OTHER_LDFLAGS = $(inherited) $(OTHER_LDFLAGS_$(PLATFORM_NAME));

Modified: tags/Safari-538.23.1/Source/_javascript_Core/ftl/FTLCompile.cpp (165818 => 165819)


--- tags/Safari-538.23.1/Source/_javascript_Core/ftl/FTLCompile.cpp	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/_javascript_Core/ftl/FTLCompile.cpp	2014-03-18 18:02:45 UTC (rev 165819)
@@ -500,6 +500,9 @@
     
         LLVMExecutionEngineRef engine;
     
+        if (isARM64())
+            llvm->SetTarget(state.module, "arm64-apple-ios");
+        
         if (llvm->CreateMCJITCompilerForModule(&engine, state.module, &options, sizeof(options), &error)) {
             dataLog("FATAL: Could not create LLVM execution engine: ", error, "\n");
             CRASH();

Modified: tags/Safari-538.23.1/Source/_javascript_Core/llvm/library/LLVMExports.cpp (165818 => 165819)


--- tags/Safari-538.23.1/Source/_javascript_Core/llvm/library/LLVMExports.cpp	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/_javascript_Core/llvm/library/LLVMExports.cpp	2014-03-18 18:02:45 UTC (rev 165819)
@@ -77,4 +77,10 @@
     return result;
 }
 
+#else
+
+// Create a dummy initializeAndGetJSCLLVMAPI to placate the build system.
+extern "C" WTF_EXPORT_PRIVATE void initializeAndGetJSCLLVMAPI();
+extern "C" void initializeAndGetJSCLLVMAPI() { }
+
 #endif // HAVE(LLVM)

Modified: tags/Safari-538.23.1/Source/_javascript_Core/runtime/Options.cpp (165818 => 165819)


--- tags/Safari-538.23.1/Source/_javascript_Core/runtime/Options.cpp	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/_javascript_Core/runtime/Options.cpp	2014-03-18 18:02:45 UTC (rev 165819)
@@ -92,16 +92,13 @@
     return false;
 }
 
-static unsigned computeNumberOfWorkerThreads(int maxNumberOfWorkerThreads)
+static unsigned computeNumberOfWorkerThreads(int maxNumberOfWorkerThreads, int minimum = 1)
 {
     int cpusToUse = std::min(WTF::numberOfProcessorCores(), maxNumberOfWorkerThreads);
 
     // Be paranoid, it is the OS we're dealing with, after all.
     ASSERT(cpusToUse >= 1);
-    if (cpusToUse < 1)
-        cpusToUse = 1;
-    
-    return cpusToUse;
+    return std::max(cpusToUse, minimum);
 }
 
 static unsigned computeNumberOfGCMarkers(unsigned maxNumberOfGCMarkers)

Modified: tags/Safari-538.23.1/Source/_javascript_Core/runtime/Options.h (165818 => 165819)


--- tags/Safari-538.23.1/Source/_javascript_Core/runtime/Options.h	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/_javascript_Core/runtime/Options.h	2014-03-18 18:02:45 UTC (rev 165819)
@@ -158,8 +158,8 @@
     v(bool, ftlCrashes, false) /* fool-proof way of checking that you ended up in the FTL. ;-) */\
     \
     v(bool, enableConcurrentJIT, true) \
-    v(unsigned, numberOfDFGCompilerThreads, computeNumberOfWorkerThreads(2) - 1) \
-    v(unsigned, numberOfFTLCompilerThreads, computeNumberOfWorkerThreads(8) - 1) \
+    v(unsigned, numberOfDFGCompilerThreads, computeNumberOfWorkerThreads(2, 2) - 1) \
+    v(unsigned, numberOfFTLCompilerThreads, computeNumberOfWorkerThreads(8, 2) - 1) \
     \
     v(bool, enableProfiler, false) \
     \

Modified: tags/Safari-538.23.1/Source/WTF/ChangeLog (165818 => 165819)


--- tags/Safari-538.23.1/Source/WTF/ChangeLog	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WTF/ChangeLog	2014-03-18 18:02:45 UTC (rev 165819)
@@ -1,3 +1,11 @@
+2014-03-18  Filip Pizlo  <[email protected]>
+
+        More FTL enabling.
+
+        Rubber stamped by Dan Bernstein and Mark Hahnenberg.
+
+        * wtf/Platform.h:
+
 2014-03-12  Ryuan Choi  <[email protected]>
 
         [EFL] Enable Parallel GC

Modified: tags/Safari-538.23.1/Source/WTF/wtf/Platform.h (165818 => 165819)


--- tags/Safari-538.23.1/Source/WTF/wtf/Platform.h	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WTF/wtf/Platform.h	2014-03-18 18:02:45 UTC (rev 165819)
@@ -666,6 +666,12 @@
 #define ENABLE_FTL_JIT 0
 #endif
 
+/* The FTL is disabled on the iOS simulator, mostly for simplicity. */
+#if PLATFORM(IOS_SIMULATOR)
+#undef ENABLE_FTL_JIT
+#define ENABLE_FTL_JIT 0
+#endif
+
 /* If possible, try to enable the LLVM disassembler. This is optional and we can
    fall back on UDis86 if necessary. */
 #if !defined(WTF_USE_LLVM_DISASSEMBLER) && HAVE(LLVM) && (CPU(X86_64) || CPU(X86) || CPU(ARM64))

Modified: tags/Safari-538.23.1/Source/WebCore/ChangeLog (165818 => 165819)


--- tags/Safari-538.23.1/Source/WebCore/ChangeLog	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WebCore/ChangeLog	2014-03-18 18:02:45 UTC (rev 165819)
@@ -1,3 +1,13 @@
+2014-03-17  Filip Pizlo  <[email protected]>
+
+        More FTL enabling.
+
+        Reviewed by Dan Bernstein.
+
+        No new tests because this already has ample test coverage in JSC.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2014-03-13  Lucas Forschler  <[email protected]>
 
         Merge r165577

Modified: tags/Safari-538.23.1/Source/WebCore/Configurations/FeatureDefines.xcconfig (165818 => 165819)


--- tags/Safari-538.23.1/Source/WebCore/Configurations/FeatureDefines.xcconfig	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WebCore/Configurations/FeatureDefines.xcconfig	2014-03-18 18:02:45 UTC (rev 165819)
@@ -219,6 +219,8 @@
 ENABLE_FTL_JIT_macosx_1080 = ;
 ENABLE_FTL_JIT_macosx_1090 = ;
 ENABLE_FTL_JIT_macosx_101000 = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_iphoneos = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_iphonesimulator = ;
 
 ENABLE_LLINT_C_LOOP = ;
 

Modified: tags/Safari-538.23.1/Source/WebKit/mac/ChangeLog (165818 => 165819)


--- tags/Safari-538.23.1/Source/WebKit/mac/ChangeLog	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WebKit/mac/ChangeLog	2014-03-18 18:02:45 UTC (rev 165819)
@@ -1,3 +1,11 @@
+2014-03-17  Filip Pizlo  <[email protected]>
+
+        More FTL enabling.
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2014-03-12  Dean Jackson  <[email protected]>
 
         [WebGL] WebKit1 + WebKit2 iOS clients should check load policy

Modified: tags/Safari-538.23.1/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig (165818 => 165819)


--- tags/Safari-538.23.1/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig	2014-03-18 18:02:45 UTC (rev 165819)
@@ -219,6 +219,8 @@
 ENABLE_FTL_JIT_macosx_1080 = ;
 ENABLE_FTL_JIT_macosx_1090 = ;
 ENABLE_FTL_JIT_macosx_101000 = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_iphoneos = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_iphonesimulator = ;
 
 ENABLE_LLINT_C_LOOP = ;
 

Modified: tags/Safari-538.23.1/Source/WebKit2/ChangeLog (165818 => 165819)


--- tags/Safari-538.23.1/Source/WebKit2/ChangeLog	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WebKit2/ChangeLog	2014-03-18 18:02:45 UTC (rev 165819)
@@ -1,3 +1,11 @@
+2014-03-17  Filip Pizlo  <[email protected]>
+
+        More FTL enabling.
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/FeatureDefines.xcconfig:
+
 2014-03-13  Lucas Forschler  <[email protected]>
 
         Merge r165577

Modified: tags/Safari-538.23.1/Source/WebKit2/Configurations/FeatureDefines.xcconfig (165818 => 165819)


--- tags/Safari-538.23.1/Source/WebKit2/Configurations/FeatureDefines.xcconfig	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Source/WebKit2/Configurations/FeatureDefines.xcconfig	2014-03-18 18:02:45 UTC (rev 165819)
@@ -219,6 +219,8 @@
 ENABLE_FTL_JIT_macosx_1080 = ;
 ENABLE_FTL_JIT_macosx_1090 = ;
 ENABLE_FTL_JIT_macosx_101000 = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_iphoneos = ENABLE_FTL_JIT;
+ENABLE_FTL_JIT_iphonesimulator = ;
 
 ENABLE_LLINT_C_LOOP = ;
 

Modified: tags/Safari-538.23.1/Tools/ChangeLog (165818 => 165819)


--- tags/Safari-538.23.1/Tools/ChangeLog	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Tools/ChangeLog	2014-03-18 18:02:45 UTC (rev 165819)
@@ -1,3 +1,25 @@
+2014-03-17  Filip Pizlo  <[email protected]>
+
+        More FTL enabling.
+
+        Rubber stamped by Dan Bernstein.
+
+        * Tools/Scripts/build-webkit:
+
+2014-03-17  Filip Pizlo  <[email protected]>
+
+        Merge r165658.
+
+    2014-03-14  Filip Pizlo  <[email protected]>
+    
+            Sometimes we need to be explicit about the SDK when running ranlib on Darwin
+            https://bugs.webkit.org/show_bug.cgi?id=130265
+    
+            Reviewed by Michael Saboff.
+    
+            * Scripts/build-webkit:
+            * Scripts/copy-webkitlibraries-to-product-directory:
+    
 2014-03-12  Carlos Garcia Campos  <[email protected]>
 
         Unreviewed. Fix GTK+ cmake build after r165488.

Modified: tags/Safari-538.23.1/Tools/Scripts/build-webkit (165818 => 165819)


--- tags/Safari-538.23.1/Tools/Scripts/build-webkit	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Tools/Scripts/build-webkit	2014-03-18 18:02:45 UTC (rev 165819)
@@ -229,15 +229,13 @@
     } else {
         push @projects, ("Source/WebKit2");
         
-        if ($hasFTLJIT) {
-            my @copyLibrariesArgs = (
-                "perl", "Tools/Scripts/copy-webkitlibraries-to-product-directory",
-                "--llvm", "--prefer-system-llvm", "--llvm-subdirectory", "internal-llvm",
-                productDir()
-            );
-            print(join(" ", @copyLibrariesArgs) . "\n");
-            (system(@copyLibrariesArgs) == 0) or die;
-        }
+        my @copyLibrariesArgs = (
+            "perl", "Tools/Scripts/copy-webkitlibraries-to-product-directory",
+            "--sdk", xcodeSDK(), "--llvm", "--prefer-system-llvm",
+            "--llvm-subdirectory", "internal-llvm", productDir()
+        );
+        print(join(" ", @copyLibrariesArgs) . "\n");
+        (system(@copyLibrariesArgs) == 0) or die;
     }
 
     # Build Tools needed for Apple ports

Modified: tags/Safari-538.23.1/Tools/Scripts/copy-webkitlibraries-to-product-directory (165818 => 165819)


--- tags/Safari-538.23.1/Tools/Scripts/copy-webkitlibraries-to-product-directory	2014-03-18 17:59:15 UTC (rev 165818)
+++ tags/Safari-538.23.1/Tools/Scripts/copy-webkitlibraries-to-product-directory	2014-03-18 18:02:45 UTC (rev 165819)
@@ -38,6 +38,7 @@
 my $useFullLibPaths = 0;
 my $preferSystemLLVMOverDrops = 0;
 my $llvmSubdirectoryName = "llvm";
+my $sdkName = "";
 my $force = 0;
 
 my $programName = basename($0);
@@ -51,6 +52,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)
+  --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
 
@@ -63,6 +65,7 @@
     'use-full-lib-paths!' => \$useFullLibPaths,
     'prefer-system-llvm!' => \$preferSystemLLVMOverDrops,
     'llvm-subdirectory=s' => \$llvmSubdirectoryName,
+    'sdk-name=s' => \$sdkName,
     'force!' => \$force
 );
 
@@ -80,7 +83,11 @@
 
 chdirWebKit();
 
-my $ranlib = `xcrun -find ranlib`;
+my $xcrunOptions = "";
+if ($sdkName ne "") {
+    $xcrunOptions .= " -sdk $sdkName";
+}
+my $ranlib = `xcrun $xcrunOptions -find ranlib`;
 chomp $ranlib;
 
 sub unpackIfNecessary
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to