blob: f2db05e3c4e6e4c3846c5723771b0302d66e3ecb (
plain)
1 # Description: LLVM + clang compiler
2 # URL: http://llvm.org/
3 # Maintainer: Thomas Penteker, tek at serverop dot de
4 # Depends on: llvm
5
6 name=clang
7 version=7.0.1
8 release=1
9 source=(https://llvm.org/releases/$version/{llvm,cfe}-$version.src.tar.xz)
10
11 build() {
12 mv cfe-$version.src llvm-$version.src/tools/clang
13
14 cd llvm-$version.src
15 mkdir build
16 cd build
17
18 cmake .. -G Ninja \
19 -DLLVM_PARALLEL_COMPILE_JOBS="${JOBS:-1}" \
20 -DLLVM_ENABLE_CXX1Y=1 \
21 -DLLVM_INCLUDE_EXAMPLES=0 \
22 -DLLVM_INCLUDE_TESTS=0 \
23 -DLLVM_ENABLE_FFI=1 \
24 -DLLVM_TARGETS_TO_BUILD='X86;AMDGPU;BPF' \
25 -DCMAKE_BUILD_TYPE=Release \
26 -DCMAKE_INSTALL_PREFIX=/usr \
27 -DLLVM_APPEND_VC_REV=0 \
28 -Wno-dev
29
30 ninja
31 DESTDIR=$PKG ninja install
32
33 # only clang may be left, remove llvm
34 rm -r $PKG/usr/include/llvm{,-c}
35 rm -r $PKG/usr/lib/cmake/llvm
36 rm -r $PKG/usr/share/opt-viewer
37 rm $PKG/usr/bin/{bugpoint,ll*,opt,obj2yaml,sancov,sanstats,verify-uselistorder,yaml2obj,dsymutil}
38 rm $PKG/usr/lib/{LLVMHello.so,BugpointPasses.so,libLTO.*,libLLVM*}
39
40 mv $PKG/usr/libexec/{c++-analyzer,ccc-analyzer} $PKG/usr/lib/clang
41 rmdir $PKG/usr/libexec
42 sed -i 's|libexec|lib/clang|' $PKG/usr/bin/scan-build
43 }
|