<http://webkit.org/b/54808> Change jsc target to build directly into JavaScriptCore...
authorddkilzer@apple.com <ddkilzer@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 19 Feb 2011 21:15:23 +0000 (21:15 +0000)
committerddkilzer@apple.com <ddkilzer@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 19 Feb 2011 21:15:23 +0000 (21:15 +0000)
Reviewed by Dan Bernstein.

* Configurations/Base.xcconfig: Added
JAVASCRIPTCORE_FRAMEWORKS_DIR variable.
* Configurations/JavaScriptCore.xcconfig: Used
JAVASCRIPTCORE_FRAMEWORKS_DIR to define INSTALL_PATH.
* JavaScriptCore.xcodeproj/project.pbxproj: Set the INSTALL_PATH
for Production configuration of jsc target.
(Copy Into Framework): Removed old build phase.
(Fix Framework Reference): Renamed build phase to "Copy Into
Framework".  Added "set -x" call to make the script print the
commands it is running.  Added code to exit early for Production
builds since this was never intended for them.  Added code to
copy jsc into the JavaScriptCore.framework/Resources directory.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@79131 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/Configurations/Base.xcconfig
Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig
Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

index a8ca18d..4f7cbc8 100644 (file)
@@ -1,3 +1,22 @@
+2011-02-19  David Kilzer  <ddkilzer@apple.com>
+
+        <http://webkit.org/b/54808> Change jsc target to build directly into JavaScriptCore.framework/Resources/jsc
+
+        Reviewed by Dan Bernstein.
+
+        * Configurations/Base.xcconfig: Added
+        JAVASCRIPTCORE_FRAMEWORKS_DIR variable.
+        * Configurations/JavaScriptCore.xcconfig: Used
+        JAVASCRIPTCORE_FRAMEWORKS_DIR to define INSTALL_PATH.
+        * JavaScriptCore.xcodeproj/project.pbxproj: Set the INSTALL_PATH
+        for Production configuration of jsc target.
+        (Copy Into Framework): Removed old build phase.
+        (Fix Framework Reference): Renamed build phase to "Copy Into
+        Framework".  Added "set -x" call to make the script print the
+        commands it is running.  Added code to exit early for Production
+        builds since this was never intended for them.  Added code to
+        copy jsc into the JavaScriptCore.framework/Resources directory.
+
 2011-02-19  Siddharth Mathur  <siddharth.mathur@nokia.com>
 
         Reviewed by Laszlo Gombos.
index a189159..8d91d70 100644 (file)
@@ -77,6 +77,12 @@ REAL_PLATFORM_NAME_macosx = macosx;
 TARGET_MAC_OS_X_VERSION_MAJOR = $(MAC_OS_X_VERSION_MAJOR);
 
 
+JAVASCRIPTCORE_FRAMEWORKS_DIR = $(JAVASCRIPTCORE_FRAMEWORKS_DIR_$(REAL_PLATFORM_NAME));
+JAVASCRIPTCORE_FRAMEWORKS_DIR_iphoneos = $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
+JAVASCRIPTCORE_FRAMEWORKS_DIR_iphonesimulator = $(JAVASCRIPTCORE_FRAMEWORKS_DIR_iphoneos);
+JAVASCRIPTCORE_FRAMEWORKS_DIR_macosx = $(SYSTEM_LIBRARY_DIR)/Frameworks;
+
+
 // DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL, STRIP_INSTALLED_PRODUCT and DEAD_CODE_STRIPPING vary between the debug and normal variants.
 // We set up the values for each variant here, and have the Debug configuration in the Xcode project use the _debug variant.
 DEBUG_DEFINES_debug = ;
index adf594e..dd2a2e9 100644 (file)
@@ -43,7 +43,7 @@ OTHER_LDFLAGS_macosx_1070 = -Xlinker -objc_gc_compaction;
 GCC_PREFIX_HEADER = JavaScriptCorePrefix.h;
 HEADER_SEARCH_PATHS = "${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore" $(HEADER_SEARCH_PATHS);
 INFOPLIST_FILE = Info.plist;
-INSTALL_PATH = $(SYSTEM_LIBRARY_DIR)/Frameworks;
+INSTALL_PATH = $(JAVASCRIPTCORE_FRAMEWORKS_DIR);
 PRODUCT_NAME = JavaScriptCore;
 
 OTHER_CFLAGS = $(OTHER_CFLAGS_$(CONFIGURATION)_$(CURRENT_VARIANT));
index 5449471..d8bfaf5 100644 (file)
                5135FAF212D26ACE003C083B /* Decoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 5135FAD512D26856003C083B /* Decoder.h */; settings = {ATTRIBUTES = (Private, ); }; };
                5135FAF312D26AD1003C083B /* Encoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 5135FAD612D26856003C083B /* Encoder.h */; settings = {ATTRIBUTES = (Private, ); }; };
                5D53726F0E1C54880021E549 /* Tracing.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D53726E0E1C54880021E549 /* Tracing.h */; };
