Skip to content

Commit 0e65f82

Browse files
Add WK_ENABLE_SLOW_BUILD_VERIFICATION for slow build verification in CI and Production builds (2/2)
https://bugs.webkit.org/show_bug.cgi?id=313288 rdar://175559104 Reviewed by Richard Robinson. Reland of 316776@main with two build fixes: - audit-spi can only run when InstallAPI is enabled. Update its toggling logic to reflect this. Since audit-spi does not currently run in EWS, keep InstallAPI enabled in at-desk builds for iOS only. - Disable sandboxing for "Work around rdar://109484516" script phases which delete stale tbds from the build directory. Skip slow verification steps in at-desk and LLM-driven builds; keep them in CI and Production builds. This is worth about 2 minutes in a clean build, or an incremental build that touches headers or project files, or a build in which Xcode gets confused about its dependency tracking. Replace the old OVERRIDE_* variables to turn off module verification and InstallAPI locally; this mechanism serves the same purpose. * Configurations/CommonBase.xcconfig: * Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig: * Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj: * Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj: * Source/WTF/Configurations/WTF.xcconfig: * Source/WTF/WTF.xcodeproj/project.pbxproj: * Source/WebCore/Configurations/WebCore.xcconfig: * Source/WebCore/PAL/Configurations/PAL.xcconfig: * Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj: * Source/WebCore/WebCore.xcodeproj/project.pbxproj: * Source/WebGPU/Configurations/WebGPU.xcconfig: * Source/WebInspectorUI/Configurations/WebInspectorUIFramework.xcconfig: * Source/WebKit/Configurations/Base.xcconfig: * Source/WebKit/Configurations/WebKit.xcconfig: * Source/WebKit/WebKit.xcodeproj/project.pbxproj: * Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj: * Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig: * Source/bmalloc/Configurations/bmalloc.xcconfig: * Source/bmalloc/bmalloc.xcodeproj/project.pbxproj: Co-authored-by: Elliott Williams <emw@apple.com> Canonical link: https://commits.webkit.org/316928@main
1 parent be5975e commit 0e65f82

20 files changed

Lines changed: 69 additions & 51 deletions

File tree

‎Configurations/CommonBase.xcconfig‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ OTHER_LDFLAGS = $(inherited) $(WK_COMMON_OTHER_LDFLAGS);
8686
WK_COMMON_OTHER_TAPI_FLAGS = -x objective-c++ -std=c++2b -fno-rtti $(WK_SANITIZER_OTHER_TAPI_FLAGS) $(WK_AVAILABILITY_OVERLAY_FLAGS);
8787
OTHER_TAPI_FLAGS = $(inherited) $(WK_COMMON_OTHER_TAPI_FLAGS);
8888

89-
WK_DEFAULT_WK_AUDIT_SPI[sdk=iphoneos*] = $(WK_AND_$(WK_NOT_$(WK_ANY_SANITIZER_ENABLED))_$(OVERRIDE_SUPPORTS_TEXT_BASED_API:default=YES));
89+
WK_DEFAULT_WK_AUDIT_SPI[sdk=iphoneos*] = $(WK_AND_$(WK_NOT_$(WK_ANY_SANITIZER_ENABLED))_$(SUPPORTS_TEXT_BASED_API));
9090
// Explicitly disable auditing on other embedded platforms, because some SDKs
9191
// fall back to reading settings for iOS.
9292
WK_DEFAULT_WK_AUDIT_SPI[sdk=appletvos*] = ;

‎Source/JavaScriptCore/Configurations/Base.xcconfig‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
ALWAYS_SEARCH_USER_PATHS = NO;
2727
ENABLE_USER_SCRIPT_SANDBOXING = YES;
28-
EXCLUDED_USER_SCRIPT_SANDBOXING_PHASE_NAMES = $(inherited) "Generate Unified Sources" "Generate Derived Sources" "Generate <wtf/Platform.h> args" "Check For Inappropriate Files In Framework" "Check For Inappropriate Macros in External Headers" "Check .xcfilelists" "Copy jsc into JavaScriptCore.framework" "Audit SPI use" "Create Versions/Current/Helpers symlink";
28+
EXCLUDED_USER_SCRIPT_SANDBOXING_PHASE_NAMES = $(inherited) "Generate Unified Sources" "Generate Derived Sources" "Generate <wtf/Platform.h> args" "Check For Inappropriate Files In Framework" "Check For Inappropriate Macros in External Headers" "Check .xcfilelists" "Copy jsc into JavaScriptCore.framework" "Audit SPI use" "Create Versions/Current/Helpers symlink" "Work around rdar://109484516";
2929

