Diff
Modified: trunk/ChangeLog (265601 => 265602)
--- trunk/ChangeLog 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/ChangeLog 2020-08-13 06:09:30 UTC (rev 265602)
@@ -1,3 +1,51 @@
+2020-08-12 Keith Rollin <krol...@apple.com>
+
+ Remove the need for defining USE_NEW_BUILD_SYSTEM
+ https://bugs.webkit.org/show_bug.cgi?id=215439
+
+ Reviewed by Darin Adler.
+
+ When building WebKit for XCBuild, we currently require that the
+ external build system (such as the Makefile, build-webkit, etc.)
+ defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting
+ controls parts of our build instructions that are sensitive to when
+ XCBuild or the Legacy build system are being used. Notably, we need to
+ know when to use our custom “copy and modify” scripts with copying
+ certain header files (used with the Legacy build system) vs. using the
+ enhanced Copy Headers build phase that’s enabled with
+ APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild).
+ The choice of which method to copy headers is used is controlled by
+ USE_NEW_BUILD_SYSTEM.
+
+ There is no built-in build setting that we can probe to help us
+ determine which approach to take when copying and modifying headers,
+ which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it
+ turns out that we can *detect* which build system is being used by
+ taking advantage of a subtle difference between the two systems. As
+ noted in:
+
+ https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10
+
+ “When an .xcconfig file contains multiple assignments of the same
+ build setting, later assignments using $(inherited) or
+ $(<setting_name>) will inherit from earlier assignments in the
+ .xcconfig. The legacy build system caused every use of
+ $(inherited) or $(<setting_name>) skip any other values defined
+ within the .xcconfig.”
+
+ This difference can be exploited as follows:
+
+ WK_WHICH_BUILD_SYSTEM = not_
+ WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
+ WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
+ WK_USE_NEW_BUILD_SYSTEM_legacy = NO
+ WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
+
+ We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the
+ externally-defined USE_NEW_BUILD_SYSTEM.
+
+ * Makefile.shared:
+
2020-08-11 Philippe Normand <pnorm...@igalia.com>
[GStreamer] gst-full standalone library support
Modified: trunk/Makefile.shared (265601 => 265602)
--- trunk/Makefile.shared 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Makefile.shared 2020-08-13 06:09:30 UTC (rev 265602)
@@ -42,12 +42,9 @@
ifeq ($(CAN_USE_XCBUILD),1)
# Temporarily disable default use of XCBuild until issues with it are ironed out.
#XCODE_OPTIONS += -UseNewBuildSystem=YES
- #XCODE_OPTIONS += USE_NEW_BUILD_SYSTEM=YES
XCODE_OPTIONS += -UseNewBuildSystem=NO
- XCODE_OPTIONS += USE_NEW_BUILD_SYSTEM=NO
else
XCODE_OPTIONS += -UseNewBuildSystem=NO
- XCODE_OPTIONS += USE_NEW_BUILD_SYSTEM=NO
endif
endif
Modified: trunk/Source/_javascript_Core/ChangeLog (265601 => 265602)
--- trunk/Source/_javascript_Core/ChangeLog 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/_javascript_Core/ChangeLog 2020-08-13 06:09:30 UTC (rev 265602)
@@ -1,3 +1,53 @@
+2020-08-12 Keith Rollin <krol...@apple.com>
+
+ Remove the need for defining USE_NEW_BUILD_SYSTEM
+ https://bugs.webkit.org/show_bug.cgi?id=215439
+
+ Reviewed by Darin Adler.
+
+ When building WebKit for XCBuild, we currently require that the
+ external build system (such as the Makefile, build-webkit, etc.)
+ defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting
+ controls parts of our build instructions that are sensitive to when
+ XCBuild or the Legacy build system are being used. Notably, we need to
+ know when to use our custom “copy and modify” scripts with copying
+ certain header files (used with the Legacy build system) vs. using the
+ enhanced Copy Headers build phase that’s enabled with
+ APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild).
+ The choice of which method to copy headers is used is controlled by
+ USE_NEW_BUILD_SYSTEM.
+
+ There is no built-in build setting that we can probe to help us
+ determine which approach to take when copying and modifying headers,
+ which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it
+ turns out that we can *detect* which build system is being used by
+ taking advantage of a subtle difference between the two systems. As
+ noted in:
+
+ https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10
+
+ “When an .xcconfig file contains multiple assignments of the same
+ build setting, later assignments using $(inherited) or
+ $(<setting_name>) will inherit from earlier assignments in the
+ .xcconfig. The legacy build system caused every use of
+ $(inherited) or $(<setting_name>) skip any other values defined
+ within the .xcconfig.”
+
+ This difference can be exploited as follows:
+
+ WK_WHICH_BUILD_SYSTEM = not_
+ WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
+ WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
+ WK_USE_NEW_BUILD_SYSTEM_legacy = NO
+ WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
+
+ We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the
+ externally-defined USE_NEW_BUILD_SYSTEM.
+
+ * Configurations/Base.xcconfig:
+ * Configurations/_javascript_Core.xcconfig:
+ * _javascript_Core.xcodeproj/project.pbxproj:
+
2020-08-12 Saam Barati <sbar...@apple.com>
Inline cache Replace and Setters on PureForwardingProxy
Modified: trunk/Source/_javascript_Core/Configurations/Base.xcconfig (265601 => 265602)
--- trunk/Source/_javascript_Core/Configurations/Base.xcconfig 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/_javascript_Core/Configurations/Base.xcconfig 2020-08-13 06:09:30 UTC (rev 265602)
@@ -215,3 +215,11 @@
WK_USER_LTO_MODE_none = NO;
WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE);
WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin);
+
+// Use a difference in the way the Legacy build sytem and XCBuild interpret
+// xcconfig file to determine which is being used.
+WK_WHICH_BUILD_SYSTEM = not_
+WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
+WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
+WK_USE_NEW_BUILD_SYSTEM_legacy = NO
+WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
Modified: trunk/Source/_javascript_Core/Configurations/_javascript_Core.xcconfig (265601 => 265602)
--- trunk/Source/_javascript_Core/Configurations/_javascript_Core.xcconfig 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/_javascript_Core/Configurations/_javascript_Core.xcconfig 2020-08-13 06:09:30 UTC (rev 265602)
@@ -51,9 +51,6 @@
PRODUCT_BUNDLE_IDENTIFIER = com.apple.$(PRODUCT_NAME:rfc1034identifier);
INSTALLHDRS_SCRIPT_PHASE = YES;
-APPLY_RULES_IN_COPY_HEADERS = $(WK_APPLY_RULES_IN_COPY_HEADERS_$(USE_NEW_BUILD_SYSTEM));
-WK_APPLY_RULES_IN_COPY_HEADERS_ = NO;
-WK_APPLY_RULES_IN_COPY_HEADERS_NO = NO;
-WK_APPLY_RULES_IN_COPY_HEADERS_YES = YES;
+APPLY_RULES_IN_COPY_HEADERS = $(WK_USE_NEW_BUILD_SYSTEM);
EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = framework.sb;
Modified: trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj (265601 => 265602)
--- trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj 2020-08-13 06:09:30 UTC (rev 265602)
@@ -10924,7 +10924,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n # In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\n exit 0\nfi\n\nexec ${SRCROOT}/postprocess-headers.sh\n";
+ shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${WK_USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n # In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\n exit 0\nfi\n\nexec ${SRCROOT}/postprocess-headers.sh\n";
};
374F95C9205F9975002BF68F /* Make libWTF.a Symbolic Link */ = {
isa = PBXShellScriptBuildPhase;
Modified: trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj (265601 => 265602)
--- trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj 2020-08-13 06:09:30 UTC (rev 265602)
@@ -4289,7 +4289,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n # In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\n exit 0\nfi\n\nexec \"$SRCROOT/adjust-angle-include-paths.sh\"\n";
+ shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${WK_USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n # In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\n exit 0\nfi\n\nexec \"$SRCROOT/adjust-angle-include-paths.sh\"\n";
};
/* End PBXShellScriptBuildPhase section */
Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (265601 => 265602)
--- trunk/Source/ThirdParty/ANGLE/ChangeLog 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog 2020-08-13 06:09:30 UTC (rev 265602)
@@ -1,3 +1,54 @@
+2020-08-12 Keith Rollin <krol...@apple.com>
+
+ Remove the need for defining USE_NEW_BUILD_SYSTEM
+ https://bugs.webkit.org/show_bug.cgi?id=215439
+
+ Reviewed by Darin Adler.
+
+ When building WebKit for XCBuild, we currently require that the
+ external build system (such as the Makefile, build-webkit, etc.)
+ defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting
+ controls parts of our build instructions that are sensitive to when
+ XCBuild or the Legacy build system are being used. Notably, we need to
+ know when to use our custom “copy and modify” scripts with copying
+ certain header files (used with the Legacy build system) vs. using the
+ enhanced Copy Headers build phase that’s enabled with
+ APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild).
+ The choice of which method to copy headers is used is controlled by
+ USE_NEW_BUILD_SYSTEM.
+
+ There is no built-in build setting that we can probe to help us
+ determine which approach to take when copying and modifying headers,
+ which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it
+ turns out that we can *detect* which build system is being used by
+ taking advantage of a subtle difference between the two systems. As
+ noted in:
+
+ https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10
+
+ “When an .xcconfig file contains multiple assignments of the same
+ build setting, later assignments using $(inherited) or
+ $(<setting_name>) will inherit from earlier assignments in the
+ .xcconfig. The legacy build system caused every use of
+ $(inherited) or $(<setting_name>) skip any other values defined
+ within the .xcconfig.”
+
+ This difference can be exploited as follows:
+
+ WK_WHICH_BUILD_SYSTEM = not_
+ WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
+ WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
+ WK_USE_NEW_BUILD_SYSTEM_legacy = NO
+ WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
+
+ We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the
+ externally-defined USE_NEW_BUILD_SYSTEM.
+
+ * ANGLE.xcodeproj/project.pbxproj:
+ * Configurations/ANGLE-dynamic.xcconfig:
+ * Configurations/ANGLE-static.xcconfig:
+ * Configurations/Base.xcconfig:
+
2020-08-07 Dean Jackson <d...@apple.com>
ANGLE: No need to check for Catalyst in the iOS build
Modified: trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig (265601 => 265602)
--- trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig 2020-08-13 06:09:30 UTC (rev 265602)
@@ -40,4 +40,4 @@
INSTALLHDRS_SCRIPT_PHASE = YES;
USE_HEADERMAP = NO;
-APPLY_RULES_IN_COPY_HEADERS = $(USE_NEW_BUILD_SYSTEM);
+APPLY_RULES_IN_COPY_HEADERS = $(WK_USE_NEW_BUILD_SYSTEM);
Modified: trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-static.xcconfig (265601 => 265602)
--- trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-static.xcconfig 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-static.xcconfig 2020-08-13 06:09:30 UTC (rev 265602)
@@ -28,4 +28,4 @@
INSTALLHDRS_SCRIPT_PHASE = YES;
USE_HEADERMAP = NO;
-APPLY_RULES_IN_COPY_HEADERS = $(USE_NEW_BUILD_SYSTEM);
+APPLY_RULES_IN_COPY_HEADERS = $(WK_USE_NEW_BUILD_SYSTEM);
Modified: trunk/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig (265601 => 265602)
--- trunk/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig 2020-08-13 06:09:30 UTC (rev 265602)
@@ -113,3 +113,11 @@
WK_USER_LTO_MODE_none = NO;
WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE);
WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin);
+
+// Use a difference in the way the Legacy build sytem and XCBuild interpret
+// xcconfig file to determine which is being used.
+WK_WHICH_BUILD_SYSTEM = not_
+WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
+WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
+WK_USE_NEW_BUILD_SYSTEM_legacy = NO
+WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
Modified: trunk/Source/WebKit/ChangeLog (265601 => 265602)
--- trunk/Source/WebKit/ChangeLog 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/WebKit/ChangeLog 2020-08-13 06:09:30 UTC (rev 265602)
@@ -1,3 +1,55 @@
+2020-08-12 Keith Rollin <krol...@apple.com>
+
+ Remove the need for defining USE_NEW_BUILD_SYSTEM
+ https://bugs.webkit.org/show_bug.cgi?id=215439
+
+ Reviewed by Darin Adler.
+
+ When building WebKit for XCBuild, we currently require that the
+ external build system (such as the Makefile, build-webkit, etc.)
+ defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting
+ controls parts of our build instructions that are sensitive to when
+ XCBuild or the Legacy build system are being used. Notably, we need to
+ know when to use our custom “copy and modify” scripts with copying
+ certain header files (used with the Legacy build system) vs. using the
+ enhanced Copy Headers build phase that’s enabled with
+ APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild).
+ The choice of which method to copy headers is used is controlled by
+ USE_NEW_BUILD_SYSTEM.
+
+ There is no built-in build setting that we can probe to help us
+ determine which approach to take when copying and modifying headers,
+ which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it
+ turns out that we can *detect* which build system is being used by
+ taking advantage of a subtle difference between the two systems. As
+ noted in:
+
+ https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10
+
+ “When an .xcconfig file contains multiple assignments of the same
+ build setting, later assignments using $(inherited) or
+ $(<setting_name>) will inherit from earlier assignments in the
+ .xcconfig. The legacy build system caused every use of
+ $(inherited) or $(<setting_name>) skip any other values defined
+ within the .xcconfig.”
+
+ This difference can be exploited as follows:
+
+ WK_WHICH_BUILD_SYSTEM = not_
+ WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
+ WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
+ WK_USE_NEW_BUILD_SYSTEM_legacy = NO
+ WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
+
+ We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the
+ externally-defined USE_NEW_BUILD_SYSTEM.
+
+ No new tests -- no new or changed functionality.
+
+ * Configurations/Base.xcconfig:
+ * Configurations/WebKit.xcconfig:
+ * WebKit.xcodeproj/project.pbxproj:
+
2020-08-12 Alex Christensen <achristen...@webkit.org>
Fail preconnect requests to deprecated TLS instead of allowing application to show warning
Modified: trunk/Source/WebKit/Configurations/Base.xcconfig (265601 => 265602)
--- trunk/Source/WebKit/Configurations/Base.xcconfig 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/WebKit/Configurations/Base.xcconfig 2020-08-13 06:09:30 UTC (rev 265602)
@@ -187,3 +187,11 @@
WK_USER_LTO_MODE_none = NO;
WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE);
WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin);
+
+// Use a difference in the way the Legacy build sytem and XCBuild interpret
+// xcconfig file to determine which is being used.
+WK_WHICH_BUILD_SYSTEM = not_
+WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
+WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
+WK_USE_NEW_BUILD_SYSTEM_legacy = NO
+WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
Modified: trunk/Source/WebKit/Configurations/WebKit.xcconfig (265601 => 265602)
--- trunk/Source/WebKit/Configurations/WebKit.xcconfig 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/WebKit/Configurations/WebKit.xcconfig 2020-08-13 06:09:30 UTC (rev 265602)
@@ -161,10 +161,7 @@
EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*] = PluginProcessShim.dylib SecItemShim.dylib WebProcessShim.dylib *.pdf Resources/mac/* com.apple.WebKit.NetworkProcess.sb com.apple.WebKit.GPUProcess.sb com.apple.WebProcess.sb com.apple.WebKit.plugin-common.sb PlugInSandboxProfiles/*.sb;
INSTALLHDRS_SCRIPT_PHASE = YES;
-APPLY_RULES_IN_COPY_HEADERS = $(WK_APPLY_RULES_IN_COPY_HEADERS_$(USE_NEW_BUILD_SYSTEM));
-WK_APPLY_RULES_IN_COPY_HEADERS_ = NO;
-WK_APPLY_RULES_IN_COPY_HEADERS_NO = NO;
-WK_APPLY_RULES_IN_COPY_HEADERS_YES = YES;
+APPLY_RULES_IN_COPY_HEADERS = $(WK_USE_NEW_BUILD_SYSTEM);
WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED[sdk=macosx*] = $(WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED$(WK_MACOS_1016));
WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED_MACOS_BEFORE_1016 = YES;
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (265601 => 265602)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2020-08-13 06:09:30 UTC (rev 265602)
@@ -12187,7 +12187,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n # In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\n exit 0\nfi\n\nif [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" -o \"${ACTION}\" = \"installapi\" ]; then\n exec ${SRCROOT}/mac/postprocess-framework-headers.sh\nfi\n";
+ shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${WK_USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n # In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\n exit 0\nfi\n\nif [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" -o \"${ACTION}\" = \"installapi\" ]; then\n exec ${SRCROOT}/mac/postprocess-framework-headers.sh\nfi\n";
};
1A2180161B5454620046AEC4 /* Add Symlink in /System/Library/PrivateFrameworks */ = {
isa = PBXShellScriptBuildPhase;
@@ -12230,7 +12230,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n # In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\n exit 0\nfi\n\nWKFOUNDATION_H=${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}/WKFoundation.h\n\nif [[ \"${WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED}\" == \"YES\" ]]; then\n UNIFDEF_OPTIONS=\"-UWK_FRAMEWORK_HEADER_POSTPROCESSING_ENABLED\";\nelse\n UNIFDEF_OPTIONS=\"-DWK_FRAMEWORK_HEADER_POSTPROCESSING_ENABLED\";\nfi\n\nunifdef -B ${UNIFDEF_OPTIONS} -o \"${WKFOUNDATION_H}\".unifdef \"${WKFOUNDATION_H}\"\n\ncase $? in\n0)\n rm \"${WKFOUNDATION_H}\".unifdef\n ;;\n1)\n mv \"${WKFOUNDATION_H}\"{.unifdef,}\n ;;\n*)\n exit 1\nesac\n";
+ shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${WK_USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n # In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\n exit 0\nfi\n\nWKFOUNDATION_H=${TARGET_BUILD_DIR}/${PUBLIC_HEADERS_FOLDER_PATH}/WKFoundation.h\n\nif [[ \"${WK_FRAMEWORK_HEADER_POSTPROCESSING_DISABLED}\" == \"YES\" ]]; then\n UNIFDEF_OPTIONS=\"-UWK_FRAMEWORK_HEADER_POSTPROCESSING_ENABLED\";\nelse\n UNIFDEF_OPTIONS=\"-DWK_FRAMEWORK_HEADER_POSTPROCESSING_ENABLED\";\nfi\n\nunifdef -B ${UNIFDEF_OPTIONS} -o \"${WKFOUNDATION_H}\".unifdef \"${WKFOUNDATION_H}\"\n\ncase $? in\n0)\n rm \"${WKFOUNDATION_H}\".unifdef\n ;;\n1)\n mv \"${WKFOUNDATION_H}\"{.unifdef,}\n ;;\n*)\n exit 1\nesac\n";
};
1ADAE12F1919A90C00F48E21 /* Update Info.plist with version information */ = {
isa = PBXShellScriptBuildPhase;
@@ -12358,7 +12358,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n # In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\n exit 0\nfi\n\nWKBASE_H=${TARGET_BUILD_DIR}/${PRIVATE_HEADERS_FOLDER_PATH}/WKBase.h\n\nunifdef -B -D__APPLE__ -UBUILDING_GTK__ -UBUILDING_WPE__ -UUSE_SOUP -o \"${WKBASE_H}\".unifdef \"${WKBASE_H}\"\n\ncase $? in\n0)\n rm \"${WKBASE_H}\".unifdef\n ;;\n1)\n mv \"${WKBASE_H}\"{.unifdef,}\n ;;\n*)\n exit 1\nesac\n";
+ shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${WK_USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n # In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\n exit 0\nfi\n\nWKBASE_H=${TARGET_BUILD_DIR}/${PRIVATE_HEADERS_FOLDER_PATH}/WKBase.h\n\nunifdef -B -D__APPLE__ -UBUILDING_GTK__ -UBUILDING_WPE__ -UUSE_SOUP -o \"${WKBASE_H}\".unifdef \"${WKBASE_H}\"\n\ncase $? in\n0)\n rm \"${WKBASE_H}\".unifdef\n ;;\n1)\n mv \"${WKBASE_H}\"{.unifdef,}\n ;;\n*)\n exit 1\nesac\n";
};
37E531011B2391090074F0DF /* Copy iOS Sandbox Profiles for Manual Sandboxing */ = {
isa = PBXShellScriptBuildPhase;
@@ -12669,7 +12669,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n # In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\n exit 0\nfi\n\nif [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" -o \"${ACTION}\" = \"installapi\" ]; then\n for HEADERS_DIRECTORY in \"${PUBLIC_HEADERS_FOLDER_PATH}\" \"${PRIVATE_HEADERS_FOLDER_PATH}\"; do\n for HEADER_PATH in \"${TARGET_BUILD_DIR}/${HEADERS_DIRECTORY}/\"*.*; do\n if [[ ! -z `grep '#import <WebKitAdditions/.*>' \"${HEADER_PATH}\"` ]]; then\n python \"${SRCROOT}/mac/replace-webkit-additions-includes.py\" \"${H
EADER_PATH}\" \"${BUILT_PRODUCTS_DIR}\" \"${SDKROOT}\" || exit $?\n fi\n done\n done\nfi\n\n\n";
+ shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${WK_USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n # In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\n exit 0\nfi\n\nif [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" -o \"${ACTION}\" = \"installapi\" ]; then\n for HEADERS_DIRECTORY in \"${PUBLIC_HEADERS_FOLDER_PATH}\" \"${PRIVATE_HEADERS_FOLDER_PATH}\"; do\n for HEADER_PATH in \"${TARGET_BUILD_DIR}/${HEADERS_DIRECTORY}/\"*.*; do\n if [[ ! -z `grep '#import <WebKitAdditions/.*>' \"${HEADER_PATH}\"` ]]; then\n python \"${SRCROOT}/mac/replace-webkit-additions-includes.py\" \"$
{HEADER_PATH}\" \"${BUILT_PRODUCTS_DIR}\" \"${SDKROOT}\" || exit $?\n fi\n done\n done\nfi\n\n\n";
};
/* End PBXShellScriptBuildPhase section */
Modified: trunk/Source/WebKitLegacy/ChangeLog (265601 => 265602)
--- trunk/Source/WebKitLegacy/ChangeLog 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/WebKitLegacy/ChangeLog 2020-08-13 06:09:30 UTC (rev 265602)
@@ -1,3 +1,51 @@
+2020-08-12 Keith Rollin <krol...@apple.com>
+
+ Remove the need for defining USE_NEW_BUILD_SYSTEM
+ https://bugs.webkit.org/show_bug.cgi?id=215439
+
+ Reviewed by Darin Adler.
+
+ When building WebKit for XCBuild, we currently require that the
+ external build system (such as the Makefile, build-webkit, etc.)
+ defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting
+ controls parts of our build instructions that are sensitive to when
+ XCBuild or the Legacy build system are being used. Notably, we need to
+ know when to use our custom “copy and modify” scripts with copying
+ certain header files (used with the Legacy build system) vs. using the
+ enhanced Copy Headers build phase that’s enabled with
+ APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild).
+ The choice of which method to copy headers is used is controlled by
+ USE_NEW_BUILD_SYSTEM.
+
+ There is no built-in build setting that we can probe to help us
+ determine which approach to take when copying and modifying headers,
+ which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it
+ turns out that we can *detect* which build system is being used by
+ taking advantage of a subtle difference between the two systems. As
+ noted in:
+
+ https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10
+
+ “When an .xcconfig file contains multiple assignments of the same
+ build setting, later assignments using $(inherited) or
+ $(<setting_name>) will inherit from earlier assignments in the
+ .xcconfig. The legacy build system caused every use of
+ $(inherited) or $(<setting_name>) skip any other values defined
+ within the .xcconfig.”
+
+ This difference can be exploited as follows:
+
+ WK_WHICH_BUILD_SYSTEM = not_
+ WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
+ WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
+ WK_USE_NEW_BUILD_SYSTEM_legacy = NO
+ WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
+
+ We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the
+ externally-defined USE_NEW_BUILD_SYSTEM.
+
+ * WebKitLegacy.xcodeproj/project.pbxproj:
+
2020-07-29 Darin Adler <da...@apple.com>
Improve range idioms and other changes to prepare the way for more reduction in live range use
Modified: trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj (265601 => 265602)
--- trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj 2020-08-13 06:09:30 UTC (rev 265602)
@@ -3387,7 +3387,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n # In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\n exit 0\nfi\n\nexec \"${SRCROOT}/mac/postprocess-headers.sh\"\n";
+ shellScript = "if [ \"${XCODE_VERSION_ACTUAL}\" -ge \"1140\" -a \"${WK_USE_NEW_BUILD_SYSTEM}\" = \"YES\" ]; then\n # In this configuration, post-processing is performed at the same time as copying in the postprocess-header-rule script, so there's no need for this separate step.\n exit 0\nfi\n\nexec \"${SRCROOT}/mac/postprocess-headers.sh\"\n";
};
/* End PBXShellScriptBuildPhase section */
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (265601 => 265602)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2020-08-13 06:09:30 UTC (rev 265602)
@@ -1,3 +1,52 @@
+2020-08-12 Keith Rollin <krol...@apple.com>
+
+ Remove the need for defining USE_NEW_BUILD_SYSTEM
+ https://bugs.webkit.org/show_bug.cgi?id=215439
+
+ Reviewed by Darin Adler.
+
+ When building WebKit for XCBuild, we currently require that the
+ external build system (such as the Makefile, build-webkit, etc.)
+ defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting
+ controls parts of our build instructions that are sensitive to when
+ XCBuild or the Legacy build system are being used. Notably, we need to
+ know when to use our custom “copy and modify” scripts with copying
+ certain header files (used with the Legacy build system) vs. using the
+ enhanced Copy Headers build phase that’s enabled with
+ APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild).
+ The choice of which method to copy headers is used is controlled by
+ USE_NEW_BUILD_SYSTEM.
+
+ There is no built-in build setting that we can probe to help us
+ determine which approach to take when copying and modifying headers,
+ which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it
+ turns out that we can *detect* which build system is being used by
+ taking advantage of a subtle difference between the two systems. As
+ noted in:
+
+ https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10
+
+ “When an .xcconfig file contains multiple assignments of the same
+ build setting, later assignments using $(inherited) or
+ $(<setting_name>) will inherit from earlier assignments in the
+ .xcconfig. The legacy build system caused every use of
+ $(inherited) or $(<setting_name>) skip any other values defined
+ within the .xcconfig.”
+
+ This difference can be exploited as follows:
+
+ WK_WHICH_BUILD_SYSTEM = not_
+ WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
+ WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
+ WK_USE_NEW_BUILD_SYSTEM_legacy = NO
+ WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
+
+ We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the
+ externally-defined USE_NEW_BUILD_SYSTEM.
+
+ * Configurations/Base.xcconfig:
+ * Configurations/WebKitLegacy.xcconfig:
+
2020-08-05 Tim Horton <timothy_hor...@apple.com>
Remove all references to non-existent 10.16
Modified: trunk/Source/WebKitLegacy/mac/Configurations/Base.xcconfig (265601 => 265602)
--- trunk/Source/WebKitLegacy/mac/Configurations/Base.xcconfig 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/WebKitLegacy/mac/Configurations/Base.xcconfig 2020-08-13 06:09:30 UTC (rev 265602)
@@ -165,3 +165,11 @@
WK_USER_LTO_MODE_none = NO;
WK_USER_LTO_MODE_ = $(WK_DEFAULT_LTO_MODE);
WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_thin);
+
+// Use a difference in the way the Legacy build sytem and XCBuild interpret
+// xcconfig file to determine which is being used.
+WK_WHICH_BUILD_SYSTEM = not_
+WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
+WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
+WK_USE_NEW_BUILD_SYSTEM_legacy = NO
+WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
Modified: trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig (265601 => 265602)
--- trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig 2020-08-13 06:09:30 UTC (rev 265602)
@@ -66,10 +66,8 @@
INSTALLHDRS_COPY_PHASE = YES;
INSTALLHDRS_SCRIPT_PHASE = YES;
-APPLY_RULES_IN_COPY_HEADERS = $(WK_APPLY_RULES_IN_COPY_HEADERS_$(USE_NEW_BUILD_SYSTEM));
-WK_APPLY_RULES_IN_COPY_HEADERS_ = NO;
-WK_APPLY_RULES_IN_COPY_HEADERS_NO = NO;
-WK_APPLY_RULES_IN_COPY_HEADERS_YES = YES;
+APPLY_RULES_IN_COPY_HEADERS = $(WK_USE_NEW_BUILD_SYSTEM);
+
PRODUCT_NAME = WebKitLegacy;
PRODUCT_BUNDLE_IDENTIFIER = com.apple.$(PRODUCT_NAME:rfc1034identifier);
UMBRELLA_FRAMEWORKS_DIR = $(PRODUCTION_FRAMEWORKS_DIR)/WebKit.framework/Versions/A/Frameworks;
Modified: trunk/Tools/ChangeLog (265601 => 265602)
--- trunk/Tools/ChangeLog 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Tools/ChangeLog 2020-08-13 06:09:30 UTC (rev 265602)
@@ -1,3 +1,51 @@
+2020-08-12 Keith Rollin <krol...@apple.com>
+
+ Remove the need for defining USE_NEW_BUILD_SYSTEM
+ https://bugs.webkit.org/show_bug.cgi?id=215439
+
+ Reviewed by Darin Adler.
+
+ When building WebKit for XCBuild, we currently require that the
+ external build system (such as the Makefile, build-webkit, etc.)
+ defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting
+ controls parts of our build instructions that are sensitive to when
+ XCBuild or the Legacy build system are being used. Notably, we need to
+ know when to use our custom “copy and modify” scripts with copying
+ certain header files (used with the Legacy build system) vs. using the
+ enhanced Copy Headers build phase that’s enabled with
+ APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild).
+ The choice of which method to copy headers is used is controlled by
+ USE_NEW_BUILD_SYSTEM.
+
+ There is no built-in build setting that we can probe to help us
+ determine which approach to take when copying and modifying headers,
+ which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it
+ turns out that we can *detect* which build system is being used by
+ taking advantage of a subtle difference between the two systems. As
+ noted in:
+
+ https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10
+
+ “When an .xcconfig file contains multiple assignments of the same
+ build setting, later assignments using $(inherited) or
+ $(<setting_name>) will inherit from earlier assignments in the
+ .xcconfig. The legacy build system caused every use of
+ $(inherited) or $(<setting_name>) skip any other values defined
+ within the .xcconfig.”
+
+ This difference can be exploited as follows:
+
+ WK_WHICH_BUILD_SYSTEM = not_
+ WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
+ WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
+ WK_USE_NEW_BUILD_SYSTEM_legacy = NO
+ WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
+
+ We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the
+ externally-defined USE_NEW_BUILD_SYSTEM.
+
+ * Scripts/build-webkit:
+
2020-08-12 Devin Rousso <drou...@apple.com>
Add settings for Copy WebKit Permalink
Modified: trunk/Tools/Scripts/build-webkit (265601 => 265602)
--- trunk/Tools/Scripts/build-webkit 2020-08-13 06:06:57 UTC (rev 265601)
+++ trunk/Tools/Scripts/build-webkit 2020-08-13 06:09:30 UTC (rev 265602)
@@ -221,10 +221,8 @@
#if ((not defined $xcbuild or $xcbuild) and canUseXCBuild()) {
if ($xcbuild and canUseXCBuild()) {
push @options, "-UseNewBuildSystem=YES";
- push @options, "USE_NEW_BUILD_SYSTEM=YES";
} else {
push @options, "-UseNewBuildSystem=NO";
- push @options, "USE_NEW_BUILD_SYSTEM=NO";
}
sub option($$)