[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