#!/bin/sh MAKEDEPS="make ninja cmake libedit libffi libxml2 ncurses python-setuptools python-sphinx" DEPS="perl zlib libffi libedit ncurses" PKG_VER=13.0.0 SOURCE=https://github.com/llvm/llvm-project/releases/download/llvmorg-$PKG_VER/llvm-$PKG_VER.src.tar.xz DESC="Collection of modular and reusable compiler and toolchain technologies" package () { grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/' } build () { mkdir build cd build CC=gcc CXX=g++ \ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DLLVM_BINUTILS_INCDIR=/usr/include \ -DLLVM_BUILD_DOCS=OFF \ -DLLVM_BUILD_EXAMPLES=OFF \ -DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \ -DLLVM_BUILD_LLVM_DYLIB=ON \ -DLLVM_BUILD_TESTS=ON \ -DLLVM_DEFAULT_TARGET_TRIPLE="x86_64-linux-musl" \ -DLLVM_ENABLE_ASSERTIONS=OFF \ -DLLVM_ENABLE_FFI=ON \ -DLLVM_ENABLE_LIBCXX=OFF \ -DLLVM_ENABLE_PIC=ON \ -DLLVM_ENABLE_RTTI=ON \ -DLLVM_ENABLE_SPHINX=OFF \ -DLLVM_ENABLE_TERMINFO=ON \ -DLLVM_ENABLE_ZLIB=ON \ -DLLVM_HOST_TRIPLE="x86_64-linux-musl" \ -DLLVM_INCLUDE_EXAMPLES=OFF \ -DLLVM_LINK_LLVM_DYLIB=ON \ -DLLVM_APPEND_VC_REV=OFF \ -Wno-dev -G Ninja .. && ninja llvm-tblgen && ninja && cd .. python3 utils/lit/setup.py build } package () { DESTDIR=$PKG_DEST ninja -C build install cd build python3 ../utils/lit/setup.py install --prefix=/usr --root=$PKG_DEST mkdir $PKG_DEST/usr/bin for path in bin/*; do name=${path##*/} ln -s ../lib/llvm/bin/$name $PKG_DEST/usr/bin/$name done }