[SCM] Library for computing Fast Fourier Transforms branch, master, updated. debian/3.3.2-3-1-g0e747ab

Julian Taylor jtaylor.debian at googlemail.com
Sun Jun 10 20:57:24 UTC 2012


The following commit has been merged in the master branch:
commit 0e747abda15200465b1ac5b6d265427d82422653
Author: Julian Taylor <jtaylor.debian at googlemail.com>
Date:   Sun Jun 10 16:46:06 2012 +0200

    add libfftw3-mpich2 package built against mpich2
    
    libfftw3-mpi renamed to libfftw3-openmpi
    added b-d on libmpich2-dev and libopenmpi-dev

diff --git a/debian/changelog b/debian/changelog
index 161164b..63526b0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+fftw3 (3.3.2-2) unstable; urgency=low
+
+  * add libfftw3-mpich2 package build against mpich2
+  * libfftw3-mpi renamed to libfftw3-openmpi
+
+ -- Julian Taylor <jtaylor.debian at googlemail.com>  Sun, 10 Jun 2012 22:49:17 +0200
+
 fftw3 (3.3.2-3) unstable; urgency=low
 
   * disable neon for armel, it has no fpu
diff --git a/debian/control b/debian/control
index 957a16b..f73dd60 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,8 @@ Build-Depends: chrpath,
                debhelper (>=7.0.0),
                dpkg (>= 1.16.0),
                gfortran,
-               mpi-default-dev,
+               libmpich2-dev,
+               libopenmpi-dev,
                texinfo
 Build-Depends-Indep: ghostscript (>> 8.63), transfig
 Vcs-Git: git://git.debian.org/git/debian-science/packages/fftw3.git
@@ -51,23 +52,43 @@ Description: Library for computing Fast Fourier Transforms - Tools
  .
  This package contains the wisdom management tools.
 
-Package: libfftw3-mpi3
+Package: libfftw3-openmpi3
 Architecture: any
 Pre-Depends: multiarch-support
 Depends: ${misc:Depends}, ${shlibs:Depends}
-Suggests: libfftw3-mpi-dev
-Breaks: libfftw3-mpi-3
-Replaces: libfftw3-mpi-3
+Suggests: libfftw3-openmpi-dev
+Breaks: libfftw3-mpi3
+Replaces: libfftw3-mpi3
+Conflicts: libfftw3-mpich2-3
 Multi-Arch: same
-Description: MPI Library for computing Fast Fourier Transforms
+Description: OpenMPI Library for computing Fast Fourier Transforms
  The FFTW library computes Fast Fourier Transforms (FFT) in one or more
  dimensions. It is extremely fast. This package contains the shared library
  versions of the fftw libraries in single, double and long double precisions.
  Note that on some architectures double is the same as long double in which
  case there is no long double library.
  .
+ This package contains the library built against openmpi.
  To get the static library and the header files, you need to install
- libfftw3-mpi-dev. For documentation, see libfftw3-doc.
+ libfftw3-openmpi-dev. For documentation, see libfftw3-doc.
+
+Package: libfftw3-mpich2-3
+Architecture: any
+Pre-Depends: multiarch-support
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Suggests: libfftw3-mpich2-dev
+Conflicts: libfftw3-mpi3, libfftw3-openmpi-3
+Multi-Arch: same
+Description: MPICH2 Library for computing Fast Fourier Transforms
+ The FFTW library computes Fast Fourier Transforms (FFT) in one or more
+ dimensions. It is extremely fast. This package contains the shared library
+ versions of the fftw libraries in single, double and long double precisions.
+ Note that on some architectures double is the same as long double in which
+ case there is no long double library.
+ .
+ This package contains the library built against mpich2.
+ To get the static library and the header files, you need to install
+ libfftw3-mpich2-dev. For documentation, see libfftw3-doc.
 
 Package: libfftw3-dev
 Architecture: any
@@ -88,17 +109,37 @@ Description: Library for computing Fast Fourier Transforms - development
  This package contains the header files and static libraries.
  For documentation, see libfftw3-doc.
 
