Diff
Modified: trunk/ChangeLog (292790 => 292791)
--- trunk/ChangeLog 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/ChangeLog 2022-04-12 23:02:14 UTC (rev 292791)
@@ -1,3 +1,32 @@
+2022-04-12 Elliott Williams <[email protected]>
+
+ Reland "[XCBuild] Enable dependency validation by default"
+ https://bugs.webkit.org/show_bug.cgi?id=238901
+ <rdar://problem/91379968>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Addresses two problems that impacted the previous attempt at landing:
+
+ Derived Sources scripts which use generated xcfilelists contain
+ "optional" inputs which are only available in internal builds. These
+ inputs lead to spurious dependency validation errors. These scripts
+ are unique in that they run from script-only targets, not as a phase
+ in one of the project's native targets. So, in open-source builds,
+ restrict VALIDATE_DEPENDENCIES to only run on native targets.
+
+ When building an individual project, and not a workspace, it's
+ expected that many input dependencies in the build directory will be
+ missing from XCBuild's graph. Disable dependency validation unless we
+ _know_ we're building from a workspace, defined as when the
+ USE_WORKSPACE Make flag or --use-workspace build-webkit flag is
+ passed.
+
+ * Makefile.shared: Turn on validation errors when USE_WORKSPACE=YES.
+ Use a new build setting, WK_VALIDATE_DEPENDENCIES, which is the
+ "requested" validation level. The actual validation level set in
+ VALIDATE_DEPENDENCIES may be lower (see above).
+
2022-04-11 Zan Dobersek <[email protected]>
Unreviewed, removing one of my email addresses.
Modified: trunk/Makefile.shared (292790 => 292791)
--- trunk/Makefile.shared 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Makefile.shared 2022-04-12 23:02:14 UTC (rev 292791)
@@ -6,6 +6,7 @@
SCHEME ?= $(notdir $(CURDIR))
WORKSPACE_PATH ?= $(dir $(lastword $(MAKEFILE_LIST)))WebKit.xcworkspace
XCODE_TARGET = -workspace $(WORKSPACE_PATH) -scheme "$(SCHEME)"
+XCODE_OPTIONS += WK_VALIDATE_DEPENDENCIES=YES_ERROR
else
USE_WORKSPACE =
endif
@@ -97,11 +98,6 @@
CONFIG_OPTIONS += --lto-mode=none
endif
-ifeq (YES,$(findstring YES,$(VALIDATE_DEPENDENCIES)))
-CONFIG_OPTIONS += --validate-dependencies
-XCODE_OPTIONS += -EnableBuildDebugging=1 VALIDATE_DEPENDENCIES=$(VALIDATE_DEPENDENCIES)
-endif
-
export DSYMUTIL_NUM_THREADS = $(shell sysctl -n hw.activecpu)
# Run xcodebuild with the same PATH with which the Xcode IDE runs, to mitigate unnecessary rebuilds due to PATH differences.
@@ -124,9 +120,7 @@
endef
all:
-ifneq (,$(CONFIG_OPTIONS))
@$(call set_webkit_configuration,)
-endif
@$(call invoke_xcode,,,GCC_PREPROCESSOR_DEFINITIONS='$(GCC_PREPROCESSOR_ADDITIONS) $$(inherited)')
debug d: force
Modified: trunk/Source/_javascript_Core/ChangeLog (292790 => 292791)
--- trunk/Source/_javascript_Core/ChangeLog 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/_javascript_Core/ChangeLog 2022-04-12 23:02:14 UTC (rev 292791)
@@ -1,3 +1,15 @@
+2022-04-12 Elliott Williams <[email protected]>
+
+ Reland "[XCBuild] Enable dependency validation by default"
+ https://bugs.webkit.org/show_bug.cgi?id=238901
+ <rdar://problem/91379968>
+
+ Reviewed by Alexey Proskuryakov.
+
+ * Configurations/DebugRelease.xcconfig: In open-source builds, disable
+ VALIDATE_DEPENDENCIES when there is no PRODUCT_TYPE (i.e. not building
+ a native target).
+
2022-04-12 Aditi Singh <[email protected]>
Implement Change Array by copy proposal
Modified: trunk/Source/_javascript_Core/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Source/_javascript_Core/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/_javascript_Core/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -38,6 +38,11 @@
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_RELOCATABLE_FRAMEWORKS = YES;
WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_none);
Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (292790 => 292791)
--- trunk/Source/ThirdParty/ANGLE/ChangeLog 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog 2022-04-12 23:02:14 UTC (rev 292791)
@@ -1,3 +1,15 @@
+2022-04-12 Elliott Williams <[email protected]>
+
+ Reland "[XCBuild] Enable dependency validation by default"
+ https://bugs.webkit.org/show_bug.cgi?id=238901
+ <rdar://problem/91379968>
+
+ Reviewed by Alexey Proskuryakov.
+
+ * Configurations/DebugRelease.xcconfig: In open-source builds, disable
+ VALIDATE_DEPENDENCIES when there is no PRODUCT_TYPE (i.e. not building
+ a native target).
+
2022-04-11 Zan Dobersek <[email protected]>
[GTK][WPE] Build ANGLE with the EGL_NO_PLATFORM_SPECIFIC_TYPES define
Modified: trunk/Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -10,6 +10,11 @@
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_RELOCATABLE_FRAMEWORKS = YES;
WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_none);
Modified: trunk/Source/ThirdParty/libwebrtc/ChangeLog (292790 => 292791)
--- trunk/Source/ThirdParty/libwebrtc/ChangeLog 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/ThirdParty/libwebrtc/ChangeLog 2022-04-12 23:02:14 UTC (rev 292791)
@@ -1,3 +1,15 @@
+2022-04-12 Elliott Williams <[email protected]>
+
+ Reland "[XCBuild] Enable dependency validation by default"
+ https://bugs.webkit.org/show_bug.cgi?id=238901
+ <rdar://problem/91379968>
+
+ Reviewed by Alexey Proskuryakov.
+
+ * Configurations/DebugRelease.xcconfig: In open-source builds, disable
+ VALIDATE_DEPENDENCIES when there is no PRODUCT_TYPE (i.e. not building
+ a native target).
+
2022-04-11 Michael Saboff <[email protected]>
REGRESSION (r292411): libwebrtc header files aren't installed in system content path
Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Source/ThirdParty/libwebrtc/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -35,6 +35,11 @@
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_RELOCATABLE_FRAMEWORKS = YES;
WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_none);
Modified: trunk/Source/WTF/ChangeLog (292790 => 292791)
--- trunk/Source/WTF/ChangeLog 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/WTF/ChangeLog 2022-04-12 23:02:14 UTC (rev 292791)
@@ -1,3 +1,15 @@
+2022-04-12 Elliott Williams <[email protected]>
+
+ Reland "[XCBuild] Enable dependency validation by default"
+ https://bugs.webkit.org/show_bug.cgi?id=238901
+ <rdar://problem/91379968>
+
+ Reviewed by Alexey Proskuryakov.
+
+ * Configurations/DebugRelease.xcconfig: In open-source builds, disable
+ VALIDATE_DEPENDENCIES when there is no PRODUCT_TYPE (i.e. not building
+ a native target).
+
2022-04-12 Kimmo Kinnunen <[email protected]>
FunctionDispatcher should not be RefCounted
Modified: trunk/Source/WTF/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Source/WTF/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/WTF/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -33,6 +33,11 @@
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_none);
WK_CCACHE_DIR = $(SRCROOT)/../../Tools/ccache;
Modified: trunk/Source/WebCore/ChangeLog (292790 => 292791)
--- trunk/Source/WebCore/ChangeLog 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/WebCore/ChangeLog 2022-04-12 23:02:14 UTC (rev 292791)
@@ -1,3 +1,15 @@
+2022-04-12 Elliott Williams <[email protected]>
+
+ Reland "[XCBuild] Enable dependency validation by default"
+ https://bugs.webkit.org/show_bug.cgi?id=238901
+ <rdar://problem/91379968>
+
+ Reviewed by Alexey Proskuryakov.
+
+ * Configurations/DebugRelease.xcconfig: In open-source builds, disable
+ VALIDATE_DEPENDENCIES when there is no PRODUCT_TYPE (i.e. not building
+ a native target).
+
2022-04-12 Jer Noble <[email protected]>
Leak of MediaSourcePrivateAVFObjC and RemoteMediaSourceProxy
Modified: trunk/Source/WebCore/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Source/WebCore/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/WebCore/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -33,6 +33,11 @@
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_RELOCATABLE_FRAMEWORKS = YES;
WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_none);
Modified: trunk/Source/WebCore/PAL/ChangeLog (292790 => 292791)
--- trunk/Source/WebCore/PAL/ChangeLog 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/WebCore/PAL/ChangeLog 2022-04-12 23:02:14 UTC (rev 292791)
@@ -1,3 +1,15 @@
+2022-04-12 Elliott Williams <[email protected]>
+
+ Reland "[XCBuild] Enable dependency validation by default"
+ https://bugs.webkit.org/show_bug.cgi?id=238901
+ <rdar://problem/91379968>
+
+ Reviewed by Alexey Proskuryakov.
+
+ * Configurations/DebugRelease.xcconfig: In open-source builds, disable
+ VALIDATE_DEPENDENCIES when there is no PRODUCT_TYPE (i.e. not building
+ a native target).
+
2022-04-11 Myles C. Maxfield <[email protected]>
[WebGPU] Unspecified texture size values should be set to 1, not 0
Modified: trunk/Source/WebCore/PAL/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Source/WebCore/PAL/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/WebCore/PAL/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -33,6 +33,11 @@
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_RELOCATABLE_FRAMEWORKS = YES;
WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_none);
Modified: trunk/Source/WebGPU/ChangeLog (292790 => 292791)
--- trunk/Source/WebGPU/ChangeLog 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/WebGPU/ChangeLog 2022-04-12 23:02:14 UTC (rev 292791)
@@ -1,3 +1,15 @@
+2022-04-12 Elliott Williams <[email protected]>
+
+ Reland "[XCBuild] Enable dependency validation by default"
+ https://bugs.webkit.org/show_bug.cgi?id=238901
+ <rdar://problem/91379968>
+
+ Reviewed by Alexey Proskuryakov.
+
+ * Configurations/DebugRelease.xcconfig: In open-source builds, disable
+ VALIDATE_DEPENDENCIES when there is no PRODUCT_TYPE (i.e. not building
+ a native target).
+
2022-04-12 Myles C. Maxfield <[email protected]>
[WebGPU] Fix the watchOS build
Modified: trunk/Source/WebGPU/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Source/WebGPU/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/WebGPU/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -33,6 +33,11 @@
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_RELOCATABLE_FRAMEWORKS = YES;
WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_none);
Modified: trunk/Source/WebInspectorUI/ChangeLog (292790 => 292791)
--- trunk/Source/WebInspectorUI/ChangeLog 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/WebInspectorUI/ChangeLog 2022-04-12 23:02:14 UTC (rev 292791)
@@ -1,3 +1,15 @@
+2022-04-12 Elliott Williams <[email protected]>
+
+ Reland "[XCBuild] Enable dependency validation by default"
+ https://bugs.webkit.org/show_bug.cgi?id=238901
+ <rdar://problem/91379968>
+
+ Reviewed by Alexey Proskuryakov.
+
+ * Configurations/DebugRelease.xcconfig: In open-source builds, disable
+ VALIDATE_DEPENDENCIES when there is no PRODUCT_TYPE (i.e. not building
+ a native target).
+
2022-04-12 Patrick Angle <[email protected]>
Web Inspector: Add engineering-build-only ability to dump the current known bound nodes tree in Inspector^2 or layout tests
Modified: trunk/Source/WebInspectorUI/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Source/WebInspectorUI/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/WebInspectorUI/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -10,6 +10,11 @@
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
COMBINE_INSPECTOR_RESOURCES = NO;
COMBINE_TEST_RESOURCES = YES;
Modified: trunk/Source/WebKit/ChangeLog (292790 => 292791)
--- trunk/Source/WebKit/ChangeLog 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/WebKit/ChangeLog 2022-04-12 23:02:14 UTC (rev 292791)
@@ -1,3 +1,15 @@
+2022-04-12 Elliott Williams <[email protected]>
+
+ Reland "[XCBuild] Enable dependency validation by default"
+ https://bugs.webkit.org/show_bug.cgi?id=238901
+ <rdar://problem/91379968>
+
+ Reviewed by Alexey Proskuryakov.
+
+ * Configurations/DebugRelease.xcconfig: In open-source builds, disable
+ VALIDATE_DEPENDENCIES when there is no PRODUCT_TYPE (i.e. not building
+ a native target).
+
2022-04-12 Jer Noble <[email protected]>
Leak of MediaSourcePrivateAVFObjC and RemoteMediaSourceProxy
Modified: trunk/Source/WebKit/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Source/WebKit/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/WebKit/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -38,6 +38,11 @@
CODE_SIGN_IDENTITY_NO = -;
CODE_SIGN_IDENTITY_YES = $(WK_ENGINEERING_CODE_SIGN_IDENTITY);
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_RELOCATABLE_FRAMEWORKS = YES;
WK_XPC_SERVICE_SUFFIX[sdk=macosx*] = .Development;
WK_XPC_SERVICE_SUFFIX[sdk=*simulator*] = .Development;
Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (292790 => 292791)
--- trunk/Source/WebKitLegacy/mac/ChangeLog 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog 2022-04-12 23:02:14 UTC (rev 292791)
@@ -1,3 +1,15 @@
+2022-04-12 Elliott Williams <[email protected]>
+
+ Reland "[XCBuild] Enable dependency validation by default"
+ https://bugs.webkit.org/show_bug.cgi?id=238901
+ <rdar://problem/91379968>
+
+ Reviewed by Alexey Proskuryakov.
+
+ * Configurations/DebugRelease.xcconfig: In open-source builds, disable
+ VALIDATE_DEPENDENCIES when there is no PRODUCT_TYPE (i.e. not building
+ a native target).
+
2022-04-08 Elliott Williams <[email protected]>
[Xcode] Avoid targeting 32-bit iOS and Mac architectures
Modified: trunk/Source/WebKitLegacy/mac/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Source/WebKitLegacy/mac/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/WebKitLegacy/mac/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -33,6 +33,11 @@
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_BUILD_FOR_TESTING = YES;
WK_RELOCATABLE_FRAMEWORKS = YES;
Modified: trunk/Source/bmalloc/ChangeLog (292790 => 292791)
--- trunk/Source/bmalloc/ChangeLog 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/bmalloc/ChangeLog 2022-04-12 23:02:14 UTC (rev 292791)
@@ -1,3 +1,15 @@
+2022-04-12 Elliott Williams <[email protected]>
+
+ Reland "[XCBuild] Enable dependency validation by default"
+ https://bugs.webkit.org/show_bug.cgi?id=238901
+ <rdar://problem/91379968>
+
+ Reviewed by Alexey Proskuryakov.
+
+ * Configurations/DebugRelease.xcconfig: In open-source builds, disable
+ VALIDATE_DEPENDENCIES when there is no PRODUCT_TYPE (i.e. not building
+ a native target).
+
2022-04-12 Brandon Stewart <[email protected]>
[libpas] Update macOS build to c++20 and add bmalloc api test cases
Modified: trunk/Source/bmalloc/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Source/bmalloc/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Source/bmalloc/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -33,6 +33,11 @@
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_DEFAULT_LTO_MODE = $(WK_USER_LTO_MODE_none);
WK_CCACHE_DIR = $(SRCROOT)/../../Tools/ccache;
Modified: trunk/Tools/ChangeLog (292790 => 292791)
--- trunk/Tools/ChangeLog 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Tools/ChangeLog 2022-04-12 23:02:14 UTC (rev 292791)
@@ -1,3 +1,32 @@
+2022-04-12 Elliott Williams <[email protected]>
+
+ Reland "[XCBuild] Enable dependency validation by default"
+ https://bugs.webkit.org/show_bug.cgi?id=238901
+ <rdar://problem/91379968>
+
+ Reviewed by Alexey Proskuryakov.
+
+ * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: In
+ open-source builds, disable VALIDATE_DEPENDENCIES when there is no
+ PRODUCT_TYPE (i.e. not building a native target).
+ * ImageDiff/cg/Configurations/DebugRelease.xcconfig: Same as above.
+ * MiniBrowser/Configurations/DebugRelease.xcconfig: Same as above.
+ * MobileMiniBrowser/Configurations/DebugRelease.xcconfig: Same as
+ above.
+ * Scripts/build-webkit: Turn on validation errors when
+ USE_WORKSPACE=YES. Use a new build setting, WK_VALIDATE_DEPENDENCIES,
+ which is the "requested" validation level. The actual validation level
+ set in VALIDATE_DEPENDENCIES may be lower.
+ * Scripts/set-webkit-configuration:
+ * Scripts/webkitdirs.pm:
+ (markBaseProductDirectoryAsCreatedByXcodeBuildSystem):
+ (setCreatedByXcodeBuildSystem):
+ * TestWebKitAPI/Configurations/DebugRelease.xcconfig: Same as above.
+ * WebKitTestRunner/Configurations/DebugRelease.xcconfig: Same as
+ above.
+ * lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig: Same as
+ above.
+
2022-04-12 Myles C. Maxfield <[email protected]>
[WKTR] [DRT] Only enable WebGPU for the LayoutTests/http/tests/webgpu directory
Modified: trunk/Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -35,5 +35,10 @@
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_CCACHE_DIR = $(SRCROOT)/../ccache;
#include "../../../ccache/ccache.xcconfig"
Modified: trunk/Tools/ImageDiff/cg/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Tools/ImageDiff/cg/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Tools/ImageDiff/cg/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -28,3 +28,9 @@
SDKROOT = $(SDKROOT_$(USE_INTERNAL_SDK));
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
Modified: trunk/Tools/MiniBrowser/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Tools/MiniBrowser/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Tools/MiniBrowser/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -32,5 +32,10 @@
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_CCACHE_DIR = $(SRCROOT)/../ccache;
#include? "../../ccache/ccache.xcconfig"
Modified: trunk/Tools/MobileMiniBrowser/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Tools/MobileMiniBrowser/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Tools/MobileMiniBrowser/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -28,5 +28,10 @@
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_CCACHE_DIR = $(SRCROOT)/../ccache;
#include "../../ccache/ccache.xcconfig"
Modified: trunk/Tools/Scripts/build-webkit (292790 => 292791)
--- trunk/Tools/Scripts/build-webkit 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Tools/Scripts/build-webkit 2022-04-12 23:02:14 UTC (rev 292791)
@@ -354,6 +354,13 @@
push @local_options, XcodeCoverageSupportOptions() if $coverageSupport;
push @local_options, XcodeStaticAnalyzerOption() if $shouldRunStaticAnalyzer;
push @local_options, "WK_LTO_MODE=$ltoMode" if ($ltoMode ne "default");
+ # When we know we're in a workspace (and not an individual project), turn
+ # on dependency validation errors. Other conditions (e.g. whether we're in
+ # a script phase or not) influence the actual VALIDATE_DEPENDENCIES setting
+ # recognized by the build system.
+ push @local_options, "WK_VALIDATE_DEPENDENCIES=YES_ERROR" if $useWorkspace;
+
+ markBaseProductDirectoryAsCreatedByXcodeBuildSystem();
# Build, and abort if the build fails.
if ($useWorkspace) {
Modified: trunk/Tools/Scripts/set-webkit-configuration (292790 => 292791)
--- trunk/Tools/Scripts/set-webkit-configuration 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Tools/Scripts/set-webkit-configuration 2022-04-12 23:02:14 UTC (rev 292791)
@@ -28,6 +28,7 @@
use strict;
use warnings;
+use File::Path qw(make_path);
use File::Spec;
use FindBin;
use lib $FindBin::Bin;
@@ -46,8 +47,8 @@
--lto-mode=<mode> Set LTO mode: full, thin, or none
--debug Set the default configuration to debug
--release Set the default configuration to release
- --validate-dependencies Configure the build directory for Xcode dependency validation
--reset Reset configurations
+ -h, --help Show this message and exit
EOF
sub printCurrentSettings();
@@ -64,7 +65,6 @@
my $disableUBSAN = checkForArgumentAndRemoveFromARGV("--no-ubsan");
my $enableCoverage = checkForArgumentAndRemoveFromARGV("--coverage");
my $disableCoverage = checkForArgumentAndRemoveFromARGV("--no-coverage");
-my $validateDependencies = checkForArgumentAndRemoveFromARGV("--validate-dependencies");
my $ltoMode;
if (!checkForArgumentAndRemoveFromARGVGettingValue("--lto-mode", \$ltoMode)) {
$ltoMode="";
@@ -75,6 +75,11 @@
$forceOptimizationLevel="";
}
+if (checkForArgumentAndRemoveFromARGV("-h") || checkForArgumentAndRemoveFromARGV("--help")) {
+ printUsage();
+ exit 1;
+}
+
if (!$architecture) {
# Handle --64-bit explicitly here, as we don't want our other scripts to accept it
for my $i (0 .. $#ARGV) {
@@ -87,7 +92,11 @@
}
my $baseProductDir = baseProductDir();
-system "mkdir", "-p", "$baseProductDir";
+if (isAppleCocoaWebKit() && !isCMakeBuild()) {
+ markBaseProductDirectoryAsCreatedByXcodeBuildSystem();
+} else {
+ make_path($baseProductDir);
+}
if (checkForArgumentAndRemoveFromARGV("--reset")) {
for my $fileName (qw(Architecture ASan Configuration Coverage ForceOptimizationLevel LTO TSan UBSan)) {
@@ -97,16 +106,6 @@
exit 0;
}
-if ((!$configuration && !$architecture && !$enableASAN && !$disableASAN && !$enableCoverage && !$disableCoverage && !$enableTSAN && !$disableTSAN && !$enableUBSAN && !$disableUBSAN && !$ltoMode && !$forceOptimizationLevel)
- || ($enableASAN && $disableASAN)
- || ($enableCoverage && $disableCoverage)
- || ($enableTSAN && $disableTSAN)
- || ($enableUBSAN && $disableUBSAN)
- ) {
- printUsage();
- exit 1;
-}
-
if ($enableASAN && $enableTSAN) {
print STDERR "ERROR: Address Sanitizer and Thread Sanitzer can't be enabled together.\n";
printUsage();
@@ -166,10 +165,6 @@
close LTO;
}
-if ($validateDependencies) {
- setCreatedByXcodeBuildSystem();
-}
-
printCurrentSettings();
exit 0;
Modified: trunk/Tools/Scripts/webkitdirs.pm (292790 => 292791)
--- trunk/Tools/Scripts/webkitdirs.pm 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Tools/Scripts/webkitdirs.pm 2022-04-12 23:02:14 UTC (rev 292791)
@@ -341,7 +341,7 @@
($baseProductDir) = @_;
}
-sub setCreatedByXcodeBuildSystem
+sub markBaseProductDirectoryAsCreatedByXcodeBuildSystem
{
determineBaseProductDir();
make_path($baseProductDir);
Modified: trunk/Tools/TestWebKitAPI/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Tools/TestWebKitAPI/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Tools/TestWebKitAPI/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -34,6 +34,11 @@
OTHER_CPLUSPLUSFLAGS = $(inherited) -ftemplate-depth=256;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_RELOCATABLE_FRAMEWORKS = YES;
WK_CCACHE_DIR = $(SRCROOT)/../ccache;
Modified: trunk/Tools/WebKitTestRunner/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Tools/WebKitTestRunner/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Tools/WebKitTestRunner/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -30,5 +30,10 @@
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_CCACHE_DIR = $(SRCROOT)/../ccache;
#include "../../ccache/ccache.xcconfig"
Modified: trunk/Tools/lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig (292790 => 292791)
--- trunk/Tools/lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig 2022-04-12 22:52:01 UTC (rev 292790)
+++ trunk/Tools/lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig 2022-04-12 23:02:14 UTC (rev 292791)
@@ -32,5 +32,10 @@
SDKROOT_ = macosx;
SDKROOT_YES = macosx.internal;
+VALIDATE_DEPENDENCIES = $(VALIDATE_DEPENDENCIES_INTERNAL_$(USE_INTERNAL_SDK));
+VALIDATE_DEPENDENCIES_INTERNAL_ = $(VALIDATE_DEPENDENCIES_NATIVE_TARGET_$(WK_NOT_$(WK_EMPTY_$(PRODUCT_TYPE))));
+VALIDATE_DEPENDENCIES_INTERNAL_YES = $(WK_VALIDATE_DEPENDENCIES);
+VALIDATE_DEPENDENCIES_NATIVE_TARGET_YES = $(WK_VALIDATE_DEPENDENCIES);
+
WK_CCACHE_DIR = $(SRCROOT)/../../../Tools/ccache;
#include "../../../ccache/ccache.xcconfig"