@@ -15,8 +15,8 @@ dnl Copyright (c) 2006-2008 Sun Microsystems, Inc. All rights reserved.
1515dnl Copyright (c) 2006-2007 Los Alamos National Security, LLC. All rights
1616dnl reserved.
1717dnl Copyright (c) 2009 Oak Ridge National Labs. All rights reserved.
18- dnl Copyright (c) 2014-2017 Research Organization for Information Science
19- dnl and Technology (RIST). All rights reserved.
18+ dnl Copyright (c) 2014-2019 Research Organization for Information Science
19+ dnl and Technology (RIST). All rights reserved.
2020dnl Copyright (c) 2016 IBM Corporation. All rights reserved.
2121dnl Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
2222dnl $COPYRIGHT $
@@ -558,6 +558,12 @@ end type test_mpi_handle],
558558 ])
559559 ])
560560
561+ OMPI_FORTRAN_HAVE_C_ISO_FORTRAN= 0
562+ AS_IF([test $OMPI_TRY_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS && \
563+ test $OMPI_BUILD_FORTRAN_BINDINGS -ge $OMPI_FORTRAN_USEMPIF08_BINDINGS ],
564+ [OMPI_FORTRAN_CHECK_ISO_FORTRAN_BINDING([OMPI_FORTRAN_HAVE_C_ISO_FORTRAN= 1],
565+ [OMPI_FORTRAN_HAVE_C_ISO_FORTRAN= 0])])
566+
561567 # Note: the current implementation *only* has wrappers;
562568 # there is no optimized implementation for a "good"
563569 # compiler. I'm leaving the above logic in place for
@@ -580,6 +586,8 @@ end type test_mpi_handle],
580586 AS_IF([test $OMPI_MIN_REQUIRED_FORTRAN_BINDINGS -gt $OMPI_BUILD_FORTRAN_BINDINGS ],
581587 [AC_MSG_ERROR([Cannot build requested Fortran bindings, aborting])])
582588
589+ AC_CONFIG_FILES([ompi/mpi/fortran/use-mpi-f08/bindings/mpi-f-interfaces-bind.h])
590+
583591 # -------------------
584592 # mpif.h final setup
585593 # -------------------
@@ -798,6 +806,20 @@ end type test_mpi_handle],
798806 # For configure-fortran-output.h
799807 AC_SUBST(OMPI_FORTRAN_HAVE_BIND_C)
800808
809+ AM_CONDITIONAL(OMPI_FORTRAN_HAVE_C_ISO_FORTRAN,
810+ [test $OMPI_FORTRAN_HAVE_C_ISO_FORTRAN -eq 1])
811+
812+ AS_IF([test $OMPI_FORTRAN_HAVE_C_ISO_FORTRAN -eq 1],
813+ [OMPI_F08_IGNORE_TKR_TYPE= " type(*), dimension(..)"
814+ OMPI_F08_GCC_ATTRIBUTES=
815+ OMPI_F08_BINDINGS_EXTENSION= " cdesc" ],
816+ [OMPI_F08_IGNORE_TKR_TYPE= $OMPI_FORTRAN_IGNORE_TKR_TYPE
817+ OMPI_F08_GCC_ATTRIBUTES= ' !GCC$ ATTRIBUTES NO_ARG_CHECK :: buf'
818+ OMPI_F08_BINDINGS_EXTENSION= " f" ])
819+ AC_SUBST(OMPI_F08_IGNORE_TKR_TYPE)
820+ AC_SUBST(OMPI_F08_GCC_ATTRIBUTES)
821+ AC_SUBST(OMPI_F08_BINDINGS_EXTENSION)
822+
801823 # Somewhat redundant because ompi/Makefile.am won't traverse into
802824 # ompi/mpi/fortran/use-mpi-f08 if it's not to be built, but we
803825 # might as well have ompi/mpi/fortran/use-mpi-f08/Makefile.am be
0 commit comments