# Maintainer: PktSurf app=llvm version=17.0.6 build=1sml homepage="http://llvm.org/" download="https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/llvm-$version.src.tar.xz" desc="LLVM compiler toolkit" requires="libffi libxml2 perl cmake" preservestaticlibs=1 prepbuilddir() { mkandenterbuilddir rm -rf $app-project-$version.src # In case the user decides to resume an incomplete build [[ -d cmake ]] && rm -r cmake tar xf $srcdir/$app-project-$version.src.tar.?z* cd $app-project-$version.src fixbuilddirpermissions applypatch $srcdir/install-prefix.patch applypatch $srcdir/llvm-stack-size.patch } build() { if [[ $ccache = 1 ]] ; then useccache=ON else useccache=OFF fi buildtargets="X86;AMDGPU;BPF" projects="clang;clang-tools-extra;lld;llvm" mkdir -p build && cd build cmake -G Ninja -Wno-dev \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_SKIP_INSTALL_RPATH=ON \ -DCMAKE_C_FLAGS="$CFLAGS" \ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=NO \ -DLLVM_ENABLE_PROJECTS="$projects" \ -DCLANG_RESOURCE_DIR="../lib/clang" \ -DCLANG_INCLUDE_TESTS=OFF \ -DCLANG_DEFAULT_PIE_ON_LINUX=ON \ -DCLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang \ -DLLVM_BUILD_DOCS=OFF \ -DLLVM_BUILD_EXAMPLES=OFF \ -DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_ENABLE_DUMP=ON \ -DLLVM_ENABLE_EH=ON \ -DLLVM_ENABLE_FFI=ON \ -DLLVM_ENABLE_RTTI=ON \ -DLLVM_ENABLE_ZLIB=ON \ -DLLVM_BUILD_TESTS=OFF \ -DLLVM_INCLUDE_TESTS=OFF \ -DLLVM_INSTALL_UTILS=ON \ -DLLVM_TARGETS_TO_BUILD="$buildtargets" \ -DLLVM_INCLUDE_BENCHMARKS=OFF \ -DLLVM_INCLUDE_EXAMPLES=OFF \ -DLLVM_BUILD_TESTS=OFF \ -DLLVM_BUILD_LLVM_DYLIB=ON \ -DLLVM_LINK_LLVM_DYLIB=ON \ -DLLVM_CCACHE_BUILD="$useccache" \ -DLLVM_DEFAULT_TARGET_TRIPLE="x86_64-unknown-linux-musl" \ -DLLVM_HOST_TRIPLE="x86_64-unknown-linux-musl" \ ../llvm ninja $MAKEFLAGS DESTDIR="$pkg" ninja install cp ../LICENSE.TXT $pkgdocs/ mkfinalpkg } sha512sums=" f369236cc5b96283ce9251b0abdc6b320f0d651182547622a8116df29a7540f6f818f3a20917e02b6afc1bc68a1e142d3c0abb87dc3d7df72308a646e6facc80 llvm-project-17.0.6.src.tar.lz 510833875b190101a2bc466a7d3e17e820d4806345f350385c2e8e5112713fd864467f245e85f9b192b2c9b00c3fa33c5de773f98a38dfbb4ae80e158af19738 install-prefix.patch 2123f01d8075a15cf8c2d8091fc8c92cb99807b1d654af13b436690ddb55f3e893a494593b3c92aeab26e50db4e0500ac688129ab6bc11e4765c0308b90db101 llvm-stack-size.patch "