mirror of
https://github.com/Unidata/netcdf-c.git
synced 2024-11-21 03:13:42 +08:00
Add Wei-King Liao's ncvalidator program
Add Wei-King Liao's ncvalidator program (with his permission) as an uninstalled (for now) tool in the ncdump directory. It has in the past been useful for debugging netcdf-3 files.
This commit is contained in:
parent
a25236eac4
commit
403947e7f2
3
debug/cf
3
debug/cf
@ -34,6 +34,7 @@ CFLAGS="-Wall -Wno-unused-parameter -Wno-char-subscripts -Wno-pointer-sign ${CFL
|
||||
#CFLAGS="-Wconversion"
|
||||
|
||||
if test "x$MEM" = x1 ; then
|
||||
export NC_VLEN_NOTEST=1
|
||||
CFLAGS="-fsanitize=address ${CFLAGS}"
|
||||
fi
|
||||
|
||||
@ -118,7 +119,7 @@ FLAGS="$FLAGS --enable-extreme-numbers"
|
||||
#FLAGS="$FLAGS --disable-testsets"
|
||||
#FLAGS="$FLAGS --disable-dap-remote-tests"
|
||||
#FLAGS="$FLAGS --enable-dap-auth-tests" -- requires a new remotetest server
|
||||
#FLAGS="$FLAGS --enable-doxygen --enable-internal-docs"
|
||||
FLAGS="$FLAGS --enable-doxygen --enable-internal-docs"
|
||||
FLAGS="$FLAGS --enable-logging"
|
||||
#FLAGS="$FLAGS --disable-diskless"
|
||||
FLAGS="$FLAGS --enable-mmap"
|
||||
|
@ -6,6 +6,10 @@ DAP=1
|
||||
#CDF5=1
|
||||
#HDF4=1
|
||||
|
||||
TR=--trace
|
||||
|
||||
NCC="c:/tools/nccmake"
|
||||
|
||||
export SETX=1
|
||||
|
||||
for arg in "$@" ; do
|
||||
@ -13,6 +17,7 @@ case "$arg" in
|
||||
vs|VS) VS=1 ;;
|
||||
linux|nix|l|x) unset VS ;;
|
||||
nobuild|nb) NOBUILD=1 ;;
|
||||
notest|nt) NOTEST=1 ;;
|
||||
*) echo "Must specify env: vs|linux"; exit 1; ;;
|
||||
esac
|
||||
done
|
||||
@ -36,7 +41,7 @@ CFG="Release"
|
||||
fi
|
||||
|
||||
if test "x$VS" != x -a "x$INSTALL" != x ; then
|
||||
FLAGS="-DCMAKE_PREFIX_PATH=c:/tools/nccmake"
|
||||
FLAGS="-DCMAKE_PREFIX_PATH=${NCC}"
|
||||
fi
|
||||
FLAGS="$FLAGS -DCMAKE_INSTALL_PREFIX=/tmp/netcdf"
|
||||
|
||||
@ -45,6 +50,8 @@ FLAGS="$FLAGS -DENABLE_DAP=false"
|
||||
fi
|
||||
if test "x$NC4" = x ; then
|
||||
FLAGS="$FLAGS -DENABLE_NETCDF_4=false"
|
||||
else
|
||||
FLAGS="-DHDF5_C_LIBRARY=${NCC}/lib/hdf5 -DHDF5_HL_LIBRARY=${NCC}/lib/hdf5_hl -DHDF5_INCLUDE_DIR=${NCC}/include"
|
||||
fi
|
||||
if test "x$CDF5" != x ; then
|
||||
FLAGS="$FLAGS -DENABLE_CDF5=true"
|
||||
@ -69,6 +76,7 @@ FLAGS="$FLAGS -DENABLE_EXAMPLES=false"
|
||||
FLAGS="$FLAGS -DENABLE_CONVERSION_WARNINGS=false"
|
||||
#FLAGS="$FLAGS -DENABLE_TESTS=false"
|
||||
#FLAGS="$FLAGS -DENABLE_DISKLESS=false"
|
||||
FLAGS="$FLAGS -DBUILD_UTILITIES=true"
|
||||
|
||||
# Withs
|
||||
FLAGS="$FLAGS -DNCPROPERTIES_EXTRA=\"key1=value1|key2=value2\""
|
||||
@ -86,10 +94,12 @@ CFG="Release"
|
||||
NCLIB="${NCLIB}/liblib"
|
||||
export PATH="${NCLIB}:${PATH}"
|
||||
#G=
|
||||
cmake "$G" -DCMAKE_BUILD_TYPE=${CFG} $FLAGS ..
|
||||
cmake ${TR} "$G" -DCMAKE_BUILD_TYPE=${CFG} $FLAGS ..
|
||||
if test "x$NOBUILD" = x ; then
|
||||
cmake --build . --config ${CFG}
|
||||
cmake --build . --config ${CFG} --target RUN_TESTS
|
||||
cmake ${TR} --build . --config ${CFG} --target ZERO_CHECK
|
||||
if test "x$NOTEST" = x ; then
|
||||
cmake ${TR} --build . --config ${CFG} --target RUN_TESTS
|
||||
fi
|
||||
fi
|
||||
else
|
||||
# GCC
|
||||
|
@ -12,16 +12,18 @@ ENDIF()
|
||||
SET(ncdump_FILES ncdump.c vardata.c dumplib.c indent.c nctime0.c utils.c nciter.c)
|
||||
SET(nccopy_FILES nccopy.c nciter.c chunkspec.c utils.c dimmap.c list.c)
|
||||
SET(ocprint_FILES ocprint.c)
|
||||
SET(ncvalidator_FILES ncvalidator.c)
|
||||
|
||||
IF(USE_X_GETOPT)
|
||||
SET(ncdump_FILES ${ncdump_FILES} XGetopt.c)
|
||||
SET(nccopy_FILES ${nccopy_FILES} XGetopt.c)
|
||||
SET(ocprint_FILES ${ocprint_FILES} XGetopt.c)
|
||||
|
||||
SET(ncvalidator_FILES ${ncvalidator_FILES} XGetopt.c)
|
||||
ENDIF()
|
||||
|
||||
ADD_EXECUTABLE(ncdump ${ncdump_FILES})
|
||||
ADD_EXECUTABLE(nccopy ${nccopy_FILES})
|
||||
ADD_EXECUTABLE(ncvalidator ${ncvalidator_FILES})
|
||||
|
||||
IF(ENABLE_DAP)
|
||||
ADD_EXECUTABLE(ocprint ${ocprint_FILES})
|
||||
@ -29,6 +31,7 @@ ENDIF(ENABLE_DAP)
|
||||
|
||||
TARGET_LINK_LIBRARIES(ncdump netcdf ${ALL_TLL_LIBS})
|
||||
TARGET_LINK_LIBRARIES(nccopy netcdf ${ALL_TLL_LIBS})
|
||||
TARGET_LINK_LIBRARIES(ncvalidator netcdf ${ALL_TLL_LIBS})
|
||||
|
||||
IF(ENABLE_DAP)
|
||||
TARGET_LINK_LIBRARIES(ocprint netcdf ${ALL_TLL_LIBS})
|
||||
@ -55,6 +58,13 @@ IF(MSVC)
|
||||
SET_TARGET_PROPERTIES(nccopy PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE
|
||||
${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
SET_TARGET_PROPERTIES(ncvalidator PROPERTIES RUNTIME_OUTPUT_DIRECTORY
|
||||
${CMAKE_CURRENT_BINARY_DIR})
|
||||
SET_TARGET_PROPERTIES(ncvalidator PROPERTIES RUNTIME_OUTPUT_DIRECTORY_DEBUG
|
||||
${CMAKE_CURRENT_BINARY_DIR})
|
||||
SET_TARGET_PROPERTIES(ncvalidator PROPERTIES RUNTIME_OUTPUT_DIRECTORY_RELEASE
|
||||
${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
IF(ENABLE_DAP)
|
||||
SET_TARGET_PROPERTIES(ocprint PROPERTIES RUNTIME_OUTPUT_DIRECTORY
|
||||
${CMAKE_CURRENT_BINARY_DIR})
|
||||
@ -265,6 +275,9 @@ IF(MSVC)
|
||||
SET_TARGET_PROPERTIES(nccopy
|
||||
PROPERTIES LINK_FLAGS_DEBUG " /NODEFAULTLIB:MSVCRT"
|
||||
)
|
||||
SET_TARGET_PROPERTIES(ncvalidator
|
||||
PROPERTIES LINK_FLAGS_DEBUG " /NODEFAULTLIB:MSVCRT"
|
||||
)
|
||||
|
||||
IF(ENABLE_DAP)
|
||||
SET_TARGET_PROPERTIES(ocprint
|
||||
|
@ -29,6 +29,14 @@ bin_PROGRAMS += nccopy
|
||||
nccopy_SOURCES = nccopy.c nciter.c nciter.h chunkspec.h chunkspec.c \
|
||||
utils.h utils.c dimmap.h dimmap.c list.c list.h
|
||||
|
||||
# Wei-keng Liao's (wkliao@eecs.northwestern.edu)
|
||||
# netcdf-3 validator program
|
||||
# (https://github.com/Parallel-NetCDF/PnetCDF/blob/master/src/utils/ncvalidator/ncvalidator.c)
|
||||
# that prints out the structure of a netcdf-3 file.
|
||||
# This program is built but not installed.
|
||||
noinst_PROGRAMS += ncvalidator
|
||||
ncvalidator_SOURCES = ncvalidator.c
|
||||
|
||||
# A simple netcdf-4 metadata -> xml printer. Do not install.
|
||||
if USE_HDF5
|
||||
noinst_PROGRAMS += nc4print
|
||||
|
@ -19,6 +19,7 @@ Research/Unidata. See \ref copyright file for more info. */
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#define snprintf _snprintf
|
||||
#include "XGetopt.h"
|
||||
int opterr;
|
||||
int optind;
|
||||
|
2412
ncdump/ncvalidator.c
Normal file
2412
ncdump/ncvalidator.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user