Skip to content

Commit 6a5d967

Browse files
committed
Driver: do not create a dSYM bundle for static archives
Creation of a dSYM bundle for a static library is not supported. Do not create a job to create a dSYM bundle for a static library.
1 parent 730b28c commit 6a5d967

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

Sources/SwiftDriver/Jobs/Planning.swift

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -472,8 +472,18 @@ extension Driver {
472472

473473
let linkJ = try linkJob(inputs: linkerInputs)
474474
addJob(linkJ)
475-
guard targetTriple.isDarwin, debugInfo.level != nil
476-
else {return }
475+
guard targetTriple.isDarwin
476+
else { return }
477+
478+
switch linkerOutputType {
479+
case .none, .some(.staticLibrary):
480+
// Cannot generate a dSYM bundle for a non-image target.
481+
return
482+
483+
case .some(.dynamicLibrary), .some(.executable):
484+
guard debugInfo.level != nil
485+
else { return }
486+
}
477487

478488
let dsymJob = try generateDSYMJob(inputs: linkJ.outputs)
479489
addJob(dsymJob)

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3066,6 +3066,18 @@ final class SwiftDriverTests: XCTestCase {
30663066
XCTAssertFalse(plannedJobs.contains { $0.kind == .generateDSYM })
30673067
}
30683068

3069+
do {
3070+
// No dSYM generation (-g -emit-library -static)
3071+
var driver = try Driver(args: [
3072+
"swiftc", "-target", "x86_64-apple-macosx10.15", "-g", "-emit-library",
3073+
"-static", "-o", "library.a", "library.swift"
3074+
])
3075+
let jobs = try driver.planBuild()
3076+
3077+
XCTAssertEqual(jobs.count, 3)
3078+
XCTAssertFalse(jobs.contains { $0.kind == .generateDSYM })
3079+
}
3080+
30693081
do {
30703082
// dSYM generation (-g)
30713083
var driver = try Driver(args: commonArgs + ["-g"])

0 commit comments

Comments
 (0)