Skip to content

Commit d197b01

Browse files
committed
Do not set DYLD_LIBRARY_PATH to point the installed toolchain/sdk.
This has not been a good idea since Swift started shipping in the OS. The OS runtime is the one we would like Swift scripts to use. Using the installed toolchain can potentially cause sync issues. Resolves rdar://78951185
1 parent f0b22be commit d197b01

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

Sources/SwiftDriver/Jobs/Toolchain+InterpreterSupport.swift

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,9 @@ extension DarwinToolchain {
3838
targetInfo: FrontendTargetInfo) throws -> [String: String] {
3939
var envVars: [String: String] = [:]
4040

41-
let runtimePaths = try runtimeLibraryPaths(
42-
for: targetInfo,
43-
parsedOptions: &parsedOptions,
44-
sdkPath: sdkPath,
45-
isShared: true
46-
).map { $0.name }
47-
4841
addPathEnvironmentVariableIfNeeded("DYLD_LIBRARY_PATH", to: &envVars,
4942
currentEnv: env, option: .L,
50-
parsedOptions: &parsedOptions,
51-
extraPaths: runtimePaths)
43+
parsedOptions: &parsedOptions)
5244

5345
addPathEnvironmentVariableIfNeeded("DYLD_FRAMEWORK_PATH", to: &envVars,
5446
currentEnv: env, option: .F,

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2326,7 +2326,12 @@ final class SwiftDriverTests: XCTestCase {
23262326
}
23272327

23282328
XCTAssertFalse(job.commandLine.contains(.flag("--")))
2329+
// On darwin, swift ships in the OS. Immediate mode should use that runtime.
2330+
#if os(macOS)
2331+
XCTAssertFalse(job.extraEnvironment.keys.contains("\(driver.targetTriple.isDarwin ? "DYLD" : "LD")_LIBRARY_PATH"))
2332+
#else
23292333
XCTAssertTrue(job.extraEnvironment.keys.contains("\(driver.targetTriple.isDarwin ? "DYLD" : "LD")_LIBRARY_PATH"))
2334+
#endif
23302335
}
23312336

23322337
do {

0 commit comments

Comments
 (0)