Author: Andreas Tille <tille@debian.org>
Last-Update: Thu, 25 Apr 2019 07:33:49 +0200
Description: use Debian packaged libhdf5

--- a/configure.ac
+++ b/configure.ac
@@ -172,7 +172,7 @@ echo "S3_VFD=${WITH_S3_VFD}"
   #############################################
 
 #untar the lib
-BASEPBNAME="hdf5"
+BASEPBNAME="/usr/include/hdf5"
 
 dnl if we've already extracted the HDF5 source assume it's also configured and built
 if test -d src/${BASEPBNAME}; then 
@@ -201,6 +201,21 @@ dnl HDF5 building options
 AC_SUBST(WITH_S3_VFD)
 AC_SUBST(SHAREDLIB_RPATH)
 
-AC_CONFIG_FILES([src/Makevars])
+HDF5_INCLUDE="/usr/include/hdf5/serial"
+HDF5_CXX_INCLUDE="/usr/include/hdf5/serial"
+HDF5_HL_INCLUDE="/usr/include/hdf5/serial"
+HDF5_HL_CXX_INCLUDE="/usr/include/hdf5/serial"
+AC_SUBST(HDF5_INCLUDE)
+AC_SUBST(HDF5_CXX_INCLUDE)
+AC_SUBST(HDF5_HL_INCLUDE)
+AC_SUBST(HDF5_HL_CXX_INCLUDE)
+
+# AC_CONFIG_FILES([src/Makevars])
+#     ... so try things manually
+sed -e "s+@HDF5_INCLUDE@+${HDF5_INCLUDE}+g" \
+    -e "s+@HDF5_LIB@+${HDF5_LIB}+g" \
+    -e "s+@ZLIB_LIB@+${ZLIB_LIB}+g" \
+    -e "s+@ZLIB_INCLUDE@+${ZLIB_INCLUDE}+g" \
+    src/Makevars.in > src/Makevars
 
 AC_OUTPUT
--- a/src/Makevars.in
+++ b/src/Makevars.in
@@ -1,13 +1,14 @@
 BASEPBNAME=hdf5
-HDF5_INCLUDE="${BASEPBNAME}/src"
-HDF5_CXX_INCLUDE="${BASEPBNAME}/c++/src"
-HDF5_HL_INCLUDE="${BASEPBNAME}/hl/src"
-HDF5_HL_CXX_INCLUDE="${BASEPBNAME}/hl/c++/src"
-
-HDF5_LIB="${BASEPBNAME}/src/.libs/libhdf5.a"
-HDF5_CXX_LIB="${BASEPBNAME}/c++/src/.libs/libhdf5_cpp.a"
-HDF5_HL_LIB="${BASEPBNAME}/hl/src/.libs/libhdf5_hl.a"
-HDF5_HL_CXX_LIB="${BASEPBNAME}/hl/c++/src/.libs/libhdf5_hl_cpp.a"
+HDF5_INCLUDE="/usr/include/hdf5/serial"
+HDF5_CXX_INCLUDE="/usr/include/hdf5/serial"
+HDF5_HL_INCLUDE="/usr/include/hdf5/serial"
+HDF5_HL_CXX_INCLUDE="/usr/include/hdf5/serial"
+
+MULTIARCH=$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+HDF5_LIB="/usr/lib/${MULTIARCH}/hdf5/serial/"
+HDF5_CXX_LIB="/usr/lib/${MULTIARCH}/hdf5/serial/libhdf5_cpp.a"
+HDF5_HL_LIB="/usr/lib/${MULTIARCH}/hdf5/serial/libhdf5_hl.a"
+HDF5_HL_CXX_LIB="/usr/lib/${MULTIARCH}/hdf5/serial/libhdf5_hl_cpp.a"
 
 ZLIB_LIB=@ZLIB_LIB@
 ZLIB_INCLUDE=@ZLIB_INCLUDE@
@@ -16,57 +17,12 @@ ZLIB_INCLUDE=@ZLIB_INCLUDE@
 USER_INCLUDE_DIR = ${R_PACKAGE_DIR}/include
 USER_LIB_DIR = ${R_PACKAGE_DIR}/lib${R_ARCH}/
 
-PKG_CPPFLAGS = -I${USER_INCLUDE_DIR} ${ZLIB_INCLUDE}
+PKG_CPPFLAGS = -I${HDF5_INCLUDE} ${ZLIB_INCLUDE}
 PKG_CFLAGS = ${ZLIB_LIB}
-PKG_LIBS = "${USER_LIB_DIR}libhdf5.a" @SZIP_LIB@ -lz
-
+PKG_LIBS = -L${HDF5_LIB} -lhdf5 -lsz -lz
 
 
 all: $(SHLIB)
 
 $(SHLIB): Rhdf5lib.o
 
-Rhdf5lib.o: copy-hdf5 @COPY_SZIP@
-
-copy-szip: copy-hdf5
-	cp hdf5/libaec-1.0.4/build/szip/lib/libsz.a "${USER_LIB_DIR}"
-	cp hdf5/libaec-1.0.4/build/szip/lib/libaec.a "${USER_LIB_DIR}"
-	
-#copy hdf5 library headers to package include
-copy-hdf5: @BUILD_HDF5@
-	mkdir -p "${USER_INCLUDE_DIR}"
-	cp "${HDF5_INCLUDE}/"*.h "${USER_INCLUDE_DIR}"
-	cp "${HDF5_CXX_INCLUDE}/"*.h "${USER_INCLUDE_DIR}"
-	cp "${HDF5_HL_INCLUDE}/"*.h "${USER_INCLUDE_DIR}"
-	cp "${HDF5_HL_CXX_INCLUDE}/"*.h "${USER_INCLUDE_DIR}"
-	cp "${HDF5_INCLUDE}/"libhdf5.settings "${USER_INCLUDE_DIR}"
-	mkdir -p "${USER_LIB_DIR}"
-	cp "${HDF5_LIB}" "${USER_LIB_DIR}"
-	cp "${HDF5_CXX_LIB}" "${USER_LIB_DIR}"
-	cp "${HDF5_HL_LIB}" "${USER_LIB_DIR}"
-	cp "${HDF5_HL_CXX_LIB}" "${USER_LIB_DIR}"
-
-build-hdf5: @REQUIRE_SZIP@ @EXTRACT_SOURCE@
-	cd hdf5; \
-	./configure --with-pic --enable-shared=no --enable-cxx --enable-hl \
-	--enable-tests=no --enable-tools=no \
-	--with-szlib=@SZIP_HOME@ --with-zlib=@ZLIB_HOME@ \
-	@WITH_S3_VFD@ \
-	@SHAREDLIB_RPATH@ \
-	CC='@CC@' CXX='@CXX@' \
-	CPPFLAGS='@CPPFLAGS@' \
-	CFLAGS='@CFLAGS@ @CPICFLAGS@' \
-	CXXFLAGS='@CXXFLAGS@ @CXXPICFLAGS@'; \
-	@MAKE@ lib
-
-build-szip: @EXTRACT_SOURCE@
-	cd hdf5/libaec-1.0.4/build; \
-	../configure --with-pic --enable-shared=no --prefix=@SZIP_HOME@ --libdir=@SZIP_HOME@/lib \
-	CC='@CC@' CXX='@CXX@' \
-	CPPFLAGS='@CPPFLAGS@' \
-	CFLAGS='@CFLAGS@ @CPICFLAGS@'; \
-	@MAKE@; \
-	@MAKE@ install
-
-extract-source:
-	gunzip -dc hdf5small_cxx_hl_1.10.7.tar.gz | tar xf -;
