@@ -191,11 +191,7 @@ extension Toolchain {
191191
192192 /// - Returns: String in the form of: `SWIFT_DRIVER_TOOLNAME_EXEC`
193193 private func envVarName( for toolName: String ) -> String {
194- var lookupName = toolName
195- #if os(Windows)
196- lookupName = lookupName. replacingOccurrences ( of: " .exe " , with: " " )
197- #endif
198- lookupName = lookupName. replacingOccurrences ( of: " - " , with: " _ " ) . uppercased ( )
194+ let lookupName = toolName. replacingOccurrences ( of: " - " , with: " _ " ) . uppercased ( )
199195 return " SWIFT_DRIVER_ \( lookupName) _EXEC "
200196 }
201197
@@ -209,9 +205,9 @@ extension Toolchain {
209205
210206 /// Looks for the executable in the `SWIFT_DRIVER_TOOLNAME_EXEC` environment variable, if found nothing,
211207 /// looks in the `executableDir`, `xcrunFind` or in the `searchPaths`.
212- /// - Parameter executable: executable to look for [i.e. `swift`].
208+ /// - Parameter executable: executable to look for [i.e. `swift`]. Executable suffix (eg. `.exe`) should be omitted.
213209 func lookup( executable: String ) throws -> AbsolutePath {
214- if let overrideString = envVar ( forExecutable: executableName ( executable) ) {
210+ if let overrideString = envVar ( forExecutable: executable) {
215211 return try AbsolutePath ( validating: overrideString)
216212 } else if let toolDir = toolDirectory,
217213 let path = lookupExecutablePath ( filename: executableName ( executable) , searchPaths: [ toolDir] ) {
@@ -221,7 +217,7 @@ extension Toolchain {
221217 return path
222218 } else if let path = try ? xcrunFind ( executable: executableName ( executable) ) {
223219 return path
224- } else if ![ " swift-frontend " , " swift " , " swift-frontend.exe " , " swift.exe " ] . contains ( executable) ,
220+ } else if ![ " swift-frontend " , " swift " ] . contains ( executable) ,
225221 let parentDirectory = try ? getToolPath ( . swiftCompiler) . parentDirectory,
226222 parentDirectory != executableDir,
227223 let path = lookupExecutablePath ( filename: executableName ( executable) , searchPaths: [ parentDirectory] ) {
@@ -230,14 +226,14 @@ extension Toolchain {
230226 return path
231227 } else if let path = lookupExecutablePath ( filename: executableName ( executable) , searchPaths: searchPaths) {
232228 return path
233- } else if executable == executableName ( " swift-frontend " ) {
229+ } else if executable == " swift-frontend " {
234230 // Temporary shim: fall back to looking for "swift" before failing.
235- return try lookup ( executable: executableName ( " swift " ) )
231+ return try lookup ( executable: " swift " )
236232 } else if fallbackToExecutableDefaultPath {
237233 if self is WindowsToolchain {
238234 return try getToolPath ( . swiftCompiler)
239235 . parentDirectory
240- . appending ( component: executable)
236+ . appending ( component: executableName ( executable) )
241237 } else {
242238 return AbsolutePath ( " /usr/bin/ " + executable)
243239 }
0 commit comments