Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: fabdb6ba5e169cb8bfb647f7565f1abdb6918991
https://github.com/WebKit/WebKit/commit/fabdb6ba5e169cb8bfb647f7565f1abdb6918991
Author: Elliott Williams <[email protected]>
Date: 2026-07-02 (Thu, 02 Jul 2026)
Changed paths:
M Configurations/CommonBase.xcconfig
M Configurations/SDKAdditions.xcconfig
M Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig
M Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj
M Source/ThirdParty/gmock/gmock.xcodeproj/project.pbxproj
M Source/ThirdParty/gtest/xcode/gtest.xcodeproj/project.pbxproj
M Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj
M Source/WTF/Configurations/WTF.xcconfig
M Source/WebCore/Configurations/WebCore.xcconfig
M Source/WebCore/PAL/Configurations/PAL.xcconfig
M Source/WebCore/PAL/ThirdParty/dav1d/Configurations/Base.xcconfig
M Source/WebGPU/Configurations/WebGPU.xcconfig
M Source/WebKit/Configurations/WebKit.xcconfig
M Source/bmalloc/Configurations/bmalloc.xcconfig
M Source/bmalloc/bmalloc.xcodeproj/project.pbxproj
M Source/cmake/OptionsCocoa.cmake
A WebKitLibraries/AvailabilityOverlay/generate-overlay.py
A WebKitLibraries/AvailabilityOverlay/usr/include/Availability.h
A WebKitLibraries/AvailabilityOverlay/usr/include/os/availability.h
R
WebKitLibraries/SDKs/appletvos18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/appletvos26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/appletvsimulator18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/appletvsimulator26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/iphoneos18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/iphoneos26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/iphonesimulator18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/iphonesimulator26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/macosx14.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/macosx15.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/macosx26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/watchos11.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/watchos26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/watchsimulator11.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/watchsimulator26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/xros2.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/xros26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/xrsimulator2.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
R
WebKitLibraries/SDKs/xrsimulator26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h
Log Message:
-----------
[Build] Reenable JSC and WebCore module verifier on public SDK builds
https://bugs.webkit.org/show_bug.cgi?id=317876
rdar://177493372
Reviewed by Richard Robinson.
Our `AvailabilityProhibitedInternal.h` injected header does not work
when building with modules. Modules are by design self-contained, and
the `os_availability` modulemap in the SDK compiles without finding and
including our injected header.
We need to silence availability errors in the public build in order to
bind to SPI on the platform that is otherwise marked API_UNAVAILABLE.
Instead, replace the technique with a new approach based on stubbing out
the entire Availability library, replacing <Availability.h> and
<os/availability.h> with our own versions of the headers.
The OS modulemap containing the availability project has other headers
in it too, so we can't just ship our own modulemap referencing the
stubs. Instead, generate a VFS overlay which maps our headers onto the
correct SDK paths.
Also clean up conditional logic for SDK versions that we no longer
support.
* Configurations/CommonBase.xcconfig:
* Configurations/SDKAdditions.xcconfig:
* Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
In third-party code, add "Setup" targets to Xcode projects which depend
on the overlay YAML bring produced. These gate compilation of any of the
third-party libraries until bmalloc has run and WTF has staged public
SDK headers.
(In CMake, we're able to generate the overlay at configure time without
disturbing the dependency graph, so this issue does not exist.)
* Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:
* Source/ThirdParty/libwebrtc/libwebrtc.xcodeproj/project.pbxproj:
* Source/WTF/Configurations/WTF.xcconfig:
* Source/WebCore/Configurations/WebCore.xcconfig:
* Source/WebCore/PAL/Configurations/PAL.xcconfig:
* Source/WebCore/PAL/ThirdParty/dav1d/Configurations/Base.xcconfig:
* Source/WebGPU/Configurations/WebGPU.xcconfig:
* Source/WebKit/Configurations/WebKit.xcconfig:
* Source/bmalloc/Configurations/bmalloc.xcconfig:
* Source/bmalloc/bmalloc.xcodeproj/project.pbxproj: Call
generate-overlay before bmalloc builds. It needs to happen very early
in the build, before any target that includes CommonBase.xcconfig
starts compiling.
* Source/cmake/OptionsCocoa.cmake:
* WebKitLibraries/AvailabilityOverlay/generate-overlay.py: Added.
* WebKitLibraries/AvailabilityOverlay/usr/include/Availability.h: Added.
* WebKitLibraries/AvailabilityOverlay/usr/include/os/availability.h: Added.
Delete all the old AvailabilityProhibitedInternal.h headers:
*
WebKitLibraries/SDKs/appletvos18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/appletvos26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/appletvsimulator18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/appletvsimulator26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/iphoneos18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/iphoneos26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/iphonesimulator18.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/iphonesimulator26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/macosx14.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/macosx15.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/macosx26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/watchos11.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/watchos26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/watchsimulator11.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/watchsimulator26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/xros2.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/xros26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/xrsimulator2.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
*
WebKitLibraries/SDKs/xrsimulator26.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h:
Removed.
Canonical link: https://commits.webkit.org/316413@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications