diff --git a/build/configure.ac b/build/configure.ac index 4fdbb734add25007bdcb8098c920eed3b8c95cc4..92494cc598fe4d35151d04237ce57a529f470eaa 100644 --- a/build/configure.ac +++ b/build/configure.ac @@ -33,8 +33,95 @@ AM_INIT_AUTOMAKE([-Wall -Werror foreign]) # Compiler detection AM_PROG_AR -AC_PROG_F77([mpif90 gfortran f77]) -AC_PROG_CXX([mpicxx g++ clang]) +AC_ARG_ENABLE( + [mpi], + [AS_HELP_STRING([--enable-mpi], [use MPI if available (default is yes)])], + [ + if test "x$enableval" = "xno"; then + if test "x$F77" = "xmpif90"; then + gfortran --version > /dev/null + if test "x$?" = "x0"; then + export F77=gfortran + fi + fi + if test "x$F77" = "xmpif90"; then + f77 --version > /dev/null + if test "x$?" = "x0"; then + export F77=f77 + fi + fi + if test "x$CXX" = "xmpicxx"; then + g++ --version > /dev/null + if test "x$?" = "x0"; then + export CXX=g++ + fi + fi + if test "x$CXX" = "xmpicxx"; then + clang --version > /dev/null + if test "x$?" = "x0"; then + export CXX=clang + fi + fi + if test "x$F77" = "x"; then + gfortran --version > /dev/null + if test "x$?" = "x0"; then + export F77=gfortran + fi + fi + if test "x$F77" = "x"; then + f77 --version > /dev/null + if test "x$?" = "x0"; then + export F77=f77 + fi + fi + if test "x$CXX" = "x"; then + g++ --version > /dev/null + if test "x$?" = "x0"; then + export CXX=g++ + fi + fi + if test "x$CXX" = "x"; then + clang --version > /dev/null + if test "x$?" = "x0"; then + export CXX=clang + fi + fi + else + mpicxx --version > /dev/null + if test "x$?" = "x0"; then + export CXX=mpicxx + export F77=mpif90 + else + AC_MSG_ERROR(["MPI was enabled, but no MPI compiler was found!"]) + fi + fi + ], + [ + if test "x$CXX" = "x"; then + mpicxx --version > /dev/null + if test "x$?" = "x0"; then + export CXX=mpicxx + export F77=mpif90 + fi + fi + if test "x$CXX" = "x"; then + g++ --version > /dev/null + if test "x$?" = "x0"; then + export CXX=g++ + fi + fi + if test "x$CXX" = "x"; then + clang --version > /dev/null + if test "x$?" = "x0"; then + export CXX=clang + fi + fi + ] +) +AC_SUBST([CXX]) +AC_PROG_CXX(CXX) +AC_SUBST([F77]) +AC_PROG_F77([$F77 mpif90 gfortran f77]) # Libtool initialization LT_INIT @@ -70,6 +157,8 @@ AS_IF( ) AC_SUBST([HDF5_LDFLAGS]) +# Configure the optional features + # Send output to Makefiles AC_CONFIG_FILES([Makefile])