Title: [240517] trunk
Revision
240517
Author
krol...@apple.com
Date
2019-01-25 15:19:25 -0800 (Fri, 25 Jan 2019)

Log Message

Update Xcode projects with "Apply Configuration to XCFileLists" build target
https://bugs.webkit.org/show_bug.cgi?id=193781
<rdar://problem/47201153>

Reviewed by Alex Christensen.

Part of generating the .xcfilelists used as part of adopting XCBuild
includes running `make DerivedSources.make` from a standalone script.
It’s important for this invocation to have the same environment as
when the actual build invokes `make DerivedSources.make`. If the
environments are different, then the two invocations will provide
different results. In order to get the same environment in the
standalone script, have the script launch xcodebuild targeting the
"Apply Configuration to XCFileLists" build target, which will then
re-invoke our standalone script. The script is now running again, this
time in an environment with all workspace, project, target, xcconfig
and other environment variables established.

The "Apply Configuration to XCFileLists" build target accomplishes
this task via a small embedded shell script that consists only of:

    eval "${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}"

The process that invokes "Apply Configuration to XCFileLists" first
sets WK_SUBLAUNCH_SCRIPT_PARAMETERS to an array of commands to be
evaluated and exports it into the shell environment. When xcodebuild
is invoked, it inherits the value of this variable and can `eval` the
contents of that variable. Our external standalone script can then set
WK_SUBLAUNCH_SCRIPT_PARAMETERS to the path to itself, along with a set
of command-line parameters needed to restart itself in the appropriate
state.

Source/_javascript_Core:

* _javascript_Core.xcodeproj/project.pbxproj:

Source/WebCore:

No new tests since there should be no observable behavior difference.

* WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:

Tools:

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (240516 => 240517)


--- trunk/Source/_javascript_Core/ChangeLog	2019-01-25 23:16:46 UTC (rev 240516)
+++ trunk/Source/_javascript_Core/ChangeLog	2019-01-25 23:19:25 UTC (rev 240517)
@@ -1,3 +1,39 @@
+2019-01-25  Keith Rollin  <krol...@apple.com>
+
+        Update Xcode projects with "Apply Configuration to XCFileLists" build target
+        https://bugs.webkit.org/show_bug.cgi?id=193781
+        <rdar://problem/47201153>
+
+        Reviewed by Alex Christensen.
+
+        Part of generating the .xcfilelists used as part of adopting XCBuild
+        includes running `make DerivedSources.make` from a standalone script.
+        It’s important for this invocation to have the same environment as
+        when the actual build invokes `make DerivedSources.make`. If the
+        environments are different, then the two invocations will provide
+        different results. In order to get the same environment in the
+        standalone script, have the script launch xcodebuild targeting the
+        "Apply Configuration to XCFileLists" build target, which will then
+        re-invoke our standalone script. The script is now running again, this
+        time in an environment with all workspace, project, target, xcconfig
+        and other environment variables established.
+
+        The "Apply Configuration to XCFileLists" build target accomplishes
+        this task via a small embedded shell script that consists only of:
+
+            eval "${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}"
+
+        The process that invokes "Apply Configuration to XCFileLists" first
+        sets WK_SUBLAUNCH_SCRIPT_PARAMETERS to an array of commands to be
+        evaluated and exports it into the shell environment. When xcodebuild
+        is invoked, it inherits the value of this variable and can `eval` the
+        contents of that variable. Our external standalone script can then set
+        WK_SUBLAUNCH_SCRIPT_PARAMETERS to the path to itself, along with a set
+        of command-line parameters needed to restart itself in the appropriate
+        state.
+
+        * _javascript_Core.xcodeproj/project.pbxproj:
+
 2019-01-25  Tadeu Zagallo  <tzaga...@apple.com>
 
         Add API to generate and consume cached bytecode

Modified: trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj (240516 => 240517)


--- trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2019-01-25 23:16:46 UTC (rev 240516)
+++ trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2019-01-25 23:19:25 UTC (rev 240517)
@@ -31,6 +31,17 @@
 			name = "LLInt Settings";
 			productName = "Derived Sources";
 		};
