]> git.pld-linux.org Git - packages/fftw3.git/blobdiff - fftw3.spec
- git patch to make FFTWLibraryDepends.cmake files optional, install to proper dirs
[packages/fftw3.git] / fftw3.spec
index 34016e9d4bdaedd6dd1286e0331df682cba2237c..0f943d1106c1ae242f3897a4c7e7ce0dfab31f23 100644 (file)
@@ -1,31 +1,64 @@
+# NOTE (for distributors from NEWS file): don't enable too many SIMD variants in
+# distribution builds, because it increases planing time; by default enable just
+# most popular ones (like SSE, AVX).
+# The rest are available by bconds.
 #
-%bcond_without fftwl   # don't build -long subpackages
+# TODO: mpi
 #
-%ifarch sparc
-# sparc has sizeof(double long)==sizeof(double)
-%undefine      with_long
+# Conditional build:
+%bcond_without fftwl           # "long" subpackages
+%bcond_without fftwq           # "quad" subpackages
+%bcond_without openmp          # OpenMP support
+%bcond_with    avx128fma       # AVX128/FMA instructions (for some AMD machines)
+%bcond_with    avx256          # AVX2 256-bit FMA instructions
+%bcond_with    avx512          # AVX512 and KCVI [experimental]
+#
+
+%ifnarch %{ix86} %{x8664} x32 ia64
+%undefine      with_fftwq
 %endif
+
 Summary:       Fast Fourier Transform library
-Summary(pl):   Biblioteka z funkcjami szybkiej transformaty Fouriera
-Summary(pt_BR):        biblioteca fast fourier transform
+Summary(pl.UTF-8):     Biblioteka z funkcjami szybkiej transformaty Fouriera
+Summary(pt_BR.UTF-8):  biblioteca fast fourier transform
 Name:          fftw3
-Version:       3.0.1
+Version:       3.3.10
 Release:       2
-License:       GPL
+License:       GPL v2+
 Group:         Libraries
-Source0:       ftp://ftp.fftw.org/pub/fftw/fftw-%{version}.tar.gz
-# Source0-md5: 76cd21ecc9a7bed6343566c473c36477
+#Source0Download: http://fftw.org/download.html
+Source0:       http://fftw.org/fftw-%{version}.tar.gz
+# Source0-md5: 8ccbf6a5ea78a16dbc3e1306e234cc5c
 Patch0:                %{name}-info.patch
-Patch1:                %{name}-link.patch
-Icon:          fftw-logo-thumb.gif
+Patch1:                %{name}-flags.patch
+Patch2:                fftw-cmake.patch
+Patch3:                fftw-cmakedir.patch
 URL:           http://www.fftw.org/
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: gcc-g77
+BuildRequires: autoconf >= 2.50
+BuildRequires: automake >= 1:1.7
+BuildRequires: gcc-fortran
+%ifarch alpha ppc s390 s390x sparc sparcv9
+%if %{with fftwl}
+# for 128-bit long double support
+BuildRequires: gcc-fortran >= 5:4.1.0-1
+BuildRequires: glibc >= 6:2.4-1
+%endif
+%endif
+%if %{with fftwq}
+BuildRequires: gcc >= 6:4.6.0
+BuildRequires: libquadmath-devel
+%endif
+%if %{with openmp}
+BuildRequires: gcc >= 6:4.2.0
+BuildRequires: libgomp-devel
+%endif
 BuildRequires: libtool
