1 dnl Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE
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
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.
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.
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
20 dnl See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 #for a future use...see further down AC_DEFUN([CHECK_PARMETISV4]
25 #for use with ParMETIS V3
26 AC_DEFUN([CHECK_PARMETIS],[
27 AC_REQUIRE([AC_PROG_CC])dnl
28 AC_REQUIRE([AC_PROG_CPP])dnl
29 AC_REQUIRE([CHECK_MPI])dnl
31 AC_CHECKING(for ParMETIS V3 Library)
40 AC_CHECKING(for ParMETIS location)
42 [ --with-parmetis=DIR root directory path to ParMETIS library installation ],
43 [PARMETISDIR="$withval"
44 AC_MSG_RESULT("select $withval as path to ParMETIS library")])
46 AC_MSG_RESULT(\$PARMETISDIR = ${PARMETISDIR})
48 CPPFLAGS_old="${CPPFLAGS}"
51 if test "x${PARMETISDIR}" != "x" ; then
52 PARMETIS_CPPFLAGS="-DMED_ENABLE_PARMETIS -I${PARMETISDIR} ${MPI_INCLUDES}"
53 PARMETIS_LIBS="-L${PARMETISDIR} -lparmetis -lmetis ${MPI_LIBS}"
57 parmetis_headers_ok=no
58 parmetis_binaries_ok=no
61 AC_CHECKING(for ParMETIS headers)
62 CPPFLAGS="${CPPFLAGS_old} ${PARMETIS_CPPFLAGS}"
64 parmetis_include_dir_ok=yes
65 if test "x${PARMETISDIR}" != "x" ; then
66 AC_CHECK_FILE(${PARMETISDIR}/parmetis.h,
67 parmetis_include_dir_ok=yes,
68 parmetis_include_dir_ok=no)
71 if test "x${parmetis_include_dir_ok}" = "xyes" ; then
72 AC_TRY_COMPILE([#include <parmetis.h>],
73 [ParMETIS_V3_PartGeom(0,0,0,0,0)],
74 parmetis_headers_ok=yes,
75 parmetis_headers_ok=no)
78 if test "x${parmetis_headers_ok}" = "xyes" ; then
79 AC_MSG_RESULT(\$PARMETIS_CPPFLAGS = ${PARMETIS_CPPFLAGS})
81 AC_MSG_RESULT(for ParMETIS headers: $parmetis_headers_ok)
83 if test "x${parmetis_headers_ok}" = "xyes" ; then
85 AC_CHECKING(for ParMETIS binaries)
86 parmetis_lib_dir_ok=yes
87 AC_CHECK_FILE(${PARMETISDIR}/libparmetis.a,
88 parmetis_lib_dir_ok=yes,
89 parmetis_lib_dir_ok=no)
91 if test "x${parmetis_lib_dir_ok}" = "xyes" ; then
92 LIBS="${LIBS_old} ${PARMETIS_LIBS}"
93 AC_TRY_LINK([#include <parmetis.h>],
94 [ParMETIS_V3_PartGeom(0,0,0,0,0)],
95 parmetis_binaries_ok=yes,
96 parmetis_binaries_ok=no)
100 if test "x${parmetis_binaries_ok}" = "xyes" ; then
101 AC_MSG_RESULT(\$PARMETIS_LIBS = ${PARMETIS_LIBS})
103 AC_MSG_RESULT(for ParMETIS binaries: $parmetis_binaries_ok)
105 CPPFLAGS="${CPPFLAGS_old}"
108 if test "x${parmetis_headers_ok}" = "xyes" ; then
109 if test "x${parmetis_binaries_ok}" = "xyes" ; then
111 ENABLE_PARMETIS="yes"
112 # ParMETIS includes METIS, so we redefine METIS cppflags and libs
113 # And metis.h #include parmetis.h + mpi.h
116 METISDIR=${PARMETISDIR}
117 METIS_CPPFLAGS="-DMED_ENABLE_METIS -I${METISDIR}/METISLib ${PARMETIS_CPPFLAGS}"
118 METIS_LIBS="-L${METISDIR} -lmetis ${MPI_LIBS}"
122 AC_MSG_RESULT(for ParMETIS: $parmetis_ok)
124 AC_SUBST(ENABLE_PARMETIS)
125 AC_SUBST(PARMETIS_CPPFLAGS)
126 AC_SUBST(PARMETIS_LIBS)
127 AC_SUBST(ENABLE_METIS)
128 AC_SUBST(METIS_CPPFLAGS)
136 AC_DEFUN([CHECK_PARMETISV4],[
137 AC_REQUIRE([AC_PROG_CC])dnl
138 AC_REQUIRE([AC_PROG_CPP])dnl
139 AC_REQUIRE([CHECK_MPI])dnl
141 AC_CHECKING(for ParMETIS V4 Library)
150 AC_CHECKING(for ParMETIS location)
151 AC_ARG_WITH(parmetis,
152 [ --with-parmetis=DIR root directory path to ParMETIS library installation ],
153 [PARMETISDIR="$withval"
154 AC_MSG_RESULT("select $withval as path to ParMETIS library")])
156 AC_MSG_RESULT(\$PARMETISDIR = ${PARMETISDIR})
158 CPPFLAGS_old="${CPPFLAGS}"
161 if test "x${PARMETISDIR}" != "x" ; then
162 PARMETIS_CPPFLAGS="-DMED_ENABLE_PARMETIS -I${PARMETISDIR}/include ${MPI_INCLUDES}"
163 PARMETIS_LIBS="-L${PARMETISDIR}/lib -lparmetis -lmetis ${MPI_LIBS}"
167 parmetis_headers_ok=no
168 parmetis_binaries_ok=no
171 AC_CHECKING(for ParMETIS headers)
172 CPPFLAGS="${CPPFLAGS_old} ${PARMETIS_CPPFLAGS}"
174 parmetis_include_dir_ok=yes
175 if test "x${PARMETISDIR}" != "x" ; then
176 AC_CHECK_FILE(${PARMETISDIR}/include/parmetis.h,
177 parmetis_headers_ok=yes,
178 parmetis_headers_ok=no)
181 if test "x${parmetis_headers_ok}" = "xyes" ; then
182 AC_MSG_RESULT(\$PARMETIS_CPPFLAGS = ${PARMETIS_CPPFLAGS})
184 AC_MSG_RESULT(for ParMETIS headers: $parmetis_headers_ok)
186 if test "x${parmetis_headers_ok}" = "xyes" ; then
187 dnl ParMETIS binaries
188 AC_CHECKING(for ParMETIS binaries)
189 AC_CHECK_FILE(${PARMETISDIR}/lib/libparmetis.a,
190 parmetis_binaries_ok=yes,
191 parmetis_binaries_ok=no)
194 if test "x${parmetis_binaries_ok}" = "xyes" ; then
195 AC_MSG_RESULT(\$PARMETIS_LIBS = ${PARMETIS_LIBS})
197 AC_MSG_RESULT(for ParMETIS binaries: $parmetis_binaries_ok)
199 CPPFLAGS="${CPPFLAGS_old}"
202 if test "x${parmetis_headers_ok}" = "xyes" ; then
203 if test "x${parmetis_binaries_ok}" = "xyes" ; then
205 ENABLE_PARMETIS="yes"
209 AC_MSG_RESULT(for ParMETIS: $parmetis_ok)
211 AC_SUBST(ENABLE_PARMETIS)
212 AC_SUBST(PARMETIS_CPPFLAGS)
213 AC_SUBST(PARMETIS_LIBS)