+		5325BDBF21DFF2B100A0DEE1 /* Apply Configuration to XCFileLists */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 5325BDC421DFF2B200A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */;
+			buildPhases = (
+				5325BDC521DFF2BA00A0DEE1 /* ShellScript */,
+			);
+			dependencies = (
+			);
+			name = "Apply Configuration to XCFileLists";
+			productName = "Apply Configuration to XCFileLists";
+		};
 		53B4BD041F68AF8900D2BEA3 /* Generate Unified Sources */ = {
 			isa = PBXAggregateTarget;
 			buildConfigurationList = 53B4BD0A1F68AF8900D2BEA3 /* Build configuration list for PBXAggregateTarget "Generate Unified Sources" */;
@@ -10067,8 +10078,15 @@
 			isa = PBXProject;
 			attributes = {
 				BuildIndependentTargetsInParallel = YES;
+				DefaultBuildSystemTypeForWorkspace = Original;
 				LastSwiftUpdateCheck = 0700;
 				LastUpgradeCheck = 1000;
+				TargetAttributes = {
+					5325BDBF21DFF2B100A0DEE1 = {
+						CreatedOnToolsVersion = 10.1;
+						ProvisioningStyle = Automatic;
+					};
+				};
 			};
 			buildConfigurationList = 149C277108902AFE008A9EFC /* Build configuration list for PBXProject "_javascript_Core" */;
 			compatibilityVersion = "Xcode 3.2";
@@ -10101,6 +10119,7 @@
 				0F6183381C45F62A0072450B /* testair */,
 				FE533CA11F217DB30016A1FE /* testmasm */,
 				79281BBD20B62B3E002E2A60 /* testmem */,
+				5325BDBF21DFF2B100A0DEE1 /* Apply Configuration to XCFileLists */,
 			);
 		};
 /* End PBXProject section */
@@ -10202,6 +10221,23 @@
 			shellPath = /bin/sh;
 			shellScript = "set -e\n\nif [[ -f \"${BUILT_PRODUCTS_DIR}/libWTF.a\" ]]; then\n    ln -s -f -h \"${BUILT_PRODUCTS_DIR}/libWTF.a\" \"${BUILT_PRODUCTS_DIR}/DerivedSources/_javascript_Core/libWTF.a\"\nelse\n    ln -s -f -h \"${SDK_DIR}${WK_ALTERNATE_WEBKIT_SDK_PATH}/usr/local/lib/libWTF.a\" \"${BUILT_PRODUCTS_DIR}/DerivedSources/_javascript_Core/libWTF.a\"\nfi";
 		};
+		5325BDC521DFF2BA00A0DEE1 /* ShellScript */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "eval \"${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}\"\n";
+		};
 		53B4BD091F68AF8900D2BEA3 /* Generate Unified Sources */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -11078,6 +11114,42 @@
 			};
 			name = Production;
 		};
