diff options
author | swhite <swhite@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2006-05-05 11:54:37 +0000 |
---|---|---|
committer | swhite <swhite@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2006-05-05 11:54:37 +0000 |
commit | 6c8f821d75915652f4c0dc4752a4219a83289425 (patch) | |
tree | d0965beb9d61665ab591d6f0d7aece23eef72c10 | |
parent | a9eeffe13a0f4c746e76d6222235767e427a97b5 (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/OpenMPI | 80 |
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" |