Skip to content

Commit ef7c02a

Browse files
kateinoigakukunyonihemi
authored andcommitted
[WASM] Remove wasi-sdk dependency from core-lib build scripts
1 parent ad31e1a commit ef7c02a

File tree

4 files changed

+17
-14
lines changed

4 files changed

+17
-14
lines changed

utils/webassembly/build-foundation.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/bin/bash
22
set -ex
33
DESTINATION_TOOLCHAIN=$1
4+
WASI_SYSROOT_PATH=$2
45
SOURCE_PATH="$(cd "$(dirname $0)/../../.." && pwd)"
56

67
FOUNDATION_BUILD="$SOURCE_PATH/target-build/foundation-wasi-wasm32"
@@ -9,10 +10,11 @@ mkdir -p $FOUNDATION_BUILD
910
cd $FOUNDATION_BUILD
1011

1112
cmake -G Ninja \
13+
-DCMAKE_SYSROOT="$WASI_SYSROOT_PATH" \
1214
-DCMAKE_Swift_COMPILER="$DESTINATION_TOOLCHAIN/usr/bin/swiftc" \
1315
-DCMAKE_STAGING_PREFIX="$DESTINATION_TOOLCHAIN/usr" \
1416
-DCMAKE_TOOLCHAIN_FILE="$SOURCE_PATH/swift/utils/webassembly/toolchain-wasi.cmake" \
15-
-DWASI_SDK_PATH="$SOURCE_PATH/wasi-sdk" \
17+
-DLLVM_BIN="$DESTINATION_TOOLCHAIN/usr/bin" \
1618
-DICU_ROOT="$SOURCE_PATH/icu_out" \
1719
-DBUILD_SHARED_LIBS=OFF \
1820
-DCMAKE_Swift_COMPILER_FORCED=ON \

utils/webassembly/build-toolchain.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ set -ex
44
SOURCE_PATH="$(cd "$(dirname "$0")/../../.." && pwd)"
55
UTILS_PATH="$(cd "$(dirname "$0")" && pwd)"
66

7-
WASI_SDK_PATH=$SOURCE_PATH/wasi-sdk
7+
WASI_SDK_PATH="$SOURCE_PATH/wasi-sdk"
8+
WASI_SYSROOT_PATH="$WASI_SDK_PATH/share/wasi-sysroot"
89

910
case $(uname -s) in
1011
Darwin)
@@ -110,8 +111,8 @@ build_target_toolchain() {
110111
# Remove host CoreFoundation module directory to avoid module conflict
111112
# while building Foundation
112113
rm -rf "$DIST_TOOLCHAIN_SDK/usr/lib/swift_static/CoreFoundation"
113-
"$UTILS_PATH/build-foundation.sh" "$DIST_TOOLCHAIN_SDK"
114-
"$UTILS_PATH/build-xctest.sh" "$DIST_TOOLCHAIN_SDK"
114+
"$UTILS_PATH/build-foundation.sh" "$DIST_TOOLCHAIN_SDK" "$WASI_SYSROOT_PATH"
115+
"$UTILS_PATH/build-xctest.sh" "$DIST_TOOLCHAIN_SDK" "$WASI_SYSROOT_PATH"
115116

116117
}
117118

utils/webassembly/build-xctest.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/bin/bash
22
set -ex
33
DESTINATION_TOOLCHAIN=$1
4+
WASI_SYSROOT_PATH=$2
45
SOURCE_PATH="$(cd "$(dirname $0)/../../.." && pwd)"
56

67
BUILD_DIR="$SOURCE_PATH/target-build/xctest-wasi-wasm32"
@@ -9,10 +10,11 @@ mkdir -p $BUILD_DIR
910
cd $BUILD_DIR
1011

1112
cmake -G Ninja \
13+
-DCMAKE_SYSROOT="$WASI_SYSROOT_PATH" \
1214
-DCMAKE_Swift_COMPILER="$DESTINATION_TOOLCHAIN/usr/bin/swiftc" \
1315
-DCMAKE_STAGING_PREFIX="$DESTINATION_TOOLCHAIN/usr" \
1416
-DCMAKE_TOOLCHAIN_FILE="$SOURCE_PATH/swift/utils/webassembly/toolchain-wasi.cmake" \
15-
-DWASI_SDK_PATH="$SOURCE_PATH/wasi-sdk" \
17+
-DLLVM_BIN="$DESTINATION_TOOLCHAIN/usr/bin" \
1618
-DBUILD_SHARED_LIBS=OFF \
1719
-DCMAKE_Swift_COMPILER_FORCED=ON \
1820
-DSWIFT_FOUNDATION_PATH=$DESTINATION_TOOLCHAIN/usr/lib/swift_static/wasi/wasm32 \

utils/webassembly/toolchain-wasi.cmake

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,13 @@ set(CMAKE_SYSTEM_VERSION 1)
33
set(CMAKE_SYSTEM_PROCESSOR wasm32)
44
set(triple wasm32-unknown-wasi)
55

6-
set(CMAKE_C_COMPILER "${WASI_SDK_PATH}/bin/clang")
7-
set(CMAKE_CXX_COMPILER "${WASI_SDK_PATH}/bin/clang++")
8-
set(CMAKE_AR "${WASI_SDK_PATH}/bin/llvm-ar" CACHE STRING "wasi-sdk build")
9-
set(CMAKE_RANLIB "${WASI_SDK_PATH}/bin/llvm-ranlib" CACHE STRING "wasi-sdk build")
10-
set(CMAKE_C_COMPILER_TARGET ${triple} CACHE STRING "wasi-sdk build")
11-
set(CMAKE_CXX_COMPILER_TARGET ${triple} CACHE STRING "wasi-sdk build")
12-
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-threads" CACHE STRING "wasi-sdk build")
13-
14-
set(CMAKE_SYSROOT ${WASI_SDK_PATH}/share/wasi-sysroot CACHE STRING "wasi-sdk build")
6+
set(CMAKE_C_COMPILER "${LLVM_BIN}/clang")
7+
set(CMAKE_CXX_COMPILER "${LLVM_BIN}/clang++")
8+
set(CMAKE_AR "${LLVM_BIN}/llvm-ar" CACHE STRING "LLVM Archiver for wasm32")
9+
set(CMAKE_RANLIB "${LLVM_BIN}/llvm-ranlib" CACHE STRING "LLVM Ranlib for wasm32")
10+
set(CMAKE_C_COMPILER_TARGET ${triple} CACHE STRING "")
11+
set(CMAKE_CXX_COMPILER_TARGET ${triple} CACHE STRING "")
12+
set(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-threads" CACHE STRING "Single thread options")
1513

1614
# Don't look in the sysroot for executables to run during the build
1715
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

0 commit comments

Comments
 (0)