llvm-runtimes/offload: Bump to 20.1.4

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2025-05-03 08:24:18 +02:00
parent cd458dfb74
commit dd5c5c497c
2 changed files with 151 additions and 0 deletions

View File

@@ -2,5 +2,7 @@ DIST llvm-project-19.1.7.src.tar.xz 141249332 BLAKE2B 1259ed7f9aca7b35e89d818bef
DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf6f30e75705123d067ea97175d91d7a5b6a75008df01d99ae7aa16aaa3b101f3f41e38d01f04158f95a261d617b3ede0254cd SHA512 195797b06ac80a742e0ccbc03a50dc06dd2e04377d783d5474e3e72c5a75203b60292b047929312a411d22b137a239943fba414a4d136a2be14cbff978eb6bda
DIST llvm-project-20.1.3.src.tar.xz 147212776 BLAKE2B c738abb66dc82580a8f511829bcf87dd8deb8381bd073cd547e4eb02097c0190fa06488e5500cefce95953315432ee6ae3c103c491d08eca4b019e043691fc12 SHA512 79d6cfd10075ec9d05b9a359c09579e07a2caff9167518519457daee3e37a818100da6712804916880797ecb0b4891b18dc52a03b534e1b9d1d4bb5ba8d5ad1e
DIST llvm-project-20.1.3.src.tar.xz.sig 566 BLAKE2B 1b584b61f773013f3964dbd0ee026c00e702cfe758acdacc7bffb6793c42eea638cc812bd1a3cddf210a9ad7d98f707d4f1e748d360b66427fded79f24d8610b SHA512 4fd3815cd94113234e66083f955993a95c888cbb89d5baf611b76765511e102af9f1e880cbacc709f0be8785abd5abbfb0ce391793308dfec3c248a9b348e492
DIST llvm-project-20.1.4.src.tar.xz 147228104 BLAKE2B 756799d104f94931a6bdca182c4b23983aad9c7ea5acf77f2f5519540137a8dc9a4ec227293c6ba7ddc7fb0fa10cc92e65808f1c07f04bea34a304bb0e2df612 SHA512 acace8175a5468c7e84a89d1564e147e81fe92b6d910f22b058edf72094b27176677c06dbe141fccfbabdad77165f957bbf1ec8aff7bffc85f0757c0103f7e59
DIST llvm-project-20.1.4.src.tar.xz.sig 566 BLAKE2B 1f0f057dedf938190554ca1a51d9837da9faa38851edb7fe6f305769f3048b5507b010cb81b97550a13c9141e03480009602ff092ddd65b42483b0f79c1523e8 SHA512 634414ea877724ebdeeabe3bb1079d78938aa05dba2243d5458cf211c35444124dc01fa73a593548290196f8c0e40e1e6a4a72571dba4b716b5781c656c6f9b2
DIST llvm-project-ac8fc09688e10e983b99224b5dc5cbbeeedb1879.tar.gz 231567089 BLAKE2B f7878f114c908b21d179854bc693716b34b963612c6b5172789a37cd21fa316720d4e9498bc7679058db3e822ed240bfdafd85bfd00154914d747d0c0ed1cb48 SHA512 4c39db8b22fa087ca96c3b4541ec77ba8a826a126b4e93b0650e59b3622b22b329f60fa3780dd4572fdece409fd5833eda473046d7547f6ee3ac8aadb8f2fc34
DIST llvm-project-b9e32749d273a957e60170d6e7ef205fd1fb1834.tar.gz 232146799 BLAKE2B f7c02bf1e6b9958114f07827ff00264774a7ad54b51c6867d7e66d7c9a94a36fb84f371d7d30c2f094a0d539b565fb651786ed9e0641f2bea8d982073f1a8ac0 SHA512 2d81ead79c606e00549d5205584f1bd272e4d7adf4b376fdba19e7fb719710e80b00b22ee3500ab2b990178fa044ca9fcf45bd2063e62e6a217b11775bb3b163

View File

