#!/usr/bin/env bash set -eox pipefail mkdir /tmp/dl cd /tmp/dl wasi_sdk_dir=/opt/wasi-sdk mkdir -p $wasi_sdk_dir curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y export PATH=$HOME/.cargo/bin:$PATH git clone --recurse-submodules -b enable-libcxx-threads https://github.com/thewtex/wasi-sdk cd wasi-sdk git fetch origin --tags git remote add upstream https://github.com/WebAssembly/wasi-sdk git fetch upstream wasi-sdk-${WASI_VERSION} ./ci/build.sh cd build/dist tar xzf wasi-toolchain-*.tar.gz --strip-components=1 -C /opt/wasi-sdk mkdir -p /opt/wasi-sdk/share/wasi-sysroot tar xzf wasi-sysroot-*.tar.gz --strip-components=1 -C /opt/wasi-sdk/share/wasi-sysroot for wasi_toolchain in wasi wasip1 wasip2; do libclang_rt_out_dir=/opt/wasi-sdk/lib/clang/${LLVM_VERSION}/${wasi_toolchain} mkdir -p $libclang_rt_out_dir tar xzf ./libclang_rt.builtins-*.tar.gz --strip-components=1 -C $libclang_rt_out_dir done mkdir -p /opt/wasi-sdk/lib/clang/${LLVM_VERSION}/lib/wasm32-unknown-wasi cp ${libclang_rt_out_dir}/libclang_rt.builtins-wasm32.a /opt/wasi-sdk/lib/clang/${LLVM_VERSION}/lib/wasm32-unknown-wasi/libclang_rt.builtins.a cd /tmp/ rm -rf /tmp/dl rm -rf $HOME/.cargo