This repository has no description
1{
2 fetch,
3 run,
4 config,
5
6 clang,
7 cmake,
8 lld,
9 llvm,
10 musl,
11 ninja,
12 python3,
13}:
14
15run
16 rec {
17 name = "compiler-rt";
18 # renovate: datasource=github-releases name=llvm/llvm-project
19 version = "19.1.6";
20 src = fetch.tar {
21 url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-project-${version}.src.tar.xz";
22 hash = "sha256-LD4nIjZTSZJtbgW6tZopbTF5Mq0Tenj2gbuPXhtOeUI=";
23 };
24 path = [
25 clang
26 cmake
27 lld
28 llvm
29 ninja
30 python3
31 ];
32 }
33 ''
34 patch -p1 <${./wasm.patch}
35
36 cmake -S compiler-rt -B build -G Ninja \
37 -DCMAKE_BUILD_TYPE=${if config.debug then "Debug" else "Release"} \
38 -DCMAKE_CXX_COMPILER_TARGET=wasm32-unknown \
39 -DCMAKE_CXX_COMPILER_WORKS=ON \
40 -DCMAKE_CXX_FLAGS="-I${musl}/include" \
41 -DCMAKE_C_COMPILER_TARGET=wasm32-unknown \
42 -DCMAKE_C_COMPILER_WORKS=ON \
43 -DCMAKE_C_FLAGS="-I${musl}/include" \
44 -DCOMPILER_RT_BUILD_CRT=false \
45 -DCOMPILER_RT_DEFAULT_TARGET_ARCH=wasm32-unknown \
46 -DCOMPILER_RT_DEFAULT_TARGET_ONLY=true
47
48 cmake --build build -j$NIX_BUILD_CORES
49
50 mkdir $out
51 cp build/lib/*/libclang_rt.builtins-wasm32.a $out/
52 ''