Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: aa721f7998fcfe5bba32f0feb9b7217c7ba520da https://github.com/WebKit/WebKit/commit/aa721f7998fcfe5bba32f0feb9b7217c7ba520da Author: Elliott Williams <e...@apple.com> Date: 2023-08-03 (Thu, 03 Aug 2023)
Changed paths: M Source/WTF/wtf/PlatformHave.h M Source/WebKit/NetworkProcess/cocoa/AppStoreDaemonSPI.h M Tools/Scripts/configure-xcode-for-embedded-development A Tools/Scripts/extract-tbds-from-internal-sdk A Tools/Scripts/strip-tbd M Tools/WebKitTestRunner/Configurations/Base.xcconfig A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/SDKSettings.plist A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/AppServerSupport.framework/AppServerSupport.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/AppStoreDaemon.framework/AppStoreDaemon.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/AppSupport.framework/AppSupport.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/ApplePushService.framework/ApplePushService.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/AuthKit.framework/AuthKit.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/BackBoardServices.framework/BackBoardServices.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/CorePrediction.framework/CorePrediction.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/FontServices.framework/libFontParser.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/InstallCoordination.framework/InstallCoordination.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/PrototypeTools.framework/PrototypeTools.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/RunningBoardServices.framework/RunningBoardServices.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/URLFormatting.framework/URLFormatting.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/VisionKitCore.framework/VisionKitCore.tbd A WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/SDKSettings.plist A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/AppServerSupport.framework/AppServerSupport.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/AppStoreDaemon.framework/AppStoreDaemon.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/AppSupport.framework/AppSupport.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/ApplePushService.framework/ApplePushService.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/AuthKit.framework/AuthKit.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/BackBoardServices.framework/BackBoardServices.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/CorePrediction.framework/CorePrediction.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/FontServices.framework/FontServices.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/FontServices.framework/libFontParser.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/InstallCoordination.framework/InstallCoordination.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/PrototypeTools.framework/PrototypeTools.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/RunningBoardServices.framework/RunningBoardServices.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/URLFormatting.framework/URLFormatting.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/VisionKitCore.framework/VisionKitCore.tbd A WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h Log Message: ----------- [iOS 17] Build on the public SDK https://bugs.webkit.org/show_bug.cgi?id=259513 Reviewed by Alexey Proskuryakov. Adds iphoneos17.0-additions and iphonesimulator17.0-additions SDKs containing stubs for private frameworks. Unlike past cycles, these have been generated automatically from the internal SDK, using a `strip-tbd` program (also added). The workflow I used was: 1. Using products from an internal build, `otool -L` relevant binaries (WebCore, WebKit, TestWebKitAPI) to find private frameworks linked against. 2. Copy those frameworks' tbd stubs from the internal SDK to the same locations in the sparse SDK. 3. Strip out all the symbols we aren't binding to: nm -gj WebKitBuild/Debug/WebCore.framework/WebCore > /tmp/WebKit.exp nm -gj WebKitBuild/Debug/WebKit.framework/WebKit >> /tmp/WebKit.exp # etc. strip-tbd -s /tmp/WebKit.exp WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/**/*.tbd Additionally, this workflow has been automated into a script which generates the API stubs for a sparse SDK in a single invocation. I generated iphonesimulator17.0 framework stubs by running: extract-tbds-from-internal-sdk -b $build `xcrun --show-sdk-path --sdk iphonesimulator.internal` WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk The new linker included in Xcode 15 is stricter about validating targets in TBDs (it uses LLVM's codepath for parsing TBDs, which treats unknown platforms as an error). As a result, configure-xcode-for-embedded-development needs to patch TBDs in the base SDK with *target* strings, not just architectures. This also means that the private framework stubs cannot be shared between device and simulator variants, but since we can now auto-generate the stubs, I think it's reasonable to check in separate TBDs for both SDKs. Aside from the sparse SDK changes, make a few minor fixups. * Source/WTF/wtf/PlatformHave.h: Lockdown mode was never supported in simulators, and a Core Graphics function we call in LDM was removed from the simulator SDK. Refine this platform macro. * Source/WebKit/NetworkProcess/cocoa/AppStoreDaemonSPI.h: The public side was missing NONNULL markers. * Tools/Scripts/configure-xcode-for-embedded-development: Patch TBDs with target strings, as mentioned above. * Tools/Scripts/extract-tbds-from-internal-sdk: Added. * Tools/Scripts/strip-tbd: Added. * Tools/WebKitTestRunner/Configurations/Base.xcconfig: In non-macOS builds, /System/Library/PrivateFrameworks is being given as a framework search path, causing frameworks on the *host* machine to be preferred over system frameworks. Prefix it with $(SDK_DIR), which is probably what was originally intended. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/SDKSettings.plist: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/AppServerSupport.framework/AppServerSupport.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/AppStoreDaemon.framework/AppStoreDaemon.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/AppSupport.framework/AppSupport.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/ApplePushService.framework/ApplePushService.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/AuthKit.framework/AuthKit.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/BackBoardServices.framework/BackBoardServices.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/CorePrediction.framework/CorePrediction.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/FontServices.framework/FontServices.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/FontServices.framework/libFontParser.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/InstallCoordination.framework/InstallCoordination.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/PrototypeTools.framework/PrototypeTools.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/RunningBoardServices.framework/RunningBoardServices.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/URLFormatting.framework/URLFormatting.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/System/Library/PrivateFrameworks/VisionKitCore.framework/VisionKitCore.tbd: Added. * WebKitLibraries/SDKs/iphonesimulator17.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/SDKSettings.plist: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/AppServerSupport.framework/AppServerSupport.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/AppStoreDaemon.framework/AppStoreDaemon.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/AppSupport.framework/AppSupport.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/ApplePushService.framework/ApplePushService.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/AuthKit.framework/AuthKit.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/BackBoardServices.framework/BackBoardServices.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/CorePrediction.framework/CorePrediction.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/FontServices.framework/libFontParser.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/FrontBoardServices.framework/FrontBoardServices.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/InstallCoordination.framework/InstallCoordination.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/PrototypeTools.framework/PrototypeTools.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/RunningBoardServices.framework/RunningBoardServices.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/URLFormatting.framework/URLFormatting.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/System/Library/PrivateFrameworks/VisionKitCore.framework/VisionKitCore.tbd: Added. * WebKitLibraries/SDKs/iphoneos17.0-additions.sdk/usr/local/include/AvailabilityProhibitedInternal.h: Copied from other SDK additions. Canonical link: https://commits.webkit.org/266551@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes