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

Reply via email to