# Some Linux distributions have RPM's for some MPI implementations.
# In such a case, headers and libraries usually are in default system
# locations, and you should not need any special configuration.

# If you do not have MPI distribution in a default location, please
# uncomment and fill-in appropriately the following lines. Yo can use
# as examples the [mpich], [openmpi], and [msmpi] sections
# below the [mpi] section (wich is the one used by default).

# If you specify multiple locations for includes and libraries,
# please separate them with the path separator for your platform,
# i.e., ':' on Unix-like systems and ';' on Windows


# Default configuration
# ---------------------
[mpi]

## mpi_dir              = /usr
## mpi_dir              = /usr/local
## mpi_dir              = /usr/local/mpi
## mpi_dir              = /opt
## mpi_dir              = /opt/mpi
## mpi_dir =            = $ProgramFiles\MPI

## mpicc                = %(mpi_dir)s/bin/mpicc
## mpicxx               = %(mpi_dir)s/bin/mpicxx

## define_macros        =
## undef_macros         =
## include_dirs         = %(mpi_dir)s/include
## libraries            = mpi
## library_dirs         = %(mpi_dir)s/lib
## runtime_library_dirs = %(mpi_dir)s/lib

## extra_compile_args   =
## extra_link_args      =
## extra_objects        =


# MPICH example
# -------------
[mpich]
mpi_dir              = /home/devel/mpi/mpich/4.0.0
mpicc                = %(mpi_dir)s/bin/mpicc
mpicxx               = %(mpi_dir)s/bin/mpicxx
#include_dirs         = %(mpi_dir)s/include
#libraries            = mpi
#library_dirs         = %(mpi_dir)s/lib
#runtime_library_dirs = %(library_dirs)s


# Open MPI example
# ----------------
[openmpi]
mpi_dir              = /home/devel/mpi/openmpi/5.0.0
mpicc                = %(mpi_dir)s/bin/mpicc
mpicxx               = %(mpi_dir)s/bin/mpicxx
#include_dirs         = %(mpi_dir)s/include
#libraries            = mpi
library_dirs         = %(mpi_dir)s/lib
runtime_library_dirs = %(library_dirs)s


# Sun MPI example
# ---------------
[sunmpi]
#mpi_dir              = /opt/SUNWhpc/HPC8.2.1/gnu
mpi_dir              = /opt/SUNWhpc/HPC8.1/sun
mpicc                = %(mpi_dir)s/bin/mpicc
mpicxx               = %(mpi_dir)s/bin/mpicxx
#include_dirs         = %(mpi_dir)s/include
#libraries            = mpi open-rte open-pal
library_dirs         = %(mpi_dir)s/lib
runtime_library_dirs = %(library_dirs)s


# Platform MPI example
# --------------------
[pcmpi-linux-64bit]
mpi_dir              = /opt/ibm/platform_mpi
mpicc                = %(mpi_dir)s/bin/mpicc
mpicxx               = %(mpi_dir)s/bin/mpiCC
define_macros        = NON_BLOCKING_COLLECTIVES
runtime_library_dirs = %(mpi_dir)s/lib/linux_amd64
[pcmpi-linux-32bit]
mpi_dir              = /opt/ibm/platform_mpi
mpicc                = %(mpi_dir)s/bin/mpicc
mpicxx               = %(mpi_dir)s/bin/mpiCC
define_macros        = NON_BLOCKING_COLLECTIVES
runtime_library_dirs = %(mpi_dir)s/lib/linux_ia32


# SGI MPI example
# ---------------
[sgimpi]
define_macros = SGI_MPI=1
mpi_dir       = /usr
mpicc         = icc
mpicxx        = icpc
include_dirs  = %(mpi_dir)s/include
libraries     = mpi
library_dirs  = %(mpi_dir)s/lib
runtime_library_dirs = %(library_dirs)s


# IBM POE/MPI example
# -------------------
[poempi]
mpicc  = mpcc_r
mpicxx = mpCC_r


# Microsoft MPI example
# ---------------------
[msmpi-32bit]
mpi_dir = $ProgramFiles\Microsoft SDKs\MPI
include_dirs = %(mpi_dir)s\Include
libraries = msmpi
library_dirs = %(mpi_dir)s\Lib\x86
[msmpi-64bit]
mpi_dir = $ProgramFiles\Microsoft SDKs\MPI
include_dirs = %(mpi_dir)s\Include
libraries = msmpi
library_dirs = %(mpi_dir)s\Lib\x64


# Intel MPI for Windows
# ---------------------
[intelmpi-windows-32bit]
mpi_dir              = $I_MPI_ROOT\ia32
include_dirs         = %(mpi_dir)s\include
libraries            = impi
library_dirs         = %(mpi_dir)s\lib\release
[intelmpi-windows-64bit]
mpi_dir              = $I_MPI_ROOT\intel64
include_dirs         = %(mpi_dir)s\include
libraries            = impi
library_dirs         = %(mpi_dir)s\lib\release


# SiCortex MPI example
# --------------------
[sicortex]
mpicc = mpicc --gnu
mpicxx = mpicxx --gnu


# LAM/MPI example
# ---------------
[lammpi]
mpi_dir              = /home/devel/mpi/lam-7.1.4
mpicc                = %(mpi_dir)s/bin/mpicc
mpicxx               = %(mpi_dir)s/bin/mpic++
include_dirs         = %(mpi_dir)s/include
libraries            = lammpio mpi lam
library_dirs         = %(mpi_dir)s/lib
runtime_library_dirs = %(library_dirs)s


# MPICH1 example
# --------------
[mpich1]
mpi_dir              = /home/devel/mpi/mpich-1.2.7p1
mpicc                = %(mpi_dir)s/bin/mpicc
mpicxx               = %(mpi_dir)s/bin/mpicxx
include_dirs         = %(mpi_dir)s/include
libraries            = mpich
library_dirs         = %(mpi_dir)s/lib/shared:%(mpi_dir)s/lib
runtime_library_dirs = %(mpi_dir)s/lib/shared


# No MPI
# ------
[nompi]
include_dirs = conf/nompi


# MPIUNI (PETSc)
# --------------
[mpiuni]
include_dirs = conf/mpiuni:$PETSC_DIR/include:$PETSC_DIR/$PETSC_ARCH/include


# Fujitsu MPI example
# -------------------
[fujitsu-mpi]
mpicc                = mpifcc
mpicxx               = mpiFCC
define_macros        = OPENMPI_DLOPEN_LIBMPI=1
extra_compile_args   = -Nclang
extra_link_args      = -Knolargepage
