1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
|
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 -;
|