3030
CLANG_CXX_LANGUAGE_STANDARD = c++2b;
3131
CLANG_CXX_LIBRARY = libc++;

‎Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig‎

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@
2424
#include "BaseTarget.xcconfig"
2525

2626
DEFINES_MODULE = YES;
27-
ENABLE_MODULE_VERIFIER = $(WK_ENABLE_MODULE_VERIFIER)
28-
WK_ENABLE_MODULE_VERIFIER = $(OVERRIDE_ENABLE_MODULE_VERIFIER:default=YES);
27+
ENABLE_MODULE_VERIFIER = $(WK_ENABLE_SLOW_BUILD_VERIFICATION);
2928

3029
OTHER_MODULE_VERIFIER_FLAGS = -- $(WK_AVAILABILITY_OVERLAY_FLAGS) -iframework $(BUILT_PRODUCTS_DIR)/SDKAdditions/System/Library/Frameworks -I$(BUILT_PRODUCTS_DIR)$(WK_LIBRARY_HEADERS_FOLDER_PATH) -I$(WK_ADDITIONAL_SDKS)$(WK_LIBRARY_HEADERS_FOLDER_PATH) $(OTHER_MODULE_VERIFIER_FLAGS_$(WK_EMPTY_$(WK_OVERRIDE_FRAMEWORKS_DIR)));
3130
OTHER_MODULE_VERIFIER_FLAGS_ = -iframework "$(WK_PRIVATE_SDK_DIR)$(WK_OVERRIDE_FRAMEWORKS_DIR)" -isystem "$(WK_PRIVATE_SDK_DIR)$(WK_ALTERNATE_WEBKIT_SDK_PATH)$(WK_LIBRARY_HEADERS_FOLDER_PATH)";
@@ -99,10 +98,14 @@ SWIFT_STRICT_CONCURRENCY = complete;
9998
HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_TARGETS_NOT_BEING_BUILT = NO;
10099
HEADERMAP_USES_VFS = YES;
101100

102-
SUPPORTS_TEXT_BASED_API = $(OVERRIDE_SUPPORTS_TEXT_BASED_API:default=YES);
101+
SUPPORTS_TEXT_BASED_API = $(WK_ENABLE_SLOW_BUILD_VERIFICATION);
102+
// Override to enable SPI checking at desk. Remove once audit-spi works in
103+
// production builds (https://bugs.webkit.org/show_bug.cgi?id=299573).
104+
SUPPORTS_TEXT_BASED_API[sdk=iphoneos.internal] = YES;
103105
TAPI_USE_SRCROOT = YES;
104106
TAPI_ENABLE_PROJECT_HEADERS = YES;
105-
TAPI_VERIFY_MODE = Pedantic;
107+
TAPI_VERIFY_MODE = $(WK_TAPI_VERIFY_MODE_$(WK_ENABLE_SLOW_BUILD_VERIFICATION));
108+
WK_TAPI_VERIFY_MODE_YES = Pedantic;
106109
// C++ dialect flags (-fvisibility, others inherited from CommonBase.xcconfig)
107110
// are needed because JavaScriptCore / WTF private headers are only safe to use
108111
// from other WebKit projects, which build with the same dialect.

