[hdf5] 01/02: Make serial and $mpi flavors co-installable
Gilles Filippini
pini at moszumanska.debian.org
Thu May 29 14:52:26 UTC 2014
This is an automated email from the git hooks/post-receive script.
pini pushed a commit to branch experimental
in repository hdf5.
commit fef081c781f9cad664882242eea286e63992c8c5
Author: Gilles Filippini <pini at debian.org>
Date: Wed May 28 19:07:52 2014 +0200
Make serial and $mpi flavors co-installable
* Patch autotools configuration to add option --with-flavor which
append _<flavor-name> to the libraries' names
* Configure $mpi builds with flavor-name=$mpi
* link $mpi flavor development libs to
/usr/lib/$MULTIARCH/$mpi/libhdf5-<legacy-names> (so that existing
makefiles still work using -L/usr/lib/$MULTIARCH/$mpi)
* install $mpi flavor include files into /usr/include/$mpi (so
that existing makefiles still work using -I/usr/include/$mpi)
* Use alternatives to choose default h5p{cf}c
* Deactivate patch skip_cxx_inclusion.diff
* Reflect theses changes in symbols files
* Remove related Conflicts / Provides from debian/control*
---
debian/control | 28 +-
debian/control.in | 28 +-
debian/hdf5-mpich.pc | 2 +-
debian/hdf5-openmpi.pc | 2 +-
debian/libhdf5-flavor-cpp-soname.install.in | 4 +-
debian/libhdf5-flavor-dev.install.in | 6 +-
debian/libhdf5-flavor-dev.links.in | 9 +
debian/libhdf5-flavor-dev.postinst.in | 15 +
debian/libhdf5-flavor-dev.prerm.in | 14 +
debian/libhdf5-flavor-soname.install.in | 8 +-
debian/libhdf5-mpich-dev.manpages | 4 +-
debian/libhdf5-openmpi-dev.manpages | 4 +-
debian/patches/flavor-configure-option.patch | 445 +++++++++++++++++++++++++++
debian/patches/series | 3 +-
debian/rules | 46 ++-
15 files changed, 560 insertions(+), 58 deletions(-)
diff --git a/debian/control b/debian/control
index e07621d..48dfa53 100644
--- a/debian/control
+++ b/debian/control
@@ -19,8 +19,8 @@ Section: libs
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-8
-Provides: libhdf5-8
+#Conflicts: libhdf5-8
+#Provides: libhdf5-8
Multi-Arch: same
Description: Hierarchical Data Format 5 (HDF5) - runtime files - serial version
HDF5 is a file format and library for storing scientific data.
@@ -36,7 +36,7 @@ Priority: extra
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends},
libhdf5-8 (= ${binary:Version})
-Conflicts: libhdf5-mpich-8-dbg, libhdf5-openmpi-8-dbg
+#Conflicts: libhdf5-mpich-8-dbg, libhdf5-openmpi-8-dbg
Multi-Arch: same
Description: Hierarchical Data Format 5 (HDF5) - Debug package
HDF5 is a file format and library for storing scientific data.
@@ -102,8 +102,8 @@ Priority: extra
Architecture: alpha arm64 armel armhf amd64 i386 ia64 mips mipsel powerpc powerpcspe ppc64 sparc kfreebsd-i386 kfreebsd-amd64 hurd-i386
Depends: ${shlibs:Depends}, ${misc:Depends}
Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-8
-Provides: libhdf5-8
+#Conflicts: libhdf5-8
+#Provides: libhdf5-8
Multi-Arch: same
Description: Hierarchical Data Format 5 (HDF5) - runtime files - OpenMPI version
HDF5 is a file format and library for storing scientific data.
@@ -119,8 +119,8 @@ Priority: extra
Architecture: alpha arm64 armel armhf amd64 i386 ia64 mips mipsel powerpc powerpcspe ppc64 sparc kfreebsd-i386 kfreebsd-amd64 hurd-i386
Depends: libhdf5-openmpi-8 (= ${binary:Version}), zlib1g-dev,
libjpeg-dev, libopenmpi-dev, ${misc:Depends}, hdf5-helpers
-Conflicts: libhdf5-dev
-Provides: libhdf5-dev
+#Conflicts: libhdf5-dev
+#Provides: libhdf5-dev
Suggests: libhdf5-doc
Description: Hierarchical Data Format 5 (HDF5) - development files - OpenMPI version
HDF5 is a file format and library for storing scientific data.
@@ -136,7 +136,7 @@ Priority: extra
Architecture: alpha arm64 armel armhf amd64 i386 ia64 mips mipsel powerpc powerpcspe ppc64 sparc kfreebsd-i386 kfreebsd-amd64 hurd-i386
Depends: ${shlibs:Depends}, ${misc:Depends},
libhdf5-openmpi-8 (= ${binary:Version}),
-Conflicts: libhdf5-8-dbg, libhdf5-mpich-8-dbg
+#Conflicts: libhdf5-8-dbg, libhdf5-mpich-8-dbg
Multi-Arch: same
Description: Hierarchical Data Format 5 (HDF5) - OpenMPI Debug package
HDF5 is a file format and library for storing scientific data.
@@ -152,8 +152,8 @@ Priority: extra
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5-8
-Provides: libhdf5-8, libhdf5-mpich2-8
+#Conflicts: libhdf5-8
+#Provides: libhdf5-8, libhdf5-mpich2-8
Replaces: libhdf5-mpich2-8 (<< 1.8.12-2~)
Breaks: libhdf5-mpich2-8 (<< 1.8.12-2~)
Multi-Arch: same
@@ -172,8 +172,8 @@ Priority: extra
Architecture: any
Depends: libhdf5-mpich-8 (= ${binary:Version}), zlib1g-dev,
libjpeg-dev, libmpich-dev, ${misc:Depends}, hdf5-helpers
-Conflicts: libhdf5-dev
-Provides: libhdf5-dev, libhdf5-mpich2-dev
+#Conflicts: libhdf5-dev
+#Provides: libhdf5-dev, libhdf5-mpich2-dev
Replaces: libhdf5-mpich2-dev (<< 1.8.12-2~)
Breaks: libhdf5-mpich2-dev (<< 1.8.12-2~)
Suggests: libhdf5-doc
@@ -205,8 +205,8 @@ Priority: extra
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends},
libhdf5-mpich-8 (= ${binary:Version}),
-Conflicts: libhdf5-openmpi-8-dbg, libhdf5-8-dbg
-Provides: libhdf5-mpich2-8-dbg
+#Conflicts: libhdf5-openmpi-8-dbg, libhdf5-8-dbg
+#Provides: libhdf5-mpich2-8-dbg
Replaces: libhdf5-mpich2-8-dbg (<< 1.8.12-2~)
Breaks: libhdf5-mpich2-8-dbg (<< 1.8.12-2~)
Multi-Arch: same
diff --git a/debian/control.in b/debian/control.in
index b1f2ea2..0e57de0 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -19,8 +19,8 @@ Section: libs
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5- at SONAME@
-Provides: libhdf5- at SONAME@
+#Conflicts: libhdf5- at SONAME@
+#Provides: libhdf5- at SONAME@
Multi-Arch: same
Description: Hierarchical Data Format 5 (HDF5) - runtime files - serial version
HDF5 is a file format and library for storing scientific data.
@@ -36,7 +36,7 @@ Priority: extra
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends},
libhdf5- at SONAME@ (= ${binary:Version})
-Conflicts: libhdf5-mpich- at SONAME@-dbg, libhdf5-openmpi- at SONAME@-dbg
+#Conflicts: libhdf5-mpich- at SONAME@-dbg, libhdf5-openmpi- at SONAME@-dbg
Multi-Arch: same
Description: Hierarchical Data Format 5 (HDF5) - Debug package
HDF5 is a file format and library for storing scientific data.
@@ -102,8 +102,8 @@ Priority: extra
Architecture: @ARCHS@
Depends: ${shlibs:Depends}, ${misc:Depends}
Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5- at SONAME@
-Provides: libhdf5- at SONAME@
+#Conflicts: libhdf5- at SONAME@
+#Provides: libhdf5- at SONAME@
Multi-Arch: same
Description: Hierarchical Data Format 5 (HDF5) - runtime files - OpenMPI version
HDF5 is a file format and library for storing scientific data.
@@ -119,8 +119,8 @@ Priority: extra
Architecture: @ARCHS@
Depends: libhdf5-openmpi- at SONAME@ (= ${binary:Version}), zlib1g-dev,
libjpeg-dev, libopenmpi-dev, ${misc:Depends}, hdf5-helpers
-Conflicts: libhdf5-dev
-Provides: libhdf5-dev
+#Conflicts: libhdf5-dev
+#Provides: libhdf5-dev
Suggests: libhdf5-doc
Description: Hierarchical Data Format 5 (HDF5) - development files - OpenMPI version
HDF5 is a file format and library for storing scientific data.
@@ -136,7 +136,7 @@ Priority: extra
Architecture: @ARCHS@
Depends: ${shlibs:Depends}, ${misc:Depends},
libhdf5-openmpi- at SONAME@ (= ${binary:Version}),
-Conflicts: libhdf5- at SONAME@-dbg, libhdf5-mpich- at SONAME@-dbg
+#Conflicts: libhdf5- at SONAME@-dbg, libhdf5-mpich- at SONAME@-dbg
Multi-Arch: same
Description: Hierarchical Data Format 5 (HDF5) - OpenMPI Debug package
HDF5 is a file format and library for storing scientific data.
@@ -152,8 +152,8 @@ Priority: extra
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Pre-Depends: ${misc:Pre-Depends}
-Conflicts: libhdf5- at SONAME@
-Provides: libhdf5- at SONAME@, libhdf5-mpich2- at SONAME@
+#Conflicts: libhdf5- at SONAME@
+#Provides: libhdf5- at SONAME@, libhdf5-mpich2- at SONAME@
Replaces: libhdf5-mpich2- at SONAME@ (<< 1.8.12-2~)
Breaks: libhdf5-mpich2- at SONAME@ (<< 1.8.12-2~)
Multi-Arch: same
@@ -172,8 +172,8 @@ Priority: extra
Architecture: any
Depends: libhdf5-mpich- at SONAME@ (= ${binary:Version}), zlib1g-dev,
libjpeg-dev, libmpich-dev, ${misc:Depends}, hdf5-helpers
-Conflicts: libhdf5-dev
-Provides: libhdf5-dev, libhdf5-mpich2-dev
+#Conflicts: libhdf5-dev
+#Provides: libhdf5-dev, libhdf5-mpich2-dev
Replaces: libhdf5-mpich2-dev (<< 1.8.12-2~)
Breaks: libhdf5-mpich2-dev (<< 1.8.12-2~)
Suggests: libhdf5-doc
@@ -205,8 +205,8 @@ Priority: extra
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends},
libhdf5-mpich- at SONAME@ (= ${binary:Version}),
-Conflicts: libhdf5-openmpi- at SONAME@-dbg, libhdf5- at SONAME@-dbg
-Provides: libhdf5-mpich2- at SONAME@-dbg
+#Conflicts: libhdf5-openmpi- at SONAME@-dbg, libhdf5- at SONAME@-dbg
+#Provides: libhdf5-mpich2- at SONAME@-dbg
Replaces: libhdf5-mpich2- at SONAME@-dbg (<< 1.8.12-2~)
Breaks: libhdf5-mpich2- at SONAME@-dbg (<< 1.8.12-2~)
Multi-Arch: same
diff --git a/debian/hdf5-mpich.pc b/debian/hdf5-mpich.pc
index fe4c058..1c01efb 100644
--- a/debian/hdf5-mpich.pc
+++ b/debian/hdf5-mpich.pc
@@ -3,4 +3,4 @@ Description: Hierarchical Data Format 5 (HDF5) - MPICH version
Version: 1.8.13
Requires: mpich
Cflags:
-Libs: -lhdf5
+Libs: -lhdf5_mpich
diff --git a/debian/hdf5-openmpi.pc b/debian/hdf5-openmpi.pc
index 1fa7a41..a59bf14 100644
--- a/debian/hdf5-openmpi.pc
+++ b/debian/hdf5-openmpi.pc
@@ -3,4 +3,4 @@ Description: Hierarchical Data Format 5 (HDF5) - OpenMPI version
Version: 1.8.13
Requires:
Cflags: -I/usr/include/openmpi
-Libs: -lhdf5 -L/usr/lib/openmpi/lib -lmpi
+Libs: -lhdf5_openmpi -L/usr/lib/openmpi/lib -lmpi
diff --git a/debian/libhdf5-flavor-cpp-soname.install.in b/debian/libhdf5-flavor-cpp-soname.install.in
index 60789a2..866e92c 100644
--- a/debian/libhdf5-flavor-cpp-soname.install.in
+++ b/debian/libhdf5-flavor-cpp-soname.install.in
@@ -1,2 +1,2 @@
-usr/lib/*/libhdf5_cpp.so.*
-usr/lib/*/libhdf5_hl_cpp.so.*
+usr/lib/*/libhdf5 at FLAVORLIB@_cpp.so.*
+usr/lib/*/libhdf5 at FLAVORLIB@_hl_cpp.so.*
diff --git a/debian/libhdf5-flavor-dev.install.in b/debian/libhdf5-flavor-dev.install.in
index 1c1742b..5b64666 100644
--- a/debian/libhdf5-flavor-dev.install.in
+++ b/debian/libhdf5-flavor-dev.install.in
@@ -1,6 +1,6 @@
usr/include
-usr/lib/*/libhdf5*.so
-usr/lib/*/libhdf5*.settings
-usr/lib/*/libhdf5*.a
+usr/lib/*/libhdf5 at FLAVORLIB@*.so
+usr/lib/*/libhdf5 at FLAVORLIB@*.settings
+usr/lib/*/libhdf5 at FLAVORLIB@*.a
@IFMPI at usr/bin/h5pcc
@IFMPI at usr/bin/h5pfc
diff --git a/debian/libhdf5-flavor-dev.links.in b/debian/libhdf5-flavor-dev.links.in
new file mode 100644
index 0000000..4185222
--- /dev/null
+++ b/debian/libhdf5-flavor-dev.links.in
@@ -0,0 +1,9 @@
+ at IFMPI@usr/lib/@MULTIARCH@/libhdf5 at FLAVORLIB@.so usr/lib/@MULTIARCH@/@FLAVOR@/libhdf5.so
+ at IFMPI@usr/lib/@MULTIARCH@/libhdf5 at FLAVORLIB@_fortran.so usr/lib/@MULTIARCH@/@FLAVOR@/libhdf5_fortran.so
+ at IFMPI@usr/lib/@MULTIARCH@/libhdf5 at FLAVORLIB@_hl.so usr/lib/@MULTIARCH@/@FLAVOR@/libhdf5_hl.so
+ at IFMPI@usr/lib/@MULTIARCH@/libhdf5 at FLAVORLIB@hl_fortran.so usr/lib/@MULTIARCH@/@FLAVOR@/libhdf5hl_fortran.so
+
+ at IFMPI@usr/lib/@MULTIARCH@/libhdf5 at FLAVORLIB@.a usr/lib/@MULTIARCH@/@FLAVOR@/libhdf5.a
+ at IFMPI@usr/lib/@MULTIARCH@/libhdf5 at FLAVORLIB@_fortran.a usr/lib/@MULTIARCH@/@FLAVOR@/libhdf5_fortran.a
+ at IFMPI@usr/lib/@MULTIARCH@/libhdf5 at FLAVORLIB@_hl.a usr/lib/@MULTIARCH@/@FLAVOR@/libhdf5_hl.a
+ at IFMPI@usr/lib/@MULTIARCH@/libhdf5 at FLAVORLIB@hl_fortran.a usr/lib/@MULTIARCH@/@FLAVOR@/libhdf5hl_fortran.a
diff --git a/debian/libhdf5-flavor-dev.postinst.in b/debian/libhdf5-flavor-dev.postinst.in
new file mode 100644
index 0000000..510e39f
--- /dev/null
+++ b/debian/libhdf5-flavor-dev.postinst.in
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+if [ "@FLAVOR@" != "serial" ]; then
+ update-alternatives \
+ --install /usr/bin/h5pcc h5pcc /usr/bin/h5pcc. at FLAVOR@ 50 \
+ --slave /usr/bin/h5pfc h5pfc /usr/bin/h5pfc. at FLAVOR@ \
+ --slave /usr/share/man/man1/h5pcc.1.gz h5pcc.1.gz /usr/share/man/man1/h5pcc. at FLAVOR@.1.gz \
+ --slave /usr/share/man/man1/h5pfc.1.gz h5pfc.1.gz /usr/share/man/man1/h5pfc. at FLAVOR@.1.gz
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libhdf5-flavor-dev.prerm.in b/debian/libhdf5-flavor-dev.prerm.in
new file mode 100644
index 0000000..1b181a7
--- /dev/null
+++ b/debian/libhdf5-flavor-dev.prerm.in
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]; then
+ if [ "@FLAVOR@" != "serial" ]; then
+ update-alternatives \
+ --remove h5pcc /usr/bin/h5pcc. at FLAVOR@
+ fi
+fi
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libhdf5-flavor-soname.install.in b/debian/libhdf5-flavor-soname.install.in
index 4297e9b..4138d0e 100644
--- a/debian/libhdf5-flavor-soname.install.in
+++ b/debian/libhdf5-flavor-soname.install.in
@@ -1,4 +1,4 @@
-usr/lib/*/libhdf5.so.*
-usr/lib/*/libhdf5_hl.so.*
-usr/lib/*/libhdf5_fortran.so.*
-usr/lib/*/libhdf5hl_fortran.so.*
+usr/lib/*/libhdf5 at FLAVORLIB@.so.*
+usr/lib/*/libhdf5 at FLAVORLIB@_hl.so.*
+usr/lib/*/libhdf5 at FLAVORLIB@_fortran.so.*
+usr/lib/*/libhdf5 at FLAVORLIB@hl_fortran.so.*
diff --git a/debian/libhdf5-mpich-dev.manpages b/debian/libhdf5-mpich-dev.manpages
index 5837d0b..1cabfa6 100644
--- a/debian/libhdf5-mpich-dev.manpages
+++ b/debian/libhdf5-mpich-dev.manpages
@@ -1,2 +1,2 @@
-debian/man/h5pcc.1
-debian/man/h5pfc.1
+debian/man/h5pcc.mpich.1
+debian/man/h5pfc.mpich.1
diff --git a/debian/libhdf5-openmpi-dev.manpages b/debian/libhdf5-openmpi-dev.manpages
index 5837d0b..aa5e855 100644
--- a/debian/libhdf5-openmpi-dev.manpages
+++ b/debian/libhdf5-openmpi-dev.manpages
@@ -1,2 +1,2 @@
-debian/man/h5pcc.1
-debian/man/h5pfc.1
+debian/man/h5pcc.openmpi.1
+debian/man/h5pfc.openmpi.1
diff --git a/debian/patches/flavor-configure-option.patch b/debian/patches/flavor-configure-option.patch
new file mode 100644
index 0000000..4c183e1
--- /dev/null
+++ b/debian/patches/flavor-configure-option.patch
@@ -0,0 +1,445 @@
+Description: Add option --with-flavor=<flavor-name> to configure
+ so that '_<flavor-name>' is appended to each built library, .e.g.
+ libhdf5_<flavor-name>.so.
+ This we can avoid library name collisions when installing both serial
+ and $mpi flavors of the libraries:
+ * serial is built with no flavor name
+ * $mpi parallel versions use --with-flavor=$mpi
+Author: Gilles Filippini <pini at debian.org>
+Index: hdf5/configure.ac
+===================================================================
+--- hdf5.orig/configure.ac
++++ hdf5/configure.ac
+@@ -4494,6 +4494,24 @@ fi
+ ##
+ AM_CONDITIONAL([HAVE_SHARED_CONDITIONAL], [test "X$enable_shared" = "Xyes"])
+
++## ----------------------------------------------------------------------
++## Option to use a flavor name
++##
++AC_ARG_WITH([flavor],
++ [AS_HELP_STRING([--with-flavor=<flavor_name>],
++ [append specified flavor name to the hdf5 libraries"'" names])],
++ [],
++ [with_flavor=""])
++if test -n "$with_flavor"; then
++ FLAVOR_NAME="$with_flavor"
++ FLAVOR="_$FLAVOR_NAME"
++else
++ FLAVOR_NAME="(none)"
++ FLAVOR=
++fi
++AC_SUBST([FLAVOR_NAME])
++AC_SUBST([FLAVOR])
++
+ AC_CONFIG_FILES([src/libhdf5.settings
+ Makefile
+ src/Makefile
+Index: hdf5/src/libhdf5.settings.in
+===================================================================
+--- hdf5.orig/src/libhdf5.settings.in
++++ hdf5/src/libhdf5.settings.in
+@@ -12,6 +12,7 @@ General Information:
+ Byte sex: @BYTESEX@
+ Libraries: @STATIC_SHARED@
+ Installation point: @prefix@
++ Flavor name: @FLAVOR_NAME@
+
+ Compiling Options:
+ ------------------
+Index: hdf5/src/Makefile.am
+===================================================================
+--- hdf5.orig/src/Makefile.am
++++ hdf5/src/Makefile.am
+@@ -29,10 +29,10 @@ include $(top_srcdir)/config/lt_vers.am
+ noinst_PROGRAMS = H5detect H5make_libsettings
+
+ # Our main target, the HDF5 library
+-lib_LTLIBRARIES=libhdf5.la
++lib_LTLIBRARIES=libhdf5 at FLAVOR@.la
+
+ # Add libtool numbers to the HDF5 library (from config/lt_vers.am)
+-libhdf5_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
++libhdf5 at FLAVOR@_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
+
+ # H5Tinit.c and H5lib_settings.c are generated files and should be cleaned.
+ MOSTLYCLEANFILES=H5Tinit.c H5lib_settings.c
+@@ -40,7 +40,7 @@ MOSTLYCLEANFILES=H5Tinit.c H5lib_setting
+ DISTCLEANFILES=H5pubconf.h
+
+ # library sources
+-libhdf5_la_SOURCES= H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \
++libhdf5 at FLAVOR@_la_SOURCES= H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \
+ H5A.c H5Abtree2.c H5Adense.c H5Adeprec.c H5Aint.c H5Atest.c \
+ H5AC.c H5B.c H5Bcache.c H5Bdbg.c \
+ H5B2.c H5B2cache.c H5B2dbg.c H5B2hdr.c H5B2int.c H5B2stat.c H5B2test.c \
+@@ -120,7 +120,9 @@ include_HEADERS = hdf5.h H5api_adpt.h H5
+
+ # install libhdf5.settings in lib directory
+ settingsdir=$(libdir)
+-settings_DATA=libhdf5.settings
++libhdf5 at FLAVOR@.settings: libhdf5.settings
++ ln -s $< $@
++settings_DATA=libhdf5 at FLAVOR@.settings
+
+ # Number format detection
+ # The LD_LIBRARY_PATH setting is a kludge.
+@@ -169,7 +171,7 @@ $(top_srcdir)/src/H5overflow.h: $(top_sr
+ # without HDF5 macros.
+ .PHONY: trace
+
+-trace: $(libhdf5_la_SOURCES)
++trace: $(libhdf5 at FLAVOR@_la_SOURCES)
+ @for dep in $? dummy; do \
+ if test $$dep != "dummy" -a -n "$(PERL)"; then \
+ case "$$dep" in \
+Index: hdf5/test/testlibinfo.sh.in
+===================================================================
+--- hdf5.orig/test/testlibinfo.sh.in
++++ hdf5/test/testlibinfo.sh.in
+@@ -79,7 +79,7 @@ fi
+ # built too.
+ if [ -n $Shared_Lib ]; then
+ h5libdir=../src/.libs
+- shlib=$(grep dlname ../src/libhdf5.la | sed -e "s/dlname='//" -e "s/'//")
++ shlib=$(grep dlname ../src/libhdf5 at FLAVOR@.la | sed -e "s/dlname='//" -e "s/'//")
+ else
+ h5libdir=../src
+ fi
+@@ -98,9 +98,9 @@ fi
+
+ # Though rare, libhdf5.a may not have been built.
+ if [ x-$Static_Lib = x-yes ]; then
+- CHECK_LIBINFO ${h5libdir}/libhdf5.a
++ CHECK_LIBINFO ${h5libdir}/libhdf5 at FLAVOR@.a
+ else
+- SKIP ${h5libdir}/libhdf5.a
++ SKIP ${h5libdir}/libhdf5 at FLAVOR@.a
+ fi
+
+ # Check if executables has the lib information only if shared lib is not
+Index: hdf5/tools/misc/h5cc.in
+===================================================================
+--- hdf5.orig/tools/misc/h5cc.in
++++ hdf5/tools/misc/h5cc.in
+@@ -172,7 +172,7 @@ usage() {
+ # libhdf5.settings file reside in the lib directory.
+ showconfigure()
+ {
+- cat ${libdir}/libhdf5.settings
++ cat ${libdir}/libhdf5 at FLAVOR@.settings
+ status=$?
+ }
+
+@@ -329,9 +329,9 @@ if test "x$do_link" = "xyes"; then
+ shared_link=""
+ # conditionnaly link with the hl library
+ if test "X$HL" = "Xhl"; then
+- libraries=" $libraries -lhdf5_hl -lhdf5 "
++ libraries=" $libraries -lhdf5 at FLAVOR@_hl -lhdf5 at FLAVOR@ "
+ else
+- libraries=" $libraries -lhdf5 "
++ libraries=" $libraries -lhdf5 at FLAVOR@ "
+ fi
+ link_args="$link_args -L${libdir}"
+
+@@ -361,11 +361,11 @@ if test "x$do_link" = "xyes"; then
+ new_libraries=""
+ for lib in $libraries; do
+ case "$lib" in
+- -lhdf5)
+- new_libraries="$new_libraries ${libdir}/libhdf5.a"
++ -lhdf5 at FLAVOR@)
++ new_libraries="$new_libraries ${libdir}/libhdf5 at FLAVOR@.a"
+ ;;
+- -lhdf5_hl)
+- new_libraries="$new_libraries ${libdir}/libhdf5_hl.a"
++ -lhdf5 at FLAVOR@_hl)
++ new_libraries="$new_libraries ${libdir}/libhdf5 at FLAVOR@_hl.a"
+ ;;
+ *)
+ new_libraries="$new_libraries $lib"
+Index: hdf5/c++/src/Makefile.am
+===================================================================
+--- hdf5.orig/c++/src/Makefile.am
++++ hdf5/c++/src/Makefile.am
+@@ -25,10 +25,10 @@ include $(top_srcdir)/config/lt_vers.am
+ AM_CPPFLAGS+=-I$(top_srcdir)/src
+
+ # This is our main target
+-lib_LTLIBRARIES=libhdf5_cpp.la
++lib_LTLIBRARIES=libhdf5 at FLAVOR@_cpp.la
+
+ # Add libtool numbers to the HDF5 C++ library (from config/lt_vers.am)
+-libhdf5_cpp_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
++libhdf5 at FLAVOR@_cpp_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
+
+ # Shared C++ libraries aren't universally supported.
+ if CXX_SHARED_CONDITIONAL
+@@ -39,7 +39,7 @@ endif
+ bin_SCRIPTS=h5c++
+
+ # Source files for the library
+-libhdf5_cpp_la_SOURCES=H5Exception.cpp H5IdComponent.cpp H5Library.cpp \
++libhdf5 at FLAVOR@_cpp_la_SOURCES=H5Exception.cpp H5IdComponent.cpp H5Library.cpp \
+ H5Attribute.cpp H5Location.cpp H5Object.cpp H5PropList.cpp \
+ H5FaccProp.cpp H5FcreatProp.cpp H5DcreatProp.cpp H5DxferProp.cpp \
+ H5DataType.cpp H5DataSpace.cpp H5AbstractDs.cpp H5AtomType.cpp \
+@@ -48,7 +48,7 @@ libhdf5_cpp_la_SOURCES=H5Exception.cpp H
+ H5DataSet.cpp H5CommonFG.cpp H5Group.cpp H5File.cpp
+
+ # HDF5 C++ library depends on HDF5 Library.
+-libhdf5_cpp_la_LIBADD=$(LIBHDF5)
++libhdf5 at FLAVOR@_cpp_la_LIBADD=$(LIBHDF5)
+
+ # Public headers
+ include_HEADERS=H5Cpp.h H5AbstractDs.h H5AtomType.h H5Attribute.h H5Classes.h \
+Index: hdf5/c++/src/h5c++.in
+===================================================================
+--- hdf5.orig/c++/src/h5c++.in
++++ hdf5/c++/src/h5c++.in
+@@ -161,7 +161,7 @@ usage() {
+ # libhdf5.settings file reside in the lib directory.
+ showconfigure()
+ {
+- cat ${libdir}/libhdf5.settings
++ cat ${libdir}/libhdf5 at FLAVOR@.settings
+ status=$?
+ }
+
+@@ -315,9 +315,9 @@ if test "x$do_link" = "xyes"; then
+ shared_link=""
+ # conditionnaly link with the hl library
+ if test "X$HL" = "Xhl"; then
+- libraries=" $libraries -lhdf5_hl_cpp -lhdf5_cpp -lhdf5_hl -lhdf5 "
++ libraries=" $libraries -lhdf5 at FLAVOR@_hl_cpp -lhdf5 at FLAVOR@_cpp -lhdf5 at FLAVOR@_hl -lhdf5 at FLAVOR@ "
+ else
+- libraries=" $libraries -lhdf5_cpp -lhdf5 "
++ libraries=" $libraries -lhdf5 at FLAVOR@_cpp -lhdf5 at FLAVOR@ "
+ fi
+ link_args="$link_args -L${libdir}"
+
+@@ -347,17 +347,17 @@ if test "x$do_link" = "xyes"; then
+ new_libraries=""
+ for lib in $libraries; do
+ case "$lib" in
+- -lhdf5)
+- new_libraries="$new_libraries ${libdir}/libhdf5.a"
++ -lhdf5 at FLAVOR@)
++ new_libraries="$new_libraries ${libdir}/libhdf5 at FLAVOR@.a"
+ ;;
+- -lhdf5_hl)
+- new_libraries="$new_libraries ${libdir}/libhdf5_hl.a"
++ -lhdf5 at FLAVOR@_hl)
++ new_libraries="$new_libraries ${libdir}/libhdf5 at FLAVOR@_hl.a"
+ ;;
+- -lhdf5_cpp)
+- new_libraries="$new_libraries ${libdir}/libhdf5_cpp.a"
++ -lhdf5 at FLAVOR@_cpp)
++ new_libraries="$new_libraries ${libdir}/libhdf5 at FLAVOR@_cpp.a"
+ ;;
+- -lhdf5_hl_cpp)
+- new_libraries="$new_libraries ${libdir}/libhdf5_hl_cpp.a"
++ -lhdf5 at FLAVOR@_hl_cpp)
++ new_libraries="$new_libraries ${libdir}/libhdf5 at FLAVOR@_hl_cpp.a"
+ ;;
+ *)
+ new_libraries="$new_libraries $lib"
+Index: hdf5/fortran/src/h5fc.in
+===================================================================
+--- hdf5.orig/fortran/src/h5fc.in
++++ hdf5/fortran/src/h5fc.in
+@@ -156,7 +156,7 @@ usage() {
+ # libhdf5.settings file reside in the lib directory.
+ showconfigure()
+ {
+- cat ${libdir}/libhdf5.settings
++ cat ${libdir}/libhdf5 at FLAVOR@.settings
+ status=$?
+ }
+
+@@ -302,9 +302,9 @@ if test "x$do_link" = "xyes"; then
+ shared_link=""
+ # conditionnaly link with the hl library
+ if test "X$HL" = "Xhl"; then
+- libraries=" $libraries -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 "
++ libraries=" $libraries -lhdf5 at FLAVOR@hl_fortran -lhdf5 at FLAVOR@_hl -lhdf5 at FLAVOR@_fortran -lhdf5 at FLAVOR@ "
+ else
+- libraries=" $libraries -lhdf5_fortran -lhdf5 "
++ libraries=" $libraries -lhdf5 at FLAVOR@_fortran -lhdf5 at FLAVOR@ "
+ fi
+ link_args="$link_args -L${libdir}"
+
+@@ -327,17 +327,17 @@ if test "x$do_link" = "xyes"; then
+ new_libraries=""
+ for lib in $libraries; do
+ case "$lib" in
+- -lhdf5)
+- new_libraries="$new_libraries ${libdir}/libhdf5.a"
++ -lhdf5 at FLAVOR@)
++ new_libraries="$new_libraries ${libdir}/libhdf5 at FLAVOR@.a"
+ ;;
+- -lhdf5_hl)
+- new_libraries="$new_libraries ${libdir}/libhdf5_hl.a"
++ -lhdf5 at FLAVOR@_hl)
++ new_libraries="$new_libraries ${libdir}/libhdf5 at FLAVOR@_hl.a"
+ ;;
+- -lhdf5_fortran)
+- new_libraries="$new_libraries ${libdir}/libhdf5_fortran.a"
++ -lhdf5 at FLAVOR@_fortran)
++ new_libraries="$new_libraries ${libdir}/libhdf5 at FLAVOR@_fortran.a"
+ ;;
+- -lhdf5hl_fortran)
+- new_libraries="$new_libraries ${libdir}/libhdf5hl_fortran.a"
++ -lhdf5 at FLAVOR@hl_fortran)
++ new_libraries="$new_libraries ${libdir}/libhdf5 at FLAVOR@hl_fortran.a"
+ ;;
+ *)
+ new_libraries="$new_libraries $lib"
+Index: hdf5/fortran/src/Makefile.am
+===================================================================
+--- hdf5.orig/fortran/src/Makefile.am
++++ hdf5/fortran/src/Makefile.am
+@@ -29,10 +29,10 @@ AM_FCFLAGS+=-I$(top_srcdir)/src -I$(top_
+ AM_FCLIBS=$(LIBHDF5)
+
+ # This is our main target, the fortran library
+-lib_LTLIBRARIES=libhdf5_fortran.la
++lib_LTLIBRARIES=libhdf5 at FLAVOR@_fortran.la
+
+ # Add libtool numbers to the HDF5 Fortran library (from config/lt_vers.am)
+-libhdf5_fortran_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
++libhdf5 at FLAVOR@_fortran_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
+
+ # Some Fortran compilers can't build shared libraries, so sometimes we
+ # want to build a shared C library and a static Fortran library. If so,
+@@ -69,7 +69,7 @@ else
+ endif
+
+ # Source files for the library.
+-libhdf5_fortran_la_SOURCES=H5f90global.f90 \
++libhdf5 at FLAVOR@_fortran_la_SOURCES=H5f90global.f90 \
+ H5fortran_types.f90 H5_ff$(F_STATUS).f90 H5_ff.f90 H5Aff.f90 H5Dff.f90 H5Eff.f90 \
+ H5Fff.f90 H5Gff.f90 H5Iff.f90 H5Lff.f90 H5Off.f90 H5Pff.f90 H5Rff.f90 H5Sff.f90 \
+ H5Tff.f90 H5Zff.f90 \
+@@ -80,7 +80,7 @@ libhdf5_fortran_la_SOURCES=H5f90global.f
+ H5Off$(F_STATUS).f90 H5Pff$(F_STATUS).f90 H5Rff$(F_STATUS).f90 H5Tff$(F_STATUS).f90 $(PARALLEL_COND_SRC)
+
+ # HDF5 Fortran library depends on HDF5 Library.
+-libhdf5_fortran_la_LIBADD=$(LIBHDF5)
++libhdf5 at FLAVOR@_fortran_la_LIBADD=$(LIBHDF5)
+
+ # h5fc is generated during configure.
+ # Remove it only when distclean.
+Index: hdf5/hl/src/Makefile.am
+===================================================================
+--- hdf5.orig/hl/src/Makefile.am
++++ hdf5/hl/src/Makefile.am
+@@ -25,16 +25,16 @@ include $(top_srcdir)/config/lt_vers.am
+ AM_CPPFLAGS+=-I$(top_srcdir)/src
+
+ # This library is our main target.
+-lib_LTLIBRARIES=libhdf5_hl.la
++lib_LTLIBRARIES=libhdf5 at FLAVOR@_hl.la
+
+ # Add libtool numbers to the HDF5 hl library (from config/lt_vers.am)
+-libhdf5_hl_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
++libhdf5 at FLAVOR@_hl_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
+
+ # List sources to include in the HDF5 HL Library.
+-libhdf5_hl_la_SOURCES=H5DO.c H5DS.c H5IM.c H5LT.c H5LTanalyze.c H5LTparse.c H5PT.c H5TB.c
++libhdf5 at FLAVOR@_hl_la_SOURCES=H5DO.c H5DS.c H5IM.c H5LT.c H5LTanalyze.c H5LTparse.c H5PT.c H5TB.c
+
+ # HDF5 HL library depends on HDF5 Library.
+-libhdf5_hl_la_LIBADD=$(LIBHDF5)
++libhdf5 at FLAVOR@_hl_la_LIBADD=$(LIBHDF5)
+
+ # Public header files (to be installed)
+ include_HEADERS=hdf5_hl.h H5DOpublic.h H5IMpublic.h H5LTpublic.h H5TBpublic.h H5DSpublic.h H5PTpublic.h
+Index: hdf5/hl/c++/src/Makefile.am
+===================================================================
+--- hdf5.orig/hl/c++/src/Makefile.am
++++ hdf5/hl/c++/src/Makefile.am
+@@ -25,10 +25,10 @@ include $(top_srcdir)/config/lt_vers.am
+ AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top_srcdir)/hl/src
+
+ # This is our main target
+-lib_LTLIBRARIES=libhdf5_hl_cpp.la
++lib_LTLIBRARIES=libhdf5 at FLAVOR@_hl_cpp.la
+
+ # Add libtool numbers to the HDF5 HL C++ library (from config/lt_vers.am)
+-libhdf5_hl_cpp_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
++libhdf5 at FLAVOR@_hl_cpp_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
+
+ # Shared C++ libraries aren't universally supported.
+ if CXX_SHARED_CONDITIONAL
+@@ -38,10 +38,10 @@ endif
+
+ # Source files for the library
+ # At the moment, only the H5PT Packet Table has a C++ API.
+-libhdf5_hl_cpp_la_SOURCES=H5PacketTable.cpp
++libhdf5 at FLAVOR@_hl_cpp_la_SOURCES=H5PacketTable.cpp
+
+ # HDF5 HL C++ library depends on HDF5 Library.
+-libhdf5_hl_cpp_la_LIBADD=$(LIBH5_HL) $(LIBH5CPP)
++libhdf5 at FLAVOR@_hl_cpp_la_LIBADD=$(LIBH5_HL) $(LIBH5CPP)
+
+ # Public headers
+ include_HEADERS=H5PacketTable.h
+Index: hdf5/hl/fortran/src/Makefile.am
+===================================================================
+--- hdf5.orig/hl/fortran/src/Makefile.am
++++ hdf5/hl/fortran/src/Makefile.am
+@@ -27,10 +27,10 @@ AM_CPPFLAGS+=-I$(top_srcdir)/src -I$(top
+ AM_FCFLAGS+=-I$(top_builddir)/fortran/src $(F9XMODFLAG)$(top_builddir)/fortran/src
+
+ # Our main target, the high-level fortran library
+-lib_LTLIBRARIES=libhdf5hl_fortran.la
++lib_LTLIBRARIES=libhdf5 at FLAVOR@hl_fortran.la
+
+ # Add libtool numbers to the HDF5 HL Fortran library (from config/lt_vers.am)
+-libhdf5hl_fortran_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
++libhdf5 at FLAVOR@hl_fortran_la_LDFLAGS= -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
+
+ # Some Fortran compilers can't build shared libraries, so sometimes we
+ # want to build a shared C library and a static Fortran library. If so,
+@@ -46,11 +46,11 @@ endif
+ #endif
+
+ # List sources to include in the HDF5 HL Fortran library.
+-libhdf5hl_fortran_la_SOURCES=H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \
++libhdf5 at FLAVOR@hl_fortran_la_SOURCES=H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \
+ H5DSff.f90 H5LTff.f90 H5IMff.f90 H5TBff.f90
+
+ # HDF5 HL Fortran library depends on HDF5 Library.
+-libhdf5hl_fortran_la_LIBADD=$(LIBH5_HL) $(LIBH5F)
++libhdf5 at FLAVOR@hl_fortran_la_LIBADD=$(LIBH5_HL) $(LIBH5F)
+
+ # Fortran module files can have different extensions and different names
+ # (e.g., different capitalizations) on different platforms. Write rules
+Index: hdf5/config/commence.am
+===================================================================
+--- hdf5.orig/config/commence.am
++++ hdf5/config/commence.am
+@@ -32,15 +32,15 @@ CP=cp
+ RUNEXEC=$(RUNSERIAL)
+
+ # Libraries to link to while building
+-LIBHDF5=$(top_builddir)/src/libhdf5.la
++LIBHDF5=$(top_builddir)/src/libhdf5 at FLAVOR@.la
+ LIBH5TEST=$(top_builddir)/test/libh5test.la
+-LIBH5F=$(top_builddir)/fortran/src/libhdf5_fortran.la
++LIBH5F=$(top_builddir)/fortran/src/libhdf5 at FLAVOR@_fortran.la
+ LIBH5FTEST=$(top_builddir)/fortran/test/libh5test_fortran.la
+-LIBH5CPP=$(top_builddir)/c++/src/libhdf5_cpp.la
++LIBH5CPP=$(top_builddir)/c++/src/libhdf5 at FLAVOR@_cpp.la
+ LIBH5TOOLS=$(top_builddir)/tools/lib/libh5tools.la
+-LIBH5_HL=$(top_builddir)/hl/src/libhdf5_hl.la
+-LIBH5F_HL=$(top_builddir)/hl/fortran/src/libhdf5hl_fortran.la
+-LIBH5CPP_HL=$(top_builddir)/hl/c++/src/libhdf5_hl_cpp.la
++LIBH5_HL=$(top_builddir)/hl/src/libhdf5 at FLAVOR@_hl.la
++LIBH5F_HL=$(top_builddir)/hl/fortran/src/libhdf5 at FLAVOR@hl_fortran.la
++LIBH5CPP_HL=$(top_builddir)/hl/c++/src/libhdf5 at FLAVOR@_hl_cpp.la
+
+ # Install directories that automake doesn't know about
+ docdir = $(exec_prefix)/doc
diff --git a/debian/patches/series b/debian/patches/series
index c07aa72..aa93df5 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,6 +1,7 @@
#mpi.diff
+flavor-configure-option.patch
path_max.diff
ullong_force.diff
relax-version-check.patch
-skip_cxx_inclusion.diff
+#skip_cxx_inclusion.diff
soname.diff
diff --git a/debian/rules b/debian/rules
index 1128812..eea2dbb 100755
--- a/debian/rules
+++ b/debian/rules
@@ -84,11 +84,13 @@ endif
CONFIGURE_FLAGS = --prefix=/usr --host=$(DEB_HOST_GNU_TYPE) \
--build=$(DEB_BUILD_GNU_TYPE) \
--mandir=\$${prefix}/share/man \
- --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
--with-pthread --enable-linux-lfs --enable-unsupported \
--enable-shared --enable-production=$(USE_PROD) \
- --disable-sharedlib-rpath --with-zlib --with-default-api-version=v18
-SERIAL_ONLY_FLAGS = --enable-fortran --enable-threadsafe --enable-cxx
+ --disable-sharedlib-rpath --with-zlib --with-default-api-version=v18 \
+ --enable-fortran
+SERIAL_FLAGS = --enable-threadsafe --enable-cxx --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
+OPENMPI_FLAGS = --enable-parallel=yes --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) --includedir=\$${prefix}/include/openmpi --with-flavor=openmpi
+MPICH_FLAGS = --enable-parallel=yes --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) --includedir=\$${prefix}/include/mpich --with-flavor=mpich
configure: configure-stamp-debian configure-stamp \
$(configure_stamp_openmpi) configure-stamp-mpich
@@ -98,17 +100,21 @@ configure-stamp-debian: debian/control.in
cd debian && for file in *.*.in; do \
for flavor in serial openmpi mpich; do \
helper=`basename $$file .in | sed 's/soname/$(soname)/g'` ; \
- flavorstr="" ; \
+ flavorpkgstr="" ; \
+ flavorlibstr="" ; \
ifmpi="#"; \
if [ "$$flavor" != "serial" ]; then \
if echo "$$helper" | grep -Eq '\-cpp|\.shlibs'; then \
continue ; \
fi ; \
- flavorstr="-$$flavor" ; \
+ flavorpkgstr="-$$flavor" ; \
+ flavorlibstr="_$$flavor" ; \
ifmpi="" ; \
fi ; \
- helper=`echo $$helper | sed 's/-flavor/'$$flavorstr'/'` ; \
- sed -e 's/@FLAVOR@/'$$flavor'/g' \
+ helper=`echo $$helper | sed 's/-flavor/'$$flavorpkgstr'/'` ; \
+ sed -e 's/@FLAVORLIB@/'$$flavorlibstr'/g' \
+ -e 's/@FLAVORPKG@/'$$flavorpkgstr'/g' \
+ -e 's/@FLAVOR@/'$$flavor'/g' \
-e 's/@IFMPI@/'$$ifmpi'/g' \
-e 's/@MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \
-e 's/@SONAME@/$(soname)/g' \
@@ -125,7 +131,7 @@ configure-stamp: configure-stamp-debian
-mkdir debian/build
# configure serial version
cd debian/build && CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" FFLAGS="$(FFLAGS)" CC=/usr/bin/cc CXX=/usr/bin/c++ FC=gfortran \
- ../../configure $(CONFIGURE_FLAGS) $(SERIAL_ONLY_FLAGS) || { cat config.log; exit 1; }
+ ../../configure $(CONFIGURE_FLAGS) $(SERIAL_FLAGS) || { cat config.log; exit 1; }
# Upgrade the doxygen configuration file
cp c++/src/cpp_doc_config c++/src/cpp_doc_config_u
cd c++/src && doxygen -s -u cpp_doc_config_u
@@ -137,8 +143,10 @@ configure-stamp-openmpi: configure-stamp-debian
# configure version with openmpi
cd debian/build-openmpi && CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" FFLAGS="$(FFLAGS)" \
CC=mpicc.openmpi FC=mpif90.openmpi F9X=mpif90.openmpi RUNPARALLEL=/usr/bin/mpirun.openmpi \
- OMPI_MCA_disable_memory_allocator=1 ../../configure $(CONFIGURE_FLAGS) --enable-fortran \
- --enable-parallel=yes || { cat config.log; exit 1; }
+ OMPI_MCA_disable_memory_allocator=1 ../../configure $(CONFIGURE_FLAGS) $(OPENMPI_FLAGS) \
+ || { cat config.log; exit 1; }
+ ln debian/man/h5pcc.1 debian/man/h5pcc.openmpi.1
+ ln debian/man/h5pfc.1 debian/man/h5pfc.openmpi.1
touch $@
configure-stamp-mpich: configure-stamp-debian
@@ -148,8 +156,10 @@ configure-stamp-mpich: configure-stamp-debian
cd debian/build-mpich && CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" FFLAGS="$(FFLAGS)" \
CC=mpicc.mpich \
CXX=mpicxx.mpich FC=mpif90.mpich F9X=mpif90.mpich RUNPARALLEL=/usr/bin/mpirun.mpich \
- ../../configure $(CONFIGURE_FLAGS) --enable-fortran \
- --enable-parallel=yes || { cat config.log; exit 1; }
+ ../../configure $(CONFIGURE_FLAGS) $(MPICH_FLAGS) \
+ || { cat config.log; exit 1; }
+ ln debian/man/h5pcc.1 debian/man/h5pcc.mpich.1
+ ln debian/man/h5pfc.1 debian/man/h5pfc.mpich.1
touch $@
prep:
@@ -200,6 +210,8 @@ clean:
-rm -rf c++/src/HTML
-rm -rf html/cpplus_RM
-rm -f c++/src/cpp_doc_config_u*
+ -rm -f debian/man/h5pcc.*.1
+ -rm -f debian/man/h5pfc.*.1
dh_clean configure-stamp* build-stamp* install-stamp*
install: build prep install-serial $(install_openmpi) install-mpich install-doc
@@ -223,7 +235,10 @@ install-openmpi: build-stamp-openmpi
chrpath -d $(CURDIR)/debian/build-openmpi/tmpinst/usr/lib/*/libhdf5*so*
dh_install -p$(openmpipack) -p$(package)-openmpi-dev \
--sourcedir=debian/build-openmpi/tmpinst
- install -m644 -D debian/hdf5-openmpi.pc debian/$(package)-openmpi-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/hdf5.pc
+ install -m644 -D debian/hdf5-openmpi.pc debian/$(package)-openmpi-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/hdf5-openmpi.pc
+ cd debian/$(package)-openmpi-dev/usr/bin && \
+ mv h5pcc h5pcc.openmpi && \
+ mv h5pfc h5pfc.openmpi
install-mpich: build-stamp-mpich
dh_testdir
@@ -233,7 +248,10 @@ install-mpich: build-stamp-mpich
chrpath -d $(CURDIR)/debian/build-mpich/tmpinst/usr/lib/*/libhdf5*so*
dh_install -p$(mpichpack) -p$(package)-mpich-dev \
--sourcedir=debian/build-mpich/tmpinst
- install -m644 -D debian/hdf5-mpich.pc debian/$(package)-mpich-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/hdf5.pc
+ install -m644 -D debian/hdf5-mpich.pc debian/$(package)-mpich-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/hdf5-mpich.pc
+ cd debian/$(package)-mpich-dev/usr/bin && \
+ mv h5pcc h5pcc.mpich && \
+ mv h5pfc h5pfc.mpich
install-doc: HTML_DIR := debian/$(package)-doc/usr/share/doc/$(package)-doc/html
install-doc: build-indep
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/hdf5.git
More information about the Pkg-grass-devel
mailing list