summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorswhite <swhite@17b73243-c579-4c4c-a9d2-2d5706c11dac>2006-05-05 11:54:37 +0000
committerswhite <swhite@17b73243-c579-4c4c-a9d2-2d5706c11dac>2006-05-05 11:54:37 +0000
commit6c8f821d75915652f4c0dc4752a4219a83289425 (patch)
treed0965beb9d61665ab591d6f0d7aece23eef72c10
parenta9eeffe13a0f4c746e76d6222235767e427a97b5 (diff)
Add support for OpenMPI
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4288 17b73243-c579-4c4c-a9d2-2d5706c11dac
-rw-r--r--lib/make/extras/MPI/OpenMPI80
1 files changed, 80 insertions, 0 deletions
diff --git a/lib/make/extras/MPI/OpenMPI b/lib/make/extras/MPI/OpenMPI
new file mode 100644
index 00000000..ca895a1a
--- /dev/null
+++ b/lib/make/extras/MPI/OpenMPI
@@ -0,0 +1,80 @@
+#! /bin/sh
+# /*@@
+# @file OpenMPI
+# @date Feb. 2, 2006
+# @author Tom Goodale; modified by Steve White
+# @desc
+# Configure Cactus to compile with the OpenMPI version of MPI.
+# @enddesc
+# @version $Header: /mnt/data2/cvs2svn/cvs-repositories/Cactus/lib/make/extras/MPI/OpenMPI,v 1.1 2006-05-05 11:54:37 swhite Exp $
+# @@*/
+
+echo ' OpenMPI selected'
+
+if test -z "$OPENMPI_LIB_DIR" -o -z "$OPENMPI_INC_DIR" ; then
+ if test -z "$OPENMPI_DIR" ; then
+ echo ' OpenMPI selected but no OPENMPI_DIR set. Checking some places...'
+ if test -d '/usr/include/openmpi' -a -d '/usr/lib/openmpi' ; then
+ openmpi_libs='/usr/lib/openmpi'
+ openmpi_includes='/usr/include/openmpi'
+ elif test -d '/usr/local/include/openmpi' -a -d '/usr/local/lib/openmpi' ; then
+ openmpi_libs='/usr/local/lib/openmpi'
+ openmpi_includes='/usr/local/include/openmpi'
+ else
+ CCTK_Search OPENMPI_DIR "/usr /opt/openmpi /usr/local /usr/local/openmpi /usr/local/packages/openmpi /usr/local/apps/openmpi $HOME" lib/liborte.a
+ if test -z "$OPENMPI_DIR" ; then
+ echo ' Unable to locate OpenMPI installation - please set OPENMPI_DIR or {OPENMPI_INC_DIR, OPENMPI_LIB_DIR}'
+ exit 2
+ fi
+ fi
+ fi
+
+ # set OPENMPI_INC_DIR if not already set
+ if test -z "$OPENMPI_INC_DIR" ; then
+
+ : ${openmpi_includes="$OPENMPI_DIR/include"}
+
+ # search for mpicxx.h which might be in an include subdirectory
+ if test -r "$openmpi_includes/openmpi/ompi/mpi/cxx/mpicxx.h" ; then
+ openmpi_cxx_includes="$openmpi_includes/openmpi/ompi/"
+ fi
+
+ # don't explicitly add standard include search paths
+ if test "$openmpi_includes" != '/usr/include' -a "$openmpi_includes" != '/usr/local/include'; then
+ OPENMPI_INC_DIR="$openmpi_includes"
+ fi
+ if test -n "$openmpi_cxx_includes"; then
+ OPENMPI_INC_DIR="$OPENMPI_INC_DIR $openmpi_cxx_includes"
+ fi
+
+ fi
+
+ # set OPENMPI_LIB_DIR if not already set
+ if test -z "$OPENMPI_LIB_DIR" ; then
+ openmpi_libs="$OPENMPI_DIR/lib"
+
+ # don't add standard library search paths
+ if test "$openmpi_libs" != '/usr/lib' -a "$openmpi_libs" != '/usr/local/lib'; then
+ OPENMPI_LIB_DIR="$openmpi_libs"
+ fi
+ fi
+
+ if test -z "$OPENMPI_INC_DIR"; then
+ echo ' Using no explicit OpenMPI include path'
+ else
+ echo " Using \"$OPENMPI_INC_DIR\" as OpenMPI include path"
+ fi
+ if test -z "$OPENMPI_LIB_DIR"; then
+ echo ' Using no explicit OpenMPI library path'
+ else
+ echo " Using \"$OPENMPI_LIB_DIR\" as OpenMPI library path"
+ fi
+fi
+
+MPI_LIBS='mpi orte opal util nsl dl'
+
+# if ompi_info program is available, can at least get the "prefix"
+# directory from that.
+
+MPI_INC_DIRS="$OPENMPI_INC_DIR"
+MPI_LIB_DIRS="$OPENMPI_LIB_DIR"