commit: 39f548062f464b50387eb0d52db49956ccff5245
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 24 13:32:20 2023 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue Jan 24 13:34:40 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39f54806
sys-libs/libomp: Stop enabling libomptarget on 32-bit arches in 16.x
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-libs/libomp/libomp-16.0.0.9999.ebuild | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/sys-libs/libomp/libomp-16.0.0.9999.ebuild
b/sys-libs/libomp/libomp-16.0.0.9999.ebuild
index b9c22f965396..971931877b19 100644
--- a/sys-libs/libomp/libomp-16.0.0.9999.ebuild
+++ b/sys-libs/libomp/libomp-16.0.0.9999.ebuild
@@ -4,7 +4,8 @@
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
-inherit flag-o-matic cmake-multilib linux-info llvm llvm.org python-single-r1
+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"
@@ -86,6 +87,17 @@ multilib_src_configure() {
# 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}"
@@ -94,7 +106,7 @@ multilib_src_configure() {
-DLIBOMP_OMPD_GDB_SUPPORT=$(multilib_native_usex gdb-plugin)
-DLIBOMP_OMPT_SUPPORT=$(usex ompt)
- -DOPENMP_ENABLE_LIBOMPTARGET=$(usex offload)
+ -DOPENMP_ENABLE_LIBOMPTARGET=${build_omptarget}
# do not install libgomp.so & libiomp5.so aliases
-DLIBOMP_INSTALL_ALIASES=OFF
@@ -102,7 +114,7 @@ multilib_src_configure() {
-DLIBOMP_COPY_EXPORTS=OFF
)
- if use offload; then
+ if [[ ${build_omptarget} == ON ]]; then
if has "${CHOST%%-*}" aarch64 powerpc64le x86_64; then
mycmakeargs+=(
-DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=$(usex
llvm_targets_AMDGPU)