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