diff options
| author | Michał Górny <mgorny@gentoo.org> | 2025-11-01 13:01:01 +0100 |
|---|---|---|
| committer | Michał Górny <mgorny@gentoo.org> | 2025-11-01 13:01:01 +0100 |
| commit | 91301e666a4a0481715b372da146239e6f1dfaa9 (patch) | |
| tree | 2052dffd0e6f0a12860d1129ff328fe402695d8d /llvm-runtimes | |
| parent | 30e833124117b8a4320e3fa8514de4e5ae8f897d (diff) | |
| download | gentoo-91301e666a4a0481715b372da146239e6f1dfaa9.tar.gz gentoo-91301e666a4a0481715b372da146239e6f1dfaa9.tar.bz2 gentoo-91301e666a4a0481715b372da146239e6f1dfaa9.zip | |
llvm-runtimes/offload: Add 22.0.0_pre20251101 snapshot
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'llvm-runtimes')
| -rw-r--r-- | llvm-runtimes/offload/Manifest | 1 | ||||
| -rw-r--r-- | llvm-runtimes/offload/offload-22.0.0_pre20251101.ebuild | 138 |
2 files changed, 139 insertions, 0 deletions
diff --git a/llvm-runtimes/offload/Manifest b/llvm-runtimes/offload/Manifest index 027e1c177c59..622fd991801e 100644 --- a/llvm-runtimes/offload/Manifest +++ b/llvm-runtimes/offload/Manifest @@ -4,4 +4,5 @@ DIST llvm-project-20.1.8.src.tar.xz 147242952 BLAKE2B 7657ac0b26acc5affb1bfc91b9 DIST llvm-project-20.1.8.src.tar.xz.sig 566 BLAKE2B 85beedfcff1195a974fab2c667b9efd4b715b3480c1b44b1b887fe32c69f72aca0d3b8fb276c03b6cc5a866622f669047aeee5ccb976640b4008ccd31dce77a4 SHA512 d74369bdb4d1b82775161ea53c9c5f3a23ce810f4df5ff617123023f9d8ce720e7d6ecc9e17f8ebd39fd9e7a9de79560abdf2ffe73bcb907a43148d43665d619 DIST llvm-project-21.1.4.src.tar.xz 158939036 BLAKE2B b87eff4e3cb881d86aafcfdb46d85344ad6ae92d5c1e72c05282f375b4b11844756d0e6b4d0da5e522a348170a5da9842917737e272b758d8dde7e1fb2bee135 SHA512 a8c0883abe7c5a3e55ca7ed0fd974fae4351184a0b0df18295a982ca8ddb0f8d167353564204ed00f0cd9a1d8baef7074c0b39a99e0b5c52ced6bbee73dde3da DIST llvm-project-21.1.4.src.tar.xz.sig 119 BLAKE2B c74a56448ad3e325234fcbe7d62ea888831e1e7696afb5aa5a185ea76a0880abe2d755f9e69a07760bbf9380534c3bb96c920ed6359ffd0f5f51c962d1494dcf SHA512 4812c2e3861aa3b726d842c3ca259b19ef1aa531fed9f6f47099483de91de2b2a165f40d243f6f40f2eea749741d5f8b7090f394399c56db02053f308921077a +DIST llvm-project-7631c73850bec991ec9a7c9cca58c275bb0277a4.tar.gz 253713417 BLAKE2B 0126bdf53ffb57ca0fa471c01deb4f0a9f824083c332f72e14ea7dc843cf80e7360aa0bcd8eff22f42f993db2b077c696c25232c1a9d98cfa865d98569398b55 SHA512 58488afe3eb7865f171ac5f692a8c1252bf3d049420a72e72581e5024066b2a4ba2dbfa5c9f06de799ad3e04949997e61c60ee0f89aa6a8642b6d9263c78a144 DIST llvm-project-c1779f33bdada6e478e882cc23a647ef9abaad96.tar.gz 253250521 BLAKE2B fbd40cb52d56d5a817ff6cb469b9772af4eb358584eed1440c82864923add456961a672784838f510c390680a54c4abc7a33159848a34133f8d23b80b5feb0ef SHA512 01f8944ee6c89fd4a56caab236b302bc6b49b933c968a73edcb00ae2522b884371a05a75dec1321b0efed24e20cde4a58e1697c3c097f26ed0fbd629d8cf561c diff --git a/llvm-runtimes/offload/offload-22.0.0_pre20251101.ebuild b/llvm-runtimes/offload/offload-22.0.0_pre20251101.ebuild new file mode 100644 index 000000000000..6d87304be648 --- /dev/null +++ b/llvm-runtimes/offload/offload-22.0.0_pre20251101.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..14} ) +inherit cmake crossdev flag-o-matic llvm.org python-any-r1 +inherit 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}" +IUSE="+clang +debug ompt test llvm_targets_AMDGPU llvm_targets_NVPTX" +REQUIRED_USE=" + llvm_targets_AMDGPU? ( clang ) + llvm_targets_NVPTX? ( clang ) +" +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 + clang? ( llvm-core/clang ) + 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 + ) +" + +LLVM_COMPONENTS=( runtimes offload cmake libc llvm/{cmake,utils/llvm-lit} ) +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() { + if use clang && ! is_crosspkg; then + # Only do this conditionally to allow overriding with + # e.g. CC=clang-13 in case of breakage + if ! tc-is-clang ; then + local -x CC=${CHOST}-clang + local -x CXX=${CHOST}-clang++ + fi + + strip-unsupported-flags + fi + + # 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" + + if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then + if use llvm_targets_AMDGPU; then + plugins+=";amdgpu" + fi + if use llvm_targets_NVPTX; then + plugins+=";cuda" + fi + fi + + local mycmakeargs=( + -DLLVM_ENABLE_RUNTIMES=offload + -DOPENMP_STANDALONE_BUILD=ON + -DOFFLOAD_LIBDIR_SUFFIX="${libdir#lib}" + -DLLVM_ROOT="${ESYSROOT}/usr/lib/llvm/${LLVM_MAJOR}" + + -DOFFLOAD_INCLUDE_TESTS=$(usex test) + -DLIBOMPTARGET_PLUGINS_TO_BUILD="${plugins}" + -DLIBOMPTARGET_OMPT_SUPPORT="$(usex ompt)" + + # this breaks building static target libs + -DBUILD_SHARED_LIBS=OFF + ) + + [[ ! ${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 +} + +src_test() { + # respect TMPDIR! + local -x LIT_PRESERVES_TMP=1 + + cmake_build check-offload check-offload-unit +} |
