netcdf/netcdf-plugin.patch

108 lines
3.8 KiB
Diff

diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 777495ff..bed4bec6 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -5,7 +5,7 @@
include $(top_srcdir)/lib_flags.am
AM_LDFLAGS += -module -avoid-version -shared -export-dynamic \
- -rpath ${abs_builddir} ${NOUNDEFINED}
+ ${NOUNDEFINED}
# Create an alternate directory if not installing or for noinst installs.
ALTPLUGINDIR = ${abs_top_builddir}/plugins/plugindir
@@ -19,17 +19,6 @@ endif
plugin_LTLIBRARIES =
-# Apparently one cannot have plugin_LTLIBRARIES and also noinst_LTLIBRARIES.
-# So create a tmp location for "noinst" shared libraries.
-tmpdir = ${ALTPLUGINDIR}
-
-tmp_LTLIBRARIES =
-
-# This linker flag specifies libtool version info.
-# See http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning
-# for information regarding incrementing `-version-info`.
-plugin_version_info = -version-info 0:0:0
-
if ISMINGW
LDADD = ${top_builddir}/liblib/libnetcdf.la
endif
@@ -55,15 +44,10 @@ lib__nch5shuffle_la_SOURCES = H5Zshuffle.c
lib__nch5fletcher32_la_SOURCES = H5Zfletcher32.c H5checksum.c
lib__nch5deflate_la_SOURCES = H5Zdeflate.c
-lib__nch5shuffle_la_LDFLAGS = ${plugin_version_info}
-lib__nch5deflate_la_LDFLAGS = ${plugin_version_info}
-lib__nch5fletcher32_la_LDFLAGS = ${plugin_version_info}
-
# Need our version of szip if libsz available and we are not using HDF5
if HAVE_SZ
plugin_LTLIBRARIES += lib__nch5szip.la
lib__nch5szip_la_SOURCES = H5Zszip.c H5Zszip.h
-lib__nch5szip_la_LDFLAGS = ${plugin_version_info}
endif
endif # ENABLE_NCZARR_FILTERS
@@ -72,20 +56,20 @@ if ENABLE_PLUGINS
# The NCZarr codec libraries
lib__nczstdfilters_la_SOURCES = NCZstdfilters.c
+lib__nczstdfilters_la_LIBADD = ${top_builddir}/liblib/libnetcdf.la
lib__nczhdf5filters_la_SOURCES = NCZhdf5filters.c
+lib__nczhdf5filters_la_LIBADD = ${top_builddir}/liblib/libnetcdf.la
plugin_LTLIBRARIES += lib__nczhdf5filters.la
plugin_LTLIBRARIES += lib__nczstdfilters.la
if HAVE_BLOSC
lib__nch5blosc_la_SOURCES = H5Zblosc.c H5Zblosc.h
-lib__nch5blosc_la_LDFLAGS = ${plugin_version_info}
plugin_LTLIBRARIES += lib__nch5blosc.la
endif
if HAVE_ZSTD
lib__nch5zstd_la_SOURCES = H5Zzstd.c H5Zzstd.h
-lib__nch5zstd_la_LDFLAGS = ${plugin_version_info}
plugin_LTLIBRARIES += lib__nch5zstd.la
endif
@@ -95,20 +79,22 @@ endif #ENABLE_PLUGINS
# Need two distinct instances
lib__nch5noop_la_SOURCES = H5Znoop.c H5Zutil.c h5noop.h
lib__nch5noop1_la_SOURCES = H5Znoop1.c H5Zutil.c h5noop.h
-lib__nch5noop_la_LDFLAGS = ${plugin_version_info}
-lib__nch5noop1_la_LDFLAGS = ${plugin_version_info}
# The misc filter is to allow testing of filter arguments
lib__nch5misc_la_SOURCES = H5Zmisc.c H5Zutil.c h5misc.h
-lib__nch5misc_la_LDFLAGS = ${plugin_version_info}
lib__nczmisc_la_SOURCES = NCZmisc.c
-lib__nczmisc_la_LDFLAGS = ${plugin_version_info}
# Provide a filter to test missing filter
lib__nch5unknown_la_SOURCES = H5Zunknown.c
-lib__nch5unknown_la_LDFLAGS = ${plugin_version_info}
-tmp_LTLIBRARIES += lib__nch5noop.la lib__nch5noop1.la lib__nch5misc.la lib__nczmisc.la lib__nch5unknown.la
+# These libraries are needed only for testing, so we will remove them from the install location
+# via install-data-hook below. This seems to be the simplest method to get libtool to build
+# a local shared library.
+CHECKLIBS = lib__nch5noop.la lib__nch5noop1.la lib__nch5misc.la lib__nczmisc.la lib__nch5unknown.la
+plugin_LTLIBRARIES += ${CHECKLIBS}
+
+install-data-hook:
+ cd $(DESTDIR)$(plugindir) && rm -f $(CHECKLIBS) $(CHECKLIBS:.la=.so)
# Bzip2 is used to test more complex filters
lib__nch5bzip2_la_SOURCES = H5Zbzip2.c h5bzip2.h
@@ -117,7 +103,6 @@ EXTRA_DIST += ${BZIP2SRC} BZIP2_LICENSE
if HAVE_LOCAL_BZ2
lib__nch5bzip2_la_SOURCES += ${BZIP2SRC}
endif
-lib__nch5bzip2_la_LDFLAGS = ${plugin_version_info}
plugin_LTLIBRARIES += lib__nch5bzip2.la
endif #ENABLE_FILTER_TESTING