--- /usr/portage/sys-libs/libomp/libomp-9.0.0.ebuild 2019-11-03 06:09:50.000000000 -0600 +++ libomp-9.0.0.ebuild 2019-12-03 08:47:15.994041981 -0600 @@ -4,7 +4,7 @@ EAPI=7 PYTHON_COMPAT=( python{2_7,3_{5,6,7}} ) -inherit cmake-multilib linux-info llvm.org multiprocessing python-any-r1 +inherit cmake-multilib linux-info llvm.org llvm multiprocessing python-any-r1 DESCRIPTION="OpenMP runtime library for LLVM/clang compiler" HOMEPAGE="https://openmp.llvm.org" @@ -67,8 +67,10 @@ } multilib_src_configure() { + local llvm_prefix=$(get_llvm_prefix -b) local libdir="$(get_libdir)" local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="${llvm_prefix}" -DOPENMP_LIBDIR_SUFFIX="${libdir#lib}" -DLIBOMP_USE_HWLOC=$(usex hwloc) @@ -81,6 +83,13 @@ # disable unnecessary hack copying stuff back to srcdir -DLIBOMP_COPY_EXPORTS=OFF ) + if use cuda; then + export CC="${llvm_prefix}/bin/clang" + export CXX="${llvm_prefix}/bin/clang++" + mycmakeargs+=( + -DLIBOMPTARGET_NVPTX_COMPUTE_CAPABILITIES=35,60,70 + ) + fi use offload && mycmakeargs+=( # this is non-fatal and libomp checks for CUDA conditionally # to ABI, so we can just ignore passing the wrong value