ae89b4
%bcond_without mpich
ae89b4
%ifarch s390 s390x
ae89b4
%bcond_with openmpi
ae89b4
%else
ae89b4
%bcond_without openmpi
ae89b4
%endif
ae89b4
%if %{with mpich}
ae89b4
%global mpi_list %{?mpi_list} mpich
ae89b4
%endif
ae89b4
%if %{with openmpi}
ae89b4
%global mpi_list %{?mpi_list} openmpi
ae89b4
%endif
ae89b4
ae89b4
ae89b4
Name:           fftw
ae89b4
Version:        3.3.5
ae89b4
Release:        11%{?dist}
ae89b4
Summary:        A Fast Fourier Transform library
ae89b4
Group:          System Environment/Libraries
ae89b4
License:        GPLv2+
ae89b4
URL:            http://www.fftw.org
ae89b4
Source0:        http://www.fftw.org/fftw-%{version}.tar.gz
ae89b4
BuildRequires:  gcc-gfortran
ae89b4
ae89b4
BuildRequires:  autoconf
ae89b4
BuildRequires:  automake
ae89b4
BuildRequires:  libtool
ae89b4
ae89b4
%global quad 0
ae89b4
# Quad precision support only available with gcc >= 4.6 (Fedora >= 15)
ae89b4
# and only on these arches
ae89b4
%ifarch %{ix86} x86_64 ia64
ae89b4
%global quad 1
ae89b4
%endif
ae89b4
ae89b4
# For check phase
ae89b4
BuildRequires:  time
ae89b4
BuildRequires:  perl-interpreter
ae89b4
%if %{with mpich}
ae89b4
BuildRequires:  mpich-devel
ae89b4
BuildRequires:  nss-myhostname
ae89b4
%endif
ae89b4
%if %{with openmpi}
ae89b4
BuildRequires:  openmpi-devel
ae89b4
%endif
ae89b4
ae89b4
Requires(post): info 
ae89b4
Requires(preun): info
ae89b4
ae89b4
ae89b4
%description
ae89b4
FFTW is a C subroutine library for computing the Discrete Fourier
ae89b4
Transform (DFT) in one or more dimensions, of both real and complex
ae89b4
data, and of arbitrary input size.
ae89b4
ae89b4
%package libs
ae89b4
Summary:        FFTW run-time library
ae89b4
Group:          System Environment/Libraries
ae89b4
Provides:       fftw3 = %{version}-%{release}
ae89b4
# Libs rearranged in 3.3.1-2
ae89b4
Obsoletes:      fftw-libs-threads < %{version}-%{release}
ae89b4
Obsoletes:      fftw-libs-openmp < %{version}-%{release}
ae89b4
ae89b4
# Pull in the actual libraries
ae89b4
Requires:       %{name}-libs-single%{?_isa} = %{version}-%{release}
ae89b4
Requires:       %{name}-libs-double%{?_isa} = %{version}-%{release}
ae89b4
Requires:       %{name}-libs-long%{?_isa} = %{version}-%{release}
ae89b4
%if %{quad}
ae89b4
Requires:       %{name}-libs-quad%{?_isa} = %{version}-%{release}
ae89b4
%endif
ae89b4
ae89b4
%description libs
ae89b4
This is a dummy package package, pulling in the individual FFTW
ae89b4
run-time libraries.
ae89b4
ae89b4
ae89b4
%package devel
ae89b4
Summary:        Headers, libraries and docs for the FFTW library
ae89b4
Group:          Development/Libraries
ae89b4
Requires:       pkgconfig
ae89b4
Requires:       %{name}%{?_isa} = %{version}-%{release}
ae89b4
Requires:       %{name}-libs%{?_isa} = %{version}-%{release}
ae89b4
Provides:       fftw3-devel%{?_isa} = %{version}-%{release}
ae89b4
Provides:       fftw3-devel = %{version}-%{release}
ae89b4
ae89b4
%description devel
ae89b4
FFTW is a C subroutine library for computing the Discrete Fourier
ae89b4
Transform (DFT) in one or more dimensions, of both real and complex
ae89b4
data, and of arbitrary input size.
ae89b4
ae89b4
This package contains header files and development libraries needed to
ae89b4
develop programs using the FFTW fast Fourier transform library.
ae89b4
ae89b4
%package libs-double
ae89b4
Summary:        FFTW library, double precision
ae89b4
Group:          Development/Libraries
ae89b4
ae89b4
%description libs-double
ae89b4
This package contains the FFTW library compiled in double precision.
ae89b4
ae89b4
%package libs-single
ae89b4
Summary:        FFTW library, single precision
ae89b4
Group:          Development/Libraries
ae89b4
ae89b4
%description libs-single
ae89b4
This package contains the FFTW library compiled in single precision.
ae89b4
ae89b4
%package libs-long
ae89b4
Summary:        FFTW library, long double precision 
ae89b4
Group:          Development/Libraries
ae89b4
ae89b4
%description libs-long
ae89b4
This package contains the FFTW library compiled in long double
ae89b4
precision.
ae89b4
ae89b4
%if %{quad}
ae89b4
%package libs-quad
ae89b4
Summary:        FFTW library, quadruple
ae89b4
Group:          Development/Libraries
ae89b4
ae89b4
%description libs-quad
ae89b4
This package contains the FFTW library compiled in quadruple
ae89b4
precision.
ae89b4
%endif
ae89b4
ae89b4
%package        static
ae89b4
Summary:        Static versions of the FFTW libraries
ae89b4
Group:          Development/Libraries
ae89b4
Requires:       %{name}-devel%{?_isa} = %{version}-%{release}
ae89b4
Provides:       fftw3-static%{?_isa} = %{version}-%{release}
ae89b4
Provides:       fftw3-static = %{version}-%{release}
ae89b4
ae89b4
%description static
ae89b4
The fftw-static package contains the statically linkable version of
ae89b4
the FFTW fast Fourier transform library.
ae89b4
ae89b4
%if %{with mpich}
ae89b4
%package mpich-libs
ae89b4
Summary:        FFTW MPICH run-time library
ae89b4
Group:          System Environment/Libraries
ae89b4
Provides:       fftw3-mpich = %{version}-%{release}
ae89b4
ae89b4
# Pull in the actual libraries
ae89b4
Requires:       %{name}-mpich-libs-single%{?_isa} = %{version}-%{release}
ae89b4
Requires:       %{name}-mpich-libs-double%{?_isa} = %{version}-%{release}
ae89b4
Requires:       %{name}-mpich-libs-long%{?_isa} = %{version}-%{release}
ae89b4
ae89b4
%description mpich-libs
ae89b4
This is a dummy package package, pulling in the individual FFTW
ae89b4
MPICH run-time libraries.
ae89b4
ae89b4
ae89b4
%package mpich-devel
ae89b4
Summary:        Headers, libraries and docs for the FFTW MPICH library
ae89b4
Group:          Development/Libraries
ae89b4
Requires:       mpich-devel
ae89b4
Requires:       pkgconfig
ae89b4
Requires:       %{name}-devel%{?_isa} = %{version}-%{release}
ae89b4
Requires:       %{name}-mpich-libs%{?_isa} = %{version}-%{release}
ae89b4
Provides:       fftw3-mpich-devel%{?_isa} = %{version}-%{release}
ae89b4
Provides:       fftw3-mpich-devel = %{version}-%{release}
ae89b4
ae89b4
%description mpich-devel
ae89b4
FFTW is a C subroutine library for computing the Discrete Fourier
ae89b4
Transform (DFT) in one or more dimensions, of both real and complex
ae89b4
data, and of arbitrary input size.
ae89b4
ae89b4
This package contains header files and development libraries needed to
ae89b4
develop programs using the FFTW fast Fourier transform library for MPICH.
ae89b4
ae89b4
%package mpich-libs-double
ae89b4
Summary:        FFTW MPICH library, double precision
ae89b4
Group:          Development/Libraries
ae89b4
Requires:       %{name}-libs-double%{?_isa} = %{version}-%{release}
ae89b4
ae89b4
%description mpich-libs-double
ae89b4
This package contains the FFTW MPICH library compiled in double precision.
ae89b4
ae89b4
%package mpich-libs-single
ae89b4
Summary:        FFTW MPICH library, single precision
ae89b4
Group:          Development/Libraries
ae89b4
Requires:       %{name}-libs-single%{?_isa} = %{version}-%{release}
ae89b4
ae89b4
%description mpich-libs-single
ae89b4
This package contains the FFTW MPICH library compiled in single precision.
ae89b4
ae89b4
%package mpich-libs-long
ae89b4
Summary:        FFTW MPICH library, long double precision 
ae89b4
Group:          Development/Libraries
ae89b4
Requires:       %{name}-libs-long%{?_isa} = %{version}-%{release}
ae89b4
ae89b4
%description mpich-libs-long
ae89b4
This package contains the FFTW MPICH library compiled in long double
ae89b4
precision.
ae89b4
ae89b4
%package        mpich-static
ae89b4
Summary:        Static versions of the FFTW MPICH libraries
ae89b4
Group:          Development/Libraries
ae89b4
Requires:       %{name}-mpich-devel%{?_isa} = %{version}-%{release}
ae89b4
Requires:       %{name}-static%{?_isa} = %{version}-%{release}
ae89b4
Provides:       fftw3-mpich-static%{?_isa} = %{version}-%{release}
ae89b4
Provides:       fftw3-mpich-static = %{version}-%{release}
ae89b4
ae89b4
%description mpich-static
ae89b4
The fftw-mpich-static package contains the statically linkable version of
ae89b4
the FFTW fast Fourier transform library for MPICh.
ae89b4
%endif
ae89b4
ae89b4
%if %{with openmpi}
ae89b4
%package openmpi-libs
ae89b4
Summary:        FFTW OpenMPI run-time library
ae89b4
Group:          System Environment/Libraries
ae89b4
Provides:       fftw3-openmpi = %{version}-%{release}
ae89b4
ae89b4
# Pull in the actual libraries
ae89b4
Requires:       %{name}-openmpi-libs-single%{?_isa} = %{version}-%{release}
ae89b4
Requires:       %{name}-openmpi-libs-double%{?_isa} = %{version}-%{release}
ae89b4
Requires:       %{name}-openmpi-libs-long%{?_isa} = %{version}-%{release}
ae89b4
ae89b4
%description openmpi-libs
ae89b4
This is a dummy package package, pulling in the individual FFTW
ae89b4
OpenMPI run-time libraries.
ae89b4
ae89b4
ae89b4
%package openmpi-devel
ae89b4
Summary:        Headers, libraries and docs for the FFTW OpenMPI library
ae89b4
Group:          Development/Libraries
ae89b4
Requires:       openmpi-devel
ae89b4
Requires:       pkgconfig
ae89b4
Requires:       %{name}-devel%{?_isa} = %{version}-%{release}
ae89b4
Requires:       %{name}-openmpi-libs%{?_isa} = %{version}-%{release}
ae89b4
Provides:       fftw3-openmpi-devel%{?_isa} = %{version}-%{release}
ae89b4
Provides:       fftw3-openmpi-devel = %{version}-%{release}
ae89b4
ae89b4
%description openmpi-devel
ae89b4
FFTW is a C subroutine library for computing the Discrete Fourier
ae89b4
Transform (DFT) in one or more dimensions, of both real and complex
ae89b4
data, and of arbitrary input size.
ae89b4
ae89b4
This package contains header files and development libraries needed to
ae89b4
develop programs using the FFTW fast Fourier transform library for OpenMPI.
ae89b4
ae89b4
%package openmpi-libs-double
ae89b4
Summary:        FFTW OpenMPI library, double precision
ae89b4
Group:          Development/Libraries
ae89b4
Requires:       %{name}-libs-double%{?_isa} = %{version}-%{release}
ae89b4
ae89b4
%description openmpi-libs-double
ae89b4
This package contains the FFTW OpenMPI library compiled in double precision.
ae89b4
ae89b4
%package openmpi-libs-single
ae89b4
Summary:        FFTW OpenMPI library, single precision
ae89b4
Group:          Development/Libraries
ae89b4
Requires:       %{name}-libs-single%{?_isa} = %{version}-%{release}
ae89b4
ae89b4
%description openmpi-libs-single
ae89b4
This package contains the FFTW OpenMPI library compiled in single precision.
ae89b4
ae89b4
%package openmpi-libs-long
ae89b4
Summary:        FFTW OpenMPI library, long double precision 
ae89b4
Group:          Development/Libraries
ae89b4
Requires:       %{name}-libs-long%{?_isa} = %{version}-%{release}
ae89b4
ae89b4
%description openmpi-libs-long
ae89b4
This package contains the FFTW OpenMPI library compiled in long double
ae89b4
precision.
ae89b4
ae89b4
%package        openmpi-static
ae89b4
Summary:        Static versions of the FFTW OpenMPI libraries
ae89b4
Group:          Development/Libraries
ae89b4
Requires:       %{name}-openmpi-devel%{?_isa} = %{version}-%{release}
ae89b4
Requires:       %{name}-static%{?_isa} = %{version}-%{release}
ae89b4
Provides:       fftw3-openmpi-static%{?_isa} = %{version}-%{release}
ae89b4
Provides:       fftw3-openmpi-static = %{version}-%{release}
ae89b4
ae89b4
%description openmpi-static
ae89b4
The fftw-openmpi-static package contains the statically linkable version of
ae89b4
the FFTW fast Fourier transform library for MPICh.
ae89b4
%endif
ae89b4
ae89b4
%package doc
ae89b4
Summary:        FFTW library manual
ae89b4
Group:          Documentation
ae89b4
BuildArch:      noarch
ae89b4
ae89b4
%description doc
ae89b4
This package contains the manual for the FFTW fast Fourier transform
ae89b4
library.
ae89b4
ae89b4
%prep
ae89b4
%setup -q
ae89b4
ae89b4
%build
ae89b4
# Regenerate autoconf files using current tools so proper build flags
ae89b4
# from redhat-rpm-config are used
ae89b4
autoreconf -vfi
ae89b4
# Configure uses g77 by default, if present on system
ae89b4
export F77=gfortran
ae89b4
ae89b4
BASEFLAGS="--enable-shared --disable-dependency-tracking --enable-threads"
ae89b4
BASEFLAGS+=" --enable-openmp"
ae89b4
ae89b4
# Precisions to build
ae89b4
prec_name[0]=single
ae89b4
prec_name[1]=double
ae89b4
prec_name[2]=long
ae89b4
prec_name[3]=quad
ae89b4
ae89b4
# Corresponding flags
ae89b4
prec_flags[0]=--enable-single
ae89b4
prec_flags[1]=--enable-double
ae89b4
prec_flags[2]=--enable-long-double
ae89b4
prec_flags[3]=--enable-quad-precision
ae89b4
ae89b4
%ifarch x86_64
ae89b4
# Enable SSE2 and AVX support for x86_64
ae89b4
for((i=0;i<2;i++)); do
ae89b4
 prec_flags[i]+=" --enable-sse2 --enable-avx"