+		5325BDC021DFF2B200A0DEE1 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* _javascript_Core.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Debug;
+		};
+		5325BDC121DFF2B200A0DEE1 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* _javascript_Core.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Release;
+		};
+		5325BDC221DFF2B200A0DEE1 /* Profiling */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* _javascript_Core.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Profiling;
+		};
+		5325BDC321DFF2B200A0DEE1 /* Production */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 1C9051430BA9E8A70081E9D0 /* _javascript_Core.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Production;
+		};
 		53B4BD0B1F68AF8900D2BEA3 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
@@ -11483,6 +11555,17 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Production;
 		};
+		5325BDC421DFF2B200A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				5325BDC021DFF2B200A0DEE1 /* Debug */,
+				5325BDC121DFF2B200A0DEE1 /* Release */,
+				5325BDC221DFF2B200A0DEE1 /* Profiling */,
+				5325BDC321DFF2B200A0DEE1 /* Production */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Production;
+		};
 		53B4BD0A1F68AF8900D2BEA3 /* Build configuration list for PBXAggregateTarget "Generate Unified Sources" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (

Modified: trunk/Source/WebCore/ChangeLog (240516 => 240517)


--- trunk/Source/WebCore/ChangeLog	2019-01-25 23:16:46 UTC (rev 240516)
+++ trunk/Source/WebCore/ChangeLog	2019-01-25 23:19:25 UTC (rev 240517)
@@ -1,5 +1,43 @@
 2019-01-25  Keith Rollin  <krol...@apple.com>
 
+        Update Xcode projects with "Apply Configuration to XCFileLists" build target
+        https://bugs.webkit.org/show_bug.cgi?id=193781
+        <rdar://problem/47201153>
+
+        Reviewed by Alex Christensen.
+
+        Part of generating the .xcfilelists used as part of adopting XCBuild
+        includes running `make DerivedSources.make` from a standalone script.
+        It’s important for this invocation to have the same environment as
+        when the actual build invokes `make DerivedSources.make`. If the
+        environments are different, then the two invocations will provide
+        different results. In order to get the same environment in the
+        standalone script, have the script launch xcodebuild targeting the
+        "Apply Configuration to XCFileLists" build target, which will then
+        re-invoke our standalone script. The script is now running again, this
+        time in an environment with all workspace, project, target, xcconfig
+        and other environment variables established.
+
+        The "Apply Configuration to XCFileLists" build target accomplishes
+        this task via a small embedded shell script that consists only of:
+
+            eval "${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}"
+
+        The process that invokes "Apply Configuration to XCFileLists" first
+        sets WK_SUBLAUNCH_SCRIPT_PARAMETERS to an array of commands to be
+        evaluated and exports it into the shell environment. When xcodebuild
+        is invoked, it inherits the value of this variable and can `eval` the
+        contents of that variable. Our external standalone script can then set
+        WK_SUBLAUNCH_SCRIPT_PARAMETERS to the path to itself, along with a set
+        of command-line parameters needed to restart itself in the appropriate
+        state.
+
+        No new tests since there should be no observable behavior difference.
+
+        * WebCore.xcodeproj/project.pbxproj:
+
+2019-01-25  Keith Rollin  <krol...@apple.com>
+
         Update WebKitAdditions.xcconfig with correct order of variable definitions
         https://bugs.webkit.org/show_bug.cgi?id=193793
         <rdar://problem/47532439>

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (240516 => 240517)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2019-01-25 23:16:46 UTC (rev 240516)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2019-01-25 23:19:25 UTC (rev 240517)
@@ -20,6 +20,17 @@
 			name = All;
 			productName = All;
 		};
+		5325BDC621DFF33700A0DEE1 /* Apply Configuration to XCFileLists */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 5325BDCB21DFF33A00A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */;
+			buildPhases = (
+				5325BDCC21DFF33E00A0DEE1 /* ShellScript */,
+			);
+			dependencies = (
+			);
+			name = "Apply Configuration to XCFileLists";
+			productName = "Apply Configuration to XCFileLists";
+		};
 		5355E8D11F967E9D0031E08C /* Generate Unified Sources */ = {
 			isa = PBXAggregateTarget;
 			buildConfigurationList = 5355E8D41F967E9D0031E08C /* Build configuration list for PBXAggregateTarget "Generate Unified Sources" */;
@@ -32451,8 +32462,15 @@
 			isa = PBXProject;
 			attributes = {
 				BuildIndependentTargetsInParallel = YES;
+				DefaultBuildSystemTypeForWorkspace = Original;
 				LastSwiftUpdateCheck = 0700;
 				LastUpgradeCheck = 1000;
+				TargetAttributes = {
+					5325BDC621DFF33700A0DEE1 = {
+						CreatedOnToolsVersion = 10.1;
+						ProvisioningStyle = Automatic;
+					};
+				};
 			};
 			buildConfigurationList = 149C284308902B11008A9EFC /* Build configuration list for PBXProject "WebCore" */;
 			compatibilityVersion = "Xcode 3.2";
@@ -32485,6 +32503,7 @@
 				DD041FBE09D9DDBE0010AF2A /* Derived Sources */,
 				417DA6CF13734E02007C57FB /* WebCoreTestSupport */,
 				E1BA66F31742BDE000C20251 /* WebCoreTestShim */,
+				5325BDC621DFF33700A0DEE1 /* Apply Configuration to XCFileLists */,
 			);
 		};
 /* End PBXProject section */
