Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: f0eef5f60a16a9b69b1db60186262b476ce7d1ae
https://github.com/WebKit/WebKit/commit/f0eef5f60a16a9b69b1db60186262b476ce7d1ae
Author: Geoffrey Garen <[email protected]>
Date: 2026-05-28 (Thu, 28 May 2026)
Changed paths:
M Source/WebGPU/WebGPU/CMakeLists.txt
M Source/WebKit/CMakeLists.txt
M Source/WebKit/PlatformIOS.cmake
M Source/WebKit/PlatformMac.cmake
M Source/cmake/OptionsIOS.cmake
M Source/cmake/WebKitMacros.cmake
M Tools/Scripts/swift/swiftc-wrapper.sh
Log Message:
-----------
[CMake] Stop compiling every module 6 times (shared list of compiler
arugments)
https://bugs.webkit.org/show_bug.cgi?id=315636
rdar://178012097
Reviewed by Mike Wyrzykowski.
Swift currently compiles every module 6 times.
You get a new module any time you invoke swiftc with arguments that don't match
a previous invocation.
Triggers for this pathology:
* PAL enables Swift 6, and other targets don't
* WebGPU enables SafeInteropWrappers, and other targets don't
* WebKit hand-rolls a large -Xcc -D set, and other targets don't
In some ways, these triggers also risk correctness issues, since we're
ultimately not compiling with cosistent settings.
Also:
* CMake provides all target_compile_definitions to swiftc, even when they're
not relevant
This patch addresses the issue by establishing a central defintion for the
flags we need when compiling Swift, and using it everywhere.
Conversely, swift-wrapper now strips any stray -D arguments not from the list,
to help ensure uniformity.
Canonical link: https://commits.webkit.org/314049@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications