Skip to content

Commit 1f08ed4

Browse files
committed
Wire libdispatch build path through CMake
Wire libdispatch build path through CMake `build-script-impl -> lit.site.cfg.in -> lit.cfg` instead of computing it in lit.cfg.
1 parent 105e4ad commit 1f08ed4

File tree

4 files changed

+13
-11
lines changed

4 files changed

+13
-11
lines changed

test/lit.cfg

+10-11
Original file line numberDiff line numberDiff line change
@@ -983,19 +983,18 @@ elif run_os in ['linux-gnu', 'linux-gnueabihf', 'freebsd', 'windows-cygnus', 'wi
983983
config.target_runtime = "native"
984984
config.target_swift_autolink_extract = inferSwiftBinary("swift-autolink-extract")
985985

986-
libdispatch_build_dir = make_path(config.swift_obj_root, os.pardir,
987-
'libdispatch%s' % config.variant_suffix, 'src')
988-
libdispatch_build_artifacts = [
989-
make_path(libdispatch_build_dir, 'libdispatch.so'),
990-
make_path(libdispatch_build_dir, 'libswiftDispatch.so'),
991-
make_path(libdispatch_build_dir, 'swift', 'Dispatch.swiftmodule')]
992-
if (all(os.path.exists(p) for p in libdispatch_build_artifacts)):
986+
libdispatch_artifact_dir = make_path(config.libdispatch_build_path, 'src')
987+
libdispatch_artifacts = [
988+
make_path(libdispatch_artifact_dir, 'libdispatch.so'),
989+
make_path(libdispatch_artifact_dir, 'libswiftDispatch.so'),
990+
make_path(libdispatch_artifact_dir, 'swift', 'Dispatch.swiftmodule')]
991+
if (all(os.path.exists(p) for p in libdispatch_artifacts)):
993992
config.available_features.add('libdispatch')
994-
config.libdispatch_build_dir = libdispatch_build_dir
993+
config.libdispatch_artifact_dir = libdispatch_artifact_dir
995994
libdispatch_source_dir = make_path(config.swift_src_root, os.pardir, 'swift-corelibs-libdispatch')
996-
libdispatch_swift_module_dir = make_path(libdispatch_build_dir, 'swift')
995+
libdispatch_swift_module_dir = make_path(libdispatch_artifact_dir, 'swift')
997996
config.import_libdispatch = ('-I %s -I %s -L %s'
998-
% (libdispatch_source_dir, libdispatch_swift_module_dir, libdispatch_build_dir))
997+
% (libdispatch_source_dir, libdispatch_swift_module_dir, libdispatch_artifact_dir))
999998

1000999
config.target_build_swift = (
10011000
'%s -target %s %s %s %s %s %s'
@@ -1412,7 +1411,7 @@ if os.path.exists(static_libswiftCore_path):
14121411
# default Swift tests to use the just-built libraries
14131412
target_stdlib_path = platform_module_dir
14141413
if not kIsWindows:
1415-
libdispatch_path = getattr(config, 'libdispatch_build_dir', '')
1414+
libdispatch_path = getattr(config, 'libdispatch_artifact_dir', '')
14161415
if 'use_os_stdlib' not in lit_config.params:
14171416
lit_config.note('Testing with the just-built libraries at ' + target_stdlib_path)
14181417
config.target_run = (

test/lit.site.cfg.in

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ config.swift_test_results_dir = \
3232

3333
config.coverage_mode = "@SWIFT_ANALYZE_CODE_COVERAGE@"
3434
config.lldb_build_root = "@LLDB_BUILD_DIR@"
35+
config.libdispatch_build_path = "@SWIFT_PATH_TO_LIBDISPATCH_BUILD@"
3536

3637
# --- Darwin ---
3738
config.darwin_xcrun_toolchain = "@SWIFT_DARWIN_XCRUN_TOOLCHAIN@"

utils/build-script-impl

+1
Original file line numberDiff line numberDiff line change
@@ -2402,6 +2402,7 @@ for host in "${ALL_HOSTS[@]}"; do
24022402
-DSWIFT_PATH_TO_CMARK_SOURCE:PATH="${CMARK_SOURCE_DIR}"
24032403
-DSWIFT_PATH_TO_CMARK_BUILD:PATH="$(build_directory ${host} cmark)"
24042404
-DSWIFT_PATH_TO_LIBDISPATCH_SOURCE:PATH="${LIBDISPATCH_SOURCE_DIR}"
2405+
-DSWIFT_PATH_TO_LIBDISPATCH_BUILD:PATH="$(build_directory ${host} libdispatch)"
24052406
)
24062407

24072408
if [[ ! "${SKIP_BUILD_LIBICU}" ]] ; then

validation-test/lit.site.cfg.in

+1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ else:
5050

5151
config.coverage_mode = "@SWIFT_ANALYZE_CODE_COVERAGE@"
5252
config.lldb_build_root = "@LLDB_BUILD_DIR@"
53+
config.libdispatch_build_path = "@SWIFT_PATH_TO_LIBDISPATCH_BUILD@"
5354

5455
if "@SWIFT_ASAN_BUILD@" == "TRUE":
5556
config.available_features.add("asan")

0 commit comments

Comments
 (0)