# Description: WASI libc implementation for WebAssembly # URL: https://github.com/WebAssembly/wasi-libc # Maintainer: Tim Biermann, tbier at posteo dot de # Depends on: clang lld name=wasi-libc version=31 release=1 source=(https://github.com/WebAssembly/wasi-libc/archive/wasi-sdk-$version/$name-$version.tar.gz) build() { local options=(-S $name-wasi-sdk-$version -G Ninja -D CMAKE_INSTALL_PREFIX=/usr/share/wasi-sysroot -D CMAKE_BUILD_TYPE=Release -D CMAKE_AR=/usr/bin/llvm-ar -D CMAKE_C_COMPILER=/usr/bin/clang -D CMAKE_NM=/usr/bin/llvm-nm -D CMAKE_LINK_DEPENDS_USE_LINKER=FALSE -D CHECK_SYMBOLS=OFF -Wno-dev ) local targets=( wasm32-wasip1 wasm32-wasip1-threads wasm32-wasip2 ) unset CFLAGS CXXFLAGS CPPFLAGS LDFLAGS for i in "${targets[@]}"; do cmake "${options[@]}" -B build-${i} \ -D TARGET_TRIPLE=${i} cmake --build build-${i} DESTDIR=$PKG cmake --install build-${i} done cd $PKG/usr/share/wasi-sysroot/lib for f in wasm32-wasi*/*.a; do /usr/bin/llvm-ranlib $f /usr/bin/llvm-strip --strip-debug $f done }