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

Reply via email to