ae89b4
done
ae89b4
%endif
ae89b4
ae89b4
# No NEON run time detection, not all ARM SoCs have NEON
ae89b4
#%ifarch %{arm}
ae89b4
## Compile support for NEON instructions
ae89b4
#for((i=0;i<2;i++)); do
ae89b4
# prec_flags[i]+=" --enable-neon"
ae89b4
#done
ae89b4
#%endif
ae89b4
ae89b4
#%ifarch ppc ppc64
ae89b4
## Compile support for Altivec instructions
ae89b4
#for((i=0;i<2;i++)); do
ae89b4
 #prec_flags[i]+=" --enable-altivec"
ae89b4
#done
ae89b4
#%endif
ae89b4
ae89b4
# Loop over precisions
ae89b4
%if %{quad}
ae89b4
for((iprec=0;iprec<4;iprec++))
ae89b4
%else
ae89b4
for((iprec=0;iprec<3;iprec++))
ae89b4
%endif
ae89b4
do
ae89b4
 mkdir ${prec_name[iprec]}${ver_name[iver]}
ae89b4
 cd ${prec_name[iprec]}${ver_name[iver]}
ae89b4
 ln -s ../configure .
ae89b4
 %{configure} ${BASEFLAGS} ${prec_flags[iprec]}
ae89b4
 sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
