Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 322c19a3d449ee9ad70a4398165d334afc8affa9
      
https://github.com/WebKit/WebKit/commit/322c19a3d449ee9ad70a4398165d334afc8affa9
  Author: Elliott Williams <[email protected]>
  Date:   2025-10-22 (Wed, 22 Oct 2025)

  Changed paths:
    M Source/WebGPU/Configurations/WebGPU.xcconfig

  Log Message:
  -----------
  [Back-deployment] Install libswiftCompatibilitySpan.dylib into 
StagedFrameworks directory
https://bugs.webkit.org/show_bug.cgi?id=301293
rdar://162905280

Reviewed by Mike Wyrzykowski.

When using recent Swift language features and back-deploying to older OS
versions, the compiler will automatically link against a compatibility
dylib for runtime support. Configure Xcode to install this dylib to the
StagedFrameworks directory when building WebKit for downlevels and STP.

The result is a library layout like:
    
./System/Cryptexes/App/System/Library/StagedFrameworks/Safari/WebGPU.framework
    
./System/Cryptexes/App/System/Library/StagedFrameworks/Safari/WebKit.framework
    
./System/Cryptexes/App/System/Library/StagedFrameworks/Safari/libswiftCompatibilitySpan.dylib
    
./System/Cryptexes/App/System/Library/StagedFrameworks/Safari/libwebrtc.dylib
and so on.

By default, Xcode scans application bundles for needed compatibility
libaries and embeds them automatically, but this does not work for our
project layout, where we install frameworks as siblings onto the system,
and Safari.app is in a separate location altogether. Use
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES to force the scanner to run, and
run it from WebGPU, which is currently the one place where we use Span.

* Source/WebGPU/Configurations/WebGPU.xcconfig:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to