@@ -2406,29 +2406,56 @@ for host in "${ALL_HOSTS[@]}"; do
2406
2406
FOUNDATION_BUILD_DIR=$( build_directory ${host} foundation)
2407
2407
SWIFT_BUILD_DIR=$( build_directory ${host} swift)
2408
2408
2409
- # Staging: require opt-in for building with dispatch
2410
- if [[ ! " ${SKIP_BUILD_LIBDISPATCH} " ]] ; then
2411
- LIBDISPATCH_BUILD_DIR=" $( build_directory ${host} libdispatch) "
2412
- LIBDISPATCH_BUILD_ARGS=" --libdispatch-src-dir=${LIBDISPATCH_SOURCE_DIR} --libdispatch-build-dir=${LIBDISPATCH_BUILD_DIR} "
2413
- fi
2409
+ case " ${host} " in
2410
+ macosx-* )
2411
+ # Staging: require opt-in for building with dispatch
2412
+ if [[ ! " ${SKIP_BUILD_LIBDISPATCH} " ]] ; then
2413
+ LIBDISPATCH_BUILD_DIR=" $( build_directory ${host} libdispatch) "
2414
+ LIBDISPATCH_BUILD_ARGS=" --libdispatch-src-dir=${LIBDISPATCH_SOURCE_DIR} --libdispatch-build-dir=${LIBDISPATCH_BUILD_DIR} "
2415
+ fi
2414
2416
2415
- # Use XCTEST_BUILD_TYPE to build either --debug or --release.
2416
- if [[ " ${XCTEST_BUILD_TYPE} " == " Debug" ]] ; then
2417
- XCTEST_BUILD_ARGS=" --debug"
2418
- else
2419
- XCTEST_BUILD_ARGS=" --release"
2420
- fi
2417
+ # Use XCTEST_BUILD_TYPE to build either --debug or --release.
2418
+ if [[ " ${XCTEST_BUILD_TYPE} " == " Debug" ]] ; then
2419
+ XCTEST_BUILD_ARGS=" --debug"
2420
+ else
2421
+ XCTEST_BUILD_ARGS=" --release"
2422
+ fi
2421
2423
2422
- call " ${XCTEST_SOURCE_DIR} " /build_script.py \
2423
- --swiftc=" ${SWIFTC_BIN} " \
2424
- --build-dir=" ${XCTEST_BUILD_DIR} " \
2425
- --foundation-build-dir=" ${FOUNDATION_BUILD_DIR} /Foundation" \
2426
- --swift-build-dir=" ${SWIFT_BUILD_DIR} " \
2427
- $LIBDISPATCH_BUILD_ARGS \
2428
- $XCTEST_BUILD_ARGS
2424
+ call " ${XCTEST_SOURCE_DIR} " /build_script.py \
2425
+ --swiftc=" ${SWIFTC_BIN} " \
2426
+ --build-dir=" ${XCTEST_BUILD_DIR} " \
2427
+ --foundation-build-dir=" ${FOUNDATION_BUILD_DIR} /Foundation" \
2428
+ --swift-build-dir=" ${SWIFT_BUILD_DIR} " \
2429
+ $LIBDISPATCH_BUILD_ARGS \
2430
+ $XCTEST_BUILD_ARGS
2431
+
2432
+ # XCTest builds itself and doesn't rely on cmake
2433
+ continue
2434
+ ;;
2435
+ * )
2436
+ cmake_options=(
2437
+ ${cmake_options[@]}
2438
+ -DCMAKE_BUILD_TYPE:STRING=" ${LIBDISPATCH_BUILD_TYPE} "
2439
+ -DCMAKE_C_COMPILER:PATH=" ${LLVM_BIN} /clang"
2440
+ -DCMAKE_CXX_COMPILER:PATH=" ${LLVM_BIN} /clang++"
2441
+ -DCMAKE_SWIFT_COMPILER:PATH=" ${SWIFTC_BIN} "
2442
+ -DCMAKE_INSTALL_PREFIX:PATH=" $( get_host_install_prefix ${host} ) "
2443
+ -DCMAKE_INSTALL_LIBDIR:PATH=" lib"
2444
+
2445
+ -DXCTEST_PATH_TO_LIBDISPATCH_SOURCE:PATH=${LIBDISPATCH_SOURCE_DIR}
2446
+ -DXCTEST_PATH_TO_LIBDISPATCH_BUILD:PATH=${LIBDISPATCH_BUILD_DIR}
2447
+
2448
+ -DXCTEST_PATH_TO_FOUNDATION_BUILD:PATH=${FOUNDATION_BUILD_DIR}
2449
+
2450
+ -DXCTEST_PATH_TO_COREFOUNDATION_BUILD:PATH=${FOUNDATION_BUILD_DIR} /Foundation/CoreFoundation
2451
+
2452
+ -DCMAKE_PREFIX_PATH:PATH=$( build_directory ${host} llvm)
2453
+
2454
+ -DENABLE_TESTING=YES
2455
+ )
2456
+ ;;
2457
+ esac
2429
2458
2430
- # XCTest builds itself and doesn't rely on cmake
2431
- continue
2432
2459
;;
2433
2460
foundation)
2434
2461
# The configuration script requires knowing about XCTest's
@@ -3226,42 +3253,13 @@ for host in "${ALL_HOSTS[@]}"; do
3226
3253
fi
3227
3254
3228
3255
case ${host} in
3229
- linux-* )
3230
- LIB_TARGET=" linux"
3231
- ;;
3232
- freebsd-* )
3233
- LIB_TARGET=" freebsd"
3234
- ;;
3235
- cygwin-* )
3236
- LIB_TARGET=" windows"
3237
- ;;
3238
- haiku-* )
3239
- LIB_TARGET=" haiku"
3240
- ;;
3241
- * )
3242
- echo " error: --install-xctest is not supported on this platform"
3243
- exit 1
3244
- ;;
3256
+ linux-* |freebsd-* |cygwin-* |haiku-* ) ;;
3257
+ * )
3258
+ echo " error: --install-xctest is not supported on this platform"
3259
+ exit 1
3260
+ ;;
3245
3261
esac
3246
3262
3247
- echo " --- Installing ${product} ---"
3248
- XCTEST_BUILD_DIR=$( build_directory ${host} xctest)
3249
- XCTEST_INSTALL_PREFIX=" ${host_install_destdir}${host_install_prefix} /lib/swift/${LIB_TARGET} "
3250
- if [ $( true_false " ${BUILD_SWIFT_STATIC_STDLIB} " ) == " TRUE" ]; then
3251
- XCTEST_STATIC_INSTALL_PREFIX=" ${host_install_destdir}${host_install_prefix} /lib/swift_static/${LIB_TARGET} "
3252
- xctest_static_install=" --static-library-install-path=${XCTEST_STATIC_INSTALL_PREFIX} "
3253
- else
3254
- xctest_static_install=" "
3255
- fi
3256
- # Note that installing directly to /usr/lib/swift usually
3257
- # requires root permissions.
3258
- call " ${XCTEST_SOURCE_DIR} " /build_script.py install \
3259
- --library-install-path=" ${XCTEST_INSTALL_PREFIX} " ${xctest_static_install} \
3260
- --module-install-path=" ${XCTEST_INSTALL_PREFIX} " /" ${SWIFT_HOST_VARIANT_ARCH} " \
3261
- " ${XCTEST_BUILD_DIR} "
3262
-
3263
- # As XCTest installation is self-contained, we break early here.
3264
- continue
3265
3263
;;
3266
3264
foundation)
3267
3265
# FIXME: Foundation doesn't build from the script on OS X
0 commit comments