Commit 0e747abd authored by Julian Taylor's avatar Julian Taylor

add libfftw3-mpich2 package built against mpich2

libfftw3-mpi renamed to libfftw3-openmpi
added b-d on libmpich2-dev and libopenmpi-dev
parent 1c7602d1
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@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
......
......@@ -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
......
usr/include/*mpi*
usr/lib/*/libfftw*mpi*.a
usr/lib/*/libfftw*mpi*.so
usr/lib/*/libfftw3*mpi.so.*
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment