build-jsc should invoke make instead of calling xcodebuild directly
authorsbarati@apple.com <sbarati@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 9 Jan 2020 00:13:25 +0000 (00:13 +0000)
committersbarati@apple.com <sbarati@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 9 Jan 2020 00:13:25 +0000 (00:13 +0000)
https://bugs.webkit.org/show_bug.cgi?id=205960

Reviewed by Keith Miller.

.:

* Makefile.shared:

Source/JavaScriptCore:

The various jsc, and test* binaries can all be compiled in parallel.
This patch makes that happen when building with make via the CLI
that these are built in parallel. To make this work, in Xcode, I needed
to mark these binaries as depending on JavaScriptCore.framework.

* JavaScriptCore.xcodeproj/project.pbxproj:
* Makefile:

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

ChangeLog
Makefile.shared
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
Source/JavaScriptCore/Makefile

index 595ae9b..7b5cac4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2020-01-08  Saam Barati  <sbarati@apple.com>
+
+        build-jsc should invoke make instead of calling xcodebuild directly
+        https://bugs.webkit.org/show_bug.cgi?id=205960
+
+        Reviewed by Keith Miller.
+
+        * Makefile.shared:
+
 2020-01-08  Mark Lam  <mark.lam@apple.com>
 
         Rename testing build configuration to release+assert, and add new testing build configuration.
index 9016f9c..d0e455c 100644 (file)
@@ -1,7 +1,7 @@
 SCRIPTS_PATH ?= ../Tools/Scripts
 
 SET_COLOR_DIAGNOSTICS_ARG = if [[ -t 1 ]]; then COLOR_DIAGNOSTICS_ARG="COLOR_DIAGNOSTICS=YES"; fi
-XCODE_OPTIONS = `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()' -- $(BUILD_WEBKIT_OPTIONS)` $${COLOR_DIAGNOSTICS_ARG} $(ARGS)
+XCODE_OPTIONS += `perl -I$(SCRIPTS_PATH) -Mwebkitdirs -e 'print XcodeOptionString()' -- $(BUILD_WEBKIT_OPTIONS)` $${COLOR_DIAGNOSTICS_ARG} $(ARGS)
 
 ifneq (,$(SDKROOT))
        ifneq (,$(OVERRIDE_SDKROOT))
index f1a9e9e..525be6d 100644 (file)
@@ -1,3 +1,18 @@
+2020-01-08  Saam Barati  <sbarati@apple.com>
+
+        build-jsc should invoke make instead of calling xcodebuild directly
+        https://bugs.webkit.org/show_bug.cgi?id=205960
+
+        Reviewed by Keith Miller.
+
+        The various jsc, and test* binaries can all be compiled in parallel.
+        This patch makes that happen when building with make via the CLI
+        that these are built in parallel. To make this work, in Xcode, I needed
+        to mark these binaries as depending on JavaScriptCore.framework.
+
+        * JavaScriptCore.xcodeproj/project.pbxproj:
+        * Makefile:
+
 2020-01-08  Tuomas Karkkainen  <tuomas.webkit@apple.com>
 
         Add FuzzerAgents that narrow and widen number predictions
index b97f805..2a15f2d 100644 (file)
                        remoteGlobalIDString = 65FB3F6609D11E9100F49DEB;
                        remoteInfo = "Derived Sources";
                };
