Newer
Older
# check wether ALUGrid can be used for serial and for parallel compilation
AC_DEFUN([ALUGRID_SERIAL_PARALLEL],[
AC_PREREQ(2.50) dnl for AC_LANG_CASE
with_mpi="no"
# implicitly sets the HAVE_MPI-define and the MPICXX-substitution
# if MPI was found yes is returned
CHECK_MPI([with_mpi="yes"])
# get compilation script
AC_LANG_CASE([C++],[
MPICOMP="$MPICXX"
])
LD=$CXX
AC_ARG_VAR(LD,[linker program])
AC_SUBST(LD)
REM_CPPFLAGS=$CPPFLAGS
REM_CXXFLAGS=$CXXFLAGS
ALUGRID_INC_FLAG_PARA="-I./src -I./src/serial -I./src/parallel -I./src/duneinterface"
CXXFLAGS="$CPPFLAGS $ALUGRID_INC_FLAG_PARA"
CPPFLAGS="$CPPFLAGS $ALUGRID_INC_FLAG_PARA"
with_parallel="none"
with_serial="no"
AC_LANG_PUSH([C++])
AC_CHECK_HEADER([alugrid_serial.h],[with_serial="yes"],
AC_MSG_WARN([alugrid_serial.h could not be found or compiled!])
)
if test x$with_serial != xno ; then
if test "x$with_mpi" = "xyes"; then
AC_CHECK_HEADER([alugrid_parallel.h],[with_parallel="parallel"],
AC_MSG_WARN([alugrid_parallel.h could not be found or compiled!
Maybe you should rerun configure with the parameter CXX=$MPICXX
instead the choosen way! See the README file for more
information on compilers!])
)
else
AC_MSG_WARN([MPI not found, not checking alugrid_parallel.h!])
fi
fi
AC_MSG_CHECKING([for which type of run mode ALUGrid can be used])
AC_MSG_RESULT([$with_parallel])
AC_LANG_POP
CPPFLAGS="$REM_CPPFLAGS"
CXXFLAGS="$REM_CXXFLAGS"
REM_CPPFLAGS=
AM_CONDITIONAL(MPI, test x$with_parallel = xparallel)