-Package: libfftw3-mpi-dev
+Package: libfftw3-openmpi-dev
 Architecture: any
 Section: libdevel
-Depends: libfftw3-mpi3 (=${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
-Description: MPI Library for computing Fast Fourier Transforms - development
+Depends: libfftw3-openmpi3 (=${binary:Version}),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Breaks: libfftw3-mpi-dev
+Replaces: libfftw3-mpi-dev
+Conflicts: libfftw3-mpich2-dev
+Description: OpenMPI Library for computing Fast Fourier Transforms - development
+ The FFTW library computes Fast Fourier Transforms (FFT) in one or more
+ dimensions. It is extremely fast. This package contains the statically linked
+ library, header files and test programs.
+ .
+ This package contains the header files and static libraries for the
+ openmpi libraries. For documentation, see libfftw3-doc.
+
+Package: libfftw3-mpich2-dev
+Architecture: any
+Section: libdevel
+Depends: libfftw3-mpich2-3 (=${binary:Version}),
+         ${misc:Depends},
+         ${shlibs:Depends}
+Conflicts: libfftw3-mpi-dev, libfftw3-openmpi-dev
+Description: MPICH2 Library for computing Fast Fourier Transforms - development
  The FFTW library computes Fast Fourier Transforms (FFT) in one or more
  dimensions. It is extremely fast. This package contains the statically linked
  library, header files and test programs.
  .
  This package contains the header files and static libraries for the
- mpi libraries. For documentation, see libfftw3-doc.
+ mpich2 libraries. For documentation, see libfftw3-doc.
 
 Package: libfftw3-doc
 Architecture: all
diff --git a/debian/libfftw3-mpi3.install b/debian/libfftw3-mpich2-3.install
similarity index 100%
copy from debian/libfftw3-mpi3.install
copy to debian/libfftw3-mpich2-3.install
diff --git a/debian/libfftw3-mpi-dev.install b/debian/libfftw3-mpich2-dev.install
similarity index 100%
copy from debian/libfftw3-mpi-dev.install
copy to debian/libfftw3-mpich2-dev.install
diff --git a/debian/libfftw3-mpi-dev.install b/debian/libfftw3-openmpi-dev.install
similarity index 100%
rename from debian/libfftw3-mpi-dev.install
rename to debian/libfftw3-openmpi-dev.install
diff --git a/debian/libfftw3-mpi3.install b/debian/libfftw3-openmpi3.install
similarity index 100%
rename from debian/libfftw3-mpi3.install
rename to debian/libfftw3-openmpi3.install
diff --git a/debian/rules b/debian/rules
index 130216c..8da1d5f 100755
--- a/debian/rules
+++ b/debian/rules
@@ -59,19 +59,23 @@ else
 endif
 
 SETCFLAGS := CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' CPPFLAGS='$(CPPFLAGS)'
+# libtool unconditionally uses gcc to link, so we need to set the libs
+OPENMPIFLAGS := MPILIBS='$(shell mpicc.openmpi --showme:link)' MPICC=mpicc.openmpi
+# FIXME: better way to get mpich2 lib?, -L needed to avoid full rebuild
+MPICH2FLAGS := MPILIBS='-lmpich -L../.libs' MPICC=mpicc.mpich2
 
 # common configure options
-archconfflags := $(archconfflags) --prefix=/usr --enable-shared --enable-threads --enable-openmp --enable-mpi --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) MPILIBS="$(shell mpicc --showme:link)"
+archconfflags := $(archconfflags) --prefix=/usr --enable-shared --enable-threads --enable-openmp --enable-mpi --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)
 
 build-arch:
 	# single precision
-	$(SETCFLAGS) ./configure --enable-single $(archconfflags) $(archconfflags_single)
+	$(OPENMPIFLAGS) $(SETCFLAGS) ./configure --enable-single $(archconfflags) $(archconfflags_single)
 	$(MAKE)
 	( cd tests ; $(MAKE) smallcheck )
 	$(MAKE) install DESTDIR=`pwd`/debian/tmp-single
 	#
 	# double precision
