Skip to content

Commit 81321b5

Browse files
committed
build-script: build static version of libdispatch
build and install libdispatch static. We now build libdispatch using CMake, which does not easily generate static and shared versions of libraries. Create two builds to populate the toolchain distribution.
1 parent e57ba99 commit 81321b5

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

utils/build-script-impl

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1181,6 +1181,7 @@ SKSTRESSTESTER_SOURCE_DIR="${WORKSPACE}/swift-stress-tester/SourceKitStressTeste
11811181
XCTEST_SOURCE_DIR="${WORKSPACE}/swift-corelibs-xctest"
11821182
FOUNDATION_SOURCE_DIR="${WORKSPACE}/swift-corelibs-foundation"
11831183
LIBDISPATCH_SOURCE_DIR="${WORKSPACE}/swift-corelibs-libdispatch"
1184+
LIBDISPATCH_STATIC_SOURCE_DIR="${WORKSPACE}/swift-corelibs-libdispatch"
11841185
LIBICU_SOURCE_DIR="${WORKSPACE}/icu"
11851186
PLAYGROUNDSUPPORT_SOURCE_DIR="${WORKSPACE}/swift-xcode-playground-support"
11861187

@@ -1223,6 +1224,9 @@ fi
12231224
# products first.
12241225
if [[ ! "${SKIP_BUILD_LIBDISPATCH}" ]] ; then
12251226
PRODUCTS=("${PRODUCTS[@]}" libdispatch)
1227+
if [[ -z "${SKIP_BUILD_SWIFT_STATIC_LIBDISPATCH}" ]] ; then
1228+
PRODUCTS=("${PRODUCTS[@]}" libdispatch_static)
1229+
fi
12261230
fi
12271231
if [[ ! "${SKIP_BUILD_FOUNDATION}" ]] ; then
12281232
PRODUCTS=("${PRODUCTS[@]}" foundation)
@@ -1570,7 +1574,7 @@ function build_directory_bin() {
15701574
foundation)
15711575
echo "${root}/${FOUNDATION_BUILD_TYPE}/bin"
15721576
;;
1573-
libdispatch)
1577+
libdispatch|libdispatch_static)
15741578
echo "${root}/${LIBDISPATCH_BUILD_TYPE}/bin"
15751579
;;
15761580
libicu)
@@ -1715,7 +1719,7 @@ function cmake_config_opt() {
17151719
foundation)
17161720
echo "--config ${FOUNDATION_BUILD_TYPE}"
17171721
;;
1718-
libdispatch)
1722+
libdispatch|libdispatch_static)
17191723
echo "--config ${LIBDISPATCH_BUILD_TYPE}"
17201724
;;
17211725
libicu)
@@ -2286,7 +2290,6 @@ for host in "${ALL_HOSTS[@]}"; do
22862290
-DSWIFT_PATH_TO_CMARK_SOURCE:PATH="${CMARK_SOURCE_DIR}"
22872291
-DSWIFT_PATH_TO_CMARK_BUILD:PATH="$(build_directory ${host} cmark)"
22882292
-DSWIFT_PATH_TO_LIBDISPATCH_SOURCE:PATH="${LIBDISPATCH_SOURCE_DIR}"
2289-
-DSWIFT_PATH_TO_LIBDISPATCH_BUILD:PATH="$(build_directory ${host} libdispatch)"
22902293
)
22912294

22922295
if [[ ! "${SKIP_BUILD_LIBICU}" ]] ; then
@@ -2662,7 +2665,7 @@ for host in "${ALL_HOSTS[@]}"; do
26622665
)
26632666

26642667
;;
2665-
libdispatch)
2668+
libdispatch|libdispatch_static)
26662669
LIBDISPATCH_BUILD_DIR=$(build_directory ${host} ${product})
26672670
SWIFT_BUILD_PATH="$(build_directory ${host} swift)"
26682671
SWIFTC_BIN="$(build_directory_bin ${LOCAL_HOST} swift)/swiftc"
@@ -2726,6 +2729,7 @@ for host in "${ALL_HOSTS[@]}"; do
27262729
-DSwift_DIR="${SWIFT_BUILD_PATH}/lib/cmake/swift"
27272730

27282731
-DENABLE_TESTING=YES
2732+
-DBUILD_SHARED_LIBS=$([[ ${product} == libdispatch_static ]] && echo "NO" || echo "YES")
27292733
)
27302734
;;
27312735
esac
@@ -3282,6 +3286,11 @@ for host in "${ALL_HOSTS[@]}"; do
32823286
;;
32833287
esac
32843288
;;
3289+
libdispatch_static)
3290+
# FIXME: merge with libdispatch once the unit tests work with
3291+
# libdispatch_static
3292+
continue
3293+
;;
32853294
libicu)
32863295
if [[ "${SKIP_TEST_LIBICU}" ]]; then
32873296
continue
@@ -3526,7 +3535,7 @@ for host in "${ALL_HOSTS[@]}"; do
35263535
fi
35273536

35283537
;;
3529-
libdispatch)
3538+
libdispatch|libdispatch_static)
35303539
if [[ -z "${INSTALL_LIBDISPATCH}" ]] ; then
35313540
continue
35323541
fi

0 commit comments

Comments
 (0)