summaryrefslogtreecommitdiff
path: root/sys-libs/libomp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-01-13 01:09:33 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-01-13 01:09:33 +0000
commit58523314abd7b5740c06e3bbcd41ada404e7c612 (patch)
tree2ec4372c4b63bd8679af9b4c591c2743e421b1b9 /sys-libs/libomp
parent4fc30e4e13ecfbe29fbef3b5caf96218eab30b68 (diff)
gentoo auto-resync : 13:01:2024 - 01:09:33
Diffstat (limited to 'sys-libs/libomp')
-rw-r--r--sys-libs/libomp/Manifest6
-rw-r--r--sys-libs/libomp/libomp-18.0.0_pre20231215.ebuild150
-rw-r--r--sys-libs/libomp/libomp-18.0.0_pre20231222.ebuild150
-rw-r--r--sys-libs/libomp/libomp-18.0.0_pre20231228.ebuild150
4 files changed, 0 insertions, 456 deletions
diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest
index bfd4b7474503..0e16ed46b6ea 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -5,16 +5,10 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
-DIST llvm-project-17858ce6f3d24f994f6ad8c899bfa4eed39f739d.tar.gz 204267841 BLAKE2B 05232178574de9f7e6d4c2e5eb59cabc70670d14b5f92010a42aa3ab6087abd992672044857e6f8d21cd9d2c3d8129b47420f5e3ec746b50e82a3cac5352e824 SHA512 e7836fc56d7121d762cd714a4cd5e28c8b068ff375928d3b5cd32d7e4488b5cf59b21e16250b4f12a973ada3f73ce246af2cc3cd83efca17dc9c3da5b458196d
DIST llvm-project-a085402ef54379758e6c996dbaedfcb92ad222b5.tar.gz 204569231 BLAKE2B 75403225fbe54f0921b279b237a90f1922b16997d1538fa5f225e04451fa2fc4a28e886efb7460ef0c26a3a964f0c57084e331b0736fa223926259c76d873200 SHA512 b8c6b0c7c0a4c369ecfa7ac71cf96549a19853e14bdf061b6b54429ce7ed998b236bb9ed3adbd6bf1c70c7e975508f751ebd0031ac2ff474d32216048a1c5f2d
-DIST llvm-project-a700298b3d538452915703268ca18f7f8f7537e6.tar.gz 204307149 BLAKE2B 70c7bdf9694343145d12fe494bceb7e4c4325136a4d8eecaec0a53cb6193d42a6ce47e048569f4fe3bc1754e6a114cbc97225344f9cfc4f39935323d4cb64f68 SHA512 76b2c621a97ec3fffe504f4e7c9c5af4db1ee63556291078d302c2c88596b7d07d07d607226361d4272f7757cd8246faff64f4ad36b86cde141ded65fd0b7a62
-DIST llvm-project-d37ced88809cb4d2df57ec80887b3f8801ca719b.tar.gz 203826420 BLAKE2B 58448df837f2119720a36b837d0e4f2b2fc00da5658706b193b9d2d180cf0f6c5eb79a9cc0fa9d94310996a95210115a5a46371bd8537f16e105adea14a72399 SHA512 1348e5bf736acaeebf0ae0f613973e6c2d439d360c2272bb4ab112e579b12c297970bb765fd774c768aa55a922c93048b1d8ae6bfd636b241fa86f9427cc2069
EBUILD libomp-15.0.7-r6.ebuild 3474 BLAKE2B e8ab2666defb3a2d0582f0413ade0efce3d5e5d42ee935dc89915c079dd3d7e2c9dde77edb4e3dadee7b1a60a311615f253feef33f73dee90a0ddc9383bbfaa1 SHA512 e6e672ff57b1419b33b2c0da4e2535005b720e3cd34fa18245fdf319bbe70235bcbaa8baeca36381684041f57032ef4a7f0ece4ad1a84336ebd3087759fe31e9
EBUILD libomp-16.0.6.ebuild 3988 BLAKE2B 31eee2f5b764917a62cb307fab6dd0744594dc0ebdc04c359a85eb6372421a42431dd9de792671e1f0d326d798df1bbae5949529a22d7f2a99cae02d6734a37b SHA512 4e62220e10ab0aa1b64ae9557055b1ac6ecc145ae81cbe94445a335ad4e0d7e541dd13db4ffcffaaf80a50e2f13136982828d4d0211e5dc925a0b6ef2a2825a7
EBUILD libomp-17.0.6.ebuild 3992 BLAKE2B 1f6d206d122f20637d7c8df9e654a2b7d3395cb29ed52ef8d985e8faaefbd0e026ffe0b1947f9a3481800558eda1dbf96f1380d764ae09b22c068172b17deaae SHA512 31241e680cc729bfb64561062eb9b202191fb7c342fd8912f56af1c2ec773ac9634f40eb5771997c546065e1af87daac09562ba2b442bdb99c7cd22cd2077d1f
EBUILD libomp-18.0.0.9999.ebuild 3910 BLAKE2B 9104678d4e75d56a9dcd6f7b1f032130534e49d78d5a99194fe93a064ae1bb734b865fec73da45598c9d91b479b16cc327c577bfb98c17cd061d83b228b3baac SHA512 30343370384efe4791fb91df02f465a64c67a98ad480f5a8e8d3a4d16d7b8a4c5fc564936b8c6b4facbe1443bd34542c76d344a7f7b745ca9b85622917d1c486
-EBUILD libomp-18.0.0_pre20231215.ebuild 3910 BLAKE2B 9104678d4e75d56a9dcd6f7b1f032130534e49d78d5a99194fe93a064ae1bb734b865fec73da45598c9d91b479b16cc327c577bfb98c17cd061d83b228b3baac SHA512 30343370384efe4791fb91df02f465a64c67a98ad480f5a8e8d3a4d16d7b8a4c5fc564936b8c6b4facbe1443bd34542c76d344a7f7b745ca9b85622917d1c486
-EBUILD libomp-18.0.0_pre20231222.ebuild 3910 BLAKE2B 9104678d4e75d56a9dcd6f7b1f032130534e49d78d5a99194fe93a064ae1bb734b865fec73da45598c9d91b479b16cc327c577bfb98c17cd061d83b228b3baac SHA512 30343370384efe4791fb91df02f465a64c67a98ad480f5a8e8d3a4d16d7b8a4c5fc564936b8c6b4facbe1443bd34542c76d344a7f7b745ca9b85622917d1c486
-EBUILD libomp-18.0.0_pre20231228.ebuild 3910 BLAKE2B 9104678d4e75d56a9dcd6f7b1f032130534e49d78d5a99194fe93a064ae1bb734b865fec73da45598c9d91b479b16cc327c577bfb98c17cd061d83b228b3baac SHA512 30343370384efe4791fb91df02f465a64c67a98ad480f5a8e8d3a4d16d7b8a4c5fc564936b8c6b4facbe1443bd34542c76d344a7f7b745ca9b85622917d1c486
EBUILD libomp-18.0.0_pre20240106.ebuild 3910 BLAKE2B 7d42af77f9a57c5d38402eadd153ea32d9349c67428bdbf7941fc5aa093d7f4db37d38f77f0c9f20f45a04c809eac577b650a7608c0752415fc1a3d6edd8bc6d SHA512 fcb0c040fd64054d43e9ef7ffedba057d653978d30019b9fff5e7221abd5fea6205d85115ed320d098d069cc2b7a760486d36239653b60a784097ae95926a865
MISC metadata.xml 883 BLAKE2B 127e896b82a49633a6866b33ca776ebe2dd149a5d04da4484a53186f219a85db0ab9d826bc1cc61d4df9fa54c9bcc546be070a0b28985174925fd947aa09cca2 SHA512 dc32cae01401feb93eede6506b3955c766ff19b44976fcc67277559b23ac151993377daeed9ba83b2dd71dbdeea330cd1208dcb0c9c5f56be270883b31f9b15f
diff --git a/sys-libs/libomp/libomp-18.0.0_pre20231215.ebuild b/sys-libs/libomp/libomp-18.0.0_pre20231215.ebuild
deleted file mode 100644
index 960f9ce8087f..000000000000
--- a/sys-libs/libomp/libomp-18.0.0_pre20231215.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit flag-o-matic cmake-multilib linux-info llvm llvm.org
-inherit python-single-r1 toolchain-funcs
-
-DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
-HOMEPAGE="https://openmp.llvm.org"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0/${LLVM_SOABI}"
-IUSE="
- +debug gdb-plugin hwloc offload ompt test
- llvm_targets_AMDGPU llvm_targets_NVPTX
-"
-REQUIRED_USE="
- gdb-plugin? ( ${PYTHON_REQUIRED_USE} )
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- gdb-plugin? ( ${PYTHON_DEPS} )
- hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] )
- offload? (
- dev-libs/libffi:=[${MULTILIB_USEDEP}]
- ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}]
- llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= )
- )
-"
-# tests:
-# - dev-python/lit provides the test runner
-# - sys-devel/llvm provide test utils (e.g. FileCheck)
-# - sys-devel/clang provides the compiler to run tests
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- dev-lang/perl
- offload? (
- llvm_targets_AMDGPU? ( sys-devel/clang )
- llvm_targets_NVPTX? ( sys-devel/clang )
- virtual/pkgconfig
- )
- test? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/lit[${PYTHON_USEDEP}]
- ')
- sys-devel/clang
- )
-"
-
-LLVM_COMPONENTS=( openmp cmake llvm/include )
-llvm.org_set_globals
-
-kernel_pds_check() {
- if use kernel_linux && kernel_is -lt 4 15 && kernel_is -ge 4 13; then
- local CONFIG_CHECK="~!SCHED_PDS"
- local ERROR_SCHED_PDS="\
-PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels >= 4.13-pf11
-< 4.14-pf9) do not implement sched_yield() call which may result in horrible
-performance problems with libomp. If you are using one of the specified
-kernel versions, you may want to disable the PDS scheduler."
-
- check_extra_config
- fi
-}
-
-pkg_pretend() {
- kernel_pds_check
-}
-
-pkg_setup() {
- use offload && LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- if use gdb-plugin || use test; then
- python-single-r1_pkg_setup
- fi
-}
-
-multilib_src_configure() {
- # LTO causes issues in other packages building, #870127
- filter-lto
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
- local build_omptarget=OFF
- # upstream disallows building libomptarget when sizeof(void*) != 8
- if use offload &&
- "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null \
- <<-EOF &>/dev/null
- int test[sizeof(void *) == 8 ? 1 : -1];
- EOF
- then
- build_omptarget=ON
- fi
-
- local libdir="$(get_libdir)"
- local mycmakeargs=(
- -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}"
-
- -DLIBOMP_USE_HWLOC=$(usex hwloc)
- -DLIBOMP_OMPD_GDB_SUPPORT=$(multilib_native_usex gdb-plugin)
- -DLIBOMP_OMPT_SUPPORT=$(usex ompt)
-
- -DOPENMP_ENABLE_LIBOMPTARGET=${build_omptarget}
-
- # do not install libgomp.so & libiomp5.so aliases
- -DLIBOMP_INSTALL_ALIASES=OFF
- # disable unnecessary hack copying stuff back to srcdir
- -DLIBOMP_COPY_EXPORTS=OFF
- # prevent trying to access the GPU
- -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND
- )
-
- if [[ ${build_omptarget} == ON ]]; then
- if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then
- mycmakeargs+=(
- -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=$(usex llvm_targets_AMDGPU)
- -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=$(usex llvm_targets_NVPTX)
- )
- else
- mycmakeargs+=(
- -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=OFF
- -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=OFF
- )
- fi
- fi
-
- 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++")"
- )
- addpredict /dev/nvidiactl
- cmake_src_configure
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
-
- cmake_build check-libomp
-}
diff --git a/sys-libs/libomp/libomp-18.0.0_pre20231222.ebuild b/sys-libs/libomp/libomp-18.0.0_pre20231222.ebuild
deleted file mode 100644
index 960f9ce8087f..000000000000
--- a/sys-libs/libomp/libomp-18.0.0_pre20231222.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit flag-o-matic cmake-multilib linux-info llvm llvm.org
-inherit python-single-r1 toolchain-funcs
-
-DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
-HOMEPAGE="https://openmp.llvm.org"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0/${LLVM_SOABI}"
-IUSE="
- +debug gdb-plugin hwloc offload ompt test
- llvm_targets_AMDGPU llvm_targets_NVPTX
-"
-REQUIRED_USE="
- gdb-plugin? ( ${PYTHON_REQUIRED_USE} )
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- gdb-plugin? ( ${PYTHON_DEPS} )
- hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] )
- offload? (
- dev-libs/libffi:=[${MULTILIB_USEDEP}]
- ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}]
- llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= )
- )
-"
-# tests:
-# - dev-python/lit provides the test runner
-# - sys-devel/llvm provide test utils (e.g. FileCheck)
-# - sys-devel/clang provides the compiler to run tests
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- dev-lang/perl
- offload? (
- llvm_targets_AMDGPU? ( sys-devel/clang )
- llvm_targets_NVPTX? ( sys-devel/clang )
- virtual/pkgconfig
- )
- test? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/lit[${PYTHON_USEDEP}]
- ')
- sys-devel/clang
- )
-"
-
-LLVM_COMPONENTS=( openmp cmake llvm/include )
-llvm.org_set_globals
-
-kernel_pds_check() {
- if use kernel_linux && kernel_is -lt 4 15 && kernel_is -ge 4 13; then
- local CONFIG_CHECK="~!SCHED_PDS"
- local ERROR_SCHED_PDS="\
-PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels >= 4.13-pf11
-< 4.14-pf9) do not implement sched_yield() call which may result in horrible
-performance problems with libomp. If you are using one of the specified
-kernel versions, you may want to disable the PDS scheduler."
-
- check_extra_config
- fi
-}
-
-pkg_pretend() {
- kernel_pds_check
-}
-
-pkg_setup() {
- use offload && LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- if use gdb-plugin || use test; then
- python-single-r1_pkg_setup
- fi
-}
-
-multilib_src_configure() {
- # LTO causes issues in other packages building, #870127
- filter-lto
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
- local build_omptarget=OFF
- # upstream disallows building libomptarget when sizeof(void*) != 8
- if use offload &&
- "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null \
- <<-EOF &>/dev/null
- int test[sizeof(void *) == 8 ? 1 : -1];
- EOF
- then
- build_omptarget=ON
- fi
-
- local libdir="$(get_libdir)"
- local mycmakeargs=(
- -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}"
-
- -DLIBOMP_USE_HWLOC=$(usex hwloc)
- -DLIBOMP_OMPD_GDB_SUPPORT=$(multilib_native_usex gdb-plugin)
- -DLIBOMP_OMPT_SUPPORT=$(usex ompt)
-
- -DOPENMP_ENABLE_LIBOMPTARGET=${build_omptarget}
-
- # do not install libgomp.so & libiomp5.so aliases
- -DLIBOMP_INSTALL_ALIASES=OFF
- # disable unnecessary hack copying stuff back to srcdir
- -DLIBOMP_COPY_EXPORTS=OFF
- # prevent trying to access the GPU
- -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND
- )
-
- if [[ ${build_omptarget} == ON ]]; then
- if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then
- mycmakeargs+=(
- -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=$(usex llvm_targets_AMDGPU)
- -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=$(usex llvm_targets_NVPTX)
- )
- else
- mycmakeargs+=(
- -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=OFF
- -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=OFF
- )
- fi
- fi
-
- 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++")"
- )
- addpredict /dev/nvidiactl
- cmake_src_configure
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
-
- cmake_build check-libomp
-}
diff --git a/sys-libs/libomp/libomp-18.0.0_pre20231228.ebuild b/sys-libs/libomp/libomp-18.0.0_pre20231228.ebuild
deleted file mode 100644
index 960f9ce8087f..000000000000
--- a/sys-libs/libomp/libomp-18.0.0_pre20231228.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit flag-o-matic cmake-multilib linux-info llvm llvm.org
-inherit python-single-r1 toolchain-funcs
-
-DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
-HOMEPAGE="https://openmp.llvm.org"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions || ( UoI-NCSA MIT )"
-SLOT="0/${LLVM_SOABI}"
-IUSE="
- +debug gdb-plugin hwloc offload ompt test
- llvm_targets_AMDGPU llvm_targets_NVPTX
-"
-REQUIRED_USE="
- gdb-plugin? ( ${PYTHON_REQUIRED_USE} )
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- gdb-plugin? ( ${PYTHON_DEPS} )
- hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] )
- offload? (
- dev-libs/libffi:=[${MULTILIB_USEDEP}]
- ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}]
- llvm_targets_AMDGPU? ( dev-libs/rocr-runtime:= )
- )
-"
-# tests:
-# - dev-python/lit provides the test runner
-# - sys-devel/llvm provide test utils (e.g. FileCheck)
-# - sys-devel/clang provides the compiler to run tests
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- dev-lang/perl
- offload? (
- llvm_targets_AMDGPU? ( sys-devel/clang )
- llvm_targets_NVPTX? ( sys-devel/clang )
- virtual/pkgconfig
- )
- test? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- dev-python/lit[${PYTHON_USEDEP}]
- ')
- sys-devel/clang
- )
-"
-
-LLVM_COMPONENTS=( openmp cmake llvm/include )
-llvm.org_set_globals
-
-kernel_pds_check() {
- if use kernel_linux && kernel_is -lt 4 15 && kernel_is -ge 4 13; then
- local CONFIG_CHECK="~!SCHED_PDS"
- local ERROR_SCHED_PDS="\
-PDS scheduler versions >= 0.98c < 0.98i (e.g. used in kernels >= 4.13-pf11
-< 4.14-pf9) do not implement sched_yield() call which may result in horrible
-performance problems with libomp. If you are using one of the specified
-kernel versions, you may want to disable the PDS scheduler."
-
- check_extra_config
- fi
-}
-
-pkg_pretend() {
- kernel_pds_check
-}
-
-pkg_setup() {
- use offload && LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- if use gdb-plugin || use test; then
- python-single-r1_pkg_setup
- fi
-}
-
-multilib_src_configure() {
- # LTO causes issues in other packages building, #870127
- filter-lto
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
- local build_omptarget=OFF
- # upstream disallows building libomptarget when sizeof(void*) != 8
- if use offload &&
- "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null \
- <<-EOF &>/dev/null
- int test[sizeof(void *) == 8 ? 1 : -1];
- EOF
- then
- build_omptarget=ON
- fi
-
- local libdir="$(get_libdir)"
- local mycmakeargs=(
- -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}"
-
- -DLIBOMP_USE_HWLOC=$(usex hwloc)
- -DLIBOMP_OMPD_GDB_SUPPORT=$(multilib_native_usex gdb-plugin)
- -DLIBOMP_OMPT_SUPPORT=$(usex ompt)
-
- -DOPENMP_ENABLE_LIBOMPTARGET=${build_omptarget}
-
- # do not install libgomp.so & libiomp5.so aliases
- -DLIBOMP_INSTALL_ALIASES=OFF
- # disable unnecessary hack copying stuff back to srcdir
- -DLIBOMP_COPY_EXPORTS=OFF
- # prevent trying to access the GPU
- -DLIBOMPTARGET_AMDGPU_ARCH=LIBOMPTARGET_AMDGPU_ARCH-NOTFOUND
- )
-
- if [[ ${build_omptarget} == ON ]]; then
- if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then
- mycmakeargs+=(
- -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=$(usex llvm_targets_AMDGPU)
- -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=$(usex llvm_targets_NVPTX)
- )
- else
- mycmakeargs+=(
- -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=OFF
- -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=OFF
- )
- fi
- fi
-
- 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++")"
- )
- addpredict /dev/nvidiactl
- cmake_src_configure
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
-
- cmake_build check-libomp
-}