Skip to content

Commit 2db62ca

Browse files
committed
Fix -DSWIFT_PATH_TO_LIBDISPATCH_STATIC_BUILD value
1 parent 5897ab5 commit 2db62ca

File tree

4 files changed

+11
-14
lines changed

4 files changed

+11
-14
lines changed

test/Driver/static-stdlib-autolink-linux.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@
77
// RUN: echo 'public func asyncFunc() async { print("Hello") }' > %t/asyncModule.swift
88

99
// RUN: %target-swiftc_driver -emit-library -emit-module -module-name asyncModule -module-link-name asyncModule %t/asyncModule.swift -static -static-stdlib -o %t/libasyncModule.a
10-
// TODO: "-ldispatch -lBlocksRuntime" should be told by asyncModule.swiftmodule transitively
11-
// RUN: %target-swiftc_driver -parse-as-library -static -static-stdlib -module-name main %s %import-static-libdispatch -I%t -L%t -ldispatch -lBlocksRuntime -o %t/main
10+
// RUN: %target-swiftc_driver -parse-as-library -static -static-stdlib -module-name main %s %import-static-libdispatch -I%t -L%t -o %t/main
1211

1312
// RUN: %t/main | %FileCheck %s
1413
// CHECK: Hello

test/Driver/static-stdlib-linux.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// REQUIRES: static_stdlib
44
print("hello world!")
55
// RUN: %empty-directory(%t)
6-
// RUN: %target-swiftc_driver -static-stdlib -o %t/static-stdlib %s
6+
// RUN: %target-swiftc_driver %import-static-libdispatch -static-stdlib -o %t/static-stdlib %s
77
// RUN: %t/static-stdlib | %FileCheck %s
88
// RUN: ldd %t/static-stdlib | %FileCheck %s --check-prefix=LDD
99
// CHECK: hello world!

test/lit.cfg

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1593,19 +1593,13 @@ elif (run_os in ['linux-gnu', 'linux-gnueabihf', 'freebsd', 'openbsd', 'windows-
15931593
config.import_libdispatch = ('-I %s -I %s -L %s'
15941594
% (libdispatch_source_dir, libdispatch_swift_module_dir, libdispatch_artifact_dir))
15951595

1596-
libdispatch_static_artifact_dir = config.libdispatch_static_build_path
1597-
libdispatch_swift_static_module_dir = make_path(libdispatch_static_artifact_dir, 'src', 'swift', 'swift')
1596+
libdispatch_static_artifact_dir = os.path.join(config.libdispatch_static_build_path, 'lib')
15981597
libdispatch_static_artifacts = [
1599-
make_path(libdispatch_static_artifact_dir, 'src', 'libdispatch.a'),
1600-
make_path(libdispatch_static_artifact_dir, 'src', 'swift', 'libswiftDispatch.a'),
1601-
make_path(libdispatch_swift_static_module_dir, 'Dispatch.swiftmodule')]
1598+
make_path(libdispatch_static_artifact_dir, 'libdispatch.a'),
1599+
make_path(libdispatch_static_artifact_dir, 'libBlocksRuntime.a')]
16021600
if (all(os.path.exists(p) for p in libdispatch_static_artifacts)):
16031601
config.available_features.add('libdispatch_static')
1604-
config.import_libdispatch_static = ('-I %s -I %s -L %s -L %s -L %s'
1605-
% (libdispatch_source_dir, libdispatch_swift_static_module_dir,
1606-
make_path(libdispatch_static_artifact_dir, 'src'),
1607-
make_path(libdispatch_static_artifact_dir, 'src', 'BlocksRuntime'),
1608-
make_path(libdispatch_static_artifact_dir, 'src', 'swift')))
1602+
config.import_libdispatch_static = '-L %s' % libdispatch_static_artifact_dir
16091603

16101604
config.target_build_swift = (
16111605
'%s -target %s -toolchain-stdlib-rpath %s %s %s %s %s'
@@ -2649,6 +2643,10 @@ run_filecheck = '%s %s --allow-unused-prefixes --sanitize BUILD_DIR=%s --sanitiz
26492643
config.substitutions.append(('%FileCheck', run_filecheck))
26502644
config.substitutions.append(('%raw-FileCheck', shell_quote(config.filecheck)))
26512645
config.substitutions.append(('%import-libdispatch', getattr(config, 'import_libdispatch', '')))
2646+
# WARNING: the order of components in a substitution name has to be different from the previous one, as lit does
2647+
# a pure string substitution without understanding that these components are grouped together. That is, the following
2648+
# subsitution name can't be `%import-libdispatch-static`, otherwise the first two components will be substituted with
2649+
# the value of `%import-libdispatch` substitution with `-static` string appended to it.
26522650
config.substitutions.append(('%import-static-libdispatch', getattr(config, 'import_libdispatch_static', '')))
26532651

26542652
# Disable COW sanity checks in the swift runtime by default.

utils/build-script-impl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1901,7 +1901,7 @@ for host in "${ALL_HOSTS[@]}"; do
19011901
-DSWIFT_PATH_TO_CMARK_BUILD:PATH="$(build_directory ${host} cmark)"
19021902
-DSWIFT_PATH_TO_LIBDISPATCH_SOURCE:PATH="${LIBDISPATCH_SOURCE_DIR}"
19031903
-DSWIFT_PATH_TO_LIBDISPATCH_BUILD:PATH="$(build_directory ${host} libdispatch)"
1904-
-DSWIFT_PATH_TO_LIBDISPATCH_STATIC_BUILD:PATH="$(build_directory ${host} libdispatch_static)"
1904+
-DSWIFT_PATH_TO_LIBDISPATCH_STATIC_BUILD:PATH="$(build_directory ${host} swift)/$(basename $(build_directory ${host} libdispatch))-static-prefix"
19051905
)
19061906

19071907
if [[ "${SWIFT_SDKS}" ]] ; then

0 commit comments

Comments
 (0)