Skip to content

Commit 3cd0070

Browse files
committed
Only use and test -target-sdk-name when supported by the frontend
1 parent 871e531 commit 3cd0070

File tree

4 files changed

+26
-18
lines changed

4 files changed

+26
-18
lines changed

Sources/SwiftDriver/Jobs/FrontendJobHelpers.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,8 @@ extension Driver {
291291

292292
try toolchain.addPlatformSpecificCommonFrontendOptions(commandLine: &commandLine,
293293
inputs: &inputs,
294-
frontendTargetInfo: frontendTargetInfo)
294+
frontendTargetInfo: frontendTargetInfo,
295+
driver: self)
295296
}
296297

297298
mutating func addFrontendSupplementaryOutputArguments(commandLine: inout [Job.ArgTemplate],

Sources/SwiftDriver/Toolchains/DarwinToolchain.swift

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,8 @@ public final class DarwinToolchain: Toolchain {
339339
public func addPlatformSpecificCommonFrontendOptions(
340340
commandLine: inout [Job.ArgTemplate],
341341
inputs: inout [TypedVirtualPath],
342-
frontendTargetInfo: FrontendTargetInfo
342+
frontendTargetInfo: FrontendTargetInfo,
343+
driver: Driver
343344
) throws {
344345
guard let sdkPath = frontendTargetInfo.sdkPath?.path,
345346
let sdkInfo = getTargetSDKInfo(sdkPath: sdkPath) else { return }
@@ -352,8 +353,10 @@ public final class DarwinToolchain: Toolchain {
352353
commandLine.append(.flag(sdkInfo.sdkVersion(for: targetVariantTriple).description))
353354
}
354355

355-
commandLine.append(.flag("-target-sdk-name"))
356-
commandLine.append(.flag(sdkInfo.canonicalName))
356+
if driver.isFrontendArgSupported(.targetSdkName) {
357+
commandLine.append(.flag(Option.targetSdkName.spelling))
358+
commandLine.append(.flag(sdkInfo.canonicalName))
359+
}
357360

358361
// We should be able to pass down prebuilt module dir for all other SDKs.
359362
// For macCatalyst, doing so is specifically necessary because -target-sdk-version

Sources/SwiftDriver/Toolchains/Toolchain.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,8 @@ public protocol Toolchain {
9696
func addPlatformSpecificCommonFrontendOptions(
9797
commandLine: inout [Job.ArgTemplate],
9898
inputs: inout [TypedVirtualPath],
99-
frontendTargetInfo: FrontendTargetInfo
99+
frontendTargetInfo: FrontendTargetInfo,
100+
driver: Driver
100101
) throws
101102

102103
var dummyForTestingObjectFormat: Triple.ObjectFormat {get}
@@ -220,7 +221,8 @@ extension Toolchain {
220221
public func addPlatformSpecificCommonFrontendOptions(
221222
commandLine: inout [Job.ArgTemplate],
222223
inputs: inout [TypedVirtualPath],
223-
frontendTargetInfo: FrontendTargetInfo
224+
frontendTargetInfo: FrontendTargetInfo,
225+
driver: Driver
224226
) throws {}
225227
}
226228

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3091,10 +3091,12 @@ final class SwiftDriverTests: XCTestCase {
30913091
.flag("-target-sdk-version"),
30923092
.flag("10.15.0")
30933093
]))
3094-
XCTAssertTrue(frontendJobs[0].commandLine.contains(subsequence: [
3095-
.flag("-target-sdk-name"),
3096-
.flag("macosx10.15"),
3097-
]))
3094+
if driver.isFrontendArgSupported(.targetSdkName) {
3095+
XCTAssertTrue(frontendJobs[0].commandLine.contains(subsequence: [
3096+
.flag("-target-sdk-name"),
3097+
.flag("macosx10.15"),
3098+
]))
3099+
}
30983100
XCTAssertEqual(frontendJobs[1].kind, .link)
30993101
XCTAssertTrue(frontendJobs[1].commandLine.contains(subsequence: [
31003102
.flag("-platform_version"),
@@ -3117,8 +3119,6 @@ final class SwiftDriverTests: XCTestCase {
31173119
.flag("10.15.0"),
31183120
.flag("-target-variant-sdk-version"),
31193121
.flag("13.1.0"),
3120-
.flag("-target-sdk-name"),
3121-
.flag("macosx10.15"),
31223122
]))
31233123
XCTAssertEqual(frontendJobs[1].kind, .link)
31243124
XCTAssertTrue(frontendJobs[1].commandLine.contains(subsequence: [
@@ -3145,10 +3145,14 @@ final class SwiftDriverTests: XCTestCase {
31453145
.flag("-target-sdk-version"),
31463146
.flag("10.15.4"),
31473147
.flag("-target-variant-sdk-version"),
3148-
.flag("13.4.0"),
3149-
.flag("-target-sdk-name"),
3150-
.flag("macosx10.15.4"),
3148+
.flag("13.4.0")
31513149
]))
3150+
if driver.isFrontendArgSupported(.targetSdkName) {
3151+
XCTAssertTrue(frontendJobs[0].commandLine.contains(subsequence: [
3152+
.flag("-target-sdk-name"),
3153+
.flag("macosx10.15.4"),
3154+
]))
3155+
}
31523156
XCTAssertEqual(frontendJobs[1].kind, .link)
31533157
XCTAssertTrue(frontendJobs[1].commandLine.contains(subsequence: [
31543158
.flag("-platform_version"),
@@ -3174,9 +3178,7 @@ final class SwiftDriverTests: XCTestCase {
31743178
.flag("-target-sdk-version"),
31753179
.flag("13.4.0"),
31763180
.flag("-target-variant-sdk-version"),
3177-
.flag("10.15.4"),
3178-
.flag("-target-sdk-name"),
3179-
.flag("macosx10.15.4"),
3181+
.flag("10.15.4")
31803182
]))
31813183
XCTAssertEqual(frontendJobs[1].kind, .link)
31823184
XCTAssertTrue(frontendJobs[1].commandLine.contains(subsequence: [

0 commit comments

Comments
 (0)