netcdf-c/cf
dmh 582410a407 [NCF-273]/HZY-708311
Add a new function called nc_inq_format_extended that
returns more detailed format information (vis-a-vis
nc_inq_format) about an open dataset.

Note that the netcdf API will present the file as if it had
the format specified by nc_inq_format.  The true file
format, however, may not even be a netcdf file; it might be
DAP, HDF4, or PNETCDF, for example. This function returns
that true file type.  It also returns the effective mode for
the file.

signature: nc_inq_format_extended(int ncid, int* formatp, int* modep)
where
* ncid is the NetCDF ID from a previous call to nc_open() or
  nc_create().
* formatp is a pointer to a location for returned true format.
* modep is a pointer to a location for returned mode flags.

Refer to the actual list in the file netcdf.h to see the
currently defined set.

Also added test cases (tst_formatx*).
2013-12-22 12:53:20 -07:00

221 lines
4.2 KiB
Bash

#!/bin/bash
#X="-x"
#NB=1
if test $# != 0 ; then
cmds=$@
fi
HDF5=1
DAP=1
HDF4=1
#PNETCDF=1
#RPC=1
#PGI=1
#M32=1
#M64=1
#INSTALL=1
PREFIX=/usr/local
if test "x$cmds" = x ; then
cmds=""
#cmds="all"
#cmds="all check"
#cmds="all dist"
#cmds="all distcheck"
#cmds="$cmds install"
fi
# HDF4=>HDF5
if test "x$HDF4" = x1 ; then
HDF5=1
fi
# Test pgi compiler
if test "x$PGI" = x1 ; then
PATH="/opt/pgi/linux86/11.1/bin:$PATH"
CC=pgcc
else
CC=gcc
fi
# Default cases
if test -f "/share/ed/local/${HOST}" ; then
stddir="/share/ed/local/${HOST}"
else
stddir="/usr/local"
fi
#stddir="/machine/local_szlib"
stddir="/usr/local"
if test "x$INSTALL" = "x1" ; then
if test "x$PREFIX" = x ; then
PREFIX="$stddir/${HOST}"
fi
else
PREFIX="/tmp/local/${HOST}"
fi
MALLOC_CHECK=""
CPPFLAGS=""
LDFLAGS=""
if test "x$PGI" = x1 ; then
CFLAGS="-Msignextend -V -m64 $CFLAGS"
CPPFLAGS="$CPPFLAGS -DNDEBUG -DpgiFortran"
LD_LIBRARY_PATH="/usr/local/pgi/linux86-64/11.1/lib:$LD_LIBRARY_PATH"
PREFIX=/tmp/install/pgi
fi
if test x$M32 = x1 ; then
PREFIX="/tmp/install32/${HOST}"
stddir="/share/ed/local/${HOST}_32"
CFLAGS="-m32 $CFLAGS"
elif test x$M64 = x1 ; then
PREFIX="/tmp/install64/${HOST}"
stddir="/share/ed/local/${HOST}_64"
CFLAGS="-m64 $CFLAGS"
fi
if test "x$HOST" = xyakov ; then
stddir="/opt/local"
fi
CFLAGS="-g -O0 $CFLAGS"
case "$HOST" in
mort)
CFLAGS="-std=c99 $CFLAGS"
;;
yakov)
CFLAGS="-std=c99 $CFLAGS"
;;
spock)
if test "x$PGI" = x ; then
CFLAGS="-Wdeclaration-after-statement -Wall $CFLAGS"
fi
;;
spike)
CFLAGS="-Wall $CFLAGS"
;;
*)
;;
esac
MAKE=make
IGNORE="test 0 = 1"
if test "x$HDF5" = "x1" ; then
CPPFLAGS="-I${stddir}/include $CPPFLAGS"
LDFLAGS="-L${stddir}/lib -lhdf5_hl -lhdf5 -lz $LDFLAGS"
LD_LIBRARY_PATH="${stddir}/lib:$LD_LIBRARY_PATH"
fi
if test "x$HDF4" = "x1" ; then
LDFLAGS="$LDFLAGS -ljpeg"
fi
if test "x$DAP" = "x1" -o "x$CDMR" = "x1" -o "x$RPC" = "x1" ; then
if curl-config --version >/dev/null ; then
TMP=`curl-config --cflags`
CPPFLAGS="$TMP $CPPFLAGS"
TMP=`curl-config --libs`
LDFLAGS="$TMP $LDFLAGS"
TMP=`curl-config --prefix`
LD_LIBRARY_PATH="$TMP/lib:$LD_LIBRARY_PATH"
else
echo "Cannot find curl-config"
exit 1
fi
fi
CXXFLAGS="$CPPFLAGS $CXXFLAGS"
if test -z "$NB" ; then
${MAKE} maintainer-clean >/dev/null 2>&1
if autoreconf -i --force ; then ok=1; else exit ; fi
fi
FLAGS="--prefix ${PREFIX}"
#FLAGS="$FLAGS --disable-f77 --disable-f90"
#FLAGS="$FLAGS --disable-cxx"
FLAGS="$FLAGS --disable-examples"
#FLAGS="$FLAGS --disable-utilities"
#FLAGS="$FLAGS --enable-cxx-4"
#FLAGS="$FLAGS --enable-dap-long-tests"
#FLAGS="$FLAGS --enable-ffio"
#FLAGS="$FLAGS --enable-benchmarks"
#FLAGS="$FLAGS --enable-extra-tests"
#FLAGS="$FLAGS --enable-large-file-tests"
#FLAGS="$FLAGS --disable-testsets"
#FLAGS="$FLAGS --disable-dap-remote-tests"
#FLAGS="$FLAGS --enable-doxygen"
#FLAGS="$FLAGS --enable-logging"
#FLAGS="$FLAGS --disable-diskless"
#FLAGS="$FLAGS --enable-mmap"
#FLAGS="$FLAGS --with-udunits"
#FLAGS="$FLAGS --with-libcf"
#valgrind => not shared
#FLAGS="$FLAGS --enable-valgrind-tests"
FLAGS="$FLAGS --disable-shared"
#FLAGS="$FLAGS --enable-shared"
if test "x$HDF5" = "x" ; then
FLAGS="$FLAGS --disable-netcdf-4"
fi
if test "x$HDF4" = x1 ; then
FLAGS="$FLAGS --enable-hdf4 --enable-hdf4-file-tests"
fi
if test "x$DAP" = "x" ; then
FLAGS="$FLAGS --disable-dap"
fi
if test "x$CDMR" = "x1" ; then
FLAGS="$FLAGS --enable-cdmremote"
fi
if test "x$RPC" = "x1" ; then
FLAGS="$FLAGS --enable-rpc"
fi
if test "x$PNETCDF" = x1 ; then
if test -f /machine/local_mpich2 ; then
MPI1=/machine/local_mpich2
MPI2=/machine/local_par7
MPI3=/machine/local_par
else
MPI1=/usr/local
MPI2=${MPI1}
MPI3=${MPI1}
fi
PATH=${PATH}:${MPI1}/bin
CC="${MPI1}/bin/mpicc"
CPPFLAGS="-I${MPI2}/include -I${MPI1}/include -I${MPI3}/include"
LDFLAGS="-L${MPI2}/lib -L${MPI1}/lib -L${MPI3}/lib"
LDLIBS="-lmpich -lmpl"
FLAGS="$FLAGS --enable-pnetcdf"
FLAGS="$FLAGS --enable-parallel-tests"
fi
export PATH
export CC
export CPPFLAGS
export CFLAGS
export LDFLAGS
export LD_LIBRARY_PATH
export MALLOC_CHECK
export CXXFLAGS
DISTCHECK_CONFIGURE_FLAGS="$FLAGS"
export DISTCHECK_CONFIGURE_FLAGS
if test -f Makefile ; then ${MAKE} distclean >/dev/null 2>&1 ; fi
sh $X ./configure ${FLAGS}
for c in $cmds; do
${MAKE} $c
done
exit 0