summaryrefslogtreecommitdiff
path: root/sys-libs/libomp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-06-04 09:34:05 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-06-04 09:34:05 +0100
commit13b130894803eda558b74353eda3bf7504615b38 (patch)
treeeb6788b9eeef843120928d0df4cd2b5667aeccb3 /sys-libs/libomp
parent5c9bbe083a12cfb9666fed4abe5bce219ff2f019 (diff)
gentoo auto-resync : 04:06:2023 - 09:34:05
Diffstat (limited to 'sys-libs/libomp')
-rw-r--r--sys-libs/libomp/Manifest2
-rw-r--r--sys-libs/libomp/libomp-17.0.0_pre20230602.ebuild151
2 files changed, 153 insertions, 0 deletions
diff --git a/sys-libs/libomp/Manifest b/sys-libs/libomp/Manifest
index b53ed6a5f4ae..d2565c286afb 100644
--- a/sys-libs/libomp/Manifest
+++ b/sys-libs/libomp/Manifest
@@ -12,6 +12,7 @@ DIST llvm-project-16.0.4.src.tar.xz.sig 566 BLAKE2B 43cb2147f12f98f864797158e8ef
DIST llvm-project-16.0.5.src.tar.xz 118000368 BLAKE2B 9f84e6bab450dc8d6379771afbca5cddc6fbad6c9728726f7158f290ab87d464ff657e89e1c8fc3c474362cc865ff13c5d55ef758c848ea3e660d732cb2fdefa SHA512 7008e7e9c8c2246fe98ba3f0c0fa91e41c88c4da427bf1cfdcce7ef57e5ea838efe7c58c523a7d1708e70d64a4338afe16d06fba2fc7ac5a6c19ca3d6ee41e99
DIST llvm-project-16.0.5.src.tar.xz.sig 566 BLAKE2B 4c96f294f350e0086f8504a54c3387308c60efb573c8def40aec45b1918d43e36c44bafb0823625b6cefa5d99b3aacd7823d6c92c7a64a737653d5b51839a924 SHA512 4550c7c6a1b6ea603d1499aba5aca746f3948a00e7567604f5e7dc3b215a34357bad382a7ebea1f6cd7952841cb75a0dfbe2c278a8c6fcb630a5035b3e16e869
DIST llvm-project-a2684acfb61d40f441e240035d7f1ba50da637c8.tar.gz 184900914 BLAKE2B fb1f836738415a640bc84283722f6a7355a06bc8ac05b544dd4ad4ac9552dcf70040b82b0493c5b4485b28610412279ec0adcf467e71915167aa7d010c08216e SHA512 c08ff8abc166399e692d3166ccf65eb4b647893cba8ffc10bcda815bc914a944855bac036d6349f6d820a6ff43d5417170e6ff8620d97a2a144a0898e95d09e3
+DIST llvm-project-f9753ef1893c3d953a0244e7935d3997499b079a.tar.gz 185505236 BLAKE2B 570a8937788027ee2cef0dad6be693c57b4a5634c0c1fc2bc1c2f534fb4ae00203f14b1bcf0a0f241e7e1e8c25120dc6ea7ede2a10bed397e1cc377318ebe7a0 SHA512 c12eade7c9790ec2a790017b1451a15f0ff7d1b60879f08a448edcb4f162703650b244fdc2fc284335dff4b2a37ef5d488e0d771abee79b49cac94b9e478f010
EBUILD libomp-14.0.6-r1.ebuild 3917 BLAKE2B d92540af690dd622122ad1a4ed2548afa141f1254fbe9a9b3d34286b36f0fa70ccaf915f218c1bea8c68377ea20724db9443d365e2e5f290707f444d3ff47ca5 SHA512 433ae63716103af5aa493c7dbae43f10003cac95abaae579dcb61cba6390da4b9b3fc921e410ba899719bd170fa153a7b3d66c8776c37fd074066173c1fea160
EBUILD libomp-15.0.7-r2.ebuild 3474 BLAKE2B c75fddce61b7e8fe837b4c5bc1b7dacfbe4bc1572537dd7c44c23f894d05b104e8946d896b3b19d78de32a87d866d5911a0f3a8f81796469bba2753d051b2105 SHA512 7dc7c5fd7cd370acadfdf6e15ed09cde0798312ed3c72e770596aecb5817a4ec1477cc1092e3c159d1988bba4200808259705206f80d8fd0019fe07c34f4455d
EBUILD libomp-15.0.7-r6.ebuild 3480 BLAKE2B 89d638d156dba3a56ad23baef8b14084f1d890ad31980427700a0b04f7199894d24a60df5c40d40815f469ca1e8ac726e0914538bad52ea94702e179cb5bd85d SHA512 005b5f4be5b2433c9c16c483235500ebb22a56e6df70cc53e62ac73aed14cd8c65e2dbcf1457f3cad1d0cb6ca68a7d98e8543803fccf32cd5457f92c0db27df8
@@ -21,4 +22,5 @@ EBUILD libomp-16.0.5.9999.ebuild 3920 BLAKE2B f128f041db9ab95beed986fad4fce1d70d
EBUILD libomp-16.0.5.ebuild 3993 BLAKE2B 12ea9bf058a78f1a4439ee65528a592b0fed0a1234e3c318a748f9bf8e520763c7ffda28719f00abbb01fb1a77798f1094ed48fc344d1ea12999a0bbe60a8675 SHA512 b517da1c7c983f21969377852743b5015f6ea86ec078f330d100c8a5bc39de6ee0aa488a15f1702ea765a958ec9ea8903226d81a3ba154273cfa8a5e615cb3b5
EBUILD libomp-17.0.0.9999.ebuild 3921 BLAKE2B 2aa5aa2719a4f9a7f244cd92fb819d0fafc81d7f806d1b295c583159e0884c14c04bf1188d8c9e315c4cd2e1d3940311cd4e80f03e501958cd3b38e1c0567ab9 SHA512 c6f7bbf7296b24154a170c47044851c7331564af58cdca813ac13903535e49438c9165c8c811e72ad18e0a2db4e890f9dce163f6f07b0b1d60a473e455402b00
EBUILD libomp-17.0.0_pre20230526.ebuild 3921 BLAKE2B 2aa5aa2719a4f9a7f244cd92fb819d0fafc81d7f806d1b295c583159e0884c14c04bf1188d8c9e315c4cd2e1d3940311cd4e80f03e501958cd3b38e1c0567ab9 SHA512 c6f7bbf7296b24154a170c47044851c7331564af58cdca813ac13903535e49438c9165c8c811e72ad18e0a2db4e890f9dce163f6f07b0b1d60a473e455402b00
+EBUILD libomp-17.0.0_pre20230602.ebuild 3921 BLAKE2B 2aa5aa2719a4f9a7f244cd92fb819d0fafc81d7f806d1b295c583159e0884c14c04bf1188d8c9e315c4cd2e1d3940311cd4e80f03e501958cd3b38e1c0567ab9 SHA512 c6f7bbf7296b24154a170c47044851c7331564af58cdca813ac13903535e49438c9165c8c811e72ad18e0a2db4e890f9dce163f6f07b0b1d60a473e455402b00
MISC metadata.xml 963 BLAKE2B fdea4545db21492049061b85eaa7038965183e10aceae7c41daadc1ce10e7e1bcb2e86344659787ee244360b50b51c99e1a348d3acd2185dac80097541a00dd7 SHA512 c279f8e9c2463dc3f6e02856e520105d6f3321b633439bfe7409bfd6e7e43f1450053dc4f6663492caf7077caf3f4ab0f5cf0161631639e3aefa9ff985dc476f
diff --git a/sys-libs/libomp/libomp-17.0.0_pre20230602.ebuild b/sys-libs/libomp/libomp-17.0.0_pre20230602.ebuild
new file mode 100644
index 000000000000..0da07fface9a
--- /dev/null
+++ b/sys-libs/libomp/libomp-17.0.0_pre20230602.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+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}"
+KEYWORDS=""
+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
+}