From b296a419c4ed2cc43cab53b78a40cbf1346f2362 Mon Sep 17 00:00:00 2001
From: James Laird <jlaird@hdfgroup.org>
Date: Mon, 4 Apr 2005 16:17:51 -0500
Subject: [svn-r10534] Purpose: Configuration feature

Description:
Different Fortran compilers mangle function names in different ways
(upper case, lower case, adding underscores).  To link between
Fortran and C functions, we need to know what a given function's
name is under a given compiler.

Solution:
Use autoconf's FC_WRAPPERS check to determine the Fortran
naming scheme and define the FC_FUNC_ macro to name our
functions (in H5f90proto.h).  Removed references to
our old FNAME macro, as well as flags that indicated whether
function names were upper or lower case.

Platforms tested:
mir, pommier, modi4, copper, more
---
 Makefile.in                         |    1 +
 c++/Makefile.in                     |    1 +
 c++/examples/Makefile.in            |    1 +
 c++/src/Makefile.in                 |    1 +
 c++/test/Makefile.in                |    1 +
 configure                           | 3763 ++++++++++++++++++++++++++++++++++-
 configure.in                        |   25 +-
 doc/Makefile.in                     |    1 +
 doc/html/ADGuide/Makefile.in        |    1 +
 doc/html/Graphics/Makefile.in       |    1 +
 doc/html/Intro/Makefile.in          |    1 +
 doc/html/Makefile.in                |    1 +
 doc/html/PSandPDF/Makefile.in       |    1 +
 doc/html/TechNotes/Makefile.in      |    1 +
 doc/html/Tutor/Graphics/Makefile.in |    1 +
 doc/html/Tutor/Makefile.in          |    1 +
 doc/html/Tutor/examples/Makefile.in |    1 +
 doc/html/cpplus/Makefile.in         |    1 +
 doc/html/ed_libs/Makefile.in        |    1 +
 doc/html/ed_styles/Makefile.in      |    1 +
 doc/html/fortran/Makefile.in        |    1 +
 examples/Makefile.in                |    1 +
 fortran/Makefile.in                 |    1 +
 fortran/examples/Makefile.in        |    1 +
 fortran/src/H5f90i.h                |   43 -
 fortran/src/H5f90proto.h            |  952 +++------
 fortran/src/Makefile.am             |    2 +
 fortran/src/Makefile.in             |    2 +
 fortran/test/Makefile.in            |    1 +
 fortran/test/t.h                    |   12 +-
 fortran/testpar/Makefile.in         |    1 +
 hl/Makefile.in                      |    1 +
 hl/c++/Makefile.in                  |    1 +
 hl/c++/src/Makefile.in              |    1 +
 hl/c++/test/Makefile.in             |    1 +
 hl/fortran/Makefile.in              |    1 +
 hl/fortran/src/H5LTf90proto.h       |  153 +-
 hl/fortran/src/H5f90i.h             |   45 +-
 hl/fortran/src/Makefile.in          |    1 +
 hl/fortran/test/Makefile.in         |    1 +
 hl/src/Makefile.in                  |    1 +
 hl/test/Makefile.in                 |    1 +
 hl/tools/gif2h5/Makefile.in         |    1 +
 perform/Makefile.in                 |    1 +
 src/H5config.h.in                   |   14 +
 src/Makefile.in                     |    1 +
 test/Makefile.in                    |    1 +
 testpar/Makefile.in                 |    1 +
 tools/Makefile.in                   |    1 +
 tools/gifconv/Makefile.in           |    1 +
 tools/h5diff/Makefile.in            |    1 +
 tools/h5dump/Makefile.in            |    1 +
 tools/h5import/Makefile.in          |    1 +
 tools/h5jam/Makefile.in             |    1 +
 tools/h5ls/Makefile.in              |    1 +
 tools/h5repack/Makefile.in          |    1 +
 tools/lib/Makefile.in               |    1 +
 tools/misc/Makefile.in              |    1 +
 58 files changed, 4139 insertions(+), 920 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 65fb841..65b548d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -165,6 +165,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/c++/Makefile.in b/c++/Makefile.in
index 76a81f0..403bfba 100644
--- a/c++/Makefile.in
+++ b/c++/Makefile.in
@@ -135,6 +135,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in
index 1e62927..02a9f3d 100644
--- a/c++/examples/Makefile.in
+++ b/c++/examples/Makefile.in
@@ -127,6 +127,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in
index 06cb909..a604f3d 100644
--- a/c++/src/Makefile.in
+++ b/c++/src/Makefile.in
@@ -169,6 +169,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/c++/test/Makefile.in b/c++/test/Makefile.in
index 145924a..ffd7bf2 100644
--- a/c++/test/Makefile.in
+++ b/c++/test/Makefile.in
@@ -158,6 +158,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/configure b/configure
index e8944e9..ce003fc 100755
--- a/configure
+++ b/configure
@@ -467,7 +467,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPPFLAGS HSIZET CC CFLAGS LDFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE HDF5_INTERFACES R_LARGE R_INTEGER HADDR_T HSIZE_T HSSIZE_T HID_T SIZE_T OBJECT_NAMELEN_DEFAULT_F F9XSUFFIXFLAG FSEARCH_DIRS FC FCFLAGS ac_ct_FC F9XMODFLAG F9XMODEXT CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP LT_STATIC_EXEC PERL AR EGREP LN_S ECHO ac_ct_AR RANLIB ac_ct_RANLIB CPP F77 FFLAGS ac_ct_F77 LIBTOOL AM_MAKEFLAGS USE_FILTER_DEFLATE USE_FILTER_SZIP SRB TESTSRB BUILD_SRB_CONDITIONAL_TRUE BUILD_SRB_CONDITIONAL_FALSE BUILD_PDB2HDF BUILD_PDB2HDF_CONDITIONAL_TRUE BUILD_PDB2HDF_CONDITIONAL_FALSE PTHREAD DEBUG_PKG TRACE_API INSTRUMENT_LIBRARY PARALLEL RUNSERIAL RUNPARALLEL TESTPARALLEL ADD_PARALLEL_FILES MPE FILTERS USE_FILTER_SHUFFLE USE_FILTER_FLETCHER32 USE_FILTER_NBIT USE_FILTER_SCALEOFFSET H5_VERSION CONFIG_DATE CONFIG_USER CONFIG_MODE BYTESEX STATIC_SHARED CC_VERSION ROOT DYNAMIC_DIRS HL HL_FOR BUILD_CXX_CONDITIONAL_TRUE BUILD_CXX_CONDITIONAL_FALSE BUILD_PABLO_CONDITIONAL_TRUE BUILD_PABLO_CONDITIONAL_FALSE BUILD_PARALLEL_CONDITIONAL_TRUE BUILD_PARALLEL_CONDITIONAL_FALSE BUILD_FORTRAN_CONDITIONAL_TRUE BUILD_FORTRAN_CONDITIONAL_FALSE BUILD_HDF5_HL_CONDITIONAL_TRUE BUILD_HDF5_HL_CONDITIONAL_FALSE SEARCH SETX LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPPFLAGS HSIZET CC CFLAGS LDFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE HDF5_INTERFACES R_LARGE R_INTEGER HADDR_T HSIZE_T HSSIZE_T HID_T SIZE_T OBJECT_NAMELEN_DEFAULT_F F9XSUFFIXFLAG FSEARCH_DIRS FC FCFLAGS ac_ct_FC F9XMODFLAG F9XMODEXT FCLIBS CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP LT_STATIC_EXEC PERL AR EGREP LN_S ECHO ac_ct_AR RANLIB ac_ct_RANLIB CPP F77 FFLAGS ac_ct_F77 LIBTOOL AM_MAKEFLAGS USE_FILTER_DEFLATE USE_FILTER_SZIP SRB TESTSRB BUILD_SRB_CONDITIONAL_TRUE BUILD_SRB_CONDITIONAL_FALSE BUILD_PDB2HDF BUILD_PDB2HDF_CONDITIONAL_TRUE BUILD_PDB2HDF_CONDITIONAL_FALSE PTHREAD DEBUG_PKG TRACE_API INSTRUMENT_LIBRARY PARALLEL RUNSERIAL RUNPARALLEL TESTPARALLEL ADD_PARALLEL_FILES MPE FILTERS USE_FILTER_SHUFFLE USE_FILTER_FLETCHER32 USE_FILTER_NBIT USE_FILTER_SCALEOFFSET H5_VERSION CONFIG_DATE CONFIG_USER CONFIG_MODE BYTESEX STATIC_SHARED CC_VERSION ROOT DYNAMIC_DIRS HL HL_FOR BUILD_CXX_CONDITIONAL_TRUE BUILD_CXX_CONDITIONAL_FALSE BUILD_PABLO_CONDITIONAL_TRUE BUILD_PABLO_CONDITIONAL_FALSE BUILD_PARALLEL_CONDITIONAL_TRUE BUILD_PARALLEL_CONDITIONAL_FALSE BUILD_FORTRAN_CONDITIONAL_TRUE BUILD_FORTRAN_CONDITIONAL_FALSE BUILD_HDF5_HL_CONDITIONAL_TRUE BUILD_HDF5_HL_CONDITIONAL_FALSE SEARCH SETX LIBOBJS LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -3749,50 +3749,821 @@ ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$a
 ac_compiler_gnu=$ac_cv_fc_compiler_gnu
 
 
-        FCFLAGS_saved=$FCFLAGS
-  FCFLAGS="${FCFLAGS} -I."
 
-  echo "$as_me:$LINENO: checking if compiler supports -I. option" >&5
-echo $ECHO_N "checking if compiler supports -I. option... $ECHO_C" >&6
-  ac_ext=${FC_SRCEXT-f}
+ac_ext=${FC_SRCEXT-f}
 ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
 ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+echo "$as_me:$LINENO: checking how to get verbose linking output from $FC" >&5
+echo $ECHO_N "checking how to get verbose linking output from $FC... $ECHO_C" >&6
+if test "${ac_cv_prog_fc_v+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+      program main
 
+      end
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_fc_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_prog_fc_v=
+# Try some options frequently used verbose output
+for ac_verb in -v -verbose --verbose -V -\#\#\#; do
+  cat >conftest.$ac_ext <<_ACEOF
+      program main
 
-test -d conftestdir || mkdir conftestdir
-cd conftestdir
-rm -rf *
+      end
+_ACEOF
 
