Date: Thursday, January 5, 2023 @ 22:45:25
Author: freswa
Revision: 1378417
archrelease: copy trunk to staging-any
Added:
wasi-compiler-rt/repos/staging-any/
wasi-compiler-rt/repos/staging-any/PKGBUILD
(from rev 1378416, wasi-compiler-rt/trunk/PKGBUILD)
wasi-compiler-rt/repos/staging-any/WASI.cmake
(from rev 1378416, wasi-compiler-rt/trunk/WASI.cmake)
wasi-compiler-rt/repos/staging-any/keys/
wasi-compiler-rt/repos/staging-any/wasi-toolchain.cmake
(from rev 1378416, wasi-compiler-rt/trunk/wasi-toolchain.cmake)
----------------------+
PKGBUILD | 62 +++++++++++++++++++++++++++++++++++++++++++++++++
WASI.cmake | 1
wasi-toolchain.cmake | 29 ++++++++++++++++++++++
3 files changed, 92 insertions(+)
Copied: wasi-compiler-rt/repos/staging-any/PKGBUILD (from rev 1378416,
wasi-compiler-rt/trunk/PKGBUILD)
===================================================================
--- staging-any/PKGBUILD (rev 0)
+++ staging-any/PKGBUILD 2023-01-05 22:45:25 UTC (rev 1378417)
@@ -0,0 +1,62 @@
+# Maintainer: Frederik Schwan <freswa at archlinux dot org>
+
+pkgname=wasi-compiler-rt
+pkgver=15.0.6
+pkgrel=1
+pkgdesc='WASI LLVM compiler runtime'
+arch=('any')
+url='https://compiler-rt.llvm.org/'
+license=('custom: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-toolchain.cmake)
+b2sums=('e909ba7e0651c759b8cdfa0dddb3fbbf47ba77a7296d05aa9883dded1186ab6ed3101628cd34ad31b80a12815ecb3f04a780dbe07e2e43a5c3af303c7ae5798b'
+ 'SKIP'
+
'07cde9b8ea7c5e4726f094841a295351796798e033bf4d9a6dbddd128fa99cf3234baab5a5c94adb8de80ca537905626081e3e23cab8d547856f6534ca481a9d'
+ 'SKIP'
+
'c829d807c257921fddb8c4d3752ad2291a2beb116d414dd31e34b7f6b01599d8c4807db87ef9930456ed8c9f30e8648e77028fa0b903c3a5ea840514f6022cf4'
+
'74c63bb838bc2e6d7980370fb3d47f8fd2f1dd8b6dc82302c7cc0b80e0fb1e8e21c1c62d6de0b78e478fc22611a5867e52b1ef7a566796fe831fffd98b17c940')
+options=('staticlibs')
+validpgpkeys=(
+ '474E22316ABF4785A88C6E8EA2C794A986419D8A' # Tom Stellard
<[email protected]>
+ 'D574BD5D1D0E98895E3BF90044F2485E45D59042' # Tobias Hieta <[email protected]>
+)
+
+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-toolchain.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
+
+ install -Dm644 compiler-rt-${pkgver}.src/LICENSE.TXT
"${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}
Copied: wasi-compiler-rt/repos/staging-any/WASI.cmake (from rev 1378416,
wasi-compiler-rt/trunk/WASI.cmake)
===================================================================
--- staging-any/WASI.cmake (rev 0)
+++ staging-any/WASI.cmake 2023-01-05 22:45:25 UTC (rev 1378417)
@@ -0,0 +1 @@
+set(WASI 1)
Copied: wasi-compiler-rt/repos/staging-any/wasi-toolchain.cmake (from rev
1378416, wasi-compiler-rt/trunk/wasi-toolchain.cmake)
===================================================================
--- staging-any/wasi-toolchain.cmake (rev 0)
+++ staging-any/wasi-toolchain.cmake 2023-01-05 22:45:25 UTC (rev 1378417)
@@ -0,0 +1,29 @@
+# Cmake toolchain description file for the Makefile
+
+# This is arbitrary, AFAIK, for now.
+cmake_minimum_required(VERSION 3.4.0)
+
+set(CMAKE_SYSTEM_NAME WASI)
+set(CMAKE_SYSTEM_VERSION 1)
+set(CMAKE_SYSTEM_PROCESSOR wasm32)
+set(triple wasm32-wasi)
+
+if(WIN32)
+ set(WASI_HOST_EXE_SUFFIX ".exe")
+else()
+ set(WASI_HOST_EXE_SUFFIX "")
+endif()
+
+set(CMAKE_C_COMPILER ${WASI_SDK_PREFIX}/bin/clang${WASI_HOST_EXE_SUFFIX})
+set(CMAKE_CXX_COMPILER ${WASI_SDK_PREFIX}/bin/clang++${WASI_HOST_EXE_SUFFIX})
+set(CMAKE_AR ${WASI_SDK_PREFIX}/bin/llvm-ar${WASI_HOST_EXE_SUFFIX})
+set(CMAKE_RANLIB ${WASI_SDK_PREFIX}/bin/llvm-ranlib${WASI_HOST_EXE_SUFFIX})
+set(CMAKE_C_COMPILER_TARGET ${triple})
+set(CMAKE_CXX_COMPILER_TARGET ${triple})
+
+# Don't look in the sysroot for executables to run during the build
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+# Only look in the sysroot (not in the host paths) for the rest
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)