[webkit-changes] [WebKit/WebKit] 6dba0b: [macOS Sonoma] Add a sparse SDK for public SDK ove...

Elliott Williams noreply at github.com
Tue Jul 11 14:33:25 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6dba0b8967fcd4a9c8c28c242395eda798fe6caf
      https://github.com/WebKit/WebKit/commit/6dba0b8967fcd4a9c8c28c242395eda798fe6caf
  Author: Elliott Williams <emw at apple.com>
  Date:   2023-07-11 (Tue, 11 Jul 2023)

  Changed paths:
    M Configurations/CommonBase.xcconfig
    A Configurations/SDKAdditions.xcconfig
    M Configurations/WebKitProjectPaths.xcconfig
    M PerformanceTests/DecoderTest/Configurations/Base.xcconfig
    M PerformanceTests/MediaTime/Configurations/Base.xcconfig
    M Source/JavaScriptCore/Configurations/Base.xcconfig
    M Source/ThirdParty/ANGLE/Configurations/Base.xcconfig
    M Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig
    M Source/WTF/Configurations/Base.xcconfig
    M Source/WebCore/Configurations/Base.xcconfig
    M Source/WebCore/PAL/Configurations/Base.xcconfig
    M Source/WebCore/PAL/ThirdParty/libavif/Configurations/Base.xcconfig
    M Source/WebCore/PAL/ThirdParty/libavif/ThirdParty/dav1d/Configurations/Base.xcconfig
    M Source/WebGPU/Configurations/Base.xcconfig
    M Source/WebInspectorUI/Configurations/Base.xcconfig
    M Source/WebKit/Configurations/Base.xcconfig
    M Source/WebKit/SwiftOverlay/Configurations/Base.xcconfig
    M Source/WebKitLegacy/mac/Configurations/Base.xcconfig
    M Source/bmalloc/Configurations/Base.xcconfig
    M Tools/DumpRenderTree/mac/Configurations/Base.xcconfig
    M Tools/ImageDiff/cg/Configurations/Base.xcconfig
    M Tools/MiniBrowser/Configurations/Base.xcconfig
    M Tools/MiniBrowserSwiftUI/Configurations/Base.xcconfig
    M Tools/MobileMiniBrowser/Configurations/Base.xcconfig
    M Tools/TestWebKitAPI/Configurations/Base.xcconfig
    M Tools/WebEditingTester/Configurations/Base.xcconfig
    M Tools/WebGPUPlayground/Configurations/Base.xcconfig
    M Tools/WebKitTestRunner/Configurations/Base.xcconfig
    M Tools/lldb/lldbWebKitTester/Configurations/Base.xcconfig
    A WebKitLibraries/SDKs/macosx14.0-additions.sdk/SDKSettings.plist
    A WebKitLibraries/SDKs/macosx14.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h

  Log Message:
  -----------
  [macOS Sonoma] Add a sparse SDK for public SDK overrides
https://bugs.webkit.org/show_bug.cgi?id=258749
rdar://problem/111922548

Reviewed by Alexey Proskuryakov.

WebKit uses SPI-only classes in the SDK which are marked
API_UNAVAILABLE. Instead of handling this in
configure-xcode-for-embedded-development, add a sparse SDK which
contains an AvailabilityProhibitedInternal.h header that disables
unavailability annotations.

This establishes precedent for making more SDK-level customizations via
sparse SDKs.

* Configurations/CommonBase.xcconfig:
* Configurations/SDKAdditions.xcconfig: Added, contains conditional
  logic to determine when a sparse SDK should be used. Defines
  WK_ADDITIONAL_SDKS, which is used in projects to set ADDITIONAL_SDKS.
* Configurations/WebKitProjectPaths.xcconfig: Refactor the logic used to
  figure out the path to WebKitLibraries/. Previously, it assumed any
  project was two directories deep in the repo hierarchy (i.e.
  Source/WebCore/WebCore.xcodeproj). Now, it figures out the workspace
  root path dynamically based on SRCROOT.

In projects, set ADDITIONAL_SDKS = $(WK_ADDITIONAL_SDKS):

* PerformanceTests/DecoderTest/Configurations/Base.xcconfig:
* PerformanceTests/MediaTime/Configurations/Base.xcconfig:
* Source/JavaScriptCore/Configurations/Base.xcconfig:
* Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
* Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig:
* Source/WTF/Configurations/Base.xcconfig:
* Source/WebCore/Configurations/Base.xcconfig:
* Source/WebCore/PAL/Configurations/Base.xcconfig:
* Source/WebCore/PAL/ThirdParty/libavif/Configurations/Base.xcconfig:
* Source/WebCore/PAL/ThirdParty/libavif/ThirdParty/dav1d/Configurations/Base.xcconfig:
* Source/WebGPU/Configurations/Base.xcconfig:
* Source/WebInspectorUI/Configurations/Base.xcconfig:
* Source/WebKit/Configurations/Base.xcconfig:
* Source/WebKit/SwiftOverlay/Configurations/Base.xcconfig:
* Source/WebKitLegacy/mac/Configurations/Base.xcconfig:
* Source/bmalloc/Configurations/Base.xcconfig:
* Tools/DumpRenderTree/mac/Configurations/Base.xcconfig:
* Tools/ImageDiff/cg/Configurations/Base.xcconfig:
* Tools/MiniBrowser/Configurations/Base.xcconfig:
* Tools/MiniBrowserSwiftUI/Configurations/Base.xcconfig:
* Tools/MobileMiniBrowser/Configurations/Base.xcconfig:
* Tools/TestWebKitAPI/Configurations/Base.xcconfig:
* Tools/WebEditingTester/Configurations/Base.xcconfig:
* Tools/WebGPUPlayground/Configurations/Base.xcconfig:
* Tools/WebKitTestRunner/Configurations/Base.xcconfig:
* Tools/lldb/lldbWebKitTester/Configurations/Base.xcconfig:

The sparse SDK contains an AvailabilityProhibitedInternal header,
exactly the same as the one installed by
configure-xcode-for-embedded-development.

* WebKitLibraries/SDKs/macosx14.0-additions.sdk/SDKSettings.plist: Added.
* WebKitLibraries/SDKs/macosx14.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h: Added.

Canonical link: https://commits.webkit.org/265967@main




More information about the webkit-changes mailing list