7136dbb5b3
configure test to ensure that the Fortran compiler supports BIND(C) with LOGICAL parameters (per http://lists.mpi-forum.org/mpi-comments/2013/02/0076.php). This may become moot shortly -- Pathscale tells me that they intend upgrade their compiler to support BIND(C) with default LOGICAL in the very near term (this week?). But we still want this configure test so that Open MPI won't even try to build the F08 bindings with older versions of the Pathscale compilers (or any compiler that doesn't support BIND(C) and LOGICAL parameters). This commit was SVN r28110. The following Trac tickets were found above: Ticket 3523 --> https://svn.open-mpi.org/trac/ompi/ticket/3523
52 строки
2.0 KiB
Bash
52 строки
2.0 KiB
Bash
dnl -*- shell-script -*-
|
|
dnl
|
|
dnl Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
|
|
dnl University Research and Technology
|
|
dnl Corporation. All rights reserved.
|
|
dnl Copyright (c) 2004-2005 The University of Tennessee and The University
|
|
dnl of Tennessee Research Foundation. All rights
|
|
dnl 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 (c) 2010-2013 Cisco Systems, Inc. All rights reserved.
|
|
dnl $COPYRIGHT$
|
|
dnl
|
|
dnl Additional copyrights may follow
|
|
dnl
|
|
dnl $HEADER$
|
|
dnl
|
|
|
|
# Per https://svn.open-mpi.org/trac/ompi/ticket/3523 and
|
|
# http://lists.mpi-forum.org/mpi-comments/2013/02/0076.php, the
|
|
# Fortran compiler may not support default LOGICAL parameters with
|
|
# BIND(C). OMPI's F08 bindings currently require this.
|
|
#
|
|
# So at least for the moment, test to see if the compiler allows
|
|
# default LOGICAL parameters with BIND(C).
|
|
|
|
# OMPI_FORTRAN_CHECK_BIND_C_LOGICAL([action if found], [action if not found])
|
|
# ----------------------------------------------------
|
|
AC_DEFUN([OMPI_FORTRAN_CHECK_BIND_C_LOGICAL],[
|
|
AS_VAR_PUSHDEF([bind_c_var], [ompi_cv_fortran_bind_c_likes_logical])
|
|
|
|
AC_CACHE_CHECK([if Fortran compiler supports BIND(C) with LOGICAL params], bind_c_var,
|
|
[AC_LANG_PUSH([Fortran])
|
|
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[module bindc_logical
|
|
use, intrinsic :: iso_c_binding
|
|
interface
|
|
subroutine foo(flag) bind(c)
|
|
logical :: flag
|
|
end subroutine foo
|
|
end interface
|
|
end module bindc_logical]])],
|
|
[AS_VAR_SET(bind_c_var, yes)],
|
|
[AS_VAR_SET(bind_c_var, no)])
|
|
AC_LANG_POP([Fortran])
|
|
])
|
|
|
|
AS_VAR_IF(bind_c_var, [yes], [$1], [$2])
|
|
AS_VAR_POPDEF([bind_c_var])dnl
|
|
])
|