+               525D13D023C6936600452D6F /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 932F5B3E0822A1C700736975;
+                       remoteInfo = JavaScriptCore;
+               };
+               525D13D223C6936B00452D6F /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 932F5B3E0822A1C700736975;
+                       remoteInfo = JavaScriptCore;
+               };
+               525D13D423C6937000452D6F /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 932F5B3E0822A1C700736975;
+                       remoteInfo = JavaScriptCore;
+               };
+               525D13D623C6937600452D6F /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 932F5B3E0822A1C700736975;
+                       remoteInfo = JavaScriptCore;
+               };
+               525D13D823C6937B00452D6F /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 932F5B3E0822A1C700736975;
+                       remoteInfo = JavaScriptCore;
+               };
+               525D13DA23C6938400452D6F /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 932F5B3E0822A1C700736975;
+                       remoteInfo = JavaScriptCore;
+               };
+               525D13DC23C6938900452D6F /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 932F5B3E0822A1C700736975;
+                       remoteInfo = JavaScriptCore;
+               };
+               525D13DE23C6939100452D6F /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 932F5B3E0822A1C700736975;
+                       remoteInfo = JavaScriptCore;
+               };
+               525D13E023C6939700452D6F /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 932F5B3E0822A1C700736975;
+                       remoteInfo = JavaScriptCore;
+               };
+               525D13E223C6939B00452D6F /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
+                       proxyType = 1;
+                       remoteGlobalIDString = 932F5B3E0822A1C700736975;
+                       remoteInfo = JavaScriptCore;
+               };
                52CD0F652242F5A3004A18A5 /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                        containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;
                        buildRules = (
                        );
                        dependencies = (
+                               525D13DD23C6938900452D6F /* PBXTargetDependency */,
                                14CFB11323035F5800F0048C /* PBXTargetDependency */,
                        );
                        name = testair;
                        buildRules = (
                        );
                        dependencies = (
+                               525D13DB23C6938400452D6F /* PBXTargetDependency */,
                                14CFB11123035F5300F0048C /* PBXTargetDependency */,
                        );
                        name = dynbench;
                        buildRules = (
                        );
                        dependencies = (
+                               525D13D923C6937B00452D6F /* PBXTargetDependency */,
                                14CFB10F23035F4D00F0048C /* PBXTargetDependency */,
                        );
                        name = testb3;
                        buildRules = (
                        );
                        dependencies = (
+                               525D13D123C6936600452D6F /* PBXTargetDependency */,
                                14CFB10023035EF300F0048C /* PBXTargetDependency */,
                        );
                        name = minidom;
                        buildRules = (
                        );
                        dependencies = (
+                               525D13D323C6936B00452D6F /* PBXTargetDependency */,
                                14CFB10B23035F1A00F0048C /* PBXTargetDependency */,
                        );
                        name = testapi;
                        buildRules = (
                        );
                        dependencies = (
+                               525D13E323C6939B00452D6F /* PBXTargetDependency */,
                                14CFB11923035F6900F0048C /* PBXTargetDependency */,
                        );
                        name = testdfg;
                        buildRules = (
                        );
                        dependencies = (
+                               525D13D723C6937600452D6F /* PBXTargetDependency */,
                                14CFB10D23035F4600F0048C /* PBXTargetDependency */,
                        );
                        name = testRegExp;
                        buildRules = (
                        );
                        dependencies = (
+                               525D13E123C6939700452D6F /* PBXTargetDependency */,
                                14CFB11723035F6300F0048C /* PBXTargetDependency */,
                        );
                        name = testmem;
                        buildRules = (
                        );
                        dependencies = (
+                               525D13D523C6937000452D6F /* PBXTargetDependency */,
                                14D9D9DA218462B5009126C2 /* PBXTargetDependency */,
                        );
                        name = jsc;
                        buildRules = (
                        );
                        dependencies = (
+                               525D13DF23C6939100452D6F /* PBXTargetDependency */,
                                14CFB11523035F5E00F0048C /* PBXTargetDependency */,
                        );
                        name = testmasm;
                0867D690FE84028FC02AAC07 /* Project object */ = {
                        isa = PBXProject;
                        attributes = {
-                               BuildIndependentTargetsInParallel = YES;
                                DefaultBuildSystemTypeForWorkspace = Original;
                                LastSwiftUpdateCheck = 0700;
                                LastUpgradeCheck = 1000;
                        target = 65FB3F6609D11E9100F49DEB /* Derived Sources */;
                        targetProxy = 14D9D9D9218462B5009126C2 /* PBXContainerItemProxy */;
                };
+               525D13D123C6936600452D6F /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = 932F5B3E0822A1C700736975 /* JavaScriptCore */;
+                       targetProxy = 525D13D023C6936600452D6F /* PBXContainerItemProxy */;
+               };
+               525D13D323C6936B00452D6F /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = 932F5B3E0822A1C700736975 /* JavaScriptCore */;
+                       targetProxy = 525D13D223C6936B00452D6F /* PBXContainerItemProxy */;
+               };
+               525D13D523C6937000452D6F /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = 932F5B3E0822A1C700736975 /* JavaScriptCore */;
+                       targetProxy = 525D13D423C6937000452D6F /* PBXContainerItemProxy */;
+               };
+               525D13D723C6937600452D6F /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = 932F5B3E0822A1C700736975 /* JavaScriptCore */;
+                       targetProxy = 525D13D623C6937600452D6F /* PBXContainerItemProxy */;
+               };
+               525D13D923C6937B00452D6F /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = 932F5B3E0822A1C700736975 /* JavaScriptCore */;
+                       targetProxy = 525D13D823C6937B00452D6F /* PBXContainerItemProxy */;
+               };
+               525D13DB23C6938400452D6F /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = 932F5B3E0822A1C700736975 /* JavaScriptCore */;
+                       targetProxy = 525D13DA23C6938400452D6F /* PBXContainerItemProxy */;
+               };
+               525D13DD23C6938900452D6F /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = 932F5B3E0822A1C700736975 /* JavaScriptCore */;
+                       targetProxy = 525D13DC23C6938900452D6F /* PBXContainerItemProxy */;
+               };
+               525D13DF23C6939100452D6F /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = 932F5B3E0822A1C700736975 /* JavaScriptCore */;
+                       targetProxy = 525D13DE23C6939100452D6F /* PBXContainerItemProxy */;
+               };
+               525D13E123C6939700452D6F /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = 932F5B3E0822A1C700736975 /* JavaScriptCore */;
+                       targetProxy = 525D13E023C6939700452D6F /* PBXContainerItemProxy */;
+               };
+               525D13E323C6939B00452D6F /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       target = 932F5B3E0822A1C700736975 /* JavaScriptCore */;
+                       targetProxy = 525D13E223C6939B00452D6F /* PBXContainerItemProxy */;
+               };
                52CD0F662242F5A3004A18A5 /* PBXTargetDependency */ = {
                        isa = PBXTargetDependency;
                        target = 52CD0F592242F569004A18A5 /* testdfg */;
index cb4c11a..6111dbf 100644 (file)
@@ -1 +1,2 @@
+XCODE_OPTIONS += -parallelizeTargets
 include ../Makefile.shared