@@ -72,6 +72,7 @@ KNOWN_SETTINGS=(
72
72
swift-stdlib-enable-assertions " 1" " enable assertions in Swift"
73
73
lldb-build-type " Debug" " the CMake build variant for LLDB"
74
74
llbuild-build-type " Debug" " the CMake build variant for llbuild"
75
+ foundation-build-type " Debug" " the build variant for Foundation"
75
76
llbuild-enable-assertions " 1" " enable assertions in llbuild"
76
77
enable-asan " " " enable AddressSanitizer"
77
78
cmake " " " path to the cmake binary"
@@ -1679,6 +1680,8 @@ for deployment_target in "${NATIVE_TOOLS_DEPLOYMENT_TARGETS[@]}" "${CROSS_TOOLS_
1679
1680
continue
1680
1681
;;
1681
1682
foundation)
1683
+ # the configuration script requires knowing about XCTest's location for building and running the tests
1684
+ XCTEST_BUILD_DIR=$( build_directory $deployment_target xctest)
1682
1685
SWIFTC_BIN=" $( build_directory_bin $deployment_target swift) /swiftc"
1683
1686
SWIFT_BIN=" $( build_directory_bin $deployment_target swift) /swift"
1684
1687
SWIFT_BUILD_PATH=" $( build_directory $deployment_target swift) "
@@ -1693,7 +1696,7 @@ for deployment_target in "${NATIVE_TOOLS_DEPLOYMENT_TARGETS[@]}" "${CROSS_TOOLS_
1693
1696
set -x
1694
1697
pushd " ${FOUNDATION_SOURCE_DIR} "
1695
1698
SWIFTC=" ${SWIFTC_BIN} " CLANG=" ${LLVM_BIN} " /clang SWIFT=" ${SWIFT_BIN} " \
1696
- SDKROOT=" ${SWIFT_BUILD_PATH} " BUILD_DIR=" ${build_dir} " ./configure
1699
+ SDKROOT=" ${SWIFT_BUILD_PATH} " BUILD_DIR=" ${build_dir} " DSTROOT= " ${INSTALL_DESTDIR} " PREFIX= " ${INSTALL_PREFIX} " SWIFTCFLAGS= " -I ${XCTEST_BUILD_DIR} " LDFLAGS= " -L ${XCTEST_BUILD_DIR} " ./configure " ${FOUNDATION_BUILD_TYPE} "
1697
1700
$NINJA_BIN
1698
1701
popd
1699
1702
{ set +x; } 2> /dev/null
@@ -1870,7 +1873,12 @@ for deployment_target in "${STDLIB_DEPLOYMENT_TARGETS[@]}"; do
1870
1873
if [[ " $SKIP_TEST_FOUNDATION " ]]; then
1871
1874
continue
1872
1875
fi
1873
- # FIXME: We don't test foundation, yet...
1876
+ build_dir=$( build_directory $deployment_target $product )
1877
+ XCTEST_BUILD_DIR=$( build_directory $deployment_target xctest)
1878
+ pushd " ${FOUNDATION_SOURCE_DIR} "
1879
+ $NINJA_BIN TestFoundation
1880
+ LD_LIBRARY_PATH=" ${INSTALL_DESTDIR} " /" ${INSTALL_PREFIX} " /lib/swift/:" ${build_dir} /Foundation" :" ${XCTEST_BUILD_DIR} " :$LD_LIBRARY_PATH " ${build_dir} " /TestFoundation/TestFoundation
1881
+ popd
1874
1882
continue
1875
1883
;;
1876
1884
* )
@@ -2005,7 +2013,7 @@ for deployment_target in "${NATIVE_TOOLS_DEPLOYMENT_TARGETS[@]}" "${CROSS_TOOLS_
2005
2013
build_dir=$( build_directory $deployment_target $product )
2006
2014
set -x
2007
2015
pushd " ${FOUNDATION_SOURCE_DIR} "
2008
- DSTROOT= " ${INSTALL_DESTDIR} " BUILD_DIR= " ${build_dir} " ./ install
2016
+ $NINJA_BIN install
2009
2017
popd
2010
2018
{ set +x; } 2> /dev/null
2011
2019
0 commit comments