diff options
author | Peter Simons <simons@cryp.to> | 2007-02-18 23:43:16 +0100 |
---|---|---|
committer | Peter Simons <simons@cryp.to> | 2007-02-18 23:43:16 +0100 |
commit | 16aee45643e593e2833e4dff19df7b5f14267a79 (patch) | |
tree | ba40c1ee401bbbcec7dbee5e3bb51d21c70db130 /m4/ax_f90_module_flag.m4 | |
download | autoconf-archive-16aee45643e593e2833e4dff19df7b5f14267a79.tar.gz |
Imported http://autoconf-archive.cryp.to/ release 2007-02-14.
Diffstat (limited to 'm4/ax_f90_module_flag.m4')
-rw-r--r-- | m4/ax_f90_module_flag.m4 | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/m4/ax_f90_module_flag.m4 b/m4/ax_f90_module_flag.m4 new file mode 100644 index 0000000..ad4e292 --- /dev/null +++ b/m4/ax_f90_module_flag.m4 @@ -0,0 +1,64 @@ +##### http://autoconf-archive.cryp.to/ax_f90_module_flag.html +# +# SYNOPSIS +# +# AX_F90_MODULE_FLAG +# +# DESCRIPTION +# +# Find Fortran 90 modules inclusion flag. The module inclusion flag +# is stored in the cached variable ax_f90_modflag. An error is +# triggered if the flag cannot be found. Supported are the -I GNU +# compilers flag, the -M SUN compilers flag, and the -p Absoft Pro +# Fortran compiler flag. +# +# LAST MODIFICATION +# +# 2006-01-28 +# +# COPYLEFT +# +# Copyright (c) 2006 Luc Maisonobe <luc@spaceroots.org> +# Copyright (c) 2006 Julian C. Cummings <cummings@cacr.caltech.edu> +# +# Copying and distribution of this file, with or without +# modification, are permitted in any medium without royalty provided +# the copyright notice and this notice are preserved. + +AC_DEFUN([AX_F90_MODULE_FLAG],[ +AC_CACHE_CHECK([fortran 90 modules inclusion flag], +ax_f90_modflag, +[AC_LANG_PUSH(Fortran) +i=0 +while test \( -f tmpdir_$i \) -o \( -d tmpdir_$i \) ; do + i=`expr $i + 1` +done +mkdir tmpdir_$i +cd tmpdir_$i +AC_COMPILE_IFELSE([module conftest_module + contains + subroutine conftest_routine + write(*,'(a)') 'gotcha!' + end subroutine conftest_routine + end module conftest_module + ],[],[]) +cd .. +ax_f90_modflag="not found" +for ax_flag in "-I " "-M" "-p"; do + if test "$ax_f90_modflag" = "not found" ; then + ax_save_FCFLAGS="$FCFLAGS" + FCFLAGS="$ax_save_FCFLAGS ${ax_flag}tmpdir_$i" + AC_COMPILE_IFELSE([program conftest_program + use conftest_module + call conftest_routine + end program conftest_program + ],[ax_f90_modflag="$ax_flag"],[]) + FCFLAGS="$ax_save_FCFLAGS" + fi +done +rm -fr tmpdir_$i +if test "$ax_flag" = "not found" ; then + AC_MSG_ERROR([unable to find compiler flag for modules inclusion]) +fi +AC_LANG_POP(Fortran) +])]) |