UmVirt LFS Package info

DB commit: 57bed5a54ba91b88b24a1c8eb97bd083dbf72f0d
APP commit: 634ff2193dea70dde75eb1916d758638b7417453

llvm

The LLVM package contains a collection of modular and reusable compiler and toolchain technologies.

Package info

Codename: llvm
Source file: llvm-16.0.5.src.tar.xz
Source directory: llvm-16.0.5.src
Package URL: https://umvirt.com/linux/downloads/0.2/packages/l/llvm-16.0.5.src.tar.xz
Package md5-checksum URL: https://umvirt.com/linux/downloads/0.2/packages/l/llvm-16.0.5.src.tar.xz.md5sum
Dependances: cmake.
Dependance of: mesa, dhcpcd, v4l-utils, ImageMagick, libreoffice.
Patches: *** NO PATCHES FOUND ***
Addons: llvm-cmake.src.tar.xz, llvm-third-party.src.tar.xz, clang-16.0.5.src.tar.xz, clang-16.0.5-enable_default_ssp-1.patch, compiler-rt-16.0.5.src.tar.xz.
Nestings *** NO NESTINGS FOUND ***
Configuration script:
tar -xf ../llvm-cmake.src.tar.xz                                   &&
tar -xf ../llvm-third-party.src.tar.xz                             &&
sed '/LLVM_COMMON_CMAKE_UTILS/s@../cmake@llvm-cmake.src@'          \
    -i CMakeLists.txt                                              &&
sed '/LLVM_THIRD_PARTY_DIR/s@../third-party@llvm-third-party.src@' \
    -i cmake/modules/HandleLLVMOptions.cmake

tar -xf ../clang-16.0.5.src.tar.xz -C tools &&
mv tools/clang-16.0.5.src tools/clang

tar -xf ../compiler-rt-16.0.5.src.tar.xz -C projects &&
mv projects/compiler-rt-16.0.5.src projects/compiler-rt

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

patch -Np2 -d tools/clang <../clang-16.0.5-enable_default_ssp-1.patch

sed 's/clang_dfsan/& -fno-stack-protector/'     -i projects/compiler-rt/test/dfsan/origin_unaligned_memtrans.c

mkdir -v build &&
cd       build &&

ARG_DOCS=""
if [[ "$ULFS_PKG_DOCUMENTATION" == "YES" ]]
then

ARG_DOCS="-DLLVM_BUILD_DOCS=ON -DLLVM_ENABLE_SPHINX=ON -DSPHINX_WARNINGS_AS_ERRORS=OFF"

fi

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_BINUTILS_INCDIR=/usr/include       \
      -DLLVM_INCLUDE_BENCHMARKS=OFF             \
      -DCLANG_DEFAULT_PIE_ON_LINUX=ON           \
      -Wno-dev $ARG_DOCS -G Ninja ..      


Build script:
cd build
ninja

if [[ "$ULFS_PKG_DOCUMENTATION" == "YES" ]]
then

ninja docs-llvm-html  docs-llvm-man
ninja docs-clang-html docs-clang-man

fi

if [[ "$ULFS_PKG_TEST" == "YES" ]]
then

systemctl   --user start dbus &&
systemd-run --user --pty -d -G -p LimitCORE=0 ninja check-all

fi


Install script:
cd build
cmake --install .
cp bin/FileCheck /usr/bin

if [[ "\$ULFS_PKG_DOCUMENTATION" == "YES" ]]
then

install -v -d -m755 /usr/share/doc/llvm-16.0.5            &&
mv -v /usr/share/doc/LLVM/llvm /usr/share/doc/llvm-16.0.5 &&
rmdir -v --ignore-fail-on-non-empty /usr/share/doc/LLVM

install -v -d -m755 /usr/share/doc/llvm-16.0.5             &&
mv -v /usr/share/doc/LLVM/clang /usr/share/doc/llvm-16.0.5 &&
rmdir -v --ignore-fail-on-non-empty /usr/share/doc/LLVM

fi