···
111
111
"type": "github"
112
112
}
113
113
},
114
114
-
"libclang_rt": {
115
115
-
"flake": false,
116
116
-
"locked": {
117
117
-
"lastModified": 1733968120,
118
118
-
"narHash": "sha256-qnWit8eyTV8zOwA4SE5z+lTKpmP1u4/+MOqkzEp+Cww=",
119
119
-
"type": "tarball",
120
120
-
"url": "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/libclang_rt.builtins-wasm32-wasi-25.0.tar.gz"
121
121
-
},
122
122
-
"original": {
123
123
-
"type": "tarball",
124
124
-
"url": "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/libclang_rt.builtins-wasm32-wasi-25.0.tar.gz"
125
125
-
}
126
126
-
},
127
114
"linux": {
128
115
"flake": false,
129
116
"locked": {
···
214
201
"busybox": "busybox",
215
202
"flake-parts": "flake-parts",
216
203
"git-hooks": "git-hooks",
217
217
-
"libclang_rt": "libclang_rt",
218
204
"linux": "linux",
219
205
"llvm": "llvm",
220
206
"make-shell": "make-shell",
···
29
29
url = "github:tombl/busybox";
30
30
flake = false;
31
31
};
32
32
-
libclang_rt = {
33
33
-
url = "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-25/libclang_rt.builtins-wasm32-wasi-25.0.tar.gz";
34
34
-
flake = false;
35
35
-
};
36
32
linux = {
37
33
url = "github:tombl/linux/args";
38
34
flake = false;
···
1
1
{
2
2
+
inputs,
2
3
run,
3
3
-
inputs,
4
4
+
5
5
+
clang,
6
6
+
cmake,
7
7
+
lld,
8
8
+
llvm,
9
9
+
musl,
10
10
+
ninja,
11
11
+
python3,
4
12
}:
5
13
6
14
run
7
15
{
8
16
name = "compiler-rt";
9
9
-
src = inputs.libclang_rt;
17
17
+
src = inputs.llvm;
18
18
+
path = [
19
19
+
clang
20
20
+
cmake
21
21
+
lld
22
22
+
llvm
23
23
+
ninja
24
24
+
python3
25
25
+
];
10
26
}
11
27
''
12
12
-
mkdir -p $out
13
13
-
cp libclang_rt.builtins-wasm32.a $out/
28
28
+
cmake -S compiler-rt -B build -G Ninja \
29
29
+
-DCMAKE_BUILD_TYPE=Release \
30
30
+
-DCMAKE_CXX_COMPILER_TARGET=wasm32-unknown \
31
31
+
-DCMAKE_CXX_COMPILER_WORKS=ON \
32
32
+
-DCMAKE_CXX_FLAGS="-I${musl}/include" \
33
33
+
-DCMAKE_C_COMPILER_TARGET=wasm32-unknown \
34
34
+
-DCMAKE_C_COMPILER_WORKS=ON \
35
35
+
-DCMAKE_C_FLAGS="-I${musl}/include" \
36
36
+
-DCOMPILER_RT_BUILD_CRT=false \
37
37
+
-DCOMPILER_RT_DEFAULT_TARGET_ARCH=wasm32-unknown \
38
38
+
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=true
39
39
+
40
40
+
cmake --build build -j$NIX_BUILD_CORES
41
41
+
42
42
+
mkdir $out
43
43
+
cp build/lib/*/libclang_rt.builtins-wasm32.a $out/
14
44
''