dnl -*- shell-script -*- dnl dnl Copyright (c) 2004-2006 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-2012 Cisco Systems, Inc. All rights reserved. dnl $COPYRIGHT$ dnl dnl Additional copyrights may follow dnl dnl $HEADER$ dnl # # Sets and AC_SUBST's OMPI_FC_MODULE_FLAG. # # OMPI_FORTRAN_FIND_MODULE_INCLUDE_FLAG([action if found], [action if not found] AC_DEFUN([OMPI_FORTRAN_FIND_MODULE_INCLUDE_FLAG],[ AS_VAR_PUSHDEF([fortran_inc_var], [ompi_cv_fortran_module_include_flag]) OMPI_FC_MODULE_FLAG= AC_CACHE_CHECK([for Fortran compiler module include flag], fortran_inc_var, [ofi_possible_flags="-I -p -M" mkdir conftest.$$ cd conftest.$$ # Try to compile a Fortran module mkdir subdir cd subdir cat > conftest-module.f90 <<EOF module OMPI_MOD_FLAG type OMPI_MOD_FLAG_TYPE integer :: i end type OMPI_MOD_FLAG_TYPE end module OMPI_MOD_FLAG EOF OPAL_LOG_COMMAND([$FC $FCFLAGS $FCFLAGS_f90 -c conftest-module.f90 $LDFLAGS $LIBS], , [cd .. rm -rf conftest.$$ AC_MSG_RESULT([Whoops!]) AC_MSG_WARN([*** Cannot seem to compile a Fortran module]) AC_MSG_ERROR([Cannot continue])]) cd .. # # Now try to compile a simple program usinng that module, iterating # through the possible flags that the compiler might use # cat > conftest.f90 <<EOF program fortranusemodule use OMPI_MOD_FLAG end program fortranusemodule EOF ofi_module_flag= for flag in $ofi_possible_flags; do if test "$ofi_module_flag" = ""; then OPAL_LOG_COMMAND([$FC $FCFLAGS $FCFLAGS_f90 conftest.f90 ${flag}subdir $LDFLAGS $LIBS], [AS_VAR_SET(fortran_inc_var, [$flag]) ofi_module_flag="$flag"]) fi done cd .. rm -rf conftest.$$ ]) AS_VAR_COPY([OMPI_FC_MODULE_FLAG], [fortran_inc_var]) AC_SUBST(OMPI_FC_MODULE_FLAG) AS_VAR_POPDEF([fortran_inc_var]) AS_IF([test "$OMPI_FC_MODULE_FLAG" != ""], [$1], [$2]) ])dnl