File fftw.spec of Package fftw

#
# spec file for package fftw (Version 2.1.5)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild

Name:           fftw
BuildRequires:  gcc-fortran gmp-devel mpich-devel
Summary:        Discrete Fourier Transform (DFT) C Subroutine Library
Version:        2.1.5
Release:        63
License:        GNU General Public License (GPL)
Group:          Productivity/Scientific/Math
Source:         fftw-%{version}.tar.bz2
URL:            http://www.fftw.org/
Autoreqprov:    on
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
FFTW is a C subroutine library for computing Discrete Fourier
Transforms (DFT) in one or more dimensions, of both real and complex
data, and of arbitrary input size.



Authors:
--------
    Matteo Frigo (athena@theory.lcs.mit.edu)
    Stevenj G. Johnson (stevenj@alum.mit.edu)

%package mpi
Summary:        Discrete Fourier Transform (DFT) - MPI support
Group:          Development/Libraries/Parallel
Requires:       fftw = %{version}-%{release}, mpich

%description mpi
Discrete Fourier Transform (DFT) - MPI support. See package fftw for
more details.



%package devel
Summary:        Development libraries for fftw
Group:          Development/Libraries/Parallel
Requires:       fftw = %{version}-%{release}

%description devel
Development libraries for fftw



Authors:
--------
    Matteo Frigo (athena@theory.lcs.mit.edu)
    Stevenj G. Johnson (stevenj@alum.mit.edu)

%package mpi-devel
Summary:        Discrete Fourier Transform (DFT) - Header for MPI-Support
Group:          Development/Libraries/Parallel
Requires:       fftw = %{version}-%{release}, fftw-mpi

%description mpi-devel
Discrete Fourier Transform (DFT) - Header for MPI-Support. See Package
fftw for more information.



%package threads
Summary:        Discrete Fourier Transform (DFT) - Threads Support
Group:          Development/Libraries/Parallel
Requires:       fftw = %{version}-%{release}

%description threads
Discrete Fourier Transform (DFT) - Threads Support See package fftw for
more details



%package threads-devel
Summary:        Discrete Fourier Transform (DFT) - Headers for Thread support
Group:          Development/Libraries/Parallel
Requires:       fftw-threads = %{version}-%{release}
Requires:       fftw-devel = %{version}-%{release}

%description threads-devel
Discrete Fourier Transform (DFT) - Headers for Thread support See
package fftw for more details



%prep
%setup -q

%build
%{?suse_update_config:%{suse_update_config -f }}
find -type d | xargs chmod 755
if [  -z "$MPI_HOME" ]; then
        export MPI_HOME=/opt/mpich
fi
# autoreconf -fi
libtoolize -f
aclocal
automake -a -c
autoconf
CFLAGS="$RPM_OPT_FLAGS -L$MPI_HOME/ch-p4/lib -I$MPI_HOME/include" \
MPICC=$MPI_HOME/ch-p4/bin/mpicc \
./configure --prefix=%{_prefix}			\
	--libdir=%{_libdir}			\
	--enable-shared 			\
	--disable-static			\
	--enable-type-prefix 			\
	--enable-threads 			\
	--enable-mpi 				\
	--infodir=%{_infodir} 			\
%ifarch %ix86
	--enable-i386-hacks 			\
%endif
	%{_target_cpu}-suse-linux
make %{?jobs:-j %jobs}

%install
if [  -z "$MPI_HOME" ]; then
        export MPI_HOME=/opt/mpich
fi
make DESTDIR=$RPM_BUILD_ROOT install
# remove unneeded files
rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.*a
# hack to also compile/install single-precision version:
make distclean
CFLAGS="$RPM_OPT_FLAGS -L$MPI_HOME/ch-p4/lib -I$MPI_HOME/include" \
MPICC=$MPI_HOME/ch-p4/bin/mpicc \
./configure 	--prefix=%{_prefix}			\
		--libdir=%{_libdir} 			\
		--enable-shared 			\
		--disable-static			\
		--enable-type-prefix 			\
		--enable-threads 			\
		--enable-float 				\
		--enable-mpi 				\
		--infodir=%{_infodir} 			\
		%{_target_cpu}-suse-linux
