Skip to content

Commit 8d3a769

Browse files
committed
Fix -DSWIFT_PATH_TO_LIBDISPATCH_STATIC_BUILD value
1 parent d3535a3 commit 8d3a769

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
@@ -1483,19 +1483,13 @@ elif (run_os in ['linux-gnu', 'linux-gnueabihf', 'freebsd', 'openbsd', 'windows-
14831483
config.import_libdispatch = ('-I %s -I %s -L %s'
14841484
% (libdispatch_source_dir, libdispatch_swift_module_dir, libdispatch_artifact_dir))
14851485

1486-
libdispatch_static_artifact_dir = config.libdispatch_static_build_path
1487-
libdispatch_swift_static_module_dir = make_path(libdispatch_static_artifact_dir, 'src', 'swift', 'swift')
1486+
libdispatch_static_artifact_dir = os.path.join(config.libdispatch_static_build_path, 'lib')
14881487
libdispatch_static_artifacts = [
1489-
make_path(libdispatch_static_artifact_dir, 'src', 'libdispatch.a'),
1490-
make_path(libdispatch_static_artifact_dir, 'src', 'swift', 'libswiftDispatch.a'),
1491-
make_path(libdispatch_swift_static_module_dir, 'Dispatch.swiftmodule')]
1488+
make_path(libdispatch_static_artifact_dir, 'libdispatch.a'),
1489+
make_path(libdispatch_static_artifact_dir, 'libBlocksRuntime.a')]
14921490
if (all(os.path.exists(p) for p in libdispatch_static_artifacts)):
14931491
config.available_features.add('libdispatch_static')
1494-
config.import_libdispatch_static = ('-I %s -I %s -L %s -L %s -L %s'
1495-
% (libdispatch_source_dir, libdispatch_swift_static_module_dir,
1496-
make_path(libdispatch_static_artifact_dir, 'src'),
1497-
make_path(libdispatch_static_artifact_dir, 'src', 'BlocksRuntime'),
1498-
make_path(libdispatch_static_artifact_dir, 'src', 'swift')))
1492+
config.import_libdispatch_static = '-L %s' % libdispatch_static_artifact_dir
14991493

15001494
config.target_build_swift = (
15011495
'%s -target %s -toolchain-stdlib-rpath %s %s %s %s %s'
@@ -2519,6 +2513,10 @@ run_filecheck = '%s %s --allow-unused-prefixes --sanitize BUILD_DIR=%s --sanitiz
25192513
config.substitutions.append(('%FileCheck', run_filecheck))
25202514
config.substitutions.append(('%raw-FileCheck', shell_quote(config.filecheck)))
25212515
config.substitutions.append(('%import-libdispatch', getattr(config, 'import_libdispatch', '')))
2516+
# WARNING: the order of components in a substitution name has to be different from the previous one, as lit does
2517+
# a pure string substitution without understanding that these components are grouped together. That is, the following
2518+
# subsitution name can't be `%import-libdispatch-static`, otherwise the first two components will be substituted with
2519+
# the value of `%import-libdispatch` substitution with `-static` string appended to it.
25222520
config.substitutions.append(('%import-static-libdispatch', getattr(config, 'import_libdispatch_static', '')))
25232521

25242522
# 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
@@ -2011,7 +2011,7 @@ for host in "${ALL_HOSTS[@]}"; do
20112011
-DSWIFT_PATH_TO_CMARK_BUILD:PATH="$(build_directory ${host} cmark)"
20122012
-DSWIFT_PATH_TO_LIBDISPATCH_SOURCE:PATH="${LIBDISPATCH_SOURCE_DIR}"
20132013
-DSWIFT_PATH_TO_LIBDISPATCH_BUILD:PATH="$(build_directory ${host} libdispatch)"
2014-
-DSWIFT_PATH_TO_LIBDISPATCH_STATIC_BUILD:PATH="$(build_directory ${host} libdispatch_static)"
2014+
-DSWIFT_PATH_TO_LIBDISPATCH_STATIC_BUILD:PATH="$(build_directory ${host} swift)/$(basename $(build_directory ${host} libdispatch))-static-prefix"
20152015
)
20162016

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

0 commit comments

Comments
 (0)