@@ -44,8 +44,8 @@ BUNDLE_IDENTIFIER="swiftwasm.${YEAR}${MONTH}${DAY}"
4444DISPLAY_NAME_SHORT=" Swift for WebAssembly Development Snapshot"
4545DISPLAY_NAME=" ${DISPLAY_NAME_SHORT} ${YEAR} -${MONTH} -${DAY} "
4646
47+ HOST_TOOLCHAIN_DESTDIR=$SOURCE_PATH /host-toolchain-sdk
4748DIST_TOOLCHAIN_DESTDIR=$SOURCE_PATH /dist-toolchain-sdk
48-
4949DIST_TOOLCHAIN_SDK=$DIST_TOOLCHAIN_DESTDIR /$TOOLCHAIN_NAME
5050
5151
@@ -60,22 +60,26 @@ build_host_toolchain() {
6060 --preset-file=" $UTILS_PATH /build-presets.ini" \
6161 --preset=$HOST_PRESET \
6262 --build-dir=" $HOST_BUILD_DIR " \
63- INSTALL_DESTDIR=" $DIST_TOOLCHAIN_DESTDIR " \
63+ INSTALL_DESTDIR=" $HOST_TOOLCHAIN_DESTDIR " \
6464 TOOLCHAIN_NAME=" $TOOLCHAIN_NAME " \
6565 C_CXX_LAUNCHER=" $( which sccache) "
6666}
6767
6868build_target_toolchain () {
69+ rm -rf " $DIST_TOOLCHAIN_DESTDIR "
70+ cp -r " $HOST_TOOLCHAIN_DESTDIR " " $DIST_TOOLCHAIN_DESTDIR "
6971
7072 COMPILER_RT_BUILD_DIR=" $TARGET_BUILD_ROOT /compiler-rt-wasi-wasm32"
7173 cmake -B " $COMPILER_RT_BUILD_DIR " \
7274 -D CMAKE_TOOLCHAIN_FILE=" $SOURCE_PATH /swift/utils/webassembly/compiler-rt-cache.cmake" \
7375 -D CMAKE_BUILD_TYPE=Release \
7476 -D CMAKE_C_COMPILER=" $HOST_BUILD_DIR /llvm-$HOST_SUFFIX /bin/clang" \
7577 -D CMAKE_CXX_COMPILER=" $HOST_BUILD_DIR /llvm-$HOST_SUFFIX /bin/clang++" \
76- -D CMAKE_C_COMPILER_LAUNCHER=sccache \
77- -D CMAKE_CXX_COMPILER_LAUNCHER=sccache \
78- -D CMAKE_INSTALL_PREFIX=" $DIST_TOOLCHAIN_SDK /usr" \
78+ -D CMAKE_RANLIB=" $HOST_BUILD_DIR /llvm-$HOST_SUFFIX /bin/llvm-ranlib" \
79+ -D CMAKE_AR=" $HOST_BUILD_DIR /llvm-$HOST_SUFFIX /bin/llvm-ar" \
80+ -D CMAKE_C_COMPILER_LAUNCHER=" $( which sccache) " \
81+ -D CMAKE_CXX_COMPILER_LAUNCHER=" $( which sccache) " \
82+ -D CMAKE_INSTALL_PREFIX=" $DIST_TOOLCHAIN_SDK /usr/lib/clang/10.0.0/" \
7983 -D COMPILER_RT_SWIFT_WASI_SDK_PATH=" $WASI_SDK_PATH " \
8084 -G Ninja \
8185 -S ../llvm-project/compiler-rt
@@ -88,6 +92,8 @@ build_target_toolchain() {
8892 -D CMAKE_BUILD_TYPE=Release \
8993 -D CMAKE_C_COMPILER=" $HOST_BUILD_DIR /llvm-$HOST_SUFFIX /bin/clang" \
9094 -D CMAKE_CXX_COMPILER=" $HOST_BUILD_DIR /llvm-$HOST_SUFFIX /bin/clang++" \
95+ -D CMAKE_RANLIB=" $HOST_BUILD_DIR /llvm-$HOST_SUFFIX /bin/llvm-ranlib" \
96+ -D CMAKE_AR=" $HOST_BUILD_DIR /llvm-$HOST_SUFFIX /bin/llvm-ar" \
9197 -D CMAKE_C_COMPILER_LAUNCHER=" $( which sccache) " \
9298 -D CMAKE_CXX_COMPILER_LAUNCHER=" $( which sccache) " \
9399 -D CMAKE_INSTALL_PREFIX=" $DIST_TOOLCHAIN_SDK /usr" \
@@ -99,12 +105,20 @@ build_target_toolchain() {
99105
100106 ninja install -C " $SWIFT_STDLIB_BUILD_DIR "
101107
108+ # Copy tool binaries in target build dir to test stdlib
109+ rsync -a " $HOST_BUILD_DIR /llvm-$HOST_SUFFIX /bin/" " $SWIFT_STDLIB_BUILD_DIR /bin/"
110+ rsync -a " $HOST_BUILD_DIR /swift-$HOST_SUFFIX /bin/" " $SWIFT_STDLIB_BUILD_DIR /bin/"
111+
112+ # Link compiler-rt libs to stdlib build dir
113+ mkdir -p " $SWIFT_STDLIB_BUILD_DIR /lib/clang/10.0.0/"
114+ ln -fs " $COMPILER_RT_BUILD_DIR /lib" " $SWIFT_STDLIB_BUILD_DIR /lib/clang/10.0.0/lib"
115+
102116 " $UTILS_PATH /build-foundation.sh" " $DIST_TOOLCHAIN_SDK "
103117 " $UTILS_PATH /build-xctest.sh" " $DIST_TOOLCHAIN_SDK "
104118
105119}
106120
107- merge_toolchains () {
121+ embed_wasi_sysroot () {
108122 # Merge wasi-sdk and the toolchain
109123 cp -r " $WASI_SDK_PATH /share/wasi-sysroot" " $DIST_TOOLCHAIN_SDK /usr/share"
110124
@@ -158,7 +172,7 @@ create_darwin_info_plist() {
158172build_host_toolchain
159173build_target_toolchain
160174
161- merge_toolchains
175+ embed_wasi_sysroot
162176
163177if [[ " $( uname) " == " Darwin" ]]; then
164178 create_darwin_info_plist
0 commit comments