packages: fftw3/fftw3-link.patch, fftw3/fftw3.spec, fftw3/fftw3-ac_simd.pat...
qboosh
qboosh at pld-linux.org
Fri Jul 29 16:31:41 CEST 2011
Author: qboosh Date: Fri Jul 29 14:31:41 2011 GMT
Module: packages Tag: HEAD
---- Log message:
- updated to 3.3
- updated link patch, removed obsolete ac_simd patch
- build single and double precision with sse2 and avx support (where possible)
- build OpenMP libraries (with gomp bcond, gcc 4.2+ required)
- build quad-precision libraries (-quad-* subpackages, fftwq bcond, gcc 4.6+ required)
---- Files affected:
packages/fftw3:
fftw3-link.patch (1.4 -> 1.5) , fftw3.spec (1.42 -> 1.43) , fftw3-ac_simd.patch (1.1 -> NONE) (REMOVED)
---- Diffs:
================================================================
Index: packages/fftw3/fftw3-link.patch
diff -u packages/fftw3/fftw3-link.patch:1.4 packages/fftw3/fftw3-link.patch:1.5
--- packages/fftw3/fftw3-link.patch:1.4 Thu Oct 14 20:53:44 2010
+++ packages/fftw3/fftw3-link.patch Fri Jul 29 16:31:36 2011
@@ -1,20 +1,27 @@
---- fftw-3.0.1/threads/Makefile.am.orig 2003-03-16 21:00:04.000000000 +0100
-+++ fftw-3.0.1/threads/Makefile.am 2003-07-25 00:35:16.000000000 +0200
-@@ -10,3 +10,4 @@
- hc2hc-dif.c vrank-geq1-rdft2.c f77api.c f77funcs.h
-
+--- fftw-3.3/threads/Makefile.am.orig 2011-07-27 02:28:29.000000000 +0200
++++ fftw-3.3/threads/Makefile.am 2011-07-28 20:21:46.135119454 +0200
+@@ -26,9 +26,11 @@
+ vrank-geq1-rdft2.c f77api.c f77funcs.h
+ libfftw3 at PREC_SUFFIX@_threads_la_CFLAGS = $(PTHREAD_CFLAGS)
libfftw3 at PREC_SUFFIX@_threads_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
-+libfftw3 at PREC_SUFFIX@_threads_la_LIBADD = $(top_builddir)/libfftw3 at PREC_SUFFIX@.la -lpthread
---- fftw-3.2.2/Makefile.am.orig 2009-07-12 12:35:49.000000000 +0200
-+++ fftw-3.2.2/Makefile.am 2010-10-14 09:20:15.323741882 +0200
++libfftw3 at PREC_SUFFIX@_threads_la_LIBADD = $(top_builddir)/libfftw3 at PREC_SUFFIX@.la
+
+ libfftw3 at PREC_SUFFIX@_omp_la_SOURCES = api.c conf.c openmp.c \
+ threads.h dft-vrank-geq1.c ct.c rdft-vrank-geq1.c hc2hc.c \
+ vrank-geq1-rdft2.c f77api.c f77funcs.h
+ libfftw3 at PREC_SUFFIX@_omp_la_CFLAGS = $(OPENMP_CFLAGS)
+ libfftw3 at PREC_SUFFIX@_omp_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@
++libfftw3 at PREC_SUFFIX@_omp_la_LIBADD = $(top_builddir)/libfftw3 at PREC_SUFFIX@.la -lgomp
+--- fftw-3.3/Makefile.am.orig 2011-07-27 02:28:29.000000000 +0200
++++ fftw-3.3/Makefile.am 2011-07-28 20:18:54.851780384 +0200
@@ -13,8 +13,8 @@
ACLOCAL_AMFLAGS=-I m4
--SUBDIRS=support $(GENFFT) kernel simd dft rdft reodft api threads \
--cell libbench2 . tests doc tools m4
-+SUBDIRS=support $(GENFFT) kernel simd dft rdft reodft api . threads \
-+cell libbench2 tests doc tools m4
- EXTRA_DIST=COPYRIGHT bootstrap.sh CONVENTIONS fftw.pc.in README.Cell
+-SUBDIRS=support $(GENFFT) kernel simd-support dft rdft reodft api \
+-threads libbench2 . tests mpi doc tools m4
++SUBDIRS=support $(GENFFT) kernel simd-support dft rdft reodft api . \
++threads libbench2 tests mpi doc tools m4
+ EXTRA_DIST=COPYRIGHT bootstrap.sh CONVENTIONS fftw.pc.in
- if HAVE_SIMD
+ SIMD_LIBS = \
================================================================
Index: packages/fftw3/fftw3.spec
diff -u packages/fftw3/fftw3.spec:1.42 packages/fftw3/fftw3.spec:1.43
--- packages/fftw3/fftw3.spec:1.42 Sat Jan 29 01:06:25 2011
+++ packages/fftw3/fftw3.spec Fri Jul 29 16:31:36 2011
@@ -1,24 +1,26 @@
# $Revision$, $Date$
#
# Conditional build:
-%bcond_without fftwl # don't build "long" subpackages
+%bcond_without fftwl # "long" subpackages
+%bcond_without fftwq # "quad" subpackages
+%bcond_without gomp # OpenMP support
#
Summary: Fast Fourier Transform library
Summary(pl.UTF-8): Biblioteka z funkcjami szybkiej transformaty Fouriera
Summary(pt_BR.UTF-8): biblioteca fast fourier transform
Name: fftw3
-Version: 3.2.2
+Version: 3.3
Release: 1
License: GPL v2+
Group: Libraries
Source0: ftp://ftp.fftw.org/pub/fftw/fftw-%{version}.tar.gz
-# Source0-md5: b616e5c91218cc778b5aa735fefb61ae
+# Source0-md5: 0728ab3ec0ebb06631ab3b80a5c3d130
Patch0: %{name}-info.patch
Patch1: %{name}-link.patch
-Patch2: %{name}-ac_simd.patch
URL: http://www.fftw.org/
BuildRequires: autoconf
BuildRequires: automake
+BuildRequires: gcc-fortran
%ifarch alpha ppc s390 s390x sparc sparcv9
%if %{with fftwl}
# for 128-bit long double support
@@ -26,11 +28,21 @@
BuildRequires: glibc >= 6:2.4-1
%endif
%endif
+%if %{with fftwq}
+BuildRequires: gcc >= 6:4.6.0
+BuildRequires: libquadmath-devel
+%endif
+%if %{with gomp}
+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,
@@ -61,6 +73,7 @@
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: %{name}-common-devel = %{version}-%{release}
+%{?with_gomp:Requires: libgomp-devel}
%description devel
This package contains the files you need to develop programs using the
@@ -117,6 +130,7 @@
Group: Development/Libraries
Requires: %{name}-common-devel = %{version}-%{release}
Requires: %{name}-single = %{version}-%{release}
+%{?with_gomp:Requires: libgomp-devel}
%description single-devel
This package contains the files you need to develop programs using the
@@ -124,8 +138,8 @@
%description single-devel -l pl.UTF-8
Ten pakiet zawiera pliki potrzebne do tworzenia programów używających
-biblioteki FFTW pojedynczej precyzji (wykonującej szybką transformatę
-Fouriera).
+biblioteki FFTW (wykonującej szybką transformatę Fouriera) pojedynczej
+precyzji.
%package single-static
Summary: Static fftw single precision libraries
@@ -166,6 +180,7 @@
Group: Development/Libraries
Requires: %{name}-common-devel = %{version}-%{release}
Requires: %{name}-long = %{version}-%{release}
+%{?with_gomp:Requires: libgomp-devel}
%description long-devel
This package contains the files you need to develop programs using the
@@ -173,8 +188,8 @@
%description long-devel -l pl.UTF-8
Ten pakiet zawiera pliki potrzebne do tworzenia programów używających
-biblioteki FFTW rozszerzonej precyzji (wykonującej szybką transformatę
-Fouriera).
+biblioteki FFTW (wykonującej szybką transformatę Fouriera)
+rozszerzonej precyzji.
%package long-static
Summary: Static fftw long double precision libraries
@@ -188,6 +203,57 @@
%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_gomp: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.UTF-8): Pliki wspólne dla wszystkich wersji bibliotek fftw
@@ -219,7 +285,6 @@
%setup -q -n fftw-%{version}
%patch0 -p1
%patch1 -p1
-%patch2 -p1
%build
%{__libtoolize}
@@ -228,11 +293,11 @@
%{__automake}
# 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
if [ "$ver" = "single" ]; then
-%ifarch i686
+%ifarch i686 pentium3 pentium4
OPTS="--enable-sse"
%endif
%ifarch athlon
@@ -245,15 +310,16 @@
: # keep sh happy about syntax
%endif
fi
-%ifarch i686
+%ifarch i686 pentium4
# SSE2 only for double
- if [ "$ver" = "double" ]; then
- OPTS="--enable-sse2"
+ if [ "$ver" = "double" -o "$ver" = "single" ]; then
+ OPTS="--enable-sse2 --enable-avx"
fi
%endif
install -d build-${ver}
cd build-${ver}
../%configure \
+ --enable-openmp \
--enable-shared \
--enable-threads \
--enable-$ver \
@@ -268,16 +334,10 @@
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_sysconfdir}/fftw
-%{__make} install -C build-single \
- DESTDIR=$RPM_BUILD_ROOT
-
-%{__make} install -C build-double \
- DESTDIR=$RPM_BUILD_ROOT
-
-%if %{with fftwl}
-%{__make} install -C build-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
@@ -304,6 +364,10 @@
%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 gomp}
+%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
@@ -312,12 +376,19 @@
%attr(755,root,root) %{_libdir}/libfftw3_threads.so
%{_libdir}/libfftw3.la
%{_libdir}/libfftw3_threads.la
+%if %{with gomp}
+%attr(755,root,root) %{_libdir}/libfftw3_omp.so
+%{_libdir}/libfftw3_omp.la
+%endif
%{_pkgconfigdir}/fftw3.pc
%files static
%defattr(644,root,root,755)
%{_libdir}/libfftw3.a
%{_libdir}/libfftw3_threads.a
+%if %{with gomp}
+%{_libdir}/libfftw3_omp.a
+%endif
%files single
%defattr(644,root,root,755)
@@ -326,6 +397,10 @@
%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 gomp}
+%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
@@ -334,12 +409,19 @@
%attr(755,root,root) %{_libdir}/libfftw3f_threads.so
%{_libdir}/libfftw3f.la
%{_libdir}/libfftw3f_threads.la
+%if %{with gomp}
+%attr(755,root,root) %{_libdir}/libfftw3f_omp.so
+%{_libdir}/libfftw3f_omp.la
+%endif
%{_pkgconfigdir}/fftw3f.pc
%files single-static
%defattr(644,root,root,755)
%{_libdir}/libfftw3f.a
%{_libdir}/libfftw3f_threads.a
+%if %{with gomp}
+%{_libdir}/libfftw3f_omp.a
+%endif
%if %{with fftwl}
%files long
@@ -349,6 +431,10 @@
%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 gomp}
+%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
@@ -357,12 +443,54 @@
%attr(755,root,root) %{_libdir}/libfftw3l_threads.so
%{_libdir}/libfftw3l.la
%{_libdir}/libfftw3l_threads.la
+%if %{with gomp}
+%attr(755,root,root) %{_libdir}/libfftw3l_omp.so
+%{_libdir}/libfftw3l_omp.la
+%endif
%{_pkgconfigdir}/fftw3l.pc
%files long-static
%defattr(644,root,root,755)
%{_libdir}/libfftw3l.a
%{_libdir}/libfftw3l_threads.a
+%if %{with gomp}
+%{_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 gomp}
+%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 gomp}
+%attr(755,root,root) %{_libdir}/libfftw3q_omp.so
+%{_libdir}/libfftw3q_omp.la
+%endif
+%{_pkgconfigdir}/fftw3q.pc
+
+%files quad-static
+%defattr(644,root,root,755)
+%{_libdir}/libfftw3q.a
+%{_libdir}/libfftw3q_threads.a
+%if %{with gomp}
+%{_libdir}/libfftw3q_omp.a
+%endif
%endif
%files common
@@ -376,6 +504,7 @@
%defattr(644,root,root,755)
%doc doc/html doc/FAQ/fftw-faq.html
%{_includedir}/fftw3.f
+%{_includedir}/fftw3.f03
%{_includedir}/fftw3.h
%{_infodir}/fftw3.info*
@@ -385,6 +514,13 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.43 2011/07/29 14:31:36 qboosh
+- updated to 3.3
+- updated link patch, removed obsolete ac_simd patch
+- build single and double precision with sse2 and avx support (where possible)
+- build OpenMP libraries (with gomp bcond, gcc 4.2+ required)
+- build quad-precision libraries (-quad-* subpackages, fftwq bcond, gcc 4.6+ required)
+
Revision 1.42 2011/01/29 00:06:25 sparky
- dropped pre-cvs changelog
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/fftw3/fftw3-link.patch?r1=1.4&r2=1.5&f=u
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/fftw3/fftw3.spec?r1=1.42&r2=1.43&f=u
More information about the pld-cvs-commit
mailing list