blob: 9556a607160d4f4496ebd0e827815a99c4b0c167 (
plain)
1 # Description: clang compiler
2 # URL: https://clang.llvm.org/
3 # Maintainer: CRUX System Team, core-ports at crux dot nu
4 # Depends on: compiler-rt llvm
5
6 name=clang
7 version=11.0.0
8 release=2
9 source=(https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/$name-$version.src.tar.xz
10 https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/$name-tools-extra-$version.src.tar.xz
11 cuda-version-detection.patch)
12
13 build() {
14 mv $name-tools-extra-$version.src $name-$version.src/tools/extra
15
16 patch -d $name-$version.src -p2 -i $SRC/cuda-version-detection.patch
17
18 cmake -S $name-$version.src -B build -G Ninja \
19 -D CMAKE_INSTALL_PREFIX=/usr \
20 -D CMAKE_BUILD_TYPE=Release \
21 -D CMAKE_C_FLAGS_RELEASE="$CFLAGS" \
22 -D CMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \
23 -D LLVM_TARGETS_TO_BUILD='X86;AMDGPU;BPF;NVPTX' \
24 -D LLVM_INCLUDE_TESTS=0 \
25 -D LLVM_PARALLEL_COMPILE_JOBS="${JOBS:-1}" \
26 -Wno-dev
27 cmake --build build
28 DESTDIR=$PKG cmake --install build
29
30 # -DCMAKE_INSTALL_LIBEXECDIR is hardcoded..
31 mv $PKG/usr/libexec/{c++-analyzer,ccc-analyzer} $PKG/usr/lib/clang
32 rmdir $PKG/usr/libexec
33 sed -i 's|libexec|lib/clang|' $PKG/usr/bin/scan-build
34 }
|