# Description: WASI libc implementation for WebAssembly # URL: https://github.com/WebAssembly/wasi-libc # Maintainer: Tim Biermann, tbier at posteo dot de # Depends on: wasm-component-ld name=wasi-libc version=34 release=1 _commit=2e6fb9d8ee0cdf9e431fbcabe8af3115de000a13 source=(https://github.com/WebAssembly/wasi-libc/archive/$_commit/$name-$version.tar.gz) build() { local options=(-S $name-$_commit -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 -D WASM_COMPONENT_LD_EXECUTABLE=/usr/bin/wasm-component-ld -Wno-dev ) local targets=( wasm32-wasip1 wasm32-wasip1-threads wasm32-wasip2 wasm32-wasip3 ) 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 }