ae89b4
 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
ae89b4
 make %{?_smp_mflags}
ae89b4
 cd ..
ae89b4
done
ae89b4
ae89b4
# MPI Builds - this duplicates the non-mpi builds, but oh well
ae89b4
for mpi in %{mpi_list}
ae89b4
do
ae89b4
 module load mpi/${mpi}-%{_arch}
ae89b4
 # Loop over precisions - no quad precision support with MPI
ae89b4
 for((iprec=0;iprec<3;iprec++))
ae89b4
 do
ae89b4
  mkdir ${mpi}-${prec_name[iprec]}${ver_name[iver]}
ae89b4
  cd ${mpi}-${prec_name[iprec]}${ver_name[iver]}
ae89b4
  ln -s ../configure .
ae89b4
  # Force linking the _mpi.so libraries with the mpi libs.  This works because
ae89b4
  # we get rid of all of the non-mpi components of these builds
ae89b4
  export CC=mpicc
ae89b4
  %{configure} ${BASEFLAGS} ${prec_flags[iprec]} --enable-mpi \
ae89b4
   --libdir=%{_libdir}/$mpi/lib \
ae89b4
   --bindir=%{_libdir}/$mpi/bin \
ae89b4
   --sbindir=%{_libdir}/$mpi/sbin \
