# Description: C subroutine library for computing discrete Fourier transform. # URL: https://www.fftw.org/ # Maintainer: Tim Biermann, tbier at posteo dot de # Depends on: openmpi gcc-fortran name=fftw version=3.3.10 release=2 source=(http://www.fftw.org/$name-$version.tar.gz) build() { cp -av $name-$version ${name}-${version}-double cp -av $name-$version ${name}-${version}-long-double cp -av $name-$version ${name}-${version}-quad export F77='gfortran' CFLAGS+=" -O3 -fomit-frame-pointer -malign-double -fstrict-aliasing -ffast-math" # default configure call _default_configure="./configure --prefix=/usr --enable-shared --enable-threads --enable-mpi --enable-openmp" # libtool fails to link with ccache in the path [ -e '/usr/bin/ccache' ] && PATH=$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//') # configure single precision cd $SRC/$name-$version ${_default_configure} --enable-sse --enable-avx --enable-single sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool # configure double precision cd $SRC/$name-$version-double ${_default_configure} --enable-sse2 --enable-avx sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool # configure long-double precission cd $SRC/$name-$version-long-double ${_default_configure} --enable-long-double sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool # configure quad precision cd $SRC/$name-$version-quad ${_default_configure} --disable-mpi --enable-quad-precision sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool make -C $SRC/$name-$version make -C $SRC/$name-$version-double make -C $SRC/$name-$version-long-double make -C $SRC/$name-$version-quad make DESTDIR=$PKG install -C $SRC/$name-$version make DESTDIR=$PKG install -C $SRC/$name-$version-double make DESTDIR=$PKG install -C $SRC/$name-$version-long-double make DESTDIR=$PKG install -C $SRC/$name-$version-quad rm -r $PKG/usr/share/info rm $PKG/usr/lib/*.la }