Attempting to add a filter to a netCDF file using `nccopy` results in
a file without `_Filter` attribute set. I suspect this is a problem
with HDF5, but I don't remember why and never got around to testing
that. The rest of the plugin tests pass, so I'm telling the test
runner to expect this one test to fail and see if there are other
failures.
Don't install test plugins; don't install any plugins if not
requested.
DEV: Remove plugins installed to ALTPLUGINDIR.
These get put in the build tree if ENABLE_PLUGIN_DIR is not true.
I want to remove these first, then look into skipping the plugins
directory if plugins are disabled.
DEV: don't install plugins if there's no install dir
Still build them, since they might be needed for tests, but don't mark them for install.
BLD, FIX: Add -rpath to noinst plugin links.
Since I stopped installing the plugins, I need to manually add `-rpath` to their link line so `libtool` actually bothers linking them.
Most changes are to get plugins working.
libdispatchdreg.c went in in unidata/netcdf-c#2460,
after I'd done it here.
Summary of individual changes below.
BLD: Remove declspec(dllexport); in dreg.c.
By removing the explicit handling, the automatic handling
(equivalent to --export-all-symbols with recent GNU tools)
will be enabled again, so the generated library will have
more than one function exported.
BLD: Link plugins against libnetcdf on Cygwin.
BLD: Add AM_LDFLAGS to plugin _LDFLAGS to pass -no-undefined.
BLD: Link ncz*filters plugins against libnetcdf.
BLD: Add AM_LDFLAGS to test plugin _LDFLAGS.
Also move rpath from AM_LDFLAGS to test plugin _LDFLAGS.
TST: Don't run nczarr_test/run_specific_filters.sh on Cygwin.
It takes over half an hour to complete, where the others take a minute or less.
TST: Try to find the hanging Cygwin test.
re: https://github.com/Unidata/netcdf-c/issues/2521
Charlie Zender has discovered that the netcdf created file VERSION
conflicts with the C++ version file on OSX case-insensitive file systems,
and maybe other case-insensitvie file systems.
Note:
1. Cmake does not create the VERSION file
2. The VERSION file is not installed
3. It turns out that the VERSION file is not required by the autoconf build.
It is possible that clients or package build system (e.g apt or brew)
might use the VERSION file, so we cannot delete it altogether.
So as a fix, we move the creation of the VERSION file to after the
build is complete by inserting a all-local hook into netcdf-c/Makefile.am.
# Misc. other changes
1. Suppressed warning by making use of the systeminfo command contingent on the platform being Windows.
I get an error about "for loop initial declarations are only allowed in C99 mode" with the current code. Not sure why it hasn't shown up before. I am configuring with `BUILD_SHARED_LIBS=NO ENABLE_PLUGINS=NO ENABLE_MULTIFILTERS=NO ENABLE_NCZARR_FILTERS=NO` when the error shows up using gcc-7.2.0.