@@ -32550,6 +32569,23 @@
 			shellPath = /bin/sh;
 			shellScript = "if [ \"${ACTION}\" = \"installhdrs\" -o \"${ACTION}\" = \"installapi\" ]; then\n    exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-inappropriate-objc-class-names ]; then\n    ../../Tools/Scripts/check-for-inappropriate-objc-class-names Web || exit $?\nfi";
 		};
+		5325BDCC21DFF33E00A0DEE1 /* ShellScript */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "eval \"${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}\"\n";
+		};
 		5355E8D21F967E9D0031E08C /* Generate Unified Sources */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -33712,6 +33748,33 @@
 			};
 			name = Production;
 		};
+		5325BDC721DFF33900A0DEE1 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 1CDD45E50BA9C84600F90147 /* WebCore.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Debug;
+		};
+		5325BDC821DFF33900A0DEE1 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 1CDD45E50BA9C84600F90147 /* WebCore.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Release;
+		};
+		5325BDC921DFF33900A0DEE1 /* Production */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 1CDD45E50BA9C84600F90147 /* WebCore.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Production;
+		};
 		5355E8D51F967E9D0031E08C /* Debug */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 5355E8DD1F9680420031E08C /* GenerateUnifiedSources.xcconfig */;
@@ -33824,6 +33887,16 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Production;
 		};
+		5325BDCB21DFF33A00A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				5325BDC721DFF33900A0DEE1 /* Debug */,
+				5325BDC821DFF33900A0DEE1 /* Release */,
+				5325BDC921DFF33900A0DEE1 /* Production */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Production;
+		};
 		5355E8D41F967E9D0031E08C /* Build configuration list for PBXAggregateTarget "Generate Unified Sources" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (

Modified: trunk/Source/WebKit/ChangeLog (240516 => 240517)


--- trunk/Source/WebKit/ChangeLog	2019-01-25 23:16:46 UTC (rev 240516)
+++ trunk/Source/WebKit/ChangeLog	2019-01-25 23:19:25 UTC (rev 240517)
@@ -1,3 +1,39 @@
+2019-01-25  Keith Rollin  <krol...@apple.com>
+
+        Update Xcode projects with "Apply Configuration to XCFileLists" build target
+        https://bugs.webkit.org/show_bug.cgi?id=193781
+        <rdar://problem/47201153>
+
+        Reviewed by Alex Christensen.
+
+        Part of generating the .xcfilelists used as part of adopting XCBuild
+        includes running `make DerivedSources.make` from a standalone script.
+        It’s important for this invocation to have the same environment as
+        when the actual build invokes `make DerivedSources.make`. If the
+        environments are different, then the two invocations will provide
+        different results. In order to get the same environment in the
+        standalone script, have the script launch xcodebuild targeting the
+        "Apply Configuration to XCFileLists" build target, which will then
+        re-invoke our standalone script. The script is now running again, this
+        time in an environment with all workspace, project, target, xcconfig
+        and other environment variables established.
+
+        The "Apply Configuration to XCFileLists" build target accomplishes
+        this task via a small embedded shell script that consists only of:
+
+            eval "${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}"
+
+        The process that invokes "Apply Configuration to XCFileLists" first
+        sets WK_SUBLAUNCH_SCRIPT_PARAMETERS to an array of commands to be
+        evaluated and exports it into the shell environment. When xcodebuild
+        is invoked, it inherits the value of this variable and can `eval` the
+        contents of that variable. Our external standalone script can then set
+        WK_SUBLAUNCH_SCRIPT_PARAMETERS to the path to itself, along with a set
+        of command-line parameters needed to restart itself in the appropriate
+        state.
+
+        * WebKit.xcodeproj/project.pbxproj:
+
 2019-01-25  Alex Christensen  <achristen...@webkit.org>
 
         Add SPI to inform an application that "Go Back" has been clicked from a safe browsing warning

Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (240516 => 240517)


--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2019-01-25 23:16:46 UTC (rev 240516)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2019-01-25 23:19:25 UTC (rev 240517)
@@ -34,6 +34,17 @@
 			name = "Generate Unified Sources";
 			productName = "Derived Sources";
 		};
+		5325BDCD21DFF47700A0DEE1 /* Apply Configuration to XCFileLists */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 5325BDD121DFF47800A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */;
+			buildPhases = (
+				5325BDD221DFF47C00A0DEE1 /* ShellScript */,
+			);
+			dependencies = (
+			);
+			name = "Apply Configuration to XCFileLists";
+			productName = "Apply Configuration to XCFileLists";
+		};
 		A7AADA1019395CA9003EA1C7 /* Sandbox Profiles */ = {
 			isa = PBXAggregateTarget;
 			buildConfigurationList = A7AADA1419395CA9003EA1C7 /* Build configuration list for PBXAggregateTarget "Sandbox Profiles" */;
@@ -10123,9 +10134,14 @@
 		0867D690FE84028FC02AAC07 /* Project object */ = {
 			isa = PBXProject;
 			attributes = {
+				DefaultBuildSystemTypeForWorkspace = Original;
 				LastSwiftUpdateCheck = 0700;
 				LastUpgradeCheck = 1000;
 				TargetAttributes = {
+					5325BDCD21DFF47700A0DEE1 = {
+						CreatedOnToolsVersion = 10.1;
+						ProvisioningStyle = Automatic;
+					};
 					E1AC2E2720F7B94C00B0897D = {
 						CreatedOnToolsVersion = 9.3;
 						ProvisioningStyle = Automatic;
@@ -10156,6 +10172,7 @@
 				BC82841E16B4FDF600A278FE /* Plugin.64 */,
 				A7AADA1019395CA9003EA1C7 /* Sandbox Profiles */,
 				E1AC2E2720F7B94C00B0897D /* Unlock Keychain */,
+				5325BDCD21DFF47700A0DEE1 /* Apply Configuration to XCFileLists */,
 			);
 		};
 /* End PBXProject section */
@@ -10449,6 +10466,23 @@
 			shellPath = /bin/sh;
 			shellScript = "Scripts/process-network-sandbox-entitlements.sh\n";
 		};
+		5325BDD221DFF47C00A0DEE1 /* ShellScript */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "eval \"${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}\"\n";
+		};
 		5DF408C5131DD46700130071 /* Check For Weak VTables and Externals */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -11332,6 +11366,33 @@
 			};
 			name = Production;
 		};
