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@PREC_SUFFIX@_threads_la_CFLAGS = $(PTHREAD_CFLAGS) libfftw3@PREC_SUFFIX@_threads_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@ -+libfftw3@PREC_SUFFIX@_threads_la_LIBADD = $(top_builddir)/libfftw3@[email protected] -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@PREC_SUFFIX@_threads_la_LIBADD = $(top_builddir)/libfftw3@[email protected] + + libfftw3@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@PREC_SUFFIX@_omp_la_CFLAGS = $(OPENMP_CFLAGS) + libfftw3@PREC_SUFFIX@_omp_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@ ++libfftw3@PREC_SUFFIX@_omp_la_LIBADD = $(top_builddir)/libfftw3@[email protected] -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 _______________________________________________ pld-cvs-commit mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit
