Salome HOME
Copyright update 2022
[tools/configuration.git] / autotools / m4 / check_openmpi.m4
1 dnl Copyright (C) 2007-2022  CEA/DEN, EDF R&D, OPEN CASCADE
2 dnl
3 dnl This library is free software; you can redistribute it and/or
4 dnl modify it under the terms of the GNU Lesser General Public
5 dnl License as published by the Free Software Foundation; either
6 dnl version 2.1 of the License, or (at your option) any later version.
7 dnl
8 dnl This library is distributed in the hope that it will be useful,
9 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
10 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 dnl Lesser General Public License for more details.
12 dnl
13 dnl You should have received a copy of the GNU Lesser General Public
14 dnl License along with this library; if not, write to the Free Software
15 dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 dnl
17 dnl See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 dnl
19
20 AC_DEFUN([CHECK_OPENMPI],[
21 AC_ARG_WITH(openmpi,
22             AC_HELP_STRING([--with-openmpi=DIR],[root directory path of openmpi installation]),
23             WITHOPENMPI="yes",WITHOPENMPI="no")
24
25 MPI_INCLUDES=""
26 MPI_LIBS=""
27 mpi_ok=no
28
29 if test "$WITHOPENMPI" = yes; then
30
31   OPENMPI_HOME=$withval
32
33   if test "$OPENMPI_HOME"; then
34     if test -f "${OPENMPI_HOME}/include/mpi.h"; then
35       MPI_INCLUDES="-I${OPENMPI_HOME}/include"
36     else  
37       MPI_INCLUDES=`$OPENMPI_HOME/bin/mpicxx --showme:compile`
38     fi
39     dnl Small modification for native debian-based distributions
40     if test "$OPENMPI_HOME" = "/usr/lib/openmpi"; then
41       MPI_LIBS=`mpicxx --showme:link`
42     else
43       MPI_LIBS=`$OPENMPI_HOME/bin/mpicxx --showme:link`
44     fi
45   fi
46
47   CPPFLAGS_old="$CPPFLAGS"
48   CPPFLAGS="$MPI_INCLUDES $CPPFLAGS"
49   AC_CHECK_HEADER(mpi.h,WITHOPENMPI="yes",WITHOPENMPI="no")
50   CPPFLAGS="$CPPFLAGS_old"
51
52   LIBS_old="$LIBS"
53   LIBS="-L${OPENMPI_HOME}/lib $LIBS"
54   AC_CHECK_LIB(mpi,MPI_Publish_name,WITHMPI2="yes",WITHMPI2="no")
55   LIBS="$LIBS_old"
56
57   AC_MSG_CHECKING(for openmpi)
58   if test "$WITHOPENMPI" = "yes";then
59      mpi_ok=yes
60      mpi2_ok=$WITHMPI2
61      WITHMPI=yes
62      CPPFLAGS="-DOMPI_IGNORE_CXX_SEEK -DWITHOPENMPI $CPPFLAGS"
63      AC_MSG_RESULT(yes)
64   else
65      mpi_ok=no
66      mpi2_ok=no
67      WITHMPI=no
68      AC_MSG_RESULT(no)
69   fi
70 fi
71 ])dnl
72