diff options
author | Sebastien Fabbro <bicatali@gentoo.org> | 2008-04-01 22:10:26 +0000 |
---|---|---|
committer | Sebastien Fabbro <bicatali@gentoo.org> | 2008-04-01 22:10:26 +0000 |
commit | abb65ac3d6591084bad29c710643bc09bc0c265b (patch) | |
tree | 3edc71344bf09e316a38d58a11446dd466293326 /sci-libs/fftw | |
parent | Temporary mask of pkgcore until python is fixed on amd64 (diff) | |
download | gentoo-2-abb65ac3d6591084bad29c710643bc09bc0c265b.tar.gz gentoo-2-abb65ac3d6591084bad29c710643bc09bc0c265b.tar.bz2 gentoo-2-abb65ac3d6591084bad29c710643bc09bc0c265b.zip |
fftw-2.1.5-r3: Fix more as-needed stuff for mpi, added fortran use flag, link more libs and headers, changed float use flag to single. fftw-3.1.2: Added a configure.ac patch in hope of fixing bug #215269, added a fortran use flag. Cleaning ebuilds and removed 3.0 version.
(Portage version: 2.1.4.4)
Diffstat (limited to 'sci-libs/fftw')
-rw-r--r-- | sci-libs/fftw/ChangeLog | 15 | ||||
-rw-r--r-- | sci-libs/fftw/fftw-2.1.5-r3.ebuild | 61 | ||||
-rw-r--r-- | sci-libs/fftw/fftw-3.0.1-r2.ebuild | 120 | ||||
-rw-r--r-- | sci-libs/fftw/fftw-3.1.2.ebuild | 47 | ||||
-rw-r--r-- | sci-libs/fftw/files/3-tmpfile.patch | 16 | ||||
-rw-r--r-- | sci-libs/fftw/files/fftw-2.1.5-as-needed.patch | 72 | ||||
-rw-r--r-- | sci-libs/fftw/files/fftw-2.1.5-configure.in.patch | 169 | ||||
-rw-r--r-- | sci-libs/fftw/files/fftw-3.0.1-altivec.patch | 85 | ||||
-rw-r--r-- | sci-libs/fftw/files/fftw-3.0.1-amd64.patch | 66 | ||||
-rw-r--r-- | sci-libs/fftw/files/fftw-3.1.2-configure.ac.patch | 20 | ||||
-rw-r--r-- | sci-libs/fftw/files/fftw-altivec-headers.patch | 26 | ||||
-rw-r--r-- | sci-libs/fftw/metadata.xml | 14 |
12 files changed, 327 insertions, 384 deletions
diff --git a/sci-libs/fftw/ChangeLog b/sci-libs/fftw/ChangeLog index 01f064868eea..01ad2734bb54 100644 --- a/sci-libs/fftw/ChangeLog +++ b/sci-libs/fftw/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for sci-libs/fftw -# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v 1.62 2007/10/26 13:40:02 markusle Exp $ +# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/ChangeLog,v 1.63 2008/04/01 22:10:25 bicatali Exp $ + + 01 Apr 2008; Sébastien Fabbro <bicatali@gentoo.org> + +files/fftw-2.1.5-configure.in.patch, -files/3-tmpfile.patch, + files/fftw-2.1.5-as-needed.patch, -files/fftw-3.0.1-altivec.patch, + -files/fftw-3.0.1-amd64.patch, +files/fftw-3.1.2-configure.ac.patch, + -files/fftw-altivec-headers.patch, metadata.xml, fftw-2.1.5-r3.ebuild, + -fftw-3.0.1-r2.ebuild, fftw-3.1.2.ebuild: + fftw-2.1.5-r3: Fix more as-needed stuff for mpi, added fortran use flag, + link more libs and headers, changed float use flag to single. fftw-3.1.2: + Added a configure.ac patch in hope of fixing bug #215269, added a fortran + use flag. Cleaning ebuilds and removed 3.0 version. 26 Oct 2007; Markus Dittrich <markusle@gentoo.org> fftw-3.0.1-r2.ebuild: Added missing quotation marks. diff --git a/sci-libs/fftw/fftw-2.1.5-r3.ebuild b/sci-libs/fftw/fftw-2.1.5-r3.ebuild index 0ace497b18b5..32cdf7ca12dd 100644 --- a/sci-libs/fftw/fftw-2.1.5-r3.ebuild +++ b/sci-libs/fftw/fftw-2.1.5-r3.ebuild @@ -1,24 +1,20 @@ -# Copyright 1999-2007 Gentoo Foundation +# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-2.1.5-r3.ebuild,v 1.4 2007/07/13 06:57:51 mr_bones_ Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-2.1.5-r3.ebuild,v 1.5 2008/04/01 22:10:25 bicatali Exp $ -WANT_AUTOCONF="latest" -WANT_AUTOMAKE="latest" +inherit eutils flag-o-matic multilib autotools fortran -inherit flag-o-matic multilib autotools - -IUSE="doc mpi float" - -DESCRIPTION="C subroutine library for computing the Discrete Fourier Transform (DFT)" +DESCRIPTION="Fast C library for the Discrete Fourier Transform" SRC_URI="http://www.fftw.org/${P}.tar.gz" HOMEPAGE="http://www.fftw.org" -# hppa does not have yet a virtual/mpi, and just got ~. +# hppa does not have yet a virtual/mpi DEPEND="mpi? ( !hppa? ( virtual/mpi ) ) mpi? ( hppa? ( sys-cluster/lam-mpi ) )" SLOT="2.1" LICENSE="GPL-2" +IUSE="doc fortran mpi float" KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86" @@ -31,22 +27,29 @@ pkg_setup() { if [ "${ARCH}" == "x86" ]; then is-flag "-fomit-frame-pointer" || append-flags "-fomit-frame-pointer" fi + FORTRAN="gfortran ifc g77" + use fortran && fortran_pkg_setup } src_unpack() { - # doc suggests installing single and double precision versions via separate compilations - # will do in two separate source trees - # since some sed'ing is done during the build (?if --enable-type-prefix is set?) + # doc suggests installing single and double precision versions + # via separate compilations. will do in two separate source trees + # since some sed'ing is done during the build + # (?if --enable-type-prefix is set?) unpack ${A} cd "${S}" epatch "${FILESDIR}/${P}-as-needed.patch" + epatch "${FILESDIR}/${P}-configure.in.patch" + # fix info files for infofile in doc/fftw*info*; do - echo "INFO-DIR-SECTION Libraries" >>${infofile} - echo "START-INFO-DIR-ENTRY" >>${infofile} - echo "* fftw: (fftw). C subroutine library for computing the Discrete Fourier Transform (DFT)" >>${infofile} - echo "END-INFO-DIR-ENTRY" >>${infofile} + cat >> ${infofile} <<-EOF + INFO-DIR-SECTION Libraries + START-INFO-DIR-ENTRY + * fftw: (fftw). ${DESCRIPTION} + END-INFO-DIR-ENTRY + EOF done eautoreconf @@ -64,6 +67,7 @@ src_compile() { --enable-type-prefix \ --enable-vec-recurse \ --enable-threads \ + $(use_enable fortran) \ $(use_enable mpi) \ $(use_enable x86 i386-hacks) \ || die "econf for float failed" @@ -76,6 +80,7 @@ src_compile() { --enable-type-prefix \ --enable-vec-recurse \ --enable-threads \ + $(use_enable fortran) \ $(use_enable mpi) \ $(use_enable x86 i386-hacks) \ || die "econf for double failed" @@ -105,22 +110,12 @@ src_install () { emake DESTDIR="${D}" install || die "emake install double failed" if use float; then - dosym sfftw.h /usr/include/fftw.h - dosym srfftw.h /usr/include/rfftw.h - dosym libsfftw.so /usr/$(get_libdir)/libfftw.so - dosym libsrfftw.so /usr/$(get_libdir)/librfftw.so - dosym sfftw_threads.h /usr/include/fftw_threads.h - dosym srfftw_threads.h /usr/include/rfftw_threads.h - dosym libsfftw_threads.so /usr/$(get_libdir)/libfftw_threads.so - dosym libsrfftw_threads.so /usr/$(get_libdir)/librfftw_threads.so + for f in "${D}"/usr/{include,$(get_libdir)}/*sfft*; do + ln -s $(basename ${f}) ${f/sfft/fft} + done else - dosym dfftw.h /usr/include/fftw.h - dosym drfftw.h /usr/include/rfftw.h - dosym libdfftw.so /usr/$(get_libdir)/libfftw.so - dosym libdrfftw.so /usr/$(get_libdir)/librfftw.so - dosym dfftw_threads.h /usr/include/fftw_threads.h - dosym drfftw_threads.h /usr/include/rfftw_threads.h - dosym libdfftw_threads.so /usr/$(get_libdir)/libfftw_threads.so - dosym libdrfftw_threads.so /usr/$(get_libdir)/librfftw_threads.so + for f in "${D}"/usr/{include,$(get_libdir)}/*dfft*; do + ln -s $(basename ${f}) ${f/dfft/fft} + done fi } diff --git a/sci-libs/fftw/fftw-3.0.1-r2.ebuild b/sci-libs/fftw/fftw-3.0.1-r2.ebuild deleted file mode 100644 index 1fe101f5d1f5..000000000000 --- a/sci-libs/fftw/fftw-3.0.1-r2.ebuild +++ /dev/null @@ -1,120 +0,0 @@ -# Copyright 1999-2007 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-3.0.1-r2.ebuild,v 1.17 2007/10/26 13:40:02 markusle Exp $ - -WANT_AUTOMAKE="1.9" -WANT_AUTOCONF="latest" - -inherit flag-o-matic eutils toolchain-funcs autotools - -DESCRIPTION="C subroutine library for computing the Discrete Fourier Transform (DFT)" -HOMEPAGE="http://www.fftw.org/" -SRC_URI="http://www.fftw.org/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="3.0" -KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 sparc x86" -IUSE="3dnow altivec mpi sse sse2" - -DEPEND="" - -src_unpack() { - unpack "${P}.tar.gz" - cd "${S}" - epatch "${FILESDIR}"/3-tmpfile.patch - epatch "${FILESDIR}"/${P}-altivec.patch - - # fix info files - local infofile - for infofile in doc/fftw*info*; do - sed -e 's/Texinfo documentation system/Libraries/' \ - -i ${infofile} || die "failed to fix info files" - done - - eautoreconf - - cd "${WORKDIR}" - use amd64 && epatch "${FILESDIR}/${P}"-amd64.patch - mv ${P} ${P}-single - cp -pPR ${P}-single ${P}-double -} - -src_compile() { - #-fpmath=xx is reported to cause trouble on pentium4 m series - #(for 3.0.x: this sort of thing should be handled by the --enable-sse - #style configure flags. these are set below using the use variables, - #but under gcc-3.2.x, sse2 seems to cause trouble.) - filter-mfpmath - - # in gcc 3.2.3 at least, using sse or sse2 causes trouble with -O3 - # according to the docs, -O0 can cause trouble too! So pending further - # testing, ... - if use sse; then - filter-flags -O3 -O1 -O -Os - append-flags -O2 - fi - - local myconf="" - local myconfsingle="" - local myconfdouble="" - - use mpi && myconf="${myconf} --enable-mpi" - #mpi is not a valid flag yet. In this revision it is used merely to block --enable-mpi option - #it might be needed if it is decided that lam is an optional dependence - - if use sse2; then - myconfsingle="$myconfsingle --enable-sse" - myconfdouble="$myconfdouble --enable-sse2" - elif use sse; then - myconfsingle="$myconfsingle --enable-sse" - elif use 3dnow; then - myconfsingle="$myconfsingle --enable-k7" - fi - - # Altivec-support in fftw is currently broken - # with gcc 3.4 - if [ "`gcc-version`" != "3.4" ]; then - myconfsingle="$myconfsingle `use_enable altivec`" - fi - - cd "${S}-single" - econf \ - --enable-shared \ - --enable-threads \ - --enable-float \ - ${myconf} ${myconfsingle} || die "./configure failed" - emake || die - - #the only difference here is no --enable-float - cd "${S}-double" - econf \ - --enable-shared \ - --enable-threads \ - ${myconf} ${myconfdouble} || die "./configure failed" - emake || die -} - -src_test() { - cd "${S}-single" - emake check || die "emake check single failed" - cd "${S}-double" - emake check || die "emake check double failed" -} - -src_install () { - #both builds are installed in the same place - #libs have distinuguished names; include files, docs etc. identical. - cd "${S}-single" - make DESTDIR="${D}" install || die - - cd "${S}-double" - make DESTDIR="${D}" install || die - - # Install documentation. - cd "${S}-single" - - dodoc AUTHORS ChangeLog NEWS README TODO COPYRIGHT CONVENTIONS - - cd doc/html - dohtml -r . -} diff --git a/sci-libs/fftw/fftw-3.1.2.ebuild b/sci-libs/fftw/fftw-3.1.2.ebuild index ebacfb4cf4cb..ef482cbc779e 100644 --- a/sci-libs/fftw/fftw-3.1.2.ebuild +++ b/sci-libs/fftw/fftw-3.1.2.ebuild @@ -1,28 +1,33 @@ -# Copyright 1999-2007 Gentoo Foundation +# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-3.1.2.ebuild,v 1.11 2007/08/25 14:28:17 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sci-libs/fftw/fftw-3.1.2.ebuild,v 1.12 2008/04/01 22:10:25 bicatali Exp $ -inherit flag-o-matic eutils toolchain-funcs autotools +inherit flag-o-matic eutils toolchain-funcs autotools fortran -DESCRIPTION="C subroutine library for computing the Discrete Fourier Transform (DFT)" +DESCRIPTION="Fast C library for the Discrete Fourier Transform" HOMEPAGE="http://www.fftw.org/" SRC_URI="http://www.fftw.org/${P}.tar.gz" LICENSE="GPL-2" SLOT="3.0" KEYWORDS="alpha amd64 arm hppa ia64 mips ppc ppc64 sparc x86" -IUSE="altivec sse sse2 test" +IUSE="altivec fortran sse sse2 test" DEPEND="test? ( dev-lang/perl )" +pkg_setup() { + FORTRAN="gfortran ifc g77" + use fortran && fortran_pkg_setup +} + src_unpack() { unpack ${A} cd "${S}" - + epatch "${FILESDIR}"/${P}-configure.ac.patch # fix info file sed -e 's/Texinfo documentation system/Libraries/' \ -i doc/fftw3.info || die "failed to fix info file" - + AT_M4DIR=m4 eautoreconf cd "${WORKDIR}" mv ${P} ${P}-single cp -pPR ${P}-single ${P}-double @@ -33,7 +38,7 @@ src_compile() { # filter -Os according to docs replace-flags -Os -O2 - local myconfcommon="--enable-shared --enable-threads" + local myconfcommon="--enable-shared --enable-threads $(use_enable fortran)" local myconfsingle="" local myconfdouble="" local myconflongdouble="" @@ -55,7 +60,7 @@ src_compile() { --enable-float \ ${myconfsingle} || \ die "./configure in single failed" - emake || die + emake || die "emake single failed" #the only difference here is no --enable-float cd "${S}-double" @@ -63,7 +68,7 @@ src_compile() { ${myconfcommon} \ ${myconfdouble} || \ die "./configure in double failed" - emake || die + emake || die "emake double failed" #the only difference here is --enable-long-double cd "${S}-longdouble" @@ -72,26 +77,20 @@ src_compile() { --enable-long-double \ ${myconflongdouble} || \ die "./configure in long double failed" - emake || die + emake || die "emake long double failed" } src_install () { - #all builds are installed in the same place - #libs have distinuguished names; include files, docs etc. identical. - cd "${S}-single" - emake DESTDIR="${D}" install || die - - cd "${S}-double" - emake DESTDIR="${D}" install || die - - cd "${S}-longdouble" - emake DESTDIR="${D}" install || die + # all builds are installed in the same place + # libs have distinuguished names; include files, docs etc. identical. + for i in single double longdouble; do + cd "${S}-${i}" + emake DESTDIR="${D}" install || die "emake install for ${i} failed" + done # Install documentation. cd "${S}-single" - - dodoc AUTHORS ChangeLog NEWS README TODO COPYRIGHT CONVENTIONS - + dodoc AUTHORS ChangeLog NEWS README TODO COPYRIGHT CONVENTIONS || die cd doc/html dohtml -r . } diff --git a/sci-libs/fftw/files/3-tmpfile.patch b/sci-libs/fftw/files/3-tmpfile.patch deleted file mode 100644 index 797d67c22be9..000000000000 --- a/sci-libs/fftw/files/3-tmpfile.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- tools/fftw-wisdom-to-conf.in 2003-07-03 23:56:58.000000000 +0200 -+++ tools/fftw-wisdom-to-conf.in.new 2005-08-10 14:17:25.000000000 +0200 -@@ -57,7 +57,7 @@ - extern void ${prefix}solvtab_exec(const struct solvtab_s s[], void *); - EOF - --tmp=/tmp/fftw-wisdom-to-conf$$ -+tmp=$(mktemp -t fftw-wisdom-to-conf.XXXXXX) || exit 1 - sed 's/ *(//' | cut -d" " -f1 | grep -v -- - | egrep -v '^ *\)*$' > $tmp - - cat $tmp | sort | uniq | while read reg_nam; do -@@ -73,3 +73,4 @@ - - echo " ${prefix}solvtab_exec(s, plnr);" - echo "}" -+rm $tmp diff --git a/sci-libs/fftw/files/fftw-2.1.5-as-needed.patch b/sci-libs/fftw/files/fftw-2.1.5-as-needed.patch index 1f25232bc05d..d1c20d40e94f 100644 --- a/sci-libs/fftw/files/fftw-2.1.5-as-needed.patch +++ b/sci-libs/fftw/files/fftw-2.1.5-as-needed.patch @@ -1,8 +1,6 @@ -Index: fftw-2.1.5/rfftw/Makefile.am -=================================================================== ---- fftw-2.1.5.orig/rfftw/Makefile.am -+++ fftw-2.1.5/rfftw/Makefile.am -@@ -18,6 +18,7 @@ lib@FFTW_PREFIX@rfftw_la_SOURCES = $(COD +--- ./rfftw/Makefile.am.orig 2008-03-31 19:42:10.819805758 +0100 ++++ ./rfftw/Makefile.am 2008-03-31 19:43:47.624901125 +0100 +@@ -18,6 +18,7 @@ rfftw.h lib@FFTW_PREFIX@rfftw_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@ @@ -10,3 +8,67 @@ Index: fftw-2.1.5/rfftw/Makefile.am MAINTAINERCLEANFILES = $(CODELETS) rconfig.c DISTCLEANFILES = srfftw.h drfftw.h +--- ./threads/Makefile.am.orig 2008-03-31 19:42:30.555058968 +0100 ++++ ./threads/Makefile.am 2008-03-31 21:59:25.500856903 +0100 +@@ -28,6 +28,10 @@ + -version-info @SHARED_VERSION_INFO@ \ + -rpath $(libdir) + ++lib@FFTW_PREFIX@fftw_threads_la_LIBADD = \ ++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la \ ++ @THREADLIBS@ ++ + @FFTW_PREFIX1@fftw_threads.h: fftw_threads.h + rm -f $@ + sed 's/\"fftw/\"@FFTW_PREFIX@fftw/g;s/\"rfftw/\"@FFTW_PREFIX@rfftw/g' $(srcdir)/fftw_threads.h > $@ +@@ -49,6 +53,11 @@ + -version-info @SHARED_VERSION_INFO@ \ + -rpath $(libdir) + ++lib@FFTW_PREFIX@rfftw_threads_la_LIBADD = \ ++ $(RFFTWDIR)/lib@FFTW_PREFIX@rfftw.la \ ++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la \ ++ @THREADLIBS@ ++ + @FFTW_PREFIX1@rfftw_threads.h: rfftw_threads.h + rm -f $@ + sed 's/\"fftw/\"@FFTW_PREFIX@fftw/g;s/\"rfftw/\"@FFTW_PREFIX@rfftw/g' $(srcdir)/rfftw_threads.h > $@ +--- ./mpi/Makefile.am.orig 2008-03-31 19:42:18.984187252 +0100 ++++ ./mpi/Makefile.am 2008-03-31 22:19:12.879672814 +0100 +@@ -28,6 +28,9 @@ + -version-info @SHARED_VERSION_INFO@ \ + -rpath $(libdir) + ++lib@FFTW_PREFIX@fftw_mpi_la_LIBADD = \ ++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la @MPILIBS@ ++ + @FFTW_PREFIX1@fftw_mpi.h: fftw_mpi.h + rm -f $@ + sed 's/\"fftw/\"@FFTW_PREFIX@fftw/g;s/\"rfftw/\"@FFTW_PREFIX@rfftw/g' $(srcdir)/fftw_mpi.h > $@ +@@ -39,7 +42,12 @@ + -version-info @SHARED_VERSION_INFO@ \ + -rpath $(libdir) + +-@FFTW_PREFIX1@rfftw_mpi.h: rfftw_mpi.h ++lib@FFTW_PREFIX@rfftw_mpi_la_LIBADD = \ ++ $(RFFTWDIR)/lib@FFTW_PREFIX@rfftw.la \ ++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la \ ++ @MPILIBS@ ++ ++@FFTW_PREFIX1@rfftw_mpi.h: rfftw_mpi.h + rm -f $@ + sed 's/\"fftw/\"@FFTW_PREFIX@fftw/g;s/\"rfftw/\"@FFTW_PREFIX@rfftw/g' $(srcdir)/rfftw_mpi.h > $@ + +--- ./acx_mpi.m4.orig 2008-03-31 22:19:34.864925682 +0100 ++++ ./acx_mpi.m4 2008-03-31 22:22:44.923756518 +0100 +@@ -53,8 +53,8 @@ + ]) + + if test x = x"$MPILIBS"; then +- AC_LANG_CASE([C], [AC_CHECK_FUNC(MPI_Init, [MPILIBS=" "])], +- [C++], [AC_CHECK_FUNC(MPI_Init, [MPILIBS=" "])], ++ AC_LANG_CASE([C], [AC_CHECK_FUNC(MPI_Init, [MPILIBS="-lmpi"])], ++ [C++], [AC_CHECK_FUNC(MPI_Init, [MPILIBS="-lmpi"])], + [Fortran 77], [AC_MSG_CHECKING([for MPI_Init]) + AC_TRY_LINK([],[ call MPI_Init], [MPILIBS=" " + AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no)])]) diff --git a/sci-libs/fftw/files/fftw-2.1.5-configure.in.patch b/sci-libs/fftw/files/fftw-2.1.5-configure.in.patch new file mode 100644 index 000000000000..f4dde992611f --- /dev/null +++ b/sci-libs/fftw/files/fftw-2.1.5-configure.in.patch @@ -0,0 +1,169 @@ +--- configure.in.orig 2008-04-01 22:46:45.943787297 +0100 ++++ configure.in 2008-04-01 22:58:13.510969518 +0100 +@@ -1,6 +1,7 @@ + dnl Process this file with autoconf to produce a configure script. + AC_INIT(fftw/planner.c) + AM_INIT_AUTOMAKE(fftw, 2.1.5) ++AM_MAINTAINER_MODE + + dnl This is the version info according to the libtool versioning system. + dnl It does *not* correspond to the release number. +@@ -27,7 +28,7 @@ + + AC_ARG_ENABLE(float, [ --enable-float compile fftw for single precision], enable_float=$enableval, enable_float=no) + if test "$enable_float" = "yes"; then +- AC_DEFINE(FFTW_ENABLE_FLOAT) ++ AC_DEFINE(FFTW_ENABLE_FLOAT,1,[Compile fftw for single precision]) + fi + + FFTW_PREFIX="" +@@ -56,27 +57,27 @@ + + AC_ARG_ENABLE(i386-hacks, [ --enable-i386-hacks enable gcc/x86 specific performance hacks], ok=$enableval, ok=no) + if test "$ok" = "yes"; then +- AC_DEFINE(FFTW_ENABLE_I386_HACKS) ++ AC_DEFINE(FFTW_ENABLE_I386_HACKS,1,[Enable x86 specific performance hacks]) + fi + + AC_ARG_ENABLE(pentium-timer, [ --enable-pentium-timer enable high resolution Pentium timer], ok=$enableval, ok=no) + if test "$ok" = "yes"; then +- AC_DEFINE(FFTW_ENABLE_PENTIUM_TIMER) ++ AC_DEFINE(FFTW_ENABLE_PENTIUM_TIMER,1,[Enable high resolution Pentium timer]) + fi + + AC_ARG_ENABLE(debug, [ --enable-debug compile fftw with extra runtime checks for debugging], ok=$enableval, ok=no) + if test "$ok" = "yes"; then +- AC_DEFINE(FFTW_DEBUG) ++ AC_DEFINE(FFTW_DEBUG,1,[Compile with extra rutime checks for debugging]) + fi + + AC_ARG_ENABLE(debug-alignment, [ --enable-debug-alignment enable runtime checks for alignment on x86], ok=$enableval, ok=no) + if test "$ok" = "yes"; then +- AC_DEFINE(FFTW_DEBUG_ALIGNMENT) ++ AC_DEFINE(FFTW_DEBUG_ALIGNMENT,1,[Enable rutime checks for alignment on x86]) + fi + + AC_ARG_ENABLE(vec-recurse, [ --enable-vec-recurse enable experimental performance hack], ok=$enableval, ok=no) + if test "$ok" = "yes"; then +- AC_DEFINE(FFTW_ENABLE_VECTOR_RECURSE) ++ AC_DEFINE(FFTW_ENABLE_VECTOR_RECURSE,1,[Enable experimental performance hack]) + fi + + dnl ----------------------------------------------------------------------- +@@ -115,7 +116,7 @@ + dnl ----------------------------------------------------------------------- + + AC_SUBST(SHARED_VERSION_INFO) +-AC_DEFINE_UNQUOTED(FFTW_VERSION, "$VERSION") ++AC_DEFINE_UNQUOTED(FFTW_VERSION, "$VERSION",[Fftw Version]) + + # Get the version number that will be appended to shared libraries: + SHARED_VERSION=`echo $SHARED_VERSION_INFO | awk -F':' '{ print $1 "." $3 "." $2 }'` +@@ -123,7 +124,7 @@ + + ACX_PROG_CC_MAXOPT + +-ACX_GCC_ALIGNS_STACK(AC_DEFINE(FFTW_GCC_ALIGNS_STACK), [ ++ACX_GCC_ALIGNS_STACK(AC_DEFINE(FFTW_GCC_ALIGNS_STACK,1,[Gcc align stack]), [ + if test "$enable_i386_hacks" = yes; then + if test "${acx_gcc_stack_align_bug-no}" = yes; then + # we are using a gcc with a stack alignment bug, and we should +@@ -183,7 +184,7 @@ + AC_TRY_LINK([#include <math.h> + ], if (!isnan(3.14159)) isnan(2.7183);, ok=yes, ok=no) + if test "$ok" = "yes"; then +- AC_DEFINE(HAVE_ISNAN) ++ AC_DEFINE(HAVE_ISNAN,1,[Have isnan]) + fi + AC_MSG_RESULT(${ok}) + +@@ -196,7 +197,7 @@ + #endif + ], [hrtime_t foobar;], ok=yes, ok=no) + if test "$ok" = "yes"; then +- AC_DEFINE(HAVE_HRTIME_T) ++ AC_DEFINE(HAVE_HRTIME_T,1,[Have hrtime_t type]) + fi + AC_MSG_RESULT(${ok}) + +@@ -205,7 +206,7 @@ + + AC_ARG_ENABLE(unsafe-mulmod, [ --enable-unsafe-mulmod risk overflow for large prime sizes], enable_unsafe_mulmod=$enableval, enable_unsafe_mulmod=no) + if test "$enable_unsafe_mulmod" = "yes"; then +- AC_DEFINE(FFTW_ENABLE_UNSAFE_MULMOD) ++ AC_DEFINE(FFTW_ENABLE_UNSAFE_MULMOD,1,[Risk overflow for lar prime sizes]) + fi + + +@@ -243,7 +244,7 @@ + if test -z "$THREADLIBS"; then + AC_MSG_ERROR([don't know how to enable OpenMP]) + fi +- AC_DEFINE(FFTW_USING_OPENMP_THREADS) ++ AC_DEFINE(FFTW_USING_OPENMP_THREADS,1,[Using OpenMP threads]) + fi + if test "$with_sgimp"x != nox; then + AC_MSG_CHECKING(how to enable SGI MP) +@@ -261,7 +262,7 @@ + if test -z "$THREADLIBS"; then + AC_MSG_ERROR([don't know how to enable SGI MP]) + fi +- AC_DEFINE(FFTW_USING_SGIMP_THREADS) ++ AC_DEFINE(FFTW_USING_SGIMP_THREADS,1,[Using SGIMP Threads]) + fi + + # POSIX threads, the default choice: +@@ -270,38 +271,38 @@ + ACX_PTHREAD([THREADLIBS="$PTHREAD_LIBS " + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + CC="$PTHREAD_CC" +- AC_DEFINE(FFTW_USING_POSIX_THREADS)]) ++ AC_DEFINE(FFTW_USING_POSIX_THREADS,1,[Using POSIX Threads])]) + fi + # Solaris threads: + if test -z "$THREADLIBS"; then + AC_CHECK_LIB(thread, thr_create, + [THREADLIBS="-lthread" +- AC_DEFINE(FFTW_USING_SOLARIS_THREADS)]) ++ AC_DEFINE(FFTW_USING_SOLARIS_THREADS,1,[Using SOLARIS Threads])]) + fi + # Mach C threads: + if test -z "$THREADLIBS"; then + AC_CHECK_FUNC(cthread_fork, + [THREADLIBS=" " +- AC_DEFINE(FFTW_USING_MACH_THREADS)]) ++ AC_DEFINE(FFTW_USING_MACH_THREADS,1,[Using Mach Threads])]) + AC_CHECK_HEADERS(mach/cthreads.h cthreads.h cthread.h) + fi + if test -z "$THREADLIBS"; then + AC_CHECK_LIB(cthread, cthread_fork, + [THREADLIBS="-lcthread" +- AC_DEFINE(FFTW_USING_MACH_THREADS)]) ++ AC_DEFINE(FFTW_USING_MACH_THREADS,1,[Using Mach Threads])]) + AC_CHECK_HEADERS(mach/cthreads.h cthreads.h cthread.h) + fi + if test -z "$THREADLIBS"; then + AC_CHECK_LIB(cthreads, cthread_fork, + [THREADLIBS="-lcthreads" +- AC_DEFINE(FFTW_USING_MACH_THREADS)]) ++ AC_DEFINE(FFTW_USING_MACH_THREADS,1,[Using Mach Threads])]) + AC_CHECK_HEADERS(mach/cthreads.h cthreads.h cthread.h) + fi + # BeOS threads: + if test -z "$THREADLIBS"; then + AC_CHECK_FUNC(spawn_thread, + [THREADLIBS=" " +- AC_DEFINE(FFTW_USING_BEOS_THREADS)]) ++ AC_DEFINE(FFTW_USING_BEOS_THREADS,1,[Using BEOS Threads])]) + fi + if test -z "$THREADLIBS"; then + AC_MSG_ERROR(couldn't find threads library for --enable-threads) +@@ -334,7 +335,7 @@ + CC="$MPICC" + ok=yes + AC_TRY_LINK([#include <mpi.h> +- ], [MPI_Comm_f2c(0);], [AC_DEFINE(HAVE_MPI_COMM_F2C)], [ok=no]) ++ ], [MPI_Comm_f2c(0);], [AC_DEFINE(HAVE_MPI_COMM_F2C,1,[Has MPI COMM F2C])], [ok=no]) + AC_MSG_RESULT($ok) + CC="$save_CC" + else diff --git a/sci-libs/fftw/files/fftw-3.0.1-altivec.patch b/sci-libs/fftw/files/fftw-3.0.1-altivec.patch deleted file mode 100644 index a71fea0c6aee..000000000000 --- a/sci-libs/fftw/files/fftw-3.0.1-altivec.patch +++ /dev/null @@ -1,85 +0,0 @@ -diff -u simd.old/altivec.c simd/altivec.c ---- simd.old/altivec.c 2005-11-12 00:28:14.000000000 +0100 -+++ simd/altivec.c 2005-11-12 00:33:36.000000000 +0100 -@@ -26,15 +26,12 @@ - #if HAVE_ALTIVEC - - const vector unsigned int X(altivec_ld_selmsk) = -- (vector unsigned int)VLIT(0, 0, 0xFFFFFFFF, 0xFFFFFFFF); -+ VLIT(0, 0, 0xFFFFFFFF, 0xFFFFFFFF); - - const vector unsigned int X(altivec_flipri_perm) = -- (vector unsigned int)VLIT(0x04050607, 0x00010203, -- 0x0c0d0e0f, 0x08090a0b); -+ VLIT(0x04050607, 0x00010203, 0x0c0d0e0f, 0x08090a0b); - --const vector float X(altivec_chsr_sgn) = -- (vector float)VLIT(-1.0, 1.0, -1.0, 1.0); --const vector float X(altivec_chsr_msk) = -- (vector float)VLIT(-0.0, 0.0, -0.0, 0.0); -+const vector float X(altivec_chsr_sgn) = VLIT(-1.0, 1.0, -1.0, 1.0); -+const vector float X(altivec_chsr_msk) = VLIT(-0.0, 0.0, -0.0, 0.0); - - #endif -diff -u simd.old/simd-altivec.h simd/simd-altivec.h ---- simd.old/simd-altivec.h 2005-11-12 00:28:14.000000000 +0100 -+++ simd/simd-altivec.h 2005-11-12 01:31:03.000000000 +0100 -@@ -96,8 +96,12 @@ - - #else /* !__VEC__ */ - -+#ifdef HAVE_ALTIVEC_H -+#include <altivec.h> -+#define VLIT(x0, x1, x2, x3) {x0, x1, x2, x3} -+#else - #define VLIT(x0, x1, x2, x3) (x0, x1, x2, x3) -- -+#endif - #endif - - typedef vector float V; ---- configure.ac.old 2003-07-04 07:18:48.000000000 +0200 -+++ configure.ac 2005-11-12 00:42:11.000000000 +0100 -@@ -167,7 +167,8 @@ - ACX_CHECK_CC_FLAGS(-faltivec, faltivec, - SIMD_CFLAGS="-faltivec", - [ACX_CHECK_CC_FLAGS(-maltivec -mabi=altivec, maltivec, -- SIMD_CFLAGS="-maltivec -mabi=altivec", -+ SIMD_CFLAGS="-maltivec -mabi=altivec"; -+ AC_DEFINE(HAVE_ALTIVEC_H,1,[Define if gcc-fsf is in use]), - [AC_MSG_ERROR([Need a version of gcc with -maltivec])])]) - fi - fi ---- ../fftw-3.0.1-double/simd/simd-altivec.h 2005-11-12 01:59:11.000000000 +0100 -+++ simd/simd-altivec.h 2005-11-12 03:16:00.000000000 +0100 -@@ -105,12 +105,25 @@ - #endif - - typedef vector float V; --#define VADD(a, b) vec_add(a, b) --#define VSUB(a, b) vec_sub(a, b) --#define VFMA(a, b, c) vec_madd(a, b, c) --#define VFNMS(a, b, c) vec_nmsub(a, b, c) -+static inline V VADD(V a,V b) -+{ -+ return vec_add(a, b); -+} -+static inline V VSUB(V a, V b) -+{ -+ return vec_sub(a, b); -+} -+static inline V VFMA(V a, V b, V c) -+{ -+ return vec_madd(a, b, c); -+} -+static inline V VFNMS(V a, V b, V c) -+{ -+ return vec_nmsub(a, b, c); -+} -+ - #define LDK(x) x --#define DVK(var, val) const V var = (vector float)VLIT(val, val, val, val) -+#define DVK(var, val) const V var = VLIT(val, val, val, val) - - static inline V VMUL(V a, V b) - { diff --git a/sci-libs/fftw/files/fftw-3.0.1-amd64.patch b/sci-libs/fftw/files/fftw-3.0.1-amd64.patch deleted file mode 100644 index d5df07581a92..000000000000 --- a/sci-libs/fftw/files/fftw-3.0.1-amd64.patch +++ /dev/null @@ -1,66 +0,0 @@ -diff -uarN fftw-3.0.1.old/dft/k7/k7.c fftw-3.0.1/dft/k7/k7.c ---- fftw-3.0.1.old/dft/k7/k7.c 2007-04-18 10:05:40.000000000 +0400 -+++ fftw-3.0.1/dft/k7/k7.c 2007-04-18 10:08:57.000000000 +0400 -@@ -28,7 +28,7 @@ - { - int eax, ecx, edx; - -- __asm__("push %%ebx\n\tcpuid\n\tpop %%ebx" -+ __asm__("push %%rbx\n\tcpuid\n\tpop %%rbx" - : "=a" (eax), "=c" (ecx), "=d" (edx) - : "a" (op)); - return edx; -@@ -38,7 +38,7 @@ - { - int eax, ecx, edx; - -- __asm__("push %%ebx\n\tcpuid\n\tpop %%ebx" -+ __asm__("push %%rbx\n\tcpuid\n\tpop %%rbx" - : "=a" (eax), "=c" (ecx), "=d" (edx) - : "a" (op)); - return eax; -diff -uarN fftw-3.0.1.old/simd/3dnow.c fftw-3.0.1/simd/3dnow.c ---- fftw-3.0.1.old/simd/3dnow.c 2007-04-18 10:05:41.000000000 +0400 -+++ fftw-3.0.1/simd/3dnow.c 2007-04-18 10:08:31.000000000 +0400 -@@ -29,7 +29,7 @@ - { - int eax, ecx, edx; - -- __asm__("push %%ebx\n\tcpuid\n\tpop %%ebx" -+ __asm__("push %%rbx\n\tcpuid\n\tpop %%rbx" - : "=a" (eax), "=c" (ecx), "=d" (edx) - : "a" (op)); - return edx; -@@ -39,7 +39,7 @@ - { - int eax, ecx, edx; - -- __asm__("push %%ebx\n\tcpuid\n\tpop %%ebx" -+ __asm__("push %%rbx\n\tcpuid\n\tpop %%rbx" - : "=a" (eax), "=c" (ecx), "=d" (edx) - : "a" (op)); - return eax; -diff -uarN fftw-3.0.1.old/simd/sse2.c fftw-3.0.1/simd/sse2.c ---- fftw-3.0.1.old/simd/sse2.c 2007-04-18 10:05:41.000000000 +0400 -+++ fftw-3.0.1/simd/sse2.c 2007-04-18 10:08:14.000000000 +0400 -@@ -43,7 +43,7 @@ - #else - int eax, ecx, edx; - -- __asm__("push %%ebx\n\tcpuid\n\tpop %%ebx" -+ __asm__("push %%rbx\n\tcpuid\n\tpop %%rbx" - : "=a" (eax), "=c" (ecx), "=d" (edx) - : "a" (op)); - return edx; -diff -uarN fftw-3.0.1.old/simd/sse.c fftw-3.0.1/simd/sse.c ---- fftw-3.0.1.old/simd/sse.c 2007-04-18 10:05:41.000000000 +0400 -+++ fftw-3.0.1/simd/sse.c 2007-04-18 10:08:04.000000000 +0400 -@@ -43,7 +43,7 @@ - #else - int eax, ecx, edx; - -- __asm__("push %%ebx\n\tcpuid\n\tpop %%ebx" -+ __asm__("push %%rbx\n\tcpuid\n\tpop %%rbx" - : "=a" (eax), "=c" (ecx), "=d" (edx) - : "a" (op)); - return edx; diff --git a/sci-libs/fftw/files/fftw-3.1.2-configure.ac.patch b/sci-libs/fftw/files/fftw-3.1.2-configure.ac.patch new file mode 100644 index 000000000000..bbc0ccb6b5f8 --- /dev/null +++ b/sci-libs/fftw/files/fftw-3.1.2-configure.ac.patch @@ -0,0 +1,20 @@ +--- configure.ac.orig 2008-03-31 23:03:45.200210228 +0100 ++++ configure.ac 2008-03-31 23:06:57.111081976 +0100 +@@ -135,7 +135,7 @@ + AC_PROG_CC + AX_COMPILER_VENDOR + AC_PROG_CC_STDC +-AMX_PROG_AS dnl AM_PROG_AS breaks at least one version of libtool ++AM_PROG_AS + AC_PROG_INSTALL + AC_PROG_LN_S + AC_PROG_MAKE_SET +@@ -229,6 +229,8 @@ + fi + fi + AC_SUBST(SIMD_CFLAGS) ++# pass simd flags to preprocessor/compiler for proper intrinsics detection. ++CPPFLAGS="$CPPFLAGS $SIMD_CFLAGS" + + dnl Checks for header files. + AC_HEADER_STDC diff --git a/sci-libs/fftw/files/fftw-altivec-headers.patch b/sci-libs/fftw/files/fftw-altivec-headers.patch deleted file mode 100644 index baade9bfec66..000000000000 --- a/sci-libs/fftw/files/fftw-altivec-headers.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- configure.ac -+++ configure.ac -@@ -230,6 +230,12 @@ - fi - AC_SUBST(SIMD_CFLAGS) - -+dnl Some headers require the simd cflags (like altivec.h) -+save_CFLAGS="$CFLAGS" -+save_CPPFLAGS="$CPPFLAGS" -+CFLAGS="$CFLAGS $SIMD_CFLAGS" -+CPPFLAGS="$CPPFLAGS $SIMD_CFLAGS" -+ - dnl Checks for header files. - AC_HEADER_STDC - AC_CHECK_HEADERS([libintl.h malloc.h stddef.h stdlib.h string.h strings.h sys/time.h unistd.h limits.h c_asm.h intrinsics.h stdint.h mach/mach_time.h sys/sysctl.h altivec.h]) -@@ -237,6 +243,10 @@ - dnl intrinsics.h: cray unicos - dnl sys/sysctl.h: MacOS X altivec detection - -+dnl restore normal flags -+CFLAGS="$save_CFLAGS" -+CPPFLAGS="$save_CPPFLAGS" -+ - dnl Checks for typedefs, structures, and compiler characteristics. - AC_C_CONST - AC_C_INLINE diff --git a/sci-libs/fftw/metadata.xml b/sci-libs/fftw/metadata.xml index 9c91dfbff0eb..d7ac5d19ffe6 100644 --- a/sci-libs/fftw/metadata.xml +++ b/sci-libs/fftw/metadata.xml @@ -3,12 +3,12 @@ <pkgmetadata> <herd>sci</herd> <longdescription lang="en"> -The Fastest Fourier Transform in the West is a C subroutine library -for computing the Discrete Fourier Transform (DFT) in one or more -dimensions, of both real and complex data, and of arbitrary input -size. It is becoming the FFT library of choice for most -applications. Benchmarks, performed on a variety of platforms, show -that FFTW's performance is typically superior to that of other -publicly available FFT software. + The Fastest Fourier Transform in the West is a C subroutine library + for computing the Discrete Fourier Transform (DFT) in one or more + dimensions, of both real and complex data, and of arbitrary input + size. It is becoming the FFT library of choice for most + applications. Benchmarks, performed on a variety of platforms, show + that FFTW's performance is typically superior to that of other + publicly available FFT software. </longdescription> </pkgmetadata> |