description="Low Level Virtual Machine, collection of modular and \
reusable compiler and toolchain."
url="https://llvm.org/"

packager="spiky <spiky@nutyx.org>"
contributors="Pierre,Remy,Tnut"

makedepends=(grep python cmake ninja libxml2)

name=llvm
version=15.0.7

PKGMK_GROUPS=(lib man devel doc)
_url="https://github.com/llvm/llvm-project/releases/download/llvmorg-$version"

source=(${_url}/$name-$version.src.tar.xz
		${_url}/clang-$version.src.tar.xz
		${_url}/compiler-rt-$version.src.tar.xz
                ${_url}/cmake-$version.src.tar.xz)

prepare() {

mv cmake-$version.src cmake
}
build() {

cd $name-$version.src

mv ../compiler-rt-${version}.src projects/compiler-rt
mv ../clang-$version.src tools/clang

grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'

mkdir build
cd    build

CC=gcc CXX=g++ \
cmake -DCMAKE_INSTALL_PREFIX=/usr  \
	-DLLVM_ENABLE_FFI=ON       \
	-DCMAKE_BUILD_TYPE=Release \
	-DLLVM_BUILD_LLVM_DYLIB=ON \
	-DLLVM_LINK_LLVM_DYLIB=ON  \
	-DLLVM_ENABLE_RTTI=ON      \
	-DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF" \
	-DLLVM_BUILD_TESTS=ON                     \
        -DLLVM_INCLUDE_BENCHMARKS=OFF \
	-Wno-dev -G Ninja ..

ninja

DESTDIR=$PKG ninja install
}
