sys-cluster/mrnet: libi support

Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
Alessandro Barbieri
2021-07-13 17:35:58 +02:00
parent a94f61c059
commit fcdc7e3531
3 changed files with 59 additions and 26 deletions

View File

@@ -0,0 +1,32 @@
--- a/conf/Makefile.in
+++ b/conf/Makefile.in
@@ -191,8 +191,8 @@
LIBI_TARGETS =
-LIBLIBI = $(LIBDIR)/liblibi.a
-LIBLIBI_SO = $(LIBDIR)/liblibi.so
+LIBLIBI =
+LIBLIBI_SO =
ifeq ($(MRNET_STARTUP_METHOD),libi)
LIBI_TARGETS = $(LIBLIBI)
ifeq ($(BUILD_SHARED_LIBS), yes)
@@ -388,9 +388,6 @@
INSTALL_PREREQ = install-prep
INSTALL_PREREQ += xplat-install xplat_lightweight-install
-ifeq ($(MRNET_STARTUP_METHOD),libi)
- INSTALL_PREREQ += libi-install
-endif
INSTALL_PREREQ += install-local lightweight-install
install: $(INSTALL_PREREQ)
@@ -511,7 +508,7 @@
$(LIBXPLAT_LIGHTWEIGHT_SO): xplat_lightweight-sharedobj
-$(LIBI_TARGETS): libi-all
+$(LIBI_TARGETS):
$(LIBLMON):

View File

@@ -45,9 +45,9 @@ multicast operations may be in progress simultaneously.
* Open source licensing.
</longdescription>
<use>
<!--<flag name="libi">Use libi as tree instantiation method instead of ssh</flag>-->
<flag name="libi">Use libi as tree instantiation method instead of ssh</flag>
<flag name="threadsafe">Build threasafe version of lightweight MRNet and XPlat libraries</flag>
<!--<flag name="slurm">Use slurm as libi tree instantiation method instead of ssh</flag>-->
<flag name="slurm">Use slurm as libi tree instantiation method instead of ssh</flag>
</use>
<upstream>
<bugs-to>https://github.com/dyninst/mrnet/issues</bugs-to>

View File

@@ -1,10 +1,12 @@
# Copyright 2019-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
EAPI=7
COMMIT="7375ba5bb0df87c68e58ad15e9e5e351ae020c08"
inherit flag-o-matic
DESCRIPTION="A Multicast/Reduction Network"
HOMEPAGE="http://www.paradyn.org/mrnet"
SRC_URI="https://github.com/dyninst/mrnet/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
@@ -13,15 +15,22 @@ S="${WORKDIR}/${PN}-${COMMIT}"
LICENSE="LGPL-2.1+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="threadsafe" #launchmon libi slurm
IUSE="libi slurm threadsafe"
RDEPEND="dev-libs/boost:="
RDEPEND="
dev-libs/boost:=
libi? (
sys-cluster/launchmon
sys-cluster/libi
)
"
DEPEND="
${RDEPEND}
slurm? ( sys-cluster/slurm )
"
# slurm? ( sys-cluster/slurm )
#REQUIRED_USE="slurm? ( libi )"
PATCHES=( "${FILESDIR}/${PN}-no-libi.patch" )
REQUIRED_USE="slurm? ( libi )"
src_prepare() {
rm -r external || die
@@ -29,6 +38,7 @@ src_prepare() {
}
src_configure() {
use libi && append-cxxflags "-llibi"
local myconf=(
--enable-shared
--enable-verbosebuild
@@ -37,25 +47,16 @@ src_configure() {
$(use_enable threadsafe ltwt-threadsafe)
)
#expat seems to be used only on cray
# if use expat; then
# myconf+=( "--with-expat=${EPREFIX}/usr" )
# else
# myconf+=( "--without-expat" )
# fi
# if use launchmon; then
# myconf+=( "--with-launchmon=${EPREFIX}/usr" )
# else
# myconf+=( "--without-launchmon" )
# fi
# if use libi; then
# myconf+=( "--with-libi=${EPREFIX}/usr" )
# myconf+=( "--with-startup=libi" )
# use slurm && myconf+=( "--with-libi-startup=slurm" )
# else
# myconf+=( "--without-libi" )
# myconf+=( "--with-startup=ssh" )
# fi
if use libi; then
myconf+=( "--with-launchmon=${EPREFIX}/usr" )
myconf+=( "--with-libi=${EPREFIX}/usr" )
myconf+=( "--with-startup=libi" )
use slurm && myconf+=( "--with-libi-startup=slurm" )
else
myconf+=( "--without-launchmon" )
myconf+=( "--without-libi" )
myconf+=( "--with-startup=ssh" )
fi
econf "${myconf[@]}"
}