void-packages/srcpkgs/llvm19-bootstrap/template

74 lines
2.2 KiB
Bash

# Template file for 'llvm19-bootstrap'
pkgname=llvm19-bootstrap
version=19.1.4
revision=1
build_wrksrc=llvm
build_style=cmake
configure_args="
-DCMAKE_BUILD_TYPE=Release -Wno-dev
-DENABLE_LINKER_BUILD_ID=YES
-DLLVM_INSTALL_UTILS=YES
-DLLVM_BINUTILS_INCDIR=/usr/include
-DBASE_LLVM_VERSION=${version}
-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=/usr
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=NO
-DLLVM_TARGETS_TO_BUILD=Native
-DLLVM_ENABLE_PROJECTS=clang;lld
"
hostmakedepends="perl python3 pkg-config"
makedepends="python3-devel zlib-devel elfutils-devel libffi-devel libedit-devel
libxml2-devel binutils-devel z3-devel SPIRV-Headers SPIRV-Tools-devel"
short_desc="LLVM Compiler Infrastructure Project - Version 19"
maintainer="Daniel Martinez <danielmartinez@cock.li>"
license="Apache-2.0 AND NCSA AND custom:Apache-2.0-with-llvm-exception"
homepage="https://www.llvm.org"
_spirv_version=v19.1.1
distfiles="https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-${version}.tar.gz
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags/${_spirv_version}.tar.gz"
checksum="010e1fd3cabee8799bd2f8a6fbc68f28207494f315cf9da7057a2820f79fd531
7f6f7a1af0eb40910ddf3a7647d2186c8c5dc5a47945afa935aeec56bacf4336"
skip_extraction=${_spirv_version}.tar.gz
conflicts="llvm19>=0 llvm18>=0 llvm17>=0 llvm15>=0"
lib32disabled=yes
python_version=3
nodebug=yes
repository=bootstrap
nocross="bootstrap package"
# fails to build with libquadmth on musl
case "$XBPS_TARGET_MACHINE" in
x86_64|i686) makedepends+=" libquadmath-devel" ;;
esac
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
configure_args+=" -DLIBCXX_HAS_MUSL_LIBC=YES
-DCOMPILER_RT_BUILD_GWP_ASAN=OFF"
fi
case "$XBPS_TARGET_MACHINE" in
i686*) _arch="X86";;
x86_64*) _arch="X86";;
armv5*) _arch="Armv5te";;
armv6*) _arch="Armv6";;
armv7*) _arch="Armv7";;
aarch64*) _arch="AArch64";;
mips*) _arch="Mips";;
ppc*) _arch="PowerPC";;
riscv64*) _arch="RISCV64";;
esac
configure_args+=" -DLLVM_TARGET_ARCH=${_arch}"
pre_configure() {
configure_args+=" -DLLVM_HOST_TRIPLE=$($CC -dumpmachine)"
configure_args+=" -DLLVM_DEFAULT_TARGET_TRIPLE=$($CXX -dumpmachine)"
}
post_extract() {
vsrcextract -C llvm/projects/llvm-spirv ${_spirv_version}.tar.gz
}
post_install() {
vlicense ${wrksrc}/LICENSE.TXT
}