+BuildRequires: texinfo
 Requires:      %{name}-common = %{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define builds single double %{?with_fftwl:long-double} %{?with_fftwq:quad-precision}
+
 %description
 FFTW is a collection of fast C routines for computing the Discrete
 Fourier Transform in one or more dimensions. It includes complex,
@@ -33,61 +66,62 @@ real, and parallel transforms, and can handle arbitrary array sizes
 efficiently. This RPM package includes the double precision FFTW
 uniprocessor and threads libraries.
 
-%description -l pl
+%description -l pl.UTF-8
 FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
-transformat Fouriera w jednym lub wiêcej wymiarach. Zawiera równie¿
-zespolone, rzeczywiste oraz równoleg³e transformaty i potrafi wydajnie
-radziæ sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
-zawiera wersje FFTW o podwójnej precyzji dla architektur
-jednoprocesorowych oraz z obs³ug± w±tków.
-
-%description -l pt_BR
-FFTW é uma coleção de rotinas rápidas em C para computar a Discrete
-Fourier Transform em uma ou mais dimensões. Incluindo transformações
-complexas, reais e paralelas, também pode manipular vetores de tamanho
-arbitrário eficientemente. Esse pacote RPM inclui bibliotecas FFTW com
-suporte a threads, normal e dupla precisão (Os arquivos de precisão
+transformat Fouriera w jednym lub więcej wymiarach. Zawiera również
+zespolone, rzeczywiste oraz równoległe transformaty i potrafi wydajnie
+radzić sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
+zawiera wersje FFTW o podwójnej precyzji dla architektur
+jednoprocesorowych oraz z obsługą wątków.
+
+%description -l pt_BR.UTF-8
+FFTW é uma coleção de rotinas rápidas em C para computar a Discrete
+Fourier Transform em uma ou mais dimensões. Incluindo transformações
+complexas, reais e paralelas, também pode manipular vetores de tamanho
+arbitrário eficientemente. Esse pacote RPM inclui bibliotecas FFTW com
+suporte a threads, normal e dupla precisão (Os arquivos de precisão
 normal tem um prefixo "s").
 
 %package devel
 Summary:       Development files for fftw
-Summary(pl):   Pliki programistyczne do fftw
-Summary(pt_BR):        Headers e documentação do pacote FFTW
+Summary(pl.UTF-8):     Pliki programistyczne do fftw
+Summary(pt_BR.UTF-8):  Headers e documentação do pacote FFTW
 Group:         Development/Libraries
 Requires:      %{name} = %{version}-%{release}
 Requires:      %{name}-common-devel = %{version}-%{release}
+%{?with_openmp:Requires:       libgomp-devel}
 
 %description devel
 This package contains the files you need to develop programs using the
 FFTW (fast fourier transform library).
 
-%description devel -l pl
-Ten pakiet zawiera pliki potrzebne do tworzenia programów u¿ywaj±cych
-biblioteki FFTW (wykonuj±cej szybk± transformatê Fouriera).
+%description devel -l pl.UTF-8
+Ten pakiet zawiera pliki potrzebne do tworzenia programów używających
+biblioteki FFTW (wykonującej szybką transformatę Fouriera).
 
-%description devel -l pt_BR
-Este pacote contém documentação e headers adicionais para desenvolver
+%description devel -l pt_BR.UTF-8
+Este pacote contém documentação e headers adicionais para desenvolver
 programas usando a FFTW.
 
 %package static
 Summary:       Static fftw libraries
-Summary(pl):   Statyczne biblioteki fftw
-Summary(pt_BR):        Bibliotecas estáticas do pacote FFTW
+Summary(pl.UTF-8):     Statyczne biblioteki fftw
+Summary(pt_BR.UTF-8):  Bibliotecas estáticas do pacote FFTW
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
 
 %description static
 Static fftw libraries.
 
-%description static -l pl
+%description static -l pl.UTF-8
 Statyczne biblioteki fftw.
 
-%description static -l pt_BR
-Este pacote contém as bibliotecas estáticas do pacote FFTW.
+%description static -l pt_BR.UTF-8
+Este pacote contém as bibliotecas estáticas do pacote FFTW.
 
 %package single
 Summary:       Fast Fourier Transform library - single precision
-Summary(pl):   Biblioteka z funkcjami szybkiej transformaty Fouriera - pojedynczej precyzji
+Summary(pl.UTF-8):     Biblioteka z funkcjami szybkiej transformaty Fouriera - pojedynczej precyzji
 Group:         Libraries
 Requires:      %{name}-common = %{version}-%{release}
 
@@ -98,45 +132,46 @@ real, and parallel transforms, and can handle arbitrary array sizes
 efficiently. This RPM package includes the single precision FFTW
 uniprocessor and threads libraries.
 
-%description single -l pl
+%description single -l pl.UTF-8
 FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
-transformat Fouriera w jednym lub wiêcej wymiarach. Zawiera równie¿
-zespolone, rzeczywiste oraz równoleg³e transformaty i potrafi wydajnie
-radziæ sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
+transformat Fouriera w jednym lub więcej wymiarach. Zawiera również
+zespolone, rzeczywiste oraz równoległe transformaty i potrafi wydajnie
+radzić sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
 zawiera wersje FFTW o pojedynczej precyzji dla architektur
-jednoprocesorowych oraz z obs³ug± w±tków.
+jednoprocesorowych oraz z obsługą wątków.
 
 %package single-devel
 Summary:       Development files for single precision fftw
-Summary(pl):   Pliki programistyczne do fftw pojedynczej precyzji
+Summary(pl.UTF-8):     Pliki programistyczne do fftw pojedynczej precyzji
 Group:         Development/Libraries
 Requires:      %{name}-common-devel = %{version}-%{release}
 Requires:      %{name}-single = %{version}-%{release}
+%{?with_openmp:Requires:       libgomp-devel}
 
 %description single-devel
 This package contains the files you need to develop programs using the
 single precision FFTW (fast fourier transform library).
 
-%description single-devel -l pl
-Ten pakiet zawiera pliki potrzebne do tworzenia programów u¿ywaj±cych
-biblioteki FFTW pojedynczej precyzji (wykonuj±cej szybk± transformatê
-Fouriera).
+%description single-devel -l pl.UTF-8
+Ten pakiet zawiera pliki potrzebne do tworzenia programów używających
+biblioteki FFTW (wykonującej szybką transformatę Fouriera) pojedynczej
+precyzji.
 
 %package single-static
 Summary:       Static fftw single precision libraries
-Summary(pl):   Statyczne biblioteki fftw pojedynczej precyzji
+Summary(pl.UTF-8):     Statyczne biblioteki fftw pojedynczej precyzji
 Group:         Development/Libraries
 Requires:      %{name}-single-devel = %{version}-%{release}
 
 %description single-static
 Static fftw single precision libraries.
 
-%description single-static -l pl
+%description single-static -l pl.UTF-8
 Statyczne biblioteki fftw pojedynczej precyzji.
 
 %package long
 Summary:       Fast Fourier Transform library - long double precision
-Summary(pl):   Biblioteka z funkcjami szybkiej transformaty Fouriera - rozszerzonej precyzji
+Summary(pl.UTF-8):     Biblioteka z funkcjami szybkiej transformaty Fouriera - rozszerzonej precyzji
 Group:         Libraries
 Requires:      %{name}-common = %{version}-%{release}
 
@@ -147,58 +182,110 @@ real, and parallel transforms, and can handle arbitrary array sizes
 efficiently. This RPM package includes the long double precision FFTW
 uniprocessor and threads libraries.
 
-%description long -l pl
+%description long -l pl.UTF-8
 FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
-transformat Fouriera w jednym lub wiêcej wymiarach. Zawiera równie¿
-zespolone, rzeczywiste oraz równoleg³e transformaty i potrafi wydajnie
-radziæ sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
+transformat Fouriera w jednym lub więcej wymiarach. Zawiera również
+zespolone, rzeczywiste oraz równoległe transformaty i potrafi wydajnie
+radzić sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
 zawiera wersje FFTW o rozszerzonej precyzji dla architektur
-jednoprocesorowych oraz z obs³ug± w±tków.
+jednoprocesorowych oraz z obsługą wątków.
 
 %package long-devel
 Summary:       Development files for long double precision fftw
-Summary(pl):   Pliki programistyczne do fftw rozszerzonej precyzji
+Summary(pl.UTF-8):     Pliki programistyczne do fftw rozszerzonej precyzji
 Group:         Development/Libraries
 Requires:      %{name}-common-devel = %{version}-%{release}
 Requires:      %{name}-long = %{version}-%{release}
+%{?with_openmp:Requires:       libgomp-devel}
 
 %description long-devel
 This package contains the files you need to develop programs using the
 long double precision FFTW (fast fourier transform library).
 
-%description long-devel -l pl
-Ten pakiet zawiera pliki potrzebne do tworzenia programów u¿ywaj±cych
-biblioteki FFTW rozszerzonej precyzji (wykonuj±cej szybk± transformatê
-Fouriera).
+%description long-devel -l pl.UTF-8
+Ten pakiet zawiera pliki potrzebne do tworzenia programów używających
+biblioteki FFTW (wykonującej szybką transformatę Fouriera)
+rozszerzonej precyzji.
 
 %package long-static
 Summary:       Static fftw long double precision libraries
-Summary(pl):   Statyczne biblioteki fftw rozszerzonej precyzji
+Summary(pl.UTF-8):     Statyczne biblioteki fftw rozszerzonej precyzji
 Group:         Development/Libraries
 Requires:      %{name}-long-devel = %{version}-%{release}
 
 %description long-static
 Static fftw long double precision libraries.
 
-%description long-static -l pl
+%description long-static -l pl.UTF-8
 Statyczne biblioteki fftw rozszerzonej precyzji.
 
+%package quad
+Summary:       Fast Fourier Transform library - quad precision
+Summary(pl.UTF-8):     Biblioteka z funkcjami szybkiej transformaty Fouriera - poczwórnej precyzji
+Group:         Libraries
+Requires:      %{name}-common = %{version}-%{release}
+
+%description quad
+FFTW is a collection of fast C routines for computing the Discrete
+Fourier Transform in one or more dimensions. It includes complex,
+real, and parallel transforms, and can handle arbitrary array sizes
+efficiently. This RPM package includes the quad precision FFTW
+uniprocessor and threads libraries.
+
+%description quad -l pl.UTF-8
+FFTW jest zbiorem szybkich funkcji C do obliczania dyskretnych
+transformat Fouriera w jednym lub więcej wymiarach. Zawiera również
+zespolone, rzeczywiste oraz równoległe transformaty i potrafi wydajnie
+radzić sobie z tablicami o dowolnych rozmiarach. Ten pakiet RPM
+zawiera wersje FFTW o poczwórnej precyzji dla architektur
+jednoprocesorowych oraz z obsługą wątków.
+
+%package quad-devel
+Summary:       Development files for quad precision fftw
+Summary(pl.UTF-8):     Pliki programistyczne do fftw poczwórnej precyzji
+Group:         Development/Libraries
+Requires:      %{name}-common-devel = %{version}-%{release}
+Requires:      %{name}-quad = %{version}-%{release}
+%{?with_openmp:Requires:       libgomp-devel}
+Requires:      libquadmath-devel
+
+%description quad-devel
+This package contains the files you need to develop programs using the
+quad precision FFTW (fast fourier transform library).
+
+%description quad-devel -l pl.UTF-8
+Ten pakiet zawiera pliki potrzebne do tworzenia programów używających
+biblioteki FFTW (wykonującej szybką transformatę Fouriera) poczwórnej
+precyzji.
+
+%package quad-static
+Summary:       Static fftw quad precision libraries
+Summary(pl.UTF-8):     Statyczne biblioteki fftw poczwórnej precyzji
+Group:         Development/Libraries
+Requires:      %{name}-quad-devel = %{version}-%{release}
+
+%description quad-static
+Static fftw quad precision libraries.
+
+%description quad-static -l pl.UTF-8
+Statyczne biblioteki fftw poczwórnej precyzji.
+
 %package common
 Summary:       Files common for all versions of fftw libraries
-Summary(pl):   Pliki wspólne dla wszystkich wersji bibliotek fftw
+Summary(pl.UTF-8):     Pliki wspólne dla wszystkich wersji bibliotek fftw
 Group:         Libraries
 
 %description common
 Files common for all versions of fftw libraries (basic documentation,
 fftw-wisdom-to-conf utility).
 
-%description common -l pl
-Pliki wspólne dla wszystkich wersji bibliotek fftw (podstawowa
-dokumentacja, narzêdzie fftw-wisdom-to-conf).
+%description common -l pl.UTF-8
+Pliki wspólne dla wszystkich wersji bibliotek fftw (podstawowa
+dokumentacja, narzędzie fftw-wisdom-to-conf).
 
 %package common-devel
 Summary:       Development files common for all versions of fftw libraries
-Summary(pl):   Pliki programistyczne wspólne dla wszystkich wersji bibliotek fftw
+Summary(pl.UTF-8):     Pliki programistyczne wspólne dla wszystkich wersji bibliotek fftw
 Group:         Development/Libraries
 Requires:      %{name}-common = %{version}-%{release}
 
@@ -206,81 +293,83 @@ Requires: %{name}-common = %{version}-%{release}
 Development files common for all versions of fftw libraries (header
 files, development documentation).
 
-%description common-devel -l pl
-Pliki programistyczne wspólne dla wszystkich wersji bibliotek fftw
-(pliki nag³ówkowe, dokumentacja programisty).
+%description common-devel -l pl.UTF-8
+Pliki programistyczne wspólne dla wszystkich wersji bibliotek fftw
+(pliki nagłówkowe, dokumentacja programisty).
 
 %prep
 %setup -q -n fftw-%{version}
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
 %build
 %{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
 %{__autoconf}
 %{__automake}
 
-# prepare three trees (for single, double, long-double precision)
-echo * > files.list
-install -d single long-double
-cp -a `cat files.list` single
-cp -a `cat files.list` long-double
-ln -sf . double
-
 # MMX/SSE/etc. seem to be safe because of runtime CPU detection
-for ver in single double %{with_fftwl:long-double} ; do
+for ver in %{builds}; do
        OPTS=""
-       # k7,SSE,3dnow,altivec only for single
+       # SSE,altivec,neon@arm[32] only for single
        if [ "$ver" = "single" ]; then
-%ifarch i586 k6
-               OPTS="--enable-3dnow"
-%endif
-%ifarch i686
+%ifarch pentium3 athlon
+               # for SSE2-aware subarchs SSE for single precision is enabled by --enable-sse2 option
                OPTS="--enable-sse"
 %endif
-%ifarch athlon
-               OPTS="--enable-sse" # "--enable-k7" disabled - causes SEGV on athlons
+%ifarch armv7l armv7hl armv7hnl armv8l armv8hl armv8hnl armv8hcnl aarch64
+               OPTS="--enable-neon"
 %endif
-%ifarch ppc
+%ifarch ppc ppc64
                OPTS="--enable-altivec"
 %endif
-%ifnarch i586 i686 k6 athlon ppc
-               :       # keep sh happy about syntax
-%endif
+               : # keep sh happy about syntax on other archs
        fi
-%ifarch i686
-       # SSE2 only for double
-       if [ "$ver" = "double" ]; then
-               OPTS="--enable-sse2"
+%ifarch i686 pentium4 %{x8664} x32
+       # SSE/SSE2 and AVX only for single and double
+       if [ "$ver" = "double" -o "$ver" = "single" ]; then
+               OPTS="$OPTS --enable-sse2 --enable-avx"
+%if %{with avx256}
+               OPTS="$OPTS --enable-avx2"
+%endif
+%if %{with avx512}
+               OPTS="$OPTS --enable-avx512 --enable-kcvi"
+%endif
        fi
 %endif
-cd $ver
-%configure \
+%if %{with avx128fma}
+       OPTS="$OPTS --enable-avx128-fma"
+%endif
+%ifarch aarch64
+       OPTS="$OPTS --enable-neon"
+%endif
+%ifarch ppc ppc64
+       OPTS="$OPTS --enable-vsx"
+%endif
+install -d build-${ver}
+cd build-${ver}
+../%configure \
+       --enable-$ver \
+       --enable-debug%{!?debug:=no} \
+       --enable-openmp \
        --enable-shared \
        --enable-threads \
-       --enable-$ver \
-       $OPTS \
-       --%{!?debug:dis}%{?debug:en}able-debug
+       $OPTS
 
 %{__make}
-
 cd ..
 done
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/fftw
 
-%{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT
-
-%{__make} install -C single \
-       DESTDIR=$RPM_BUILD_ROOT
-
-%if %{with fftwl}
-%{__make} install -C long-double\
-       DESTDIR=$RPM_BUILD_ROOT
-%endif
+for b in %{builds} ; do
+       %{__make} install -C build-${b} \
+               DESTDIR=$RPM_BUILD_ROOT
+done
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -288,17 +377,29 @@ rm -rf $RPM_BUILD_ROOT
 %post  -p /sbin/ldconfig
 %postun        -p /sbin/ldconfig
 
-%post common-devel
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%post  single -p /sbin/ldconfig
+%postun        single -p /sbin/ldconfig
+
+%post  long -p /sbin/ldconfig
+%postun        long -p /sbin/ldconfig
 
-%postun common-devel
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%post  common-devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%postun        common-devel -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
 
 %files
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/fftw-wisdom
 %attr(755,root,root) %{_libdir}/libfftw3.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfftw3.so.3
 %attr(755,root,root) %{_libdir}/libfftw3_threads.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfftw3_threads.so.3
+%if %{with openmp}
+%attr(755,root,root) %{_libdir}/libfftw3_omp.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfftw3_omp.so.3
+%endif
 %{_mandir}/man1/fftw-wisdom.1*
 
 %files devel
@@ -307,18 +408,32 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libfftw3_threads.so
 %{_libdir}/libfftw3.la
 %{_libdir}/libfftw3_threads.la
+%if %{with openmp}
+%attr(755,root,root) %{_libdir}/libfftw3_omp.so
+%{_libdir}/libfftw3_omp.la
+%endif
 %{_pkgconfigdir}/fftw3.pc
+%{_libdir}/cmake/fftw3
 
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libfftw3.a
 %{_libdir}/libfftw3_threads.a
+%if %{with openmp}
+%{_libdir}/libfftw3_omp.a
+%endif
 
 %files single
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/fftwf-wisdom
 %attr(755,root,root) %{_libdir}/libfftw3f.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfftw3f.so.3
 %attr(755,root,root) %{_libdir}/libfftw3f_threads.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfftw3f_threads.so.3
+%if %{with openmp}
+%attr(755,root,root) %{_libdir}/libfftw3f_omp.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfftw3f_omp.so.3
+%endif
 %{_mandir}/man1/fftwf-wisdom.1*
 
 %files single-devel
@@ -327,19 +442,33 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libfftw3f_threads.so
 %{_libdir}/libfftw3f.la
 %{_libdir}/libfftw3f_threads.la
+%if %{with openmp}
+%attr(755,root,root) %{_libdir}/libfftw3f_omp.so
+%{_libdir}/libfftw3f_omp.la
+%endif
 %{_pkgconfigdir}/fftw3f.pc
+%{_libdir}/cmake/fftw3f
 
 %files single-static
 %defattr(644,root,root,755)
 %{_libdir}/libfftw3f.a
 %{_libdir}/libfftw3f_threads.a
+%if %{with openmp}
+%{_libdir}/libfftw3f_omp.a
+%endif
 
 %if %{with fftwl}
 %files long
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/fftwl-wisdom
 %attr(755,root,root) %{_libdir}/libfftw3l.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfftw3l.so.3
 %attr(755,root,root) %{_libdir}/libfftw3l_threads.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfftw3l_threads.so.3
+%if %{with openmp}
+%attr(755,root,root) %{_libdir}/libfftw3l_omp.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfftw3l_omp.so.3
+%endif
 %{_mandir}/man1/fftwl-wisdom.1*
 
 %files long-devel
@@ -348,22 +477,71 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_libdir}/libfftw3l_threads.so
 %{_libdir}/libfftw3l.la
 %{_libdir}/libfftw3l_threads.la
+%if %{with openmp}
+%attr(755,root,root) %{_libdir}/libfftw3l_omp.so
+%{_libdir}/libfftw3l_omp.la
+%endif
+%{_includedir}/fftw3l.f03
 %{_pkgconfigdir}/fftw3l.pc
+%{_libdir}/cmake/fftw3l
 
 %files long-static
 %defattr(644,root,root,755)
 %{_libdir}/libfftw3l.a
 %{_libdir}/libfftw3l_threads.a
+%if %{with openmp}
+%{_libdir}/libfftw3l_omp.a
+%endif
+%endif
+
+%if %{with fftwq}
+%files quad
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/fftwq-wisdom
+%attr(755,root,root) %{_libdir}/libfftw3q.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfftw3q.so.3
+%attr(755,root,root) %{_libdir}/libfftw3q_threads.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfftw3q_threads.so.3
+%if %{with openmp}
+%attr(755,root,root) %{_libdir}/libfftw3q_omp.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfftw3q_omp.so.3
+%endif
+%{_mandir}/man1/fftwq-wisdom.1*
+
+%files quad-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libfftw3q.so
+%attr(755,root,root) %{_libdir}/libfftw3q_threads.so
+%{_libdir}/libfftw3q.la
+%{_libdir}/libfftw3q_threads.la
+%if %{with openmp}
+%attr(755,root,root) %{_libdir}/libfftw3q_omp.so
+%{_libdir}/libfftw3q_omp.la
+%endif
+%{_includedir}/fftw3q.f03
+%{_pkgconfigdir}/fftw3q.pc
+%{_libdir}/cmake/fftw3q
+
+%files quad-static
+%defattr(644,root,root,755)
+%{_libdir}/libfftw3q.a
+%{_libdir}/libfftw3q_threads.a
+%if %{with openmp}
+%{_libdir}/libfftw3q_omp.a
+%endif
 %endif
 
 %files common
 %defattr(644,root,root,755)
 %doc AUTHORS COPYRIGHT ChangeLog NEWS README TODO
+%dir %{_sysconfdir}/fftw
 %attr(755,root,root) %{_bindir}/fftw-wisdom-to-conf
 %{_mandir}/man1/fftw-wisdom-to-conf.1*
 
 %files common-devel
 %defattr(644,root,root,755)
 %doc doc/html doc/FAQ/fftw-faq.html
-%{_includedir}/fftw3.*
+%{_includedir}/fftw3.f
+%{_includedir}/fftw3.f03
+%{_includedir}/fftw3.h
 %{_infodir}/fftw3.info*
This page took 0.083365 seconds and 4 git commands to generate.