[pnfft] 01/02: d/*: support build for multiple precisions

Ghislain Vaillant ghisvail-guest at moszumanska.debian.org
Thu Sep 11 14:03:10 UTC 2014


This is an automated email from the git hooks/post-receive script.

ghisvail-guest pushed a commit to branch master
in repository pnfft.

commit 95e01f06b2bc8d1d9aee39799b7ed944e12b498f
Author: Ghislain Antony Vaillant <ghisvail at gmail.com>
Date:   Thu Sep 11 15:01:59 2014 +0100

    d/*: support build for multiple precisions
---
 debian/control                                     | 62 ++++++++++++++++------
 debian/libpnfft-dev.install                        |  4 --
 debian/libpnfft1-dev.install                       |  3 ++
 ...libpnfft0.install => libpnfft1-double0.install} |  0
 debian/libpnfft1-long0.install                     |  1 +
 debian/libpnfft1-single0.install                   |  1 +
 debian/rules                                       | 39 +++++++++++++-
 7 files changed, 89 insertions(+), 21 deletions(-)

diff --git a/debian/control b/debian/control
index d869ab5..5fd4d04 100644
--- a/debian/control
+++ b/debian/control
@@ -5,57 +5,89 @@ Maintainer: Ghislain Antony Vaillant <ghisvail at gmail.com>
 Build-Depends:
  debhelper (>= 9),
  dh-autoreconf,
- libopenmpi-dev,
  libfftw3-dev,
  libfftw3-mpi-dev,
- libpfft-dev
+ libopenmpi-dev,
+ libpfft1-dev
 Standards-Version: 3.9.5
 Homepage: https://www-user.tu-chemnitz.de/~mpip/software.php.en#pnfft
 #Vcs-Git: git://anonscm.debian.org/debian-science/packages/pnfft.git
 #Vcs-Browser: http://anonscm.debian.org/gitweb/?p=debian-science/packages/pnfft.git
 
-Package: libpnfft0
+Package: libpnfft1-double0
+Architecture: any
+Multi-Arch: same
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends}
+Description: Parallel NFFT software library based on MPI -- double precision
+ PNFFT is a parallel software library for the calculation of three-dimensional 
+ nonequispaced FFTs. It is available under GPL licence. The parallelization 
+ is based on MPI.
+ .
+ This package contains the shared library for double precision transforms.
+
+Package: libpnfft1-single0
 Architecture: any
 Multi-Arch: same
 Depends:
  ${shlibs:Depends},
  ${misc:Depends}
-Pre-Depends: ${misc:Pre-Depends}
-Description: Parallel NFFT software library based on MPI -- shared library
+Description: Parallel NFFT software library based on MPI -- single precision
  PNFFT is a parallel software library for the calculation of three-dimensional 
  nonequispaced FFTs. It is available under GPL licence. The parallelization 
  is based on MPI.
  .
- This package contains the shared version of the library.
+ This package contains the shared library for single precision transforms.
 
-Package: libpnfft-dev
+Package: libpnfft1-long0
+Architecture: any
+Multi-Arch: same
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends}
+Description: Parallel NFFT software library based on MPI -- long double precision
+ PNFFT is a parallel software library for the calculation of three-dimensional 
+ nonequispaced FFTs. It is available under GPL licence. The parallelization 
+ is based on MPI.
+ .
+ This package contains the shared library for long double precision transforms.
+
+Package: libpnfft1-dev
 Section: libdevel
 Architecture: any
 Multi-Arch: same
 Depends:
  ${shlibs:Depends},
  ${misc:Depends},
- libpnfft0 (= ${binary:Version})
-Description: Parallel NFFT software library based on MPI -- header files
+ libpnfft1-double0 (= ${binary:Version}),
+ libpnfft1-single0 (= ${binary:Version}),
+ libpnfft1-long0 (= ${binary:Version}),
+ libpfftw1-dev
+Suggests:
+ libpnfft1-dbg
+Description: Parallel NFFT software library based on MPI -- development
  PNFFT is a parallel software library for the calculation of three-dimensional 
  nonequispaced FFTs. It is available under GPL licence. The parallelization 
  is based on MPI.
  .
- This package contains the header files and static version of the library.
+ This package contains the header files and static libraries.
 
-Package: libpnfft0-dbg
+Package: libpnfft1-dbg
 Section: debug
 Priority: extra
 Architecture: any
 Multi-Arch: same
 Depends:
  ${misc:Depends},
- libpnfft0 (= ${binary:Version})
+ libpnfft1-double0 (= ${binary:Version}),
+ libpnfft1-single0 (= ${binary:Version}),
+ libpnfft1-long0 (= ${binary:Version})
 Suggests:
- libpfft0-dbg
-Description: Parallel NFFT software library based on MPI -- debug library
+ libpfft1-dbg
+Description: Parallel NFFT software library based on MPI -- debug symbols
  PNFFT is a parallel software library for the calculation of three-dimensional 
  nonequispaced FFTs. It is available under GPL licence. The parallelization 
  is based on MPI.
  .
- This package contains the debugging symbols of the library.
+ This package contains the debugging symbols of the libraries.
diff --git a/debian/libpnfft-dev.install b/debian/libpnfft-dev.install
deleted file mode 100644
index 3010d76..0000000
--- a/debian/libpnfft-dev.install
+++ /dev/null
@@ -1,4 +0,0 @@
-usr/include/pnfft.h
-usr/lib/*/libpnfft.so
-usr/lib/*/libpnfft.a
-usr/include/*.f03 usr/include/pnfft
diff --git a/debian/libpnfft1-dev.install b/debian/libpnfft1-dev.install
new file mode 100644
index 0000000..27b6461
--- /dev/null
+++ b/debian/libpnfft1-dev.install
@@ -0,0 +1,3 @@
+usr/include/*.h
+usr/lib/*/libpnfft*.so
+usr/lib/*/libpnfft*.a
diff --git a/debian/libpnfft0.install b/debian/libpnfft1-double0.install
similarity index 100%
rename from debian/libpnfft0.install
rename to debian/libpnfft1-double0.install
diff --git a/debian/libpnfft1-long0.install b/debian/libpnfft1-long0.install
new file mode 100644
index 0000000..3157354
--- /dev/null
+++ b/debian/libpnfft1-long0.install
@@ -0,0 +1 @@
+usr/lib/*/libpnfftl.so.0*
diff --git a/debian/libpnfft1-single0.install b/debian/libpnfft1-single0.install
new file mode 100644
index 0000000..29341dc
--- /dev/null
+++ b/debian/libpnfft1-single0.install
@@ -0,0 +1 @@
+usr/lib/*/libpnfftf.so.0*
diff --git a/debian/rules b/debian/rules
index aaf2dc0..d69ae87 100755
--- a/debian/rules
+++ b/debian/rules
@@ -4,11 +4,46 @@
 DPKG_EXPORT_BUILDFLAGS = 1
 include /usr/share/dpkg/default.mk
 
+# see FEATURE AREAS in dpkg-buildflags(1)
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+
+# see ENVIRONMENT in dpkg-buildflags(1)
+# package maintainers to append CFLAGS
+export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
+# package maintainers to append LDFLAGS
+export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+
 %:
 	dh $@ --with autoreconf
 
 override_dh_auto_configure:
-	dh_auto_configure -- --enable-threads --enable-portable-binary
+	dh_auto_configure --builddirectory=pnfft -- \
+		--enable-threads \
+		--disable-fortran
+	dh_auto_configure --builddirectory=pnfftf -- \
+		--enable-threads \
+		--disable-fortran \
+		--enable-single
+	dh_auto_configure --builddirectory=pnfftl -- \
+		--enable-threads \
+		--disable-fortran \
+		--enable-long-double
+
+override_dh_auto_build:
+	dh_auto_build --builddirectory=pnfft
+	dh_auto_build --builddirectory=pnfftf
+	dh_auto_build --builddirectory=pnfftl
+
+override_dh_auto_clean:
+	dh_auto_clean --builddirectory=pnfft
+	dh_auto_clean --builddirectory=pnfftf
+	dh_auto_clean --builddirectory=pnfftl
+
+override_dh_auto_install-arch:
+	dh_auto_install --builddirectory=pnfft --package=libpnfft1-double0
+	dh_auto_install --builddirectory=pnfftf --package=libpnfft1-single0
+	dh_auto_install --builddirectory=pnfftl --package=libpnfft1-long0
 
 override_dh_strip:
-	dh_strip --dbg-package=libpnfft0-dbg
+	dh_strip -a --dbg-package=libpnfft1-dbg
+

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/pnfft.git



More information about the debian-science-commits mailing list