hdf5/fortran/src/h5fc.in
James Laird 25df1908bc [svn-r10158] Purpose:
Automake version upgrade

Description:
Upgraded automake version from 1.6.2 to 1.9.5.
Changed bin/reconfigure script to use automake 1.9.5.
Changed configure.in and Makefiles to use new FCFLAGS and FC variables
instead of FFLAGS and F9X.
Automake and configure should now do the lion's share of the work
supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will
be cleaned later).
Altered how configure handles pmake; now root-level Makefile.in is
processed by bin/reconfigure to have a .MAKEFLAGS target, since
automake no longer allows us to define unused variables.
Configure now always checks for C++ compiler even if it is not
used, since automake thinks this is the Right Thing To Do and
will break otherwise.

Platforms tested:
Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
2005-03-07 12:57:27 -05:00

240 lines
6.8 KiB
Bash
Executable File

#! /bin/sh
##
## Copyright by the Board of Trustees of the University of Illinois.
## All rights reserved.
##
## This file is part of HDF5. The full HDF5 copyright notice, including
## terms governing use, modification, and redistribution, is contained in
## the files COPYING and Copyright.html. COPYING can be found at the root
## of the source code distribution tree; Copyright.html can be found at the
## root level of an installed copy of the electronic HDF5 document set and
## is linked from the top-level documents page. It can also be found at
## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have
## access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu.
##
############################################################################
## ##
## Things You May Have to Modify: ##
## ##
## If the following paths don't point to the place were HDF5 is installed ##
## on your system (i.e., you received a binary distribution or moved the ##
## files from the originally installed directory to another directory) ##
## then modify them accordingly to represent the new paths. ##
## ##
############################################################################
prefix="@prefix@"
exec_prefix="@exec_prefix@"
libdir="@libdir@"
includedir="@includedir@"
HL="@HL@"
############################################################################
## ##
## You shouldn't have to modify anything below this line. ##
## ##
############################################################################
host_os="@host_os@"
prog_name="`basename $0`"
allargs=""
compile_args=""
link_args=""
link_objs=""
do_link="yes"
do_compile="no"
dash_o="no"
dash_c="no"
get_output_file="no"
SHOW="eval"
FCBASE="@FC@"
FLINKERBASE="@FC@"
FFLAGS="@FCFLAGS@"
F9XMODFLAG="@F9XMODFLAG@"
F9XSUFFIXFLAG="@F9XSUFFIXFLAG@"
LDFLAGS="@LDFLAGS@"
LIBS="@LIBS@"
FC="${HDF5_FC:-$FCBASE}"
FLINKER="${HDF5_FLINKER:-$FLINKERBASE}"
usage() {
# A wonderfully informative "usage" message.
echo "usage: $prog_name [OPTIONS] <compile line>"
echo " OPTIONS:"
echo " -help This help message."
echo " -echo Show all the shell commands executed"
echo " -prefix=DIR Prefix directory to find HDF5 lib/ and include/"
echo " subdirectories [default: $prefix]"
echo " -show Show the commands without executing them"
echo " -showconfig Show the HDF5 library configuration summary"
echo " "
echo " <compile line> - the normal compile line options for your compiler."
echo " $prog_name uses the same compiler you used to compile"
echo " HDF5. Check with your compiler's man pages for more"
echo " information on which options are needed."
echo " "
echo " You can override the compiler and linker to compile your program by"
echo " setting the following environment variables accordingly:"
echo " "
echo " HDF5_FC - use a different Fortran 90 or 95 compiler"
echo " HDF5_FLINKER - use a different linker"
echo " "
exit 1
}
# Show the configuration summary of the library recorded in the
# libhdf5.settings file reside in the lib directory.
showconfigure()
{
cat ${libdir}/libhdf5.settings
status=$?
}
# Main
status=0
if test "$#" = "0"; then
# No parameters specified, issue usage statement and exit.
usage
fi
for arg in $@ ; do
if test "x$get_output_file" = "xyes"; then
link_args="$link_args $arg"
output_file="$arg"
get_output_file="no"
continue
fi
case "$arg" in
-c)
allargs="$allargs $arg"
compile_args="$compile_args $arg"
if test "x$do_link" = "xyes" -a -n "$output_file"; then
compile_args="$compile_args -o $outputfile"
fi
do_link="no"
dash_c="yes"
;;
-o)
allargs="$allargs $arg"
dash_o="yes"
if test "x$dash_c" = "xyes"; then
compile_args="$compile_args $arg"
else
link_args="$link_args $arg"
do_link="yes"
get_output_file="yes"
fi
;;
-E|-M)
allargs="$allargs $arg"
compile_args="$compile_args $arg"
dash_c="yes"
do_link="no"
;;
-l*)
link_args="$link_args $arg"
allargs="$allargs $arg"
;;
-prefix=*)
prefix="`expr "$arg" : '-prefix=\(.*\)'`"
;;
-echo)
set -x
;;
-show)
SHOW="echo"
;;
-showconfig)
showconfigure
exit $status
;;
-help)
usage
;;
*\"*)
qarg="'"$arg"'"
allargs="$allargs $qarg"
;;
*\'*)
qarg='\"'"$arg"'\"'
allargs="$allargs $qarg"
;;
*) allargs="$allargs $arg"
if [ -s "$arg" ] ; then
ext=`expr "$arg" : '.*\(\..*\)'`
if [ "$ext" = ".f" -o "$ext" = ".F" -o "$ext" = ".f90" -o \
"$ext" = ".for" -o "$ext" = ".FOR" -o "$ext" = ".F90" ] ; then
do_compile="yes"
compile_args="$compile_args $arg"
fname=`basename $arg $ext`
link_objs="$link_objs $fname.o"
elif [ "$ext" = ".o" ] ; then
if test "x$dash_c" = "xyes" ; then
compile_args="$compile_args $arg"
else
do_link="yes"
link_objs="$link_objs $arg"
fi
elif test "x$ext" = "x.a"; then
# This is an archive that we're linking in
libraries=" $libraries $arg "
else
compile_args="$compile_args $arg"
link_args="$link_args $arg"
fi
else
compile_args="$compile_args $arg"
link_args="$link_args $arg"
fi
;;
esac
done
# It's possible that there isn't a modules flag...
fmodules=""
if test -n "$F9XMODFLAG"; then
fmodules="${F9XMODFLAG}${includedir}"
fi
if test "x$do_compile" = "xyes"; then
if test "x$dash_c" != "xyes"; then
compile_args="-c $compile_args"
fi
$SHOW $FC $FFLAGS ${F9XSUFFIXFLAG} ${fmodules} $compile_args
status=$?
if test "$status" != "0"; then
exit $status
fi
fi
if test "x$do_link" = "xyes"; then
# conditionnaly link with the hl library
if test "X$HL" = "Xhl"; then
link_args="$link_args ${libdir}/libhdf5_fortran.a ${libdir}/libhdf5.a ${libdir}/libhdf5hl_fortran.a ${libdir}/libhdf5_hl.a"
else
link_args="$link_args ${libdir}/libhdf5_fortran.a ${libdir}/libhdf5.a"
fi
link_args="$link_args $LIBS"
$SHOW $FLINKER ${FFLAGS} ${F9XSUFFIXFLAG} ${fmodules} ${LDFLAGS} $link_objs $link_args
status=$?
fi
exit $status