-	$(SETCFLAGS) ./configure $(archconfflags) $(archconfflags_double)
+	$(OPENMPIFLAGS) $(SETCFLAGS) ./configure $(archconfflags) $(archconfflags_double)
 	$(MAKE)
 	( cd tests ; $(MAKE) smallcheck )
 	$(MAKE) install DESTDIR=`pwd`/debian/tmp-double
@@ -80,13 +84,32 @@ build-arch:
 	# build only on architectures where double != long-double
 	gcc -o test_long_long-double debian/test_long_long-double.c 
 	if ! ./test_long_long-double; then \
-		$(SETCFLAGS) ./configure --enable-long-double $(archconfflags) && \
+		$(OPENMPIFLAGS) $(SETCFLAGS) ./configure --enable-long-double $(archconfflags) && \
 		$(MAKE) && \
 		( cd tests ; $(MAKE) smallcheck ) && \
 		$(MAKE) install DESTDIR=`pwd`/debian/tmp-long-double; \
 	fi
+	
+	#mpich2 build, to save time only build mpi folder
+	$(MPICH2FLAGS) $(SETCFLAGS) ./configure --enable-single $(archconfflags) $(archconfflags_single)
+	$(MAKE) -C mpi clean
+	$(MAKE) -C mpi
+	$(MAKE) -C mpi install DESTDIR=$(CURDIR)/debian/tmp-single-mpich2
+	
+	$(MPICH2FLAGS) $(SETCFLAGS) ./configure $(archconfflags) $(archconfflags_double)
+	$(MAKE) -C mpi clean
+	$(MAKE) -C mpi
+	$(MAKE) -C mpi install DESTDIR=$(CURDIR)/debian/tmp-double-mpich2
+	
+	if ! ./test_long_long-double; then \
+		$(MPICH2FLAGS) $(SETCFLAGS) ./configure --enable-long-double $(archconfflags) && \
+		$(MAKE) -C mpi clean && \
+		$(MAKE) -C mpi && \
+		$(MAKE) -C mpi install DESTDIR=$(CURDIR)/debian/tmp-long-double-mpich2; \
+	fi
 	touch build-arch
 
+
 build-indep:
 	-(cd doc ; $(MAKE) -k clean)
 	-rm -f doc/*.info* doc/rfftwnd.png doc/html/*
@@ -137,8 +160,17 @@ binary-arch: build-arch
 	if ! ./test_long_long-double; then \
 		dh_install -a --sourcedir=debian/tmp-long-double; \
 	fi
+	dh_install -plibfftw3-mpich2-3 --sourcedir=debian/tmp-single-mpich2
+	dh_install -plibfftw3-mpich2-dev --sourcedir=debian/tmp-single-mpich2
+	dh_install -plibfftw3-mpich2-3 --sourcedir=debian/tmp-double-mpich2
+	dh_install -plibfftw3-mpich2-dev --sourcedir=debian/tmp-double-mpich2
+	if ! ./test_long_long-double; then \
+		dh_install -plibfftw3-mpich2-3 --sourcedir=debian/tmp-long-double-mpich2; \
+		dh_install -plibfftw3-mpich2-dev --sourcedir=debian/tmp-long-double-mpich2; \
+	fi
 	rm debian/libfftw3-3/usr/lib/$(DEB_HOST_MULTIARCH)/libfftw3*mpi* debian/libfftw3-dev/usr/lib/$(DEB_HOST_MULTIARCH)/libfftw3*mpi* debian/libfftw3-dev/usr/include/*mpi*
-	chrpath --delete debian/libfftw3-mpi3/usr/lib/$(DEB_HOST_MULTIARCH)/libfftw3*mpi*so*
+	chrpath --delete debian/libfftw3-openmpi3/usr/lib/$(DEB_HOST_MULTIARCH)/libfftw3*mpi*so*
+	chrpath --delete debian/libfftw3-mpich2-3/usr/lib/$(DEB_HOST_MULTIARCH)/libfftw3*mpi*so*
 
 	find $(CURDIR)/debian/libfftw3-dev -type d -empty -delete
 

-- 
Library for computing Fast Fourier Transforms



More information about the debian-science-commits mailing list