67 lines
2.9 KiB
Bash
67 lines
2.9 KiB
Bash
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
|
|
# Maintainer: Frederik Schwan <freswa at archlinux dot org>
|
|
|
|
pkgname=wasi-compiler-rt
|
|
pkgver=19.1.6
|
|
pkgrel=1
|
|
pkgdesc='WASI LLVM compiler runtime'
|
|
arch=(any)
|
|
url='https://compiler-rt.llvm.org/'
|
|
license=('Apache-2.0 WITH LLVM-exception')
|
|
depends=('wasi-libc')
|
|
makedepends=('cmake' 'ninja' 'llvm' 'clang' 'lld')
|
|
source=(https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver}/compiler-rt-${pkgver}.src.tar.xz{,.sig}
|
|
https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver}/cmake-$pkgver.src.tar.xz{,.sig}
|
|
WASI.cmake
|
|
wasi-sdk.cmake)
|
|
b2sums=('014ab9c03650f4040050fc600167945003a0a73ae2a22c19fd9504aab00ee57df10eeb2b90514c14e294c0b5d43ce0b4b6d0c361cbfefcd6fb6adb67372cb953'
|
|
'SKIP'
|
|
'a1bc5fbf724a21d6eebfac4ed26544ef50069aa8e55398f66af9c9636799c790de7f069b4604f123cb20abda8fac3742844f9f3d966408e1dacdebf1a6cf5635'
|
|
'SKIP'
|
|
'c829d807c257921fddb8c4d3752ad2291a2beb116d414dd31e34b7f6b01599d8c4807db87ef9930456ed8c9f30e8648e77028fa0b903c3a5ea840514f6022cf4'
|
|
'9f20eaa64069d20510a5ba6acdedfa4bbf723e1da13792bbbdfc57cc20d232962f5603a56c9723879624ab65e18f3770fda509dc76e3f099c3744acbfeabafc2')
|
|
options=('staticlibs')
|
|
validpgpkeys=(
|
|
'474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard <tstellar@redhat.com>
|
|
'D574BD5D1D0E98895E3BF90044F2485E45D59042' # Tobias Hieta <tobias@hieta.se>
|
|
)
|
|
|
|
prepare() {
|
|
# Platform files have been copied from here https://github.com/WebAssembly/wasi-sdk
|
|
mv cmake{-$pkgver.src,}
|
|
mkdir -p cmake/Platform
|
|
cp WASI.cmake cmake/Platform
|
|
}
|
|
|
|
build() {
|
|
# Build options are derived from here https://github.com/WebAssembly/wasi-sdk/blob/main/Makefile
|
|
|
|
# Currently, wasi-sdk requires C++ code be compiled with -fno-exceptions. libc++abi is compiled, however is is currently compiled with exception-handling support disabled.
|
|
# https://github.com/WebAssembly/wasi-sdk/issues/52#issuecomment-530619365
|
|
cmake -B build -G Ninja \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DCMAKE_C_COMPILER_WORKS=ON \
|
|
-DCMAKE_CXX_COMPILER_WORKS=ON \
|
|
-DCMAKE_MODULE_PATH="${srcdir}"/make \
|
|
-DCMAKE_TOOLCHAIN_FILE="${srcdir}"/wasi-sdk.cmake \
|
|
-DCOMPILER_RT_BAREMETAL_BUILD=On \
|
|
-DCOMPILER_RT_INCLUDE_TESTS=OFF \
|
|
-DCOMPILER_RT_HAS_FPIC_FLAG=OFF \
|
|
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=On \
|
|
-DCOMPILER_RT_OS_DIR=wasi \
|
|
-DWASI_SDK_PREFIX=/usr \
|
|
-DCMAKE_C_FLAGS="-fno-exceptions --sysroot=/usr/share/wasi-sysroot" \
|
|
-DCMAKE_INSTALL_PREFIX=/usr/lib/clang/${pkgver%%.*}/ \
|
|
compiler-rt-${pkgver}.src/lib/builtins
|
|
cmake --build build -v
|
|
}
|
|
|
|
package() {
|
|
DESTDIR="${pkgdir}" cmake --install build -v
|
|
|
|
ln -sr "${pkgdir}"/usr/lib/clang/${pkgver%%.*}/lib/{wasi,wasip1}
|
|
ln -sr "${pkgdir}"/usr/lib/clang/${pkgver%%.*}/lib/{wasi,wasip2}
|
|
|
|
install -Dm644 compiler-rt-${pkgver}.src/LICENSE.TXT "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
|
|
}
|