-cat >conftest.$ac_ext <<EOF
+# Compile and link our simple test program by passing a flag (argument
+# 1 to this macro) to the Fortran compiler in order to get
+# "verbose" output that we can then parse for the Fortran linker
+# flags.
+ac_save_FFLAGS=$FCFLAGS
+FCFLAGS="$FCFLAGS $ac_verb"
+(eval echo $as_me:3804: \"$ac_link\") >&5
+ac_fc_v_output=`eval $ac_link 5>&1 2>&1 | grep -v 'Driving:'`
+echo "$ac_fc_v_output" >&5
+FCFLAGS=$ac_save_FFLAGS
+
+rm -f conftest*
+
+# On HP/UX there is a line like: "LPATH is: /foo:/bar:/baz" where
+# /foo, /bar, and /baz are search directories for the Fortran linker.
+# Here, we change these into -L/foo -L/bar -L/baz (and put it first):
+ac_fc_v_output="`echo $ac_fc_v_output |
+	grep 'LPATH is:' |
+	sed 's,.*LPATH is\(: *[^ ]*\).*,\1,;s,: */, -L/,g'` $ac_fc_v_output"
+
+case $ac_fc_v_output in
+  # If we are using xlf then replace all the commas with spaces.
+  *xlfentry*)
+    ac_fc_v_output=`echo $ac_fc_v_output | sed 's/,/ /g'` ;;
+
+  # With Intel ifc, ignore the quoted -mGLOB_options_string stuff (quoted
+  # $LIBS confuse us, and the libraries appear later in the output anyway).
+  *mGLOB_options_string*)
+    ac_fc_v_output=`echo $ac_fc_v_output | sed 's/\"-mGLOB[^\"]*\"/ /g'` ;;
+
+  # If we are using Cray Fortran then delete quotes.
+  # Use "\"" instead of '"' for font-lock-mode.
+  # FIXME: a more general fix for quoted arguments with spaces?
+  *cft90*)
+    ac_fc_v_output=`echo $ac_fc_v_output | sed "s/\"//g"` ;;
+esac
+
+
+  # look for -l* and *.a constructs in the output
+  for ac_arg in $ac_fc_v_output; do
+     case $ac_arg in
+        [\\/]*.a | ?:[\\/]*.a | -[lLRu]*)
+          ac_cv_prog_fc_v=$ac_verb
+          break 2 ;;
+     esac
+  done
+done
+if test -z "$ac_cv_prog_fc_v"; then
+   { echo "$as_me:$LINENO: WARNING: cannot determine how to obtain linking information from $FC" >&5
+echo "$as_me: WARNING: cannot determine how to obtain linking information from $FC" >&2;}
+fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ echo "$as_me:$LINENO: WARNING: compilation failed" >&5
+echo "$as_me: WARNING: compilation failed" >&2;}
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_prog_fc_v" >&5
+echo "${ECHO_T}$ac_cv_prog_fc_v" >&6
+echo "$as_me:$LINENO: checking for Fortran libraries of $FC" >&5
+echo $ECHO_N "checking for Fortran libraries of $FC... $ECHO_C" >&6
+if test "${ac_cv_fc_libs+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "x$FCLIBS" != "x"; then
+  ac_cv_fc_libs="$FCLIBS" # Let the user override the test.
+else
+
+cat >conftest.$ac_ext <<_ACEOF
+      program main
 
-      program conftest
       end
+_ACEOF
 
-EOF
+# Compile and link our simple test program by passing a flag (argument
+# 1 to this macro) to the Fortran compiler in order to get
+# "verbose" output that we can then parse for the Fortran linker
+# flags.
+ac_save_FFLAGS=$FCFLAGS
+FCFLAGS="$FCFLAGS $ac_cv_prog_fc_v"
+(eval echo $as_me:3882: \"$ac_link\") >&5
+ac_fc_v_output=`eval $ac_link 5>&1 2>&1 | grep -v 'Driving:'`
+echo "$ac_fc_v_output" >&5
+FCFLAGS=$ac_save_FFLAGS
+
+rm -f conftest*
+
+# On HP/UX there is a line like: "LPATH is: /foo:/bar:/baz" where
+# /foo, /bar, and /baz are search directories for the Fortran linker.
+# Here, we change these into -L/foo -L/bar -L/baz (and put it first):
+ac_fc_v_output="`echo $ac_fc_v_output |
+	grep 'LPATH is:' |
+	sed 's,.*LPATH is\(: *[^ ]*\).*,\1,;s,: */, -L/,g'` $ac_fc_v_output"
+
+case $ac_fc_v_output in
+  # If we are using xlf then replace all the commas with spaces.
+  *xlfentry*)
+    ac_fc_v_output=`echo $ac_fc_v_output | sed 's/,/ /g'` ;;
+
+  # With Intel ifc, ignore the quoted -mGLOB_options_string stuff (quoted
+  # $LIBS confuse us, and the libraries appear later in the output anyway).
+  *mGLOB_options_string*)
+    ac_fc_v_output=`echo $ac_fc_v_output | sed 's/\"-mGLOB[^\"]*\"/ /g'` ;;
+
+  # If we are using Cray Fortran then delete quotes.
+  # Use "\"" instead of '"' for font-lock-mode.
+  # FIXME: a more general fix for quoted arguments with spaces?
+  *cft90*)
+    ac_fc_v_output=`echo $ac_fc_v_output | sed "s/\"//g"` ;;
+esac
+
+
+
+ac_cv_fc_libs=
+
+# Save positional arguments (if any)
+ac_save_positional="$@"
+
+set X $ac_fc_v_output
+while test $# != 1; do
+  shift
+  ac_arg=$1
+  case $ac_arg in
+        [\\/]*.a | ?:[\\/]*.a)
+            ac_exists=false
+  for ac_i in $ac_cv_fc_libs; do
+    if test x"$ac_arg" = x"$ac_i"; then
+      ac_exists=true
+      break
+    fi
+  done
+
+  if test x"$ac_exists" = xtrue; then
+  :
+else
+  ac_cv_fc_libs="$ac_cv_fc_libs $ac_arg"
+fi
+
+          ;;
+        -bI:*)
+            ac_exists=false
+  for ac_i in $ac_cv_fc_libs; do
+    if test x"$ac_arg" = x"$ac_i"; then
+      ac_exists=true
+      break
+    fi
+  done
+
+  if test x"$ac_exists" = xtrue; then
+  :
+else
+  if test "$ac_compiler_gnu" = yes; then
+  for ac_link_opt in $ac_arg; do
+    ac_cv_fc_libs="$ac_cv_fc_libs -Xlinker $ac_link_opt"
+  done
+else
+  ac_cv_fc_libs="$ac_cv_fc_libs $ac_arg"
+fi
+fi
+
+          ;;
+          # Ignore these flags.
+        -lang* | -lcrt[01].o | -lcrtbegin.o | -lc | -lgcc | -libmil | -LANG:=*)
+          ;;
+        -lkernel32)
+          test x"$CYGWIN" != xyes && ac_cv_fc_libs="$ac_cv_fc_libs $ac_arg"
+          ;;
+        -[LRuY])
+          # These flags, when seen by themselves, take an argument.
+          # We remove the space between option and argument and re-iterate
+          # unless we find an empty arg or a new option (starting with -)
+	  case $2 in
+	     "" | -*);;
+	     *)
+		ac_arg="$ac_arg$2"
+		shift; shift
+		set X $ac_arg "$@"
+		;;
+	  esac
+          ;;
+        -YP,*)
+          for ac_j in `echo $ac_arg | sed -e 's/-YP,/-L/;s/:/ -L/g'`; do
+              ac_exists=false
+  for ac_i in $ac_cv_fc_libs; do
+    if test x"$ac_j" = x"$ac_i"; then
+      ac_exists=true
+      break
+    fi
+  done
+
+  if test x"$ac_exists" = xtrue; then
+  :
+else
+  ac_arg="$ac_arg $ac_j"
+                               ac_cv_fc_libs="$ac_cv_fc_libs $ac_j"
+fi
+
+          done
+          ;;
+        -[lLR]*)
+            ac_exists=false
+  for ac_i in $ac_cv_fc_libs; do
+    if test x"$ac_arg" = x"$ac_i"; then
+      ac_exists=true
+      break
+    fi
+  done
+
+  if test x"$ac_exists" = xtrue; then
+  :
+else
+  ac_cv_fc_libs="$ac_cv_fc_libs $ac_arg"
+fi
+
+          ;;
+          # Ignore everything else.
+  esac
+done
+# restore positional arguments
+set X $ac_save_positional; shift
+
+# We only consider "LD_RUN_PATH" on Solaris systems.  If this is seen,
+# then we insist that the "run path" must be an absolute path (i.e. it
+# must begin with a "/").
+case `(uname -sr) 2>/dev/null` in
+   "SunOS 5"*)
+      ac_ld_run_path=`echo $ac_fc_v_output |
+                        sed -n 's,^.*LD_RUN_PATH *= *\(/[^ ]*\).*$,-R\1,p'`
+      test "x$ac_ld_run_path" != x &&
+        if test "$ac_compiler_gnu" = yes; then
+  for ac_link_opt in $ac_ld_run_path; do
+    ac_cv_fc_libs="$ac_cv_fc_libs -Xlinker $ac_link_opt"
+  done
+else
+  ac_cv_fc_libs="$ac_cv_fc_libs $ac_ld_run_path"
+fi
+      ;;
+esac
+fi # test "x$[]_AC_LANG_PREFIX[]LIBS" = "x"
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_fc_libs" >&5
+echo "${ECHO_T}$ac_cv_fc_libs" >&6
+FCLIBS="$ac_cv_fc_libs"
+
+
+ac_ext=${FC_SRCEXT-f}
+ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
+
+ac_ext=${FC_SRCEXT-f}
+ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
+echo "$as_me:$LINENO: checking for dummy main to link with Fortran libraries" >&5
+echo $ECHO_N "checking for dummy main to link with Fortran libraries... $ECHO_C" >&6
+if test "${ac_cv_fc_dummy_main+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_fc_dm_save_LIBS=$LIBS
+ LIBS="$LIBS $FCLIBS"
+ ac_fortran_dm_var=FC_DUMMY_MAIN
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ # First, try linking without a dummy main:
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_fortran_dummy_main=none
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_fortran_dummy_main=unknown
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+
+ if test $ac_cv_fortran_dummy_main = unknown; then
+   for ac_func in MAIN__ MAIN_ __main MAIN _MAIN __MAIN main_ main__ _main; do
+     cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#define $ac_fortran_dm_var $ac_func
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_fortran_dummy_main=$ac_func; break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+   done
+ fi
+ ac_ext=${FC_SRCEXT-f}
+ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+ ac_cv_fc_dummy_main=$ac_cv_fortran_dummy_main
+ rm -f conftest*
+ LIBS=$ac_fc_dm_save_LIBS
 
+fi
+echo "$as_me:$LINENO: result: $ac_cv_fc_dummy_main" >&5
+echo "${ECHO_T}$ac_cv_fc_dummy_main" >&6
+FC_DUMMY_MAIN=$ac_cv_fc_dummy_main
+if test "$FC_DUMMY_MAIN" != unknown; then
+  if test $FC_DUMMY_MAIN != none; then
+
+cat >>confdefs.h <<_ACEOF
+#define FC_DUMMY_MAIN $FC_DUMMY_MAIN
+_ACEOF
+
+  if test "x$ac_cv_fc_dummy_main" = "x$ac_cv_f77_dummy_main"; then
+
+cat >>confdefs.h <<\_ACEOF
+#define FC_DUMMY_MAIN_EQ_F77 1
+_ACEOF
+
+  fi
+fi
+else
+  { { echo "$as_me:$LINENO: error: linking to Fortran libraries from C fails
+See \`config.log' for more details." >&5
+echo "$as_me: error: linking to Fortran libraries from C fails
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+
+ac_ext=${FC_SRCEXT-f}
+ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
+ac_ext=${FC_SRCEXT-f}
+ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+echo "$as_me:$LINENO: checking for Fortran name-mangling scheme" >&5
+echo $ECHO_N "checking for Fortran name-mangling scheme... $ECHO_C" >&6
+if test "${ac_cv_fc_mangling+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+      subroutine foobar()
+      return
+      end
+      subroutine foo_bar()
+      return
+      end
+_ACEOF
+rm -f conftest.$ac_objext
 if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+  (eval $ac_compile) 2>conftest.er1
   ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  :
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_fc_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  mv conftest.$ac_objext cfortran_test.$ac_objext
+
+  ac_save_LIBS=$LIBS
+  LIBS="cfortran_test.$ac_objext $LIBS $FCLIBS"
+
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+  ac_success=no
+  for ac_foobar in foobar FOOBAR; do
+    for ac_underscore in "" "_"; do
+      ac_func="$ac_foobar$ac_underscore"
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
+int
+main ()
+{
+$ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_success=yes; break 2
 else
-  :
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-     FCFLAGS="$FCFLAGS_saved"
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
 fi
-cd ..
-rm -rf conftest*
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+    done
+  done
+  ac_ext=${FC_SRCEXT-f}
+ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
+  if test "$ac_success" = "yes"; then
+     case $ac_foobar in
+	foobar)
+	   ac_case=lower
+	   ac_foo_bar=foo_bar
+	   ;;
+	FOOBAR)
+	   ac_case=upper
+	   ac_foo_bar=FOO_BAR
+	   ;;
+     esac
+
+     ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+     ac_success_extra=no
+     for ac_extra in "" "_"; do
+	ac_func="$ac_foo_bar$ac_underscore$ac_extra"
+	cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char $ac_func ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
+int
+main ()
+{
+$ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
+  (eval $ac_link) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+	 { ac_try='test -z "$ac_c_werror_flag"
+			 || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+	 { ac_try='test -s conftest$ac_exeext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_success_extra=yes; break
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+fi
+rm -f conftest.err conftest.$ac_objext \
+      conftest$ac_exeext conftest.$ac_ext
+     done
+     ac_ext=${FC_SRCEXT-f}
+ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
+     if test "$ac_success_extra" = "yes"; then
+	ac_cv_fc_mangling="$ac_case case"
+        if test -z "$ac_underscore"; then
+           ac_cv_fc_mangling="$ac_cv_fc_mangling, no underscore"
+	else
+           ac_cv_fc_mangling="$ac_cv_fc_mangling, underscore"
+        fi
+        if test -z "$ac_extra"; then
+           ac_cv_fc_mangling="$ac_cv_fc_mangling, no extra underscore"
+	else
+           ac_cv_fc_mangling="$ac_cv_fc_mangling, extra underscore"
+        fi
+      else
+	ac_cv_fc_mangling="unknown"
+      fi
+  else
+     ac_cv_fc_mangling="unknown"
+  fi
+
+  LIBS=$ac_save_LIBS
+  rm -f cfortran_test* conftest*
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { echo "$as_me:$LINENO: error: cannot compile a simple Fortran program
+See \`config.log' for more details." >&5
+echo "$as_me: error: cannot compile a simple Fortran program
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+fi
+echo "$as_me:$LINENO: result: $ac_cv_fc_mangling" >&5
+echo "${ECHO_T}$ac_cv_fc_mangling" >&6
+
+ac_ext=${FC_SRCEXT-f}
+ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
 ac_ext=${FC_SRCEXT-f}
 ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
 ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_fc_compiler_gnu
 
 
+case $ac_cv_fc_mangling in
+  "lower case, no underscore, no extra underscore")
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC(name,NAME) name
+_ACEOF
+
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC_(name,NAME) name
+_ACEOF
+ ;;
+  "lower case, no underscore, extra underscore")
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC(name,NAME) name
+_ACEOF
+
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC_(name,NAME) name ## _
+_ACEOF
+ ;;
+  "lower case, underscore, no extra underscore")
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC(name,NAME) name ## _
+_ACEOF
+
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC_(name,NAME) name ## _
+_ACEOF
+ ;;
+  "lower case, underscore, extra underscore")
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC(name,NAME) name ## _
+_ACEOF
+
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC_(name,NAME) name ## __
+_ACEOF
+ ;;
+  "upper case, no underscore, no extra underscore")
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC(name,NAME) NAME
+_ACEOF
+
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC_(name,NAME) NAME
+_ACEOF
+ ;;
+  "upper case, no underscore, extra underscore")
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC(name,NAME) NAME
+_ACEOF
+
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC_(name,NAME) NAME ## _
+_ACEOF
+ ;;
+  "upper case, underscore, no extra underscore")
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC(name,NAME) NAME ## _
+_ACEOF
+
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC_(name,NAME) NAME ## _
+_ACEOF
+ ;;
+  "upper case, underscore, extra underscore")
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC(name,NAME) NAME ## _
+_ACEOF
+
+          cat >>confdefs.h <<\_ACEOF
+#define FC_FUNC_(name,NAME) NAME ## __
+_ACEOF
+ ;;
+  *)
+          { echo "$as_me:$LINENO: WARNING: unknown Fortran name-mangling scheme" >&5
+echo "$as_me: WARNING: unknown Fortran name-mangling scheme" >&2;}
+          ;;
+esac
+
+ac_ext=${FC_SRCEXT-f}
+ac_compile='$FC -c $FCFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $FCFLAGS_SRCEXT conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
+
+
 
     ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -3932,6 +4703,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -3994,6 +4773,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -4066,6 +4853,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_declaration
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -4111,6 +4906,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_declaration
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -5529,7 +6332,6 @@ LTCC=${LTCC-"$CC"}
 # Allow CC to be a program name with arguments.
 compiler=$CC
 
-
 # Check whether --enable-libtool-lock or --disable-libtool-lock was given.
 if test "${enable_libtool_lock+set}" = set; then
   enableval="$enable_libtool_lock"
@@ -5561,7 +6363,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 5564 "configure"' > conftest.$ac_ext
+  echo '#line 6366 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -5664,6 +6466,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -5974,6 +6784,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <string.h>
 #include <float.h>
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -6675,7 +7493,7 @@ fi
 
 
 # Provide some information about the compiler.
-echo "$as_me:6678:" \
+echo "$as_me:7496:" \
      "checking for Fortran 77 compiler version" >&5
 ac_compiler=`set X $ac_compile; echo $2`
 { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
@@ -7744,11 +8562,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7747: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8565: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:7751: \$? = $ac_status" >&5
+   echo "$as_me:8569: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -7999,11 +8817,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8002: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8820: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:8006: \$? = $ac_status" >&5
+   echo "$as_me:8824: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -8059,11 +8877,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8062: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8880: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:8066: \$? = $ac_status" >&5
+   echo "$as_me:8884: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -8446,6 +9264,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -8507,6 +9333,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -9702,6 +10536,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dlopen ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -9806,6 +10648,14 @@ char (*f) () = shl_load;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -9872,6 +10722,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char shl_load ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -9966,6 +10824,14 @@ char (*f) () = dlopen;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -10032,6 +10898,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dlopen ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -10099,6 +10973,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dlopen ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -10166,6 +11048,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dld_link ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -10259,7 +11149,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 10262 "configure"
+#line 11152 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -10357,7 +11247,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 10360 "configure"
+#line 11250 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11386,6 +12276,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -11448,6 +12346,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -12577,11 +13483,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:12580: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13486: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:12584: \$? = $ac_status" >&5
+   echo "$as_me:13490: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -12637,11 +13543,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:12640: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:13546: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:12644: \$? = $ac_status" >&5
+   echo "$as_me:13550: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -13443,6 +14349,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dlopen ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -13547,6 +14461,14 @@ char (*f) () = shl_load;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -13613,6 +14535,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char shl_load ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -13707,6 +14637,14 @@ char (*f) () = dlopen;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -13773,6 +14711,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dlopen ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -13840,6 +14786,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dlopen ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -13907,6 +14861,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dld_link ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -14000,7 +14962,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 14003 "configure"
+#line 14965 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -14098,7 +15060,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 14101 "configure"
+#line 15063 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -14953,11 +15915,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14956: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15918: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:14960: \$? = $ac_status" >&5
+   echo "$as_me:15922: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -15013,11 +15975,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:15016: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15978: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:15020: \$? = $ac_status" >&5
+   echo "$as_me:15982: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -17069,11 +18031,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17072: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:18034: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:17076: \$? = $ac_status" >&5
+   echo "$as_me:18038: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -17324,11 +18286,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17327: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:18289: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:17331: \$? = $ac_status" >&5
+   echo "$as_me:18293: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings
@@ -17384,11 +18346,11 @@ else
    -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17387: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:18349: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:17391: \$? = $ac_status" >&5
+   echo "$as_me:18353: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -17771,6 +18733,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -17832,6 +18802,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -19027,6 +20005,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dlopen ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -19131,6 +20117,14 @@ char (*f) () = shl_load;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -19197,6 +20191,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char shl_load ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -19291,6 +20293,14 @@ char (*f) () = dlopen;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -19357,6 +20367,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dlopen ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -19424,6 +20442,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dlopen ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -19491,6 +20517,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dld_link ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -19584,7 +20618,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 19587 "configure"
+#line 20621 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -19682,7 +20716,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<EOF
-#line 19685 "configure"
+#line 20719 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -20938,6 +21972,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char ceil ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -21014,6 +22056,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char xdr_int ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -21085,6 +22135,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <string.h>
 #include <float.h>
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -21250,6 +22308,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <sys/time.h>
 #include <time.h>
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -21353,6 +22419,14 @@ char (*f) () = $ac_func;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -21455,6 +22529,14 @@ char (*f) () = $ac_func;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -22626,6 +23708,14 @@ char (*f) () = $ac_func;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -22728,6 +23818,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <sys/types.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -22811,6 +23909,14 @@ char (*f) () = $ac_func;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -22882,6 +23988,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -22948,6 +24062,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23014,6 +24136,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23083,6 +24213,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <sys/types.h>
 #include <sys/param.h>
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23126,6 +24264,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <sys/types.h>
 #include <sys/param.h>
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23187,6 +24333,14 @@ void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
 short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
 short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
 void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23310,6 +24464,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23374,6 +24536,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23415,6 +24585,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23472,6 +24650,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23513,6 +24699,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23578,6 +24772,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23646,6 +24848,14 @@ long longval () { return (long) (sizeof (char)); }
 unsigned long ulongval () { return (long) (sizeof (char)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23724,6 +24934,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23788,6 +25006,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23829,6 +25055,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23886,6 +25120,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23927,6 +25169,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -23992,6 +25242,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24060,6 +25318,14 @@ long longval () { return (long) (sizeof (short)); }
 unsigned long ulongval () { return (long) (sizeof (short)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24138,6 +25404,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24202,6 +25476,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24243,6 +25525,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24300,6 +25590,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24341,6 +25639,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24406,6 +25712,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24474,6 +25788,14 @@ long longval () { return (long) (sizeof (int)); }
 unsigned long ulongval () { return (long) (sizeof (int)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24552,6 +25874,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24616,6 +25946,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24657,6 +25995,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24714,6 +26060,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24755,6 +26109,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24820,6 +26182,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24888,6 +26258,14 @@ long longval () { return (long) (sizeof (long)); }
 unsigned long ulongval () { return (long) (sizeof (long)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -24966,6 +26344,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25030,6 +26416,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25071,6 +26465,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25128,6 +26530,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25169,6 +26579,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25234,6 +26652,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25302,6 +26728,14 @@ long longval () { return (long) (sizeof (long long)); }
 unsigned long ulongval () { return (long) (sizeof (long long)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25380,6 +26814,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25444,6 +26886,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25485,6 +26935,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25542,6 +27000,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25583,6 +27049,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25648,6 +27122,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25716,6 +27198,14 @@ long longval () { return (long) (sizeof (__int64)); }
 unsigned long ulongval () { return (long) (sizeof (__int64)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25794,6 +27284,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25858,6 +27356,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25899,6 +27405,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25956,6 +27470,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -25997,6 +27519,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26062,6 +27592,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26130,6 +27668,14 @@ long longval () { return (long) (sizeof (float)); }
 unsigned long ulongval () { return (long) (sizeof (float)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26208,6 +27754,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26272,6 +27826,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26313,6 +27875,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26370,6 +27940,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26411,6 +27989,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26476,6 +28062,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26544,6 +28138,14 @@ long longval () { return (long) (sizeof (double)); }
 unsigned long ulongval () { return (long) (sizeof (double)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26622,6 +28224,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26686,6 +28296,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26727,6 +28345,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26784,6 +28410,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26825,6 +28459,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26890,6 +28532,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -26958,6 +28608,14 @@ long longval () { return (long) (sizeof (long double)); }
 unsigned long ulongval () { return (long) (sizeof (long double)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27102,6 +28760,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27166,6 +28832,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27207,6 +28881,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27264,6 +28946,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27305,6 +28995,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27370,6 +29068,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27438,6 +29144,14 @@ long longval () { return (long) (sizeof (int8_t)); }
 unsigned long ulongval () { return (long) (sizeof (int8_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27516,6 +29230,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27580,6 +29302,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27621,6 +29351,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27678,6 +29416,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27719,6 +29465,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27784,6 +29538,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27852,6 +29614,14 @@ long longval () { return (long) (sizeof (uint8_t)); }
 unsigned long ulongval () { return (long) (sizeof (uint8_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27930,6 +29700,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -27994,6 +29772,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28035,6 +29821,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28092,6 +29886,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28133,6 +29935,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28198,6 +30008,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28266,6 +30084,14 @@ long longval () { return (long) (sizeof (int_least8_t)); }
 unsigned long ulongval () { return (long) (sizeof (int_least8_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28344,6 +30170,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28408,6 +30242,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28449,6 +30291,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28506,6 +30356,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28547,6 +30405,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28612,6 +30478,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28680,6 +30554,14 @@ long longval () { return (long) (sizeof (uint_least8_t)); }
 unsigned long ulongval () { return (long) (sizeof (uint_least8_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28758,6 +30640,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28822,6 +30712,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28863,6 +30761,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28920,6 +30826,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -28961,6 +30875,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29026,6 +30948,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29094,6 +31024,14 @@ long longval () { return (long) (sizeof (int_fast8_t)); }
 unsigned long ulongval () { return (long) (sizeof (int_fast8_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29172,6 +31110,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29236,6 +31182,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29277,6 +31231,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29334,6 +31296,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29375,6 +31345,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29440,6 +31418,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29508,6 +31494,14 @@ long longval () { return (long) (sizeof (uint_fast8_t)); }
 unsigned long ulongval () { return (long) (sizeof (uint_fast8_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29587,6 +31581,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29651,6 +31653,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29692,6 +31702,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29749,6 +31767,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29790,6 +31816,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29855,6 +31889,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -29923,6 +31965,14 @@ long longval () { return (long) (sizeof (int16_t)); }
 unsigned long ulongval () { return (long) (sizeof (int16_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30001,6 +32051,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30065,6 +32123,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30106,6 +32172,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30163,6 +32237,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30204,6 +32286,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30269,6 +32359,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30337,6 +32435,14 @@ long longval () { return (long) (sizeof (uint16_t)); }
 unsigned long ulongval () { return (long) (sizeof (uint16_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30415,6 +32521,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30479,6 +32593,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30520,6 +32642,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30577,6 +32707,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30618,6 +32756,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30683,6 +32829,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30751,6 +32905,14 @@ long longval () { return (long) (sizeof (int_least16_t)); }
 unsigned long ulongval () { return (long) (sizeof (int_least16_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30829,6 +32991,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30893,6 +33063,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30934,6 +33112,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -30991,6 +33177,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31032,6 +33226,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31097,6 +33299,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31165,6 +33375,14 @@ long longval () { return (long) (sizeof (uint_least16_t)); }
 unsigned long ulongval () { return (long) (sizeof (uint_least16_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31243,6 +33461,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31307,6 +33533,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31348,6 +33582,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31405,6 +33647,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31446,6 +33696,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31511,6 +33769,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31579,6 +33845,14 @@ long longval () { return (long) (sizeof (int_fast16_t)); }
 unsigned long ulongval () { return (long) (sizeof (int_fast16_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31657,6 +33931,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31721,6 +34003,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31762,6 +34052,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31819,6 +34117,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31860,6 +34166,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31925,6 +34239,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -31993,6 +34315,14 @@ long longval () { return (long) (sizeof (uint_fast16_t)); }
 unsigned long ulongval () { return (long) (sizeof (uint_fast16_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32072,6 +34402,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32136,6 +34474,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32177,6 +34523,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32234,6 +34588,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32275,6 +34637,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32340,6 +34710,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32408,6 +34786,14 @@ long longval () { return (long) (sizeof (int32_t)); }
 unsigned long ulongval () { return (long) (sizeof (int32_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32486,6 +34872,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32550,6 +34944,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32591,6 +34993,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32648,6 +35058,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32689,6 +35107,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32754,6 +35180,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32822,6 +35256,14 @@ long longval () { return (long) (sizeof (uint32_t)); }
 unsigned long ulongval () { return (long) (sizeof (uint32_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32900,6 +35342,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -32964,6 +35414,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33005,6 +35463,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33062,6 +35528,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33103,6 +35577,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33168,6 +35650,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33236,6 +35726,14 @@ long longval () { return (long) (sizeof (int_least32_t)); }
 unsigned long ulongval () { return (long) (sizeof (int_least32_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33314,6 +35812,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33378,6 +35884,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33419,6 +35933,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33476,6 +35998,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33517,6 +36047,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33582,6 +36120,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33650,6 +36196,14 @@ long longval () { return (long) (sizeof (uint_least32_t)); }
 unsigned long ulongval () { return (long) (sizeof (uint_least32_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33728,6 +36282,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33792,6 +36354,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33833,6 +36403,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33890,6 +36468,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33931,6 +36517,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -33996,6 +36590,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34064,6 +36666,14 @@ long longval () { return (long) (sizeof (int_fast32_t)); }
 unsigned long ulongval () { return (long) (sizeof (int_fast32_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34142,6 +36752,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34206,6 +36824,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34247,6 +36873,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34304,6 +36938,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34345,6 +36987,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34410,6 +37060,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34478,6 +37136,14 @@ long longval () { return (long) (sizeof (uint_fast32_t)); }
 unsigned long ulongval () { return (long) (sizeof (uint_fast32_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34557,6 +37223,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34621,6 +37295,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34662,6 +37344,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34719,6 +37409,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34760,6 +37458,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34825,6 +37531,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34893,6 +37607,14 @@ long longval () { return (long) (sizeof (int64_t)); }
 unsigned long ulongval () { return (long) (sizeof (int64_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -34971,6 +37693,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35035,6 +37765,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35076,6 +37814,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35133,6 +37879,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35174,6 +37928,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35239,6 +38001,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35307,6 +38077,14 @@ long longval () { return (long) (sizeof (uint64_t)); }
 unsigned long ulongval () { return (long) (sizeof (uint64_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35385,6 +38163,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35449,6 +38235,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35490,6 +38284,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35547,6 +38349,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35588,6 +38398,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35653,6 +38471,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35721,6 +38547,14 @@ long longval () { return (long) (sizeof (int_least64_t)); }
 unsigned long ulongval () { return (long) (sizeof (int_least64_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35799,6 +38633,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35863,6 +38705,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35904,6 +38754,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -35961,6 +38819,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36002,6 +38868,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36067,6 +38941,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36135,6 +39017,14 @@ long longval () { return (long) (sizeof (uint_least64_t)); }
 unsigned long ulongval () { return (long) (sizeof (uint_least64_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36213,6 +39103,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36277,6 +39175,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36318,6 +39224,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36375,6 +39289,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36416,6 +39338,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36481,6 +39411,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36549,6 +39487,14 @@ long longval () { return (long) (sizeof (int_fast64_t)); }
 unsigned long ulongval () { return (long) (sizeof (int_fast64_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36627,6 +39573,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36691,6 +39645,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36732,6 +39694,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36789,6 +39759,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36830,6 +39808,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36895,6 +39881,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -36963,6 +39957,14 @@ long longval () { return (long) (sizeof (uint_fast64_t)); }
 unsigned long ulongval () { return (long) (sizeof (uint_fast64_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37042,6 +40044,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37106,6 +40116,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37147,6 +40165,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37204,6 +40230,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37245,6 +40279,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37310,6 +40352,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37378,6 +40428,14 @@ long longval () { return (long) (sizeof (size_t)); }
 unsigned long ulongval () { return (long) (sizeof (size_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37456,6 +40514,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37520,6 +40586,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37561,6 +40635,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37618,6 +40700,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37659,6 +40749,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37724,6 +40822,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37792,6 +40898,14 @@ long longval () { return (long) (sizeof (ssize_t)); }
 unsigned long ulongval () { return (long) (sizeof (ssize_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37874,6 +40988,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37938,6 +41060,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -37979,6 +41109,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -38036,6 +41174,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -38077,6 +41223,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -38142,6 +41296,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 $ac_includes_default
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -38210,6 +41372,14 @@ long longval () { return (long) (sizeof (off_t)); }
 unsigned long ulongval () { return (long) (sizeof (off_t)); }
 #include <stdio.h>
 #include <stdlib.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -38345,6 +41515,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <sys/types.h>
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -38583,6 +41761,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dmalloc_shutdown ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -38859,6 +42045,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char dmalloc_shutdown ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -39107,6 +42301,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char compress2 ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -39209,6 +42411,14 @@ char (*f) () = compress2;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -39477,6 +42687,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char compress2 ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -39579,6 +42797,14 @@ char (*f) () = compress2;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -39834,6 +43060,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char SZ_BufftoBuffCompress ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -40110,6 +43344,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char SZ_BufftoBuffCompress ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -40439,6 +43681,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -40509,6 +43759,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -40585,6 +43843,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char clConnect ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -40996,6 +44262,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -41066,6 +44340,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -41142,6 +44424,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char clConnect ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -41213,6 +44503,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -41283,6 +44581,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -41359,6 +44665,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char clConnect ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -41459,6 +44773,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char PD_open ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -41533,6 +44855,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char lite_PD_open ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -41985,6 +45315,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char pthread_create ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -42403,6 +45741,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char pthread_create ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -42480,6 +45826,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char pthread_create ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -42559,6 +45913,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -42831,6 +46193,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <sys/socket.h>
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -42894,6 +46264,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 #include <sys/time.h>
 #include <time.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -42951,6 +46329,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 #include <sys/time.h>
 #include <time.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -43008,6 +46394,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 #include <sys/time.h>
 #include <time.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -43069,6 +46463,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <sys/types.h>
 #include <time.h>
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -43133,6 +46535,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <$ac_cv_struct_tm>
 
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -43180,6 +46590,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <$ac_cv_struct_tm>
 
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -43257,6 +46675,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 extern char *tzname[]; /* RS6000 and others reject char **tzname.  */
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -43320,6 +46746,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <sys/types.h>
 #include <sys/time.h>
 #include <time.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -43452,6 +46886,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 #include <sys/stat.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -43552,6 +46994,14 @@ char (*f) () = $ac_func;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -43655,6 +47105,14 @@ char (*f) () = $ac_func;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -43715,6 +47173,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -43770,6 +47236,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -43825,6 +47299,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <sys/ioctl.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -43880,6 +47362,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <sys/ioctl.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -43984,6 +47474,14 @@ char (*f) () = $ac_func;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -44089,6 +47587,14 @@ char (*f) () = $ac_func;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -44196,6 +47702,14 @@ char (*f) () = $ac_func;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -44299,6 +47813,14 @@ char (*f) () = $ac_func;
 }
 #endif
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -44442,6 +47964,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -44618,6 +48148,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -44673,6 +48211,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -45019,6 +48565,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <gpfs.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -45433,6 +48987,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -45490,6 +49052,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char MPI_Init ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -45556,6 +49126,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -45613,6 +49191,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char MPI_File_open ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -45910,6 +49496,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -45980,6 +49574,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <mpi.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -46037,6 +49639,14 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <mpi.h>
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -46279,6 +49889,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char MPE_Init_log ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -46355,6 +49973,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char CLOG_Init ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -46766,6 +50392,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char MPE_Init_log ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -46842,6 +50476,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char CLOG_Init ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -46919,6 +50561,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char MPE_Init_log ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -46995,6 +50645,14 @@ extern "C"
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
 char CLOG_Init ();
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+#  ifdef __cplusplus
+     extern "C"
+#  endif
+   int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
 int
 main ()
 {
@@ -48847,6 +52505,7 @@ s,@FCFLAGS@,$FCFLAGS,;t t
 s,@ac_ct_FC@,$ac_ct_FC,;t t
 s,@F9XMODFLAG@,$F9XMODFLAG,;t t
 s,@F9XMODEXT@,$F9XMODEXT,;t t
+s,@FCLIBS@,$FCLIBS,;t t
 s,@CXX@,$CXX,;t t
 s,@CXXFLAGS@,$CXXFLAGS,;t t
 s,@ac_ct_CXX@,$ac_ct_CXX,;t t
diff --git a/configure.in b/configure.in
index efd40d3..c7c68a4 100644
--- a/configure.in
+++ b/configure.in
@@ -312,18 +312,23 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
   AC_LANG_PUSH(Fortran)
 
   dnl --------------------------------------------------------------------
+  dnl Define wrappers for the C compiler to use Fortran function names
+  dnl
+  AC_FC_WRAPPERS
+
+  dnl --------------------------------------------------------------------
   dnl See if the compiler will support the "-I." option
   dnl
-  FCFLAGS_saved=$FCFLAGS
-  FCFLAGS="${FCFLAGS} -I."
-
-  AC_MSG_CHECKING(if compiler supports -I. option)
-  AC_TRY_FCOMPILE([
-      program conftest
-      end
-  ], AC_MSG_RESULT(yes),
-     AC_MSG_RESULT(no)
-     FCFLAGS="$FCFLAGS_saved")
+dnl  FCFLAGS_saved=$FCFLAGS
+dnl  FCFLAGS="${FCFLAGS} -I."
+
+dnl  AC_MSG_CHECKING(if compiler supports -I. option)
+dnl  AC_TRY_FCOMPILE([
+dnl      program conftest
+dnl      end
+dnl  ], AC_MSG_RESULT(yes),
+dnl     AC_MSG_RESULT(no)
+dnl     FCFLAGS="$FCFLAGS_saved")
 
   dnl Change back to the C language
   AC_LANG_POP(Fortran)
diff --git a/doc/Makefile.in b/doc/Makefile.in
index e44dc5b..9067dab 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -132,6 +132,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/doc/html/ADGuide/Makefile.in b/doc/html/ADGuide/Makefile.in
index e5e420b..ab4c6a5 100644
--- a/doc/html/ADGuide/Makefile.in
+++ b/doc/html/ADGuide/Makefile.in
@@ -129,6 +129,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/doc/html/Graphics/Makefile.in b/doc/html/Graphics/Makefile.in
index 517ad92..ca7ce3a 100644
--- a/doc/html/Graphics/Makefile.in
+++ b/doc/html/Graphics/Makefile.in
@@ -129,6 +129,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/doc/html/Intro/Makefile.in b/doc/html/Intro/Makefile.in
index 443f684..210d0cd 100644
--- a/doc/html/Intro/Makefile.in
+++ b/doc/html/Intro/Makefile.in
@@ -129,6 +129,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/doc/html/Makefile.in b/doc/html/Makefile.in
index 0fcba17..ca4f217 100644
--- a/doc/html/Makefile.in
+++ b/doc/html/Makefile.in
@@ -142,6 +142,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/doc/html/PSandPDF/Makefile.in b/doc/html/PSandPDF/Makefile.in
index 7598150..c202569 100644
--- a/doc/html/PSandPDF/Makefile.in
+++ b/doc/html/PSandPDF/Makefile.in
@@ -119,6 +119,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/doc/html/TechNotes/Makefile.in b/doc/html/TechNotes/Makefile.in
index d2e39aa..193d37a 100644
--- a/doc/html/TechNotes/Makefile.in
+++ b/doc/html/TechNotes/Makefile.in
@@ -129,6 +129,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/doc/html/Tutor/Graphics/Makefile.in b/doc/html/Tutor/Graphics/Makefile.in
index 175a306..42b05bb 100644
--- a/doc/html/Tutor/Graphics/Makefile.in
+++ b/doc/html/Tutor/Graphics/Makefile.in
@@ -129,6 +129,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/doc/html/Tutor/Makefile.in b/doc/html/Tutor/Makefile.in
index 4651d98..9c003b1 100644
--- a/doc/html/Tutor/Makefile.in
+++ b/doc/html/Tutor/Makefile.in
@@ -138,6 +138,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/doc/html/Tutor/examples/Makefile.in b/doc/html/Tutor/examples/Makefile.in
index 0bac380..e3481c6 100644
--- a/doc/html/Tutor/examples/Makefile.in
+++ b/doc/html/Tutor/examples/Makefile.in
@@ -131,6 +131,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/doc/html/cpplus/Makefile.in b/doc/html/cpplus/Makefile.in
index 1c2ca46..38d3d6b 100644
--- a/doc/html/cpplus/Makefile.in
+++ b/doc/html/cpplus/Makefile.in
@@ -129,6 +129,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/doc/html/ed_libs/Makefile.in b/doc/html/ed_libs/Makefile.in
index afaf977..a5ed6ca 100644
--- a/doc/html/ed_libs/Makefile.in
+++ b/doc/html/ed_libs/Makefile.in
@@ -129,6 +129,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/doc/html/ed_styles/Makefile.in b/doc/html/ed_styles/Makefile.in
index 3f05041..e9cc0f1 100644
--- a/doc/html/ed_styles/Makefile.in
+++ b/doc/html/ed_styles/Makefile.in
@@ -129,6 +129,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/doc/html/fortran/Makefile.in b/doc/html/fortran/Makefile.in
index 31b93d9..47c3d8e 100644
--- a/doc/html/fortran/Makefile.in
+++ b/doc/html/fortran/Makefile.in
@@ -129,6 +129,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/examples/Makefile.in b/examples/Makefile.in
index e42a854..a591404 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -127,6 +127,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/fortran/Makefile.in b/fortran/Makefile.in
index 1824417..0b44d5b 100644
--- a/fortran/Makefile.in
+++ b/fortran/Makefile.in
@@ -139,6 +139,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/fortran/examples/Makefile.in b/fortran/examples/Makefile.in
index 83c0fdc..113e5b1 100644
--- a/fortran/examples/Makefile.in
+++ b/fortran/examples/Makefile.in
@@ -127,6 +127,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/fortran/src/H5f90i.h b/fortran/src/H5f90i.h
index 77d6714..c1a390c 100644
--- a/fortran/src/H5f90i.h
+++ b/fortran/src/H5f90i.h
@@ -34,8 +34,6 @@ typedef long               size_t_f;
 typedef long               int_f;
 typedef long               hid_t_f;
 typedef double             real_f;
-#define DF_CAPFNAMES 
-/*#define _fcdtocp(desc) (desc)*/
 
 #endif /* UNICOS */
 
@@ -62,10 +60,6 @@ typedef int               size_t_f;
 typedef int               int_f;
 typedef int               hid_t_f;
 typedef float             real_f;
-#define FNAME(x) x 
-#if defined H5_ABSOFT
-#define DF_CAPFNAMES
-#endif /*H5_ABSOFT*/
 #define _fcdtocp(desc) (desc)
 
 #endif /*APPLE*/
@@ -87,11 +81,6 @@ typedef long long         haddr_t_f;
 typedef long long         hsize_t_f;
 typedef long long         hssize_t_f;
 typedef int               size_t_f;
-#if defined H5_ABSOFT
-#define DF_CAPFNAMES
-#else
-#define FNAME_POST_UNDERSCORE
-#endif /*H5_ABSOFT*/
 
 /* AMD64 specific definitions */
 #elif defined __x86_64__
@@ -100,7 +89,6 @@ typedef long long         haddr_t_f;
 typedef long long         hsize_t_f;
 typedef long long         hssize_t_f;
 typedef int               size_t_f;
-#define FNAME_POST_UNDERSCORE
 
 /* IA64 specific definitions */
 #elif defined __ia64
@@ -109,7 +97,6 @@ typedef long              haddr_t_f;
 typedef long              hsize_t_f;
 typedef long              hssize_t_f;
 typedef long              size_t_f;
-#define FNAME_POST_UNDERSCORE
 
 #endif /* IA64 */
 #endif /* LINUX*/
@@ -124,7 +111,6 @@ typedef long          size_t_f;
 typedef int           int_f;
 typedef int           hid_t_f;
 typedef float         real_f;
-#define FNAME_POST_UNDERSCORE
 #define _fcdtocp(desc) (desc)
 #endif /* IRIX */
 
@@ -138,7 +124,6 @@ typedef int               size_t_f;
 typedef int               int_f;
 typedef int               hid_t_f;
 typedef float             real_f;
-#define FNAME_POST_UNDERSCORE
 #define _fcdtocp(desc) (desc)
 
 #endif     /*SUN*/
@@ -153,7 +138,6 @@ typedef long             size_t_f;
 typedef int              int_f;
 typedef int              hid_t_f;
 typedef float            real_f;
-#define FNAME_POST_UNDERSCORE
 #define _fcdtocp(desc) (desc)
 
 #endif /* DEC_ALPHA */
@@ -168,7 +152,6 @@ typedef long long        size_t_f;
 typedef int              int_f;
 typedef int              hid_t_f;
 typedef float            real_f;
-#define FNAME_POST2_UNDERSCORE
 #define _fcdtocp(desc) (desc)
 
 #endif /* DEC_ALPHA_LINUX */
@@ -199,7 +182,6 @@ typedef int               int_f;
 typedef int               hid_t_f;
 typedef float             real_f;
 
-#define DF_CAPFNAMES
 #define _fcdtocp(desc) (desc)
 
 #endif /*WINDOWS */
@@ -234,32 +216,7 @@ typedef long              hssize_t_f;
 typedef long              size_t_f;
 #endif /* IA64 */
 
-#define FNAME_POST_UNDERSCORE
 
 #endif /* FreeBSD */
 
-/*----------------------------------------------------------------
-** MACRO FNAME for any fortran callable routine name.
-**
-**  This macro prepends, appends, or does not modify a name
-**  passed as a macro parameter to it based on the FNAME_PRE_UNDERSCORE,
-**  FNAME_POST_UNDERSCORE macros set for a specific system.
-**
-**---------------------------------------------------------------*/
-#if defined(FNAME_PRE_UNDERSCORE) && defined(FNAME_POST_UNDERSCORE)
-#   define FNAME(x)     _##x##_
-#endif
-#if defined(FNAME_PRE_UNDERSCORE) && !defined(FNAME_POST_UNDERSCORE)
-#   define FNAME(x)     _##x
-#endif
-#if !defined(FNAME_PRE_UNDERSCORE) && defined(FNAME_POST_UNDERSCORE)
-#   define FNAME(x)     x##_
-#endif
-#if !defined(FNAME_PRE_UNDERSCORE) && !defined(FNAME_POST_UNDERSCORE)
-#   define FNAME(x)     x
-#endif
-#if !defined(FNAME_PRE_UNDERSCORE) && defined(FNAME_POST2_UNDERSCORE)
-#   define FNAME(x)     x##__
-#endif
-
 #endif /* _H5f90i_H */
diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h
index 7114ebf..a882075 100644
--- a/fortran/src/H5f90proto.h
+++ b/fortran/src/H5f90proto.h
@@ -16,48 +16,29 @@
 #ifndef _H5f90proto_H
 #define _H5f90proto_H
 
+#include "H5config.h"
+
 H5_FCDLL char * HD5f2cstring (_fcd fdesc, size_t len);
 H5_FCDLL void HD5packFstring(char *src, char *dest, size_t len);
 
 /*
  *  Functions from H5Ff.c
  */
-#ifndef H5Ff90_FNAMES
-#    define H5Ff90_FNAMES
-#ifdef DF_CAPFNAMES
-#   define nh5fcreate_c              FNAME(H5FCREATE_C)
-#   define nh5fflush_c               FNAME(H5FFLUSH_C)
-#   define nh5fclose_c               FNAME(H5FCLOSE_C)
-#   define nh5fopen_c                FNAME(H5FOPEN_C)
-#   define nh5fis_hdf5_c             FNAME(H5FIS_HDF5_C)
-#   define nh5fmount_c               FNAME(H5FMOUNT_C)
-#   define nh5funmount_c             FNAME(H5FUNMOUNT_C)
-#   define nh5freopen_c              FNAME(H5FREOPEN_C)
-#   define nh5fget_create_plist_c    FNAME(H5FGET_CREATE_PLIST_C)
-#   define nh5fget_access_plist_c    FNAME(H5FGET_ACCESS_PLIST_C)
-#   define nh5fget_obj_count_c       FNAME(H5FGET_OBJ_COUNT_C)
-#   define nh5fget_obj_ids_c         FNAME(H5FGET_OBJ_IDS_C)
-#   define nh5fget_freespace_c       FNAME(H5FGET_FREESPACE_C)
-#   define nh5fget_name_c            FNAME(H5FGET_NAME_C)
-#   define nh5fget_filesize_c        FNAME(H5FGET_FILESIZE_C)
-#else                                              /* !DF_CAPFNAMES */
-#   define nh5fcreate_c            FNAME(h5fcreate_c)
-#   define nh5fflush_c             FNAME(h5fflush_c)
-#   define nh5fclose_c             FNAME(h5fclose_c)
-#   define nh5fopen_c              FNAME(h5fopen_c)
-#   define nh5fis_hdf5_c           FNAME(h5fis_hdf5_c)
-#   define nh5fmount_c             FNAME(h5fmount_c)
-#   define nh5funmount_c           FNAME(h5funmount_c)
-#   define nh5freopen_c            FNAME(h5freopen_c)
-#   define nh5fget_create_plist_c  FNAME(h5fget_create_plist_c)
-#   define nh5fget_access_plist_c  FNAME(h5fget_access_plist_c)
-#   define nh5fget_obj_count_c     FNAME(h5fget_obj_count_c)
-#   define nh5fget_obj_ids_c       FNAME(h5fget_obj_ids_c)
-#   define nh5fget_freespace_c     FNAME(h5fget_freespace_c)
-#   define nh5fget_name_c          FNAME(h5fget_name_c)
-#   define nh5fget_filesize_c      FNAME(h5fget_filesize_c)
-#endif                                             /* DF_CAPFNAMES */
-#endif                                             /* H5Ff90_FNAMES */
+#   define nh5fcreate_c              FC_FUNC_(h5fcreate_c, H5FCREATE_C)
+#   define nh5fflush_c               FC_FUNC_(h5fflush_c, H5FFLUSH_C)
+#   define nh5fclose_c               FC_FUNC_(h5fclose_c, H5FCLOSE_C)
+#   define nh5fopen_c                FC_FUNC_(h5fopen_c, H5FOPEN_C)
+#   define nh5fis_hdf5_c             FC_FUNC_(h5fis_hdf5_c, H5FIS_HDF5_C)
+#   define nh5fmount_c               FC_FUNC_(h5fmount_c, H5FMOUNT_C)
+#   define nh5funmount_c             FC_FUNC_(h5funmount_c, H5FUNMOUNT_C)
+#   define nh5freopen_c              FC_FUNC_(h5freopen_c, H5FREOPEN_C)
+#   define nh5fget_create_plist_c    FC_FUNC_(h5fget_create_plist_c, H5FGET_CREATE_PLIST_C)
+#   define nh5fget_access_plist_c    FC_FUNC_(h5fget_access_plist_c, H5FGET_ACCESS_PLIST_C)
+#   define nh5fget_obj_count_c       FC_FUNC_(h5fget_obj_count_c, H5FGET_OBJ_COUNT_C)
+#   define nh5fget_obj_ids_c         FC_FUNC_(h5fget_obj_ids_c, H5FGET_OBJ_IDS_C)
+#   define nh5fget_freespace_c       FC_FUNC_(h5fget_freespace_c, H5FGET_FREESPACE_C)
+#   define nh5fget_name_c            FC_FUNC_(h5fget_name_c, H5FGET_NAME_C)
+#   define nh5fget_filesize_c        FC_FUNC_(h5fget_filesize_c, H5FGET_FILESIZE_C)
 
 H5_FCDLL int_f nh5fcreate_c (_fcd name, int_f *namelen, int_f *access_flags, hid_t_f *crt_prp, hid_t_f *acc_prp, hid_t_f *file_id);
 H5_FCDLL int_f nh5fopen_c (_fcd name, int_f *namelen, int_f *access_flags, hid_t_f *acc_prp, hid_t_f *file_id);
@@ -78,70 +59,35 @@ H5_FCDLL int_f nh5fget_filesize_c(hid_t_f *file_id, hsize_t_f *size);
 /*
  * Functions from H5Sf.c
  */
-#ifndef H5Sf90_FNAMES
-#    define H5Sf90_FNAMES
-#ifdef DF_CAPFNAMES
-#   define nh5screate_simple_c      FNAME(H5SCREATE_SIMPLE_C)
-#   define nh5sclose_c              FNAME(H5SCLOSE_C)
-#   define nh5screate_c             FNAME(H5SCREATE_C)
-#   define nh5scopy_c               FNAME(H5SCOPY_C)
-#   define nh5sget_select_hyper_nblocks_c FNAME(H5SGET_SELECT_HYPER_NBLOCKS_C)
-#   define nh5sget_select_hyper_blocklist_c FNAME(H5SGET_SELECT_HYPER_BLOCKLIST_C)
-#   define nh5sget_select_elem_npoints_c FNAME(H5SGET_SELECT_ELEM_NPOINTS_C)
-#   define nh5sget_select_elem_pointlist_c FNAME(H5SGET_SELECT_ELEM_POINTLIST_C)
-#   define nh5sget_select_bounds_c  FNAME(H5SGET_SELECT_BOUNDS_C)
-#   define nh5sselect_all_c         FNAME(H5SSELECT_ALL_C)
-#   define nh5sselect_none_c        FNAME(H5SSELECT_NONE_C)
-#   define nh5sselect_valid_c       FNAME(H5SSELECT_VALID_C)
-#   define nh5sget_simple_extent_npoints_c FNAME(H5SGET_SIMPLE_EXTENT_NPOINTS_C)
-#   define nh5sget_select_npoints_c FNAME(H5SGET_SELECT_NPOINTS_C)
-#   define nh5sget_simple_extent_ndims_c FNAME(H5SGET_SIMPLE_EXTENT_NDIMS_C)
-#   define nh5sget_simple_extent_type_c  FNAME(H5SGET_SIMPLE_EXTENT_TYPE_C)
-#   define nh5soffset_simple_c      FNAME(H5SOFFSET_SIMPLE_C)
-#   define nh5sset_extent_simple_c  FNAME(H5SSET_EXTENT_SIMPLE_C)
-#   define nh5sis_simple_c          FNAME(H5SIS_SIMPLE_C)
-#   define nh5sextent_class_c       FNAME(H5SEXTENT_CLASS_C)
-#   define nh5sget_simple_extent_dims_c FNAME(H5SGET_SIMPLE_EXTENT_DIMS_C)
-#   define nh5sextent_copy_c        FNAME(H5SEXTENT_COPY_C)
-#   define nh5sset_extent_none_c    FNAME(H5SSET_EXTENT_NONE_C)
-#   define nh5sselect_hyperslab_c   FNAME(H5SSELECT_HYPERSLAB_C)
-#   define nh5scombine_hyperslab_c   FNAME(H5SCOMBINE_HYPERSLAB_C)
-#   define nh5scombine_select_c   FNAME(H5SCOMBINE_SELECT_C)
-#   define nh5sselect_select_c   FNAME(H5SSELECT_SELECT_C)
-#   define nh5sget_select_type_c   FNAME(H5SGET_SELECT_TYPE_C)
-#   define nh5sselect_elements_c    FNAME(H5SSELECT_ELEMENTS_C)
-#else                                              /* !DF_CAPFNAMES */
-#   define nh5screate_simple_c      FNAME(h5screate_simple_c)
-#   define nh5sclose_c              FNAME(h5sclose_c)
-#   define nh5screate_c             FNAME(h5screate_c)
-#   define nh5scopy_c               FNAME(h5scopy_c)
-#   define nh5sget_select_hyper_nblocks_c FNAME(h5sget_select_hyper_nblocks_c)
-#   define nh5sget_select_hyper_blocklist_c FNAME(h5sget_select_hyper_blocklist_c)
-#   define nh5sget_select_elem_npoints_c FNAME(h5sget_select_elem_npoints_c)
-#   define nh5sget_select_bounds_c  FNAME(h5sget_select_bounds_c)
-#   define nh5sget_select_elem_pointlist_c FNAME(h5sget_select_elem_pointlist_c)
-#   define nh5sselect_all_c         FNAME(h5sselect_all_c)
-#   define nh5sselect_none_c        FNAME(h5sselect_none_c)
-#   define nh5sselect_valid_c       FNAME(h5sselect_valid_c)
-#   define nh5sget_simple_extent_npoints_c FNAME(h5sget_simple_extent_npoints_c)
-#   define nh5sget_select_npoints_c FNAME(h5sget_select_npoints_c)
-#   define nh5sget_simple_extent_ndims_c FNAME(h5sget_simple_extent_ndims_c)
-#   define nh5sget_simple_extent_type_c  FNAME(h5sget_simple_extent_type_c)
-#   define nh5soffset_simple_c      FNAME(h5soffset_simple_c)
-#   define nh5sset_extent_simple_c  FNAME(h5sset_extent_simple_c)
-#   define nh5sis_simple_c          FNAME(h5sis_simple_c)
-#   define nh5sextent_class_c       FNAME(h5sextent_class_c)
-#   define nh5sget_simple_extent_dims_c FNAME(h5sget_simple_extent_dims_c)
-#   define nh5sextent_copy_c        FNAME(h5sextent_copy_c)
-#   define nh5sset_extent_none_c    FNAME(h5sset_extent_none_c)
-#   define nh5sselect_hyperslab_c   FNAME(h5sselect_hyperslab_c)
-#   define nh5scombine_hyperslab_c   FNAME(h5scombine_hyperslab_c)
-#   define nh5scombine_select_c   FNAME(h5scombine_select_c)
-#   define nh5sselect_select_c   FNAME(h5sselect_select_c)
-#   define nh5sget_select_type_c   FNAME(h5sget_select_type_c)
-#   define nh5sselect_elements_c    FNAME(h5sselect_elements_c)
-#endif                                             /* DF_CAPFNAMES */
-#endif
+#   define nh5screate_simple_c      FC_FUNC_(h5screate_simple_c, H5SCREATE_SIMPLE_C)
+#   define nh5sclose_c              FC_FUNC_(h5sclose_c, H5SCLOSE_C)
+#   define nh5screate_c             FC_FUNC_(h5screate_c, H5SCREATE_C)
+#   define nh5scopy_c               FC_FUNC_(h5scopy_c, H5SCOPY_C)
+#   define nh5sget_select_hyper_nblocks_c FC_FUNC_(h5sget_select_hyper_nblocks_c, H5SGET_SELECT_HYPER_NBLOCKS_C)
+#   define nh5sget_select_hyper_blocklist_c FC_FUNC_(h5sget_select_hyper_blocklist_c, H5SGET_SELECT_HYPER_BLOCKLIST_C)
+#   define nh5sget_select_elem_npoints_c FC_FUNC_(h5sget_select_elem_npoints_c, H5SGET_SELECT_ELEM_NPOINTS_C)
+#   define nh5sget_select_elem_pointlist_c FC_FUNC_(h5sget_select_elem_pointlist_c, H5SGET_SELECT_ELEM_POINTLIST_C)
+#   define nh5sget_select_bounds_c  FC_FUNC_(h5sget_select_bounds_c, H5SGET_SELECT_BOUNDS_C)
+#   define nh5sselect_all_c         FC_FUNC_(h5sselect_all_c, H5SSELECT_ALL_C)
+#   define nh5sselect_none_c        FC_FUNC_(h5sselect_none_c, H5SSELECT_NONE_C)
+#   define nh5sselect_valid_c       FC_FUNC_(h5sselect_valid_c, H5SSELECT_VALID_C)
+#   define nh5sget_simple_extent_npoints_c FC_FUNC_(h5sget_simple_extent_npoints_c, H5SGET_SIMPLE_EXTENT_NPOINTS_C)
+#   define nh5sget_select_npoints_c FC_FUNC_(h5sget_select_npoints_c, H5SGET_SELECT_NPOINTS_C)
+#   define nh5sget_simple_extent_ndims_c FC_FUNC_(h5sget_simple_extent_ndims_c, H5SGET_SIMPLE_EXTENT_NDIMS_C)
+#   define nh5sget_simple_extent_type_c  FC_FUNC_(h5sget_simple_extent_type_c, H5SGET_SIMPLE_EXTENT_TYPE_C)
+#   define nh5soffset_simple_c      FC_FUNC_(h5soffset_simple_c, H5SOFFSET_SIMPLE_C)
+#   define nh5sset_extent_simple_c  FC_FUNC_(h5sset_extent_simple_c, H5SSET_EXTENT_SIMPLE_C)
+#   define nh5sis_simple_c          FC_FUNC_(h5sis_simple_c, H5SIS_SIMPLE_C)
+#   define nh5sextent_class_c       FC_FUNC_(h5sextent_class_c, H5SEXTENT_CLASS_C)
+#   define nh5sget_simple_extent_dims_c FC_FUNC_(h5sget_simple_extent_dims_c, H5SGET_SIMPLE_EXTENT_DIMS_C)
+#   define nh5sextent_copy_c        FC_FUNC_(h5sextent_copy_c, H5SEXTENT_COPY_C)
+#   define nh5sset_extent_none_c    FC_FUNC_(h5sset_extent_none_c, H5SSET_EXTENT_NONE_C)
+#   define nh5sselect_hyperslab_c   FC_FUNC_(h5sselect_hyperslab_c, H5SSELECT_HYPERSLAB_C)
+#   define nh5scombine_hyperslab_c   FC_FUNC_(h5scombine_hyperslab_c, H5SCOMBINE_HYPERSLAB_C)
+#   define nh5scombine_select_c   FC_FUNC_(h5scombine_select_c, H5SCOMBINE_SELECT_C)
+#   define nh5sselect_select_c   FC_FUNC_(h5sselect_select_c, H5SSELECT_SELECT_C)
+#   define nh5sget_select_type_c   FC_FUNC_(h5sget_select_type_c, H5SGET_SELECT_TYPE_C)
+#   define nh5sselect_elements_c    FC_FUNC_(h5sselect_elements_c, H5SSELECT_ELEMENTS_C)
 
 H5_FCDLL int_f nh5screate_simple_c ( int_f *rank, hsize_t_f *dims, hsize_t_f *maxdims, hid_t_f *space_id );
 H5_FCDLL int_f nh5sclose_c ( hid_t_f *space_id );
@@ -176,66 +122,35 @@ H5_FCDLL int_f nh5sselect_select_c ( hid_t_f *space1_id , int_f *op, hid_t_f *sp
 /*
  * Functions from H5Df.c
  */
-#ifndef H5Df90_FNAMES
-#    define H5Df90_FNAMES
-#ifdef DF_CAPFNAMES
-#   define nh5dcreate_c                FNAME(H5DCREATE_C)
-#   define nh5dclose_c                 FNAME(H5DCLOSE_C)
-#   define nh5dopen_c                  FNAME(H5DOPEN_C)
-#   define nh5dwrite_c                 FNAME(H5DWRITE_C)
-#   define nh5dwrite_ref_obj_c         FNAME(H5DWRITE_REF_OBJ_C)
-#   define nh5dwrite_ref_reg_c         FNAME(H5DWRITE_REF_REG_C)
-#   define nh5dwritec_c                FNAME(H5DWRITEC_C)
-#   define nh5dread_c                  FNAME(H5DREAD_C)
-#   define nh5dread_c_b                FNAME(H5DREAD_C_B)
-#   define nh5dread_ref_reg_c          FNAME(H5DREAD_REF_REG_C)
-#   define nh5dread_ref_obj_c          FNAME(H5DREAD_REF_OBJ_C)
-#   define nh5dreadc_c                 FNAME(H5DREADC_C)
-#   define nh5dreadc_c_b               FNAME(H5DREADC_C_B)
-#   define nh5dget_space_c             FNAME(H5DGET_SPACE_C)
-#   define nh5dget_type_c              FNAME(H5DGET_TYPE_C)
-#   define nh5dget_create_plist_c      FNAME(H5DGET_CREATE_PLIST_C)
-#   define nh5dextend_c                FNAME(H5DEXTEND_C)
-#   define nh5dget_storage_size_c      FNAME(H5DGET_STORAGE_SIZE_C)
-#   define nh5dvlen_get_max_len_c      FNAME(H5DVLEN_GET_MAX_LEN_C)
-#   define nh5dwrite_vl_integer_c      FNAME(H5DWRITE_VL_INTEGER_C)
-#   define nh5dread_vl_integer_c       FNAME(H5DREAD_VL_INTEGER_C)
-#   define nh5dwrite_vl_real_c         FNAME(H5DWRITE_VL_REAL_C)
-#   define nh5dread_vl_real_c          FNAME(H5DREAD_VL_REAL_C)
-#   define nh5dwrite_vl_string_c       FNAME(H5DWRITE_VL_STRING_C)
-#   define nh5dread_vl_string_c        FNAME(H5DREAD_VL_STRING_C)
-#   define nh5dfillc_c                 FNAME(H5DFILLC_C)
-#   define nh5dfill_c                  FNAME(H5DFILL_C)
-#   define nh5dget_space_status_c      FNAME(H5DGET_SPACE_STATUS_C)
-#else                                              /* !DF_CAPFNAMES */
-#   define nh5dcreate_c                FNAME(h5dcreate_c)
-#   define nh5dclose_c                 FNAME(h5dclose_c)
-#   define nh5dopen_c                  FNAME(h5dopen_c)
-#   define nh5dwrite_c                 FNAME(h5dwrite_c)
-#   define nh5dwritec_c                FNAME(h5dwritec_c)
-#   define nh5dwrite_ref_obj_c         FNAME(h5dwrite_ref_obj_c)
-#   define nh5dwrite_ref_reg_c         FNAME(h5dwrite_ref_reg_c)
-#   define nh5dread_c                  FNAME(h5dread_c)
-#   define nh5dread_ref_reg_c          FNAME(h5dread_ref_reg_c)
-#   define nh5dread_ref_obj_c          FNAME(h5dread_ref_obj_c)
-#   define nh5dreadc_c                 FNAME(h5dreadc_c)
-#   define nh5dget_space_c             FNAME(h5dget_space_c)
-#   define nh5dget_type_c              FNAME(h5dget_type_c)
-#   define nh5dget_create_plist_c      FNAME(h5dget_create_plist_c)
-#   define nh5dextend_c                FNAME(h5dextend_c)
-#   define nh5dget_storage_size_c      FNAME(h5dget_storage_size_c)
-#   define nh5dvlen_get_max_len_c      FNAME(h5dvlen_get_max_len_c)
-#   define nh5dwrite_vl_integer_c      FNAME(h5dwrite_vl_integer_c)
-#   define nh5dread_vl_integer_c       FNAME(h5dread_vl_integer_c)
-#   define nh5dwrite_vl_real_c         FNAME(h5dwrite_vl_real_c)
-#   define nh5dread_vl_real_c          FNAME(h5dread_vl_real_c)
-#   define nh5dwrite_vl_string_c       FNAME(h5dwrite_vl_string_c)
-#   define nh5dread_vl_string_c        FNAME(h5dread_vl_string_c)
-#   define nh5dfillc_c                 FNAME(h5dfillc_c)
-#   define nh5dfill_c                  FNAME(h5dfill_c)
-#   define nh5dget_space_status_c      FNAME(h5dget_space_status_c)
-#endif                                             /* DF_CAPFNAMES */
-#endif
+#   define nh5dcreate_c                FC_FUNC_(h5dcreate_c, H5DCREATE_C)
+#   define nh5dclose_c                 FC_FUNC_(h5dclose_c, H5DCLOSE_C)
+#   define nh5dopen_c                  FC_FUNC_(h5dopen_c, H5DOPEN_C)
+#   define nh5dwrite_c                 FC_FUNC_(h5dwrite_c, H5DWRITE_C)
+#   define nh5dwrite_ref_obj_c         FC_FUNC_(h5dwrite_ref_obj_c, H5DWRITE_REF_OBJ_C)
+#   define nh5dwrite_ref_reg_c         FC_FUNC_(h5dwrite_ref_reg_c, H5DWRITE_REF_REG_C)
+#   define nh5dwritec_c                FC_FUNC_(h5dwritec_c, H5DWRITEC_C)
+#   define nh5dread_c                  FC_FUNC_(h5dread_c, H5DREAD_C)
+#   define nh5dread_c_b                FC_FUNC_(h5dread_c_b, H5DREAD_C_B)
+#   define nh5dread_ref_reg_c          FC_FUNC_(h5dread_ref_reg_c, H5DREAD_REF_REG_C)
+#   define nh5dread_ref_obj_c          FC_FUNC_(h5dread_ref_obj_c, H5DREAD_REF_OBJ_C)
+#   define nh5dreadc_c                 FC_FUNC_(h5dreadc_c, H5DREADC_C)
+#   define nh5dreadc_c_b               FC_FUNC_(h5dreadc_c_b, H5DREADC_C_B)
+#   define nh5dget_space_c             FC_FUNC_(h5dget_space_c, H5DGET_SPACE_C)
+#   define nh5dget_type_c              FC_FUNC_(h5dget_type_c, H5DGET_TYPE_C)
+#   define nh5dget_create_plist_c      FC_FUNC_(h5dget_create_plist_c, H5DGET_CREATE_PLIST_C)
+#   define nh5dextend_c                FC_FUNC_(h5dextend_c, H5DEXTEND_C)
+#   define nh5dget_storage_size_c      FC_FUNC_(h5dget_storage_size_c, H5DGET_STORAGE_SIZE_C)
+#   define nh5dvlen_get_max_len_c      FC_FUNC_(h5dvlen_get_max_len_c, H5DVLEN_GET_MAX_LEN_C)
+#   define nh5dwrite_vl_integer_c      FC_FUNC_(h5dwrite_vl_integer_c, H5DWRITE_VL_INTEGER_C)
+#   define nh5dread_vl_integer_c       FC_FUNC_(h5dread_vl_integer_c, H5DREAD_VL_INTEGER_C)
+#   define nh5dwrite_vl_real_c         FC_FUNC_(h5dwrite_vl_real_c, H5DWRITE_VL_REAL_C)
+#   define nh5dread_vl_real_c          FC_FUNC_(h5dread_vl_real_c, H5DREAD_VL_REAL_C)
+#   define nh5dwrite_vl_string_c       FC_FUNC_(h5dwrite_vl_string_c, H5DWRITE_VL_STRING_C)
+#   define nh5dread_vl_string_c        FC_FUNC_(h5dread_vl_string_c, H5DREAD_VL_STRING_C)
+#   define nh5dfillc_c                 FC_FUNC_(h5dfillc_c, H5DFILLC_C)
+#   define nh5dfill_c                  FC_FUNC_(h5dfill_c, H5DFILL_C)
+#   define nh5dget_space_status_c      FC_FUNC_(h5dget_space_status_c, H5DGET_SPACE_STATUS_C)
+
 
 H5_FCDLL int_f nh5dcreate_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *space_id, hid_t_f *crt_prp,  hid_t_f *dset_id);
 H5_FCDLL int_f nh5dopen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *dset_id);
@@ -267,38 +182,20 @@ H5_FCDLL int_f nh5dget_space_status_c ( hid_t_f *dset_id, int_f *flag);
 /*
  * Functions from H5Gf.c
  */
-#ifndef H5Gf90_FNAMES
-#    define H5Gf90_FNAMES
-#ifdef DF_CAPFNAMES
-#   define nh5gcreate_c      FNAME(H5GCREATE_C)
-#   define nh5gclose_c       FNAME(H5GCLOSE_C)
-#   define nh5gopen_c        FNAME(H5GOPEN_C)
-#   define nh5gget_obj_info_idx_c FNAME(H5GGET_OBJ_INFO_IDX_C)
-#   define nh5gn_members_c   FNAME(H5GN_MEMBERS_C)
-#   define nh5glink_c        FNAME(H5GLINK_C)
-#   define nh5glink2_c        FNAME(H5GLINK2_C)
-#   define nh5gunlink_c      FNAME(H5GUNLINK_C)
-#   define nh5gmove_c        FNAME(H5GMOVE_C)
-#   define nh5gmove2_c        FNAME(H5GMOVE2_C)
-#   define nh5gget_linkval_c   FNAME(H5GGET_LINKVAL_C)
-#   define nh5gset_comment_c   FNAME(H5GSET_COMMENT_C)
-#   define nh5gget_comment_c   FNAME(H5GGET_COMMENT_C)
-#else                                              /* !DF_CAPFNAMES */
-#   define nh5gcreate_c      FNAME(h5gcreate_c)
-#   define nh5gclose_c       FNAME(h5gclose_c)
-#   define nh5gopen_c        FNAME(h5gopen_c)
-#   define nh5gget_obj_info_idx_c FNAME(h5gget_obj_info_idx_c)
-#   define nh5gn_members_c   FNAME(h5gn_members_c)
-#   define nh5glink_c        FNAME(h5glink_c)
-#   define nh5glink2_c        FNAME(h5glink2_c)
-#   define nh5gunlink_c      FNAME(h5gunlink_c)
-#   define nh5gmove_c        FNAME(h5gmove_c)
-#   define nh5gmove2_c        FNAME(h5gmove2_c)
-#   define nh5gget_linkval_c   FNAME(h5gget_linkval_c)
-#   define nh5gset_comment_c   FNAME(h5gset_comment_c)
-#   define nh5gget_comment_c   FNAME(h5gget_comment_c)
-#endif                                             /* DF_CAPFNAMES */
-#endif
+#   define nh5gcreate_c      FC_FUNC_(h5gcreate_c, H5GCREATE_C)
+#   define nh5gclose_c       FC_FUNC_(h5gclose_c, H5GCLOSE_C)
+#   define nh5gopen_c        FC_FUNC_(h5gopen_c, H5GOPEN_C)
+#   define nh5gget_obj_info_idx_c FC_FUNC_(h5gget_obj_info_idx_c, H5GGET_OBJ_INFO_IDX_C)
+#   define nh5gn_members_c   FC_FUNC_(h5gn_members_c, H5GN_MEMBERS_C)
+#   define nh5glink_c        FC_FUNC_(h5glink_c, H5GLINK_C)
+#   define nh5glink2_c        FC_FUNC_(h5glink2_c, H5GLINK2_C)
+#   define nh5gunlink_c      FC_FUNC_(h5gunlink_c, H5GUNLINK_C)
+#   define nh5gmove_c        FC_FUNC_(h5gmove_c, H5GMOVE_C)
+#   define nh5gmove2_c        FC_FUNC_(h5gmove2_c, H5GMOVE2_C)
+#   define nh5gget_linkval_c   FC_FUNC_(h5gget_linkval_c, H5GGET_LINKVAL_C)
+#   define nh5gset_comment_c   FC_FUNC_(h5gset_comment_c, H5GSET_COMMENT_C)
+#   define nh5gget_comment_c   FC_FUNC_(h5gget_comment_c, H5GGET_COMMENT_C)
+
 
 H5_FCDLL int_f nh5gcreate_c (hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *size_hint,  hid_t_f *grp_id);
 H5_FCDLL int_f nh5gopen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *grp_id);
@@ -317,38 +214,20 @@ H5_FCDLL int_f nh5gget_comment_c (hid_t_f *loc_id, _fcd name, int_f *namelen, si
 /*
  * Functions from H5Af.c
  */
-#ifndef H5Af90_FNAMES
-#    define H5Af90_FNAMES
-#ifdef DF_CAPFNAMES
-#   define nh5acreate_c      FNAME(H5ACREATE_C)
-#   define nh5aclose_c       FNAME(H5ACLOSE_C)
-#   define nh5aopen_name_c   FNAME(H5AOPEN_NAME_C)
-#   define nh5awrite_c       FNAME(H5AWRITE_C)
-#   define nh5awritec_c      FNAME(H5AWRITEC_C)
-#   define nh5aread_c        FNAME(H5AREAD_C)
-#   define nh5areadc_c       FNAME(H5AREADC_C)
-#   define nh5aget_name_c    FNAME(H5AGET_NAME_C)
-#   define nh5aopen_idx_c    FNAME(H5AOPEN_IDX_C)
-#   define nh5aget_space_c   FNAME(H5AGET_SPACE_C)
-#   define nh5aget_type_c    FNAME(H5AGET_TYPE_C)
-#   define nh5aget_num_attrs_c FNAME(H5AGET_NUM_ATTRS_C)
-#   define nh5adelete_c      FNAME(H5ADELETE_C)
-#else                                              /* !DF_CAPFNAMES */
-#   define nh5acreate_c      FNAME(h5acreate_c)
-#   define nh5aclose_c       FNAME(h5aclose_c)
-#   define nh5aopen_name_c   FNAME(h5aopen_name_c)
-#   define nh5awrite_c       FNAME(h5awrite_c)
-#   define nh5awritec_c      FNAME(h5awritec_c)
-#   define nh5aread_c        FNAME(h5aread_c)
-#   define nh5areadc_c       FNAME(h5areadc_c)
-#   define nh5aget_name_c    FNAME(h5aget_name_c)
-#   define nh5aopen_idx_c    FNAME(h5aopen_idx_c)
-#   define nh5aget_space_c   FNAME(h5aget_space_c)
-#   define nh5aget_type_c    FNAME(h5aget_type_c)
-#   define nh5aget_num_attrs_c FNAME(h5aget_num_attrs_c)
-#   define nh5adelete_c      FNAME(h5adelete_c)
-#endif                                             /* DF_CAPFNAMES */
-#endif
+#   define nh5acreate_c      FC_FUNC_(h5acreate_c, H5ACREATE_C)
+#   define nh5aclose_c       FC_FUNC_(h5aclose_c, H5ACLOSE_C)
+#   define nh5aopen_name_c   FC_FUNC_(h5aopen_name_c, H5AOPEN_NAME_C)
+#   define nh5awrite_c       FC_FUNC_(h5awrite_c, H5AWRITE_C)
+#   define nh5awritec_c      FC_FUNC_(h5awritec_c, H5AWRITEC_C)
+#   define nh5aread_c        FC_FUNC_(h5aread_c, H5AREAD_C)
+#   define nh5areadc_c       FC_FUNC_(h5areadc_c, H5AREADC_C)
+#   define nh5aget_name_c    FC_FUNC_(h5aget_name_c, H5AGET_NAME_C)
+#   define nh5aopen_idx_c    FC_FUNC_(h5aopen_idx_c, H5AOPEN_IDX_C)
+#   define nh5aget_space_c   FC_FUNC_(h5aget_space_c, H5AGET_SPACE_C)
+#   define nh5aget_type_c    FC_FUNC_(h5aget_type_c, H5AGET_TYPE_C)
+#   define nh5aget_num_attrs_c FC_FUNC_(h5aget_num_attrs_c, H5AGET_NUM_ATTRS_C)
+#   define nh5adelete_c      FC_FUNC_(h5adelete_c, H5ADELETE_C)
+
 
 H5_FCDLL int_f nh5acreate_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *type_id, hid_t_f *space_id, hid_t_f *crt_prp,  hid_t_f *attr_id);
 H5_FCDLL int_f nh5aopen_name_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *attr_id);
@@ -367,122 +246,62 @@ H5_FCDLL int_f nh5aget_name_c(hid_t_f *attr_id, size_t_f *size, _fcd buf);
 /* 
  * Functions form H5Tf.c file
  */
-#ifndef H5Tf90_FNAMES
-#    define H5Tf90_FNAMES
-#ifdef DF_CAPFNAMES
-#   define nh5topen_c         FNAME(H5TOPEN_C)
-#   define nh5tcommit_c       FNAME(H5TCOMMIT_C)
-#   define nh5tcommitted_c    FNAME(H5TCOMMITTED_C)
-#   define nh5tclose_c        FNAME(H5TCLOSE_C)
-#   define nh5tcopy_c         FNAME(H5TCOPY_C)
-#   define nh5tequal_c        FNAME(H5TEQUAL_C)
-#   define nh5tget_class_c    FNAME(H5TGET_CLASS_C)
-#   define nh5tget_order_c    FNAME(H5TGET_ORDER_C)
-#   define nh5tset_order_c    FNAME(H5TSET_ORDER_C)
-#   define nh5tget_size_c     FNAME(H5TGET_SIZE_C)
-#   define nh5tset_size_c     FNAME(H5TSET_SIZE_C)
-#   define nh5tget_precision_c     FNAME(H5TGET_PRECISION_C)
-#   define nh5tset_precision_c     FNAME(H5TSET_PRECISION_C)
-#   define nh5tget_offset_c        FNAME(H5TGET_OFFSET_C)
-#   define nh5tset_offset_c        FNAME(H5TSET_OFFSET_C)
-#   define nh5tget_pad_c        FNAME(H5TGET_PAD_C)
-#   define nh5tset_pad_c        FNAME(H5TSET_PAD_C)
-#   define nh5tget_sign_c       FNAME(H5TGET_SIGN_C)
-#   define nh5tset_sign_c       FNAME(H5TSET_SIGN_C)
-#   define nh5tget_fields_c       FNAME(H5TGET_FIELDS_C)
-#   define nh5tset_fields_c       FNAME(H5TSET_FIELDS_C)
-#   define nh5tget_ebias_c     FNAME(H5TGET_EBIAS_C)
-#   define nh5tset_ebias_c     FNAME(H5TSET_EBIAS_C)
-#   define nh5tget_norm_c     FNAME(H5TGET_NORM_C)
-#   define nh5tset_norm_c     FNAME(H5TSET_NORM_C)
-#   define nh5tget_inpad_c        FNAME(H5TGET_INPAD_C)
-#   define nh5tset_inpad_c        FNAME(H5TSET_INPAD_C)
-#   define nh5tget_cset_c        FNAME(H5TGET_CSET_C)
-#   define nh5tset_cset_c        FNAME(H5TSET_CSET_C)
-#   define nh5tget_strpad_c        FNAME(H5TGET_STRPAD_C)
-#   define nh5tset_strpad_c        FNAME(H5TSET_STRPAD_C)
-#   define nh5tget_nmembers_c        FNAME(H5TGET_NMEMBERS_C)
-#   define nh5tget_member_name_c        FNAME(H5TGET_MEMBER_NAME_C)
-#   define nh5tget_member_offset_c        FNAME(H5TGET_MEMBER_OFFSET_C)
-#   define nh5tget_member_dims_c        FNAME(H5TGET_MEMBER_DIMS_C)
-#   define nh5tget_member_type_c        FNAME(H5TGET_MEMBER_TYPE_C)
-#   define nh5tget_member_index_c        FNAME(H5TGET_MEMBER_INDEX_C)
-#   define nh5tinsert_c        FNAME(H5TINSERT_C)
-#   define nh5tcreate_c        FNAME(H5TCREATE_C)
-#   define nh5tpack_c                   FNAME(H5TPACK_C)
-#   define nh5tinsert_array_c           FNAME(H5TINSERT_ARRAY_C)
-#   define nh5tinsert_array_c2           FNAME(H5TINSERT_ARRAY_C2)
-#   define nh5tenum_create_c             FNAME(H5TENUM_CREATE_C)
-#   define nh5tenum_insert_c             FNAME(H5TENUM_INSERT_C)
-#   define nh5tenum_nameof_c             FNAME(H5TENUM_NAMEOF_C)
-#   define nh5tenum_valueof_c             FNAME(H5TENUM_VALUEOF_C)
-#   define nh5tget_member_value_c         FNAME(H5TGET_MEMBER_VALUE_C)
-#   define nh5tset_tag_c                  FNAME(H5TSET_TAG_C)
-#   define nh5tget_tag_c                  FNAME(H5TGET_TAG_C)
-#   define nh5tarray_create_c             FNAME(H5TARRAY_CREATE_C)
-#   define nh5tget_array_ndims_c          FNAME(H5TGET_ARRAY_NDIMS_C)
-#   define nh5tget_array_dims_c          FNAME(H5TGET_ARRAY_DIMS_C)
-#   define nh5tget_super_c               FNAME(H5TGET_SUPER_C)
-#   define nh5tvlen_create_c               FNAME(H5TVLEN_CREATE_C)
-#   define nh5tis_variable_str_c         FNAME(H5TIS_VARIABLE_STR_C)
-#else
-#   define nh5topen_c         FNAME(h5topen_c)
-#   define nh5tcommit_c       FNAME(h5tcommit_c)
-#   define nh5tcommitted_c    FNAME(h5tcommitted_c)
-#   define nh5tclose_c        FNAME(h5tclose_c)
-#   define nh5tcopy_c         FNAME(h5tcopy_c)
-#   define nh5tequal_c        FNAME(h5tequal_c)
-#   define nh5tget_class_c    FNAME(h5tget_class_c)
-#   define nh5tget_order_c    FNAME(h5tget_order_c)
-#   define nh5tset_order_c    FNAME(h5tset_order_c)
-#   define nh5tget_size_c     FNAME(h5tget_size_c)
-#   define nh5tset_size_c     FNAME(h5tset_size_c)
-#   define nh5tget_precision_c     FNAME(h5tget_precision_c)
-#   define nh5tset_precision_c     FNAME(h5tset_precision_c)
-#   define nh5tget_offset_c        FNAME(h5tget_offset_c)
-#   define nh5tset_offset_c        FNAME(h5tset_offset_c)
-#   define nh5tget_pad_c        FNAME(h5tget_pad_c)
-#   define nh5tset_pad_c        FNAME(h5tset_pad_c)
-#   define nh5tget_sign_c       FNAME(h5tget_sign_c)
-#   define nh5tset_sign_c       FNAME(h5tset_sign_c)
-#   define nh5tget_fields_c       FNAME(h5tget_fields_c)
-#   define nh5tset_fields_c       FNAME(h5tset_fields_c)
-#   define nh5tget_ebias_c     FNAME(h5tget_ebias_c)
-#   define nh5tset_ebias_c     FNAME(h5tset_ebias_c)
-#   define nh5tget_norm_c     FNAME(h5tget_norm_c)
-#   define nh5tset_norm_c     FNAME(h5tset_norm_c)
-#   define nh5tget_inpad_c        FNAME(h5tget_inpad_c)
-#   define nh5tset_inpad_c        FNAME(h5tset_inpad_c)
-#   define nh5tget_cset_c        FNAME(h5tget_cset_c)
-#   define nh5tset_cset_c        FNAME(h5tset_cset_c)
-#   define nh5tget_strpad_c        FNAME(h5tget_strpad_c)
-#   define nh5tset_strpad_c        FNAME(h5tset_strpad_c)
-#   define nh5tget_nmembers_c        FNAME(h5tget_nmembers_c)
-#   define nh5tget_member_name_c        FNAME(h5tget_member_name_c)
-#   define nh5tget_member_offset_c        FNAME(h5tget_member_offset_c)
-#   define nh5tget_member_dims_c        FNAME(h5tget_member_dims_c)
-#   define nh5tget_member_type_c        FNAME(h5tget_member_type_c)
-#   define nh5tget_member_index_c        FNAME(h5tget_member_index_c)
-#   define nh5tinsert_c                 FNAME(h5tinsert_c)
-#   define nh5tcreate_c        FNAME(h5tcreate_c)
-#   define nh5tpack_c                   FNAME(h5tpack_c)
-#   define nh5tinsert_array_c           FNAME(h5tinsert_array_c)
-#   define nh5tinsert_array_c2           FNAME(h5tinsert_array_c2)
-#   define nh5tenum_create_c             FNAME(h5tenum_create_c)
-#   define nh5tenum_insert_c             FNAME(h5tenum_insert_c)
-#   define nh5tenum_nameof_c             FNAME(h5tenum_nameof_c)
-#   define nh5tenum_valueof_c             FNAME(h5tenum_valueof_c)
-#   define nh5tget_member_value_c             FNAME(h5tget_member_value_c)
-#   define nh5tset_tag_c                  FNAME(h5tset_tag_c)
-#   define nh5tget_tag_c                  FNAME(h5tget_tag_c)
-#   define nh5tarray_create_c             FNAME(h5tarray_create_c)
-#   define nh5tget_array_ndims_c          FNAME(h5tget_array_ndims_c)
-#   define nh5tget_array_dims_c          FNAME(h5tget_array_dims_c)
-#   define nh5tget_super_c               FNAME(h5tget_super_c)
-#   define nh5tvlen_create_c               FNAME(h5tvlen_create_c)
-#   define nh5tis_variable_str_c         FNAME(h5tis_variable_str_c)
-#endif
-#endif
+#   define nh5topen_c         FC_FUNC_(h5topen_c, H5TOPEN_C)
+#   define nh5tcommit_c       FC_FUNC_(h5tcommit_c, H5TCOMMIT_C)
+#   define nh5tcommitted_c    FC_FUNC_(h5tcommitted_c, H5TCOMMITTED_C)
+#   define nh5tclose_c        FC_FUNC_(h5tclose_c, H5TCLOSE_C)
+#   define nh5tcopy_c         FC_FUNC_(h5tcopy_c, H5TCOPY_C)
+#   define nh5tequal_c        FC_FUNC_(h5tequal_c, H5TEQUAL_C)
+#   define nh5tget_class_c    FC_FUNC_(h5tget_class_c, H5TGET_CLASS_C)
+#   define nh5tget_order_c    FC_FUNC_(h5tget_order_c, H5TGET_ORDER_C)
+#   define nh5tset_order_c    FC_FUNC_(h5tset_order_c, H5TSET_ORDER_C)
+#   define nh5tget_size_c     FC_FUNC_(h5tget_size_c, H5TGET_SIZE_C)
+#   define nh5tset_size_c     FC_FUNC_(h5tset_size_c, H5TSET_SIZE_C)
+#   define nh5tget_precision_c     FC_FUNC_(h5tget_precision_c, H5TGET_PRECISION_C)
+#   define nh5tset_precision_c     FC_FUNC_(h5tset_precision_c, H5TSET_PRECISION_C)
+#   define nh5tget_offset_c        FC_FUNC_(h5tget_offset_c, H5TGET_OFFSET_C)
+#   define nh5tset_offset_c        FC_FUNC_(h5tset_offset_c, H5TSET_OFFSET_C)
+#   define nh5tget_pad_c        FC_FUNC_(h5tget_pad_c, H5TGET_PAD_C)
+#   define nh5tset_pad_c        FC_FUNC_(h5tset_pad_c, H5TSET_PAD_C)
+#   define nh5tget_sign_c       FC_FUNC_(h5tget_sign_c, H5TGET_SIGN_C)
+#   define nh5tset_sign_c       FC_FUNC_(h5tset_sign_c, H5TSET_SIGN_C)
+#   define nh5tget_fields_c       FC_FUNC_(h5tget_fields_c, H5TGET_FIELDS_C)
+#   define nh5tset_fields_c       FC_FUNC_(h5tset_fields_c, H5TSET_FIELDS_C)
+#   define nh5tget_ebias_c     FC_FUNC_(h5tget_ebias_c, H5TGET_EBIAS_C)
+#   define nh5tset_ebias_c     FC_FUNC_(h5tset_ebias_c, H5TSET_EBIAS_C)
+#   define nh5tget_norm_c     FC_FUNC_(h5tget_norm_c, H5TGET_NORM_C)
+#   define nh5tset_norm_c     FC_FUNC_(h5tset_norm_c, H5TSET_NORM_C)
+#   define nh5tget_inpad_c        FC_FUNC_(h5tget_inpad_c, H5TGET_INPAD_C)
+#   define nh5tset_inpad_c        FC_FUNC_(h5tset_inpad_c, H5TSET_INPAD_C)
+#   define nh5tget_cset_c        FC_FUNC_(h5tget_cset_c, H5TGET_CSET_C)
+#   define nh5tset_cset_c        FC_FUNC_(h5tset_cset_c, H5TSET_CSET_C)
+#   define nh5tget_strpad_c        FC_FUNC_(h5tget_strpad_c, H5TGET_STRPAD_C)
+#   define nh5tset_strpad_c        FC_FUNC_(h5tset_strpad_c, H5TSET_STRPAD_C)
+#   define nh5tget_nmembers_c        FC_FUNC_(h5tget_nmembers_c, H5TGET_NMEMBERS_C)
+#   define nh5tget_member_name_c        FC_FUNC_(h5tget_member_name_c, H5TGET_MEMBER_NAME_C)
+#   define nh5tget_member_offset_c        FC_FUNC_(h5tget_member_offset_c, H5TGET_MEMBER_OFFSET_C)
+#   define nh5tget_member_dims_c        FC_FUNC_(h5tget_member_dims_c, H5TGET_MEMBER_DIMS_C)
+#   define nh5tget_member_type_c        FC_FUNC_(h5tget_member_type_c, H5TGET_MEMBER_TYPE_C)
+#   define nh5tget_member_index_c        FC_FUNC_(h5tget_member_index_c, H5TGET_MEMBER_INDEX_C)
+#   define nh5tinsert_c        FC_FUNC_(h5tinsert_c, H5TINSERT_C)
+#   define nh5tcreate_c        FC_FUNC_(h5tcreate_c, H5TCREATE_C)
+#   define nh5tpack_c                   FC_FUNC_(h5tpack_c, H5TPACK_C)
+#   define nh5tinsert_array_c           FC_FUNC_(h5tinsert_array_c, H5TINSERT_ARRAY_C)
+#   define nh5tinsert_array_c2           FC_FUNC_(h5tinsert_array_c2, H5TINSERT_ARRAY_C2)
+#   define nh5tenum_create_c             FC_FUNC_(h5tenum_create_c, H5TENUM_CREATE_C)
+#   define nh5tenum_insert_c             FC_FUNC_(h5tenum_insert_c, H5TENUM_INSERT_C)
+#   define nh5tenum_nameof_c             FC_FUNC_(h5tenum_nameof_c, H5TENUM_NAMEOF_C)
+#   define nh5tenum_valueof_c             FC_FUNC_(h5tenum_valueof_c, H5TENUM_VALUEOF_C)
+#   define nh5tget_member_value_c         FC_FUNC_(h5tget_member_value_c, H5TGET_MEMBER_VALUE_C)
+#   define nh5tset_tag_c                  FC_FUNC_(h5tset_tag_c, H5TSET_TAG_C)
+#   define nh5tget_tag_c                  FC_FUNC_(h5tget_tag_c, H5TGET_TAG_C)
+#   define nh5tarray_create_c             FC_FUNC_(h5tarray_create_c, H5TARRAY_CREATE_C)
+#   define nh5tget_array_ndims_c          FC_FUNC_(h5tget_array_ndims_c, H5TGET_ARRAY_NDIMS_C)
+#   define nh5tget_array_dims_c          FC_FUNC_(h5tget_array_dims_c, H5TGET_ARRAY_DIMS_C)
+#   define nh5tget_super_c               FC_FUNC_(h5tget_super_c, H5TGET_SUPER_C)
+#   define nh5tvlen_create_c               FC_FUNC_(h5tvlen_create_c, H5TVLEN_CREATE_C)
+#   define nh5tis_variable_str_c         FC_FUNC_(h5tis_variable_str_c, H5TIS_VARIABLE_STR_C)
+
 
 H5_FCDLL int_f nh5tcreate_c(int_f *class, size_t_f *size, hid_t_f *type_id);
 H5_FCDLL int_f nh5topen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id);
@@ -543,223 +362,112 @@ H5_FCDLL int_f nh5tis_variable_str_c ( hid_t_f *type_id , int_f *flag );
 /* 
  * Functions from H5Pf.c
  */
-#ifndef H5Pf90_FNAMES
-#    define H5Pf90_FNAMES
-#ifdef DF_CAPFNAMES
-#   define nh5pcreate_c       FNAME(H5PCREATE_C)
-#   define nh5pclose_c        FNAME(H5PCLOSE_C)
-#   define nh5pcopy_c         FNAME(H5PCOPY_C)
-#   define nh5pequal_c         FNAME(H5PEQUAL_C)
-#   define nh5pget_class_c    FNAME(H5PGET_CLASS_C)
-#   define nh5pset_deflate_c  FNAME(H5PSET_DEFLATE_C)
-#   define nh5pset_preserve_c  FNAME(H5PSET_PRESERVE_C)
-#   define nh5pget_preserve_c  FNAME(H5PGET_PRESERVE_C)
-#   define nh5pset_chunk_c    FNAME(H5PSET_CHUNK_C)
-#   define nh5pget_chunk_c    FNAME(H5PGET_CHUNK_C)
-#   define nh5pset_fill_valuec_c FNAME(H5PSET_FILL_VALUEC_C)
-#   define nh5pset_fill_value_c FNAME(H5PSET_FILL_VALUE_C)
-#   define nh5pget_fill_valuec_c FNAME(H5PGET_FILL_VALUEC_C)
-#   define nh5pget_fill_value_c FNAME(H5PGET_FILL_VALUE_C)
-#   define nh5pget_version_c    FNAME(H5PGET_VERSION_C)
-#   define nh5pget_userblock_c    FNAME(H5PGET_USERBLOCK_C)
-#   define nh5pset_userblock_c    FNAME(H5PSET_USERBLOCK_C)
-#   define nh5pset_sizes_c        FNAME(H5PSET_SIZES_C)
-#   define nh5pget_sizes_c         FNAME(H5PGET_SIZES_C)
-#   define nh5pget_sym_k_c         FNAME(H5PGET_SYM_K_C)
-#   define nh5pset_sym_k_c         FNAME(H5PSET_SYM_K_C)
-#   define nh5pget_istore_k_c         FNAME(H5PGET_ISTORE_K_C)
-#   define nh5pset_istore_k_c         FNAME(H5PSET_ISTORE_K_C)
-#   define nh5pget_driver_c         FNAME(H5PGET_DRIVER_C)
-#   define nh5pset_fapl_stdio_c         FNAME(H5PSET_FAPL_STDIO_C)
-#   define nh5pget_fapl_stdio_c         FNAME(H5PGET_FAPL_STDIO_C)
-#   define nh5pset_fapl_sec2_c         FNAME(H5PSET_FAPL_SEC2_C)
-#   define nh5pget_fapl_sec2_c         FNAME(H5PGET_FAPL_SEC2_C)
-#   define nh5pset_alignment_c         FNAME(H5PSET_ALIGNMENT_C)
-#   define nh5pget_alignment_c         FNAME(H5PGET_ALIGNMENT_C)
-#   define nh5pset_fapl_core_c         FNAME(H5PSET_FAPL_CORE_C)
-#   define nh5pget_fapl_core_c         FNAME(H5PGET_FAPL_CORE_C)
-#   define nh5pset_fapl_family_c         FNAME(H5PSET_FAPL_FAMILY_C)
-#   define nh5pget_fapl_family_c         FNAME(H5PGET_FAPL_FAMILY_C)
-#   define nh5pset_cache_c         FNAME(H5PSET_CACHE_C)
-#   define nh5pget_cache_c         FNAME(H5PGET_CACHE_C)
-#   define nh5pset_fapl_split_c         FNAME(H5PSET_FAPL_SPLIT_C)
-#   define nh5pget_fapl_split_c         FNAME(H5PGET_FAPL_SPLIT_C)
-#   define nh5pset_gc_references_c         FNAME(H5PSET_GC_REFERENCES_C)
-#   define nh5pget_gc_references_c         FNAME(H5PGET_GC_REFERENCES_C)
-#   define nh5pset_layout_c         FNAME(H5PSET_LAYOUT_C)
-#   define nh5pget_layout_c         FNAME(H5PGET_LAYOUT_C)
-#   define nh5pset_filter_c         FNAME(H5PSET_FILTER_C)
-#   define nh5premove_filter_c         FNAME(H5PREMOVE_FILTER_C)
-#   define nh5pmodify_filter_c         FNAME(H5PMODIFY_FILTER_C)
-#   define nh5pget_nfilters_c         FNAME(H5PGET_NFILTERS_C)
-#   define nh5pget_filter_c         FNAME(H5PGET_FILTER_C)
-#   define nh5pget_filter_by_id_c         FNAME(H5PGET_FILTER_BY_ID_C)
-#   define nh5pset_external_c         FNAME(H5PSET_EXTERNAL_C)
-#   define nh5pget_external_count_c         FNAME(H5PGET_EXTERNAL_COUNT_C)
-#   define nh5pget_external_c         FNAME(H5PGET_EXTERNAL_C)
-#   define nh5pget_btree_ratios_c         FNAME(H5PGET_BTREE_RATIOS_C)
-#   define nh5pset_btree_ratios_c         FNAME(H5PSET_BTREE_RATIOS_C)
-#   define nh5pset_fapl_mpio_c         FNAME(H5PSET_FAPL_MPIO_C)
-#   define nh5pget_fapl_mpio_c         FNAME(H5PGET_FAPL_MPIO_C)
-#   define nh5pset_fapl_mpiposix_c     FNAME(H5PSET_FAPL_MPIPOSIX_C)
-#   define nh5pget_fapl_mpiposix_c     FNAME(H5PGET_FAPL_MPIPOSIX_C)
-#   define nh5pset_dxpl_mpio_c        FNAME(H5PSET_DXPL_MPIO_C)
-#   define nh5pget_dxpl_mpio_c        FNAME(H5PGET_DXPL_MPIO_C)
-#   define nh5pget_fclose_degree_c    FNAME(H5PGET_FCLOSE_DEGREE_C)
-#   define nh5pset_fclose_degree_c    FNAME(H5PSET_FCLOSE_DEGREE_C)
-#   define nh5pset_buffer_c    FNAME(H5PSET_BUFFER_C)
-#   define nh5pget_buffer_c    FNAME(H5PGET_BUFFER_C)
-#   define nh5pfill_value_defined_c    FNAME(H5PFILL_VALUE_DEFINED_C)
-#   define nh5pset_alloc_time_c    FNAME(H5PSET_ALLOC_TIME_C)
-#   define nh5pget_alloc_time_c    FNAME(H5PGET_ALLOC_TIME_C)
-#   define nh5pset_fill_time_c    FNAME(H5PSET_FILL_TIME_C)
-#   define nh5pget_fill_time_c    FNAME(H5PGET_FILL_TIME_C)
-#   define nh5pset_meta_block_size_c    FNAME(H5PSET_META_BLOCK_SIZE_C)
-#   define nh5pget_meta_block_size_c    FNAME(H5PGET_META_BLOCK_SIZE_C)
-#   define nh5pset_sieve_buf_size_c    FNAME(H5PSET_SIEVE_BUF_SIZE_C)
-#   define nh5pget_sieve_buf_size_c    FNAME(H5PGET_SIEVE_BUF_SIZE_C)
-#   define nh5pset_hyper_vector_size_c    FNAME(H5PSET_HYPER_VECTOR_SIZE_C)
-#   define nh5pget_hyper_vector_size_c    FNAME(H5PGET_HYPER_VECTOR_SIZE_C)
-#   define nh5pset_small_data_block_size_c    FNAME(H5PSET_SMALL_DATA_BLOCK_SIZE_C)
-#   define nh5pget_small_data_block_size_c    FNAME(H5PGET_SMALL_DATA_BLOCK_SIZE_C)
-#   define nh5pcreate_class_c             FNAME(H5PCREATE_CLASS_C)
-#   define nh5pregister_c                 FNAME(H5PREGISTER_C)
-#   define nh5pregisterc_c                FNAME(H5PREGISTERC_C)
-#   define nh5pinsert_c                   FNAME(H5PINSERT_C)
-#   define nh5pinsertc_c                  FNAME(H5PINSERTC_C)
-#   define nh5pset_c                      FNAME(H5PSET_C)
-#   define nh5psetc_c                     FNAME(H5PSETC_C)
-#   define nh5pget_c                      FNAME(H5PGET_C)
-#   define nh5pgetc_c                     FNAME(H5PGETC_C)
-#   define nh5pexist_c                    FNAME(H5PEXIST_C)
-#   define nh5pget_size_c                 FNAME(H5PGET_SIZE_C)
-#   define nh5pget_nprops_c               FNAME(H5PGET_NPROPS_C)
-#   define nh5pget_class_parent_c         FNAME(H5PGET_CLASS_PARENT_C)
-#   define nh5pisa_class_c                FNAME(H5PISA_CLASS_C)
-#   define nh5pcopy_prop_c                FNAME(H5PCOPY_PROP_C)
-#   define nh5premove_c                   FNAME(H5PREMOVE_C)
-#   define nh5punregister_c               FNAME(H5PUNREGISTER_C)
-#   define nh5pclose_class_c              FNAME(H5PCLOSE_CLASS_C)
-#   define nh5pget_class_name_c           FNAME(H5PGET_CLASS_NAME_C)
-#   define nh5pset_shuffle_c               FNAME(H5PSET_SHUFFLE_C)
-#   define nh5pset_fletcher32_c           FNAME(H5PSET_FLETCHER32_C)
-#   define nh5pset_edc_check_c            FNAME(H5PSET_EDC_CHECK_C)
-#   define nh5pget_edc_check_c            FNAME(H5PGET_EDC_CHECK_C)
-#   define nh5pset_family_offset_c       FNAME(H5PSET_FAMILY_OFFSET_C)       
-#   define nh5pget_fapl_multi_c          FNAME(H5PGET_FAPL_MULTI_C)
-#   define nh5pset_fapl_multi_c          FNAME(H5PSET_FAPL_MULTI_C)
-#   define nh5pset_fapl_multi_sc          FNAME(H5PSET_FAPL_MULTI_SC)
-#   define nh5pset_szip_c                 FNAME(H5PSET_SZIP_C)
-#   define nh5pall_filters_avail_c        FNAME(H5PALL_FILTERS_AVAIL_C)
-
-#else
-#   define nh5pcreate_c       FNAME(h5pcreate_c)
-#   define nh5pclose_c        FNAME(h5pclose_c)
-#   define nh5pcopy_c         FNAME(h5pcopy_c)
-#   define nh5pequal_c         FNAME(h5pequal_c)
-#   define nh5pget_class_c    FNAME(h5pget_class_c)
-#   define nh5pset_deflate_c  FNAME(h5pset_deflate_c)
-#   define nh5pset_preserve_c  FNAME(h5pset_preserve_c)
-#   define nh5pget_preserve_c  FNAME(h5pget_preserve_c)
-#   define nh5pset_chunk_c    FNAME(h5pset_chunk_c)
-#   define nh5pget_chunk_c    FNAME(h5pget_chunk_c)
-#   define nh5pset_fill_valuec_c FNAME(h5pset_fill_valuec_c)
-#   define nh5pset_fill_value_c FNAME(h5pset_fill_value_c)
-#   define nh5pget_fill_valuec_c FNAME(h5pget_fill_valuec_c)
-#   define nh5pget_fill_value_c FNAME(h5pget_fill_value_c)
-#   define nh5pget_version_c    FNAME(h5pget_version_c)
-#   define nh5pget_userblock_c    FNAME(h5pget_userblock_c)
-#   define nh5pset_userblock_c    FNAME(h5pset_userblock_c)
-#   define nh5pset_sizes_c        FNAME(h5pset_sizes_c)
-#   define nh5pget_sizes_c         FNAME(h5pget_sizes_c)
-#   define nh5pget_sym_k_c         FNAME(h5pget_sym_k_c)
-#   define nh5pset_sym_k_c         FNAME(h5pset_sym_k_c)
-#   define nh5pget_istore_k_c         FNAME(h5pget_istore_k_c)
-#   define nh5pset_istore_k_c         FNAME(h5pset_istore_k_c)
-#   define nh5pget_driver_c         FNAME(h5pget_driver_c)
-#   define nh5pset_fapl_stdio_c         FNAME(h5pset_fapl_stdio_c)
-#   define nh5pget_fapl_stdio_c         FNAME(h5pget_fapl_stdio_c)
-#   define nh5pset_fapl_sec2_c         FNAME(h5pset_fapl_sec2_c)
-#   define nh5pget_fapl_sec2_c         FNAME(h5pget_fapl_sec2_c)
-#   define nh5pset_alignment_c         FNAME(h5pset_alignment_c)
-#   define nh5pget_alignment_c         FNAME(h5pget_alignment_c)
-#   define nh5pset_fapl_core_c         FNAME(h5pset_fapl_core_c)
-#   define nh5pget_fapl_core_c         FNAME(h5pget_fapl_core_c)
-#   define nh5pset_fapl_family_c         FNAME(h5pset_fapl_family_c)
-#   define nh5pget_fapl_family_c         FNAME(h5pget_fapl_family_c)
-#   define nh5pset_cache_c         FNAME(h5pset_cache_c)
-#   define nh5pget_cache_c         FNAME(h5pget_cache_c)
-#   define nh5pset_fapl_split_c         FNAME(h5pset_fapl_split_c)
-#   define nh5pget_fapl_split_c         FNAME(h5pget_fapl_split_c)
-#   define nh5pset_gc_references_c         FNAME(h5pset_gc_references_c)
-#   define nh5pget_gc_references_c         FNAME(h5pget_gc_references_c)
-#   define nh5pset_layout_c         FNAME(h5pset_layout_c)
-#   define nh5pget_layout_c         FNAME(h5pget_layout_c)
-#   define nh5pset_filter_c         FNAME(h5pset_filter_c)
-#   define nh5premove_filter_c         FNAME(h5premove_filter_c)
-#   define nh5pmodify_filter_c         FNAME(h5pmodify_filter_c)
-#   define nh5pget_nfilters_c         FNAME(h5pget_nfilters_c)
-#   define nh5pget_filter_c         FNAME(h5pget_filter_c)
-#   define nh5pget_filter_by_id_c         FNAME(h5pget_filter_by_id_c)
-#   define nh5pset_external_c         FNAME(h5pset_external_c)
-#   define nh5pget_external_count_c         FNAME(h5pget_external_count_c)
-#   define nh5pget_external_c         FNAME(h5pget_external_c)
-#   define nh5pget_btree_ratios_c         FNAME(h5pget_btree_ratios_c)
-#   define nh5pset_btree_ratios_c         FNAME(h5pset_btree_ratios_c)
-#   define nh5pset_fapl_mpio_c         FNAME(h5pset_fapl_mpio_c)
-#   define nh5pget_fapl_mpio_c         FNAME(h5pget_fapl_mpio_c)
-#   define nh5pset_fapl_mpiposix_c     FNAME(h5pset_fapl_mpiposix_c)
-#   define nh5pget_fapl_mpiposix_c     FNAME(h5pget_fapl_mpiposix_c)
-#   define nh5pset_dxpl_mpio_c        FNAME(h5pset_dxpl_mpio_c)
-#   define nh5pget_dxpl_mpio_c        FNAME(h5pget_dxpl_mpio_c)
-#   define nh5pget_fclose_degree_c    FNAME(h5pget_fclose_degree_c)
-#   define nh5pset_fclose_degree_c    FNAME(h5pset_fclose_degree_c)
-#   define nh5pset_buffer_c    FNAME(h5pset_buffer_c)
-#   define nh5pget_buffer_c    FNAME(h5pget_buffer_c)
-#   define nh5pfill_value_defined_c    FNAME(h5pfill_value_defined_c)
-#   define nh5pset_alloc_time_c    FNAME(h5pset_alloc_time_c)
-#   define nh5pget_alloc_time_c    FNAME(h5pget_alloc_time_c)
-#   define nh5pset_fill_time_c    FNAME(h5pset_fill_time_c)
-#   define nh5pget_fill_time_c    FNAME(h5pget_fill_time_c)
-#   define nh5pset_meta_block_size_c    FNAME(h5pset_meta_block_size_c)
-#   define nh5pget_meta_block_size_c    FNAME(h5pget_meta_block_size_c)
-#   define nh5pset_sieve_buf_size_c    FNAME(h5pset_sieve_buf_size_c)
-#   define nh5pget_sieve_buf_size_c    FNAME(h5pget_sieve_buf_size_c)
-#   define nh5pset_hyper_vector_size_c    FNAME(h5pset_hyper_vector_size_c)
-#   define nh5pget_hyper_vector_size_c    FNAME(h5pget_hyper_vector_size_c)
-#   define nh5pset_small_data_block_size_c    FNAME(h5pset_small_data_block_size_c)
-#   define nh5pget_small_data_block_size_c    FNAME(h5pget_small_data_block_size_c)
-#   define nh5pcreate_class_c             FNAME(h5pcreate_class_c)
-#   define nh5pregister_c                 FNAME(h5pregister_c)
-#   define nh5pregisterc_c                FNAME(h5pregisterc_c)
-#   define nh5pinsert_c                   FNAME(h5pinsert_c)
-#   define nh5pinsertc_c                  FNAME(h5pinsertc_c)
-#   define nh5pset_c                      FNAME(h5pset_c)
-#   define nh5psetc_c                     FNAME(h5psetc_c)
-#   define nh5pget_c                      FNAME(h5pget_c)
-#   define nh5pgetc_c                     FNAME(h5pgetc_c)
-#   define nh5pexist_c                    FNAME(h5pexist_c)
-#   define nh5pget_size_c                 FNAME(h5pget_size_c)
-#   define nh5pget_nprops_c               FNAME(h5pget_nprops_c)
-#   define nh5pget_class_parent_c         FNAME(h5pget_class_parent_c)
-#   define nh5pisa_class_c                FNAME(h5pisa_class_c)
-#   define nh5pcopy_prop_c                FNAME(h5pcopy_prop_c)
-#   define nh5premove_c                   FNAME(h5premove_c)
-#   define nh5punregister_c               FNAME(h5punregister_c)
-#   define nh5pclose_class_c              FNAME(h5pclose_class_c)
-#   define nh5pget_class_name_c           FNAME(h5pget_class_name_c)
-#   define nh5pset_shuffle_c               FNAME(h5pset_shuffle_c)
-#   define nh5pset_fletcher32_c           FNAME(h5pset_fletcher32_c)
-#   define nh5pset_edc_check_c            FNAME(h5pset_edc_check_c)
-#   define nh5pget_edc_check_c            FNAME(h5pget_edc_check_c)
-#   define nh5pset_family_offset_c       FNAME(h5pset_family_offset_c)       
-#   define nh5pget_fapl_multi_c          FNAME(h5pget_fapl_multi_c)
-#   define nh5pset_fapl_multi_c          FNAME(h5pset_fapl_multi_c)
-#   define nh5pset_fapl_multi_sc          FNAME(h5pset_fapl_multi_sc)
-#   define nh5pset_szip_c                 FNAME(h5pset_szip_c)
-#   define nh5pall_filters_avail_c        FNAME(h5pall_filters_avail_c)
-#endif
-#endif
+#   define nh5pcreate_c       FC_FUNC_(h5pcreate_c, H5PCREATE_C)
+#   define nh5pclose_c        FC_FUNC_(h5pclose_c, H5PCLOSE_C)
+#   define nh5pcopy_c         FC_FUNC_(h5pcopy_c, H5PCOPY_C)
+#   define nh5pequal_c         FC_FUNC_(h5pequal_c, H5PEQUAL_C)
+#   define nh5pget_class_c    FC_FUNC_(h5pget_class_c, H5PGET_CLASS_C)
+#   define nh5pset_deflate_c  FC_FUNC_(h5pset_deflate_c, H5PSET_DEFLATE_C)
+#   define nh5pset_preserve_c  FC_FUNC_(h5pset_preserve_c, H5PSET_PRESERVE_C)
+#   define nh5pget_preserve_c  FC_FUNC_(h5pget_preserve_c, H5PGET_PRESERVE_C)
+#   define nh5pset_chunk_c    FC_FUNC_(h5pset_chunk_c, H5PSET_CHUNK_C)
+#   define nh5pget_chunk_c    FC_FUNC_(h5pget_chunk_c, H5PGET_CHUNK_C)
+#   define nh5pset_fill_valuec_c FC_FUNC_(h5pset_fill_valuec_c, H5PSET_FILL_VALUEC_C)
+#   define nh5pset_fill_value_c FC_FUNC_(h5pset_fill_value_c, H5PSET_FILL_VALUE_C)
+#   define nh5pget_fill_valuec_c FC_FUNC_(h5pget_fill_valuec_c, H5PGET_FILL_VALUEC_C)
+#   define nh5pget_fill_value_c FC_FUNC_(h5pget_fill_value_c, H5PGET_FILL_VALUE_C)
+#   define nh5pget_version_c    FC_FUNC_(h5pget_version_c, H5PGET_VERSION_C)
+#   define nh5pget_userblock_c    FC_FUNC_(h5pget_userblock_c, H5PGET_USERBLOCK_C)
+#   define nh5pset_userblock_c    FC_FUNC_(h5pset_userblock_c, H5PSET_USERBLOCK_C)
+#   define nh5pset_sizes_c        FC_FUNC_(h5pset_sizes_c, H5PSET_SIZES_C)
+#   define nh5pget_sizes_c         FC_FUNC_(h5pget_sizes_c, H5PGET_SIZES_C)
+#   define nh5pget_sym_k_c         FC_FUNC_(h5pget_sym_k_c, H5PGET_SYM_K_C)
+#   define nh5pset_sym_k_c         FC_FUNC_(h5pset_sym_k_c, H5PSET_SYM_K_C)
+#   define nh5pget_istore_k_c         FC_FUNC_(h5pget_istore_k_c, H5PGET_ISTORE_K_C)
+#   define nh5pset_istore_k_c         FC_FUNC_(h5pset_istore_k_c, H5PSET_ISTORE_K_C)
+#   define nh5pget_driver_c         FC_FUNC_(h5pget_driver_c, H5PGET_DRIVER_C)
+#   define nh5pset_fapl_stdio_c         FC_FUNC_(h5pset_fapl_stdio_c, H5PSET_FAPL_STDIO_C)
+#   define nh5pget_fapl_stdio_c         FC_FUNC_(h5pget_fapl_stdio_c, H5PGET_FAPL_STDIO_C)
+#   define nh5pset_fapl_sec2_c         FC_FUNC_(h5pset_fapl_sec2_c, H5PSET_FAPL_SEC2_C)
+#   define nh5pget_fapl_sec2_c         FC_FUNC_(h5pget_fapl_sec2_c, H5PGET_FAPL_SEC2_C)
+#   define nh5pset_alignment_c         FC_FUNC_(h5pset_alignment_c, H5PSET_ALIGNMENT_C)
+#   define nh5pget_alignment_c         FC_FUNC_(h5pget_alignment_c, H5PGET_ALIGNMENT_C)
+#   define nh5pset_fapl_core_c         FC_FUNC_(h5pset_fapl_core_c, H5PSET_FAPL_CORE_C)
+#   define nh5pget_fapl_core_c         FC_FUNC_(h5pget_fapl_core_c, H5PGET_FAPL_CORE_C)
+#   define nh5pset_fapl_family_c         FC_FUNC_(h5pset_fapl_family_c, H5PSET_FAPL_FAMILY_C)
+#   define nh5pget_fapl_family_c         FC_FUNC_(h5pget_fapl_family_c, H5PGET_FAPL_FAMILY_C)
+#   define nh5pset_cache_c         FC_FUNC_(h5pset_cache_c, H5PSET_CACHE_C)
+#   define nh5pget_cache_c         FC_FUNC_(h5pget_cache_c, H5PGET_CACHE_C)
+#   define nh5pset_fapl_split_c         FC_FUNC_(h5pset_fapl_split_c, H5PSET_FAPL_SPLIT_C)
+#   define nh5pget_fapl_split_c         FC_FUNC_(h5pget_fapl_split_c, H5PGET_FAPL_SPLIT_C)
+#   define nh5pset_gc_references_c         FC_FUNC_(h5pset_gc_references_c, H5PSET_GC_REFERENCES_C)
+#   define nh5pget_gc_references_c         FC_FUNC_(h5pget_gc_references_c, H5PGET_GC_REFERENCES_C)
+#   define nh5pset_layout_c         FC_FUNC_(h5pset_layout_c, H5PSET_LAYOUT_C)
+#   define nh5pget_layout_c         FC_FUNC_(h5pget_layout_c, H5PGET_LAYOUT_C)
+#   define nh5pset_filter_c         FC_FUNC_(h5pset_filter_c, H5PSET_FILTER_C)
+#   define nh5premove_filter_c         FC_FUNC_(h5premove_filter_c, H5PREMOVE_FILTER_C)
+#   define nh5pmodify_filter_c         FC_FUNC_(h5pmodify_filter_c, H5PMODIFY_FILTER_C)
+#   define nh5pget_nfilters_c         FC_FUNC_(h5pget_nfilters_c, H5PGET_NFILTERS_C)
+#   define nh5pget_filter_c         FC_FUNC_(h5pget_filter_c, H5PGET_FILTER_C)
+#   define nh5pget_filter_by_id_c         FC_FUNC_(h5pget_filter_by_id_c, H5PGET_FILTER_BY_ID_C)
+#   define nh5pset_external_c         FC_FUNC_(h5pset_external_c, H5PSET_EXTERNAL_C)
+#   define nh5pget_external_count_c         FC_FUNC_(h5pget_external_count_c, H5PGET_EXTERNAL_COUNT_C)
+#   define nh5pget_external_c         FC_FUNC_(h5pget_external_c, H5PGET_EXTERNAL_C)
+#   define nh5pget_btree_ratios_c         FC_FUNC_(h5pget_btree_ratios_c, H5PGET_BTREE_RATIOS_C)
+#   define nh5pset_btree_ratios_c         FC_FUNC_(h5pset_btree_ratios_c, H5PSET_BTREE_RATIOS_C)
+#   define nh5pset_fapl_mpio_c         FC_FUNC_(h5pset_fapl_mpio_c, H5PSET_FAPL_MPIO_C)
+#   define nh5pget_fapl_mpio_c         FC_FUNC_(h5pget_fapl_mpio_c, H5PGET_FAPL_MPIO_C)
+#   define nh5pset_fapl_mpiposix_c     FC_FUNC_(h5pset_fapl_mpiposix_c, H5PSET_FAPL_MPIPOSIX_C)
+#   define nh5pget_fapl_mpiposix_c     FC_FUNC_(h5pget_fapl_mpiposix_c, H5PGET_FAPL_MPIPOSIX_C)
+#   define nh5pset_dxpl_mpio_c        FC_FUNC_(h5pset_dxpl_mpio_c, H5PSET_DXPL_MPIO_C)
+#   define nh5pget_dxpl_mpio_c        FC_FUNC_(h5pget_dxpl_mpio_c, H5PGET_DXPL_MPIO_C)
+#   define nh5pget_fclose_degree_c    FC_FUNC_(h5pget_fclose_degree_c, H5PGET_FCLOSE_DEGREE_C)
+#   define nh5pset_fclose_degree_c    FC_FUNC_(h5pset_fclose_degree_c, H5PSET_FCLOSE_DEGREE_C)
+#   define nh5pset_buffer_c    FC_FUNC_(h5pset_buffer_c, H5PSET_BUFFER_C)
+#   define nh5pget_buffer_c    FC_FUNC_(h5pget_buffer_c, H5PGET_BUFFER_C)
+#   define nh5pfill_value_defined_c    FC_FUNC_(h5pfill_value_defined_c, H5PFILL_VALUE_DEFINED_C)
+#   define nh5pset_alloc_time_c    FC_FUNC_(h5pset_alloc_time_c, H5PSET_ALLOC_TIME_C)
+#   define nh5pget_alloc_time_c    FC_FUNC_(h5pget_alloc_time_c, H5PGET_ALLOC_TIME_C)
+#   define nh5pset_fill_time_c    FC_FUNC_(h5pset_fill_time_c, H5PSET_FILL_TIME_C)
+#   define nh5pget_fill_time_c    FC_FUNC_(h5pget_fill_time_c, H5PGET_FILL_TIME_C)
+#   define nh5pset_meta_block_size_c    FC_FUNC_(h5pset_meta_block_size_c, H5PSET_META_BLOCK_SIZE_C)
+#   define nh5pget_meta_block_size_c    FC_FUNC_(h5pget_meta_block_size_c, H5PGET_META_BLOCK_SIZE_C)
+#   define nh5pset_sieve_buf_size_c    FC_FUNC_(h5pset_sieve_buf_size_c, H5PSET_SIEVE_BUF_SIZE_C)
+#   define nh5pget_sieve_buf_size_c    FC_FUNC_(h5pget_sieve_buf_size_c, H5PGET_SIEVE_BUF_SIZE_C)
+#   define nh5pset_hyper_vector_size_c    FC_FUNC_(h5pset_hyper_vector_size_c, H5PSET_HYPER_VECTOR_SIZE_C)
+#   define nh5pget_hyper_vector_size_c    FC_FUNC_(h5pget_hyper_vector_size_c, H5PGET_HYPER_VECTOR_SIZE_C)
+#   define nh5pset_small_data_block_size_c    FC_FUNC_(h5pset_small_data_block_size_c, H5PSET_SMALL_DATA_BLOCK_SIZE_C)
+#   define nh5pget_small_data_block_size_c    FC_FUNC_(h5pget_small_data_block_size_c, H5PGET_SMALL_DATA_BLOCK_SIZE_C)
+#   define nh5pcreate_class_c             FC_FUNC_(h5pcreate_class_c, H5PCREATE_CLASS_C)
+#   define nh5pregister_c                 FC_FUNC_(h5pregister_c, H5PREGISTER_C)
+#   define nh5pregisterc_c                FC_FUNC_(h5pregisterc_c, H5PREGISTERC_C)
+#   define nh5pinsert_c                   FC_FUNC_(h5pinsert_c, H5PINSERT_C)
+#   define nh5pinsertc_c                  FC_FUNC_(h5pinsertc_c, H5PINSERTC_C)
+#   define nh5pset_c                      FC_FUNC_(h5pset_c, H5PSET_C)
+#   define nh5psetc_c                     FC_FUNC_(h5psetc_c, H5PSETC_C)
+#   define nh5pget_c                      FC_FUNC_(h5pget_c, H5PGET_C)
+#   define nh5pgetc_c                     FC_FUNC_(h5pgetc_c, H5PGETC_C)
+#   define nh5pexist_c                    FC_FUNC_(h5pexist_c, H5PEXIST_C)
+#   define nh5pget_size_c                 FC_FUNC_(h5pget_size_c, H5PGET_SIZE_C)
+#   define nh5pget_nprops_c               FC_FUNC_(h5pget_nprops_c, H5PGET_NPROPS_C)
+#   define nh5pget_class_parent_c         FC_FUNC_(h5pget_class_parent_c, H5PGET_CLASS_PARENT_C)
+#   define nh5pisa_class_c                FC_FUNC_(h5pisa_class_c, H5PISA_CLASS_C)
+#   define nh5pcopy_prop_c                FC_FUNC_(h5pcopy_prop_c, H5PCOPY_PROP_C)
+#   define nh5premove_c                   FC_FUNC_(h5premove_c, H5PREMOVE_C)
+#   define nh5punregister_c               FC_FUNC_(h5punregister_c, H5PUNREGISTER_C)
+#   define nh5pclose_class_c              FC_FUNC_(h5pclose_class_c, H5PCLOSE_CLASS_C)
+#   define nh5pget_class_name_c           FC_FUNC_(h5pget_class_name_c, H5PGET_CLASS_NAME_C)
+#   define nh5pset_shuffle_c               FC_FUNC_(h5pset_shuffle_c, H5PSET_SHUFFLE_C)
+#   define nh5pset_fletcher32_c           FC_FUNC_(h5pset_fletcher32_c, H5PSET_FLETCHER32_C)
+#   define nh5pset_edc_check_c            FC_FUNC_(h5pset_edc_check_c, H5PSET_EDC_CHECK_C)
+#   define nh5pget_edc_check_c            FC_FUNC_(h5pget_edc_check_c, H5PGET_EDC_CHECK_C)
+#   define nh5pset_family_offset_c       FC_FUNC_(h5pset_family_offset_c, H5PSET_FAMILY_OFFSET_C)       
+#   define nh5pget_fapl_multi_c          FC_FUNC_(h5pget_fapl_multi_c, H5PGET_FAPL_MULTI_C)
+#   define nh5pset_fapl_multi_c          FC_FUNC_(h5pset_fapl_multi_c, H5PSET_FAPL_MULTI_C)
+#   define nh5pset_fapl_multi_sc          FC_FUNC_(h5pset_fapl_multi_sc, H5PSET_FAPL_MULTI_SC)
+#   define nh5pset_szip_c                 FC_FUNC_(h5pset_szip_c, H5PSET_SZIP_C)
+#   define nh5pall_filters_avail_c        FC_FUNC_(h5pall_filters_avail_c, H5PALL_FILTERS_AVAIL_C)
+
 
 H5_FCDLL int_f nh5pcreate_c ( hid_t_f *class, hid_t_f *prp_id );
 H5_FCDLL int_f nh5pclose_c ( hid_t_f *prp_id );
@@ -871,24 +579,13 @@ H5_FCDLL int_f nh5pfill_value_defined_c ( hid_t_f *prp_id , int_f *flag);
 /*
  * Functions frome H5Rf.c 
  */
-#ifndef H5Rf90_FNAMES
-#    define H5Rf90_FNAMES
-#ifdef DF_CAPFNAMES
-#   define nh5rcreate_object_c     FNAME(H5RCREATE_OBJECT_C)
-#   define nh5rcreate_region_c     FNAME(H5RCREATE_REGION_C)
-#   define nh5rdereference_region_c FNAME(H5RDEREFERENCE_REGION_C)
-#   define nh5rdereference_object_c FNAME(H5RDEREFERENCE_OBJECT_C)
-#   define nh5rget_region_region_c FNAME(H5RGET_REGION_REGION_C)
-#   define nh5rget_object_type_obj_c FNAME(H5RGET_OBJECT_TYPE_OBJ_C)
-#else                                              /* !DF_CAPFNAMES */
-#   define nh5rcreate_object_c     FNAME(h5rcreate_object_c)
-#   define nh5rcreate_region_c     FNAME(h5rcreate_region_c)
-#   define nh5rdereference_region_c FNAME(h5rdereference_region_c)
-#   define nh5rdereference_object_c FNAME(h5rdereference_object_c)
-#   define nh5rget_region_region_c FNAME(h5rget_region_region_c)
-#   define nh5rget_object_type_obj_c FNAME(h5rget_object_type_obj_c)
-#endif                                             /* DF_CAPFNAMES */
-#endif                                             /* H5Rf90_FNAMES */
+#   define nh5rcreate_object_c     FC_FUNC_(h5rcreate_object_c, H5RCREATE_OBJECT_C)
+#   define nh5rcreate_region_c     FC_FUNC_(h5rcreate_region_c, H5RCREATE_REGION_C)
+#   define nh5rdereference_region_c FC_FUNC_(h5rdereference_region_c, H5RDEREFERENCE_REGION_C)
+#   define nh5rdereference_object_c FC_FUNC_(h5rdereference_object_c, H5RDEREFERENCE_OBJECT_C)
+#   define nh5rget_region_region_c FC_FUNC_(h5rget_region_region_c, H5RGET_REGION_REGION_C)
+#   define nh5rget_object_type_obj_c FC_FUNC_(h5rget_object_type_obj_c, H5RGET_OBJECT_TYPE_OBJ_C)
+
 
 H5_FCDLL int_f nh5rcreate_object_c (haddr_t_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen);
 H5_FCDLL int_f nh5rcreate_region_c (int_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *space_id);
@@ -900,24 +597,12 @@ H5_FCDLL int_f nh5rget_object_type_obj_c (hid_t_f *dset_id, haddr_t_f *ref, int_
 /*
  * Functions from H5If.c
  */
-#ifndef H5If90_FNAMES
-#    define H5If90_FNAMES
-#ifdef DF_CAPFNAMES
-#  define nh5iget_type_c    FNAME(H5IGET_TYPE_C)
-#  define nh5iget_name_c    FNAME(H5IGET_NAME_C)
-#  define nh5iinc_ref_c     FNAME(H5IINC_REF_C)
-#  define nh5idec_ref_c     FNAME(H5IDEC_REF_C)
-#  define nh5iget_ref_c     FNAME(H5IGET_REF_C)
-#  define nh5iget_file_id_c FNAME(H5IGET_FILE_ID_C)
-#else
-#  define nh5iget_type_c    FNAME(h5iget_type_c)
-#  define nh5iget_name_c    FNAME(h5iget_name_c)
-#  define nh5iinc_ref_c     FNAME(h5iinc_ref_c)
-#  define nh5idec_ref_c     FNAME(h5idec_ref_c)
-#  define nh5iget_ref_c     FNAME(h5iget_ref_c)
-#  define nh5iget_file_id_c FNAME(h5iget_file_id_c)
-#endif
-#endif
+#  define nh5iget_type_c    FC_FUNC_(h5iget_type_c, H5IGET_TYPE_C)
+#  define nh5iget_name_c    FC_FUNC_(h5iget_name_c, H5IGET_NAME_C)
+#  define nh5iinc_ref_c     FC_FUNC_(h5iinc_ref_c, H5IINC_REF_C)
+#  define nh5idec_ref_c     FC_FUNC_(h5idec_ref_c, H5IDEC_REF_C)
+#  define nh5iget_ref_c     FC_FUNC_(h5iget_ref_c, H5IGET_REF_C)
+#  define nh5iget_file_id_c FC_FUNC_(h5iget_file_id_c, H5IGET_FILE_ID_C)
 
 H5_FCDLL int_f nh5iget_type_c(hid_t_f *obj_id, int_f *type);
 H5_FCDLL int_f nh5iget_name_c(hid_t_f *obj_id, _fcd buf, size_t_f *buf_size, size_t_f *name_size);
@@ -926,24 +611,16 @@ H5_FCDLL int_f nh5idec_ref_c(hid_t_f *obj_id, int_f *ref_count);
 H5_FCDLL int_f nh5iget_ref_c(hid_t_f *obj_id, int_f *ref_count);
 H5_FCDLL int_f nh5iget_file_id_c(hid_t_f *obj_id, hid_t_f *file_id);
 
-#ifndef H5Ef90_FNAMES
-#    define H5Ef90_FNAMES
-#ifdef DF_CAPFNAMES
-#  define nh5eclear_c    FNAME(H5ECLEAR_C)
-#  define nh5eprint_c1   FNAME(H5EPRINT_C1)
-#  define nh5eprint_c2   FNAME(H5EPRINT_C2)
-#  define nh5eget_major_c FNAME(H5EGET_MAJOR_C)
-#  define nh5eget_minor_c FNAME(H5EGET_MINOR_C)
-#  define nh5eset_auto_c  FNAME(H5ESET_AUTO_C)
-#else
-#  define nh5eclear_c    FNAME(h5eclear_c)
-#  define nh5eprint_c1   FNAME(h5eprint_c1)
-#  define nh5eprint_c2   FNAME(h5eprint_c2) 
-#  define nh5eget_major_c FNAME(h5eget_major_c)
-#  define nh5eget_minor_c FNAME(h5eget_minor_c)
-#  define nh5eset_auto_c  FNAME(h5eset_auto_c) 
-#endif
-#endif
+/*
+ * Functions from H5Ef.c 
+ */
+#  define nh5eclear_c     FC_FUNC_(h5eclear_c, H5ECLEAR_C)
+#  define nh5eprint_c1    FC_FUNC_(h5eprint_c1, H5EPRINT_C1)
+#  define nh5eprint_c2    FC_FUNC_(h5eprint_c2, H5EPRINT_C2)
+#  define nh5eget_major_c FC_FUNC_(h5eget_major_c, H5EGET_MAJOR_C)
+#  define nh5eget_minor_c FC_FUNC_(h5eget_minor_c, H5EGET_MINOR_C)
+#  define nh5eset_auto_c  FC_FUNC_(h5eset_auto_c, H5ESET_AUTO_C)
+
 
 H5_FCDLL int_f nh5eclear_c(void);
 H5_FCDLL int_f nh5eprint_c1(_fcd name, int_f* namelen);
@@ -955,32 +632,17 @@ H5_FCDLL int_f nh5eset_auto_c(int_f* printflag);
 /*
  * Functions from H5f.c 
  */
-#ifndef H5_FNAMES
-#    define H5_FNAMES
-#ifdef DF_CAPFNAMES 
-#   define nh5open_c          FNAME(H5OPEN_C)
-#   define nh5close_c         FNAME(H5CLOSE_C)
-#   define nh5init_types_c    FNAME(H5INIT_TYPES_C)
-#   define nh5close_types_c   FNAME(H5CLOSE_TYPES_C)
-#   define nh5init_flags_c    FNAME(H5INIT_FLAGS_C)
-#   define nh5init1_flags_c    FNAME(H5INIT1_FLAGS_C)
-#   define nh5get_libversion_c  FNAME(H5GET_LIBVERSION_C)
-#   define nh5check_version_c   FNAME(H5CHECK_VERSION_C)
-#   define nh5garbage_collect_c FNAME(H5GARBAGE_COLLECT_C)
-#   define nh5dont_atexit_c     FNAME(H5DONT_ATEXIT_C)
-#else 
-#   define nh5open_c         FNAME(h5open_c)
-#   define nh5close_c         FNAME(h5close_c)
-#   define nh5init_types_c    FNAME(h5init_types_c)
-#   define nh5close_types_c   FNAME(h5close_types_c)
-#   define nh5init_flags_c    FNAME(h5init_flags_c)
-#   define nh5init1_flags_c    FNAME(h5init1_flags_c)
-#   define nh5get_libversion_c  FNAME(h5get_libversion_c)
-#   define nh5check_version_c   FNAME(h5check_version_c)
-#   define nh5garbage_collect_c FNAME(h5garbage_collect_c)
-#   define nh5dont_atexit_c     FNAME(h5dont_atexit_c)
-#endif
-#endif
+#   define nh5open_c            FC_FUNC_(h5open_c, H5OPEN_C)
+#   define nh5close_c           FC_FUNC_(h5close_c, H5CLOSE_C)
+#   define nh5init_types_c      FC_FUNC_(h5init_types_c, H5INIT_TYPES_C)
+#   define nh5close_types_c     FC_FUNC_(h5close_types_c, H5CLOSE_TYPES_C)
+#   define nh5init_flags_c      FC_FUNC_(h5init_flags_c, H5INIT_FLAGS_C)
+#   define nh5init1_flags_c     FC_FUNC_(h5init1_flags_c, H5INIT1_FLAGS_C)
+#   define nh5get_libversion_c  FC_FUNC_(h5get_libversion_c, H5GET_LIBVERSION_C)
+#   define nh5check_version_c   FC_FUNC_(h5check_version_c, H5CHECK_VERSION_C)
+#   define nh5garbage_collect_c FC_FUNC_(h5garbage_collect_c, H5GARBAGE_COLLECT_C)
+#   define nh5dont_atexit_c     FC_FUNC_(h5dont_atexit_c, H5DONT_ATEXIT_C)
+
 
 H5_FCDLL int_f nh5open_c(void);
 H5_FCDLL int_f nh5close_c(void);
@@ -999,18 +661,10 @@ H5_FCDLL int_f nh5dont_atexit_c(void);
 /*
  * Functions from H5Zf.c
  */
-#ifndef H5Zf90_FNAMES
-#    define H5Zf90_FNAMES
-#ifdef DF_CAPFNAMES
-#  define nh5zunregister_c    FNAME(H5ZUNREGISTER_C)
-#  define nh5zfilter_avail_c  FNAME(H5ZFILTER_AVAIL_C)
-#  define nh5zget_filter_info_c FNAME(H5ZGET_FILTER_INFO_C)
-#else
-#  define nh5zunregister_c    FNAME(h5zunregister_c)
-#  define nh5zfilter_avail_c  FNAME(h5zfilter_avail_c)
-#  define nh5zget_filter_info_c FNAME(h5zget_filter_info_c)
-#endif
-#endif
+#  define nh5zunregister_c    FC_FUNC_(h5zunregister_c, H5ZUNREGISTER_C)
+#  define nh5zfilter_avail_c  FC_FUNC_(h5zfilter_avail_c, H5ZFILTER_AVAIL_C)
+#  define nh5zget_filter_info_c FC_FUNC_(h5zget_filter_info_c, H5ZGET_FILTER_INFO_C)
+
 
 H5_FCDLL int_f nh5zunregister_c (int_f *filter);
 H5_FCDLL int_f nh5zfilter_avail_c (int_f *filter, int_f *flag);
diff --git a/fortran/src/Makefile.am b/fortran/src/Makefile.am
index d6a56f8..b044694 100644
--- a/fortran/src/Makefile.am
+++ b/fortran/src/Makefile.am
@@ -24,6 +24,8 @@ include $(top_srcdir)/config/commence.am
 INCLUDES = -I$(top_srcdir)/src
 AM_FCFLAGS=-I$(top_srcdir)/src
 
+AM_FCLIBS=$(LIBHDF5)
+
 # Fortran libraries are linked statically to solve a build problem.
 AM_LDFLAGS=-static
 
diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in
index 0099564..7499b56 100644
--- a/fortran/src/Makefile.in
+++ b/fortran/src/Makefile.in
@@ -179,6 +179,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
@@ -331,6 +332,7 @@ H5FC_PP = $(bindir)/h5pfc
 # for linking)
 INCLUDES = -I$(top_srcdir)/src
 AM_FCFLAGS = -I$(top_srcdir)/src
+AM_FCLIBS = $(LIBHDF5)
 
 # Fortran libraries are linked statically to solve a build problem.
 AM_LDFLAGS = -static
diff --git a/fortran/test/Makefile.in b/fortran/test/Makefile.in
index 980cfc4..04f1c2b 100644
--- a/fortran/test/Makefile.in
+++ b/fortran/test/Makefile.in
@@ -196,6 +196,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/fortran/test/t.h b/fortran/test/t.h
index 0286028..3e4fd4d 100644
--- a/fortran/test/t.h
+++ b/fortran/test/t.h
@@ -21,15 +21,9 @@ char *h5_fixname(const char *base_name, hid_t fapl, char *fullname, size_t size)
 /*
  *  Functions from t.c
  */
-#ifdef DF_CAPFNAMES
-#   define nh5_fixname_c              FNAME(H5_FIXNAME_C)
-#   define nh5_cleanup_c              FNAME(H5_CLEANUP_C)
-#   define nh5_exit_c                 FNAME(H5_EXIT_C)
-#else                                              /* !DF_CAPFNAMES */
-#   define nh5_fixname_c              FNAME(h5_fixname_c)
-#   define nh5_cleanup_c              FNAME(h5_cleanup_c)
-#   define nh5_exit_c                 FNAME(h5_exit_c)
-#endif                                             /* DF_CAPFNAMES */
+#   define nh5_fixname_c              FC_FUNC_(h5_fixname_c, H5_FIXNAME_C)
+#   define nh5_cleanup_c              FC_FUNC_(h5_cleanup_c, H5_CLEANUP_C)
+#   define nh5_exit_c                 FC_FUNC_(h5_exit_c, H5_EXIT_C)
 
 H5_FCTESTDLL int_f nh5_fixname_c 
 (_fcd base_name, size_t_f *base_namelen, hid_t_f *fapl, _fcd full_name, size_t_f *full_namelen);
diff --git a/fortran/testpar/Makefile.in b/fortran/testpar/Makefile.in
index 4f26423..42d2cd1 100644
--- a/fortran/testpar/Makefile.in
+++ b/fortran/testpar/Makefile.in
@@ -151,6 +151,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/hl/Makefile.in b/hl/Makefile.in
index 544a263..a0d737b 100755
--- a/hl/Makefile.in
+++ b/hl/Makefile.in
@@ -131,6 +131,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/hl/c++/Makefile.in b/hl/c++/Makefile.in
index feb99b9..a27a385 100644
--- a/hl/c++/Makefile.in
+++ b/hl/c++/Makefile.in
@@ -136,6 +136,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in
index 0093ce5..3ca3fc8 100644
--- a/hl/c++/src/Makefile.in
+++ b/hl/c++/src/Makefile.in
@@ -158,6 +158,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/hl/c++/test/Makefile.in b/hl/c++/test/Makefile.in
index 19f1773..7f9f6b8 100644
--- a/hl/c++/test/Makefile.in
+++ b/hl/c++/test/Makefile.in
@@ -152,6 +152,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/hl/fortran/Makefile.in b/hl/fortran/Makefile.in
index 9592f6d..f3e1101 100644
--- a/hl/fortran/Makefile.in
+++ b/hl/fortran/Makefile.in
@@ -131,6 +131,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/hl/fortran/src/H5LTf90proto.h b/hl/fortran/src/H5LTf90proto.h
index 29d99eb..a18f599 100755
--- a/hl/fortran/src/H5LTf90proto.h
+++ b/hl/fortran/src/H5LTf90proto.h
@@ -16,6 +16,7 @@
 #ifndef _H5LTf90proto_H
 #define _H5LTf90proto_H
 
+#include "H5config.h"
 #include "H5f90i.h"
 
 H5_DLL char*  HD5f2cstring (_fcd fdesc, int len);
@@ -25,134 +26,58 @@ H5_DLL void HD5packFstring (char *src, char *dest, size_t len);
 /*
  *  Functions from H5LTfc.c
  */
-#ifndef H5Ff90_FNAMES
-#    define H5Ff90_FNAMES
-#ifdef DF_CAPFNAMES
-#   define nh5ltmake_dataset_c         FNAME(H5LTMAKE_DATASET_C)
-#   define nh5ltread_dataset_c         FNAME(H5LTREAD_DATASET_C)
-#   define nh5ltmake_dataset_string_c  FNAME(H5LTMAKE_DATASET_STRING_C)
-#   define nh5ltread_dataset_string_c  FNAME(H5LTREAD_DATASET_STRING_C)
+#   define nh5ltmake_dataset_c         FC_FUNC_(h5ltmake_dataset_c, H5LTMAKE_DATASET_C)
+#   define nh5ltread_dataset_c         FC_FUNC_(h5ltread_dataset_c, H5LTREAD_DATASET_C)
+#   define nh5ltmake_dataset_string_c  FC_FUNC_(h5ltmake_dataset_string_c, H5LTMAKE_DATASET_STRING_C)
+#   define nh5ltread_dataset_string_c  FC_FUNC_(h5ltread_dataset_string_c, H5LTREAD_DATASET_STRING_C)
 
+#   define nh5ltset_attribute_int_c    FC_FUNC_(h5ltset_attribute_int_c, H5LTSET_ATTRIBUTE_INT_C)
+#   define nh5ltset_attribute_float_c  FC_FUNC_(h5ltset_attribute_float_c, H5LTSET_ATTRIBUTE_FLOAT_C)
+#   define nh5ltset_attribute_double_c FC_FUNC_(h5ltset_attribute_double_c, H5LTSET_ATTRIBUTE_DOUBLE_C)
+#   define nh5ltset_attribute_string_c FC_FUNC_(h5ltset_attribute_string_c, H5LTSET_ATTRIBUTE_STRING_C)
 
-#   define nh5ltset_attribute_int_c    FNAME(H5LTSET_ATTRIBUTE_INT_C)
-#   define nh5ltset_attribute_float_c  FNAME(H5LTSET_ATTRIBUTE_FLOAT_C)
-#   define nh5ltset_attribute_double_c FNAME(H5LTSET_ATTRIBUTE_DOUBLE_C)
-#   define nh5ltset_attribute_string_c FNAME(H5LTSET_ATTRIBUTE_STRING_C)
+#   define nh5ltget_attribute_int_c    FC_FUNC_(h5ltget_attribute_int_c, H5LTGET_ATTRIBUTE_INT_C)
+#   define nh5ltget_attribute_float_c  FC_FUNC_(h5ltget_attribute_float_c, H5LTGET_ATTRIBUTE_FLOAT_C)
+#   define nh5ltget_attribute_double_c FC_FUNC_(h5ltget_attribute_double_c, H5LTGET_ATTRIBUTE_DOUBLE_C)
+#   define nh5ltget_attribute_string_c FC_FUNC_(h5ltget_attribute_string_c, H5LTGET_ATTRIBUTE_STRING_C)
 
-#   define nh5ltget_attribute_int_c    FNAME(H5LTGET_ATTRIBUTE_INT_C)
-#   define nh5ltget_attribute_float_c  FNAME(H5LTGET_ATTRIBUTE_FLOAT_C)
-#   define nh5ltget_attribute_double_c FNAME(H5LTGET_ATTRIBUTE_DOUBLE_C)
-#   define nh5ltget_attribute_string_c FNAME(H5LTGET_ATTRIBUTE_STRING_C)
+#   define nh5ltget_dataset_ndims_c    FC_FUNC_(h5ltget_dataset_ndims_c, H5LTGET_DATASET_NDIMS_C)
+#   define nh5ltfind_dataset_c         FC_FUNC_(h5ltfind_dataset_c, H5LTFIND_DATASET_C)
+#   define nh5ltget_dataset_info_c     FC_FUNC_(h5ltget_dataset_info_c, H5LTGET_DATASET_INFO_C)
 
-#   define nh5ltget_dataset_ndims_c    FNAME(H5LTGET_DATASET_NDIMS_C)
-#   define nh5ltfind_dataset_c         FNAME(H5LTFIND_DATASET_C)
-#   define nh5ltget_dataset_info_c     FNAME(H5LTGET_DATASET_INFO_C)
-
-#   define nh5ltget_attribute_ndims_c  FNAME(H5LTGET_ATTRIBUTE_NDIMS_C)
-#   define nh5ltget_attribute_info_c   FNAME(H5LTGET_ATTRIBUTE_INFO_C)
-
-/*-------------------------------------------------------------------------
- * Image
- *-------------------------------------------------------------------------
- */
-#   define nh5immake_image_8bit_c      FNAME(H5IMMAKE_IMAGE_8BIT_C)
-#   define nh5immake_image_24bit_c     FNAME(H5IMMAKE_IMAGE_24BIT_C)
-#   define nh5imread_image_c           FNAME(H5IMREAD_IMAGE_C)
-#   define nh5imget_image_info_c       FNAME(H5IMGET_IMAGE_INFO_C)
-#   define nh5imis_image_c             FNAME(H5IMIS_IMAGE_C)
-#   define nh5immake_palette_c         FNAME(H5IMMAKE_PALETTE_C)
-#   define nh5imlink_palette_c         FNAME(H5IMLINK_PALETTE_C)
-#   define nh5imunlink_palette_c       FNAME(H5IMUNLINK_PALETTE_C)
-#   define nh5imget_npalettes_c        FNAME(H5IMGET_NPALETTES_C)
-#   define nh5imget_palette_info_c     FNAME(H5IMGET_PALETTE_INFO_C)
-#   define nh5imget_palette_c          FNAME(H5IMGET_PALETTE_C)
-#   define nh5imis_palette_c           FNAME(H5IMIS_PALETTE_C)
-
-	/*-------------------------------------------------------------------------
- * Table
- *-------------------------------------------------------------------------
- */
-#   define nh5tbmake_table_c           FNAME(H5TBMAKE_TABLE_C)
-#   define nh5tbwrite_field_name_c     FNAME(H5TBWRITE_FIELD_NAME_C)
-#   define nh5tbread_field_name_c      FNAME(H5TBREAD_FIELD_NAME_C)
-#   define nh5tbwrite_field_index_c    FNAME(H5TBWRITE_FIELD_INDEX_C)
-#   define nh5tbread_field_index_c     FNAME(H5TBREAD_FIELD_INDEX_C)
-#   define nh5tbinsert_field_c         FNAME(H5TBINSERT_FIELD_C)
-#   define nh5tbdelete_field_c         FNAME(H5TBDELETE_FIELD_C)
-#   define nh5tbget_table_info_c       FNAME(H5TBGET_TABLE_INFO_C)
-#   define nh5tbget_field_info_c       FNAME(H5TBGET_FIELD_INFO_C)
-
-
-
-
-
-#else  /* !DF_CAPFNAMES */
-
-#   define nh5ltmake_dataset_c         FNAME(h5ltmake_dataset_c)
-#   define nh5ltread_dataset_c         FNAME(h5ltread_dataset_c)
-#   define nh5ltmake_dataset_string_c  FNAME(h5ltmake_dataset_string_c)
-#   define nh5ltread_dataset_string_c  FNAME(h5ltread_dataset_string_c)
-
-#   define nh5ltset_attribute_int_c    FNAME(h5ltset_attribute_int_c)
-#   define nh5ltset_attribute_float_c  FNAME(h5ltset_attribute_float_c)
-#   define nh5ltset_attribute_double_c FNAME(h5ltset_attribute_double_c)
-#   define nh5ltset_attribute_string_c FNAME(h5ltset_attribute_string_c)
-
-#   define nh5ltget_attribute_int_c    FNAME(h5ltget_attribute_int_c)
-#   define nh5ltget_attribute_float_c  FNAME(h5ltget_attribute_float_c)
-#   define nh5ltget_attribute_double_c FNAME(h5ltget_attribute_double_c)
-#   define nh5ltget_attribute_string_c FNAME(h5ltget_attribute_string_c)
-
-#   define nh5ltget_dataset_ndims_c    FNAME(h5ltget_dataset_ndims_c)
-#   define nh5ltfind_dataset_c         FNAME(h5ltfind_dataset_c)
-#   define nh5ltget_dataset_info_c     FNAME(h5ltget_dataset_info_c)
-
-#   define nh5ltget_attribute_ndims_c  FNAME(h5ltget_attribute_ndims_c)
-#   define nh5ltget_attribute_info_c   FNAME(h5ltget_attribute_info_c)
+#   define nh5ltget_attribute_ndims_c  FC_FUNC_(h5ltget_attribute_ndims_c, H5LTGET_ATTRIBUTE_NDIMS_C)
+#   define nh5ltget_attribute_info_c   FC_FUNC_(h5ltget_attribute_info_c, H5LTGET_ATTRIBUTE_INFO_C)
 
 /*-------------------------------------------------------------------------
  * Image
  *-------------------------------------------------------------------------
  */
-#   define nh5immake_image_8bit_c      FNAME(h5immake_image_8bit_c)
-#   define nh5immake_image_24bit_c     FNAME(h5immake_image_24bit_c)
-#   define nh5imread_image_c           FNAME(h5imread_image_c)
-#   define nh5imget_image_info_c       FNAME(h5imget_image_info_c)
-#   define nh5imis_image_c             FNAME(h5imis_image_c)
-#   define nh5immake_palette_c         FNAME(h5immake_palette_c)
-#   define nh5imlink_palette_c         FNAME(h5imlink_palette_c)
-#   define nh5imunlink_palette_c       FNAME(h5imunlink_palette_c)
-#   define nh5imget_npalettes_c        FNAME(h5imget_npalettes_c)
-#   define nh5imget_palette_info_c     FNAME(h5imget_palette_info_c)
-#   define nh5imget_palette_c          FNAME(h5imget_palette_c)
-#   define nh5imis_palette_c           FNAME(h5imis_palette_c)
+#   define nh5immake_image_8bit_c      FC_FUNC_(h5immake_image_8bit_c, H5IMMAKE_IMAGE_8BIT_C)
+#   define nh5immake_image_24bit_c     FC_FUNC_(h5immake_image_24bit_c, H5IMMAKE_IMAGE_24BIT_C)
+#   define nh5imread_image_c           FC_FUNC_(h5imread_image_c, H5IMREAD_IMAGE_C)
+#   define nh5imget_image_info_c       FC_FUNC_(h5imget_image_info_c, H5IMGET_IMAGE_INFO_C)
+#   define nh5imis_image_c             FC_FUNC_(h5imis_image_c, H5IMIS_IMAGE_C)
+#   define nh5immake_palette_c         FC_FUNC_(h5immake_palette_c, H5IMMAKE_PALETTE_C)
+#   define nh5imlink_palette_c         FC_FUNC_(h5imlink_palette_c, H5IMLINK_PALETTE_C)
+#   define nh5imunlink_palette_c       FC_FUNC_(h5imunlink_palette_c, H5IMUNLINK_PALETTE_C)
+#   define nh5imget_npalettes_c        FC_FUNC_(h5imget_npalettes_c, H5IMGET_NPALETTES_C)
+#   define nh5imget_palette_info_c     FC_FUNC_(h5imget_palette_info_c, H5IMGET_PALETTE_INFO_C)
+#   define nh5imget_palette_c          FC_FUNC_(h5imget_palette_c, H5IMGET_PALETTE_C)
+#   define nh5imis_palette_c           FC_FUNC_(h5imis_palette_c, H5IMIS_PALETTE_C)
 
 /*-------------------------------------------------------------------------
  * Table
  *-------------------------------------------------------------------------
  */
-#   define nh5tbmake_table_c           FNAME(h5tbmake_table_c)
-#   define nh5tbwrite_field_name_c     FNAME(h5tbwrite_field_name_c)
-#   define nh5tbread_field_name_c      FNAME(h5tbread_field_name_c)
-#   define nh5tbwrite_field_index_c    FNAME(h5tbwrite_field_index_c)
-#   define nh5tbread_field_index_c     FNAME(h5tbread_field_index_c)
-#   define nh5tbinsert_field_c         FNAME(h5tbinsert_field_c)
-#   define nh5tbdelete_field_c         FNAME(h5tbdelete_field_c)
-#   define nh5tbget_table_info_c       FNAME(h5tbget_table_info_c)
-#   define nh5tbget_field_info_c       FNAME(h5tbget_field_info_c)
-
-
-
-
-
-
-
-
-
-
-
-#endif /* DF_CAPFNAMES */
-#endif /* H5Ff90_FNAMES */
+#   define nh5tbmake_table_c           FC_FUNC_(h5tbmake_table_c, H5TBMAKE_TABLE_C)
+#   define nh5tbwrite_field_name_c     FC_FUNC_(h5tbwrite_field_name_c, H5TBWRITE_FIELD_NAME_C)
+#   define nh5tbread_field_name_c      FC_FUNC_(h5tbread_field_name_c, H5TBREAD_FIELD_NAME_C)
+#   define nh5tbwrite_field_index_c    FC_FUNC_(h5tbwrite_field_index_c, H5TBWRITE_FIELD_INDEX_C)
+#   define nh5tbread_field_index_c     FC_FUNC_(h5tbread_field_index_c, H5TBREAD_FIELD_INDEX_C)
+#   define nh5tbinsert_field_c         FC_FUNC_(h5tbinsert_field_c, H5TBINSERT_FIELD_C)
+#   define nh5tbdelete_field_c         FC_FUNC_(h5tbdelete_field_c, H5TBDELETE_FIELD_C)
+#   define nh5tbget_table_info_c       FC_FUNC_(h5tbget_table_info_c, H5TBGET_TABLE_INFO_C)
+#   define nh5tbget_field_info_c       FC_FUNC_(h5tbget_field_info_c, H5TBGET_FIELD_INFO_C)
 
 H5_DLL 
 int_f
diff --git a/hl/fortran/src/H5f90i.h b/hl/fortran/src/H5f90i.h
index e39e3f8..c1a390c 100755
--- a/hl/fortran/src/H5f90i.h
+++ b/hl/fortran/src/H5f90i.h
@@ -20,6 +20,8 @@
  * Standard header files needed all the time 
  */
 
+#include "H5private.h"
+
 #if (defined (UNICOS) || (defined (_UNICOS)))
 
 #include <fortran.h>
@@ -32,8 +34,6 @@ typedef long               size_t_f;
 typedef long               int_f;
 typedef long               hid_t_f;
 typedef double             real_f;
-#define DF_CAPFNAMES 
-/*#define _fcdtocp(desc) (desc)*/
 
 #endif /* UNICOS */
 
@@ -60,10 +60,6 @@ typedef int               size_t_f;
 typedef int               int_f;
 typedef int               hid_t_f;
 typedef float             real_f;
-#define FNAME(x) x 
-#if defined H5_ABSOFT
-#define DF_CAPFNAMES
-#endif /*H5_ABSOFT*/
 #define _fcdtocp(desc) (desc)
 
 #endif /*APPLE*/
@@ -85,11 +81,6 @@ typedef long long         haddr_t_f;
 typedef long long         hsize_t_f;
 typedef long long         hssize_t_f;
 typedef int               size_t_f;
-#if defined H5_ABSOFT
-#define DF_CAPFNAMES
-#else
-#define FNAME_POST_UNDERSCORE
-#endif /*H5_ABSOFT*/
 
 /* AMD64 specific definitions */
 #elif defined __x86_64__
@@ -98,7 +89,6 @@ typedef long long         haddr_t_f;
 typedef long long         hsize_t_f;
 typedef long long         hssize_t_f;
 typedef int               size_t_f;
-#define FNAME_POST_UNDERSCORE
 
 /* IA64 specific definitions */
 #elif defined __ia64
@@ -107,7 +97,6 @@ typedef long              haddr_t_f;
 typedef long              hsize_t_f;
 typedef long              hssize_t_f;
 typedef long              size_t_f;
-#define FNAME_POST_UNDERSCORE
 
 #endif /* IA64 */
 #endif /* LINUX*/
@@ -122,7 +111,6 @@ typedef long          size_t_f;
 typedef int           int_f;
 typedef int           hid_t_f;
 typedef float         real_f;
-#define FNAME_POST_UNDERSCORE
 #define _fcdtocp(desc) (desc)
 #endif /* IRIX */
 
@@ -136,7 +124,6 @@ typedef int               size_t_f;
 typedef int               int_f;
 typedef int               hid_t_f;
 typedef float             real_f;
-#define FNAME_POST_UNDERSCORE
 #define _fcdtocp(desc) (desc)
 
 #endif     /*SUN*/
@@ -151,7 +138,6 @@ typedef long             size_t_f;
 typedef int              int_f;
 typedef int              hid_t_f;
 typedef float            real_f;
-#define FNAME_POST_UNDERSCORE
 #define _fcdtocp(desc) (desc)
 
 #endif /* DEC_ALPHA */
@@ -166,7 +152,6 @@ typedef long long        size_t_f;
 typedef int              int_f;
 typedef int              hid_t_f;
 typedef float            real_f;
-#define FNAME_POST2_UNDERSCORE
 #define _fcdtocp(desc) (desc)
 
 #endif /* DEC_ALPHA_LINUX */
@@ -197,7 +182,6 @@ typedef int               int_f;
 typedef int               hid_t_f;
 typedef float             real_f;
 
-#define DF_CAPFNAMES
 #define _fcdtocp(desc) (desc)
 
 #endif /*WINDOWS */
@@ -232,32 +216,7 @@ typedef long              hssize_t_f;
 typedef long              size_t_f;
 #endif /* IA64 */
 
-#define FNAME_POST_UNDERSCORE
 
 #endif /* FreeBSD */
 
-/*----------------------------------------------------------------
-** MACRO FNAME for any fortran callable routine name.
-**
-**  This macro prepends, appends, or does not modify a name
-**  passed as a macro parameter to it based on the FNAME_PRE_UNDERSCORE,
-**  FNAME_POST_UNDERSCORE macros set for a specific system.
-**
-**---------------------------------------------------------------*/
-#if defined(FNAME_PRE_UNDERSCORE) && defined(FNAME_POST_UNDERSCORE)
-#   define FNAME(x)     _##x##_
-#endif
-#if defined(FNAME_PRE_UNDERSCORE) && !defined(FNAME_POST_UNDERSCORE)
-#   define FNAME(x)     _##x
-#endif
-#if !defined(FNAME_PRE_UNDERSCORE) && defined(FNAME_POST_UNDERSCORE)
-#   define FNAME(x)     x##_
-#endif
-#if !defined(FNAME_PRE_UNDERSCORE) && !defined(FNAME_POST_UNDERSCORE)
-#   define FNAME(x)     x
-#endif
-#if !defined(FNAME_PRE_UNDERSCORE) && defined(FNAME_POST2_UNDERSCORE)
-#   define FNAME(x)     x##__
-#endif
-
 #endif /* _H5f90i_H */
diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in
index 6ee4e0e..b24e6ed 100644
--- a/hl/fortran/src/Makefile.in
+++ b/hl/fortran/src/Makefile.in
@@ -153,6 +153,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/hl/fortran/test/Makefile.in b/hl/fortran/test/Makefile.in
index 70533f5..5301575 100644
--- a/hl/fortran/test/Makefile.in
+++ b/hl/fortran/test/Makefile.in
@@ -151,6 +151,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in
index 899162f..40bcaaf 100644
--- a/hl/src/Makefile.in
+++ b/hl/src/Makefile.in
@@ -149,6 +149,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/hl/test/Makefile.in b/hl/test/Makefile.in
index 7380d0f..a839de3 100644
--- a/hl/test/Makefile.in
+++ b/hl/test/Makefile.in
@@ -161,6 +161,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/hl/tools/gif2h5/Makefile.in b/hl/tools/gif2h5/Makefile.in
index 71c944c..0dfb102 100644
--- a/hl/tools/gif2h5/Makefile.in
+++ b/hl/tools/gif2h5/Makefile.in
@@ -159,6 +159,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/perform/Makefile.in b/perform/Makefile.in
index bd0ed5c..6b2f2de 100644
--- a/perform/Makefile.in
+++ b/perform/Makefile.in
@@ -175,6 +175,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/src/H5config.h.in b/src/H5config.h.in
index 51b6b58..5cfb439 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -11,6 +11,20 @@
 /* Define if `dev_t' is a scalar */
 #undef DEV_T_IS_SCALAR
 
+/* Define to dummy `main' function (if any) required to link to the Fortran
+   libraries. */
+#undef FC_DUMMY_MAIN
+
+/* Define if F77 and FC dummy `main' functions are identical. */
+#undef FC_DUMMY_MAIN_EQ_F77
+
+/* Define to a macro mangling the given C identifier (in lower and upper
+   case), which must not contain underscores, for linking with Fortran. */
+#undef FC_FUNC
+
+/* As FC_FUNC, but for C identifiers containing underscores. */
+#undef FC_FUNC_
+
 /* Define if your system roundup accurately convert floating-point to unsigned
    long long values. */
 #undef FP_TO_ULLONG_BOTTOM_BIT_WORKS
diff --git a/src/Makefile.in b/src/Makefile.in
index 9fc9c31..80687f6 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -224,6 +224,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/test/Makefile.in b/test/Makefile.in
index 4546de8..930048c 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -353,6 +353,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/testpar/Makefile.in b/testpar/Makefile.in
index 0a3614f..06804ee 100644
--- a/testpar/Makefile.in
+++ b/testpar/Makefile.in
@@ -160,6 +160,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 1f68bb9..1e9d780 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -136,6 +136,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/tools/gifconv/Makefile.in b/tools/gifconv/Makefile.in
index 71c944c..0dfb102 100644
--- a/tools/gifconv/Makefile.in
+++ b/tools/gifconv/Makefile.in
@@ -159,6 +159,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/tools/h5diff/Makefile.in b/tools/h5diff/Makefile.in
index 0019b27..6ca4205 100644
--- a/tools/h5diff/Makefile.in
+++ b/tools/h5diff/Makefile.in
@@ -167,6 +167,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/tools/h5dump/Makefile.in b/tools/h5dump/Makefile.in
index d387436..03fcd31 100644
--- a/tools/h5dump/Makefile.in
+++ b/tools/h5dump/Makefile.in
@@ -160,6 +160,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/tools/h5import/Makefile.in b/tools/h5import/Makefile.in
index 8ebb489..59b8ff8 100755
--- a/tools/h5import/Makefile.in
+++ b/tools/h5import/Makefile.in
@@ -160,6 +160,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/tools/h5jam/Makefile.in b/tools/h5jam/Makefile.in
index 1a8000a..caecd36 100644
--- a/tools/h5jam/Makefile.in
+++ b/tools/h5jam/Makefile.in
@@ -155,6 +155,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/tools/h5ls/Makefile.in b/tools/h5ls/Makefile.in
index 1358f82..a503b5c 100644
--- a/tools/h5ls/Makefile.in
+++ b/tools/h5ls/Makefile.in
@@ -153,6 +153,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/tools/h5repack/Makefile.in b/tools/h5repack/Makefile.in
index 44f9cbf..1cea2dc 100644
--- a/tools/h5repack/Makefile.in
+++ b/tools/h5repack/Makefile.in
@@ -175,6 +175,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/tools/lib/Makefile.in b/tools/lib/Makefile.in
index bd6239f..8368499 100644
--- a/tools/lib/Makefile.in
+++ b/tools/lib/Makefile.in
@@ -157,6 +157,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
diff --git a/tools/misc/Makefile.in b/tools/misc/Makefile.in
index 4ea6bd1..e17e241 100644
--- a/tools/misc/Makefile.in
+++ b/tools/misc/Makefile.in
@@ -165,6 +165,7 @@ F9XMODFLAG = @F9XMODFLAG@
 F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
 FC = @FC@
 FCFLAGS = @FCFLAGS@
+FCLIBS = @FCLIBS@
 FFLAGS = @FFLAGS@
 FILTERS = @FILTERS@
 FSEARCH_DIRS = @FSEARCH_DIRS@
-- 
cgit v0.12