44SOURCE_PATH=" $( cd " $( dirname " $0 " ) /../../.." && pwd) "
55UTILS_PATH=" $( cd " $( dirname " $0 " ) " && pwd) "
66
7- WASI_SDK_PATH=" $SOURCE_PATH /wasi-sdk"
7+ BUILD_SDK_PATH=" $SOURCE_PATH /build-sdk"
8+ WASI_SDK_PATH=" $BUILD_SDK_PATH /wasi-sdk"
89WASI_SYSROOT_PATH=" $WASI_SDK_PATH /share/wasi-sysroot"
910
1011case $( uname -s) in
@@ -33,6 +34,21 @@ case $(uname -s) in
3334 ;;
3435esac
3536
37+ BUILD_HOST_TOOLCHAIN=1
38+
39+ while [ $# -ne 0 ]; do
40+ case " $1 " in
41+ --skip-build-host-toolchain)
42+ BUILD_HOST_TOOLCHAIN=0
43+ ;;
44+ * )
45+ echo " Unrecognised argument \" $1 \" "
46+ exit 1
47+ ;;
48+ esac
49+ shift
50+ done
51+
3652YEAR=$( date +" %Y" )
3753MONTH=$( date +" %m" )
3854DAY=$( date +" %d" )
@@ -56,15 +72,12 @@ build_host_toolchain() {
5672 --preset-file=" $UTILS_PATH /build-presets.ini" \
5773 --preset=$HOST_PRESET \
5874 --build-dir=" $HOST_BUILD_DIR " \
59- HOST_ARCHITECTURE=$( uname -m) \
75+ HOST_ARCHITECTURE=" $( uname -m) " \
6076 INSTALL_DESTDIR=" $HOST_TOOLCHAIN_DESTDIR " \
61- TOOLCHAIN_NAME=" $TOOLCHAIN_NAME " \
62- C_CXX_LAUNCHER=" $( which sccache) "
77+ TOOLCHAIN_NAME=" $TOOLCHAIN_NAME "
6378}
6479
6580build_target_toolchain () {
66- rm -rf " $DIST_TOOLCHAIN_DESTDIR "
67- rsync -a " $HOST_TOOLCHAIN_DESTDIR /" " $DIST_TOOLCHAIN_DESTDIR "
6881
6982 COMPILER_RT_BUILD_DIR=" $TARGET_BUILD_ROOT /compiler-rt-wasi-wasm32"
7083 cmake -B " $COMPILER_RT_BUILD_DIR " \
@@ -97,6 +110,11 @@ build_target_toolchain() {
97110 -D LLVM_DIR=" $HOST_BUILD_DIR /llvm-$HOST_SUFFIX /lib/cmake/llvm/" \
98111 -D SWIFT_NATIVE_SWIFT_TOOLS_PATH=" $HOST_BUILD_DIR /swift-$HOST_SUFFIX /bin" \
99112 -D SWIFT_WASI_SYSROOT_PATH=" $WASI_SYSROOT_PATH " \
113+ -D SWIFT_WASI_wasm32_ICU_UC_INCLUDE=" $BUILD_SDK_PATH /icu/include" \
114+ -D SWIFT_WASI_wasm32_ICU_UC=" $BUILD_SDK_PATH /icu/lib/libicuuc.a" \
115+ -D SWIFT_WASI_wasm32_ICU_I18N_INCLUDE=" $BUILD_SDK_PATH /icu/include" \
116+ -D SWIFT_WASI_wasm32_ICU_I18N=" $BUILD_SDK_PATH /icu/lib/libicui18n.a" \
117+ -D SWIFT_WASI_wasm32_ICU_DATA=" $BUILD_SDK_PATH /icu/lib/libicudata.a" \
100118 -G Ninja \
101119 -S " $SOURCE_PATH /swift"
102120
@@ -169,7 +187,12 @@ create_darwin_info_plist() {
169187 chmod a+r " ${DARWIN_TOOLCHAIN_INFO_PLIST} "
170188}
171189
172- build_host_toolchain
190+ if [ ${BUILD_HOST_TOOLCHAIN} -eq 1 ]; then
191+ build_host_toolchain
192+ rm -rf " $DIST_TOOLCHAIN_DESTDIR "
193+ rsync -a " $HOST_TOOLCHAIN_DESTDIR /" " $DIST_TOOLCHAIN_DESTDIR "
194+ fi
195+
173196build_target_toolchain
174197
175198embed_wasi_sysroot
0 commit comments