+		5325BDCE21DFF47800A0DEE1 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = BCB86F4B116AAACD00CE20B7 /* WebKit.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Debug;
+		};
+		5325BDCF21DFF47800A0DEE1 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = BCB86F4B116AAACD00CE20B7 /* WebKit.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Release;
+		};
+		5325BDD021DFF47800A0DEE1 /* Production */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = BCB86F4B116AAACD00CE20B7 /* WebKit.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Production;
+		};
 		5D22D69B11A7534600BF30E5 /* Production */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 1A4F976A100E7B6600637A18 /* Base.xcconfig */;
@@ -11568,6 +11629,16 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Production;
 		};
+		5325BDD121DFF47800A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				5325BDCE21DFF47800A0DEE1 /* Debug */,
+				5325BDCF21DFF47800A0DEE1 /* Release */,
+				5325BDD021DFF47800A0DEE1 /* Production */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Production;
+		};
 		A7AADA1419395CA9003EA1C7 /* Build configuration list for PBXAggregateTarget "Sandbox Profiles" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (

Modified: trunk/Tools/ChangeLog (240516 => 240517)


--- trunk/Tools/ChangeLog	2019-01-25 23:16:46 UTC (rev 240516)
+++ trunk/Tools/ChangeLog	2019-01-25 23:19:25 UTC (rev 240517)
@@ -1,3 +1,40 @@
+2019-01-25  Keith Rollin  <krol...@apple.com>
+
+        Update Xcode projects with "Apply Configuration to XCFileLists" build target
+        https://bugs.webkit.org/show_bug.cgi?id=193781
+        <rdar://problem/47201153>
+
+        Reviewed by Alex Christensen.
+
+        Part of generating the .xcfilelists used as part of adopting XCBuild
+        includes running `make DerivedSources.make` from a standalone script.
+        It’s important for this invocation to have the same environment as
+        when the actual build invokes `make DerivedSources.make`. If the
+        environments are different, then the two invocations will provide
+        different results. In order to get the same environment in the
+        standalone script, have the script launch xcodebuild targeting the
+        "Apply Configuration to XCFileLists" build target, which will then
+        re-invoke our standalone script. The script is now running again, this
+        time in an environment with all workspace, project, target, xcconfig
+        and other environment variables established.
+
+        The "Apply Configuration to XCFileLists" build target accomplishes
+        this task via a small embedded shell script that consists only of:
+
+            eval "${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}"
+
+        The process that invokes "Apply Configuration to XCFileLists" first
+        sets WK_SUBLAUNCH_SCRIPT_PARAMETERS to an array of commands to be
+        evaluated and exports it into the shell environment. When xcodebuild
+        is invoked, it inherits the value of this variable and can `eval` the
+        contents of that variable. Our external standalone script can then set
+        WK_SUBLAUNCH_SCRIPT_PARAMETERS to the path to itself, along with a set
+        of command-line parameters needed to restart itself in the appropriate
+        state.
+
+        * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
+        * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
+
 2019-01-25  Alex Christensen  <achristen...@webkit.org>
 
         Add SPI to inform an application that "Go Back" has been clicked from a safe browsing warning

Modified: trunk/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj (240516 => 240517)


--- trunk/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj	2019-01-25 23:16:46 UTC (rev 240516)
+++ trunk/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj	2019-01-25 23:19:25 UTC (rev 240517)
@@ -18,6 +18,17 @@
 			name = "Derived Sources";
 			productName = All;
 		};
+		5325BDD321DFF4BD00A0DEE1 /* Apply Configuration to XCFileLists */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 5325BDD721DFF4BE00A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */;
+			buildPhases = (
+				5325BDD821DFF4C100A0DEE1 /* ShellScript */,
+			);
+			dependencies = (
+			);
+			name = "Apply Configuration to XCFileLists";
+			productName = "Apply Configuration to XCFileLists";
+		};
 		A84F608D08B1370600E9745F /* All */ = {
 			isa = PBXAggregateTarget;
 			buildConfigurationList = A84F609208B1371400E9745F /* Build configuration list for PBXAggregateTarget "All" */;
@@ -959,8 +970,15 @@
 		08FB7793FE84155DC02AAC07 /* Project object */ = {
 			isa = PBXProject;
 			attributes = {
+				DefaultBuildSystemTypeForWorkspace = Original;
 				LastSwiftUpdateCheck = 0700;
 				LastUpgradeCheck = 1000;
+				TargetAttributes = {
+					5325BDD321DFF4BD00A0DEE1 = {
+						CreatedOnToolsVersion = 10.1;
+						ProvisioningStyle = Automatic;
+					};
+				};
 			};
 			buildConfigurationList = 149C29C308902C6D008A9EFC /* Build configuration list for PBXProject "DumpRenderTree" */;
 			compatibilityVersion = "Xcode 3.2";
@@ -982,6 +1000,7 @@
 				A1158D7E18927E7A0088C17B /* DumpRenderTree.app */,
 				141BF21E096A441D00E0753C /* TestNetscapePlugIn */,
 				2D403EB2150871F9005358D2 /* LayoutTestHelper */,
+				5325BDD321DFF4BD00A0DEE1 /* Apply Configuration to XCFileLists */,
 			);
 		};
 /* End PBXProject section */