‎Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13440,7 +13440,7 @@
1344013440
);
1344113441
runOnlyForDeploymentPostprocessing = 0;
1344213442
shellPath = /bin/sh;
13443-
shellScript = "set -e\n\nif [ \"${ACTION}\" = \"installhdrs\" ]; 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 JS WTF\nfi\n";
13443+
shellScript = "if [ \"${WK_ENABLE_SLOW_BUILD_VERIFICATION}\" != \"YES\" ]; then\n exit 0;\nfi\n\nset -e\n\nif [ \"${ACTION}\" = \"installhdrs\" ]; 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 JS WTF\nfi\n";
1344413444
};
1344513445
5325BDC521DFF2BA00A0DEE1 /* ShellScript */ = {
1344613446
isa = PBXShellScriptBuildPhase;
@@ -13478,7 +13478,7 @@
1347813478
);
1347913479
runOnlyForDeploymentPostprocessing = 0;
1348013480
shellPath = /bin/sh;
13481-
shellScript = "Scripts/check-xcfilelists.sh && touch \"${SCRIPT_OUTPUT_FILE_0}\"\n";
13481+
shellScript = "if [ \"${WK_ENABLE_SLOW_BUILD_VERIFICATION}\" != \"YES\" ]; then touch \"${SCRIPT_OUTPUT_FILE_0}\"; exit 0; fi\nScripts/check-xcfilelists.sh && touch \"${SCRIPT_OUTPUT_FILE_0}\"\n";
1348213482
};
1348313483
539966E3237CD6740033B0D2 /* Create Versions/Current/Helpers symlink */ = {
1348413484
isa = PBXShellScriptBuildPhase;
@@ -13537,7 +13537,7 @@
1353713537
);
1353813538
runOnlyForDeploymentPostprocessing = 0;
1353913539
shellPath = /bin/sh;
13540-
shellScript = "set -e\n\nif [ -f ../../Tools/Scripts/check-for-weak-vtables-and-externals ]; then\n ../../Tools/Scripts/check-for-weak-vtables-and-externals\nfi\n";
13540+
shellScript = "if [ \"${WK_ENABLE_SLOW_BUILD_VERIFICATION}\" != \"YES\" ]; then\n exit 0;\nfi\n\nset -e\n\nif [ -f ../../Tools/Scripts/check-for-weak-vtables-and-externals ]; then\n ../../Tools/Scripts/check-for-weak-vtables-and-externals\nfi\n";
1354113541
};
1354213542
5D5D8ABF0E0D0B0300F9C692 /* Create /usr/local/bin/jsc symlink */ = {
1354313543
isa = PBXShellScriptBuildPhase;
@@ -13627,7 +13627,7 @@
1362713627
);
1362813628
runOnlyForDeploymentPostprocessing = 0;
1362913629
shellPath = /bin/sh;
13630-
shellScript = "set -e\n\nif [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-inappropriate-macros-in-external-headers ]; then\n ../../Tools/Scripts/check-for-inappropriate-macros-in-external-headers Headers PrivateHeaders/JSBasePrivate.h\nfi\n";
13630+
shellScript = "if [ \"${WK_ENABLE_SLOW_BUILD_VERIFICATION}\" != \"YES\" ]; then\n exit 0;\nfi\n\nset -e\n\nif [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-inappropriate-macros-in-external-headers ]; then\n ../../Tools/Scripts/check-for-inappropriate-macros-in-external-headers Headers PrivateHeaders/JSBasePrivate.h\nfi\n";
1363113631
};
1363213632
DD0450302E062A3300DACD93 /* Audit SPI use */ = {
1363313633
isa = PBXShellScriptBuildPhase;
@@ -13741,7 +13741,7 @@
1374113741
);
1374213742
runOnlyForDeploymentPostprocessing = 0;
1374313743
shellPath = /bin/sh;
13744-
shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ] || [ \"${ACTION}\" = \"installapi\" ]; then\n touch \"${SCRIPT_OUTPUT_FILE_0}\"\n exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-inappropriate-files-in-framework ]; then\n export PRODUCT_NAME=JavaScriptCore\n if [ -z \"${WK_FRAMEWORK_VERSION_PREFIX}\" ]; then\n export SHALLOW_BUNDLE=YES\n fi\n ../../Tools/Scripts/check-for-inappropriate-files-in-framework || exit $?\nfi\n\ntouch \"${SCRIPT_OUTPUT_FILE_0}\"\n";
13744+
shellScript = "if [ \"${WK_ENABLE_SLOW_BUILD_VERIFICATION}\" != \"YES\" ] || [ \"${ACTION}\" = \"installhdrs\" ] || [ \"${ACTION}\" = \"installapi\" ]; then\n touch \"${SCRIPT_OUTPUT_FILE_0}\"\n exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-inappropriate-files-in-framework ]; then\n export PRODUCT_NAME=JavaScriptCore\n if [ -z \"${WK_FRAMEWORK_VERSION_PREFIX}\" ]; then\n export SHALLOW_BUNDLE=YES\n fi\n ../../Tools/Scripts/check-for-inappropriate-files-in-framework || exit $?\nfi\n\ntouch \"${SCRIPT_OUTPUT_FILE_0}\"\n";
1374513745
};
1374613746
DDFE17010000000000000001 /* Generate Header Postprocess Config */ = {
1374713747
isa = PBXShellScriptBuildPhase;

‎Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24983,7 +24983,7 @@
2498324983
);
2498424984
runOnlyForDeploymentPostprocessing = 0;
2498524985
shellPath = /bin/sh;
24986-
shellScript = "if [ \"${ACTION}\" = \"installhdrs\" -o \"${ACTION}\" = \"installapi\" ]; then\n touch \"${DERIVED_FILE_DIR}/check-objc-class-names.stamp\"\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 WK_RTC || exit $?\nfi\ntouch \"${DERIVED_FILE_DIR}/check-objc-class-names.stamp\"\n";
24986+
shellScript = "if [ \"${WK_ENABLE_SLOW_BUILD_VERIFICATION}\" != \"YES\" ] || [ \"${ACTION}\" = \"installhdrs\" ] || [ \"${ACTION}\" = \"installapi\" ]; then\n touch \"${DERIVED_FILE_DIR}/check-objc-class-names.stamp\"\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 WK_RTC || exit $?\nfi\ntouch \"${DERIVED_FILE_DIR}/check-objc-class-names.stamp\"\n";
2498724987
};
2498824988
44C229C02A0AF12E0008308E /* Generate Export Files */ = {
2498924989
isa = PBXShellScriptBuildPhase;
@@ -25022,7 +25022,7 @@
2502225022
);
2502325023
runOnlyForDeploymentPostprocessing = 0;
2502425024
shellPath = /bin/sh;
25025-
shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ] || [ \"${ACTION}\" = \"installapi\" ]; then\n exit 0;\nfi\n\nif [ \"${ENABLE_LIBFUZZER}\" = \"YES\" ]; then\n exit 0;\nfi\n\nif [ -f ../../../Tools/Scripts/check-for-weak-vtables-and-externals ]; then\n ../../../Tools/Scripts/check-for-weak-vtables-and-externals || exit $?\nfi\n";
25025+
shellScript = "if [ \"${WK_ENABLE_SLOW_BUILD_VERIFICATION}\" != \"YES\" ] || [ \"${ACTION}\" = \"installhdrs\" ] || [ \"${ACTION}\" = \"installapi\" ]; then\n exit 0;\nfi\n\nif [ \"${ENABLE_LIBFUZZER}\" = \"YES\" ]; then\n exit 0;\nfi\n\nif [ -f ../../../Tools/Scripts/check-for-weak-vtables-and-externals ]; then\n ../../../Tools/Scripts/check-for-weak-vtables-and-externals || exit $?\nfi\n";
2502625026
};
2502725027
659A86EA279796F800AC37B6 /* Create Symlink to Cryptex Path */ = {
2502825028
isa = PBXShellScriptBuildPhase;

‎Source/WTF/Configurations/WTF.xcconfig‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,8 @@ GENERATE_WTF_MODULEMAP = YES;
101101
// The WTF module is ill-formed on bridgeOS.
102102
GENERATE_WTF_MODULEMAP[sdk=bridgeos*] = ;
103103

104-
ENABLE_WK_LIBRARY_MODULE_VERIFIER = $(GENERATE_WTF_MODULEMAP);
104+
ENABLE_WK_LIBRARY_MODULE_VERIFIER = $(ENABLE_WK_LIBRARY_MODULE_VERIFIER_$(WK_ENABLE_SLOW_BUILD_VERIFICATION));
105+
ENABLE_WK_LIBRARY_MODULE_VERIFIER_YES = $(GENERATE_WTF_MODULEMAP);
105106

106107
// The WTF module is ill-formed in these configurations, but are needed for backward compatibility.
107108
ENABLE_WK_LIBRARY_MODULE_VERIFIER[sdk=macosx26.2*] = ;

‎Source/WTF/WTF.xcodeproj/project.pbxproj‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4434,7 +4434,7 @@
44344434
);
44354435
runOnlyForDeploymentPostprocessing = 0;
44364436
shellPath = /bin/sh;
4437-
shellScript = "set -e\n\ndepfile=\"${SCRIPT_OUTPUT_FILE_0/%.timestamp/.d}\"\n\nif [ \"${ACTION}\" = \"installhdrs\" ]; then\n echo \"dependencies: \" > \"${depfile}\"\n touch \"${SCRIPT_OUTPUT_FILE_0}\"\n exit 0;\nfi\n\nif [ ${DEPLOYMENT_LOCATION} != YES ]; then\n \"${SCRIPT_INPUT_FILE_0}\" --depfile \"${depfile}\" --relative-to=\"${BUILT_PRODUCTS_DIR}${WTF_INSTALL_PATH_PREFIX}${WK_LIBRARY_HEADERS_FOLDER_PATH}\" \"${SCRIPT_INPUT_FILE_1}\"\nelse\n \"${SCRIPT_INPUT_FILE_0}\" --depfile \"${depfile}\" --relative-to=\"<SDKROOT>${WK_LIBRARY_HEADERS_FOLDER_PATH}\" \"${DSTROOT}/${PRIVATE_HEADERS_FOLDER_PATH}/WTF.json\"\nfi\n\ntouch \"${SCRIPT_OUTPUT_FILE_0}\"\n";
4437+
shellScript = "set -e\n\ndepfile=\"${SCRIPT_OUTPUT_FILE_0/%.timestamp/.d}\"\n\nif [ \"${WK_ENABLE_SLOW_BUILD_VERIFICATION}\" != \"YES\" ] || [ \"${ACTION}\" = \"installhdrs\" ]; then\n echo \"dependencies: \" > \"${depfile}\"\n touch \"${SCRIPT_OUTPUT_FILE_0}\"\n exit 0;\nfi\n\nif [ ${DEPLOYMENT_LOCATION} != YES ]; then\n \"${SCRIPT_INPUT_FILE_0}\" --depfile \"${depfile}\" --relative-to=\"${BUILT_PRODUCTS_DIR}${WTF_INSTALL_PATH_PREFIX}${WK_LIBRARY_HEADERS_FOLDER_PATH}\" \"${SCRIPT_INPUT_FILE_1}\"\nelse\n \"${SCRIPT_INPUT_FILE_0}\" --depfile \"${depfile}\" --relative-to=\"<SDKROOT>${WK_LIBRARY_HEADERS_FOLDER_PATH}\" \"${DSTROOT}/${PRIVATE_HEADERS_FOLDER_PATH}/WTF.json\"\nfi\n\ntouch \"${SCRIPT_OUTPUT_FILE_0}\"\n";
44384438
};
44394439
520CF9492BDA9B4800C27FD2 /* Generate clangd configuration file */ = {
44404440
isa = PBXShellScriptBuildPhase;

‎Source/WebCore/Configurations/WebCore.xcconfig‎

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -203,14 +203,15 @@ OTHER_LDFLAGS_SHARED_CACHE_NO = -Wl,-not_for_dyld_shared_cache;
203203
OTHER_CPLUSPLUSFLAGS = $(inherited) -fmodules -fno-cxx-modules;
204204

205205
// Enable InstallAPI support, when built with WEBCORE_ENABLE_INSTALLAPI=YES.
206-
SUPPORTS_TEXT_BASED_API = $(SUPPORTS_TEXT_BASED_API_$(OVERRIDE_SUPPORTS_TEXT_BASED_API));
207-
SUPPORTS_TEXT_BASED_API_ = $(SUPPORTS_TEXT_BASED_API_$(TARGET_NAME));
208-
SUPPORTS_TEXT_BASED_API_WebCore = $(WEBCORE_ENABLE_INSTALLAPI)
209-
SUPPORTS_TEXT_BASED_API_NO = NO;
210-
SUPPORTS_TEXT_BASED_API_YES = YES;
206+
SUPPORTS_TEXT_BASED_API = $(SUPPORTS_TEXT_BASED_API_$(WK_ENABLE_SLOW_BUILD_VERIFICATION)_$(TARGET_NAME));
207+
SUPPORTS_TEXT_BASED_API_YES_WebCore = $(WEBCORE_ENABLE_INSTALLAPI);
211208
TAPI_USE_SRCROOT = YES;
212209
TEXT_BASED_API_FILE = WebCore.tbd
213210

211+
// audit-spi normally only runs when SUPPORTS_TEXT_BASED_API is enabled.
212+
// WebCore does build with InstallAPI by default, and unlike other frameworks
213+
// in our stack, its API surface is fully discoverable through binary analysis.
214+
WK_DEFAULT_WK_AUDIT_SPI[sdk=iphoneos*] = $(WK_NOT_$(WK_ANY_SANITIZER_ENABLED));
214215
WK_AUDIT_SPI_ALLOWLISTS = $(SRCROOT)/Configurations/AllowedSPI.toml $(SRCROOT)/Configurations/AllowedSPI-legacy.toml $(WK_AUDIT_SPI_ALLOWLISTS_$(USE_INTERNAL_SDK));
215216
WK_AUDIT_SPI_ALLOWLISTS_YES = $(WK_WEBKITADDITIONS_HEADERS_FOLDER_PATH)/AllowedSPI/AllowedSPI-WebCore.toml;
216217

@@ -243,7 +244,8 @@ WK_ENABLE_MODULE_VERIFIER[sdk=*26.3*] = ;
243244
// Disabled on internal builds of macOS due to rdar://175057536.
244245
WK_ENABLE_MODULE_VERIFIER[sdk=macosx*.internal] = ;
245246

246-
ENABLE_MODULE_VERIFIER = $(WK_VERIFY_WEBCORE_MODULE);
247+
ENABLE_MODULE_VERIFIER = $(ENABLE_MODULE_VERIFIER_$(WK_ENABLE_SLOW_BUILD_VERIFICATION));
248+
ENABLE_MODULE_VERIFIER_YES = $(WK_VERIFY_WEBCORE_MODULE);
247249
MODULE_VERIFIER_SUPPORTED_LANGUAGES = objective-c++;
248250
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = c++23;
249251
MODULE_VERIFIER_KIND = builtin;

‎Source/WebCore/PAL/Configurations/PAL.xcconfig‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
8181

8282
MODULES_FOLDER_PATH = swift;
8383

84-
ENABLE_WK_LIBRARY_MODULE_VERIFIER = YES;
84+
ENABLE_WK_LIBRARY_MODULE_VERIFIER = $(WK_ENABLE_SLOW_BUILD_VERIFICATION);
8585
ENABLE_WK_LIBRARY_MODULE_VERIFIER[sdk=macosx26*] = NO;
8686
MODULE_VERIFIER_SUPPORTED_LANGUAGES = objective-c++;
8787
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = c++23;

‎Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1866,7 +1866,7 @@
18661866
);
18671867
runOnlyForDeploymentPostprocessing = 0;
18681868
shellPath = /bin/sh;
1869-
shellScript = "set -e\n\ndepfile=\"${SCRIPT_OUTPUT_FILE_0/%.timestamp/.d}\"\n\nif [ \"${ACTION}\" = \"installhdrs\" ]; then\n echo \"dependencies: \" > \"${depfile}\"\n touch \"${SCRIPT_OUTPUT_FILE_0}\"\n exit 0;\nfi\n\nif [ ${DEPLOYMENT_LOCATION} != YES ]; then\n \"${SCRIPT_INPUT_FILE_0}\" --depfile \"${depfile}\" --relative-to=\"${BUILT_PRODUCTS_DIR}${PAL_INSTALL_PATH_PREFIX}${WK_LIBRARY_HEADERS_FOLDER_PATH}\" \"${SCRIPT_INPUT_FILE_1}\"\nelse\n \"${WTF_BUILD_SCRIPTS_DIR}/modules-verifier/library-modules-verifier.py\" --depfile \"${depfile}\" --relative-to=\"<SDKROOT>${WK_LIBRARY_HEADERS_FOLDER_PATH}\" \"${DSTROOT}/${PRIVATE_HEADERS_FOLDER_PATH}/PAL.json\"\nfi\n\ntouch \"${SCRIPT_OUTPUT_FILE_0}\"\n";
1869+
shellScript = "set -e\n\ndepfile=\"${SCRIPT_OUTPUT_FILE_0/%.timestamp/.d}\"\n\nif [ \"${WK_ENABLE_SLOW_BUILD_VERIFICATION}\" != \"YES\" ] || [ \"${ACTION}\" = \"installhdrs\" ]; then\n echo \"dependencies: \" > \"${depfile}\"\n touch \"${SCRIPT_OUTPUT_FILE_0}\"\n exit 0;\nfi\n\nif [ ${DEPLOYMENT_LOCATION} != YES ]; then\n \"${SCRIPT_INPUT_FILE_0}\" --depfile \"${depfile}\" --relative-to=\"${BUILT_PRODUCTS_DIR}${PAL_INSTALL_PATH_PREFIX}${WK_LIBRARY_HEADERS_FOLDER_PATH}\" \"${SCRIPT_INPUT_FILE_1}\"\nelse\n \"${WTF_BUILD_SCRIPTS_DIR}/modules-verifier/library-modules-verifier.py\" --depfile \"${depfile}\" --relative-to=\"<SDKROOT>${WK_LIBRARY_HEADERS_FOLDER_PATH}\" \"${DSTROOT}/${PRIVATE_HEADERS_FOLDER_PATH}/PAL.json\"\nfi\n\ntouch \"${SCRIPT_OUTPUT_FILE_0}\"\n";
18701870
};
18711871
/* End PBXShellScriptBuildPhase section */
18721872

0 commit comments

Comments
 (0)