ae89b4
   --includedir=%{_includedir}/$mpi-%{_arch} \
ae89b4
   --mandir=%{_libdir}/$mpi/share/man
ae89b4
  make %{?_smp_mflags}
ae89b4
  cd ..
ae89b4
 done
ae89b4
 module unload mpi/${mpi}-%{_arch}
ae89b4
done
ae89b4
ae89b4
ae89b4
%install
ae89b4
%if %{quad}
ae89b4
for ver in single double long quad
ae89b4
%else
ae89b4
for ver in single double long
ae89b4
%endif
ae89b4
do
ae89b4
 make -C $ver install DESTDIR=%{buildroot}
ae89b4
done
ae89b4
# MPI
ae89b4
for mpi in %{mpi_list}
ae89b4
do
ae89b4
 module load mpi/${mpi}-%{_arch}
ae89b4
 for ver in single double long
ae89b4
 do
ae89b4
  make -C ${mpi}-${ver} install DESTDIR=%{buildroot}
ae89b4
  # Remove duplicated non-mpi libraries, binaries, and data
ae89b4
  find %{buildroot}%{_libdir}/${mpi}/lib -name libfftw\* -a \! -name \*_mpi.\* -delete
ae89b4
  rm -r %{buildroot}%{_libdir}/${mpi}/{bin,share}
