diff options
author | V3n3RiX <venerix@koprulu.sector> | 2025-02-23 19:24:10 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2025-02-23 19:24:10 +0000 |
commit | 575bcb9220287a6f0d2577db1fd9fe55d9d8b745 (patch) | |
tree | 52f12cfa140d4839d32305dd42eebe34e9686234 /llvm-runtimes/offload | |
parent | 4c5bd80830992553e02f099442277e10ee97372d (diff) |
gentoo auto-resync : 23:02:2025 - 19:24:09
Diffstat (limited to 'llvm-runtimes/offload')
-rw-r--r-- | llvm-runtimes/offload/Manifest | 2 | ||||
-rw-r--r-- | llvm-runtimes/offload/offload-21.0.0_pre20250221.ebuild | 139 |
2 files changed, 141 insertions, 0 deletions
diff --git a/llvm-runtimes/offload/Manifest b/llvm-runtimes/offload/Manifest index fbba55e2cb88..5d35d1d18c77 100644 --- a/llvm-runtimes/offload/Manifest +++ b/llvm-runtimes/offload/Manifest @@ -3,10 +3,12 @@ DIST llvm-project-19.1.7.src.tar.xz.sig 438 BLAKE2B 4015140f4ba77de45039bdbdfbaf DIST llvm-project-20.1.0-rc2.src.tar.xz 147160684 BLAKE2B 6adc1226f022272d78fb0ed361c190d369a2afc53bf868409fe8f4e092d5ffb9894c71870f072bb68162610782f48088468b4a49cdb1bc731d6689c791a5b5e3 SHA512 f303deaec8f25e1b122a7e85df192b6ea10c51472b78a3d14ad9d0b976a533cfbb9164aff0bc99e447e30938cf43363552c5493b4693e1f23291ea7a9b824bbb DIST llvm-project-20.1.0-rc2.src.tar.xz.sig 566 BLAKE2B aa91f7be228e51b0f2234bb5e0df173e3ddc90b6db4350a9008c2f8ba53220da6eef0c69778aecac3caecf918a0c54a0d910177ffe7643ad7fc5624a97262b7f SHA512 e5563a8a79b5e9ef26d62dc6d4385c1c86d12a652b4b1e7fc9ce45a2ea66e5118112746a61b439823bf99d65aea82285eabf5e07714eec77e6e5cd02feab82ce DIST llvm-project-2cd8207b26ea4269630feba661f68554d7ae3c15.tar.gz 227261597 BLAKE2B 51ce992b651fcf08b7fd520420040803b59f1260947953325400c50bec576c418b162d8ae2d2307e70b885b1185c302a97409bcfe48cdb14b8e1384f4e2dfa9e SHA512 a41749943508ea4a18b47c4e947917b5268544e64372c0c3347f9ab8172a2c229d8b1d813d1e842be1b98aedd624524857ed3bb23fe98ad5f36e7a71581abb4b +DIST llvm-project-581599096e8a1a89ccd3e053a1209c69a9079083.tar.gz 227830555 BLAKE2B 28a04dd5ce96716d389fe049c4b877f55d6e5cad5c77d8867dd7e3a448213ef413e4f4d7d5f77b0702b26a8eb25f53e08d90e2a5a97eaa3f89245531d9f6626d SHA512 d775aea9bf71d60673e966a689ff6b933afecab2c133a1f64a158551ba9db049221148eab5087bab0ce0ff917456b85fb4ea4d7284886326f54617d167a385a5 DIST llvm-project-c30a7f459452d5766da244564bc1d5888346c364.tar.gz 227560986 BLAKE2B c1c833aa6d488530826d96db81ca8be2fcf842ccf5b10a65ff18269fdfa32fa2742fb0a547eb315c2a9ee383e1b6b6cce4a78136e1740e04d322c79fb6a66a86 SHA512 0b68d3462e5eac89f50cff5e64603758ab74c701ff2de88c8569dd45b7e702b5d13b26c2745615c0c355d46d13765f47e4d43e61cde735240c6f386c0090becb EBUILD offload-19.1.7.ebuild 4282 BLAKE2B 270be743903361bb49585f795a23c9c05cfdf4a09b557f178ee842098c4a58aca60508f4cc6f28e29efa5cc027af83fecb73dd7f6d3b14b758220449e8d7b12f SHA512 56805ebf8af58d8aa3d26837de3b995a144a93b698ef25cd1a2c047e7d9a3c29e178a39a506db807d4a274fe475cbd6ca9285bcf395dbd5af98bdd23559196ef EBUILD offload-20.1.0_rc2.ebuild 3814 BLAKE2B 723d81be97e67f60a47c332e659b4dea5ed36d14738817f29e4bab4ed596b744e49d1b3acd71cc8c9d9d604ac985060863a08d96551bbdff41ca234d7ec046ae SHA512 a3a3fda2cb2b2eb3a2aa3e29ab5b3da3d76b58e392cc4f28fdd5c90c40849ca65ff9c9ac180cd495b036a3d57214f2379794bda6c0d2d16fc752576ef09425f0 EBUILD offload-21.0.0.9999.ebuild 3633 BLAKE2B 3b2c5963c4f1549287f43bdf02a35b49f33f7946ca8233a70d3cdd7fa4a1288ecb9e2273220c5e5c8d794b11eea5df76c06bac3713add62332e8826341cbbc53 SHA512 1cccec0d4458497a3d0a2a01cc228e3db4c15e6ca9b809fd4044827a6461002834bef3a000cfc6c528562ac05e11fe27975a56fa6e6d497295424b847dcff84e EBUILD offload-21.0.0_pre20250211.ebuild 3633 BLAKE2B 3b2c5963c4f1549287f43bdf02a35b49f33f7946ca8233a70d3cdd7fa4a1288ecb9e2273220c5e5c8d794b11eea5df76c06bac3713add62332e8826341cbbc53 SHA512 1cccec0d4458497a3d0a2a01cc228e3db4c15e6ca9b809fd4044827a6461002834bef3a000cfc6c528562ac05e11fe27975a56fa6e6d497295424b847dcff84e EBUILD offload-21.0.0_pre20250215.ebuild 3633 BLAKE2B 3b2c5963c4f1549287f43bdf02a35b49f33f7946ca8233a70d3cdd7fa4a1288ecb9e2273220c5e5c8d794b11eea5df76c06bac3713add62332e8826341cbbc53 SHA512 1cccec0d4458497a3d0a2a01cc228e3db4c15e6ca9b809fd4044827a6461002834bef3a000cfc6c528562ac05e11fe27975a56fa6e6d497295424b847dcff84e +EBUILD offload-21.0.0_pre20250221.ebuild 3633 BLAKE2B 3b2c5963c4f1549287f43bdf02a35b49f33f7946ca8233a70d3cdd7fa4a1288ecb9e2273220c5e5c8d794b11eea5df76c06bac3713add62332e8826341cbbc53 SHA512 1cccec0d4458497a3d0a2a01cc228e3db4c15e6ca9b809fd4044827a6461002834bef3a000cfc6c528562ac05e11fe27975a56fa6e6d497295424b847dcff84e MISC metadata.xml 379 BLAKE2B 2b4c75d4ec6e126d887b736ea978c4b34683a347252f408c9d1f5f55c6c1bead7b7f9533812806f816538d8abaa00ded4d439dbe626d3f2cf09b78a3674e41bd SHA512 d49054d4b5a1a051d83f1ef397a7925fb36ee3092668d134e6ed5c1218bf5d67a43145b689709677643da070a783ec9f8705b37f15587475829fe185634af1d4 diff --git a/llvm-runtimes/offload/offload-21.0.0_pre20250221.ebuild b/llvm-runtimes/offload/offload-21.0.0_pre20250221.ebuild new file mode 100644 index 000000000000..449f09fef8cf --- /dev/null +++ b/llvm-runtimes/offload/offload-21.0.0_pre20250221.ebuild @@ -0,0 +1,139 @@ +# 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 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}" +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 + ) +" + +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() { + # 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 +} |