mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-12-27 08:49:16 +08:00
383 lines
8.1 KiB
Bash
383 lines
8.1 KiB
Bash
#! /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@"
|
|
libsprivate="@LIBS@"
|
|
|
|
|
|
has_dap="@HAS_DAP@"
|
|
has_dap4="@HAS_DAP4@"
|
|
has_nc2="@HAS_NC2@"
|
|
has_nc4="@HAS_NC4@"
|
|
has_hdf4="@HAS_HDF4@"
|
|
has_pnetcdf="@HAS_PNETCDF@"
|
|
has_hdf5="@HAS_HDF5@"
|
|
has_logging="@HAS_LOGGING@"
|
|
has_cdf5="@HAS_CDF5@"
|
|
has_szlib="@HAS_SZLIB@"
|
|
has_parallel="@HAS_PARALLEL@"
|
|
has_parallel4="@HAS_PARALLEL4@"
|
|
has_nczarr="@HAS_NCZARR@"
|
|
has_s3_sdk="@HAS_S3_SDK@"
|
|
version="@PACKAGE_NAME@ @PACKAGE_VERSION@"
|
|
HAS_STATIC=""
|
|
|
|
|
|
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"
|
|
|
|
ncxxconf=$(which ncxx-config 2>/dev/null)
|
|
ncxx4conf=$(which ncxx4-config 2>/dev/null)
|
|
|
|
if [ -f "$ncxx4conf" ]; then
|
|
cxx4=`ncxx4-config --cxx`
|
|
cxx4flags=`ncxx4-config --cflags`
|
|
cxx4libs=`ncxx4-config --libs`
|
|
has_cxx4="yes"
|
|
elif [ -f "$ncxxconf" ]; 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-dap2 whether OPeNDAP (DAP2) is enabled in this build
|
|
--has-dap4 whether DAP4 is enabled in this build
|
|
--has-dap same as --has-dap2 (Deprecated)
|
|
--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 PnetCDF was used in build
|
|
--has-szlib whether szlib is included in build
|
|
--has-cdf5 whether cdf5 support is included in build
|
|
--has-parallel4 whether has parallel IO support via HDF5
|
|
--has-parallel whether has parallel IO support via HDF5 or PnetCDF
|
|
--has-nczarr whether nczarr enabled
|
|
--has-s3-sdk whether AWS S3 support enabled
|
|
--libs library linking information for netcdf
|
|
--static library linking information for statically-compiled netcdf
|
|
--prefix Install prefix
|
|
--includedir Include directory
|
|
--libdir Library directory
|
|
--version Library version
|
|
|
|
EOF
|
|
if [ -f "$ncxx4conf" ]; 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 [ -f "$ncxxconf" ]; 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 " --static -> $libsprivate"
|
|
echo
|
|
echo " --has-c++ -> $has_cxx"
|
|
echo " --cxx -> $cxx"
|
|
|
|
if [ -f "$ncxxconf" ]; then
|
|
echo " --cxxflags -> $cxxflags"
|
|
echo " --cxxlibs -> $cxxlibs"
|
|
fi
|
|
echo
|
|
echo " --has-c++4 -> $has_cxx4"
|
|
echo " --cxx4 -> $cxx4"
|
|
if [ -f "$ncxx4conf" ]; 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-dap2 -> $has_dap"
|
|
echo " --has-dap4 -> $has_dap4"
|
|
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 " --has-cdf5 -> $has_cdf5"
|
|
echo " --has-parallel4 -> $has_parallel4"
|
|
echo " --has-parallel -> $has_parallel"
|
|
echo " --has-nczarr -> $has_nczarr"
|
|
echo " --has-s3-sdk -> $has_s3_sdk"
|
|
echo
|
|
echo " --prefix -> $prefix"
|
|
echo " --includedir -> $includedir"
|
|
echo " --libdir -> $libdir"
|
|
echo " --version -> $version"
|
|
echo
|
|
}
|
|
|
|
if test $# -eq 0; then
|
|
usage 1
|
|
fi
|
|
|
|
for i in "$@"; do
|
|
case $i in
|
|
--static)
|
|
HAS_STATIC="TRUE"
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
done
|
|
|
|
|
|
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-dap2)
|
|
echo $has_dap
|
|
;;
|
|
|
|
--has-dap4)
|
|
echo $has_dap4
|
|
;;
|
|
|
|
--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
|
|
;;
|
|
|
|
--has-cdf5)
|
|
echo $has_cdf5
|
|
;;
|
|
|
|
--has-parallel4)
|
|
echo $has_parallel4
|
|
;;
|
|
|
|
--has-parallel)
|
|
echo $has_parallel
|
|
;;
|
|
|
|
--has-nczarr)
|
|
echo $has_nczarr
|
|
;;
|
|
|
|
--has-s3-sdk)
|
|
echo $has_s3_sdk
|
|
;;
|
|
|
|
--libs)
|
|
if [ "x$HAS_STATIC" = "xTRUE" ]; then
|
|
echo $libs $libsprivate
|
|
else
|
|
echo $libs
|
|
fi
|
|
;;
|
|
--static)
|
|
|
|
;;
|
|
|
|
--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
|