aboutsummaryrefslogtreecommitdiffstats
path: root/main/llvm14/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'main/llvm14/APKBUILD')
-rw-r--r--main/llvm14/APKBUILD77
1 files changed, 47 insertions, 30 deletions
diff --git a/main/llvm14/APKBUILD b/main/llvm14/APKBUILD
index 0e464a59418..f9dea183863 100644
--- a/main/llvm14/APKBUILD
+++ b/main/llvm14/APKBUILD
@@ -5,19 +5,20 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Contributor: Ariadne Conill <ariadne@dereferenced.org>
# Contributor: omni <omni+alpine@hack.org>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
_pkgname=llvm
pkgver=14.0.6
_majorver=${pkgver%%.*}
pkgname=$_pkgname$_majorver
-pkgrel=0
+pkgrel=18
pkgdesc="Low Level Virtual Machine compiler system, version $_majorver"
-arch="all"
+arch="all !loongarch64 !riscv64"
url="https://llvm.org/"
license="Apache-2.0"
+install="$pkgname.pre-upgrade"
depends_dev="$pkgname=$pkgver-r$pkgrel"
# See https://gitlab.alpinelinux.org/alpine/aports/-/commit/51d2fba931fb2ef0046dea19405a9290c8735051#note_234651
-[ -z "$BOOTSTRAP" ] && depends_dev="$default_dev $pkgname-test-utils=$pkgver-r$pkgrel"
+[ -z "$BOOTSTRAP" ] && depends_dev="$depends_dev $pkgname-test-utils=$pkgver-r$pkgrel"
makedepends_host="binutils-dev libffi-dev zlib-dev libxml2-dev"
makedepends_build="cmake chrpath python3 py3-setuptools samurai"
# diffutils for diff: unrecognized option: strip-trailing-cr
@@ -26,28 +27,38 @@ checkdepends="bash coreutils diffutils"
subpackages="$pkgname-static $pkgname-libs $pkgname-dev $pkgname-test-utils:_test_utils"
source="https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/llvm-$pkgver.src.tar.xz
0001-Disable-dynamic-lib-tests-for-musl-s-dlclose-is-noop.patch
+ allocscore.patch
fix-memory-mf_exec-on-aarch64.patch
install-prefix.patch
+ lfs64.patch
+ llvm-stack-size.patch
"
builddir="$srcdir/$_pkgname-$pkgver.src"
+# Whether is this package the default (latest) LLVM version.
+_default_llvm="no"
+
# If crosscompiling, we need llvm-tblgen on the build machine.
-if [ -n "$BOOTSTRAP" ]; then
- makedepends_build="$makedepends_build cmd:llvm-tblgen"
+if [ "$CBUILD" != "$CHOST" ]; then
+ _llvm_tblgen="llvm-tblgen"
+ if [ "$_default_llvm" = no ]; then
+ _llvm_tblgen="llvm$_majorver-tblgen"
+ fi
+ makedepends_build="$makedepends_build cmd:$_llvm_tblgen"
cmake_cross_options="
-DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN=/usr/bin/llvm-tblgen
+ -DLLVM_TABLEGEN=/usr/bin/$_llvm_tblgen
"
fi
-# Whether is this package the default (latest) LLVM version.
-_default_llvm="yes"
-
if [ "$_default_llvm" = yes ]; then
provides="llvm=$pkgver-r$pkgrel"
replaces="llvm"
fi
+# explicit override for previous version as well
+replaces="llvm13"
+
# NOTE: It seems that there's no (sane) way how to change includedir, sharedir
# etc. separately, just the CMAKE_INSTALL_PREFIX. Standard CMake variables and
# even LLVM-specific variables, that are related to these paths, actually
@@ -96,6 +107,7 @@ prepare() {
;;
armhf) rm -v test/tools/llvm-readobj/ELF/dependent-libraries.test \
test/Object/macho-invalid.test \
+ test/tools/gold/X86/split-dwarf.ll \
test/tools/llvm-size/radix.test \
test/ExecutionEngine/frem.ll \
test/tools/llvm-dwarfdump/X86/prettyprint_types.s \
@@ -119,6 +131,11 @@ prepare() {
test/tools/llvm-objcopy/MachO/universal-object.test \
test/DebugInfo/X86/vla-multi.ll
+ # XXX: fail when built with gcc13
+ rm -v \
+ test/CodeGen/X86/vector-interleaved-load-i32-stride-4.ll \
+ test/Transforms/SampleProfile/pseudo-probe-update-2.ll \
+ test/Transforms/SampleProfile/pseudo-probe-update.ll
}
build() {
@@ -139,11 +156,12 @@ build() {
-DLLVM_BUILD_EXAMPLES=OFF \
-DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \
-DLLVM_BUILD_LLVM_DYLIB=ON \
- -DLLVM_BUILD_TESTS=ON \
+ -DLLVM_BUILD_TESTS="$(want_check && echo ON || echo OFF)" \
-DLLVM_DEFAULT_TARGET_TRIPLE="$CBUILD" \
-DLLVM_ENABLE_ASSERTIONS=OFF \
-DLLVM_ENABLE_FFI=ON \
-DLLVM_ENABLE_LIBCXX=OFF \
+ -DLLVM_ENABLE_LIBEDIT=OFF \
-DLLVM_ENABLE_PIC=ON \
-DLLVM_ENABLE_RTTI=ON \
-DLLVM_ENABLE_SPHINX=OFF \
@@ -198,17 +216,13 @@ package() {
ln -s ../lib/llvm$_majorver/bin/$name "$pkgdir"/usr/bin/$newname
done
- # Move /usr/lib/$pkgname/include/ into /usr/include/$pkgname/
- # and symlink it back.
- mkdir "$pkgdir"/usr/include/
- mv include "$pkgdir"/usr/include/$pkgname
- ln -s ../../include/$pkgname include
-
- # Move /usr/lib/$pkgname/lib/cmake/llvm/ into /usr/lib/cmake/$pkgname/
- # and symlink it back.
- mkdir "$pkgdir"/usr/lib/cmake/
- mv lib/cmake/llvm "$pkgdir"/usr/lib/cmake/$pkgname
- ln -s ../../../cmake/$pkgname lib/cmake/llvm
+ mkdir -p "$pkgdir"/usr/include "$pkgdir"/usr/lib/cmake
+
+ # symlink include to /usr/include/llvm$_llvmver
+ ln -sfv ../lib/$pkgname/include "$pkgdir"/usr/include/$pkgname
+
+ # symlink cmake dir to system cmake
+ ln -sfv ../$pkgname/lib/cmake/llvm "$pkgdir"/usr/lib/cmake/$pkgname
}
static() {
@@ -242,10 +256,9 @@ dev() {
default_dev
cd "$subpkgdir"
- _mv "$pkgdir"/$_prefix/lib $_prefix/
- _mv "$pkgdir"/$_prefix/include $_prefix/
-
- _mv "$pkgdir"/$_prefix/bin/llvm-config $_prefix/bin/
+ amove \
+ $_prefix/lib \
+ $_prefix/bin/llvm-config
# Move libLTO and LLVMgold back
_mv "$subpkgdir"/$_prefix/lib/libLTO.so.* \
@@ -261,7 +274,7 @@ dev() {
_test_utils() {
pkgdesc="LLVM $_majorver utilities for executing LLVM and Clang style test suites"
- depends="python3 py3-setuptools"
+ depends="python3"
_common_subpkg
replaces=""
@@ -273,13 +286,14 @@ _test_utils() {
amove usr/lib/$pkgname/bin/FileCheck \
usr/lib/$pkgname/bin/count \
usr/lib/$pkgname/bin/not \
- usr/bin/count \
- usr/bin/not
+ usr/bin/count14 \
+ usr/bin/not14
cd "$builddir"/build
- python3 ../utils/lit/setup.py install --prefix=/usr --root="$subpkgdir"
+ python3 ../utils/lit/setup.py install --root="$subpkgdir"
ln -s ../../../bin/lit "$subpkgdir"/$_prefix/bin/lit
+ ln -s ../../../bin/lit "$subpkgdir"/$_prefix/bin/llvm-lit
}
_common_subpkg() {
@@ -298,6 +312,9 @@ _mv() {
sha512sums="
6461bdde27aac17fa44c3e99a85ec47ffb181d0d4e5c3ef1c4286a59583e3b0c51af3c8081a300f45b99524340773a3011380059e3b3a571c3b0a8733e96fc1d llvm-14.0.6.src.tar.xz
6021b5a39843d645a8c63d558568f120d0d91a1ce209e46f0b980253fafb18dfc2078ef39cf63b0900f4313e3c5636320b3c179ff7a4e220d06aec2455063993 0001-Disable-dynamic-lib-tests-for-musl-s-dlclose-is-noop.patch
+ed189ae609c73ab91c0973c3aeb334158370a1a2879f17fed93900f9225f34ca483aa1513d76b9f9f01d94221aa703642398fe7005f5fe878bf43d9ffbeac057 allocscore.patch
dd5efd88abdd13db3b17bde8735c2ddb1ed1ac690a8ab06072e3e91f87d7ede924dcb513ee31b855d304fe43246619e5fa83fcbaeabb256b3b96ff4ebaf3b110 fix-memory-mf_exec-on-aarch64.patch
7a87da5ee5f9d4db21974023eab88645610fdfae856e445f402169bc2aed74ab3861ad03974421aaa2312e24efb55bdbcd312146eb12b52f5c8c7515713bd40f install-prefix.patch
+e288e8d3389536f1f040c0ae8a8eae168de8eedba6040efd5f477701e18529711329a279c6b86d5214ab44efaa6e27818d109be78891ee93e241a0ab1b3a0c5a lfs64.patch
+c96cbd78a71d62e2ad273f0d2ef853644a5a80613e2519c49a9b7c04f684b106fb1dbb969626207bf16edb72c2dbfec23037b74716d5717263a1b86c60df52b4 llvm-stack-size.patch
"