wasi-compiler-rt: initial import
This commit is contained in:
parent
b42748c74d
commit
d267caa36e
7
wasi-compiler-rt/.footprint
Normal file
7
wasi-compiler-rt/.footprint
Normal file
|
@ -0,0 +1,7 @@
|
|||
drwxr-xr-x root/root usr/
|
||||
drwxr-xr-x root/root usr/lib/
|
||||
drwxr-xr-x root/root usr/lib/clang/
|
||||
drwxr-xr-x root/root usr/lib/clang/13.0.0/
|
||||
drwxr-xr-x root/root usr/lib/clang/13.0.0/lib/
|
||||
drwxr-xr-x root/root usr/lib/clang/13.0.0/lib/wasi/
|
||||
-rw-r--r-- root/root usr/lib/clang/13.0.0/lib/wasi/libclang_rt.builtins-wasm32.a
|
1
wasi-compiler-rt/.nostrip
Normal file
1
wasi-compiler-rt/.nostrip
Normal file
|
@ -0,0 +1 @@
|
|||
usr/lib/clang/.*/lib/wasi/libclang_rt.builtins-wasm32.a
|
8
wasi-compiler-rt/.signature
Normal file
8
wasi-compiler-rt/.signature
Normal file
|
@ -0,0 +1,8 @@
|
|||
untrusted comment: verify with /etc/ports/contrib.pub
|
||||
RWSagIOpLGJF3yXcO6IZejuxACzD5J4YHMZpGYfq50IlRzhUFObpkDIpnOStCsP8feHqft/5xqmyvRRvxBOR3MXsn+qFIcNTbwk=
|
||||
SHA256 (Pkgfile) = 6c28d7c8837217d45fdbcd7df6f14923127abc8dd5c32b7ad1421f6007ff93c8
|
||||
SHA256 (.footprint) = 6164631c8a99d377fde871cdc930e474db2d08092114b9de3f50fd205972503c
|
||||
SHA256 (compiler-rt-13.0.0.src.tar.xz) = 4c3602d76c7868a96b30c36165c4b7643e2a20173fced7e071b4baeb2d74db3f
|
||||
SHA256 (llvm-13.0.0.src.tar.xz) = 408d11708643ea826f519ff79761fcdfc12d641a2510229eec459e72f8163020
|
||||
SHA256 (WASI.cmake) = e9e87d4781d6a999ee73a1e2c19754de01415124d0cd9746898f5ee7726dc1e1
|
||||
SHA256 (wasi-toolchain.cmake) = 52957ee81622bc22adcf0968cbb124a0595fa38e70549a355d42c6e487818edd
|
37
wasi-compiler-rt/Pkgfile
Normal file
37
wasi-compiler-rt/Pkgfile
Normal file
|
@ -0,0 +1,37 @@
|
|||
# Description: WASI LLVM compiler runtime
|
||||
# URL: https://compiler-rt.llvm.org/
|
||||
# Maintainer: CRUX System Team, core-ports at crux dot nu
|
||||
# Depends on: cmake ninja wasi-libc
|
||||
|
||||
name=wasi-compiler-rt
|
||||
version=13.0.0
|
||||
release=1
|
||||
source=(https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/compiler-rt-$version.src.tar.xz
|
||||
https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/llvm-$version.src.tar.xz
|
||||
WASI.cmake wasi-toolchain.cmake)
|
||||
|
||||
build() {
|
||||
# Platform files have been copied from https://github.com/WebAssembly/wasi-sdk
|
||||
mkdir -p cmake/Platform
|
||||
cp WASI.cmake cmake/Platform
|
||||
mv llvm-$version.src llvm
|
||||
|
||||
cmake -S compiler-rt-$version.src/lib/builtins -B build -G Ninja \
|
||||
-D CMAKE_INSTALL_PREFIX="/usr/lib/clang/$version" \
|
||||
-D COMPILER_RT_INSTALL_PATH="/usr/lib/clang/$version" \
|
||||
-D CMAKE_BUILD_TYPE=Release \
|
||||
-D CMAKE_C_FLAGS_RELEASE='-O3 -DNDEBUG -fno-exceptions --sysroot=/usr/share/wasi-sysroot' \
|
||||
-D CMAKE_MODULE_PATH="$SRC/make" \
|
||||
-D CMAKE_TOOLCHAIN_FILE="$SRC/wasi-toolchain.cmake" \
|
||||
-D COMPILER_RT_BAREMETAL_BUILD=ON \
|
||||
-D COMPILER_RT_INCLUDE_TESTS=OFF \
|
||||
-D COMPILER_RT_HAS_FPIC_FLAG=OFF \
|
||||
-D COMPILER_RT_DEFAULT_TARGET_ONLY=ON \
|
||||
-D COMPILER_RT_OS_DIR=wasi \
|
||||
-D WASI_SDK_PREFIX=/usr
|
||||
|
||||
cmake --build build
|
||||
DESTDIR=$PKG cmake --install build
|
||||
|
||||
/usr/bin/llvm-strip --strip-debug $PKG/usr/lib/clang/$version/lib/wasi/libclang_rt.builtins-wasm32.a
|
||||
}
|
1
wasi-compiler-rt/WASI.cmake
Normal file
1
wasi-compiler-rt/WASI.cmake
Normal file
|
@ -0,0 +1 @@
|
|||
set(WASI 1)
|
29
wasi-compiler-rt/wasi-toolchain.cmake
Normal file
29
wasi-compiler-rt/wasi-toolchain.cmake
Normal file
|
@ -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)
|
Loading…
Reference in New Issue
Block a user