summaryrefslogtreecommitdiff
path: root/m4/ax_f90_module_flag.m4
diff options
context:
space:
mode:
authorPeter Simons <simons@cryp.to>2007-02-18 23:43:16 +0100
committerPeter Simons <simons@cryp.to>2007-02-18 23:43:16 +0100
commit16aee45643e593e2833e4dff19df7b5f14267a79 (patch)
treeba40c1ee401bbbcec7dbee5e3bb51d21c70db130 /m4/ax_f90_module_flag.m4
downloadautoconf-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.m464
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)
+])])