You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add support for the libswiftCompatibilitySpan.dylib backward deployment library (#642)
* Add support for the libswiftCompatibilitySpan.dylib backward deployment library
* Improve handling of Span back-deployment library bundling
A couple of related fixes:
* Use 26.0 as the fallback version number when SDKSettings doesn't include SwiftSpanMinimumDeploymentTarget
* Update tests to expect `--back-deploy-swift-span` and check when it shouldn't be there
* Further handling of Swift back deployment + e2e tests
Co-authored-by: Owen Voorhees <[email protected]>
* Include rpath for the back-deployed Span dylib
Co-authored-by: Owen Voorhees <[email protected]>
* Drop unnecessary default arguments
* Simplify requireXcode26
* Introduce a hack to allow testing Span back-deployment on older Xcode versions
Xcode versions that predate Xcode 26 don't include the Span
back-deployment library. Introduce a hack to make it easier to still
test with those Xcode versions.
* copySwiftLibs tests require Xcode 26 for libSwiftCompatibilitySpan.dylib
---------
Co-authored-by: Slava Pestov <[email protected]>
Co-authored-by: Owen Voorhees <[email protected]>
/// Determines if the platform natively supports Swift concurrency. If `false`, then the Swift back-compat concurrency libs needs to be copied into the app/framework's bundle.
276
+
/// Determines if the platform natively supports Swift concurrency. If `false`, then the Swift concurrency back-compat concurrency libs needs to be copied into the app/framework's bundle.
/// Determines if the platform natively supports Swift 6.2's Span type. If `false`, then the Swift Span back-compat lib needs to be copied into the app/framework's bundle.
Copy file name to clipboardExpand all lines: Sources/SWBCore/SpecImplementations/Tools/LinkerTools.swift
+12-3Lines changed: 12 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -294,11 +294,20 @@ public final class LdLinkerSpec : GenericLinkerSpec, SpecIdentifierType, @unchec
294
294
// And, if the deployment target does not support Swift Concurrency natively, then the rpath needs to be added as well so that the shim library can find the real implementation. Note that we assume `true` in the case where `supportsSwiftInTheOS` is `nil` as we don't have the platform data to make the correct choice; so fallback to existing behavior.
295
295
// The all above discussion is only relevant for platforms that support Swift in the OS.
0 commit comments