Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37567596
en ru br
ALT Linux repos
S:3.3.8-alt2
5.0: 3.1.2-alt3
4.1: 3.1.2-alt2
4.0: 3.1.2-alt1
3.0: 3.0.1-alt0.6

Other repositories
Upstream:3.1.2

Group :: System/Libraries
RPM: fftw3

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

Name: fftw3
Version: 3.1.2
Release: alt3

Summary: Library for computing Fast Fourier Transforms
License: GPLv2+
Group: System/Libraries
Url: http://www.fftw.org/
Packager: Dmitry V. Levin <ldv at altlinux.org>

# ftp://ftp.fftw.org/pub/fftw/fftw-%version.tar.gz

Source: fftw-%version.tar
Patch: fftw-3.1.2-alt-makefile.patch

# Automatically added by buildreq on Fri Feb 09 2007

BuildRequires: gcc-fortran ghostscript-classic glibc-devel-static ocaml transfig

%def_disable static
%def_disable sse
%def_disable sse2
%def_disable 3dnow

%description
FFTW is a free collection of fast C routines for computing the Discrete
Fourier Transform in one or more dimensions.  It includes complex, real,
symmetric, and parallel transforms, and can handle arbitrary array sizes
efficiently.  FFTW is typically faster than other publically-available
FFT implementations, and is even competitive with vendor-tuned libraries.
To achieve this performance, FFTW uses novel code-generation and runtime
self-optimization techniques (along with many other tricks).

%package -n lib%name
Summary: Dynamic libraries for computing Fast Fourier Transforms
Group: System/Libraries

%description -n lib%name
FFTW is a free collection of fast C routines for computing the Discrete
Fourier Transform in one or more dimensions.  It includes complex, real,
symmetric, and parallel transforms, and can handle arbitrary array sizes
efficiently.  FFTW is typically faster than other publically-available
FFT implementations, and is even competitive with vendor-tuned libraries.
To achieve this performance, FFTW uses novel code-generation and runtime
self-optimization techniques (along with many other tricks).

This package contains the shared library versions of the fftw libraries
in single, double and long double precisions.

%package -n lib%name-devel
Summary: Development library for computing Fast Fourier Transforms
Group: Development/C
Requires: lib%name = %version-%release

%description -n lib%name-devel
FFTW is a free collection of fast C routines for computing the Discrete
Fourier Transform in one or more dimensions.  It includes complex, real,
symmetric, and parallel transforms, and can handle arbitrary array sizes
efficiently.  FFTW is typically faster than other publically-available
FFT implementations, and is even competitive with vendor-tuned libraries.
To achieve this performance, FFTW uses novel code-generation and runtime
self-optimization techniques (along with many other tricks).

This package contains header files, documentation, and development
libraries required to develop programs using the FFTW.

%package -n lib%name-devel-static
Summary: Static library for computing Fast Fourier Transforms
Group: Development/C
Requires: lib%name-devel = %version-%release

%description -n lib%name-devel-static
FFTW is a free collection of fast C routines for computing the Discrete
Fourier Transform in one or more dimensions.  It includes complex, real,
symmetric, and parallel transforms, and can handle arbitrary array sizes
efficiently.  FFTW is typically faster than other publically-available
FFT implementations, and is even competitive with vendor-tuned libraries.
To achieve this performance, FFTW uses novel code-generation and runtime
self-optimization techniques (along with many other tricks).

This package contains static libraries required to develop programs
using FFTW.

%prep
%setup -q -n fftw-%version
%patch -p1
%define _configure_script ../configure
mkdir single double long-double

%build
autoreconf -fisv
%define options --enable-shared %{subst_enable static} --enable-threads --enable-portable-binary

pushd single
%configure %options --enable-float \
%ifarch %ix86
%{subst_enable sse} \
%{subst_enable 3dnow} \
%endif
#
%make_build
%make_build -C doc html
%{?!__buildreqs:%{?!_without_check:%{?!_disable_check:%make_build -k check}}}
popd

pushd double
%configure %options \
%ifarch %ix86
%{subst_enable sse2} \
%endif
#
%make_build
%{?!__buildreqs:%{?!_without_check:%{?!_disable_check:%make_build -k check}}}
popd

pushd long-double
%configure %options --enable-long-double
%make_build
%{?!__buildreqs:%{?!_without_check:%{?!_disable_check:%make_build -k check}}}
popd

%install
%makeinstall -C single
%makeinstall -C double
%makeinstall -C long-double

# remove non-packaged files

rm %buildroot%_libdir/*.la

%post -n lib%name-devel
%install_info %name.info

%postun -n lib%name-devel
%uninstall_info %name.info

%files -n lib%name
%_libdir/*.so.*

%files -n lib%name-devel
%_bindir/*
%_includedir/*
%_libdir/*.so
%_pkgconfigdir/*
%_infodir/*.info*
%_man1dir/*
%doc single/doc/html/ doc/FAQ/fftw-faq.ascii
%doc AUTHORS CONVENTIONS NEWS README TODO

%if_enabled static
%files -n lib%name-devel-static
%_libdir/*.a
%endif

%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin