]> 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
 %endif
+
 Summary:       Fast Fourier Transform library
 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
 Name:          fftw3
-Version:       3.0.1
+Version:       3.3.10
 Release:       2
 Release:       2
-License:       GPL
+License:       GPL v2+
 Group:         Libraries
 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
 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/
 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: libtool
+BuildRequires: texinfo
 Requires:      %{name}-common = %{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 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,
 %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.
 
 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
 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
 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}
 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
 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
 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.
 
 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.
 
 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
 
 %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}
 
 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.
 
 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
 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
 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
 
 %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}
 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
 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
 
 %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.
 
 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
 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}
 
 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.
 
 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
 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
 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
 
 %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}
 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
 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
 
 %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.
 
 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.
 
 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
 %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).
 
 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
 
 %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}
 
 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).
 
 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
 
 %prep
 %setup -q -n fftw-%{version}
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
+%patch3 -p1
 
 %build
 %{__libtoolize}
 
 %build
 %{__libtoolize}
-%{__aclocal}
+%{__aclocal} -I m4
 %{__autoconf}
 %{__automake}
 
 %{__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
 # 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=""
        OPTS=""
-       # k7,SSE,3dnow,altivec only for single
+       # SSE,altivec,neon@arm[32] only for single
        if [ "$ver" = "single" ]; then
        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
                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
 %endif
-%ifarch ppc
+%ifarch ppc ppc64
                OPTS="--enable-altivec"
 %endif
                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
        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
        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-shared \
        --enable-threads \
-       --enable-$ver \
-       $OPTS \
-       --%{!?debug:dis}%{?debug:en}able-debug
+       $OPTS
 
 %{__make}
 
 %{__make}
-
 cd ..
 done
 
 %install
 rm -rf $RPM_BUILD_ROOT
 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
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -288,17 +377,29 @@ rm -rf $RPM_BUILD_ROOT
 %post  -p /sbin/ldconfig
 %postun        -p /sbin/ldconfig
 
 %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.*.*.*
 
 %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) %{_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
 %{_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
 %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
 %{_pkgconfigdir}/fftw3.pc
+%{_libdir}/cmake/fftw3
 
 %files static
 %defattr(644,root,root,755)
 %{_libdir}/libfftw3.a
 %{_libdir}/libfftw3_threads.a
 
 %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.*.*.*
 
 %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) %{_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
 %{_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
 %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
 %{_pkgconfigdir}/fftw3f.pc
+%{_libdir}/cmake/fftw3f
 
 %files single-static
 %defattr(644,root,root,755)
 %{_libdir}/libfftw3f.a
 %{_libdir}/libfftw3f_threads.a
 
 %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.*.*.*
 
 %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) %{_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
 %{_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
 %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
 %{_pkgconfigdir}/fftw3l.pc
+%{_libdir}/cmake/fftw3l
 
 %files long-static
 %defattr(644,root,root,755)
 %{_libdir}/libfftw3l.a
 %{_libdir}/libfftw3l_threads.a
 
 %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
 %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
 %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*
 %{_infodir}/fftw3.info*
This page took 0.113753 seconds and 4 git commands to generate.