From 8c8cebf9ade2f38c08ffa858f3d8390e80c38c2a Mon Sep 17 00:00:00 2001 From: Dave Inglis Date: Wed, 29 Oct 2025 15:51:39 -0400 Subject: [PATCH] Fix linking error on linux - libstdc++ needs to be added when linking if any dependency has a cpp dependency --- .../SwiftBuildSupport/PackagePIFProjectBuilder+Modules.swift | 4 ++-- Tests/SwiftBuildSupportTests/PIFBuilderTests.swift | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Sources/SwiftBuildSupport/PackagePIFProjectBuilder+Modules.swift b/Sources/SwiftBuildSupport/PackagePIFProjectBuilder+Modules.swift index bb124d30607..73b1ded00e7 100644 --- a/Sources/SwiftBuildSupport/PackagePIFProjectBuilder+Modules.swift +++ b/Sources/SwiftBuildSupport/PackagePIFProjectBuilder+Modules.swift @@ -500,9 +500,9 @@ extension PackagePIFProjectBuilder { // darwin & freebsd switch platform { case .macOS, .macCatalyst, .iOS, .watchOS, .tvOS, .xrOS, .driverKit, .freebsd: - settings[.OTHER_LDFLAGS, platform] = ["-lc++", "$(inherited)"] + impartedSettings[.OTHER_LDFLAGS, platform] = ["-lc++", "$(inherited)"] case .android, .linux, .wasi, .openbsd: - settings[.OTHER_LDFLAGS, platform] = ["-lstdc++", "$(inherited)"] + impartedSettings[.OTHER_LDFLAGS, platform] = ["-lstdc++", "$(inherited)"] case .windows, ._iOSDevice: break } diff --git a/Tests/SwiftBuildSupportTests/PIFBuilderTests.swift b/Tests/SwiftBuildSupportTests/PIFBuilderTests.swift index 3bac4ebadfc..4294c1f16ef 100644 --- a/Tests/SwiftBuildSupportTests/PIFBuilderTests.swift +++ b/Tests/SwiftBuildSupportTests/PIFBuilderTests.swift @@ -163,7 +163,7 @@ struct PIFBuilderTests { .buildConfig(named: "Release") for platform in ProjectModel.BuildSettings.Platform.allCases { - let ld_flags = releaseConfig.settings[.OTHER_LDFLAGS, platform] + let ld_flags = releaseConfig.impartedBuildProperties.settings[.OTHER_LDFLAGS, platform] switch platform { case .macOS, .macCatalyst, .iOS, .watchOS, .tvOS, .xrOS, .driverKit, .freebsd: #expect(ld_flags == ["-lc++", "$(inherited)"], "for platform \(platform)")