make %{?jobs:-j %jobs}
make DESTDIR=$RPM_BUILD_ROOT install
install -m 0644 fftw/*.h $RPM_BUILD_ROOT%{_includedir}
install -m 0644 rfftw/rfftw.h $RPM_BUILD_ROOT%{_includedir}
install -m 0644 fftw/config.h $RPM_BUILD_ROOT%{_includedir}/fftw-config.h
sed -e 's/<config.h>/<fftw-config.h>/' fftw/fftw-int.h > $RPM_BUILD_ROOT%{_includedir}/fftw-int.h
chmod 0644 $RPM_BUILD_ROOT%{_includedir}/*.h
# remove unneeded files
rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.*a
rm -f $RPM_BUILD_ROOT%{_includedir}/config.h

%clean
rm -rf $RPM_BUILD_ROOT

%post
%run_ldconfig

%postun
%run_ldconfig

%post threads
%run_ldconfig

%postun threads
%run_ldconfig

%post mpi
%run_ldconfig

%postun mpi
%run_ldconfig

%postun devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/fftw.info.gz

%post devel
%install_info --info-dir=%{_infodir} %{_infodir}/fftw.info.gz

%files
%defattr(-,root,root)
%{_libdir}/libdfftw.so.*
%{_libdir}/libdrfftw.so.*
%{_libdir}/libsfftw.so.*
%{_libdir}/libsrfftw.so.*

%files threads
%defattr(-,root,root)
%{_libdir}/libdfftw_threads.so.*
%{_libdir}/libdrfftw_threads.so.*
%{_libdir}/libsfftw_threads.so.*
%{_libdir}/libsrfftw_threads.so.*

%files mpi
%defattr(-,root,root)
%{_libdir}/libdfftw_mpi.so.*
%{_libdir}/libdrfftw_mpi.so.*
%{_libdir}/libsfftw_mpi.so.*
%{_libdir}/libsrfftw_mpi.so.*

%files devel
%defattr(-,root,root)
%doc AUTHORS COPYING COPYRIGHT ChangeLog INSTALL NEWS README README.hacks TODO
%doc doc/* FAQ
%{_infodir}/fftw.info*.gz
%{_includedir}/dfftw.h
%{_includedir}/drfftw.h
%{_includedir}/sfftw.h
%{_includedir}/srfftw.h
%{_includedir}/rfftw.h
%{_includedir}/fftw.h
%{_includedir}/fftw-int.h
%{_includedir}/fftw-config.h
%{_libdir}/libdfftw.so
%{_libdir}/libdrfftw.so
%{_libdir}/libsfftw.so
%{_libdir}/libsrfftw.so

%files threads-devel
%defattr(-,root,root)
%{_includedir}/dfftw_threads.h
%{_includedir}/drfftw_threads.h
%{_includedir}/sfftw_threads.h
%{_includedir}/srfftw_threads.h
%{_libdir}/libdfftw_threads.so
%{_libdir}/libdrfftw_threads.so
%{_libdir}/libsfftw_threads.so
%{_libdir}/libsrfftw_threads.so

%files mpi-devel
%defattr(-,root,root)
%{_includedir}/dfftw_mpi.h
%{_includedir}/drfftw_mpi.h
%{_includedir}/sfftw_mpi.h
%{_includedir}/srfftw_mpi.h
%{_libdir}/libdfftw_mpi.so
%{_libdir}/libdrfftw_mpi.so
%{_libdir}/libsfftw_mpi.so
%{_libdir}/libsrfftw_mpi.so

%changelog
* Mon Apr 16 2007 - tiwai@suse.de
- follow library packaging policy
  * move docs to devel package
  * remove static libraries
- add missing call of *_info scripts in post and postun
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Sat Jan 14 2006 - kukuk@suse.de
- Add gmp-devel to nfb
* Mon Jan 02 2006 - aj@suse.de
- Fix filelist.
* Tue Apr 12 2005 - ro@suse.de
- added gmp to neededforbuild
* Fri Apr 08 2005 - tiwai@suse.de
- updated to fftw-2.1.5.
* Thu Mar 18 2004 - tiwai@suse.de
- fixed the permission of installed header files (bug #36340).
* Wed Feb 25 2004 - meissner@suse.de
- fixed ppc64 shared libraries.
* Sat Jan 10 2004 - adrian@suse.de
- add %%run_ldconfig
* Fri May 30 2003 - nashif@suse.de
- Fixed to work with new mpich
* Fri May 16 2003 - nashif@suse.de
- Removed unpackaged file
* Sun Aug 04 2002 - nashif@suse.de
- Adapt to new mpich path
* Fri Jul 05 2002 - kukuk@suse.de
- Use %%ix86 macro
* Mon Jun 24 2002 - ro@suse.de
- fix doc directory permissions
* Thu May 16 2002 - meissner@suse.de
- Fixed for %%_lib issues on lib64 systems.
* Thu Feb 07 2002 - nashif@suse.de
- make compile with new mpich package
* Sat Feb 02 2002 - ro@suse.de
- added mpich-devel to neededforbuild
* Mon Jan 08 2001 - nashif@suse.de
-  Split package to fftw, fftw-thread, fftw-mpi and devel for each.
* Sat Dec 09 2000 - nashif@suse.de
-  sorted
* Mon Oct 30 2000 - nashif@suse.de
- Added subpackage fftw-devel
- use BuildRoot
* Sat Apr 08 2000 - bk@suse.de
- added suse update config macro
* Thu Apr 06 2000 - marquardt@suse.de
- added missing mpi libs to %%files section in specfile
* Wed Mar 15 2000 - kukuk@suse.de
- Fix specfile for non-intel platforms
* Thu Mar 02 2000 - ro@suse.de
- use macro for infodir, cleaned specfile
* Fri Jan 07 2000 - marquardt@suse.de
- added missing include files to %%files-section
* Mon Oct 11 1999 - ro@suse.de
- use prefix=/usr also on non-x86
* Thu Oct 07 1999 - nashif@suse.de
- new package
openSUSE Build Service is sponsored by