Skip to content

Commit 8a7a5c8

Browse files
authored
Fix linking error on linux (#9306)
- libstdc++ needs to be added when linking if any dependency has a cpp dependency
1 parent d8c69ad commit 8a7a5c8

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

Sources/SwiftBuildSupport/PackagePIFProjectBuilder+Modules.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -500,9 +500,9 @@ extension PackagePIFProjectBuilder {
500500
// darwin & freebsd
501501
switch platform {
502502
case .macOS, .macCatalyst, .iOS, .watchOS, .tvOS, .xrOS, .driverKit, .freebsd:
503-
settings[.OTHER_LDFLAGS, platform] = ["-lc++", "$(inherited)"]
503+
impartedSettings[.OTHER_LDFLAGS, platform] = ["-lc++", "$(inherited)"]
504504
case .android, .linux, .wasi, .openbsd:
505-
settings[.OTHER_LDFLAGS, platform] = ["-lstdc++", "$(inherited)"]
505+
impartedSettings[.OTHER_LDFLAGS, platform] = ["-lstdc++", "$(inherited)"]
506506
case .windows, ._iOSDevice:
507507
break
508508
}

Tests/SwiftBuildSupportTests/PIFBuilderTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ struct PIFBuilderTests {
163163
.buildConfig(named: "Release")
164164

165165
for platform in ProjectModel.BuildSettings.Platform.allCases {
166-
let ld_flags = releaseConfig.settings[.OTHER_LDFLAGS, platform]
166+
let ld_flags = releaseConfig.impartedBuildProperties.settings[.OTHER_LDFLAGS, platform]
167167
switch platform {
168168
case .macOS, .macCatalyst, .iOS, .watchOS, .tvOS, .xrOS, .driverKit, .freebsd:
169169
#expect(ld_flags == ["-lc++", "$(inherited)"], "for platform \(platform)")

0 commit comments

Comments
 (0)