diff --git a/Sources/SwiftSDKGenerator/SwiftSDKRecipes/LinuxRecipe.swift b/Sources/SwiftSDKGenerator/SwiftSDKRecipes/LinuxRecipe.swift index 3849bdf..6ed5815 100644 --- a/Sources/SwiftSDKGenerator/SwiftSDKRecipes/LinuxRecipe.swift +++ b/Sources/SwiftSDKGenerator/SwiftSDKRecipes/LinuxRecipe.swift @@ -143,7 +143,12 @@ package struct LinuxRecipe: SwiftSDKRecipe { toolset.swiftCompiler = Toolset.ToolProperties(extraCLIOptions: swiftCompilerOptions) toolset.cxxCompiler = Toolset.ToolProperties(extraCLIOptions: ["-lstdc++"]) - toolset.librarian = Toolset.ToolProperties(path: "llvm-ar") + + // Don't include path to librarian if we're using the preinstalled toolchain + // Workaround for https://github.com/swiftlang/swift-package-manager/issues/9035 + if self.hostSwiftSource != .preinstalled { + toolset.librarian = Toolset.ToolProperties(path: "llvm-ar") + } } package func applyPlatformOptions( diff --git a/Tests/SwiftSDKGeneratorTests/SwiftSDKRecipes/LinuxRecipeTests.swift b/Tests/SwiftSDKGeneratorTests/SwiftSDKRecipes/LinuxRecipeTests.swift index b41d0ea..0bd6200 100644 --- a/Tests/SwiftSDKGeneratorTests/SwiftSDKRecipes/LinuxRecipeTests.swift +++ b/Tests/SwiftSDKGeneratorTests/SwiftSDKRecipes/LinuxRecipeTests.swift @@ -116,7 +116,7 @@ final class LinuxRecipeTests: XCTestCase { ] ) XCTAssertEqual(toolset.cxxCompiler?.extraCLIOptions, ["-lstdc++"]) - XCTAssertEqual(toolset.librarian?.path, "llvm-ar") + XCTAssert(toolset.librarian == nil) XCTAssert(toolset.linker == nil) }