Skip to content
Commits on Source (7)
......@@ -12,21 +12,21 @@ services:
env:
matrix:
# Ubuntu
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-fsigned-char --disable-netcdf-4 --disable-dap-remote-tests --enable-cdf5' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-signed TESTFILTER=FALSE
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc CFLAGS='-fsigned-char' AC_COPTS='--disable-netcdf-4 --disable-dap-remote-tests --enable-cdf5 --enable-byterange' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE -DENABLE_BYTERANGE=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-signed TESTFILTER=FALSE
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-fsigned-char --disable-netcdf-4 --disable-dap-remote-tests' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-signed TESTFILTER=FALSE
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc CFLAGS='-fsigned-char' AC_COPTS='--disable-netcdf-4 --disable-dap-remote-tests' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-signed TESTFILTER=FALSE
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-funsigned-char --disable-netcdf-4 --disable-dap-remote-tests --enable-cdf5' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-unsigned TESTFILTER=FALSE
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc CFLAGS='-funsigned-char' AC_COPTS='--disable-netcdf-4 --disable-dap-remote-tests --enable-cdf5' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-unsigned TESTFILTER=FALSE
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-funsigned-char --disable-netcdf-4 --disable-dap-remote-tests' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-unsigned TESTFILTER=FALSE
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc CFLAGS='-funsigned-char' AC_COPTS='--disable-netcdf-4 --disable-dap-remote-tests' COPTS='-DENABLE_NETCDF_4=OFF -DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-unsigned TESTFILTER=FALSE
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-fsigned-char --disable-dap-remote-tests --enable-cdf5' COPTS='-DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-signed TESTFILTER=TRUE
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc CFLAGS='-fsigned-char' AC_COPTS='--disable-dap-remote-tests --enable-cdf5' COPTS='-DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-signed TESTFILTER=TRUE
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-fsigned-char --disable-dap-remote-tests' COPTS='-DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-signed TESTFILTER=TRUE
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc CFLAGS='-fsigned-char' AC_COPTS='--disable-dap-remote-tests' COPTS='-DCMAKE_C_FLAGS=-fsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-signed TESTFILTER=TRUE
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-funsigned-char --disable-dap-remote-tests --enable-cdf5' COPTS='-DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-unsigned TESTFILTER=TRUE
- DOCKIMG=unidata/nctests:serial USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc CFLAGS='-funsigned-char' AC_COPTS='--disable-dap-remote-tests --enable-cdf5' COPTS='-DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=TRUE' USECP=FALSE CURHOST=docker-gcc-x64-unsigned TESTFILTER=TRUE
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='CFLAGS=-funsigned-char --disable-dap-remote-tests' COPTS='-DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-unsigned TESTFILTER=TRUE
- DOCKIMG=unidata/nctests:serial32 USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc CFLAGS='-funsigned-char' AC_COPTS='--disable-dap-remote-tests' COPTS='-DCMAKE_C_FLAGS=-funsigned-char -DENABLE_DAP_REMOTE_TESTS=OFF -DENABLE_CDF5=OFF' USECP=FALSE CURHOST=docker-gcc-x86-unsigned TESTFILTER=TRUE
# Centos, Fedora
- DOCKIMG=unidata/nctests:serial.centos USECMAKE=TRUE USEAC=TRUE DISTCHECK=TRUE USE_CC=gcc AC_COPTS='--disable-dap-remote-tests' COPTS='-DENABLE_DAP_REMOTE_TESTS=OFF' USECP=TRUE CURHOST=docker-gcc-x64-centos TESTFILTER=TRUE
......@@ -37,4 +37,4 @@ before_install:
script:
- docker run --privileged --rm -it -h "$CURHOST" -e USEDASH=FALSE -e RUNF=OFF -e RUNCXX=OFF -e RUNP=OFF -e RUNNCO=OFF -e USECMAKE=$USECMAKE -e USEAC=$USEAC -e DISTCHECK=$DISTCHECK -e COPTS="$COPTS" -e AC_OPTS="$AC_OPTS" -e CTEST_OUTPUT_ON_FAILURE=1 -v $(pwd):/netcdf-c -e USE_LOCAL_CP=$USECP -e TESTPROC=100 -e ENABLE_FILTER_TESTING=$TESTFILTER -e ENABLE_C_MEMCHECK=OFF $DOCKIMG
- docker run --privileged --rm -it -h "$CURHOST" -e USEDASH=FALSE -e RUNF=OFF -e RUNCXX=OFF -e RUNP=OFF -e RUNNCO=OFF -e USECMAKE=$USECMAKE -e USEAC=$USEAC -e DISTCHECK=$DISTCHECK -e COPTS="$COPTS" -e AC_OPTS="$AC_OPTS" -e CTEST_OUTPUT_ON_FAILURE=1 -v $(pwd):/netcdf-c -e USE_LOCAL_CP=$USECP -e USE_CC=$USE_CC -e TESTPROC=100 -e ENABLE_FILTER_TESTING=$TESTFILTER -e ENABLE_C_MEMCHECK=OFF -e CFLAGS="$CFLAGS" $DOCKIMG
......@@ -26,7 +26,7 @@ set(PACKAGE "netCDF" CACHE STRING "")
SET(NC_VERSION_MAJOR 4)
SET(NC_VERSION_MINOR 7)
SET(NC_VERSION_PATCH 0)
SET(NC_VERSION_PATCH 1)
SET(NC_VERSION_NOTE "")
SET(netCDF_VERSION ${NC_VERSION_MAJOR}.${NC_VERSION_MINOR}.${NC_VERSION_PATCH}${NC_VERSION_NOTE})
SET(VERSION ${netCDF_VERSION})
......@@ -735,10 +735,10 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4)
ENDIF()
ENDIF()
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5Pset_libver_bounds "" HDF5_HAS_LIBVER_BOUNDS)
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5free_memory "" HDF5_HAS_H5FREE)
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5allocate_memory "" HDF5_HAS_ALLOCATE_MEMORY)
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5resize_memory "" HDF5_HAS_RESIZE_MEMORY)
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5Pset_libver_bounds "" HAVE_H5PSET_LIBVER_BOUNDS)
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5free_memory "" HAVE_H5FREE_MEMORY)
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5allocate_memory "" HAVE_H5ALLOCATE_MEMORY)
CHECK_LIBRARY_EXISTS(${HDF5_C_LIBRARY_hdf5} H5resize_memory "" HAVE_H5RESIZE_MEMORY)
IF(HDF5_PARALLEL)
SET(HDF5_CC h5pcc)
......@@ -765,69 +765,65 @@ IF(USE_HDF5 OR ENABLE_NETCDF_4)
ENDIF(USE_HDF5 OR ENABLE_NETCDF_4)
# See if we have libcurl
FIND_PACKAGE(CURL)
ADD_DEFINITIONS(-DCURL_STATICLIB=1)
INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS})
# Check to see if CURLOPT_USERNAME is defined.
# It is present starting version 7.19.1.
CHECK_C_SOURCE_COMPILES("
#include <curl/curl.h>
int main() {int x = CURLOPT_USERNAME;}" HAVE_CURLOPT_USERNAME)
# Check to see if CURLOPT_PASSWORD is defined.
# It is present starting version 7.19.1.
CHECK_C_SOURCE_COMPILES("
#include <curl/curl.h>
int main() {int x = CURLOPT_PASSWORD;}" HAVE_CURLOPT_PASSWORD)
# Check to see if CURLOPT_KEYPASSWD is defined.
# It is present starting version 7.16.4.
CHECK_C_SOURCE_COMPILES("
#include <curl/curl.h>
int main() {int x = CURLOPT_KEYPASSWD;}" HAVE_CURLOPT_KEYPASSWD)
# Check to see if CURLINFO_RESPONSE_CODE is defined.
# It showed up in curl 7.10.7.
CHECK_C_SOURCE_COMPILES("
#include <curl/curl.h>
int main() {int x = CURLINFO_RESPONSE_CODE;}" HAVE_CURLINFO_RESPONSE_CODE)
# Check to see if CURLINFO_HTTP_CONNECTCODE is defined.
# It showed up in curl 7.10.7.
CHECK_C_SOURCE_COMPILES("
#include <curl/curl.h>
int main() {int x = CURLINFO_HTTP_CONNECTCODE;}" HAVE_CURLINFO_HTTP_CONNECTCODE)
# Check to see if CURLOPT_BUFFERSIZE is defined.
# It is present starting version 7.59
CHECK_C_SOURCE_COMPILES("
#include <curl/curl.h>
int main() {int x = CURLOPT_BUFFERSIZE;}" HAVE_CURLOPT_BUFFERSIZE)
# Check to see if CURLOPT_TCP_KEEPALIVE is defined.
# It is present starting version 7.25
CHECK_C_SOURCE_COMPILES("
#include <curl/curl.h>
int main() {int x = CURLOPT_TCP_KEEPALIVE;}" HAVE_CURLOPT_KEEPALIVE)
# Option to Build DAP2+DAP4 Clients
OPTION(ENABLE_DAP "Enable DAP2 and DAP4 Client." ON)
IF(ENABLE_DAP)
SET(USE_DAP ON CACHE BOOL "")
SET(ENABLE_DAP2 ON CACHE BOOL "")
IF(ENABLE_NETCDF_4)
SET(ENABLE_DAP4 ON CACHE BOOL "")
ELSE(ENABLE_NETCDF_4)
SET(ENABLE_DAP4 OFF CACHE BOOL "")
ENDIF(ENABLE_NETCDF_4)
FIND_PACKAGE(CURL)
IF(NOT CURL_LIBRARY)
MESSAGE(FATAL_ERROR "DAP Support specified, CURL libraries are not found.")
ENDIF()
ADD_DEFINITIONS(-DCURL_STATICLIB=1)
INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIRS})
# Check to see if CURLOPT_USERNAME is defined.
# It is present starting version 7.19.1.
CHECK_C_SOURCE_COMPILES("
#include <curl/curl.h>
int main() {int x = CURLOPT_USERNAME;}" HAVE_CURLOPT_USERNAME)
# Check to see if CURLOPT_PASSWORD is defined.
# It is present starting version 7.19.1.
CHECK_C_SOURCE_COMPILES("
#include <curl/curl.h>
int main() {int x = CURLOPT_PASSWORD;}" HAVE_CURLOPT_PASSWORD)
# Check to see if CURLOPT_KEYPASSWD is defined.
# It is present starting version 7.16.4.
CHECK_C_SOURCE_COMPILES("
#include <curl/curl.h>
int main() {int x = CURLOPT_KEYPASSWD;}" HAVE_CURLOPT_KEYPASSWD)
# Check to see if CURLINFO_RESPONSE_CODE is defined.
# It showed up in curl 7.10.7.
CHECK_C_SOURCE_COMPILES("
#include <curl/curl.h>
int main() {int x = CURLINFO_RESPONSE_CODE;}" HAVE_CURLINFO_RESPONSE_CODE)
# Check to see if CURLINFO_HTTP_CONNECTCODE is defined.
# It showed up in curl 7.10.7.
CHECK_C_SOURCE_COMPILES("
#include <curl/curl.h>
int main() {int x = CURLINFO_HTTP_CONNECTCODE;}" HAVE_CURLINFO_HTTP_CONNECTCODE)
# Check to see if CURLOPT_BUFFERSIZE is defined.
# It is present starting version 7.59
CHECK_C_SOURCE_COMPILES("
#include <curl/curl.h>
int main() {int x = CURLOPT_BUFFERSIZE;}" HAVE_CURLOPT_BUFFERSIZE)
# Check to see if CURLOPT_TCP_KEEPALIVE is defined.
# It is present starting version 7.25
CHECK_C_SOURCE_COMPILES("
#include <curl/curl.h>
int main() {int x = CURLOPT_TCP_KEEPALIVE;}" HAVE_CURLOPT_KEEPALIVE)
ELSE()
SET(ENABLE_DAP2 OFF)
SET(ENABLE_DAP4 OFF)
......@@ -835,13 +831,14 @@ ENDIF()
# Option to support byte-range reading of remote datasets
OPTION(ENABLE_BYTERANGE "Enable byte-range access to remote datasets.." OFF)
IF(ENABLE_BYTERANGE)
FIND_PACKAGE(CURL)
IF(NOT CURL_LIBRARY)
IF(NOT CURL_LIBRARY)
IF(ENABLE_BYTERANGE)
MESSAGE(FATAL_ERROR "Byte-range support specified, CURL libraries are not found.")
SET(ENABLE_BYTERANGE OFF BOOL)
ELSE()
SET(ENABLE_BYTERANGE ON BOOL)
ENDIF()
IF(ENABLE_DAP2 OR ENABLE_DAP4)
MESSAGE(FATAL_ERROR "DAP support specified, CURL libraries are not found.")
ENDIF()
ENDIF()
......@@ -938,6 +935,13 @@ IF(ENABLE_TESTS)
OPTION(ENABLE_FAILING_TESTS "Run tests which are known to fail, check to see if any have been fixed." OFF)
###
# Option to turn on unit testing. See https://github.com/Unidata/netcdf-c/pull/1472 for more information.
# Currently (August 21, 2019): Will not work with Visual Studio
###
IF(NOT MSVC)
OPTION(ENABLE_UNIT_TESTS "Run Unit Tests." ON)
ENDIF(NOT MSVC)
###
# End known-failures.
###
......@@ -1008,15 +1012,9 @@ IF(ENABLE_PARALLEL4 AND ENABLE_NETCDF_4)
SET(STATUS_PARALLEL "ON")
configure_file("${netCDF_SOURCE_DIR}/nc_test4/run_par_test.sh.in"
"${netCDF_BINARY_DIR}/tmp/run_par_test.sh" @ONLY NEWLINE_STYLE LF)
#configure_file("${netCDF_SOURCE_DIR}/nc_test4/run_par_test2.sh.in"
# "${netCDF_BINARY_DIR}/tmp/run_par_test2.sh" @ONLY NEWLINE_STYLE LF)
FILE(COPY "${netCDF_BINARY_DIR}/tmp/run_par_test.sh"
DESTINATION ${netCDF_BINARY_DIR}/nc_test4
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
#FILE(COPY "${netCDF_BINARY_DIR}/tmp/run_par_test2.sh"
# DESTINATION ${netCDF_BINARY_DIR}/nc_test4
# FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
ENDIF()
ENDIF()
......@@ -1421,16 +1419,21 @@ CHECK_FUNCTION_EXISTS(mremap HAVE_MREMAP)
CHECK_FUNCTION_EXISTS(fileno HAVE_FILENO)
# Check to see if MAP_ANONYMOUS is defined.
IF(MSVC)
MESSAGE(WARNING "mmap not supported under visual studio: disabling MMAP support.")
SET(ENABLE_MMAP OFF)
ELSE()
CHECK_C_SOURCE_COMPILES("
#include <sys/mmap.h>
#include <sys/mman.h>
int main() {int x = MAP_ANONYMOUS;}" HAVE_MAPANON)
IF(NOT HAVE_MMMAP OR NOT HAVE_MREMAP OR NOT HAVE_MAPANON)
MESSAGE(WARNING "mmap or mremap or MAP_ANONYMOUS not found: disabling MMAP support.")
IF(NOT HAVE_MMAP OR NOT HAVE_MAPANON)
MESSAGE(WARNING "mmap or MAP_ANONYMOUS not found: disabling MMAP support.")
SET(ENABLE_MMAP OFF)
ENDIF()
ENDIF()
IF(ENABLE_MMAP)
# Aliases
SET(BUILD_MMAP ON)
SET(USE_MMAP ON)
ENDIF(ENABLE_MMAP)
......@@ -1625,6 +1628,7 @@ MACRO(print_conf_summary)
MESSAGE(STATUS "Parallel Tests: ${ENABLE_PARALLEL_TESTS}")
MESSAGE(STATUS "Large File Tests: ${ENABLE_LARGE_FILE_TESTS}")
MESSAGE(STATUS "Extreme Numbers: ${ENABLE_EXTREME_NUMBERS}")
MESSAGE(STATUS "Unit Tests: ${ENABLE_UNIT_TESTS}")
ENDIF()
MESSAGE("")
......@@ -1798,6 +1802,9 @@ IF(ENABLE_TESTS)
IF(ENABLE_EXAMPLES)
ADD_SUBDIRECTORY(examples)
ENDIF()
IF(ENABLE_UNIT_TESTS)
ADD_SUBDIRECTORY(unit_test)
ENDIF(ENABLE_UNIT_TESTS)
ENDIF()
# Code to generate an export header
......
......@@ -4,7 +4,7 @@ Getting and Building netCDF {#getting_and_building_netcdf}
[TOC]
This document is for getting and building the netCDF C library and
utilities, version 4.3.0. Other libraries that depend on the netCDF C
utilities, version 4.7.1 and later. Other libraries that depend on the netCDF C
library, such as the Fortran and C++ libraries, are available as
separate distributions that can be built and installed after the C
library is successfully installed. The netCDF-Java library is also a
......@@ -84,6 +84,10 @@ Requirements {#netcdf_requirements}
* zlib 1.2.5
* curl 7.18.0 (DAP support)
> Note: If you are working with a development version of the source code, you will need to generate the `configure` script by running the following command from the top-level `netcdf-c/` directory:
> **$ autoreconf -if**
CMake and Windows support {#sub}
--------------------------------
......
......@@ -21,6 +21,11 @@ test-driver-verbose test_common.in
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = netcdf.pc
# Does the user want to build and run unit tests?
if BUILD_UNIT_TESTS
UNIT_TEST = unit_test
endif # BUILD_UNIT_TESTS
# Does the user want to build the V2 API?
if BUILD_V2
V2_TEST = nctest
......@@ -85,8 +90,8 @@ endif # BUILD_BENCHMARKS
# Define Test directories
if BUILD_TESTSETS
TESTDIRS = $(V2_TEST) nc_test $(NC_TEST4) $(BENCHMARKS_DIR) \
$(HDF4_TEST_DIR) $(NCDAP2TESTDIR) $(NCDAP4TESTDIR)
TESTDIRS = $(UNIT_TEST) $(V2_TEST) nc_test $(NC_TEST4) \
$(BENCHMARKS_DIR) $(HDF4_TEST_DIR) $(NCDAP2TESTDIR) $(NCDAP4TESTDIR)
endif
# This is the list of subdirs for which Makefiles will be constructed
......
......@@ -208,8 +208,8 @@ CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = include h5_test libdispatch libsrc libsrc4 libsrcp \
libhdf4 libhdf5 oc2 libdap2 libdap4 liblib ncgen3 ncgen ncdump \
plugins nctest nc_test nc_test4 nc_perf hdf4_test ncdap_test \
dap4_test docs examples
plugins unit_test nctest nc_test nc_test4 nc_perf hdf4_test \
ncdap_test dap4_test docs examples
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(srcdir)/libnetcdf.settings.in $(srcdir)/nc-config.in \
$(srcdir)/netcdf.pc.in $(srcdir)/postinstall.sh.in \
......@@ -468,6 +468,9 @@ test-driver-verbose test_common.in
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = netcdf.pc
# Does the user want to build and run unit tests?
@BUILD_UNIT_TESTS_TRUE@UNIT_TEST = unit_test
# Does the user want to build the V2 API?
@BUILD_V2_TRUE@V2_TEST = nctest
......@@ -508,8 +511,8 @@ pkgconfig_DATA = netcdf.pc
@BUILD_BENCHMARKS_TRUE@BENCHMARKS_DIR = nc_perf
# Define Test directories
@BUILD_TESTSETS_TRUE@TESTDIRS = $(V2_TEST) nc_test $(NC_TEST4) $(BENCHMARKS_DIR) \
@BUILD_TESTSETS_TRUE@$(HDF4_TEST_DIR) $(NCDAP2TESTDIR) $(NCDAP4TESTDIR)
@BUILD_TESTSETS_TRUE@TESTDIRS = $(UNIT_TEST) $(V2_TEST) nc_test $(NC_TEST4) \
@BUILD_TESTSETS_TRUE@$(BENCHMARKS_DIR) $(HDF4_TEST_DIR) $(NCDAP2TESTDIR) $(NCDAP4TESTDIR)
# This is the list of subdirs for which Makefiles will be constructed
......
......@@ -5,7 +5,33 @@ Release Notes {#RELEASE_NOTES}
This file contains a high-level description of this package's evolution. Releases are in reverse chronological order (most recent first). Note that, as of netcdf 4.2, the `netcdf-c++` and `netcdf-fortran` libraries have been separated into their own libraries.
## 4.7.1 - TBD
## 4.7.2 - TBD
## 4.7.1 - August 27, 2019
* [Enhancement] Added unit_test directory, which contains unit tests
for the libdispatch and libsrc4 code (and any other directories that
want to put unit tests there). Use --disable-unit-tests to run without
unit tests (ex. for code coverage analysis).
See [GitHub #1458](https://github.com/Unidata/netcdf-c/issues/1458)
* [Bug Fix] Remove obsolete _CRAYMPP and LOCKNUMREC macros from
code. Also brought documentation up to date in man page. These macros
were used in ancient times, before modern parallel I/O systems were
developed. Programmers interested in parallel I/O should see
nc_open_par() and nc_create_par().
See [GitHub #1459](https://github.com/Unidata/netcdf-c/issues/1459)
* [Enhancement] Remove obsolete and deprecated functions
nc_set_base_pe() and nc_inq_base_pe() from the dispatch table. (Both
functions are still supported in the library, this is an internal
change only.)
See [GitHub #1468](https://github.com/Unidata/netcdf-c/issues/1468)
* [Bug Fix] Reverted nccopy behavior so that if no -c parameters
are given, then any default chunking is left to the netcdf-c library
to decide.
See [GitHub #1436](https://github.com/Unidata/netcdf-c/issues/1436)
## 4.7.0 - April 29, 2019
......
......@@ -36,7 +36,7 @@ build: off
build_script:
- cmd: mkdir build
- cmd: cd build
- cmd: cmake .. -G "%CMAKE_GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%INSTALL_LOC% -DENABLE_BASH_SCRIPT_TESTING=OFF -DENABLE_FILTER_TESTING=OFF
- cmd: cmake .. -G "%CMAKE_GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%INSTALL_LOC% -DENABLE_BASH_SCRIPT_TESTING=OFF -DENABLE_FILTER_TESTING=OFF -DENABLE_BYTERANGE=ON
- cmd: if errorlevel 1 exit 1
- cmd: cmake --build . --config Release -- /maxcpucount:4
......
......@@ -218,7 +218,7 @@ are set when opening a binary file on Windows. */
#cmakedefine HAVE_GETTIMEOFDAY 1
/* if true, netcdf4 file properties will be set using H5Pset_libver_bounds */
#cmakedefine HDF5_HAS_LIBVER_BOUNDS 1
#cmakedefine HAVE_H5PSET_LIBVER_BOUNDS 1
/* Define to 1 if you have the `H5Z_SZIP' function. */
#cmakedefine HAVE_H5Z_SZIP 1
......@@ -370,13 +370,13 @@ are set when opening a binary file on Windows. */
/* if true, H5free_memory() will be used to free hdf5-allocated memory in
nc4file. */
#cmakedefine HDF5_HAS_H5FREE 1
#cmakedefine HAVE_H5FREE_MEMORY 1
/* if true, H5allocate_memory() will be used. */
#cmakedefine HDF5_HAS_ALLOCATE_MEMORY 1
#cmakedefine HAVE_H5ALLOCATE_MEMORY 1
/* if true, H5resize_memory() will be used. */
#cmakedefine HDF5_HAS_RESIZE_MEMORY 1
#cmakedefine HAVE_H5RESIZE_MEMORY 1
/* if true, hdf5 has parallelism enabled */
#cmakedefine HDF5_PARALLEL 1
......
......@@ -96,6 +96,9 @@
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the `fileno' function. */
#undef HAVE_FILENO
/* Define to 1 if you have the `fsync' function. */
#undef HAVE_FSYNC
......@@ -231,6 +234,9 @@
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define to 1 if you have the `strdup' function. */
#undef HAVE_STRDUP
......@@ -295,22 +301,9 @@
/* Define to 1 if the system has the type `ushort'. */
#undef HAVE_USHORT
/* if true, H5allocate_memory() will be used. */
#undef HDF5_HAS_ALLOCATE_MEMORY
/* if true, use collective metadata ops in parallel netCDF-4 */
#undef HDF5_HAS_COLL_METADATA_OPS
/* if true, H5free_memory() will be used to free hdf5-allocated memory in
nc4file. */
#undef HDF5_HAS_H5FREE
/* if true, netcdf4 file properties will be set using H5Pset_libver_bounds */
#undef HDF5_HAS_LIBVER_BOUNDS
/* if true, H5resize_memory() will be used. */
#undef HDF5_HAS_resize_MEMORY
/* if true, hdf5 has parallelism enabled */
#undef HDF5_PARALLEL
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for netCDF 4.7.0.
# Generated by GNU Autoconf 2.69 for netCDF 4.7.1.
#
# Report bugs to <support-netcdf@unidata.ucar.edu>.
#
......@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='netCDF'
PACKAGE_TARNAME='netcdf-c'
PACKAGE_VERSION='4.7.0'
PACKAGE_STRING='netCDF 4.7.0'
PACKAGE_VERSION='4.7.1'
PACKAGE_STRING='netCDF 4.7.1'
PACKAGE_BUGREPORT='support-netcdf@unidata.ucar.edu'
PACKAGE_URL=''
 
......@@ -806,6 +806,8 @@ LDFLAGS
CFLAGS
CC
MPIEXEC
BUILD_UNIT_TESTS_FALSE
BUILD_UNIT_TESTS_TRUE
ENABLED_DOC_SECTIONS
BUILD_INTERNAL_DOCS
NC_ENABLE_DOXYGEN_PDF_OUTPUT
......@@ -940,6 +942,7 @@ enable_dot
enable_internal_docs
enable_fsync
enable_jna
enable_unit_tests
enable_netcdf_4
enable_netcdf4
enable_hdf5
......@@ -1547,7 +1550,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures netCDF 4.7.0 to adapt to many kinds of systems.
\`configure' configures netCDF 4.7.1 to adapt to many kinds of systems.
 
Usage: $0 [OPTION]... [VAR=VALUE]...
 
......@@ -1618,7 +1621,7 @@ fi
 
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of netCDF 4.7.0:";;
short | recursive ) echo "Configuration of netCDF 4.7.1:";;
esac
cat <<\_ACEOF
 
......@@ -1655,6 +1658,8 @@ Optional Features:
library.
--enable-fsync enable fsync support
--enable-jna enable jna bug workaround
--disable-unit-tests Disable tests in unit_test directory. Other tests
still run.
--disable-netcdf-4 do not build with netcdf-4 (else HDF5 and zlib
required)
--disable-netcdf4 (just a synonym for --disable-netcdf-4)
......@@ -1868,7 +1873,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
netCDF configure 4.7.0
netCDF configure 4.7.1
generated by GNU Autoconf 2.69
 
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -2577,7 +2582,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
 
It was created by netCDF $as_me 4.7.0, which was
It was created by netCDF $as_me 4.7.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
$ $0 $@
......@@ -2935,7 +2940,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
NC_VERSION_MAJOR=4
NC_VERSION_MINOR=7
NC_VERSION_PATCH=0
NC_VERSION_PATCH=1
NC_VERSION_NOTE=""
 
#####
......@@ -2945,11 +2950,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
# Create the VERSION file, which contains the package version from
# AC_INIT.
echo 4.7.0>VERSION
echo 4.7.1>VERSION
 
 
{ $as_echo "$as_me:${as_lineno-$LINENO}: netCDF 4.7.0" >&5
$as_echo "$as_me: netCDF 4.7.0" >&6;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: netCDF 4.7.1" >&5
$as_echo "$as_me: netCDF 4.7.1" >&6;}
 
# Keep libtool macros in an m4 directory.
 
......@@ -3613,7 +3618,7 @@ fi
 
# Define the identity of the package.
PACKAGE='netcdf-c'
VERSION='4.7.0'
VERSION='4.7.1'
 
 
cat >>confdefs.h <<_ACEOF
......@@ -4327,6 +4332,23 @@ $as_echo "#define JNA 1" >>confdefs.h
 
fi
 
# Does the user want to turn off unit tests (useful for test coverage
# analysis).
# Check whether --enable-unit-tests was given.
if test "${enable_unit_tests+set}" = set; then :
enableval=$enable_unit_tests;
fi
test "x$enable_unit_tests" = xno || enable_unit_tests=yes
if test "x$enable_unit_tests" = xyes; then
BUILD_UNIT_TESTS_TRUE=
BUILD_UNIT_TESTS_FALSE='#'
else
BUILD_UNIT_TESTS_TRUE='#'
BUILD_UNIT_TESTS_FALSE=
fi
# Does the user want to build netcdf-4?
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we should build netCDF-4" >&5
$as_echo_n "checking whether we should build netCDF-4... " >&6; }
......@@ -4608,7 +4630,7 @@ test "x$enable_dap" = xno || enable_dap=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_dap" >&5
$as_echo "$enable_dap" >&6; }
 
# We need curl for DAP.
# We need curl for DAP and byterange
DEPDIR="${am__leading_dot}deps"
 
ac_config_commands="$ac_config_commands depfiles"
......@@ -16013,7 +16035,7 @@ done
 
 
# Check for these functions...
for ac_func in strlcat snprintf \
for ac_func in strlcat snprintf strcasecmp fileno \
strdup strtoll strtoull \
mkstemp mktemp random \
getrlimit gettimeofday fsync MPI_Comm_f2c MPI_Info_f2c
......@@ -16069,7 +16091,7 @@ test "x$enable_mmap" = xyes || enable_mmap=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_mmap" >&5
$as_echo "$enable_mmap" >&6; }
 
# check for mmap and mremap availability before committing to use mmap
# check for mmap availability before committing to use mmap
have_mmap="$enable_mmap"
for ac_func in mmap
do :
......@@ -16078,12 +16100,17 @@ if test "x$ac_cv_func_mmap" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_MMAP 1
_ACEOF
havemmapfcn=yes
else
have_mmap=no
havemmapfcn=no
fi
done
 
if test "x$havemmapfcn" = xno ; then
have_mmap=no
fi
# check for mremap availability; not strictly needed
for ac_func in mremap
do :
ac_fn_c_check_func "$LINENO" "mremap" "ac_cv_func_mremap"
......@@ -16091,9 +16118,9 @@ if test "x$ac_cv_func_mremap" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_MREMAP 1
_ACEOF
havemremapfcn=yes
else
have_mmap=no
havemmapfcn=no
fi
done
 
......@@ -16147,7 +16174,7 @@ test "x$enable_byterange" = xyes || enable_byterange=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_byterange" >&5
$as_echo "$enable_byterange" >&6; }
# Need curl for byte ranges
if test "x$found_curl" = xno ; then
if test "x$found_curl" = xno && test "x$enable_byterange" = xyes ; then
as_fn_error $? "curl required for byte range support. Install curl or build without --enable-byterange." "$LINENO" 5
enable_byterange=no
fi
......@@ -17985,9 +18012,9 @@ $as_echo "$hdf5_parallel" >&6; }
 
# Check to see if we need to search for and link against szlib.
if test "x$ac_cv_func_H5Z_SZIP" = xyes; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing SZ_Compress" >&5
$as_echo_n "checking for library containing SZ_Compress... " >&6; }
if ${ac_cv_search_SZ_Compress+:} false; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing SZ_BufftoBuffCompress" >&5
$as_echo_n "checking for library containing SZ_BufftoBuffCompress... " >&6; }
if ${ac_cv_search_SZ_BufftoBuffCompress+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
......@@ -18000,11 +18027,11 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
#ifdef __cplusplus
extern "C"
#endif
char SZ_Compress ();
char SZ_BufftoBuffCompress ();
int
main ()
{
return SZ_Compress ();
return SZ_BufftoBuffCompress ();
;
return 0;
}
......@@ -18017,25 +18044,25 @@ for ac_lib in '' szip sz; do
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_search_SZ_Compress=$ac_res
ac_cv_search_SZ_BufftoBuffCompress=$ac_res
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
if ${ac_cv_search_SZ_Compress+:} false; then :
if ${ac_cv_search_SZ_BufftoBuffCompress+:} false; then :
break
fi
done
if ${ac_cv_search_SZ_Compress+:} false; then :
if ${ac_cv_search_SZ_BufftoBuffCompress+:} false; then :
 
else
ac_cv_search_SZ_Compress=no
ac_cv_search_SZ_BufftoBuffCompress=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_SZ_Compress" >&5
$as_echo "$ac_cv_search_SZ_Compress" >&6; }
ac_res=$ac_cv_search_SZ_Compress
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_SZ_BufftoBuffCompress" >&5
$as_echo "$ac_cv_search_SZ_BufftoBuffCompress" >&6; }
ac_res=$ac_cv_search_SZ_BufftoBuffCompress
if test "$ac_res" != no; then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
......@@ -18065,30 +18092,6 @@ $as_echo "#define USE_SZIP 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_szlib" >&5
$as_echo "$enable_szlib" >&6; }
 
if test "x$ac_cv_func_H5free_memory" = xyes; then
$as_echo "#define HDF5_HAS_H5FREE 1" >>confdefs.h
fi
if test "x$ac_cv_func_H5allocate_memory" = xyes; then
$as_echo "#define HDF5_HAS_ALLOCATE_MEMORY 1" >>confdefs.h
fi
if test "x$ac_cv_func_H5resize_memory" = xyes; then
$as_echo "#define HDF5_HAS_resize_MEMORY 1" >>confdefs.h
fi
if test "x$ac_cv_func_H5Pset_libver_bounds" = xyes; then
$as_echo "#define HDF5_HAS_LIBVER_BOUNDS 1" >>confdefs.h
fi
fi
 
# If the user wants hdf4 built in, check it out.
......@@ -18640,8 +18643,10 @@ $as_echo "$relax_coord_bound_pnetcdf" >&6; }
as_fn_error $? "PNetCDF must be built with relax-coord-bound" "$LINENO" 5
fi
else
# default setting
enable_erange_fill=no
if test "x$enable_erange_fill" = xauto; then
# if --enable-erange-fill is not used, default setting is no
enable_erange_fill=no
fi
fi
 
if test "x$enable_zero_length_coord_bound" = xyes; then
......@@ -19193,6 +19198,12 @@ $as_echo "$as_me: WARNING: netCDF-4 disabled => --disable-filter-testing" >&2;}
enable_filter_testing=no
fi
 
if test "x$enable_hdf5" = xno ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: HDF5 disabled => --disable-filter-testing" >&5
$as_echo "$as_me: WARNING: HDF5 disabled => --disable-filter-testing" >&2;}
enable_filter_testing=no
fi
if test "x$enable_shared" = xno ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Shared libraries are disabled => --disable-filter-testing" >&5
$as_echo "$as_me: WARNING: Shared libraries are disabled => --disable-filter-testing" >&2;}
......@@ -19437,7 +19448,7 @@ ac_config_files="$ac_config_files examples/C/run_par_test.sh"
 
ac_config_files="$ac_config_files nc-config"
 
ac_config_files="$ac_config_files Makefile netcdf.pc libnetcdf.settings postinstall.sh include/netcdf_meta.h include/Makefile h5_test/Makefile hdf4_test/Makefile libsrc/Makefile libsrc4/Makefile libhdf5/Makefile libsrcp/Makefile ncdump/Makefile ncgen3/Makefile ncgen/Makefile examples/Makefile examples/C/Makefile examples/CDL/Makefile oc2/Makefile libdap2/Makefile libdap4/Makefile libhdf4/Makefile libdispatch/Makefile liblib/Makefile ncdump/cdl/Makefile ncdump/expected/Makefile docs/Makefile docs/images/Makefile nctest/Makefile nc_test4/Makefile nc_perf/Makefile nc_test/Makefile ncdap_test/Makefile ncdap_test/testdata3/Makefile ncdap_test/expected3/Makefile ncdap_test/expectremote3/Makefile dap4_test/Makefile plugins/Makefile"
ac_config_files="$ac_config_files Makefile netcdf.pc libnetcdf.settings postinstall.sh include/netcdf_meta.h include/Makefile h5_test/Makefile hdf4_test/Makefile libsrc/Makefile libsrc4/Makefile libhdf5/Makefile libsrcp/Makefile ncdump/Makefile ncgen3/Makefile ncgen/Makefile examples/Makefile examples/C/Makefile examples/CDL/Makefile oc2/Makefile libdap2/Makefile libdap4/Makefile libhdf4/Makefile libdispatch/Makefile liblib/Makefile ncdump/cdl/Makefile ncdump/expected/Makefile docs/Makefile docs/images/Makefile unit_test/Makefile nctest/Makefile nc_test4/Makefile nc_perf/Makefile nc_test/Makefile ncdap_test/Makefile ncdap_test/testdata3/Makefile ncdap_test/expected3/Makefile ncdap_test/expectremote3/Makefile dap4_test/Makefile plugins/Makefile"
 
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
......@@ -19592,6 +19603,10 @@ if test -z "${NC_ENABLE_DOXYGEN_PDF_OUTPUT_TRUE}" && test -z "${NC_ENABLE_DOXYGE
as_fn_error $? "conditional \"NC_ENABLE_DOXYGEN_PDF_OUTPUT\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${BUILD_UNIT_TESTS_TRUE}" && test -z "${BUILD_UNIT_TESTS_FALSE}"; then
as_fn_error $? "conditional \"BUILD_UNIT_TESTS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
as_fn_error $? "conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
......@@ -20170,7 +20185,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by netCDF $as_me 4.7.0, which was
This file was extended by netCDF $as_me 4.7.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
 
CONFIG_FILES = $CONFIG_FILES
......@@ -20240,7 +20255,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
netCDF config.status 4.7.0
netCDF config.status 4.7.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
 
......@@ -20698,6 +20713,7 @@ do
"ncdump/expected/Makefile") CONFIG_FILES="$CONFIG_FILES ncdump/expected/Makefile" ;;
"docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;;
"docs/images/Makefile") CONFIG_FILES="$CONFIG_FILES docs/images/Makefile" ;;
"unit_test/Makefile") CONFIG_FILES="$CONFIG_FILES unit_test/Makefile" ;;
"nctest/Makefile") CONFIG_FILES="$CONFIG_FILES nctest/Makefile" ;;
"nc_test4/Makefile") CONFIG_FILES="$CONFIG_FILES nc_test4/Makefile" ;;
"nc_perf/Makefile") CONFIG_FILES="$CONFIG_FILES nc_perf/Makefile" ;;
......
......@@ -10,7 +10,7 @@
AC_PREREQ([2.59])
# Initialize with name, version, and support email address.
AC_INIT([netCDF], [4.7.0], [support-netcdf@unidata.ucar.edu], [netcdf-c])
AC_INIT([netCDF], [4.7.1], [support-netcdf@unidata.ucar.edu], [netcdf-c])
##
# Prefer an empty CFLAGS variable instead of the default -g -O2.
......@@ -21,7 +21,7 @@ AC_INIT([netCDF], [4.7.0], [support-netcdf@unidata.ucar.edu], [netcdf-c])
AC_SUBST([NC_VERSION_MAJOR]) NC_VERSION_MAJOR=4
AC_SUBST([NC_VERSION_MINOR]) NC_VERSION_MINOR=7
AC_SUBST([NC_VERSION_PATCH]) NC_VERSION_PATCH=0
AC_SUBST([NC_VERSION_PATCH]) NC_VERSION_PATCH=1
AC_SUBST([NC_VERSION_NOTE]) NC_VERSION_NOTE=""
#####
......@@ -185,6 +185,14 @@ if test "x$enable_jna" = xyes ; then
AC_DEFINE([JNA], [1], [if true, include jna bug workaround code])
fi
# Does the user want to turn off unit tests (useful for test coverage
# analysis).
AC_ARG_ENABLE([unit-tests],
[AS_HELP_STRING([--disable-unit-tests],
[Disable tests in unit_test directory. Other tests still run.])])
test "x$enable_unit_tests" = xno || enable_unit_tests=yes
AM_CONDITIONAL([BUILD_UNIT_TESTS], [test "x$enable_unit_tests" = xyes])
# Does the user want to build netcdf-4?
AC_MSG_CHECKING([whether we should build netCDF-4])
AC_ARG_ENABLE([netcdf-4], [AS_HELP_STRING([--disable-netcdf-4],
......@@ -348,7 +356,7 @@ AC_ARG_ENABLE([dap],
test "x$enable_dap" = xno || enable_dap=yes
AC_MSG_RESULT($enable_dap)
# We need curl for DAP.
# We need curl for DAP and byterange
AC_CHECK_LIB([curl],[curl_easy_setopt],[found_curl=yes],[found_curl=no])
if test "x$enable_dap" = "xyes" ; then
AC_SEARCH_LIBS([curl_easy_setopt],[curl curl.dll], [],
......@@ -820,7 +828,7 @@ AC_CHECK_HEADERS([sys/resource.h])
AC_CHECK_HEADERS([ftw.h])
# Check for these functions...
AC_CHECK_FUNCS([strlcat snprintf \
AC_CHECK_FUNCS([strlcat snprintf strcasecmp fileno \
strdup strtoll strtoull \
mkstemp mktemp random \
getrlimit gettimeofday fsync MPI_Comm_f2c MPI_Info_f2c])
......@@ -847,10 +855,15 @@ AC_ARG_ENABLE([mmap],
test "x$enable_mmap" = xyes || enable_mmap=no
AC_MSG_RESULT($enable_mmap)
# check for mmap and mremap availability before committing to use mmap
# check for mmap availability before committing to use mmap
have_mmap="$enable_mmap"
AC_CHECK_FUNCS([mmap],[],[have_mmap=no])
AC_CHECK_FUNCS([mremap],[],[have_mmap=no])
AC_CHECK_FUNCS([mmap],[havemmapfcn=yes],[havemmapfcn=no])
if test "x$havemmapfcn" = xno ; then
have_mmap=no
fi
# check for mremap availability; not strictly needed
AC_CHECK_FUNCS([mremap],[havemremapfcn=yes],[havemmapfcn=no])
# Check for MAP_ANONYMOUS
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
......@@ -881,7 +894,7 @@ AC_ARG_ENABLE([byterange],
test "x$enable_byterange" = xyes || enable_byterange=no
AC_MSG_RESULT($enable_byterange)
# Need curl for byte ranges
if test "x$found_curl" = xno ; then
if test "x$found_curl" = xno && test "x$enable_byterange" = xyes ; then
AC_MSG_ERROR([curl required for byte range support. Install curl or build without --enable-byterange.])
enable_byterange=no
fi
......@@ -1043,7 +1056,7 @@ if test "x$enable_hdf5" = xyes; then
# Check to see if we need to search for and link against szlib.
if test "x$ac_cv_func_H5Z_SZIP" = xyes; then
AC_SEARCH_LIBS([SZ_Compress], [szip sz], [],
AC_SEARCH_LIBS([SZ_BufftoBuffCompress], [szip sz], [],
[AC_MSG_ERROR([libhdf5 installed with szip support, but cannot find or link to the szip library.])])
fi
......@@ -1063,22 +1076,6 @@ if test "x$enable_hdf5" = xyes; then
fi
AC_MSG_RESULT([$enable_szlib])
if test "x$ac_cv_func_H5free_memory" = xyes; then
AC_DEFINE([HDF5_HAS_H5FREE], [1], [if true, H5free_memory() will be used to free hdf5-allocated memory in nc4file.])
fi
if test "x$ac_cv_func_H5allocate_memory" = xyes; then
AC_DEFINE([HDF5_HAS_ALLOCATE_MEMORY], [1], [if true, H5allocate_memory() will be used.])
fi
if test "x$ac_cv_func_H5resize_memory" = xyes; then
AC_DEFINE([HDF5_HAS_resize_MEMORY], [1], [if true, H5resize_memory() will be used.])
fi
if test "x$ac_cv_func_H5Pset_libver_bounds" = xyes; then
AC_DEFINE([HDF5_HAS_LIBVER_BOUNDS], [1], [if true, netcdf4 file properties will be set using H5Pset_libver_bounds])
fi
fi
# If the user wants hdf4 built in, check it out.
......@@ -1236,8 +1233,10 @@ if test "x$enable_pnetcdf" = xyes; then
AC_MSG_ERROR([PNetCDF must be built with relax-coord-bound])
fi
else
# default setting
enable_erange_fill=no
if test "x$enable_erange_fill" = xauto; then
# if --enable-erange-fill is not used, default setting is no
enable_erange_fill=no
fi
fi
if test "x$enable_zero_length_coord_bound" = xyes; then
......@@ -1398,6 +1397,11 @@ AC_MSG_WARN([netCDF-4 disabled => --disable-filter-testing])
enable_filter_testing=no
fi
if test "x$enable_hdf5" = xno ; then
AC_MSG_WARN([HDF5 disabled => --disable-filter-testing])
enable_filter_testing=no
fi
if test "x$enable_shared" = xno ; then
AC_MSG_WARN([Shared libraries are disabled => --disable-filter-testing])
enable_filter_testing=no
......@@ -1541,6 +1545,7 @@ AC_CONFIG_FILES([Makefile
ncdump/expected/Makefile
docs/Makefile
docs/images/Makefile
unit_test/Makefile
nctest/Makefile
nc_test4/Makefile
nc_perf/Makefile
......
netcdf (1:4.7.0-1~exp2) UNRELEASED; urgency=medium
netcdf (1:4.7.1-1~exp1) experimental; urgency=medium
* New upstream release.
* Update gbp.conf to use --source-only-changes by default.
* Bump Standards-Version to 4.4.0, no changes.
* Update copyright file, changes:
- Add license & copyright for file still under NetCDF license
* Update symbols for 4.7.1.
* Drop unused override for spelling-error-in-binary.
-- Bas Couwenberg <sebastic@debian.org> Sun, 07 Jul 2019 08:55:18 +0200
-- Bas Couwenberg <sebastic@debian.org> Fri, 30 Aug 2019 10:26:47 +0200
netcdf (1:4.7.0-1~exp1) experimental; urgency=medium
......
......@@ -9,6 +9,13 @@ Copyright: 1988-2019, University Corporation for Atmospheric Research/Unidata
2009, OPeNDAP, Inc
License: BSD-3-Clause
Files: include/nc3dispatch.h
libdap2/ncd2dispatch.h
ncdump/ncvalidator.c
Copyright: 1993-2018, University Corporation for Atmospheric Research/Unidata
2003, Northwestern University and Argonne National Laboratory
License: NetCDF
Files: include/XGetopt.h
libsrc/XGetopt.c
ncdump/XGetopt.c
......@@ -168,6 +175,37 @@ License: Expat
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
License: NetCDF
Portions of this software were developed by the Unidata Program at the
University Corporation for Atmospheric Research.
.
Access and use of this software shall impose the following obligations
and understandings on the user. The user is granted the right, without
any fee or cost, to use, copy, modify, alter, enhance and distribute
this software, and any derivative works thereof, and its supporting
documentation for any purpose whatsoever, provided that this entire
notice appears in all copies of the software, derivative works and
supporting documentation. Further, UCAR requests that the user credit
UCAR/Unidata in any publications that result from the use of this
software or in any product that includes this software, although this
is not an obligation. The names UCAR and/or Unidata, however, may not
be used in any advertising or publicity to endorse or promote any
products or commercial entity unless specific written permission is
obtained from UCAR/Unidata. The user also understands that
UCAR/Unidata is not obligated to provide the user with any support,
consulting, training or assistance of any kind with regard to the use,
operation and performance of this software nor to provide the user
with any updates, revisions, new versions or "bug fixes."
.
THIS SOFTWARE IS PROVIDED BY UCAR/UNIDATA "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL UCAR/UNIDATA BE LIABLE FOR ANY SPECIAL,
INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
WITH THE ACCESS, USE OR PERFORMANCE OF THIS SOFTWARE.
License: Unicode-data
Permission is hereby granted, free of charge, to any person obtaining a
copy of the Unicode data files and any associated documentation (the "Data
......@@ -207,71 +245,71 @@ License: HDF5
.
All rights reserved.
.
Contributors: National Center for Supercomputing Applications (NCSA) at
the University of Illinois, Fortner Software, Unidata Program Center (netCDF),
The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler (gzip),
Contributors: National Center for Supercomputing Applications (NCSA) at
the University of Illinois, Fortner Software, Unidata Program Center (netCDF),
The Independent JPEG Group (JPEG), Jean-loup Gailly and Mark Adler (gzip),
and Digital Equipment Corporation (DEC).
.
Redistribution and use in source and binary forms, with or without
modification, are permitted for any purpose (including commercial purposes)
Redistribution and use in source and binary forms, with or without
modification, are permitted for any purpose (including commercial purposes)
provided that the following conditions are met:
.
1. Redistributions of source code must retain the above copyright notice,
1. Redistributions of source code must retain the above copyright notice,
this list of conditions, and the following disclaimer.
.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions, and the following disclaimer in the documentation
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions, and the following disclaimer in the documentation
and/or materials provided with the distribution.
.
3. In addition, redistributions of modified forms of the source or binary
code must carry prominent notices stating that the original code was
3. In addition, redistributions of modified forms of the source or binary
code must carry prominent notices stating that the original code was
changed and the date of the change.
.
4. All publications or advertising materials mentioning features or use of
this software are asked, but not required, to acknowledge that it was
developed by The HDF Group and by the National Center for Supercomputing
Applications at the University of Illinois at Urbana-Champaign and
4. All publications or advertising materials mentioning features or use of
this software are asked, but not required, to acknowledge that it was
developed by The HDF Group and by the National Center for Supercomputing
Applications at the University of Illinois at Urbana-Champaign and
credit the contributors.
.
5. Neither the name of The HDF Group, the name of the University, nor the
name of any Contributor may be used to endorse or promote products derived
from this software without specific prior written permission from the
5. Neither the name of The HDF Group, the name of the University, nor the
name of any Contributor may be used to endorse or promote products derived
from this software without specific prior written permission from the
University, THG, or the Contributor, respectively.
.
DISCLAIMER:
THIS SOFTWARE IS PROVIDED BY THE HDF GROUP (THG) AND THE CONTRIBUTORS
"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. In no
event shall THG or the Contributors be liable for any damages suffered by
the users arising out of the use of this software, even if advised of the
possibility of such damage.
DISCLAIMER:
THIS SOFTWARE IS PROVIDED BY THE HDF GROUP (THG) AND THE CONTRIBUTORS
"AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. In no
event shall THG or the Contributors be liable for any damages suffered by
the users arising out of the use of this software, even if advised of the
possibility of such damage.
.
-----------------------------------------------------------------------------
Portions of HDF5 were developed with support from the University of
California, Lawrence Livermore National Laboratory (UC LLNL).
The following statement applies to those portions of the product and must
be retained in any redistribution of source code, binaries, documentation,
Portions of HDF5 were developed with support from the University of
California, Lawrence Livermore National Laboratory (UC LLNL).
The following statement applies to those portions of the product and must
be retained in any redistribution of source code, binaries, documentation,
and/or accompanying materials:
.
This work was partially produced at the University of California,
Lawrence Livermore National Laboratory (UC LLNL) under contract
no. W-7405-ENG-48 (Contract 48) between the U.S. Department of Energy
(DOE) and The Regents of the University of California (University)
This work was partially produced at the University of California,
Lawrence Livermore National Laboratory (UC LLNL) under contract
no. W-7405-ENG-48 (Contract 48) between the U.S. Department of Energy
(DOE) and The Regents of the University of California (University)
for the operation of UC LLNL.
.
DISCLAIMER:
This work was prepared as an account of work sponsored by an agency of
the United States Government. Neither the United States Government nor
the University of California nor any of their employees, makes any
warranty, express or implied, or assumes any liability or responsibility
for the accuracy, completeness, or usefulness of any information,
apparatus, product, or process disclosed, or represents that its use
would not infringe privately- owned rights. Reference herein to any
specific commercial products, process, or service by trade name,
trademark, manufacturer, or otherwise, does not necessarily constitute
or imply its endorsement, recommendation, or favoring by the United
States Government or the University of California. The views and
opinions of authors expressed herein do not necessarily state or reflect
those of the United States Government or the University of California,
DISCLAIMER:
This work was prepared as an account of work sponsored by an agency of
the United States Government. Neither the United States Government nor
the University of California nor any of their employees, makes any
warranty, express or implied, or assumes any liability or responsibility
for the accuracy, completeness, or usefulness of any information,
apparatus, product, or process disclosed, or represents that its use
would not infringe privately- owned rights. Reference herein to any
specific commercial products, process, or service by trade name,
trademark, manufacturer, or otherwise, does not necessarily constitute
or imply its endorsement, recommendation, or favoring by the United
States Government or the University of California. The views and
opinions of authors expressed herein do not necessarily state or reflect
those of the United States Government or the University of California,
and shall not be used for advertising or product endorsement purposes.
-----------------------------------------------------------------------------
......
# False positive, string not included in source.
spelling-error-in-binary usr/lib/*/libnetcdf.so.* tHSI this
# https://github.com/Unidata/netcdf-c/issues/1323
file-references-package-build-path usr/lib/*/libnetcdf.so.*
......@@ -3,7 +3,6 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
Cde2h@Base 4.3.3
Cdh2e@Base 4.3.3
DAPparse@Base 4.1.3
EZXML_NIL@Base 4.5.0
HDF5_dispatch_table@Base 4.6.2.1
NC3__enddef@Base 4.1.3
NC3_abort@Base 4.1.3
......@@ -22,7 +21,6 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
NC3_inq_att@Base 4.1.3
NC3_inq_attid@Base 4.1.3
NC3_inq_attname@Base 4.1.3
NC3_inq_base_pe@Base 4.1.3
NC3_inq_default_fill_value@Base 4.5.0
NC3_inq_dim@Base 4.1.3
NC3_inq_dimid@Base 4.1.3
......@@ -40,7 +38,6 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
NC3_rename_att@Base 4.1.3
NC3_rename_dim@Base 4.1.3
NC3_rename_var@Base 4.1.3
NC3_set_base_pe@Base 4.1.3
NC3_set_fill@Base 4.1.3
NC3_sync@Base 4.1.3
NC4_HDF5_del_att@Base 4.6.2.1
......@@ -159,7 +156,6 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
NCD2_inq_att@Base 4.4.1
NCD2_inq_attid@Base 4.4.1
NCD2_inq_attname@Base 4.4.1
NCD2_inq_base_pe@Base 4.4.1
NCD2_inq_compound_field@Base 4.4.1
NCD2_inq_compound_fieldindex@Base 4.4.1
NCD2_inq_dim@Base 4.4.1
......@@ -195,7 +191,6 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
NCD2_rename_dim@Base 4.4.1
NCD2_rename_grp@Base 4.4.1
NCD2_rename_var@Base 4.4.1
NCD2_set_base_pe@Base 4.4.1
NCD2_set_fill@Base 4.4.1
NCD2_set_var_chunk_cache@Base 4.4.1
NCD2_show_metadata@Base 4.4.1
......@@ -280,8 +275,8 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
NCDISPATCH_inq_var_all@Base 4.4.1
NC_HDF5_finalize@Base 4.6.2.1
NC_HDF5_initialize@Base 4.6.2.1
NC_NOTNC3_inq_base_pe@Base 4.6.2
NC_NOTNC3_set_base_pe@Base 4.6.2
NC_NOTNC3_get_varm@Base 4.7.1
NC_NOTNC3_put_varm@Base 4.7.1
NC_NOTNC4_def_compound@Base 4.6.2
NC_NOTNC4_def_enum@Base 4.6.2
NC_NOTNC4_def_grp@Base 4.6.2
......@@ -296,8 +291,19 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
NC_NOTNC4_get_vlen_element@Base 4.6.2
NC_NOTNC4_inq_compound_field@Base 4.6.2
NC_NOTNC4_inq_compound_fieldindex@Base 4.6.2
NC_NOTNC4_inq_dimids@Base 4.7.1
NC_NOTNC4_inq_enum_ident@Base 4.6.2
NC_NOTNC4_inq_enum_member@Base 4.6.2
NC_NOTNC4_inq_grp_full_ncid@Base 4.7.1
NC_NOTNC4_inq_grp_parent@Base 4.7.1
NC_NOTNC4_inq_grpname@Base 4.7.1
NC_NOTNC4_inq_grpname_full@Base 4.7.1
NC_NOTNC4_inq_grps@Base 4.7.1
NC_NOTNC4_inq_ncid@Base 4.7.1
NC_NOTNC4_inq_typeid@Base 4.7.1
NC_NOTNC4_inq_typeids@Base 4.7.1
NC_NOTNC4_inq_user_type@Base 4.7.1
NC_NOTNC4_inq_varids@Base 4.7.1
NC_NOTNC4_insert_array_compound@Base 4.6.2
NC_NOTNC4_insert_compound@Base 4.6.2
NC_NOTNC4_insert_enum@Base 4.6.2
......@@ -320,9 +326,6 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
NC_RO_set_fill@Base 4.6.2
NC_RO_sync@Base 4.6.2
NC__testurl@Base 4.6.0
NC_alignments_computed@Base 4.6.2
NC_argc@Base 4.4.0
NC_argv@Base 4.4.0
NC_atomictypelen@Base 4.1.3
NC_atomictypename@Base 4.1.3
NC_authclear@Base 4.6.0
......@@ -380,6 +383,7 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
NC_rclookup@Base 4.6.0
NC_readfile@Base 4.6.0
NC_set_rcfile@Base 4.6.0
NC_stride_one@Base 4.7.1
NC_sync@Base 3.6.1
NC_var_shape@Base 3.6.1
NC_writefile@Base 4.6.2
......@@ -520,7 +524,6 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
dceslicecompose@Base 4.3.3
dcetobuffer@Base 4.1.3
dcetostring@Base 4.1.3
dceverbose@Base 4.3.3
definedimsets@Base 4.3.3
definedimsettrans@Base 4.3.3
del_from_NCList@Base 4.1.3
......@@ -623,6 +626,8 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
memio_create@Base 4.3.3
memio_extract@Base 4.6.2
memio_open@Base 4.3.3
mmapio_create@Base 4.7.1
mmapio_open@Base 4.7.1
modeldecode@Base 4.1.3
nc3_cktype@Base 4.4.0
nc3d_getvarx@Base 4.1.3
......@@ -645,6 +650,10 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
nc4_enddef_netcdf4_file@Base 4.0.1
nc4_enum_member_add@Base 4.0.1
nc4_field_list_add@Base 4.0.1
nc4_file_list_add@Base 4.7.1
nc4_file_list_del@Base 4.7.1
nc4_file_list_get@Base 4.7.1
nc4_filter_action@Base 4.7.1
nc4_find_dim@Base 4.0.1
nc4_find_dim_len@Base 4.0.1
nc4_find_grp_att@Base 4.0.1
......@@ -671,6 +680,7 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
nc4_hdf5_initialize@Base 4.4.1
nc4_hdf5_initialized@Base 4.4.1
nc4_nc4f_list_add@Base 4.0.1
nc4_nc4f_list_del@Base 4.7.1
nc4_normalize_name@Base 4.0.1
nc4_open_var_grp2@Base 4.0.1
nc4_put_att@Base 4.6.2
......@@ -727,6 +737,9 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
nc_delete@Base 3.6.1
nc_delete_mp@Base 3.6.1
nc_enddef@Base 3.6.1
nc_filter_inq@Base 4.7.1
nc_filter_register@Base 4.7.1
nc_filter_unregister@Base 4.7.1
nc_finalize@Base 4.4.0
nc_free_string@Base 4.0.1
nc_free_vlen@Base 4.0.1
......@@ -906,7 +919,6 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
nc_open_memio@Base 4.6.2
nc_open_par@Base 4.0.1
nc_open_par_fortran@Base 4.1.3
nc_ptrdiffvector1@Base 4.3.3
nc_put_att@Base 3.6.1
nc_put_att_double@Base 3.6.1
nc_put_att_float@Base 3.6.1
......@@ -1013,8 +1025,6 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
nc_set_var_chunk_cache@Base 4.1.3
nc_set_var_chunk_cache_ints@Base 4.1.3
nc_show_metadata@Base 4.1.3
nc_sizevector0@Base 4.3.3
nc_sizevector1@Base 4.3.3
nc_strerror@Base 3.6.1
nc_sync@Base 3.6.1
nc_utf8_normalize@Base 4.5.0
......@@ -1086,9 +1096,6 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
ncclose@Base 3.6.1
nccreate@Base 3.6.1
ncd4__testurl@Base 4.5.0
ncdap3debug@Base 4.1.3
ncdap4debug@Base 4.5.0
ncdebug@Base 4.5.0
ncdimdef@Base 3.6.1
ncdimid@Base 3.6.1
ncdiminq@Base 3.6.1
......@@ -1143,12 +1150,13 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
nclogclose@Base 4.1.3
ncloginit@Base 4.1.3
nclogopen@Base 4.1.3
nclogsettags@Base 4.1.3
nclogtext@Base 4.1.3
nclogtextn@Base 4.1.3
ncopen@Base 3.6.1
ncopts@Base 3.6.1
ncprintprovenance@Base 4.6.2
ncrc_freeglobalstate@Base 4.7.1
ncrc_getglobalstate@Base 4.7.1
ncrc_globalstate@Base 4.6.0
ncrecget@Base 3.6.1
ncrecinq@Base 3.6.1
......@@ -1714,7 +1722,6 @@ libnetcdf.so.15 #PACKAGE# #MINVER#
strlcat@Base 4.6.0
unattach@Base 4.3.3
unmap@Base 4.3.3
v4node@Base 4.1.3
value@Base 4.1.3
value_list@Base 4.1.3
var@Base 4.1.3
......
......@@ -6,11 +6,11 @@ DB=1
#ANSI=1
#MEM=1
#NOTUIL=1
#FAST=1
FAST=1
#PROF=1
HDF5=1
DAP=1
#HDF5=1
#DAP=1
#SZIP=1
#HDF4=1
#PNETCDF=1
......@@ -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
......@@ -91,18 +92,17 @@ LDFLAGS="$LDFLAGS -lsz -laec"
fi
export PKG_CONFIG_PATH=/usr/lib/pkgconfig
if test "x$DAP" = "x1" ; then
if curl-config --version >/dev/null ; then
TMP=`curl-config --cflags`
CPPFLAGS="$TMP $CPPFLAGS"
WH=`curl-config --prefix`
WH="${WH}/lib"
TMP=`curl-config --libs`
LDFLAGS="$TMP $LDFLAGS"
TMP=`curl-config --prefix`
LD_LIBRARY_PATH="$TMP/lib:$LD_LIBRARY_PATH"
LDFLAGS="$LDFLAGS -L$WH $TMP"
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$WH"
else
LDFLAGS="${LDFLAGS} -lcurl"
fi
fi
CXXFLAGS="$CPPFLAGS $CXXFLAGS"
......@@ -118,10 +118,11 @@ 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"
FLAGS="$FLAGS --enable-byterange"
#FLAGS="$FLAGS --with-udunits"
#FLAGS="$FLAGS --with-libcf"
#FLAGS="$FLAGS --enable-jna"
......
......@@ -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
......@@ -35,8 +40,14 @@ else
CFG="Release"
fi
FLAGS=
if test "x$VS" != x -a "x$INSTALL" != x ; then
FLAGS="-DCMAKE_PREFIX_PATH=c:/tools/nccmake"
<<<<<<< HEAD
FLAGS="-DCMAKE_PREFIX_PATH=${NCC}"
=======
FLAGS="$FLAGS -DCMAKE_PREFIX_PATH=${NCC}"
>>>>>>> master
fi
FLAGS="$FLAGS -DCMAKE_INSTALL_PREFIX=/tmp/netcdf"
......@@ -45,6 +56,9 @@ FLAGS="$FLAGS -DENABLE_DAP=false"
fi
if test "x$NC4" = x ; then
FLAGS="$FLAGS -DENABLE_NETCDF_4=false"
else
ignore=1
#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 +83,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 +101,13 @@ 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
cmake ${TR} --build . --config ${CFG} --target ALL_BUILD
if test "x$NOTEST" = x ; then
cmake ${TR} --build . --config ${CFG} --target RUN_TESTS
fi
fi
else
# GCC
......
......@@ -38,7 +38,7 @@ PROJECT_NAME = netCDF-C
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 4.7.0
PROJECT_NUMBER = 4.7.1
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
......
......@@ -508,6 +508,85 @@ for use by client programs and by filter implementations.
Examples of the use of these functions can be seen in the test program
*nc_test4/tst_filterparser.c*.
Appendix B. Programmatic Filter Definition {#filters_programmatic}
==========
HDF5 provides an API [6] to allow for the programmatic definition
of filters -- as opposed to using the HDF5_PLUGIN_PATH environment variable.
The idea is that instead of using dynamic shared libraries, the filter code
is compiled into the application and the relevant information
(namely an instance of *H5Z_class2_t*) is passed to the HDF5 library API.
Because it is anticipated that in the future, other plugin formats
will be used, this netcdf-c API is deliberately more general than
strictly required by HDF5.
## API Concepts
Three concepts are used in this API.
1. Format - this is an integer defining the format of the plugin.
Currently, only *NC_FILTER_FORMAT_HDF5* is defined and corresponds
to the existing HDF5 plugin format.
2. ID - this is an integer that is a unique identifier for the filter.
This value is interpreted in the context of the format, so the same
id might be assigned to different filters if the format is different.
3. The structure *NC_FILTER_INFO* that provides generic information
to the API and has a placeholder for format-specific information.
typedef struct NC_FILTER_INFO {
int version; /* Of this structure */
int format; /* Controls actual type of this structure */
int id; /* Must be unique WRT format */
void* info; /* The filter info as defined by the format. */
} NC_FILTER_INFO;
When the format is the value NC_FILTER_FORMAT_HDF5,
then the info field is a pointer to an instance of
H5Z_class2_t as define in H5Zpublic.h.
The use of void* is, of course, to allow for passing arbitrary objects.
### NetCDF API
The following function signatures are provided (see *netcdf_filter.h*).
1. Register a filter
int nc_filter_register(NC_FILTER_INFO* filter_info);
Register a filter whose format and ID are specified in the 'filter_info'
argument.
2. Unregister a filter
int nc_filter_unregister(int format, int id);
Unregister the filter specified by the id. Note that only
filters registered using 'nc_filter_register' can be unregistered.
3. Inquire about a filter
int nc_filter_inq(int format, int id, NC_FILTER_INFO* filter_info);
Unregister the filter specified by the id. Note that only
filters registered using 'nc_filter_register' can be inquired.
The 'filter_info' is filled with a copy of the original argument to
'nc_filter_register'.
### Example
static const H5Z_class2_t H5Z_REG[1] = {
...
};
...
NC_FILTER_INFO info;
...
info.version = NC_FILTER_INFO_VERSION;
info.format = NC_FILTER_FORMAT_HDF5;
info.id = FILTER_ID;
info.info = (void*)&H5Z_REG[0];
stat = nc_filter_register(&info);
...
memset(&info,0,sizeof(NC_FILTER_INFO));
stat = nc_filter_inq(NC_FILTER_FORMAT_HDF5, FILTER_ID, &info);
...
stat = nc_filter_unregister(NC_FILTER_FORMAT_HDF5, FILTER_ID);
# References {#filters_References}
1. https://support.hdfgroup.org/HDF5/doc/Advanced/DynamicallyLoadedFilters/HDF5DynamicallyLoadedFilters.pdf
......@@ -515,6 +594,7 @@ Examples of the use of these functions can be seen in the test program
3. https://portal.hdfgroup.org/display/support/Contributions#Contributions-filters
4. https://support.hdfgroup.org/services/contributions.html#filters
5. https://support.hdfgroup.org/HDF5/doc/RM/RM_H5.html
6. https://confluence.hdfgroup.org/display/HDF5/Filters
# Point of Contact
......