🔒 Repository is read-only – file editing is disabled.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
pkgname: llvm
pkgver: '22.1.8'
pkgrel: '1'
pkgdesc: 'Low Level Virtual Machine, collection of modular and reusable compiler and toolchain.'
url: 'https://llvm.org/'
arch: x86_64
depends: []
makedepends:
- grep
- python
- cmake
- ninja
- libxml2
- git
source:
- 'https://github.com/llvm/llvm-project/releases/download/llvmorg-${pkgver}/${pkgname}-project-${pkgver}.src.tar.xz'
sha256sums:
- SKIP
build: |
# NINJAJOBS=10 na VPS (11GB RAM) wywoływał OOM: przy kompilacji clang
# (Sema/Registry.cpp to najcięższe pliki, ~2-3GB cc1plus każdy) kernel
# zabijał g++ ("Killed signal terminated program cc1plus"). 4 zadania
# mieszczą się w pamięci; wolniej, ale stabilnie.
export NINJAJOBS=4
cd ${pkgname}-${pkgver}
grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'
sed 's/utility/tool/' -i llvm/utils/FileCheck/CMakeLists.txt
mkdir llvm/build
cd llvm/build
# compiler-rt (runtimes) WYŁĄCZONE: konfiguracja jego testów builtins
# padała ("compiler-rt/test/builtins/CMakeLists.txt: file failed to open"),
# a rustc i tak go nie potrzebuje (używa tylko core LLVM + llvm-config).
# Bez runtimes build też jest szybszy. Komentarz MUSI być przed cmake,
# nie w środku kontynuacji `\` (inaczej # zjada resztę opcji).
CC=gcc CXX=g++ \
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_SKIP_INSTALL_RPATH=ON \
-D LLVM_ENABLE_FFI=ON \
-D CMAKE_BUILD_TYPE=Release \
-D LLVM_BUILD_LLVM_DYLIB=ON \
-D LLVM_LINK_LLVM_DYLIB=ON \
-D LLVM_ENABLE_RTTI=ON \
-D LLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF" \
-D LLVM_ENABLE_PROJECTS=clang \
-D LLVM_BINUTILS_INCDIR=/usr/include \
-D LLVM_INCLUDE_BENCHMARKS=OFF \
-D LLVM_BUILD_TESTS=OFF \
-W no-dev -G Ninja ..
ninja
DESTDIR=${PKGDIR} ninja install
package: |
true