From 66dc9369d490e3863c5386762cf035db42cacce1 Mon Sep 17 00:00:00 2001 From: Pavel Yaskevich Date: Mon, 26 Aug 2024 10:39:35 -0700 Subject: [PATCH] [PackageModel] Inject swift-testing flags only if toolchain is targetting macOS Fixes a bug where swift and linker flags for swift-testing were injected into `extraFlags` of a toolchain that was targeting WASM but used macOS to build. Resolves: https://github.com/swiftlang/swift-package-manager/issues/7919 (cherry picked from commit d2141cd0bfbbfc54eb51d4de57ebd8afba392d62) (cherry picked from commit db603e64115b96f069bacc0ffa08cd9be2aa1c5e) --- Sources/PackageModel/UserToolchain.swift | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Sources/PackageModel/UserToolchain.swift b/Sources/PackageModel/UserToolchain.swift index 09c189660c6..0b9f39b2fd4 100644 --- a/Sources/PackageModel/UserToolchain.swift +++ b/Sources/PackageModel/UserToolchain.swift @@ -660,14 +660,15 @@ public final class UserToolchain: Toolchain { var swiftCompilerFlags: [String] = [] var extraLinkerFlags: [String] = [] - #if os(macOS) - let (swiftCFlags, linkerFlags) = Self.deriveMacOSSpecificSwiftTestingFlags( - derivedSwiftCompiler: swiftCompilers.compile, - fileSystem: fileSystem - ) - swiftCompilerFlags += swiftCFlags - extraLinkerFlags += linkerFlags - #endif + if triple.isMacOSX { + let (swiftCFlags, linkerFlags) = Self.deriveMacOSSpecificSwiftTestingFlags( + derivedSwiftCompiler: swiftCompilers.compile, + fileSystem: fileSystem + ) + + swiftCompilerFlags += swiftCFlags + extraLinkerFlags += linkerFlags + } swiftCompilerFlags += try Self.deriveSwiftCFlags( triple: triple,