pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/mk Introduce common point to depend on MPI:



details:   https://anonhg.NetBSD.org/pkgsrc/rev/5005e753ad1a
branches:  trunk
changeset: 575526:5005e753ad1a
user:      asau <asau%pkgsrc.org@localhost>
date:      Sun May 16 11:07:39 2010 +0000

description:
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.

diffstat:

 mk/mpi.buildlink3.mk |  39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diffs (43 lines):

diff -r 89bb6a8c47c4 -r 5005e753ad1a mk/mpi.buildlink3.mk
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/mk/mpi.buildlink3.mk      Sun May 16 11:07:39 2010 +0000
@@ -0,0 +1,39 @@
+# $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



Home | Main Index | Thread Index | Old Index