blob: 528bffd31cf7383cd4f19f42e919673176106b51 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
#!/bin/mkpkg
# description: Complete LLVM toolchain (clang, lld, compiler-rt, libc++, libunwind, clang-tools-extra)
# url: https://llvm.org/
name=llvm
version=23.1.1
release=1
provides=(llvm clang compiler-rt libunwind lld libcxx clang-extra-tools)
depends=(libffi zlib zstd libedit ncurses libxml2)
makedeps=(cmake ninja python3)
source=(https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/llvm-project-$version.src.tar.xz)
sha256sums=(
"ebe9be46fe8756d58c5b198ffad0fa2a766257add81a4dc52179bfacc7888ee6"
)
build() {
mv llvm-project-$version.src llvm-project
cmake -S llvm-project/llvm -B build -G Ninja -Wno-dev \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DLLVM_ENABLE_LLD=ON \
-DLLVM_ENABLE_PROJECTS="clang;lld;clang-tools-extra" \
-DLLVM_ENABLE_RUNTIMES="compiler-rt;libunwind;libcxxabi;libcxx" \
-DLLVM_TARGETS_TO_BUILD="X86;AMDGPU" \
-DLLVM_HOST_TRIPLE=x86_64-unknown-linux-musl \
-DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-unknown-linux-musl \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_FFI=ON \
-DLLVM_ENABLE_ZLIB=ON \
-DLLVM_ENABLE_ZSTD=ON \
-DLLVM_ENABLE_LIBEDIT=ON \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_LINK_LLVM_DYLIB=ON \
-DLLVM_INSTALL_UTILS=ON \
-DLLVM_INSTALL_BINUTILS_SYMLINKS=ON \
-DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_INCLUDE_BENCHMARKS=OFF \
-DLLVM_BUILD_EXAMPLES=OFF \
-DCLANG_BUILD_EXAMPLES=OFF \
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \
-DCLANG_DEFAULT_CXX_STDLIB=libc++ \
-DCLANG_DEFAULT_RTLIB=compiler-rt \
-DCLANG_DEFAULT_UNWINDLIB=libunwind \
-DCLANG_DEFAULT_LINKER=lld \
-DCLANG_LINK_CLANG_DYLIB=ON \
-DLIBCLANG_BUILD_STATIC=ON \
-DCLANG_TIDY_ENABLE_STATIC_ANALYZER=OFF \
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \
-DCOMPILER_RT_BUILD_BUILTINS=ON \
-DCOMPILER_RT_BUILD_SANITIZERS=OFF \
-DCOMPILER_RT_BUILD_XRAY=OFF \
-DCOMPILER_RT_BUILD_LIBFUZZER=OFF \
-DCOMPILER_RT_BUILD_PROFILE=OFF \
-DCOMPILER_RT_BUILD_MEMPROF=OFF \
-DCOMPILER_RT_BUILD_GWP_ASAN=OFF \
-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF \
-DCOMPILER_RT_BUILD_ORC=OFF \
-DLIBCXX_HAS_MUSL_LIBC=ON \
-DLIBCXX_HAS_ATOMIC_LIB=OFF \
-DLIBCXX_USE_COMPILER_RT=ON \
-DLIBCXX_CXX_ABI=libcxxabi \
-DLIBCXX_ENABLE_STATIC=ON \
-DLIBCXX_ENABLE_SHARED=ON \
-DLIBCXXABI_USE_COMPILER_RT=ON \
-DLIBCXXABI_USE_LLVM_UNWINDER=ON \
-DLIBCXXABI_ENABLE_SHARED=ON \
-DLIBUNWIND_USE_COMPILER_RT=ON \
-DLIBUNWIND_ENABLE_SHARED=ON
ninja -C build
DESTDIR=$PKG ninja -C build install
printf '%s\n' 'INPUT(libclang_rt.builtins.a)' > $PKG/usr/lib/libatomic.a
printf '%s\n' 'INPUT(-lclang_rt.builtins)' > $PKG/usr/lib/libatomic.so
ln -sf clang $PKG/usr/bin/cc
ln -sf clang++ $PKG/usr/bin/c++
ln -sf lld $PKG/usr/bin/ld
ln -sf clang $PKG/usr/bin/ccp
ln -sf clang/${version%%.*}/lib/linux/libclang_rt.builtins-x86_64.a \
$PKG/usr/lib/libclang_rt.builtins.a
}
signify() {
untrusted comment: public key
RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3
}
# vim: filetype=sh
|