Skip to content

Commit a19861b

Browse files
committed
Only use and test -target-sdk-name when supported by the frontend
1 parent f877c5b commit a19861b

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
@@ -281,7 +281,8 @@ extension Driver {
281281

282282
try toolchain.addPlatformSpecificCommonFrontendOptions(commandLine: &commandLine,
283283
inputs: &inputs,
284-
frontendTargetInfo: frontendTargetInfo)
284+
frontendTargetInfo: frontendTargetInfo,
285+
driver: self)
285286
}
286287

287288
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
@@ -324,7 +324,8 @@ public final class DarwinToolchain: Toolchain {
324324
public func addPlatformSpecificCommonFrontendOptions(
325325
commandLine: inout [Job.ArgTemplate],
326326
inputs: inout [TypedVirtualPath],
327-
frontendTargetInfo: FrontendTargetInfo
327+
frontendTargetInfo: FrontendTargetInfo,
328+
driver: Driver
328329
) throws {
329330
guard let sdkPath = frontendTargetInfo.sdkPath?.path,
330331
let sdkInfo = getTargetSDKInfo(sdkPath: sdkPath) else { return }
@@ -337,8 +338,10 @@ public final class DarwinToolchain: Toolchain {
337338
commandLine.append(.flag(sdkInfo.sdkVersion(for: targetVariantTriple).description))
338339
}
339340

340-
commandLine.append(.flag("-target-sdk-name"))
341-
commandLine.append(.flag(sdkInfo.canonicalName))
341+
if driver.isFrontendArgSupported(.targetSdkName) {
342+
commandLine.append(.flag(Option.targetSdkName.spelling))
343+
commandLine.append(.flag(sdkInfo.canonicalName))
344+
}
342345

343346
// We should be able to pass down prebuilt module dir for all other SDKs.
344347
// 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}
@@ -196,7 +197,8 @@ extension Toolchain {
196197
public func addPlatformSpecificCommonFrontendOptions(
197198
commandLine: inout [Job.ArgTemplate],
198199
inputs: inout [TypedVirtualPath],
199-
frontendTargetInfo: FrontendTargetInfo
200+
frontendTargetInfo: FrontendTargetInfo,
201+
driver: Driver
200202
) throws {}
201203
}
202204

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2955,10 +2955,12 @@ final class SwiftDriverTests: XCTestCase {
29552955
.flag("-target-sdk-version"),
29562956
.flag("10.15.0")
29572957
]))
2958-
XCTAssertTrue(frontendJobs[0].commandLine.contains(subsequence: [
2959-
.flag("-target-sdk-name"),
2960-
.flag("macosx10.15"),
2961-
]))
2958+
if driver.isFrontendArgSupported(.targetSdkName) {
2959+
XCTAssertTrue(frontendJobs[0].commandLine.contains(subsequence: [
2960+
.flag("-target-sdk-name"),
2961+
.flag("macosx10.15"),
2962+
]))
2963+
}
29622964
XCTAssertEqual(frontendJobs[1].kind, .link)
29632965
XCTAssertTrue(frontendJobs[1].commandLine.contains(subsequence: [
29642966
.flag("-platform_version"),
@@ -2981,8 +2983,6 @@ final class SwiftDriverTests: XCTestCase {
29812983
.flag("10.15.0"),
29822984
.flag("-target-variant-sdk-version"),
29832985
.flag("13.1.0"),
2984-
.flag("-target-sdk-name"),
2985-
.flag("macosx10.15"),
29862986
]))
29872987
XCTAssertEqual(frontendJobs[1].kind, .link)
29882988
XCTAssertTrue(frontendJobs[1].commandLine.contains(subsequence: [
@@ -3009,10 +3009,14 @@ final class SwiftDriverTests: XCTestCase {
30093009
.flag("-target-sdk-version"),
30103010
.flag("10.15.4"),
30113011
.flag("-target-variant-sdk-version"),
3012-
.flag("13.4.0"),
3013-
.flag("-target-sdk-name"),
3014-
.flag("macosx10.15.4"),
3012+
.flag("13.4.0")
30153013
]))
3014+
if driver.isFrontendArgSupported(.targetSdkName) {
3015+
XCTAssertTrue(frontendJobs[0].commandLine.contains(subsequence: [
3016+
.flag("-target-sdk-name"),
3017+
.flag("macosx10.15.4"),
3018+
]))
3019+
}
30163020
XCTAssertEqual(frontendJobs[1].kind, .link)
30173021
XCTAssertTrue(frontendJobs[1].commandLine.contains(subsequence: [
30183022
.flag("-platform_version"),
@@ -3038,9 +3042,7 @@ final class SwiftDriverTests: XCTestCase {
30383042
.flag("-target-sdk-version"),
30393043
.flag("13.4.0"),
30403044
.flag("-target-variant-sdk-version"),
3041-
.flag("10.15.4"),
3042-
.flag("-target-sdk-name"),
3043-
.flag("macosx10.15.4"),
3045+
.flag("10.15.4")
30443046
]))
30453047
XCTAssertEqual(frontendJobs[1].kind, .link)
30463048
XCTAssertTrue(frontendJobs[1].commandLine.contains(subsequence: [

0 commit comments

Comments
 (0)