build-compiler-rt-wasi.sh (1004B)
1 #!/bin/bash 2 set -x -e -v 3 4 artifact=$(basename $TOOLCHAIN_ARTIFACT) 5 dir=${artifact%.tar.*} 6 7 if [ -n "$1" ]; then 8 patch -d $MOZ_FETCHES_DIR/wasi-sdk -p1 < $(dirname $0)/$1 9 fi 10 11 cd $MOZ_FETCHES_DIR/wasi-sdk 12 LLVM_PROJ_DIR=$MOZ_FETCHES_DIR/llvm-project 13 14 mkdir -p build/install/wasi 15 # The wasi-sdk build system wants to build clang itself. We trick it into 16 # thinking it did, and put our own clang where it would have built its own. 17 ln -s $MOZ_FETCHES_DIR/clang build/llvm 18 touch build/llvm.BUILT 19 20 # The wasi-sdk build system wants a clang and an ar binary in 21 # build/install/$PREFIX/bin 22 ln -s $MOZ_FETCHES_DIR/clang/bin build/install/wasi/bin 23 ln -s llvm-ar build/install/wasi/bin/ar 24 25 # Build compiler-rt 26 make \ 27 LLVM_PROJ_DIR=$LLVM_PROJ_DIR \ 28 PREFIX=$(grep -q BUILD_PREFIX Makefile || echo $PWD/build/install)/wasi \ 29 build/compiler-rt.BUILT \ 30 -j$(nproc) 31 32 mkdir -p $dir/lib 33 mv build/install/wasi/lib/clang/*/lib/wasi $dir/lib 34 tar --zstd -cf $artifact $dir 35 mkdir -p $UPLOAD_DIR 36 mv $artifact $UPLOAD_DIR/