diff --git a/Sources/SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift b/Sources/SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift index ffdf2a406..5adc24a87 100644 --- a/Sources/SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift +++ b/Sources/SwiftDriver/Jobs/GenericUnixToolchain+LinkerSupport.swift @@ -217,14 +217,14 @@ extension GenericUnixToolchain { commandLine.appendPath(try VirtualPath(path: opt.argument.asSingle)) } - if targetTriple.environment == .android { - if let sysroot = parsedOptions.getLastArgument(.sysroot)?.asSingle { - commandLine.appendFlag("--sysroot") - try commandLine.appendPath(VirtualPath(path: sysroot)) - } else if let sysroot = AndroidNDK.getDefaultSysrootPath(in: self.env) { - commandLine.appendFlag("--sysroot") - try commandLine.appendPath(VirtualPath(path: sysroot.pathString)) - } + if let sysroot = parsedOptions.getLastArgument(.sysroot)?.asSingle { + commandLine.appendFlag("--sysroot") + try commandLine.appendPath(VirtualPath(path: sysroot)) + } else if targetTriple.environment == .android, + let sysroot = AndroidNDK.getDefaultSysrootPath(in: self.env) + { + commandLine.appendFlag("--sysroot") + try commandLine.appendPath(VirtualPath(path: sysroot.pathString)) } else if let path = targetInfo.sdkPath?.path { commandLine.appendFlag("--sysroot") commandLine.appendPath(VirtualPath.lookup(path)) diff --git a/Sources/SwiftDriver/Toolchains/GenericUnixToolchain.swift b/Sources/SwiftDriver/Toolchains/GenericUnixToolchain.swift index 105104a78..04aa53577 100644 --- a/Sources/SwiftDriver/Toolchains/GenericUnixToolchain.swift +++ b/Sources/SwiftDriver/Toolchains/GenericUnixToolchain.swift @@ -152,14 +152,14 @@ public final class GenericUnixToolchain: Toolchain { frontendTargetInfo: FrontendTargetInfo, driver: inout Driver ) throws { - if driver.targetTriple.environment == .android { - if let sysroot = driver.parsedOptions.getLastArgument(.sysroot)?.asSingle { - commandLine.appendFlag("-sysroot") - try commandLine.appendPath(VirtualPath(path: sysroot)) - } else if let sysroot = AndroidNDK.getDefaultSysrootPath(in: self.env) { - commandLine.appendFlag("-sysroot") - try commandLine.appendPath(VirtualPath(path: sysroot.pathString)) - } + if let sysroot = driver.parsedOptions.getLastArgument(.sysroot)?.asSingle { + commandLine.appendFlag("-sysroot") + try commandLine.appendPath(VirtualPath(path: sysroot)) + } else if driver.targetTriple.environment == .android, + let sysroot = AndroidNDK.getDefaultSysrootPath(in: self.env) + { + commandLine.appendFlag("-sysroot") + try commandLine.appendPath(VirtualPath(path: sysroot.pathString)) } } } diff --git a/Tests/SwiftDriverTests/SwiftDriverTests.swift b/Tests/SwiftDriverTests/SwiftDriverTests.swift index d01f8e64f..646e08ef6 100644 --- a/Tests/SwiftDriverTests/SwiftDriverTests.swift +++ b/Tests/SwiftDriverTests/SwiftDriverTests.swift @@ -8149,7 +8149,7 @@ final class SwiftDriverTests: XCTestCase { do { let sysroot = path.appending(component: "sysroot") var driver = try Driver(args: [ - "swiftc", "-target", "aarch64-unknown-linux-android", "-sysroot", sysroot.pathString, #file + "swiftc", "-target", "aarch64-unknown-linux-gnu", "-sysroot", sysroot.pathString, #file ], env: env) let jobs = try driver.planBuild().removingAutolinkExtractJobs() let frontend = try XCTUnwrap(jobs.first)