ae89b4
 done
ae89b4
 module unload mpi/${mpi}-%{_arch}
ae89b4
done
ae89b4
rm -f %{buildroot}%{_infodir}/dir
ae89b4
find %{buildroot} -name \*.la -delete
ae89b4
ae89b4
%check
ae89b4
bdir=`pwd`
ae89b4
%if %{quad}
ae89b4
for ver in single double long quad
ae89b4
%else
ae89b4
for ver in single double long
ae89b4
%endif
ae89b4
do 
ae89b4
 export LD_LIBRARY_PATH=$bdir/$ver/.libs:$bdir/$ver/threads/.libs
ae89b4
 make %{?_smp_mflags} -C $ver check
ae89b4
done
ae89b4
# MPI
ae89b4
%if %{with openmpi}
ae89b4
%ifarch %{ix86}
ae89b4
# disable Open MPI's vader byte transfer layer while running tests on 32-bit x86 platforms
ae89b4
# as it is known to be troublesome <https://github.com/open-mpi/ompi/issues/4260>
ae89b4
export OMPI_MCA_btl="^vader"
ae89b4
%endif
ae89b4
%endif
ae89b4
# disable tests on ppc64 and ppc64le for now
ae89b4
# https://github.com/FFTW/fftw3/issues/145
ae89b4
%ifnarch  ppc64 ppc64le
ae89b4
for mpi in %{mpi_list}
ae89b4
do
ae89b4
 module load mpi/${mpi}-%{_arch}
ae89b4
 for ver in single double long
ae89b4
 do 
ae89b4
  export LD_LIBRARY_PATH=$bdir/$ver/.libs:$bdir/$ver/threads/.libs
ae89b4
  make %{?_smp_mflags} -C ${mpi}-${ver}/mpi check
ae89b4
 done
ae89b4
 module unload mpi/${mpi}-%{_arch}
ae89b4
done
ae89b4
ae89b4
%ldconfig_scriptlets libs-single
ae89b4
%ldconfig_scriptlets libs-double
ae89b4
%ldconfig_scriptlets libs-long
ae89b4
%if %{quad}
ae89b4
%ldconfig_scriptlets libs-quad
ae89b4
%endif
ae89b4
%endif
ae89b4
ae89b4
%post devel
ae89b4
/sbin/install-info --section="Math" %{_infodir}/%{name}.info.gz %{_infodir}/dir  2>/dev/null || :
ae89b4
ae89b4
%preun devel
ae89b4
if [ "$1" = 0 ]; then
ae89b4
  /sbin/install-info --delete %{_infodir}/%{name}.info.gz %{_infodir}/dir 2>/dev/null || :