@@ -0,0 +1,149 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..13} )
inherit cmake flag-o-matic llvm.org python-any-r1 toolchain-funcs
DESCRIPTION="OpenMP offloading support"
HOMEPAGE="https://openmp.llvm.org"
LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
SLOT="0/${LLVM_SOABI}"
KEYWORDS="~amd64 ~arm64 ~ppc64"
IUSE="+debug ompt test llvm_targets_AMDGPU llvm_targets_NVPTX"
RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/libffi:=
~llvm-core/llvm-${PV}
~llvm-runtimes/openmp-${PV}[ompt?]
llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= )
"
DEPEND="
${RDEPEND}
"
# tests:
# - dev-python/lit provides the test runner
# - llvm-core/llvm provide test utils (e.g. FileCheck)
# - llvm-core/clang provides the compiler to run tests
BDEPEND="
dev-lang/perl
virtual/pkgconfig
llvm_targets_AMDGPU? ( llvm-core/clang[llvm_targets_AMDGPU] )
llvm_targets_NVPTX? ( llvm-core/clang[llvm_targets_NVPTX] )
test? (
$(python_gen_any_dep '
dev-python/lit[${PYTHON_USEDEP}]
')
llvm-core/clang
)
"
# TODO: can it be fixed to compile with gcc?
BDEPEND+="
llvm-core/clang
"
LLVM_COMPONENTS=( offload cmake runtimes/cmake libc/shared )
LLVM_TEST_COMPONENTS=( openmp/cmake )
llvm.org_set_globals
pkg_pretend() {
if [[ ${LLVM_ALLOW_GPU_TESTING} ]]; then
ewarn "LLVM_ALLOW_GPU_TESTING set. This package will run tests against your"
ewarn "GPU if it is supported. Note that these tests may be flaky, fail or"
ewarn "hang, or even cause your GPU to crash (requiring a reboot)."
fi
}
python_check_deps() {
python_has_version "dev-python/lit[${PYTHON_USEDEP}]"
}
pkg_setup() {
if use test; then
python-any-r1_pkg_setup
fi
}
src_configure() {
# TODO
local -x CC=${CHOST}-clang
local -x CXX=${CHOST}-clang++
strip-unsupported-flags
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
local libdir="$(get_libdir)"
local ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
local ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
local plugins="host"
local build_devicertl=FALSE
if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then
if use llvm_targets_AMDGPU; then
plugins+=";amdgpu"
build_devicertl=TRUE
fi
if use llvm_targets_NVPTX; then
plugins+=";cuda"
build_devicertl=TRUE
fi
fi
local mycmakeargs=(
-DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}"
-DOFFLOAD_LIBDIR_SUFFIX="${libdir#lib}"
-DLIBOMPTARGET_PLUGINS_TO_BUILD="${plugins}"
-DLIBOMPTARGET_OMPT_SUPPORT="$(usex ompt)"
-DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB="${build_devicertl}"
# this breaks building static target libs
-DBUILD_SHARED_LIBS=OFF
-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
)
[[ ! ${LLVM_ALLOW_GPU_TESTING} ]] && mycmakeargs+=(
# prevent trying to access the GPU
-DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND
-DLIBOMPTARGET_NVPTX_ARCH=LIBOMPTARGET_NVPTX_ARCH-NOTFOUND
)
use test && mycmakeargs+=(
# this project does not use standard LLVM cmake macros
-DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit"
-DOPENMP_LIT_ARGS="$(get_lit_flags)"
-DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")"
-DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")"
# requires flang
-DOPENMP_TEST_Fortran_COMPILER=
)
cmake_src_configure
if [[ ${build_devicertl} == FALSE ]]; then
# clang requires libomptarget.devicertl.a, but it can be empty
> "${BUILD_DIR}"/libomptarget.devicertl.a || die
fi
}
src_test() {
# respect TMPDIR!
local -x LIT_PRESERVES_TMP=1
cmake_build check-offload
}
src_install() {
cmake_src_install
if [[ ! -f ${ED}/usr/$(get_libdir)/libomptarget.devicertl.a ]]
then
dolib.a "${BUILD_DIR}"/libomptarget.devicertl.a
fi
}