@@ -1018,6 +1037,23 @@
 			shellPath = /bin/sh;
 			shellScript = "Scripts/generate-derived-sources.sh\n";
 		};
+		5325BDD821DFF4C100A0DEE1 /* ShellScript */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "eval \"${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}\"\n";
+		};
 /* End PBXShellScriptBuildPhase section */
 
 /* Begin PBXSourcesBuildPhase section */
@@ -1284,6 +1320,33 @@
 			};
 			name = Production;
 		};
+		5325BDD421DFF4BE00A0DEE1 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = BCB281F00CFA713D007E533E /* DumpRenderTree.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Debug;
+		};
+		5325BDD521DFF4BE00A0DEE1 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = BCB281F00CFA713D007E533E /* DumpRenderTree.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Release;
+		};
+		5325BDD621DFF4BE00A0DEE1 /* Production */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = BCB281F00CFA713D007E533E /* DumpRenderTree.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Production;
+		};
 		90CBC3500F748B1300A712B7 /* Production */ = {
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = BCB281EE0CFA713D007E533E /* Base.xcconfig */;
@@ -1453,6 +1516,16 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Production;
 		};
+		5325BDD721DFF4BE00A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				5325BDD421DFF4BE00A0DEE1 /* Debug */,
+				5325BDD521DFF4BE00A0DEE1 /* Release */,
+				5325BDD621DFF4BE00A0DEE1 /* Production */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Production;
+		};
 		A1158DAB18927E7B0088C17B /* Build configuration list for PBXNativeTarget "DumpRenderTree.app" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (

Modified: trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj (240516 => 240517)


--- trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj	2019-01-25 23:16:46 UTC (rev 240516)
+++ trunk/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj	2019-01-25 23:19:25 UTC (rev 240517)
@@ -7,6 +7,17 @@
 	objects = {
 
 /* Begin PBXAggregateTarget section */
