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 (c) 2011-2012 Cisco Systems, Inc. All rights reserved. dnl Copyright (c) 2015 Research Organization for Information Science dnl and Technology (RIST). All rights reserved. dnl $COPYRIGHT$ dnl dnl Additional copyrights may follow dnl dnl $HEADER$ dnl # OMPI_FORTRAN_GET_VALUE_TRUE() # ------------------------------------------------------- # Determine the value of .TRUE. of this Fortran compiler. AC_DEFUN([OMPI_FORTRAN_GET_VALUE_TRUE],[ # invalidate cache if result came from a run where FORTRAN was disabled if test "$ompi_cv_fortran_true_value" = "0" ; then unset ompi_cv_fortran_true_value fi AS_VAR_PUSHDEF([fortran_true_var], [ompi_cv_fortran_true_value]) AC_CACHE_CHECK([Fortran value for .TRUE. logical type], fortran_true_var, [if test "$1" = "none" || \ test $OMPI_TRY_FORTRAN_BINDINGS -eq $OMPI_FORTRAN_NO_BINDINGS || \ test $ompi_fortran_happy -eq 0 ; then value=77 else # # C module # We really need the confdefs.h Header file for # the ompi_fortran_logical_t definition # if test \! -f confdefs.h ; then AC_MSG_WARN([*** Problem running configure test!]) AC_MSG_WARN([*** Cannot find confdefs.h file for config test]) AC_MSG_WARN([*** See config.log for details.]) AC_MSG_ERROR([*** Cannot continue.]) fi cat > conftest.c < #include #include "confdefs.h" #ifdef __cplusplus extern "C" { #endif void ompi_print_f(ompi_fortran_logical_t * logical) { FILE *f=fopen("conftestval", "w"); if (!f) exit(1); if( SIZEOF_INT >= sizeof(ompi_fortran_logical_t) ) { fprintf(f, "%d\n", (int)*logical); } else if (SIZEOF_LONG >= sizeof(ompi_fortran_logical_t) ) { fprintf(f, "%ld\n", (long) *logical); } else if (SIZEOF_LONG_LONG >= sizeof(ompi_fortran_logical_t) ) { fprintf(f, "%lld\n", (long long) *logical); } else { exit(1); } } void ompi_print(ompi_fortran_logical_t *logical) { ompi_print_f(logical); } void ompi_print_(ompi_fortran_logical_t *logical) { ompi_print_f(logical); } void ompi_print__(ompi_fortran_logical_t *logical) { ompi_print_f(logical); } void OMPI_PRINT(ompi_fortran_logical_t *logical) { ompi_print_f(logical); } #ifdef __cplusplus } #endif EOF cat > conftestf.f <