# $FreeBSD: tags/RELEASE_10_2_0/net/openmpi/Makefile 385524 2015-05-06 16:48:52Z danilo $

# TODO:
#  - etc/*.sample support

PORTNAME=	openmpi
DISTVERSION=	1.8.5
CATEGORIES=	net parallel
MASTER_SITES=	http://www.open-mpi.org/software/ompi/v1.8/downloads/

MAINTAINER=	danilo@FreeBSD.org
COMMENT=	High Performance Message Passing Library

LIB_DEPENDS=	libexecinfo.so:${PORTSDIR}/devel/libexecinfo \
		libhwloc.so:${PORTSDIR}/devel/hwloc \
		libltdl.so:${PORTSDIR}/devel/libltdl

CONFLICTS=	openmpi-devel-1.7.*

HAS_CONFIGURE=	yes
INSTALL_TARGET=	install-strip
# :keepla because port uses lt_dlopen
USES=		fortran gmake libtool:keepla perl5 pkgconfig tar:bzip2
USE_PERL5=	build

MPIBASE?=	mpi
MPIDIR?=	${MPIBASE}/${UNIQUENAME}

PLIST_SUB+=	MPIBASE=${MPIBASE}
PLIST_SUB+=	MPIDIR=${MPIDIR}

CONFIGURE_ARGS+=	--prefix=${PREFIX}/${MPIDIR} \
			--mandir=${PREFIX}/${MPIDIR}/man \
			--program-prefix= \
			--with-hwloc=${LOCALBASE} \
			--with-libltdl=${LOCALBASE}
LDFLAGS+=	-L${LOCALBASE}/lib
USE_LDCONFIG=	${PREFIX}/${MPIDIR}/lib \
		${PREFIX}/${MPIDIR}/lib/openmpi

MANPREFIX=	${PREFIX}/${MPIDIR}

OPTIONS_DEFINE=	IPV6 SLURM TORQUE VT
TORQUE_DESC=	Enable Torque support
SLURM_DESC=	Enable SLURM support
VT_DESC=		Enable VampirTrace support
OPTIONS_DEFAULT=	IPV6
OPTIONS_SUB=	yes

IPV6_CONFIGURE_ENABLE=	ipv6

TORQUE_CONFIGURE_ON=	--with-tm=${LOCALBASE}
TORQUE_CONFIGURE_OFF=	--without-tm
TORQUE_LIB_DEPENDS=	libtorque.so:${PORTSDIR}/sysutils/torque
TORQUE_PLIST_FILES=	${MPIDIR}/lib/openmpi/mca_plm_tm.so \
			${MPIDIR}/lib/openmpi/mca_plm_tm.la \
			${MPIDIR}/lib/openmpi/mca_ras_tm.la \
			${MPIDIR}/lib/openmpi/mca_ras_tm.so \
			${MPIDIR}/lib/openmpi/mca_ess_tm.so \
			${MPIDIR}/lib/openmpi/mca_ess_tm.la \
			${MPIDIR}/share/openmpi/help-plm-tm.txt \
			${MPIDIR}/share/openmpi/help-ras-tm.txt

SLURM_CONFIGURE_WITH=	slurm
SLURM_LIB_DEPENDS=	libslurm.so:${PORTSDIR}/sysutils/slurm-hpc
SLURM_PLIST_FILES=	${MPIDIR}/lib/openmpi/mca_ess_slurm.la \
			${MPIDIR}/lib/openmpi/mca_ess_slurm.so \
			${MPIDIR}/lib/openmpi/mca_plm_slurm.la \
			${MPIDIR}/lib/openmpi/mca_plm_slurm.so \
			${MPIDIR}/lib/openmpi/mca_ras_slurm.la \
			${MPIDIR}/lib/openmpi/mca_ras_slurm.so \
			${MPIDIR}/share/openmpi/help-plm-slurm.txt \
			${MPIDIR}/share/openmpi/help-ras-slurm.txt

VT_CONFIGURE_OFF=	--enable-contrib-no-build=vt --disable-vt
VT_USE=			JAVA=yes

BROKEN_sparc64=		Does not compile on sparc64

.include <bsd.port.mk>
