|
|
|
@ -54,7 +54,7 @@ dnl AC_CHECK_LIB(blacsCinit_MPI-LINUX-0,[$BI_Asend],
|
|
|
|
|
dnl [acx_cv_blacs_ok=yes; BLACS_LIBS="-lblacsCinit_MPI-LINUX-0"])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dnl @synopsis PAC_FORTRAN_FUNC_MOVE_ALLOC( [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
|
|
|
|
dnl @synopsis PAC_FORTRAN_HAVE_MOVE_ALLOC( [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
|
|
|
|
dnl
|
|
|
|
|
dnl Will try to compile and link a program with move_alloc (a Fortran 2003 function).
|
|
|
|
|
dnl
|
|
|
|
@ -1347,3 +1347,117 @@ ifelse([$2], , , [ rm -rf conftest*
|
|
|
|
|
])dnl
|
|
|
|
|
fi
|
|
|
|
|
rm -f conftest*])
|
|
|
|
|
|
|
|
|
|
dnl @synopsis PAC_FORTRAN_TEST_MOLD( [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
|
|
|
|
dnl
|
|
|
|
|
dnl Will try to compile and link a program checking the MOLD= Fortran support.
|
|
|
|
|
dnl
|
|
|
|
|
dnl Will use MPIFC, otherwise '$FC'.
|
|
|
|
|
dnl
|
|
|
|
|
dnl If the test passes, will execute ACTION-IF-FOUND. Otherwise, ACTION-IF-NOT-FOUND.
|
|
|
|
|
dnl Note : This file will be likely to induce the compiler to create a module file
|
|
|
|
|
dnl (for a module called conftest).
|
|
|
|
|
dnl Depending on the compiler flags, this could cause a conftest.mod file to appear
|
|
|
|
|
dnl in the present directory, or in another, or with another name. So be warned!
|
|
|
|
|
dnl
|
|
|
|
|
dnl @author Salvatore Filippone <salvatore.filippone@uniroma2.it>
|
|
|
|
|
AC_DEFUN(PAC_FORTRAN_TEST_MOLD,
|
|
|
|
|
ac_exeext=''
|
|
|
|
|
ac_ext='f90'
|
|
|
|
|
ac_link='${MPIFC-$FC} -o conftest${ac_exeext} $FCFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
|
|
|
|
dnl Warning : square brackets are EVIL!
|
|
|
|
|
[AC_MSG_CHECKING([support for Fortran MOLD= allocation])
|
|
|
|
|
i=0
|
|
|
|
|
while test \( -f tmpdir_$i \) -o \( -d tmpdir_$i \) ; do
|
|
|
|
|
i=`expr $i + 1`
|
|
|
|
|
done
|
|
|
|
|
mkdir tmpdir_$i
|
|
|
|
|
cd tmpdir_$i
|
|
|
|
|
cat > conftest.$ac_ext <<EOF
|
|
|
|
|
program xtt
|
|
|
|
|
type foo
|
|
|
|
|
integer :: i
|
|
|
|
|
end type foo
|
|
|
|
|
type, extends(foo) :: new_foo
|
|
|
|
|
integer :: j
|
|
|
|
|
end type new_foo
|
|
|
|
|
class(foo), allocatable :: fooab
|
|
|
|
|
type(new_foo) :: nfv
|
|
|
|
|
integer :: info
|
|
|
|
|
|
|
|
|
|
allocate(fooab, mold=nfv, stat=info)
|
|
|
|
|
|
|
|
|
|
end program xtt
|
|
|
|
|
EOF
|
|
|
|
|
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
|
|
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
|
ifelse([$1], , :, [
|
|
|
|
|
$1])
|
|
|
|
|
else
|
|
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
|
echo "configure: failed program was:" >&AC_FD_CC
|
|
|
|
|
cat conftest.$ac_ext >&AC_FD_CC
|
|
|
|
|
ifelse([$2], , , [
|
|
|
|
|
$2
|
|
|
|
|
])dnl
|
|
|
|
|
fi
|
|
|
|
|
cd ..
|
|
|
|
|
rm -fr tmpdir_$i])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dnl @synopsis PAC_FORTRAN_TEST_SOURCE( [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
|
|
|
|
|
dnl
|
|
|
|
|
dnl Will try to compile and link a program checking the SOURCE= Fortran support.
|
|
|
|
|
dnl
|
|
|
|
|
dnl Will use MPIFC, otherwise '$FC'.
|
|
|
|
|
dnl
|
|
|
|
|
dnl If the test passes, will execute ACTION-IF-FOUND. Otherwise, ACTION-IF-NOT-FOUND.
|
|
|
|
|
dnl Note : This file will be likely to induce the compiler to create a module file
|
|
|
|
|
dnl (for a module called conftest).
|
|
|
|
|
dnl Depending on the compiler flags, this could cause a conftest.mod file to appear
|
|
|
|
|
dnl in the present directory, or in another, or with another name. So be warned!
|
|
|
|
|
dnl
|
|
|
|
|
dnl @author Salvatore Filippone <salvatore.filippone@uniroma2.it>
|
|
|
|
|
AC_DEFUN(PAC_FORTRAN_TEST_SOURCE,
|
|
|
|
|
ac_exeext=''
|
|
|
|
|
ac_ext='f90'
|
|
|
|
|
ac_link='${MPIFC-$FC} -o conftest${ac_exeext} $FCFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
|
|
|
|
dnl Warning : square brackets are EVIL!
|
|
|
|
|
[AC_MSG_CHECKING([support for Fortran SOURCE= allocation])
|
|
|
|
|
i=0
|
|
|
|
|
while test \( -f tmpdir_$i \) -o \( -d tmpdir_$i \) ; do
|
|
|
|
|
i=`expr $i + 1`
|
|
|
|
|
done
|
|
|
|
|
mkdir tmpdir_$i
|
|
|
|
|
cd tmpdir_$i
|
|
|
|
|
cat > conftest.$ac_ext <<EOF
|
|
|
|
|
program xtt
|
|
|
|
|
type foo
|
|
|
|
|
integer :: i
|
|
|
|
|
end type foo
|
|
|
|
|
type, extends(foo) :: new_foo
|
|
|
|
|
integer :: j
|
|
|
|
|
end type new_foo
|
|
|
|
|
class(foo), allocatable :: fooab
|
|
|
|
|
type(new_foo) :: nfv
|
|
|
|
|
integer :: info
|
|
|
|
|
|
|
|
|
|
allocate(fooab, source=nfv, stat=info)
|
|
|
|
|
|
|
|
|
|
end program xtt
|
|
|
|
|
EOF
|
|
|
|
|
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
|
|
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
|
ifelse([$1], , :, [
|
|
|
|
|
$1])
|
|
|
|
|
else
|
|
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
|
echo "configure: failed program was:" >&AC_FD_CC
|
|
|
|
|
cat conftest.$ac_ext >&AC_FD_CC
|
|
|
|
|
ifelse([$2], , , [
|
|
|
|
|
$2
|
|
|
|
|
])dnl
|
|
|
|
|
fi
|
|
|
|
|
cd ..
|
|
|
|
|
rm -fr tmpdir_$i])
|
|
|
|
|
|
|
|
|
|