summaryrefslogtreecommitdiff
path: root/sys-libs/libomp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-08-06 02:09:04 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-08-06 02:09:04 +0100
commit51f0d16e058c162dbce0f93d871ba45683b0ab3a (patch)
tree8dd3bc53a0d23549a8f210ce4bfdf74b36b9319f /sys-libs/libomp
parent35bf81c760d4e362615c32e69329ef61a01281f7 (diff)
gentoo auto-resync : 06:08:2022 - 02:09:04
Diffstat (limited to 'sys-libs/libomp')
-rw-r--r--sys-libs/libomp/Manifest1
-rw-r--r--sys-libs/libomp/libomp-16.0.0.9999.ebuild129
2 files changed, 130 insertions, 0 deletions
diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest
index 8e075dfd1e77..464577bef550 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -6,4 +6,5 @@ DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69b
EBUILD libomp-13.0.1.ebuild 3836 BLAKE2B bfecc3ecb5928ba0c4f1e79baf7108705b33b654631ebc05a52bebab494eebefe6ec1f7403170f5e0b541942618a88ebad52f5ba80bf185a2544170df3c84bcc SHA512 97a257c4e40440c83dc72d76f67d5b4b49ea74b138e541163c3bc938a50052fae3ae988c60a290c1b0051efc623f9be464c1801b5b7569a8cbb446724fe8267b
EBUILD libomp-14.0.6-r1.ebuild 3846 BLAKE2B ba454ff21aa950024868546e76e34f7eae5e0df1e72f828832c7f32d4b5cb544d479b18e609adbfc2352e5773c9cc08717a0b09d6bcbf1c76020dc4911edd7e6 SHA512 6547e2e6c9847fa9dc0eee0717db07347764937f942db9a13f3e47615954fc3a15b7db1516f629c0e2036ee8367cba6aea7bd27c27d2a4b9b51922afc97e7ebb
EBUILD libomp-15.0.0.9999.ebuild 3250 BLAKE2B 93eb6805d0b96f8b9adb99c0b69b41a8b0f7e58c9aa3a8c8d58d98b265f0656b802638b3faf206f8603e7a591227eeb1853a97be6629c24b32c2f609369e3be5 SHA512 340e88828c233a54a03622db8cbfc468fc9a117665014cf5c431ae611e21bffe6286d3cd41478ae6425047ba9cb1f067498c19895b74dc432e93caf753874c70
+EBUILD libomp-16.0.0.9999.ebuild 3250 BLAKE2B 93eb6805d0b96f8b9adb99c0b69b41a8b0f7e58c9aa3a8c8d58d98b265f0656b802638b3faf206f8603e7a591227eeb1853a97be6629c24b32c2f609369e3be5 SHA512 340e88828c233a54a03622db8cbfc468fc9a117665014cf5c431ae611e21bffe6286d3cd41478ae6425047ba9cb1f067498c19895b74dc432e93caf753874c70
MISC metadata.xml 908 BLAKE2B c200fb1c93ae8fbd3963b2b575586fbe8f6df2308a2babbe3da77c2cf59c3fa43f938849d47df2ef4acf381f247848c363a20cf33ad763be169764cbe43c4bb4 SHA512 3cde603a2de523c21fbf288d459d76c697f2291d3dc3dac47e70781a910b4d524442d3076d8541818f2d43c3c6477af75d5f0cb76c4fbe0b4567a11d67edb056
diff --git a/sys-libs/libomp/libomp-16.0.0.9999.ebuild b/sys-libs/libomp/libomp-16.0.0.9999.ebuild
new file mode 100644
index 000000000000..8ba05d6be239
--- /dev/null
+++ b/sys-libs/libomp/libomp-16.0.0.9999.ebuild
@@ -0,0 +1,129 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CMAKE_ECLASS=cmake
+PYTHON_COMPAT=( python3_{8..11} )
+inherit cmake-multilib linux-info llvm llvm.org python-any-r1
+
+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"
+KEYWORDS=""
+IUSE="
+ debug hwloc offload ompt test
+ llvm_targets_AMDGPU llvm_targets_NVPTX
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ hwloc? ( >=sys-apps/hwloc-2.5:0=[${MULTILIB_USEDEP}] )
+ offload? (
+ virtual/libelf:=[${MULTILIB_USEDEP}]
+ dev-libs/libffi:=[${MULTILIB_USEDEP}]
+ ~sys-devel/llvm-${PV}[${MULTILIB_USEDEP}]
+ )
+"
+# 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_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]')
+ sys-devel/clang
+ )
+"
+
+LLVM_COMPONENTS=( openmp cmake llvm/include )
+llvm.org_set_globals
+
+python_check_deps() {
+ has_version "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+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=${PV%%.*} llvm_pkg_setup
+ use test && python-any-r1_pkg_setup
+}
+
+multilib_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 mycmakeargs=(
+ -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}"
+
+ -DLIBOMP_USE_HWLOC=$(usex hwloc)
+ -DLIBOMP_OMPT_SUPPORT=$(usex ompt)
+
+ -DOPENMP_ENABLE_LIBOMPTARGET=$(usex offload)
+
+ # do not install libgomp.so & libiomp5.so aliases
+ -DLIBOMP_INSTALL_ALIASES=OFF
+ # disable unnecessary hack copying stuff back to srcdir
+ -DLIBOMP_COPY_EXPORTS=OFF
+ )
+
+ if use offload; 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
+}