+		5325BDD921DFF4F500A0DEE1 /* Apply Configuration to XCFileLists */ = {
+			isa = PBXAggregateTarget;
+			buildConfigurationList = 5325BDDD21DFF4F500A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */;
+			buildPhases = (
+				5325BDDE21DFF4F800A0DEE1 /* ShellScript */,
+			);
+			dependencies = (
+			);
+			name = "Apply Configuration to XCFileLists";
+			productName = "Apply Configuration to XCFileLists";
+		};
 		A115CCB41B9D769D00E89159 /* All */ = {
 			isa = PBXAggregateTarget;
 			buildConfigurationList = A115CCB51B9D769D00E89159 /* Build configuration list for PBXAggregateTarget "All" */;
@@ -958,9 +969,13 @@
 		08FB7793FE84155DC02AAC07 /* Project object */ = {
 			isa = PBXProject;
 			attributes = {
+				DefaultBuildSystemTypeForWorkspace = Original;
 				LastSwiftUpdateCheck = 0700;
 				LastUpgradeCheck = 1000;
 				TargetAttributes = {
+					5325BDD921DFF4F500A0DEE1 = {
+						CreatedOnToolsVersion = 10.1;
+					};
 					A115CCB41B9D769D00E89159 = {
 						CreatedOnToolsVersion = 7.0;
 					};
@@ -986,6 +1001,7 @@
 				BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */,
 				BC952D7711F3BF5D003398B4 /* Derived Sources */,
 				A18510261B9ADE4800744AEB /* WebKitTestRunner (Library) */,
+				5325BDD921DFF4F500A0DEE1 /* Apply Configuration to XCFileLists */,
 			);
 		};
 /* End PBXProject section */
@@ -1026,6 +1042,23 @@
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXShellScriptBuildPhase section */
+		5325BDDE21DFF4F800A0DEE1 /* ShellScript */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+			);
+			outputFileListPaths = (
+			);
+			outputPaths = (
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "eval \"${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}\"\n";
+		};
 		BC952D8211F3BF78003398B4 /* Generate Derived Sources */ = {
 			isa = PBXShellScriptBuildPhase;
 			buildActionMask = 2147483647;
@@ -1250,6 +1283,33 @@
 			};
 			name = Production;
 		};
+		5325BDDA21DFF4F500A0DEE1 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Debug;
+		};
+		5325BDDB21DFF4F500A0DEE1 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Release;
+		};
+		5325BDDC21DFF4F500A0DEE1 /* Production */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
+			buildSettings = {
+				CODE_SIGN_STYLE = Automatic;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+			};
+			name = Production;
+		};
 		A115CCB61B9D769D00E89159 /* Debug */ = {
 			isa = XCBuildConfiguration;
 			buildSettings = {
@@ -1381,6 +1441,16 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Production;
 		};
+		5325BDDD21DFF4F500A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				5325BDDA21DFF4F500A0DEE1 /* Debug */,
+				5325BDDB21DFF4F500A0DEE1 /* Release */,
+				5325BDDC21DFF4F500A0DEE1 /* Production */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Production;
+		};
 		A115CCB51B9D769D00E89159 /* Build configuration list for PBXAggregateTarget "All" */ = {
 			isa = XCConfigurationList;
 			buildConfigurations = (
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to