netcdf-c/nc-config.in
2016-11-01 10:47:17 -06:00

306 lines
6.1 KiB
Bash
Executable File

#! /bin/sh
#
# This forms the basis for the nc-config utility, which tells you
# various things about the netCDF installation. This code was
# contributed by netCDF user Arlindo DaSilva. Thanks Arlindo!
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
cc="@CC@"
cflags="-I${includedir} @CPPFLAGS@"
libs="-L${libdir} @NC_LIBS@"
has_dap="@HAS_DAP@"
has_nc2="@HAS_NC2@"
has_nc4="@HAS_NC4@"
has_hdf4="@HAS_HDF4@"
has_pnetcdf="@HAS_PNETCDF@"
has_hdf5="@HAS_HDF5@"
has_logging="@HAS_LOGGING@"
version="@PACKAGE_NAME@ @PACKAGE_VERSION@"
has_fortran="no"
has_f90="no"
has_f03="no"
nfconf=$(which nf-config 2>/dev/null)
if [ -f "$nfconf" ]; then
has_fortran="yes"
fc=`nf-config --fc`
fflags=`nf-config --fflags`
flibs=`nf-config --flibs`
has_f90=`nf-config --has-f90`
has_f03=`nf-config --has-f03`
fi
has_cxx="no"
has_cxx4="no"
if type -p ncxx4-config > /dev/null 2>&1; then
cxx4=`ncxx4-config --cxx`
cxx4flags=`ncxx4-config --cflags`
cxx4libs=`ncxx4-config --libs`
has_cxx4="yes"
elif type -p ncxx-config > /dev/null 2>&1; then
cxx=`ncxx-config --cxx`
cxxflags=`ncxx-config --cflags`
cxxlibs=`ncxx-config --libs`
has_cxx="yes"
fi
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
--cflags pre-processor and compiler flags
--has-c++ whether C++ API is installed
--has-c++4 whether netCDF-4 C++ API is installed
--has-fortran whether Fortran API is installed
--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 whether HDF5 is used in build (always the same as --has-nc4)
--has-hdf4 whether HDF4 was used in build
--has-logging whether logging is enabled with --enable-logging.
--has-pnetcdf whether parallel-netcdf (a.k.a. pnetcdf) was used in build
--has-szlib whether szlib is included in build
--libs library linking information for netcdf
--prefix Install prefix
--includedir Include directory
--libdir Library directory
--version Library version
EOF
if type -p ncxx4-config > /dev/null 2>&1; then
cat <<EOF
--cxx4 C++ compiler for netCDF-4 C++ library
--cxx4flags flags needed to compile a C++ program
--cxx4libs libraries needed to link a C++ program
EOF
elif type -p ncxx-config > /dev/null 2>&1; then
cat <<EOF
--cxx C++ compiler
--cxxflags flags needed to compile a C++ program
--cxxlibs libraries needed to link a C++ program
EOF
fi
if [ -f "$nfconf" ]; then
cat <<EOF
--fc Fortran compiler
--fflags flags needed to compile a Fortran program
--flibs libraries needed to link a Fortran program
--has-f90 whether Fortran 90 API is installed
--has-f03 whether Fortran 03 API is installed (implies F90).
EOF
fi
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 " --has-c++ -> $has_cxx"
echo " --cxx -> $cxx"
if type -p ncxx-config > /dev/null 2>&1; then
echo " --cxxflags -> $cxxflags"
echo " --cxxlibs -> $cxxlibs"
fi
echo
echo " --has-c++4 -> $has_cxx4"
echo " --cxx4 -> $cxx4"
if type -p ncxx4-config > /dev/null 2>&1; then
echo " --cxx4flags -> $cxx4flags"
echo " --cxx4libs -> $cxx4libs"
fi
echo
echo " --has-fortran-> $has_fortran"
if [ -f "$nfconf" ]; then
echo " --fc -> $fc"
echo " --fflags -> $fflags"
echo " --flibs -> $flibs"
echo " --has-f90 -> $has_f90"
echo " --has-f03 -> $has_f03"
echo
fi
echo " --has-dap -> $has_dap"
echo " --has-nc2 -> $has_nc2"
echo " --has-nc4 -> $has_nc4"
echo " --has-hdf5 -> $has_hdf5"
echo " --has-hdf4 -> $has_hdf4"
echo " --has-logging-> $has_logging"
echo " --has-pnetcdf-> $has_pnetcdf"
echo " --has-szlib -> $has_szlib"
echo
echo " --prefix -> $prefix"
echo " --includedir-> $includedir"
echo " --libdir -> $libdir"
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
;;
--cflags)
echo $cflags
;;
--has-dap)
echo $has_dap
;;
--has-nc2)
echo $has_nc2
;;
--has-nc4)
echo $has_nc4
;;
--has-hdf5)
echo $has_hdf5
;;
--has-hdf4)
echo $has_hdf4
;;
--has-logging)
echo $has_logging
;;
--has-pnetcdf)
echo $has_pnetcdf
;;
--has-szlib)
echo $has_szlib
;;
--libs)
echo $libs
;;
--prefix)
echo "${prefix}"
;;
--includedir)
echo "${includedir}"
;;
--libdir)
echo "${libdir}"
;;
--version)
echo $version
;;
--has-c++)
echo $has_cxx
;;
--cxx)
echo $cxx
;;
--cxxflags)
echo $cxxflags
;;
--cxxlibs)
echo $cxxlibs
;;
--has-c++4)
echo $has_cxx4
;;
--cxx4)
echo $cxx4
;;
--cxx4flags)
echo $cxx4flags
;;
--cxx4libs)
echo $cxx4libs
;;
--has-fortran)
echo $has_fortran
;;
--fc)
echo $fc
;;
--fflags)
echo $fflags
;;
--flibs)
echo $flibs
;;
--has-f90)
echo $has_f90
;;
--has-f03)
echo $has_f03
;;
*)
echo "unknown option: $1"
usage 1
;;
esac
shift
done
exit 0