Hardcoded .exe for tools in WindowsToolchain.swift
winnydows opened this issue · 0 comments
winnydows commented
lookupToolPath function in WindowsToolchain.swift don't know about cross compilation case.
Patch:
diff -rupN original/Sources/SwiftDriver/Toolchains/WindowsToolchain.swift new/Sources/SwiftDriver/Toolchains/WindowsToolchain.swift
--- original/Sources/SwiftDriver/Toolchains/WindowsToolchain.swift 2022-09-12 10:01:08.000000000 +0300
+++ new/Sources/SwiftDriver/Toolchains/WindowsToolchain.swift 2022-09-16 11:57:36.000000000 +0300
@@ -67,29 +67,34 @@ extension WindowsToolchain.ToolchainVali
}
private func lookupToolPath(_ tool: Tool) throws -> AbsolutePath {
+#if os(Windows)
+ let ext = ".exe"
+#else
+ let ext = ""
+#endif
switch tool {
case .swiftAPIDigester:
- return try lookup(executable: "swift-api-digester.exe")
+ return try lookup(executable: "swift-api-digester" + ext)
case .swiftCompiler:
- return try lookup(executable: "swift-frontend.exe")
+ return try lookup(executable: "swift-frontend" + ext)
case .staticLinker:
- return try lookup(executable: "lld-link.exe")
+ return try lookup(executable: "lld-link" + ext)
case .dynamicLinker:
- return try lookup(executable: "clang.exe")
+ return try lookup(executable: "clang" + ext)
case .clang:
- return try lookup(executable: "clang.exe")
+ return try lookup(executable: "clang" + ext)
case .clangxx:
- return try lookup(executable: "clang++.exe")
+ return try lookup(executable: "clang++" + ext)
case .swiftAutolinkExtract:
- return try lookup(executable: "swift-autolink-extract.exe")
+ return try lookup(executable: "swift-autolink-extract" + ext)
case .lldb:
- return try lookup(executable: "lldb.exe")
+ return try lookup(executable: "lldb" + ext)
case .dsymutil:
- return try lookup(executable: "llvm-dsymutil.exe")
+ return try lookup(executable: "llvm-dsymutil" + ext)
case .dwarfdump:
- return try lookup(executable: "llvm-dwarfdump.exe")
+ return try lookup(executable: "llvm-dwarfdump" + ext)
case .swiftHelp:
- return try lookup(executable: "swift-help.exe")
+ return try lookup(executable: "swift-help" + ext)
}
}