2 %bcond_without fftwl # don't build "long" subpackages
4 %ifarch alpha ppc sparc
5 # sizeof(double long)==sizeof(double) on these archs
8 Summary: Fast Fourier Transform library
9 Summary(pl): Biblioteka z funkcjami szybkiej transformaty Fouriera
10 Summary(pt_BR): biblioteca fast fourier transform
16 Source0: ftp://ftp.fftw.org/pub/fftw/fftw-%{version}.tar.gz
17 # Source0-md5: 911515569a8abdc7dbb207d53f34e60b
18 Patch0: %{name}-info.patch
19 Patch1: %{name}-link.patch
20 Patch2: %{name}-ac_simd.patch
21 URL: http://www.fftw.org/
22 BuildRequires: autoconf
23 BuildRequires: automake
24 BuildRequires: gcc-g77
25 BuildRequires: libtool
26 BuildRequires: texinfo
27 Requires: %{name}-common = %{version}-%{release}
28 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
31 FFTW is a collection of fast C routines for computing the Discrete
32 Fourier Transform in one or more dimensions. It includes complex,
33 real, and parallel transforms, and can handle arbitrary array sizes
34 efficiently. This RPM package includes the double precision FFTW
35 uniprocessor and threads libraries.
38 FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
39 transformat Fouriera w jednym lub wiêcej wymiarach. Zawiera równie¿
40 zespolone, rzeczywiste oraz równoleg³e transformaty i potrafi wydajnie
41 radziæ sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
42 zawiera wersje FFTW o podwójnej precyzji dla architektur
43 jednoprocesorowych oraz z obs³ug± w±tków.
46 FFTW é uma coleção de rotinas rápidas em C para computar a Discrete
47 Fourier Transform em uma ou mais dimensões. Incluindo transformações
48 complexas, reais e paralelas, também pode manipular vetores de tamanho
49 arbitrário eficientemente. Esse pacote RPM inclui bibliotecas FFTW com
50 suporte a threads, normal e dupla precisão (Os arquivos de precisão
51 normal tem um prefixo "s").
54 Summary: Development files for fftw
55 Summary(pl): Pliki programistyczne do fftw
56 Summary(pt_BR): Headers e documentação do pacote FFTW
57 Group: Development/Libraries
58 Requires: %{name} = %{version}-%{release}
59 Requires: %{name}-common-devel = %{version}-%{release}
62 This package contains the files you need to develop programs using the
63 FFTW (fast fourier transform library).
65 %description devel -l pl
66 Ten pakiet zawiera pliki potrzebne do tworzenia programów u¿ywaj±cych
67 biblioteki FFTW (wykonuj±cej szybk± transformatê Fouriera).
69 %description devel -l pt_BR
70 Este pacote contém documentação e headers adicionais para desenvolver
71 programas usando a FFTW.
74 Summary: Static fftw libraries
75 Summary(pl): Statyczne biblioteki fftw
76 Summary(pt_BR): Bibliotecas estáticas do pacote FFTW
77 Group: Development/Libraries
78 Requires: %{name}-devel = %{version}-%{release}
81 Static fftw libraries.
83 %description static -l pl
84 Statyczne biblioteki fftw.
86 %description static -l pt_BR
87 Este pacote contém as bibliotecas estáticas do pacote FFTW.
90 Summary: Fast Fourier Transform library - single precision
91 Summary(pl): Biblioteka z funkcjami szybkiej transformaty Fouriera - pojedynczej precyzji
93 Requires: %{name}-common = %{version}-%{release}
96 FFTW is a collection of fast C routines for computing the Discrete
97 Fourier Transform in one or more dimensions. It includes complex,
98 real, and parallel transforms, and can handle arbitrary array sizes
99 efficiently. This RPM package includes the single precision FFTW
100 uniprocessor and threads libraries.
102 %description single -l pl
103 FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
104 transformat Fouriera w jednym lub wiêcej wymiarach. Zawiera równie¿
105 zespolone, rzeczywiste oraz równoleg³e transformaty i potrafi wydajnie
106 radziæ sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
107 zawiera wersje FFTW o pojedynczej precyzji dla architektur
108 jednoprocesorowych oraz z obs³ug± w±tków.
110 %package single-devel
111 Summary: Development files for single precision fftw
112 Summary(pl): Pliki programistyczne do fftw pojedynczej precyzji
113 Group: Development/Libraries
114 Requires: %{name}-common-devel = %{version}-%{release}
115 Requires: %{name}-single = %{version}-%{release}
117 %description single-devel
118 This package contains the files you need to develop programs using the
119 single precision FFTW (fast fourier transform library).
121 %description single-devel -l pl
122 Ten pakiet zawiera pliki potrzebne do tworzenia programów u¿ywaj±cych
123 biblioteki FFTW pojedynczej precyzji (wykonuj±cej szybk± transformatê
126 %package single-static
127 Summary: Static fftw single precision libraries
128 Summary(pl): Statyczne biblioteki fftw pojedynczej precyzji
129 Group: Development/Libraries
130 Requires: %{name}-single-devel = %{version}-%{release}
132 %description single-static
133 Static fftw single precision libraries.
135 %description single-static -l pl
136 Statyczne biblioteki fftw pojedynczej precyzji.
139 Summary: Fast Fourier Transform library - long double precision
140 Summary(pl): Biblioteka z funkcjami szybkiej transformaty Fouriera - rozszerzonej precyzji
142 Requires: %{name}-common = %{version}-%{release}
145 FFTW is a collection of fast C routines for computing the Discrete
146 Fourier Transform in one or more dimensions. It includes complex,
147 real, and parallel transforms, and can handle arbitrary array sizes
148 efficiently. This RPM package includes the long double precision FFTW
149 uniprocessor and threads libraries.
151 %description long -l pl
152 FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
153 transformat Fouriera w jednym lub wiêcej wymiarach. Zawiera równie¿
154 zespolone, rzeczywiste oraz równoleg³e transformaty i potrafi wydajnie
155 radziæ sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
156 zawiera wersje FFTW o rozszerzonej precyzji dla architektur
157 jednoprocesorowych oraz z obs³ug± w±tków.
160 Summary: Development files for long double precision fftw
161 Summary(pl): Pliki programistyczne do fftw rozszerzonej precyzji
162 Group: Development/Libraries
163 Requires: %{name}-common-devel = %{version}-%{release}
164 Requires: %{name}-long = %{version}-%{release}
166 %description long-devel
167 This package contains the files you need to develop programs using the
168 long double precision FFTW (fast fourier transform library).
170 %description long-devel -l pl
171 Ten pakiet zawiera pliki potrzebne do tworzenia programów u¿ywaj±cych
172 biblioteki FFTW rozszerzonej precyzji (wykonuj±cej szybk± transformatê
176 Summary: Static fftw long double precision libraries
177 Summary(pl): Statyczne biblioteki fftw rozszerzonej precyzji
178 Group: Development/Libraries
179 Requires: %{name}-long-devel = %{version}-%{release}
181 %description long-static
182 Static fftw long double precision libraries.
184 %description long-static -l pl
185 Statyczne biblioteki fftw rozszerzonej precyzji.
188 Summary: Files common for all versions of fftw libraries
189 Summary(pl): Pliki wspólne dla wszystkich wersji bibliotek fftw
193 Files common for all versions of fftw libraries (basic documentation,
194 fftw-wisdom-to-conf utility).
196 %description common -l pl
197 Pliki wspólne dla wszystkich wersji bibliotek fftw (podstawowa
198 dokumentacja, narzêdzie fftw-wisdom-to-conf).
200 %package common-devel
201 Summary: Development files common for all versions of fftw libraries
202 Summary(pl): Pliki programistyczne wspólne dla wszystkich wersji bibliotek fftw
203 Group: Development/Libraries
204 Requires: %{name}-common = %{version}-%{release}
206 %description common-devel
207 Development files common for all versions of fftw libraries (header
208 files, development documentation).
210 %description common-devel -l pl
211 Pliki programistyczne wspólne dla wszystkich wersji bibliotek fftw
212 (pliki nag³ówkowe, dokumentacja programisty).
215 %setup -q -n fftw-%{version}
226 # prepare three trees (for single, double, long-double precision)
227 rm -rf single double long-double
229 install -d single long-double
230 cp -a `cat files.list` single
231 cp -a `cat files.list` long-double
234 # MMX/SSE/etc. seem to be safe because of runtime CPU detection
235 for ver in single double %{?with_fftwl:long-double} ; do
237 # k7,SSE,3dnow,altivec only for single
238 if [ "$ver" = "single" ]; then
243 OPTS="--enable-sse" # no "--enable-k7" - conflicts with shared, SEGV on athlons
246 OPTS="--enable-altivec"
248 %ifnarch i586 i686 k6 athlon ppc
249 : # keep sh happy about syntax
253 # SSE2 only for double
254 if [ "$ver" = "double" ]; then
264 --%{!?debug:dis}%{?debug:en}able-debug
272 rm -rf $RPM_BUILD_ROOT
275 DESTDIR=$RPM_BUILD_ROOT
277 %{__make} install -C single \
278 DESTDIR=$RPM_BUILD_ROOT
281 %{__make} install -C long-double\
282 DESTDIR=$RPM_BUILD_ROOT
286 rm -rf $RPM_BUILD_ROOT
288 %post -p /sbin/ldconfig
289 %postun -p /sbin/ldconfig
292 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
295 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
298 %defattr(644,root,root,755)
299 %attr(755,root,root) %{_bindir}/fftw-wisdom
300 %attr(755,root,root) %{_libdir}/libfftw3.so.*.*.*
301 %attr(755,root,root) %{_libdir}/libfftw3_threads.so.*.*.*
302 %{_mandir}/man1/fftw-wisdom.1*
305 %defattr(644,root,root,755)
306 %attr(755,root,root) %{_libdir}/libfftw3.so
307 %attr(755,root,root) %{_libdir}/libfftw3_threads.so
308 %{_libdir}/libfftw3.la
309 %{_libdir}/libfftw3_threads.la
310 %{_pkgconfigdir}/fftw3.pc
313 %defattr(644,root,root,755)
314 %{_libdir}/libfftw3.a
315 %{_libdir}/libfftw3_threads.a
318 %defattr(644,root,root,755)
319 %attr(755,root,root) %{_bindir}/fftwf-wisdom
320 %attr(755,root,root) %{_libdir}/libfftw3f.so.*.*.*
321 %attr(755,root,root) %{_libdir}/libfftw3f_threads.so.*.*.*
322 %{_mandir}/man1/fftwf-wisdom.1*
325 %defattr(644,root,root,755)
326 %attr(755,root,root) %{_libdir}/libfftw3f.so
327 %attr(755,root,root) %{_libdir}/libfftw3f_threads.so
328 %{_libdir}/libfftw3f.la
329 %{_libdir}/libfftw3f_threads.la
330 %{_pkgconfigdir}/fftw3f.pc
333 %defattr(644,root,root,755)
334 %{_libdir}/libfftw3f.a
335 %{_libdir}/libfftw3f_threads.a
339 %defattr(644,root,root,755)
340 %attr(755,root,root) %{_bindir}/fftwl-wisdom
341 %attr(755,root,root) %{_libdir}/libfftw3l.so.*.*.*
342 %attr(755,root,root) %{_libdir}/libfftw3l_threads.so.*.*.*
343 %{_mandir}/man1/fftwl-wisdom.1*
346 %defattr(644,root,root,755)
347 %attr(755,root,root) %{_libdir}/libfftw3l.so
348 %attr(755,root,root) %{_libdir}/libfftw3l_threads.so
349 %{_libdir}/libfftw3l.la
350 %{_libdir}/libfftw3l_threads.la
351 %{_pkgconfigdir}/fftw3l.pc
354 %defattr(644,root,root,755)
355 %{_libdir}/libfftw3l.a
356 %{_libdir}/libfftw3l_threads.a
360 %defattr(644,root,root,755)
361 %doc AUTHORS COPYRIGHT ChangeLog NEWS README TODO
362 %attr(755,root,root) %{_bindir}/fftw-wisdom-to-conf
363 %{_mandir}/man1/fftw-wisdom-to-conf.1*
366 %defattr(644,root,root,755)
367 %doc doc/html doc/FAQ/fftw-faq.html
368 %{_includedir}/fftw3.*
369 %{_infodir}/fftw3.info*