Skip to content

Commit f82572a

Browse files
authored
Merge pull request #25990 from compnerd/one-sdk-to-rule-them-all
Driver: look for the runtime object in the SDK
2 parents f34ef5d + e96e7cc commit f82572a

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

lib/Driver/ToolChains.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1172,6 +1172,11 @@ void ToolChain::getResourceDirPath(SmallVectorImpl<char> &resourceDirPath,
11721172
if (const Arg *A = args.getLastArg(options::OPT_resource_dir)) {
11731173
StringRef value = A->getValue();
11741174
resourceDirPath.append(value.begin(), value.end());
1175+
} else if (!getTriple().isOSDarwin() && args.hasArg(options::OPT_sdk)) {
1176+
StringRef value = args.getLastArg(options::OPT_sdk)->getValue();
1177+
resourceDirPath.append(value.begin(), value.end());
1178+
llvm::sys::path::append(resourceDirPath, "usr", "lib",
1179+
shared ? "swift" : "swift_static");
11751180
} else {
11761181
auto programPath = getDriver().getSwiftProgramPath();
11771182
resourceDirPath.append(programPath.begin(), programPath.end());

test/Driver/sdk.swift

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// RUN: %swiftc_driver -driver-print-jobs -target x86_64-apple-macosx10.9 -g -sdk %S/../Inputs/clang-importer-sdk %s 2>&1 | %FileCheck %s --check-prefix OSX
2-
// RUN: %swiftc_driver -driver-print-jobs -target x86_64-unknown-linux-gnu -g -sdk %S/../Inputs/clang-importer-sdk %s 2>&1 | %FileCheck %s --check-prefix LINUX
2+
// RUN: %swiftc_driver -driver-print-jobs -target x86_64-unknown-linux-gnu -g -sdk %S/../Inputs/clang-importer-sdk %s 2>&1 | %FileCheck %s --check-prefix LINUX
33
// RUN: %swiftc_driver -driver-print-jobs -target x86_64-unknown-freebsd -g -sdk %S/../Inputs/clang-importer-sdk %s 2>&1 | %FileCheck %s --check-prefix FREEBSD
4-
// RUN: %swiftc_driver -driver-print-jobs -target x86_64-unknown-windows-msvc -g -sdk %S/../Inputs/clang-importer-sdk %s 2>&1 | %FileCheck %s --check-prefix WINDOWS
4+
// RUN: %swiftc_driver -driver-print-jobs -target x86_64-unknown-windows-msvc -g -sdk %S/../Inputs/clang-importer-sdk %s 2>&1 | %FileCheck %s --check-prefix WINDOWS
55

66
// RUN: env SDKROOT=%S/../Inputs/clang-importer-sdk %swiftc_driver_plain -target x86_64-apple-macosx10.9 -g -driver-print-jobs %s 2>&1 | %FileCheck %s --check-prefix OSX
77
// RUN: env SDKROOT=%S/../Inputs/clang-importer-sdk %swiftc_driver_plain -target x86_64-unknown-linux-gnu -g -driver-print-jobs %s 2>&1 | %FileCheck %s --check-prefix LINUX
@@ -42,7 +42,7 @@
4242
// WINDOWS: -sdk {{.*}}/Inputs/clang-importer-sdk
4343
// WINDOWS-NEXT: bin{{/|\\\\}}swift
4444
// WINDOWS: -sdk {{.*}}/Inputs/clang-importer-sdk
45-
// WINDOWS: {{.*}}swiftrt.o
45+
// WINDOWS: {{.*}}Inputs/clang-importer-sdk{{.*}}swiftrt.o
4646
// WINDOWS: {{-I}} {{.*}}/Inputs/clang-importer-sdk
4747

4848
// RUN: %swift_driver -driver-print-jobs -repl -sdk %S/Inputs/nonexistent-sdk 2>&1 | %FileCheck %s --check-prefix=SDKWARNING
@@ -55,3 +55,4 @@
5555
// RUN: %swiftc_driver -driver-print-jobs -typecheck -sdk %S/../Inputs/clang-importer-sdk -module-cache-path /path/to/cache %s 2>&1 | %FileCheck %s --check-prefix=CACHE-PATH
5656

5757
// CACHE-PATH: -module-cache-path /path/to/cache
58+

0 commit comments

Comments
 (0)