ae89b4
fi
ae89b4
ae89b4
%files
ae89b4
%{_mandir}/man1/fftw*.1*
ae89b4
%{_bindir}/fftw*-wisdom*
ae89b4
ae89b4
%files libs
ae89b4
ae89b4
%files libs-single
ae89b4
%license COPYING COPYRIGHT
ae89b4
%doc AUTHORS ChangeLog NEWS README* TODO
ae89b4
%{_libdir}/libfftw3f.so.*
ae89b4
%{_libdir}/libfftw3f_threads.so.*
ae89b4
%{_libdir}/libfftw3f_omp.so.*
ae89b4
ae89b4
%files libs-double
ae89b4
%license COPYING COPYRIGHT
ae89b4
%doc AUTHORS ChangeLog NEWS README* TODO
ae89b4
%{_libdir}/libfftw3.so.*
ae89b4
%{_libdir}/libfftw3_threads.so.*
ae89b4
%{_libdir}/libfftw3_omp.so.*
ae89b4
ae89b4
%files libs-long
ae89b4
%license COPYING COPYRIGHT
ae89b4
%doc AUTHORS ChangeLog NEWS README* TODO
ae89b4
%{_libdir}/libfftw3l.so.*
ae89b4
%{_libdir}/libfftw3l_threads.so.*
ae89b4
%{_libdir}/libfftw3l_omp.so.*
ae89b4
ae89b4
%if %{quad}
ae89b4
%files libs-quad
ae89b4
%license COPYING COPYRIGHT
ae89b4
%doc AUTHORS ChangeLog NEWS README* TODO
ae89b4
%{_libdir}/libfftw3q.so.*
ae89b4
%{_libdir}/libfftw3q_threads.so.*
ae89b4
%{_libdir}/libfftw3q_omp.so.*
ae89b4
%endif
ae89b4
ae89b4
%files devel
ae89b4
%doc doc/FAQ/fftw-faq.html/
ae89b4
%doc %{_infodir}/fftw3.info*
ae89b4
%{_includedir}/fftw3*
ae89b4
%{_libdir}/pkgconfig/fftw3*.pc
ae89b4
%{_libdir}/libfftw3*.so
ae89b4
ae89b4
%files static
ae89b4
%{_libdir}/libfftw3*.a
ae89b4
ae89b4
%files doc
ae89b4
%doc doc/*.pdf doc/html/
ae89b4
ae89b4
%if %{with mpich}
ae89b4
%files mpich-libs
ae89b4
ae89b4
%files mpich-libs-single
ae89b4
%license COPYING COPYRIGHT
ae89b4
%doc AUTHORS ChangeLog NEWS README* TODO
ae89b4
%{_libdir}/mpich/lib/libfftw3f_mpi.so.*
ae89b4
ae89b4
%files mpich-libs-double
ae89b4
%license COPYING COPYRIGHT
ae89b4
%doc AUTHORS ChangeLog NEWS README* TODO
ae89b4
%{_libdir}/mpich/lib/libfftw3_mpi.so.*
ae89b4
ae89b4
%files mpich-libs-long
ae89b4
%license COPYING COPYRIGHT
ae89b4
%doc AUTHORS ChangeLog NEWS README* TODO
ae89b4
%{_libdir}/mpich/lib/libfftw3l_mpi.so.*
ae89b4
ae89b4
%files mpich-devel
ae89b4
%doc doc/FAQ/fftw-faq.html/
ae89b4
%{_includedir}/mpich-%{_arch}
ae89b4
%{_libdir}/mpich/lib/pkgconfig/fftw3*.pc
ae89b4
%{_libdir}/mpich/lib/libfftw3*.so
ae89b4
ae89b4
%files mpich-static
ae89b4
%{_libdir}/mpich/lib/libfftw3*.a
ae89b4
%endif
ae89b4
ae89b4
%if %{with openmpi}
ae89b4
%files openmpi-libs
ae89b4
ae89b4
%files openmpi-libs-single
ae89b4
%license COPYING COPYRIGHT
ae89b4
%doc AUTHORS ChangeLog NEWS README* TODO
ae89b4
%{_libdir}/openmpi/lib/libfftw3f_mpi.so.*
ae89b4
ae89b4
%files openmpi-libs-double
ae89b4
%license COPYING COPYRIGHT
ae89b4
%doc AUTHORS ChangeLog NEWS README* TODO
ae89b4
%{_libdir}/openmpi/lib/libfftw3_mpi.so.*
ae89b4
ae89b4
%files openmpi-libs-long
ae89b4
%license COPYING COPYRIGHT
ae89b4
%doc AUTHORS ChangeLog NEWS README* TODO
ae89b4
%{_libdir}/openmpi/lib/libfftw3l_mpi.so.*
ae89b4
ae89b4
%files openmpi-devel
ae89b4
%doc doc/FAQ/fftw-faq.html/
ae89b4
%{_includedir}/openmpi-%{_arch}
ae89b4
%{_libdir}/openmpi/lib/pkgconfig/fftw3*.pc
ae89b4
%{_libdir}/openmpi/lib/libfftw3*.so
ae89b4
ae89b4
%files openmpi-static
ae89b4
%{_libdir}/openmpi/lib/libfftw3*.a
ae89b4
%endif
ae89b4
ae89b4
%changelog
ae89b4
* Wed Apr 18 2018 Merlin Mathesius <mmathesi@redhat.com> - 3.3.5-11
ae89b4
- Regenerate autoconf files using current tools so proper build flags
ae89b4
  from redhat-rpm-config are used. This resolves BZ#1548473.
ae89b4
ae89b4
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.5-10
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
ae89b4
ae89b4
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.3.5-9
ae89b4
- Switch to %%ldconfig_scriptlets
ae89b4
ae89b4
* Tue Nov 28 2017 Merlin Mathesius <mmathesi@redhat.com> - 3.3.5-8
ae89b4
- Disable Open MPI's vader byte transfer layer while running tests on 32-bit x86 platforms
ae89b4
  as it is known to be troublesome <https://github.com/open-mpi/ompi/issues/4260>.
ae89b4
  This resolves FTBFS issue (BZ#1518038).
ae89b4
ae89b4
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.5-7
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
ae89b4
ae89b4
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.5-6
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
ae89b4
ae89b4
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.5-5
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
ae89b4
ae89b4
* Fri Oct 21 2016 Orion Poplawski <orion@cora.nwra.com> - 3.3.5-4
ae89b4
- Rebuild for openmpi 2.0
ae89b4
ae89b4
* Mon Oct 10 2016 Dan HorĂ¡k <dan[at]danny.cz> - 3.3.5-3
ae89b4
- Update BRs so nss-myhostname (provided by systemd) is included also
ae89b4
  in mpich-only builds (Related: #1383271)
ae89b4
ae89b4
* Fri Oct 7 2016 Orion Poplawski <orion@cora.nwra.com> - 3.3.5-2
ae89b4
- Build mpich and openmpi versions
ae89b4
ae89b4
* Wed Oct 5 2016 Orion Poplawski <orion@cora.nwra.com> - 3.3.5-1
ae89b4
- Update to 3.3.5
ae89b4
- Cleanup spec
ae89b4
ae89b4
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.4-7
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
ae89b4
ae89b4
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.4-6
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
ae89b4
ae89b4
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.4-5
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
ae89b4
ae89b4
* Fri Jul  4 2014 Peter Robinson <pbrobinson@fedoraproject.org> 3.3.4-4
ae89b4
- Disable SSE2/AVX on x86(32) as we support Pentium Pro as base
ae89b4
- SSE2 only arrived with P-4
ae89b4
- https://fedoraproject.org/wiki/Features/F12X86Support
ae89b4
- Fix ARM macro
ae89b4
- Disable NEON on ARM (we don't enable by default, needs runtime detection)
ae89b4
ae89b4
* Thu Jul 03 2014 Conrad Meyer <cemeyer@uw.edu> - 3.3.4-3
ae89b4
- Build with --enable-avx (rhbz# 1114964)
ae89b4
ae89b4
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.4-2
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
ae89b4
ae89b4
* Tue Mar 18 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 3.3.4-1
ae89b4
- Update to 3.3.4.
ae89b4
ae89b4
* Sat Dec 14 2013 Conrad Meyer <cemeyer@uw.edu> - 3.3.3-8
ae89b4
- Remove non-OpenMP / g77 build for obsolete RHEL (< 5)
ae89b4
- Remove ancient Obsoletes (fftw < 3.3, Fedora < 16)
ae89b4
- Remove ancient non-Quad build (Fedora < 15) on supported arch(s)
ae89b4
- Remove obsolete conditional on BuildArch: noarch (RHEL < 6, Fedora < 13)
ae89b4
ae89b4
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.3-7
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
ae89b4
ae89b4
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.3-6
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
ae89b4
ae89b4
* Sat Jan 19 2013 PPC Secondary Arch Admin <karsten@redhat.com> 3.3.3-5
ae89b4
- disable altivec flag again, that works with single precision only
ae89b4
ae89b4
* Mon Dec 24 2012 Susi Lehtola <jussilehtola@fedoraproject.org> - 3.3.3-4
ae89b4
- Fix typo: should be %%ix86 instead of %%x86. Now should have SSE2 support
ae89b4
  on x86 as well.
ae89b4
ae89b4
* Tue Dec 18 2012 Susi Lehtola <jussilehtola@fedoraproject.org> - 3.3.3-3
ae89b4
- After consultation with upstream, enable SSE2 also on x86, altivec on ppc
ae89b4
  and ppc64 and NEON on arm.
ae89b4
ae89b4
* Tue Dec 18 2012 Susi Lehtola <jussilehtola@fedoraproject.org> - 3.3.3-2
ae89b4
- Enable SSE2 on x86_64.
ae89b4
ae89b4
* Mon Nov 26 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.3.3-1
ae89b4
- Update to 3.3.3.
ae89b4
ae89b4
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.2-2
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
ae89b4
ae89b4
* Fri Jun 15 2012 Orion Poplawski <orion@cora.nwra.com> - 3.3.2-1
ae89b4
- Update to 3.3.2
ae89b4
- Drop alignment patch
ae89b4
ae89b4
* Fri Apr 27 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.3.1-3
ae89b4
- Fix FTBFS with gcc 4.7.
ae89b4
ae89b4
* Thu Apr 26 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.3.1-2
ae89b4
- Reorganized libraries (BZ #812981).
ae89b4
ae89b4
* Mon Feb 27 2012 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.3.1-1
ae89b4
- Update to 3.3.1.
ae89b4
ae89b4
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3-5
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
ae89b4
ae89b4
* Tue Oct 11 2011 Dan HorĂ¡k <dan[at]danny.cz> - 3.3-4
ae89b4
- libquadmath exists only on x86/x86_64 and ia64
ae89b4
ae89b4
* Mon Oct 10 2011 Rex Dieter <rdieter@fedoraproject.org> 3.3-3
ae89b4
- -devel: Provides: fftw3-devel (#744758)
ae89b4
- -static: Provides: fftw3-static
ae89b4
- drop %%_isa from Obsoletes
ae89b4
ae89b4
* Sat Jul 30 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.3-2
ae89b4
- Conditionalize OpenMP and quadruple precision support based on capabilities
ae89b4
  of system compiler.
ae89b4
ae89b4
* Thu Jul 28 2011 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.3-1
ae89b4
- Update to 3.3.
ae89b4
ae89b4
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.2-5
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
ae89b4
ae89b4
* Sat Jan 9 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.2.2-4
ae89b4
- Get rid of rpath.
ae89b4
ae89b4
* Sat Jan 9 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.2.2-3
ae89b4
- Branch out developers' manual to -doc.
ae89b4
ae89b4
* Sat Jan 2 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.2.2-2
ae89b4
- Add check phase.
ae89b4
- Cosmetic changes to spec file (unified changelog format, removed unnecessary
ae89b4
  space).
ae89b4
- Use rm instead of find -delete, as latter is not present on EPEL-4.
ae89b4
- Generalize obsoletes of fftw3 packages. Add Obsoletes: fftw3-static.
ae89b4
ae89b4
* Fri Jan 1 2010 Jussi Lehtola <jussilehtola@fedoraproject.org> - 3.2.2-1
ae89b4
- Update to 3.2.2.
ae89b4
- Make file listings more explicit.
ae89b4
- Don't use file dependencies for info.
ae89b4
ae89b4
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.1-3
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
ae89b4
ae89b4
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.1-2
ae89b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
ae89b4
ae89b4
* Sat Feb 14 2009 Conrad Meyer <konrad@tylerc.org> - 3.2.1-1
ae89b4
- Bump to 3.2.1.
ae89b4
ae89b4
* Thu Dec 4 2008 Conrad Meyer <konrad@tylerc.org> - 3.2-1
ae89b4
- Bump to 3.2.
ae89b4
ae89b4
* Fri Jul 18 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 3.1.2-7
ae89b4
- fix license tag
ae89b4
ae89b4
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 3.1.2-6
ae89b4
- Autorebuild for GCC 4.3
ae89b4
ae89b4
* Fri Aug 24 2007 Quentin Spencer <qspencer@users.sf.net> 3.1.2-5
ae89b4
- Rebuild for F8.
ae89b4
ae89b4
* Fri Jul 27 2007 Quentin Spencer <qspencer@users.sf.net> 3.1.2-4
ae89b4
- Split static libs into separate package (bug 249686).
ae89b4
ae89b4
* Thu Oct 05 2006 Christian Iseli <Christian.Iseli@licr.org> 3.1.2-3
ae89b4
- rebuilt for unwind info generation, broken in gcc-4.1.1-21
ae89b4
ae89b4
* Tue Sep 26 2006 Quentin Spencer <qspencer@users.sf.net> 3.1.2-2
ae89b4
- BuildRequires: pkgconfig for -devel (bug 206444).
ae89b4
ae89b4
* Fri Sep  8 2006 Quentin Spencer <qspencer@users.sf.net> 3.1.2-1
ae89b4
- New release.
ae89b4
ae89b4
* Fri Jun  2 2006 Quentin Spencer <qspencer@users.sf.net> 3.1.1-1
ae89b4
- New upstream release.
ae89b4
ae89b4
* Fri Feb 24 2006 Quentin Spencer <qspencer@users.sf.net> 3.1-4
ae89b4
- Re-enable static libs (bug 181897).
ae89b4
- Build long-double version of libraries (bug 182587).
ae89b4
ae89b4
* Mon Feb 13 2006 Quentin Spencer <qspencer@users.sf.net> 3.1-3
ae89b4
- Add Obsoletes and Provides.
ae89b4
ae89b4
* Mon Feb 13 2006 Quentin Spencer <qspencer@users.sf.net> 3.1-2
ae89b4
- Rebuild for Fedora Extras 5.
ae89b4
- Disable static libs.
ae89b4
- Remove obsolete configure options.
ae89b4
ae89b4
* Wed Feb  1 2006 Quentin Spencer <qspencer@users.sf.net> 3.1-1
ae89b4
- Upgrade to the 3.x branch, incorporating changes from the fftw3 spec file.
ae89b4
- Add dist tag.