-               5D5D8AB60E0D0A7200F9C692 /* jsc in Copy Into Framework */ = {isa = PBXBuildFile; fileRef = 932F5BE10822A1C700736975 /* jsc */; };
                5D5D8AD10E0D0EBE00F9C692 /* libedit.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D5D8AD00E0D0EBE00F9C692 /* libedit.dylib */; };
                5D63E9AD10F2BD6E00FC8AE9 /* StringHasher.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D63E9AC10F2BD6E00FC8AE9 /* StringHasher.h */; settings = {ATTRIBUTES = (Private, ); }; };
                5D6A566B0F05995500266145 /* Threading.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D6A566A0F05995500266145 /* Threading.cpp */; };
                };
 /* End PBXContainerItemProxy section */
 
-/* Begin PBXCopyFilesBuildPhase section */
-               5D5D8ABA0E0D0A7300F9C692 /* Copy Into Framework */ = {
-                       isa = PBXCopyFilesBuildPhase;
-                       buildActionMask = 2147483647;
-                       dstPath = JavaScriptCore.framework/Resources;
-                       dstSubfolderSpec = 16;
-                       files = (
-                               5D5D8AB60E0D0A7200F9C692 /* jsc in Copy Into Framework */,
-                       );
-                       name = "Copy Into Framework";
-                       runOnlyForDeploymentPostprocessing = 0;
-               };
-/* End PBXCopyFilesBuildPhase section */
-
 /* Begin PBXFileReference section */
                06D358A10DAAD9C4003B174E /* MainThreadMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MainThreadMac.mm; sourceTree = "<group>"; };
                06D358A20DAAD9C4003B174E /* MainThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MainThread.cpp; sourceTree = "<group>"; };
                        buildPhases = (
                                932F5BDC0822A1C700736975 /* Sources */,
                                932F5BDE0822A1C700736975 /* Frameworks */,
-                               5D5D8ABA0E0D0A7300F9C692 /* Copy Into Framework */,
-                               5D5D8ABF0E0D0B0300F9C692 /* Fix Framework Reference */,
+                               5D5D8ABF0E0D0B0300F9C692 /* Copy Into Framework */,
                        );
                        buildRules = (
                        );
                        shellPath = /bin/sh;
                        shellScript = "TRACING_D=\"$SRCROOT/runtime/Tracing.d\";\nTRACING_H=\"$BUILT_PRODUCTS_DIR/DerivedSources/JavaScriptCore/TracingDtrace.h\";\n\nif [[ \"$HAVE_DTRACE\" = \"1\" && \"$TRACING_D\" -nt \"$TRACING_H\" ]];\nthen\n\tdtrace -h -o \"$TRACING_H\" -s \"$TRACING_D\";\nfi;\n";
                };
-               5D5D8ABF0E0D0B0300F9C692 /* Fix Framework Reference */ = {
+               5D5D8ABF0E0D0B0300F9C692 /* Copy Into Framework */ = {
                        isa = PBXShellScriptBuildPhase;
                        buildActionMask = 2147483647;
                        files = (
                        inputPaths = (
                                "$(BUILT_PRODUCTS_DIR)/JavaScriptCore.framework/Resources/jsc",
                        );
-                       name = "Fix Framework Reference";
+                       name = "Copy Into Framework";
                        outputPaths = (
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                        shellPath = /bin/sh;
-                       shellScript = "# Update the copied jsc binary to refer to JavaScriptcore.framework relative to its location\ninstall_name_tool -change \"${BUILT_PRODUCTS_DIR}/JavaScriptCore.framework/Versions/A/JavaScriptCore\" \"@loader_path/../JavaScriptCore\" \"${BUILT_PRODUCTS_DIR}/JavaScriptCore.framework/Resources/jsc\"\n";
+                       shellScript = "# Show what the script is doing in the build transcript.\nset -x\n\n# Skip for Production builds.\nif [[ ${CONFIGURATION:=Debug} == \"Production\" ]]; then\n    exit\nfi\n\n# Copy and update the jsc binary to refer to JavaScriptcore.framework relative to its location.\nditto \"${BUILT_PRODUCTS_DIR}/jsc\" \"${BUILT_PRODUCTS_DIR}/JavaScriptCore.framework/Resources/jsc\"\ninstall_name_tool -change \"${BUILT_PRODUCTS_DIR}/JavaScriptCore.framework/Versions/A/JavaScriptCore\" \"@loader_path/../JavaScriptCore\" \"${BUILT_PRODUCTS_DIR}/JavaScriptCore.framework/Resources/jsc\"\n";
                };
                65FB3F6509D11E9100F49DEB /* Generate Derived Sources */ = {
                        isa = PBXShellScriptBuildPhase;
                149C276B08902AFE008A9EFC /* Production */ = {
                        isa = XCBuildConfiguration;
                        buildSettings = {
+                               INSTALL_PATH = "$(JAVASCRIPTCORE_FRAMEWORKS_DIR)/JavaScriptCore.framework/Resources";
                                PRODUCT_NAME = jsc;
                        };
                        name = Production;