diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /sci-libs/fftw | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'sci-libs/fftw')
-rw-r--r-- | sci-libs/fftw/Manifest | 2 | ||||
-rw-r--r-- | sci-libs/fftw/fftw-2.1.5-r8.ebuild | 157 | ||||
-rw-r--r-- | sci-libs/fftw/fftw-3.3.4.ebuild | 164 | ||||
-rw-r--r-- | sci-libs/fftw/files/fftw-2.1.5-as-needed.patch | 112 | ||||
-rw-r--r-- | sci-libs/fftw/files/fftw-2.1.5-cc.patch | 19 | ||||
-rw-r--r-- | sci-libs/fftw/files/fftw-2.1.5-configure.in.patch | 226 | ||||
-rw-r--r-- | sci-libs/fftw/files/fftw-2.1.5-no-test.patch | 33 | ||||
-rw-r--r-- | sci-libs/fftw/files/fftw-2.1.5-texinfo5.1.patch | 21 | ||||
-rw-r--r-- | sci-libs/fftw/metadata.xml | 23 |
9 files changed, 757 insertions, 0 deletions
diff --git a/sci-libs/fftw/Manifest b/sci-libs/fftw/Manifest new file mode 100644 index 000000000000..b1d9259e0381 --- /dev/null +++ b/sci-libs/fftw/Manifest @@ -0,0 +1,2 @@ +DIST fftw-2.1.5.tar.gz 1256888 SHA256 f8057fae1c7df8b99116783ef3e94a6a44518d49c72e2e630c24b689c6022630 SHA512 8724a7f66aa19b271aa0ffb0e3762919f08082ac4400f52d11b50aef9b9d23a7d4fc5d6b2eae0ac166e2bb30a4d38a52c878e8bf8e24aba01ab1c3ddf5ebec15 WHIRLPOOL 2ea64d246c12e14962b93e05411c5f06dd193a887acb3fe5e7f63231a1a2f1f21b3a41f75951e18c332b25105865633c87150f2107169f5487b6b9983b968e10 +DIST fftw-3.3.4.tar.gz 3940427 SHA256 8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982 SHA512 1ee2c7bec3657f6846e63c6dfa71410563830d2b951966bf0123bd8f4f2f5d6b50f13b76d9a7b0eae70e44856f829ca6ceb3d080bb01649d1572c9f3f68e8eb1 WHIRLPOOL 2a5733f5537ff55a1830994431f1750dd790a4df3e8b3d1e9018c1afba2c5172f4e456eaee1c3427a2b170d23b6928da462e067a6f4e94792cfc7ff1cbc38938 diff --git a/sci-libs/fftw/fftw-2.1.5-r8.ebuild b/sci-libs/fftw/fftw-2.1.5-r8.ebuild new file mode 100644 index 000000000000..6c1df9055aa4 --- /dev/null +++ b/sci-libs/fftw/fftw-2.1.5-r8.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=4 + +FORTRAN_NEEDED=fortran + +inherit autotools eutils flag-o-matic fortran-2 toolchain-funcs + +DESCRIPTION="Fast C library for the Discrete Fourier Transform" +SRC_URI="http://www.fftw.org/${P}.tar.gz" +HOMEPAGE="http://www.fftw.org" + +DEPEND="mpi? ( virtual/mpi )" +RDEPEND="${DEPEND}" + +SLOT="2.1" +LICENSE="GPL-2+" +IUSE="doc float fortran mpi openmp threads static-libs" + +KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos" + +pkg_setup() { + use openmp && FORTRAN_NEED_OPENMP="1" + fortran-2_pkg_setup + # this one is reported to cause trouble on pentium4 m series + filter-mfpmath "sse" + + # here I need (surprise) to increase optimization: + # --enable-i386-hacks requires -fomit-frame-pointer to work properly + if use x86; then + is-flag "-fomit-frame-pointer" || append-flags "-fomit-frame-pointer" + fi + if use openmp && [[ $(tc-getCC) == *gcc* ]] && ! tc-has-openmp; then + ewarn "You are using gcc and OpenMP is only available with gcc >= 4.2 " + ewarn "If you want to build fftw with OpenMP, abort now," + ewarn "and switch CC to an OpenMP capable compiler" + ewarn "Otherwise the configure script will select POSIX threads." + fi + use openmp && [[ $(tc-getCC)$ == icc* ]] && append-ldflags $(no-as-needed) +} + +src_prepare() { + # 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?) + + epatch \ + "${FILESDIR}"/${P}-as-needed.patch \ + "${FILESDIR}"/${P}-configure.in.patch \ + "${FILESDIR}"/${P}-no-test.patch \ + "${FILESDIR}"/${P}-cc.patch \ + "${FILESDIR}"/${P}-texinfo5.1.patch + + # fix info files + for infofile in doc/fftw*info*; do + cat >> ${infofile} <<-EOF + INFO-DIR-SECTION Libraries + START-INFO-DIR-ENTRY + * fftw: (fftw). ${DESCRIPTION} + END-INFO-DIR-ENTRY + EOF + done + + sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.in || die + + eautoreconf + + cd "${WORKDIR}" + cp -R ${P} ${P}-double + mv ${P} ${P}-single + ln -s ${P}-single ${P} +} + +src_configure() { + local myconf=" + --enable-shared + --enable-type-prefix + --enable-vec-recurse + $(use_enable fortran) + $(use_enable mpi) + $(use_enable static-libs static) + $(use_enable x86 i386-hacks)" + if use openmp; then + myconf="${myconf} + --enable-threads + --with-openmp" + elif use threads; then + myconf="${myconf} + --enable-threads + --without-openmp" + else + myconf="${myconf} + --disable-threads + --without-openmp" + fi + cd "${S}-single" + econf ${myconf} \ + --enable-float \ + --with-gcc=$(tc-getCC) + + cd "${S}-double" + econf ${myconf} \ + --with-gcc=$(tc-getCC) +} + +src_compile() { + local dir + for dir in "${S}-single" "${S}-double" + do + einfo "Running compilation in ${dir}" + emake -C ${dir} + done +} + +src_test() { + local dir + for dir in "${S}-single" "${S}-double" + do + einfo "Running tests in ${dir}" + emake -C ${dir} -j1 check + done +} + +src_install () { + # both builds are installed in the same place + # libs are distinguished by prefix (s or d), see docs for details + + local dir + for dir in "${S}-single" "${S}-double" + do + emake DESTDIR="${D}" -C ${dir} install + done + + insinto /usr/include + doins fortran/fftw_f77.i + dodoc AUTHORS ChangeLog NEWS TODO README README.hacks + use doc && dohtml doc/* + + if use float; then + for f in "${ED}"/usr/{include,$(get_libdir)}/*sfft*; do + ln -s $(basename ${f}) ${f/sfft/fft} + done + for f in "${ED}"/usr/{include,$(get_libdir)}/*srfft*; do + ln -s $(basename ${f}) ${f/srfft/rfft} + done + else + for f in "${ED}"/usr/{include,$(get_libdir)}/*dfft*; do + ln -s $(basename ${f}) ${f/dfft/fft} + done + for f in "${ED}"/usr/{include,$(get_libdir)}/*drfft*; do + ln -s $(basename ${f}) ${f/drfft/rfft} + done + fi +} diff --git a/sci-libs/fftw/fftw-3.3.4.ebuild b/sci-libs/fftw/fftw-3.3.4.ebuild new file mode 100644 index 000000000000..c0e4b6f4a207 --- /dev/null +++ b/sci-libs/fftw/fftw-3.3.4.ebuild @@ -0,0 +1,164 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +FORTRAN_NEEDED=fortran + +inherit autotools-multilib eutils flag-o-matic fortran-2 multibuild toolchain-funcs versionator + +DESCRIPTION="Fast C library for the Discrete Fourier Transform" +HOMEPAGE="http://www.fftw.org/" + +if [[ ${PV} = *9999 ]]; then + inherit git-2 + EGIT_REPO_URI="https://github.com/FFTW/fftw3.git" + KEYWORDS="alpha amd64 arm hppa ia64 ppc ppc64 sparc x86" + AUTOTOOLS_AUTORECONF=1 +else + SRC_URI="http://www.fftw.org/${P}.tar.gz" + KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos" +fi + +LICENSE="GPL-2+" +SLOT="3.0/3" +IUSE="altivec cpu_flags_x86_avx doc cpu_flags_x86_fma3 cpu_flags_x86_fma4 fortran mpi neon openmp quad cpu_flags_x86_sse cpu_flags_x86_sse2 static-libs test threads zbus" + +RDEPEND=" + mpi? ( virtual/mpi ) + abi_x86_32? ( !<=app-emulation/emul-linux-x86-soundlibs-20130224-r2 + !app-emulation/emul-linux-x86-soundlibs[-abi_x86_32(-)] )" +DEPEND="${RDEPEND} + test? ( dev-lang/perl )" + +pkg_setup() { + # XXX: this looks like it should be used with BUILD_TYPE!=binary + if use openmp; then + if [[ $(tc-getCC) == *gcc ]] && ! tc-has-openmp; then + ewarn "OpenMP is not available in your current selected gcc" + die "need openmp capable gcc" + fi + FORTRAN_NEED_OPENMP=1 + fi + + fortran-2_pkg_setup + + MULTIBUILD_VARIANTS=( single double longdouble ) + if use quad; then + if [[ $(tc-getCC) == *gcc ]] && ! version_is_at_least 4.6 $(gcc-version); then + ewarn "quad precision only available for gcc >= 4.6" + die "need quad precision capable gcc" + fi + MULTIBUILD_VARIANTS+=( quad ) + fi +} + +src_prepare() { + # fix info file for category directory + [[ ${PV} = *9999 ]] || sed -i \ + -e 's/Texinfo documentation system/Libraries/' \ + doc/fftw3."info" || die "failed to fix info file" + + autotools-utils_src_prepare +} + +src_configure() { + local x + + # filter -Os according to docs + replace-flags -Os -O2 + + my_configure() { + #a bit hacky improve after #483758 is solved + local x=${BUILD_DIR%-*} + x=${x##*-} + # there is no abi_x86_32 port of virtual/mpi right now + local enable_mpi=$(use_enable mpi) + multilib_is_native_abi || enable_mpi="--disable-mpi" + + #jlec reported USE=quad on abi_x86_32 has too less registers + #stub Makefiles + if [[ ${ABI} == x86 && ${x} == quad ]]; then + mkdir -p "${BUILD_DIR}/tests" || die + echo "all: ;" > "${BUILD_DIR}/Makefile" || die + echo "install: ;" >> "${BUILD_DIR}/Makefile" || die + echo "smallcheck: ;" > "${BUILD_DIR}/tests/Makefile" || die + return 0 + fi + + local myeconfargs=( + $(use_enable "cpu_flags_x86_fma$(usex cpu_flags_x86_fma3 3 4)" fma) + $(use_enable fortran) + $(use_enable zbus mips-zbus-timer) + $(use_enable threads) + $(use_enable openmp) + ) + if [[ $x == single ]]; then + #altivec, sse, single-paired only work for single + myeconfargs+=( + --enable-single + $(use_enable altivec) + $(use_enable cpu_flags_x86_avx avx) + $(use_enable cpu_flags_x86_sse sse) + ${enable_mpi} + $(use_enable neon) + ) + elif [[ $x == double ]]; then + myeconfargs+=( + $(use_enable cpu_flags_x86_avx avx) + $(use_enable cpu_flags_x86_sse2 sse2) + ${enable_mpi} + ) + elif [[ $x == longdouble ]]; then + myeconfargs+=( + --enable-long-double + ${enable_mpi} + ) + elif [[ $x == quad ]]; then + #quad does not support mpi + myeconfargs+=( --enable-quad-precision ) + else + die "${x} precision not implemented in this ebuild" + fi + + autotools-utils_src_configure + } + + multibuild_foreach_variant multilib_parallel_foreach_abi my_configure +} + +src_compile() { + multibuild_foreach_variant autotools-multilib_src_compile +} + +src_test () { + # We want this to be a reasonably quick test, but that is still hard... + ewarn "This test series will take 30 minutes on a modern 2.5Ghz machine" + # Do not increase the number of threads, it will not help your performance + #local testbase="perl check.pl --nthreads=1 --estimate" + # ${testbase} -${p}d || die "Failure: $n" + multibuild_foreach_variant autotools-multilib_src_compile -C tests smallcheck +} + +src_install () { + local u x + DOCS=( AUTHORS ChangeLog NEWS README TODO COPYRIGHT CONVENTIONS ) + HTML_DOCS=( doc/html/ ) + + multibuild_foreach_variant multilib_foreach_abi autotools-utils_src_install + + if use doc; then + dodoc doc/*.pdf + insinto /usr/share/doc/${PF}/faq + doins -r doc/FAQ/fftw-faq.html/* + else + rm -r "${ED}"/usr/share/doc/${PF}/html + fi + + for x in "${ED}"/usr/lib*/pkgconfig/*.pc; do + for u in $(usev mpi) $(usev threads) $(usex openmp omp ""); do + sed -e "s|-lfftw3[flq]\?|&_$u &|" "$x" > "${x%.pc}_$u.pc" || die + done + done +} 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 new file mode 100644 index 000000000000..2389f0e43f79 --- /dev/null +++ b/sci-libs/fftw/files/fftw-2.1.5-as-needed.patch @@ -0,0 +1,112 @@ +--- rfftw/Makefile.am.orig 2008-04-03 15:23:06.989019659 +0000 ++++ rfftw/Makefile.am 2008-04-03 15:23:35.658653448 +0000 +@@ -18,6 +18,7 @@ + rfftw.h + + lib@FFTW_PREFIX@rfftw_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@ ++lib@FFTW_PREFIX@rfftw_la_LIBADD = ../fftw/lib@FFTW_PREFIX@fftw.la + MAINTAINERCLEANFILES = $(CODELETS) rconfig.c + DISTCLEANFILES = srfftw.h drfftw.h + +--- threads/Makefile.am.orig 2008-04-03 15:23:10.101197011 +0000 ++++ threads/Makefile.am 2008-04-03 15:23:35.662653676 +0000 +@@ -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-04-03 15:22:43.811698858 +0000 ++++ mpi/Makefile.am 2008-04-03 15:25:50.930362143 +0000 +@@ -28,6 +28,9 @@ + -version-info @SHARED_VERSION_INFO@ \ + -rpath $(libdir) + ++lib@FFTW_PREFIX@fftw_mpi_la_LIBADD = \ ++ @MPILIBS@ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la ++ + @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,32 +42,38 @@ + -version-info @SHARED_VERSION_INFO@ \ + -rpath $(libdir) + +-@FFTW_PREFIX1@rfftw_mpi.h: rfftw_mpi.h ++lib@FFTW_PREFIX@rfftw_mpi_la_LIBADD = \ ++ @MPILIBS@ \ ++ $(RFFTWDIR)/lib@FFTW_PREFIX@rfftw.la \ ++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la ++ ++@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 > $@ + + CLEANFILES = @FFTW_PREFIX1@fftw_mpi.h @FFTW_PREFIX1@rfftw_mpi.h + + test_sched_SOURCES = test_sched.c +-test_sched_LDADD = lib@FFTW_PREFIX@fftw_mpi.la \ +- $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la @MPILIBS@ ++test_sched_LDADD = @MPILIBS@ lib@FFTW_PREFIX@fftw_mpi.la \ ++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la + + test_transpose_mpi_SOURCES = test_transpose_mpi.c +-test_transpose_mpi_LDADD = lib@FFTW_PREFIX@fftw_mpi.la \ +- $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la @MPILIBS@ ++test_transpose_mpi_LDADD = @MPILIBS@ lib@FFTW_PREFIX@fftw_mpi.la \ ++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la + + fftw_mpi_test_SOURCES = fftw_mpi_test.c + fftw_mpi_test_LDADD = ../tests/test_main.o \ ++ @MPILIBS@ \ + lib@FFTW_PREFIX@fftw_mpi.la \ +- $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la @MPILIBS@ ++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la + + rfftw_mpi_test_SOURCES = rfftw_mpi_test.c + rfftw_mpi_test_LDADD = ../tests/test_main.o \ ++ @MPILIBS@ \ + lib@FFTW_PREFIX@rfftw_mpi.la \ + lib@FFTW_PREFIX@fftw_mpi.la \ + $(RFFTWDIR)/lib@FFTW_PREFIX@rfftw.la \ +- $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la \ +- @MPILIBS@ ++ $(FFTWDIR)/lib@FFTW_PREFIX@fftw.la + + # for some reason, automake tries to use autoheader in order to + # generate config.h.in, and fails because config.h.in is GNU-lly +--- mpi/test_sched.c.orig 2008-04-03 16:58:01.969033125 +0000 ++++ mpi/test_sched.c 2008-04-03 16:59:27.521908505 +0000 +@@ -27,6 +27,8 @@ + int **sched; + int npes = -1, sortpe = -1, steps; + ++ /* needed to link with proper mpi libs */ ++ MPI_Init(&argc,&argv); + if (argc >= 2) { + npes = atoi(argv[1]); + if (npes <= 0) { +@@ -121,5 +123,6 @@ + } + } + ++ MPI_Finalize(); + return 0; + } diff --git a/sci-libs/fftw/files/fftw-2.1.5-cc.patch b/sci-libs/fftw/files/fftw-2.1.5-cc.patch new file mode 100644 index 000000000000..aa5c6db038c8 --- /dev/null +++ b/sci-libs/fftw/files/fftw-2.1.5-cc.patch @@ -0,0 +1,19 @@ +--- a/configure.in ++++ b/configure.in +@@ -25,6 +25,8 @@ + AC_ARG_WITH(gcc, [ --with-gcc use gcc instead of the native compiler cc], ok=$withval, ok=no) + if test "$ok" = "yes"; then + CC=gcc ++else ++ CC=$withval + fi + + AC_ARG_ENABLE(float, [ --enable-float compile fftw for single precision], enable_float=$enableval, enable_float=no) +@@ -96,6 +96,7 @@ + AM_PROG_LIBTOOL + AC_CHECK_PROG(PERL, perl, perl, echo perl) + AC_SUBST(PERL) ++AC_SUBST(CC) + + dnl ----------------------------------------------------------------------- + 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..718e74686f62 --- /dev/null +++ b/sci-libs/fftw/files/fftw-2.1.5-configure.in.patch @@ -0,0 +1,226 @@ +--- configure.in.orig 2008-07-09 17:52:16.762461233 +0100 ++++ configure.in 2008-07-09 18:34:13.106471656 +0100 +@@ -1,6 +1,8 @@ ++ + 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 +29,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 +58,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 ----------------------------------------------------------------------- +@@ -90,7 +92,6 @@ + ACX_PROG_CC_EGCS + AC_PROG_INSTALL + AC_PROG_MAKE_SET +-AC_PROG_RANLIB + AC_PROG_LN_S + AM_PROG_LIBTOOL + AC_CHECK_PROG(PERL, perl, perl, echo perl) +@@ -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 + + +@@ -221,15 +222,25 @@ + FFTW_THREADS_INCLUDELIST="" + FFTW_THREADS_PROGLIST="" + THREADLIBS="" ++omp_enabler=unknown + if test "$enable_threads" = "yes"; then + if test "$with_openmp"x != nox; then + AC_MSG_CHECKING(how to enable OpenMP) +- omp_enabler=unknown + save_CFLAGS="$CFLAGS" + CFLAGS="$save_CFLAGS -omp" + AC_TRY_LINK_FUNC(omp_set_num_threads,THREADLIBS=" " + omp_enabler="$CC -omp") + if test -z "$THREADLIBS"; then ++ CFLAGS="$save_CFLAGS -fopenmp" ++ AC_TRY_LINK_FUNC(omp_set_num_threads,THREADLIBS="-lgomp" ++ omp_enabler="$CC -fopenmp") ++ fi ++ if test -z "$THREADLIBS"; then ++ CFLAGS="$save_CFLAGS -openmp" ++ AC_TRY_LINK_FUNC(omp_set_num_threads,THREADLIBS=" " ++ omp_enabler="$CC -openmp") ++ fi ++ if test -z "$THREADLIBS"; then + CFLAGS="$save_CFLAGS -mp" + AC_TRY_LINK_FUNC(omp_set_num_threads,THREADLIBS=" " + omp_enabler="$CC -mp") +@@ -240,68 +251,70 @@ + omp_enabler="automatic") + fi + AC_MSG_RESULT($omp_enabler) +- if test -z "$THREADLIBS"; then +- AC_MSG_ERROR([don't know how to enable OpenMP]) ++ if test x"$omp_enabler" != x"unknown"; then ++ AC_DEFINE(FFTW_USING_OPENMP_THREADS,1,[Using OpenMP threads]) ++ else ++ AC_MSG_WARN([don't know how to enable OpenMP, reverting to POSIX threads]) + fi +- AC_DEFINE(FFTW_USING_OPENMP_THREADS) ++ + fi + if test "$with_sgimp"x != nox; then + AC_MSG_CHECKING(how to enable SGI MP) + mp_enabler=unknown + save_CFLAGS="$CFLAGS" + CFLAGS="$save_CFLAGS -mp" +- AC_TRY_LINK_FUNC(mp_set_numthreads,THREADLIBS=" " ++ AC_TRY_LINK_FUNC(mp_set_numthreads,THREADLIBS="" + mp_enabler="$CC -mp") + if test -z "$THREADLIBS"; then + CFLAGS="$save_CFLAGS" +- AC_TRY_LINK_FUNC(mp_numthreads,THREADLIBS=" " ++ AC_TRY_LINK_FUNC(mp_numthreads,THREADLIBS="" + mp_enabler="automatic") + fi + AC_MSG_RESULT($mp_enabler) + 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: +- if test -z "$THREADLIBS"; then ++ if test x"$omp_enabler" = x"unknown" ; then + sinclude(acx_pthread.m4) + 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 +347,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-2.1.5-no-test.patch b/sci-libs/fftw/files/fftw-2.1.5-no-test.patch new file mode 100644 index 000000000000..f9f54f68eb14 --- /dev/null +++ b/sci-libs/fftw/files/fftw-2.1.5-no-test.patch @@ -0,0 +1,33 @@ +--- tests/Makefile.am.orig 2008-06-22 12:29:53.149138283 +0100 ++++ tests/Makefile.am 2008-06-22 12:30:32.731595087 +0100 +@@ -1,4 +1,4 @@ +-noinst_PROGRAMS = fftw_test rfftw_test ++check_PROGRAMS = fftw_test rfftw_test + noinst_HEADERS = test_main.h + + FFTWDIR=../fftw +--- mpi/Makefile.am.orig 2008-06-22 17:21:16.998466390 +0100 ++++ mpi/Makefile.am 2008-06-22 17:27:42.996463162 +0100 +@@ -4,8 +4,8 @@ + + lib_LTLIBRARIES = @FFTW_MPI_LIBLIST@ + include_HEADERS = @FFTW_MPI_INCLUDELIST@ +-noinst_PROGRAMS = @FFTW_MPI_PROGLIST@ ++check_PROGRAMS = @FFTW_MPI_PROGLIST@ + + EXTRA_LTLIBRARIES = lib@FFTW_PREFIX@fftw_mpi.la \ + lib@FFTW_PREFIX@rfftw_mpi.la + EXTRA_HEADERS = @FFTW_PREFIX@fftw_mpi.h @FFTW_PREFIX@rfftw_mpi.h +--- threads/Makefile.am.orig 2008-06-22 17:18:18.940409610 +0100 ++++ threads/Makefile.am 2008-06-22 17:28:00.485459803 +0100 +@@ -4,9 +4,9 @@ + + lib_LTLIBRARIES = @FFTW_THREADS_LIBLIST@ + include_HEADERS = @FFTW_THREADS_INCLUDELIST@ +-noinst_PROGRAMS = @FFTW_THREADS_PROGLIST@ ++check_PROGRAMS = @FFTW_THREADS_PROGLIST@ + + EXTRA_LTLIBRARIES = lib@FFTW_PREFIX@fftw_threads.la \ + lib@FFTW_PREFIX@rfftw_threads.la + EXTRA_HEADERS = @FFTW_PREFIX@fftw_threads.h \ + @FFTW_PREFIX@rfftw_threads.h diff --git a/sci-libs/fftw/files/fftw-2.1.5-texinfo5.1.patch b/sci-libs/fftw/files/fftw-2.1.5-texinfo5.1.patch new file mode 100644 index 000000000000..1947bef8f21f --- /dev/null +++ b/sci-libs/fftw/files/fftw-2.1.5-texinfo5.1.patch @@ -0,0 +1,21 @@ + doc/fftw.texi | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/doc/fftw.texi b/doc/fftw.texi +index 90e8bb6..85a7a53 100644 +--- a/doc/fftw.texi ++++ b/doc/fftw.texi +@@ -46,10 +46,10 @@ approved by the Free Software Foundation. + @titlepage + @sp 10 + @comment The title is printed in a large font. +-@title{FFTW User's Manual} ++@title FFTW User's Manual + @subtitle For version @value{VERSION}, @value{UPDATED} +-@author{Matteo Frigo} +-@author{Steven G. Johnson} ++@author Matteo Frigo ++@author Steven G. Johnson + + @c The following two commands start the copyright page. + @page diff --git a/sci-libs/fftw/metadata.xml b/sci-libs/fftw/metadata.xml new file mode 100644 index 000000000000..5221b542c560 --- /dev/null +++ b/sci-libs/fftw/metadata.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<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. +</longdescription> + <use> + <flag name="float">Link default library to single precision instead of + double (symlinks only and fftw-2.1)</flag> + <flag name="quad">Build quadruple precision lib</flag> + <flag name="zbus">Adds support for ZBus cycle-counter of mips</flag> + </use> + <upstream> + <remote-id type="freecode">fftw</remote-id> + </upstream> +</pkgmetadata> |