From 80dedad601d38f2a2fad1130a657b5b2c3463b27 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Fri, 3 Jun 2016 09:46:16 +0000 Subject: [PATCH] psblas3: configure.ac configure Make FINAL a mandatory feature. --- configure | 163 ++++++++++++++++++++++++++------------------------- configure.ac | 20 ++++--- 2 files changed, 95 insertions(+), 88 deletions(-) diff --git a/configure b/configure index f5a7201b7..1724cede3 100755 --- a/configure +++ b/configure @@ -7708,9 +7708,9 @@ $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 { { $as_echo "$as_me:$LINENO: error: Sorry, cannot build PSBLAS without support for TR15581. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6." >&5 + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9." >&5 $as_echo "$as_me: error: Sorry, cannot build PSBLAS without support for TR15581. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6." >&2;} + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9." >&2;} { (exit 1); exit 1; }; } fi @@ -7779,9 +7779,9 @@ $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 { { $as_echo "$as_me:$LINENO: error: Sorry, cannot build PSBLAS without support for EXTENDS. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6." >&5 + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9." >&5 $as_echo "$as_me: error: Sorry, cannot build PSBLAS without support for EXTENDS. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6." >&2;} + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9." >&2;} { (exit 1); exit 1; }; } fi @@ -7866,9 +7866,9 @@ $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 { { $as_echo "$as_me:$LINENO: error: Sorry, cannot build PSBLAS without support for CLASS and type bound procedures. - Please get a Fortran compiler that supports them, e.g. GNU Fortran 4.6." >&5 + Please get a Fortran compiler that supports them, e.g. GNU Fortran 4.9." >&5 $as_echo "$as_me: error: Sorry, cannot build PSBLAS without support for CLASS and type bound procedures. - Please get a Fortran compiler that supports them, e.g. GNU Fortran 4.6." >&2;} + Please get a Fortran compiler that supports them, e.g. GNU Fortran 4.9." >&2;} { (exit 1); exit 1; }; } fi @@ -7939,9 +7939,9 @@ $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 { { $as_echo "$as_me:$LINENO: error: Sorry, cannot build PSBLAS without support for SOURCE= allocation. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6." >&5 + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9." >&5 $as_echo "$as_me: error: Sorry, cannot build PSBLAS without support for SOURCE= allocation. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6." >&2;} + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9." >&2;} { (exit 1); exit 1; }; } fi @@ -8002,9 +8002,9 @@ $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 { { $as_echo "$as_me:$LINENO: error: Sorry, cannot build PSBLAS without support for MOVE_ALLOC. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6." >&5 + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9." >&5 $as_echo "$as_me: error: Sorry, cannot build PSBLAS without support for MOVE_ALLOC. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6." >&2;} + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9." >&2;} { (exit 1); exit 1; }; } fi @@ -8064,9 +8064,9 @@ $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 { { $as_echo "$as_me:$LINENO: error: Sorry, cannot build PSBLAS without support for ISO_C_BINDING. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6." >&5 + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9." >&5 $as_echo "$as_me: error: Sorry, cannot build PSBLAS without support for ISO_C_BINDING. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6." >&2;} + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9." >&2;} { (exit 1); exit 1; }; } fi @@ -8079,25 +8079,35 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu - -# -# Optional features -# - -{ $as_echo "$as_me:$LINENO: checking support for Fortran VOLATILE" >&5 -$as_echo_n "checking support for Fortran VOLATILE... " >&6; } +{ $as_echo "$as_me:$LINENO: checking support for Fortran FINAL" >&5 +$as_echo_n "checking support for Fortran FINAL... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' - ac_ext='F90' + ac_ext='f90' ac_fc=${MPIFC-$FC}; cat >conftest.$ac_ext <<_ACEOF +module conftest_mod + type foo + integer :: i + contains + final :: destroy_foo + end type foo + + private destroy_foo +contains + subroutine destroy_foo(a) + type(foo) :: a + ! Just a test + end subroutine destroy_foo +end module conftest_mod program conftest - integer, volatile :: i, j + use conftest_mod + type(foo) :: foovar end program conftest _ACEOF rm -f conftest.$ac_objext @@ -8120,7 +8130,7 @@ $as_echo "$ac_try_echo") >&5 } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } - FDEFINES="$psblas_cv_define_prepend-DHAVE_VOLATILE $FDEFINES" + FDEFINES="$psblas_cv_define_prepend-DHAVE_FINAL $FDEFINES" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8129,6 +8139,11 @@ sed 's/^/| /' conftest.$ac_ext >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 + { { $as_echo "$as_me:$LINENO: error: Sorry, cannot build PSBLAS without support for ISO_C_BINDING. + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9." >&5 +$as_echo "$as_me: error: Sorry, cannot build PSBLAS without support for ISO_C_BINDING. + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9." >&2;} + { (exit 1); exit 1; }; } fi @@ -8141,9 +8156,13 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking test GENERIC interfaces" >&5 -$as_echo_n "checking test GENERIC interfaces... " >&6; } -ac_ext=${ac_fc_srcext-f} +# +# Optional features +# + +{ $as_echo "$as_me:$LINENO: checking support for Fortran VOLATILE" >&5 +$as_echo_n "checking support for Fortran VOLATILE... " >&6; } + ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu @@ -8153,19 +8172,9 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_fc=${MPIFC-$FC}; cat >conftest.$ac_ext <<_ACEOF -module conftest - - interface foo - subroutine i_sub_foo(v) - integer, intent(inout) :: v(:) - end subroutine i_sub_foo - end interface foo - - interface bar - procedure i_sub_foo - end interface bar - -end module conftest +program conftest + integer, volatile :: i, j +end program conftest _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -8187,7 +8196,7 @@ $as_echo "$ac_try_echo") >&5 } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } - : + FDEFINES="$psblas_cv_define_prepend-DHAVE_VOLATILE $FDEFINES" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8196,7 +8205,6 @@ sed 's/^/| /' conftest.$ac_ext >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 - FDEFINES="$psblas_cv_define_prepend-DHAVE_BUGGY_GENERICS $FDEFINES" fi @@ -8209,25 +8217,31 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking support for Fortran FLUSH statement" >&5 -$as_echo_n "checking support for Fortran FLUSH statement... " >&6; } - ac_ext=${ac_fc_srcext-f} +{ $as_echo "$as_me:$LINENO: checking test GENERIC interfaces" >&5 +$as_echo_n "checking test GENERIC interfaces... " >&6; } +ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_exeext='' - ac_ext='f90' + ac_ext='F90' ac_fc=${MPIFC-$FC}; cat >conftest.$ac_ext <<_ACEOF -program conftest - integer :: iunit=10 - open(10) - write(10,*) 'Test ' - flush(10) - close(10) -end program conftest +module conftest + + interface foo + subroutine i_sub_foo(v) + integer, intent(inout) :: v(:) + end subroutine i_sub_foo + end interface foo + + interface bar + procedure i_sub_foo + end interface bar + +end module conftest _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -8249,7 +8263,7 @@ $as_echo "$ac_try_echo") >&5 } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } - FDEFINES="$psblas_cv_define_prepend-DHAVE_FLUSH_STMT $FDEFINES" + : else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8258,6 +8272,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 $as_echo "no" >&6; } echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 + FDEFINES="$psblas_cv_define_prepend-DHAVE_BUGGY_GENERICS $FDEFINES" fi @@ -8270,8 +8285,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking support for ISO_FORTRAN_ENV" >&5 -$as_echo_n "checking support for ISO_FORTRAN_ENV... " >&6; } +{ $as_echo "$as_me:$LINENO: checking support for Fortran FLUSH statement" >&5 +$as_echo_n "checking support for Fortran FLUSH statement... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' @@ -8282,9 +8297,13 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_fc=${MPIFC-$FC}; cat >conftest.$ac_ext <<_ACEOF - program test - use iso_fortran_env - end program test +program conftest + integer :: iunit=10 + open(10) + write(10,*) 'Test ' + flush(10) + close(10) +end program conftest _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -8306,7 +8325,7 @@ $as_echo "$ac_try_echo") >&5 } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } - FDEFINES="$psblas_cv_define_prepend-DHAVE_ISO_FORTRAN_ENV $FDEFINES" + FDEFINES="$psblas_cv_define_prepend-DHAVE_FLUSH_STMT $FDEFINES" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8327,8 +8346,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:$LINENO: checking support for Fortran FINAL" >&5 -$as_echo_n "checking support for Fortran FINAL... " >&6; } +{ $as_echo "$as_me:$LINENO: checking support for ISO_FORTRAN_ENV" >&5 +$as_echo_n "checking support for ISO_FORTRAN_ENV... " >&6; } ac_ext=${ac_fc_srcext-f} ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' @@ -8339,24 +8358,9 @@ ac_compiler_gnu=$ac_cv_fc_compiler_gnu ac_fc=${MPIFC-$FC}; cat >conftest.$ac_ext <<_ACEOF -module conftest_mod - type foo - integer :: i - contains - final :: destroy_foo - end type foo - - private destroy_foo -contains - subroutine destroy_foo(a) - type(foo) :: a - ! Just a test - end subroutine destroy_foo -end module conftest_mod -program conftest - use conftest_mod - type(foo) :: foovar -end program conftest + program test + use iso_fortran_env + end program test _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" @@ -8378,7 +8382,7 @@ $as_echo "$ac_try_echo") >&5 } && test -s conftest.$ac_objext; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } - FDEFINES="$psblas_cv_define_prepend-DHAVE_FINAL $FDEFINES" + FDEFINES="$psblas_cv_define_prepend-DHAVE_ISO_FORTRAN_ENV $FDEFINES" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8399,6 +8403,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + { $as_echo "$as_me:$LINENO: checking support for Fortran SAME_TYPE_AS" >&5 $as_echo_n "checking support for Fortran SAME_TYPE_AS... " >&6; } ac_ext=${ac_fc_srcext-f} diff --git a/configure.ac b/configure.ac index 666fbd43b..abae9f42e 100755 --- a/configure.ac +++ b/configure.ac @@ -542,37 +542,42 @@ fi PAC_FORTRAN_TEST_TR15581( [], [AC_MSG_ERROR([Sorry, cannot build PSBLAS without support for TR15581. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6.])] + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9.])] ) PAC_FORTRAN_TEST_EXTENDS( [], [AC_MSG_ERROR([Sorry, cannot build PSBLAS without support for EXTENDS. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6.])] + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9.])] ) PAC_FORTRAN_TEST_CLASS_TBP( [], [AC_MSG_ERROR([Sorry, cannot build PSBLAS without support for CLASS and type bound procedures. - Please get a Fortran compiler that supports them, e.g. GNU Fortran 4.6.])] + Please get a Fortran compiler that supports them, e.g. GNU Fortran 4.9.])] ) PAC_FORTRAN_TEST_SOURCE( [], [AC_MSG_ERROR([Sorry, cannot build PSBLAS without support for SOURCE= allocation. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6.])] + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9.])] ) PAC_FORTRAN_HAVE_MOVE_ALLOC( [FDEFINES="$psblas_cv_define_prepend-DHAVE_MOVE_ALLOC $FDEFINES"], [AC_MSG_ERROR([Sorry, cannot build PSBLAS without support for MOVE_ALLOC. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6.])] + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9.])] ) PAC_FORTRAN_TEST_ISO_C_BIND( [FDEFINES="$psblas_cv_define_prepend-DHAVE_ISO_C_BINDING $FDEFINES"], [AC_MSG_ERROR([Sorry, cannot build PSBLAS without support for ISO_C_BINDING. - Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.6.])] + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9.])] +) +PAC_FORTRAN_TEST_FINAL( + [FDEFINES="$psblas_cv_define_prepend-DHAVE_FINAL $FDEFINES"], + [AC_MSG_ERROR([Sorry, cannot build PSBLAS without support for ISO_C_BINDING. + Please get a Fortran compiler that supports it, e.g. GNU Fortran 4.9.])] ) # @@ -596,9 +601,6 @@ PAC_FORTRAN_TEST_ISO_FORTRAN_ENV( [FDEFINES="$psblas_cv_define_prepend-DHAVE_ISO_FORTRAN_ENV $FDEFINES"], ) -PAC_FORTRAN_TEST_FINAL( - [FDEFINES="$psblas_cv_define_prepend-DHAVE_FINAL $FDEFINES"], -) PAC_FORTRAN_TEST_SAME_TYPE( [FDEFINES="$psblas_cv_define_prepend-DHAVE_SAME_TYPE_AS $FDEFINES"],