87fce5c2a6
Monday with Craig: - split two f90 modules into two separate .f90 files so that dependencies can be satisfied properly in parallel builds (i.e., mpi_kinds.f90 can be compiled and its f90 module can be generated before any others are compiled, because it is needed by all of the other f90 source files). - rename mpi.i.h* to be mpi-f90-interfaces.h, just to be a little more clear and less name-confusing with mpi.h and mpif.h - update the build process in src/mpi/f90, including printing out a warning that compiling mpi.f90 may take quite a while :-\ - update the wrapper compilers to add in the Right Things for compiling F90 MPI applications - add a check in configure to find what flag the F90 compiler uses to identify where f90 module files live This commit was SVN r5297.
81 строка
2.0 KiB
Bash
81 строка
2.0 KiB
Bash
dnl -*- shell-script -*-
|
|
dnl
|
|
dnl Copyright (c) 2004-2005 The Trustees of Indiana University.
|
|
dnl All rights reserved.
|
|
dnl Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
|
dnl All rights reserved.
|
|
dnl Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
dnl University of Stuttgart. All rights reserved.
|
|
dnl Copyright (c) 2004-2005 The Regents of the University of California.
|
|
dnl All rights reserved.
|
|
dnl $COPYRIGHT$
|
|
dnl
|
|
dnl Additional copyrights may follow
|
|
dnl
|
|
dnl $HEADER$
|
|
dnl
|
|
|
|
AC_DEFUN([OMPI_F90_FIND_MODULE_INCLUDE_FLAG],[
|
|
|
|
AC_MSG_CHECKING([for FORTRAN compiler module include flag])
|
|
possible_flags="-I -p -M"
|
|
|
|
mkdir conftest.$$
|
|
cd conftest.$$
|
|
|
|
#
|
|
# Try to compile an F90 module
|
|
#
|
|
|
|
mkdir subdir
|
|
cd subdir
|
|
cat > conftest-module.f90 <<EOF
|
|
module OMPI_MOD_FLAG
|
|
|
|
type OMPI_MOD_FLAG_TYPE
|
|
integer :: i
|
|
end type OMPI_MOD_FLAG_TYPE
|
|
|
|
end module OMPI_MOD_FLAG
|
|
EOF
|
|
|
|
OMPI_LOG_COMMAND([$FC $FCFLAGS $FCFLAGS_f90 -c conftest-module.f90], ,
|
|
AC_MSG_RESULT([Whoops!])
|
|
AC_MSG_WARN([*** Cannot seem to compile an f90 module])
|
|
AC_MSG_ERROR([Cannot continue]))
|
|
cd ..
|
|
|
|
#
|
|
# Now try to compile a simple program usinng that module, iterating
|
|
# through the possible flags that the compiler might use
|
|
#
|
|
|
|
cat > conftest.f90 <<EOF
|
|
program main
|
|
use OMPI_MOD_FLAG
|
|
end program main
|
|
EOF
|
|
|
|
OMPI_FC_MODULE_FLAG=
|
|
for flag in $possible_flags; do
|
|
if test "$OMPI_FC_MODULE_FLAG" = ""; then
|
|
OMPI_LOG_COMMAND([$FC $FCFLAGS $FCFLAGS_f90 conftest.f90 $flag subdir],
|
|
[OMPI_FC_MODULE_FLAG="$flag"])
|
|
fi
|
|
done
|
|
cd ..
|
|
rm -rf conftest.$$
|
|
|
|
#
|
|
# Did we find it?
|
|
#
|
|
|
|
if test "$OMPI_FC_MODULE_FLAG" = ""; then
|
|
AC_MSG_RESULT([])
|
|
AC_MSG_WARN([*** Could not determine the f90 compiler flag to indicate where modules reside])
|
|
AC_MSG_ERROR([Cannot continue])
|
|
fi
|
|
AC_MSG_RESULT([$OMPI_FC_MODULE_FLAG])
|
|
|
|
AC_SUBST(OMPI_FC_MODULE_FLAG)])dnl
|