#! /bin/sh
#
# Borrowed the idea for this script (and some code) from libcurl.
#

prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

cc="cc"
cxx="c++"
fc="gfortran"
cflags=" -I${includedir}"
fflags="-fPIC -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mcpu=ultrasparc -I${includedir}"
libs="-L${libdir} -lnetcdf"
flibs="-L${libdir} -lnetcdff -lnetcdf"
has_dap="no"
has_nc2="yes"
has_nc4="no"
has_f77="yes"
has_f90="yes"
has_cxx="yes"
version="netCDF 4.0.1"

usage()
{
    cat <<EOF
Usage: nc-config [OPTION]

Available values for OPTION include:

  --help      display this help message and exit
  --all       display all options
  --cc        C compiler
  --cxx       C++ compiler
  --fc        Fortran compiler
  --cflags    pre-processor and compiler flags
  --fflags    flags needed to compile a Fortran program
  --has-dap   whether OPeNDAP is enabled in this build
  --has-nc2   whether NetCDF-2 API is enabled
  --has-nc4   whether NetCDF-4/HDF-5 is enabled in this build
  --has-hdf5  same as --has-nc4
  --has-f77   whether Fortran 77 API is enabled in this build
  --has-f90   whether Fortran 90 API is enabled in this build
  --has-c++   whether C++ API is enabled in this build
  --libs      library linking information for netcdf
  --flibs     libraries needed to link a Fortran program
  --prefix    Install prefix
  --version   Library version

EOF

    exit $1
}

all()
{
        echo
        echo "This $version has been built with the following features: "
        echo
        echo "  --cc        -> $cc"
        echo "  --cflags    -> $cflags"
        echo "  --libs      -> $libs"
        echo
        echo "  --cxx       -> $cxx"
        echo "  --has-c++   -> $has_cxx"
        echo
        echo "  --fc        -> $fc"
        echo "  --fflags    -> $fflags"
        echo "  --flibs     -> $flibs"
        echo "  --has-f77   -> $has_f77"
        echo "  --has-f90   -> $has_f90"
        echo
        echo "  --has-dap   -> $has_dap"
        echo "  --has-nc2   -> $has_nc2"
        echo "  --has-nc4   -> $has_nc4"
        echo "  --has-hdf5  -> $has_nc4"
        echo
        echo "  --prefix    -> $prefix"
        echo "  --version   -> $version"
        echo
}

if test $# -eq 0; then
    usage 1
fi

while test $# -gt 0; do
    case "$1" in
    # this deals with options in the style
    # --option=value and extracts the value part
    # [not currently used]
    -*=*) value=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
    *) value= ;;
    esac

    case "$1" in

    --help)
	usage 0
	;;

    --all)
	all
	;;

    --cc)
	echo $cc
	;;

    --cxx)
	echo $cxx
	;;

    --fc)
	echo $fc
	;;

    --cflags)
	echo $cflags
	;;

    --fflags)
	echo $fflags
	;;

    --libs)
       	echo $libs
       	;;

    --flibs)
       	echo $flibs
       	;;

    --has-dap)
       	echo $has_dap
       	;;

    --has-nc2)
       	echo $has_nc2
       	;;

    --has-nc4)
       	echo $has_nc4
       	;;

    --has-hdf5)
       	echo $has_nc4
       	;;

    --has-f77)
       	echo $has_f77
       	;;

    --has-f90)
       	echo $has_f90
       	;;

    --has-c++)
       	echo $has_cxx
       	;;

    --prefix)
       	echo "${prefix}"
       	;;

    --version)
	echo $version
	;;

    *)
        echo "unknown option: $1"
	usage
	exit 1
	;;
    esac
    shift
done

exit 0
