summaryrefslogtreecommitdiff
path: root/extra/fftw
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /extra/fftw
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'extra/fftw')
-rw-r--r--extra/fftw/PKGBUILD50
-rw-r--r--extra/fftw/fftw.install22
2 files changed, 72 insertions, 0 deletions
diff --git a/extra/fftw/PKGBUILD b/extra/fftw/PKGBUILD
new file mode 100644
index 000000000..d8b00ff55
--- /dev/null
+++ b/extra/fftw/PKGBUILD
@@ -0,0 +1,50 @@
+# $Id: PKGBUILD 110392 2011-02-19 07:05:55Z allan $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor: damir <damir@archlinux.org>
+
+pkgname=fftw
+pkgver=3.2.2
+pkgrel=2
+pkgdesc="A library for computing the discrete Fourier transform (DFT)"
+arch=('i686' 'x86_64')
+license=('GPL2')
+url="http://www.fftw.org/"
+depends=('glibc' 'bash')
+makedepends=('gcc-fortran')
+options=(!libtool)
+source=(http://www.fftw.org/${pkgname}-${pkgver}.tar.gz)
+install=fftw.install
+
+# notes:
+# http://www.fftw.org/fftw2_doc/fftw_6.html#SEC69
+# http://www.fftw.org/faq/section2.html#singleprec
+# http://www.fftw.org/fftw3_doc/Precision.html#Precision
+
+md5sums=('b616e5c91218cc778b5aa735fefb61ae')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ # use upstream default CFLAGS while keeping our -march/-mtune
+ CFLAGS+=" -O3 -fomit-frame-pointer -malign-double -fstrict-aliasing -ffast-math"
+
+ CONFIGURE="./configure F77=gfortran --prefix=/usr \
+ --enable-shared --enable-threads"
+
+ # build & install double precision
+ $CONFIGURE --enable-sse2
+ make
+ make DESTDIR=${pkgdir} install
+ make clean
+
+ # build & install long double precission
+ $CONFIGURE --enable-long-double
+ make
+ make DESTDIR=${pkgdir} install
+ make clean
+
+ # build & install single precision
+ $CONFIGURE --enable-float --enable-sse
+ make
+ make DESTDIR=${pkgdir} install
+}
diff --git a/extra/fftw/fftw.install b/extra/fftw/fftw.install
new file mode 100644
index 000000000..a3748aae1
--- /dev/null
+++ b/extra/fftw/fftw.install
@@ -0,0 +1,22 @@
+info_dir=/usr/share/info
+info_files=(fftw3.info)
+
+post_install() {
+ for f in ${info_files[@]}; do
+ install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ for f in ${info_files[@]}; do
+ install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
+
+
+
+