Salome HOME
Update copyrights 2014.
[modules/med.git] / adm_local_without_kernel / unix / config_files / check_mpi.m4
1 dnl Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
2 dnl
3 dnl Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 dnl CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 dnl
6 dnl This library is free software; you can redistribute it and/or
7 dnl modify it under the terms of the GNU Lesser General Public
8 dnl License as published by the Free Software Foundation; either
9 dnl version 2.1 of the License, or (at your option) any later version.
10 dnl
11 dnl This library is distributed in the hope that it will be useful,
12 dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
13 dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 dnl Lesser General Public License for more details.
15 dnl
16 dnl You should have received a copy of the GNU Lesser General Public
17 dnl License along with this library; if not, write to the Free Software
18 dnl Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 dnl
20 dnl See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 dnl
22
23 AC_DEFUN([CHECK_MPI],[
24
25 AC_REQUIRE([AC_PROG_CC])dnl
26
27 AC_ARG_WITH(mpi_lib,
28    [AC_HELP_STRING([--with-mpi_lib=DIR],[directory path of MPICH lib installation])],
29    MPILIBREQUESTED="$withval")
30
31 AC_ARG_WITH(mpi,
32    [AC_HELP_STRING([--with-mpi=DIR],[root directory path of MPICH installation])],
33    MPIREQUESTED="yes",MPIREQUESTED="no")
34
35 MPI_INCLUDES=""
36 MPI_LIBS=""
37 WITHMPI=no
38 mpi_ok=no
39 if test x"$MPIREQUESTED" = xyes; then
40
41   echo
42   echo ---------------------------------------------
43   echo testing mpi
44   echo ---------------------------------------------
45   echo
46
47   if test "x$withval" != "xyes"; then
48     MPI_HOME=$withval
49     MPI_INCLUDES="-I$MPI_HOME/include"
50     if test "x$MPI_HOME" = "x/usr"
51     then
52       MPI_LIBS=""
53     else
54       MPI_LIBS="-L$MPI_HOME/lib"
55     fi
56   fi
57
58   if test x"$MPILIBREQUESTED" != x; then
59     MPI_LIBS="-L$MPILIBREQUESTED"
60   fi
61
62   CPPFLAGS_old="$CPPFLAGS"
63   CPPFLAGS="$MPI_INCLUDES $CPPFLAGS"
64   AC_CHECK_HEADER(mpi.h,WITHMPI="yes",WITHMPI="no")
65   CPPFLAGS="$CPPFLAGS_old"
66
67   if test "$WITHMPI" = "yes";then
68     LIBS_old="$LIBS"
69     LDFLAGS_old="$LDFLAGS"
70     LDFLAGS="$MPI_LIBS $LDFLAGS"
71     AC_CHECK_LIB(elan,elan_init,MPI_LIBS="$MPI_LIBS -lelan")
72     AC_CHECK_LIB(mpi,MPI_Init,WITHMPI="yes",WITHMPI="no")
73     AC_CHECK_LIB(mpi,MPI_Publish_name,WITHMPI2="yes",WITHMPI2="no")
74     LDFLAGS="$LDFLAGS_old"
75     LIBS="$LIBS_old"
76   fi
77
78   if test "$WITHMPI" = "yes";then
79     mpi_ok=yes
80     MPI_LIBS="$MPI_LIBS -lmpi -lmpio -lmpiCC"
81   else
82     mpi_ok=no
83   fi
84
85   if test "$WITHMPI2" = "yes";then
86     mpi2_ok=yes
87   else
88     mpi2_ok=no
89   fi
90
91 fi
92
93 if test "$WITHMPI" = no; then
94 dnl
95 dnl ---------------------------------------------
96 dnl testing MPICH
97 dnl ---------------------------------------------
98 dnl
99
100   CHECK_MPICH
101
102   if test "$WITHMPICH" = no; then
103 dnl
104 dnl ---------------------------------------------
105 dnl testing LAM
106 dnl ---------------------------------------------
107 dnl
108
109     CHECK_LAM
110
111   fi
112
113   if test "$WITHLAM" = no; then
114 dnl
115 dnl ---------------------------------------------
116 dnl testing OPENMPI
117 dnl ---------------------------------------------
118 dnl
119
120     CHECK_OPENMPI
121
122   fi
123
124 fi
125
126 if test x$WITHMPI2 = xyes; then
127   CPPFLAGS="-DHAVE_MPI2 $CPPFLAGS"
128   CORBA_IDLCXXFLAGS="-DHAVE_MPI2 $CORBA_IDLCXXFLAGS"
129   CORBA_IDLPYFLAGS="-DHAVE_MPI2 $CORBA_IDLPYFLAGS"
130 fi
131
132 AC_SUBST(WITHMPI)
133 AC_SUBST(MPI_INCLUDES)
134 AC_SUBST(MPI_LIBS)
135 AC_SUBST(mpi_ok)
136 AC_SUBST(mpi2_ok)
137 AM_CONDITIONAL(MPI_IS_OK, [test x"$mpi_ok" = xyes])
138 AM_CONDITIONAL(MPI2_IS_OK, [test x"$mpi2_ok" = xyes])
139
140 ])dnl