summaryrefslogtreecommitdiffstats
path: root/rules
diff options
context:
space:
mode:
authorRobert Schwebel <r.schwebel@pengutronix.de>2007-01-06 17:40:15 +0000
committerRobert Schwebel <r.schwebel@pengutronix.de>2007-01-06 17:40:15 +0000
commitcf36b983579d7735c2082b24af8ee2c1f290e5aa (patch)
tree9828934d43e3adb7811a27152be6b686138e848d /rules
parent93de51eadca0f75b75ea3fa545b5e4577ac86b00 (diff)
downloadptxdist-cf36b983579d7735c2082b24af8ee2c1f290e5aa.tar.gz
ptxdist-cf36b983579d7735c2082b24af8ee2c1f290e5aa.tar.xz
* fftw: added
git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-trunk@6755 33e552b5-05e3-0310-8538-816dae2090ed
Diffstat (limited to 'rules')
-rw-r--r--rules/Kconfig1
-rw-r--r--rules/fftw.in55
-rw-r--r--rules/fftw.make135
3 files changed, 191 insertions, 0 deletions
diff --git a/rules/Kconfig b/rules/Kconfig
index 23eeb5902..d09acdb5b 100644
--- a/rules/Kconfig
+++ b/rules/Kconfig
@@ -207,6 +207,7 @@ source "rules/i915resolution.in"
endmenu
menu "Scientific Apps "
+source "rules/fftw.in"
source "rules/gnuplot.in"
source "rules/libmodbus.in"
source "rules/libpv.in"
diff --git a/rules/fftw.in b/rules/fftw.in
new file mode 100644
index 000000000..68df0b928
--- /dev/null
+++ b/rules/fftw.in
@@ -0,0 +1,55 @@
+# libfftw configuration
+
+menuconfig FFTW
+ bool
+ prompt "fftw "
+ help
+ FFTW is a C subroutine library for computing the discrete
+ Fourier transform (DFT) in one or more dimensions, of
+ arbitrary input size, and of both real and complex data (as
+ well as of even/odd data, i.e. the discrete cosine/sine
+ transforms or DCT/DST).
+
+ For details, see http://www.fftw.org
+
+
+# --enable-fma enable optimizations for machines with fused
+# multiply-add
+# --enable-debug compile fftw with extra runtime checks for debugging
+# --enable-debug-malloc enable malloc debugging version
+# --enable-debug-alignment
+# enable alignment debugging hacks
+# --enable-single compile fftw in single precision
+# --enable-float synonym for --enable-single
+# --enable-long-double compile fftw in long-double precision
+# --enable-k7 enable AMD K7 optimizations, including 3dNow!
+# --enable-sse enable SSE optimizations
+# --enable-sse2 enable SSE2 optimizations
+# --enable-altivec enable Altivec optimizations
+# --disable-dependency-tracking speeds up one-time build
+# --enable-dependency-tracking do not reject slow dependency extractors
+# --enable-static[=PKGS] build static libraries [default=yes]
+# --enable-fast-install[=PKGS]
+# optimize for fast installation [default=yes]
+# --disable-libtool-lock avoid locking (might break parallel builds)
+# --enable-portable-binary
+# disable compiler optimizations that would produce
+# unportable binaries
+# --disable-fortran don't include fortran-callable wrappers
+# --enable-threads compile FFTW SMP threads library
+#
+# Optional Packages:
+# --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+# --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+# --with-slow-timer use low-precision timers (SLOW)
+# --with-our-malloc16 use our 16-byte aligned malloc (helpful for Win32)
+# --with-windows-f77-mangling
+# use common Win32 Fortran interface styles
+# --with-gnu-ld assume the C compiler uses GNU ld [default=no]
+# --with-pic try to use only PIC/non-PIC objects [default=use
+# both]
+# --with-tags[=TAGS] include additional configurations [automatic]
+# --with-gcc-arch=<arch> use architecture <arch> for gcc -march/-mtune,
+# instead of guessing
+# --with-openmp use OpenMP directives instead of a threads library
+# --with-combined-threads combine threads into main libfftw3
diff --git a/rules/fftw.make b/rules/fftw.make
new file mode 100644
index 000000000..df37be2c0
--- /dev/null
+++ b/rules/fftw.make
@@ -0,0 +1,135 @@
+# -*-makefile-*-
+# $Id: template 6487 2006-12-07 20:55:55Z rsc $
+#
+# Copyright (C) 2006 by Robert Schwebel
+#
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_FFTW) += fftw
+
+#
+# Paths and names
+#
+FFTW_VERSION := 3.1.2
+FFTW := fftw-$(FFTW_VERSION)
+FFTW_SUFFIX := tar.gz
+FFTW_URL := http://www.fftw.org//$(FFTW).$(FFTW_SUFFIX)
+FFTW_SOURCE := $(SRCDIR)/$(FFTW).$(FFTW_SUFFIX)
+FFTW_DIR := $(BUILDDIR)/$(FFTW)
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+fftw_get: $(STATEDIR)/fftw.get
+
+$(STATEDIR)/fftw.get: $(fftw_get_deps_default)
+ @$(call targetinfo, $@)
+ @$(call touch, $@)
+
+$(FFTW_SOURCE):
+ @$(call targetinfo, $@)
+ @$(call get, FFTW)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+fftw_extract: $(STATEDIR)/fftw.extract
+
+$(STATEDIR)/fftw.extract: $(fftw_extract_deps_default)
+ @$(call targetinfo, $@)
+ @$(call clean, $(FFTW_DIR))
+ @$(call extract, FFTW)
+ @$(call patchin, FFTW)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+fftw_prepare: $(STATEDIR)/fftw.prepare
+
+FFTW_PATH := PATH=$(CROSS_PATH)
+FFTW_ENV := $(CROSS_ENV)
+
+#
+# autoconf
+#
+FFTW_AUTOCONF := \
+ $(CROSS_AUTOCONF_USR) \
+ --enable-shared
+
+$(STATEDIR)/fftw.prepare: $(fftw_prepare_deps_default)
+ @$(call targetinfo, $@)
+ @$(call clean, $(FFTW_DIR)/config.cache)
+ cd $(FFTW_DIR) && \
+ $(FFTW_PATH) $(FFTW_ENV) \
+ ./configure $(FFTW_AUTOCONF)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+fftw_compile: $(STATEDIR)/fftw.compile
+
+$(STATEDIR)/fftw.compile: $(fftw_compile_deps_default)
+ @$(call targetinfo, $@)
+ cd $(FFTW_DIR) && $(FFTW_PATH) $(MAKE)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+fftw_install: $(STATEDIR)/fftw.install
+
+$(STATEDIR)/fftw.install: $(fftw_install_deps_default)
+ @$(call targetinfo, $@)
+ @$(call install, FFTW)
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+fftw_targetinstall: $(STATEDIR)/fftw.targetinstall
+
+$(STATEDIR)/fftw.targetinstall: $(fftw_targetinstall_deps_default)
+ @$(call targetinfo, $@)
+
+ @$(call install_init, fftw)
+ @$(call install_fixup, fftw,PACKAGE,fftw)
+ @$(call install_fixup, fftw,PRIORITY,optional)
+ @$(call install_fixup, fftw,VERSION,$(FFTW_VERSION))
+ @$(call install_fixup, fftw,SECTION,base)
+ @$(call install_fixup, fftw,AUTHOR,"Robert Schwebel <r.schwebel\@pengutronix.de>")
+ @$(call install_fixup, fftw,DEPENDS,)
+ @$(call install_fixup, fftw,DESCRIPTION,missing)
+
+ @$(call install_copy, fftw, 0, 0, 0644, $(FFTW_DIR)/.libs/libfftw3.so.3.1.2, /usr/lib/libfftw3.so.3.1.2)
+ @$(call install_link, fftw, libfftw3.so.3.1.2, /usr/lib/libfftw3.so.3)
+ @$(call install_link, fftw, libfftw3.so.3.1.2, /usr/lib/libfftw3.so)
+
+ @$(call install_finish, fftw)
+
+ @$(call touch, $@)
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+fftw_clean:
+ rm -rf $(STATEDIR)/fftw.*
+ rm -rf $(IMAGEDIR)/fftw_*
+ rm -rf $(FFTW_DIR)
+
+# vim: syntax=make