# $Id$ # Maintainer: Ronald van Haren # Contributor: damir # Contributor: rubenvb vanboxem@ruben@gmail.com pkgname=fftw pkgver=3.3.4 pkgrel=2 pkgdesc="A library for computing the discrete Fourier transform (DFT)" arch=('i686' 'x86_64') license=('GPL2') url="http://www.fftw.org/" depends=('bash' 'gcc-libs') makedepends=('gcc-fortran') source=("http://www.fftw.org/${pkgname}-${pkgver}.tar.gz") install=fftw.install sha1sums=('fd508bac8ac13b3a46152c54b7ac885b69734262') # 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 build() { cd ${srcdir} mkdir -p ${pkgname}-${pkgver}-double mkdir -p ${pkgname}-${pkgver}-long-double mkdir -p ${pkgname}-${pkgver}-quad mkdir -p ${pkgname}-${pkgver}-single # use upstream default CFLAGS while keeping our -march/-mtune CFLAGS+=" -O3 -fomit-frame-pointer -malign-double -fstrict-aliasing -ffast-math" CONFIGURE="${srcdir}/${pkgname}-${pkgver}/configure F77=gfortran --prefix=/usr \ --enable-shared --enable-threads \ --enable-openmp" # build double precision cd ${srcdir}/${pkgname}-${pkgver}-double $CONFIGURE --enable-sse2 --enable-avx --enable-mpi make # build & install long double precission cd ${srcdir}/${pkgname}-${pkgver}-long-double $CONFIGURE --enable-long-double --enable-mpi make # build & install quad precission cd ${srcdir}/${pkgname}-${pkgver}-quad $CONFIGURE --enable-quad-precision make # build & install single precision cd ${srcdir}/${pkgname}-${pkgver}-single $CONFIGURE --enable-float --enable-sse --enable-avx --enable-mpi make } check() { cd ${srcdir}/${pkgname}-${pkgver}-double make check cd ${srcdir}/${pkgname}-${pkgver}-long-double make check cd ${srcdir}/${pkgname}-${pkgver}-quad make check cd ${srcdir}/${pkgname}-${pkgver}-single make check } package() { cd ${srcdir}/${pkgname}-${pkgver}-double make DESTDIR=${pkgdir} install cd ${srcdir}/${pkgname}-${pkgver}-long-double make DESTDIR=${pkgdir} install cd ${srcdir}/${pkgname}-${pkgver}-single make DESTDIR=${pkgdir} install }