[BACK]Return to mpi.buildlink3.mk CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / pkgsrc / mk

File: [cvs.NetBSD.org] / pkgsrc / mk / mpi.buildlink3.mk (download)

Revision 1.1, Sun May 16 11:07:39 2010 UTC (13 years, 10 months ago) by asau
Branch: MAIN
CVS Tags: pkgsrc-2016Q1-base, pkgsrc-2016Q1, pkgsrc-2015Q4-base, pkgsrc-2015Q4, pkgsrc-2015Q3-base, pkgsrc-2015Q3, pkgsrc-2015Q2-base, pkgsrc-2015Q2, pkgsrc-2015Q1-base, pkgsrc-2015Q1, pkgsrc-2014Q4-base, pkgsrc-2014Q4, pkgsrc-2014Q3-base, pkgsrc-2014Q3, pkgsrc-2014Q2-base, pkgsrc-2014Q2, pkgsrc-2014Q1-base, pkgsrc-2014Q1, pkgsrc-2013Q4-base, pkgsrc-2013Q4, pkgsrc-2013Q3-base, pkgsrc-2013Q3, pkgsrc-2013Q2-base, pkgsrc-2013Q2, pkgsrc-2013Q1-base, pkgsrc-2013Q1, pkgsrc-2012Q4-base, pkgsrc-2012Q4, pkgsrc-2012Q3-base, pkgsrc-2012Q3, pkgsrc-2012Q2-base, pkgsrc-2012Q2, pkgsrc-2012Q1-base, pkgsrc-2012Q1, pkgsrc-2011Q4-base, pkgsrc-2011Q4, pkgsrc-2011Q3-base, pkgsrc-2011Q3, pkgsrc-2011Q2-base, pkgsrc-2011Q2, pkgsrc-2011Q1-base, pkgsrc-2011Q1, pkgsrc-2010Q4-base, pkgsrc-2010Q4, pkgsrc-2010Q3-base, pkgsrc-2010Q3, pkgsrc-2010Q2-base, pkgsrc-2010Q2

Introduce common point to depend on MPI:
- detect and use already installed MPI package;
- use MPI_TYPE to determine which MPI package to use.
Support MPICH2 and OpenMPI.

# $NetBSD: mpi.buildlink3.mk,v 1.1 2010/05/16 11:07:39 asau Exp $
#
# This Makefile fragment is meant to be included by packages
# that use any MPI implementation instead of one particular one.
# The available MPI implementations are "mpich" and "openmpi".
#
# === User-settable variables ===
#
# MPI_TYPE
#	This value represents the type of MPI we wish to use on the system.
#
#	Possible: mpich, openmpi
#	Default: mpich

.if !defined(MPI_BUILDLINK3_MK)
MPI_BUILDLINK3_MK=	# define it

.include "../../mk/bsd.prefs.mk"

# Try to find if we have anything installed already
.if exists($(LOCALBASE)/bin/mpicc)
_MPI_PACKAGE!=	$(PKG_INFO) -Q PKGPATH -F $(LOCALBASE)/bin/mpicc
MPI_TYPE?=	$(_MPI_PACKAGE:T)
.else

MPI_TYPE?=	mpich	# default to MPICH due to backward compatibility
.if $(MPI_TYPE) == "mpich"
_MPI_PACKAGE=	parallel/mpi-ch
.elif $(MPI_TYPE) == "openmpi"
_MPI_PACKAGE=	parallel/openmpi
.else # invalid or unimplemented type
PKG_FAIL_REASON=	\
	"${MPI_TYPE} is not an acceptable MPI type for ${PKGNAME}."
.endif
.endif

.include "../../$(_MPI_PACKAGE)/buildlink3.mk"

.endif	# MPI_BUILDLINK3_MK