78 lines
2.5 KiB
Bash
78 lines
2.5 KiB
Bash
# Maintainer: Jesus E. <heckyel@riseup.net>
|
|
|
|
pkgname=fftw
|
|
pkgver=3.3.9
|
|
pkgrel=1
|
|
pkgdesc="A library for computing the discrete Fourier transform (DFT)"
|
|
arch=('i686' 'x86_64')
|
|
license=('GPL-2')
|
|
url="http://www.fftw.org/"
|
|
depends=('bash' 'gcc-libs' 'glibc' 'openmpi')
|
|
makedepends=('gcc-fortran')
|
|
source=("http://www.fftw.org/${pkgname}-${pkgver}.tar.gz")
|
|
sha512sums=('52ebc2a33063a41fd478f6ea2acbf3b511867f736591d273dd57f9dfca5d3e0b0c73157921b3a36f1a7cfd741a8a6bde0fd80de578040ae730ea168b5ba466cf')
|
|
|
|
prepare() {
|
|
cp -av "${pkgname}-${pkgver}" "${pkgname}-${pkgver}-double"
|
|
cp -av "${pkgname}-${pkgver}" "${pkgname}-${pkgver}-long-double"
|
|
cp -av "${pkgname}-${pkgver}" "${pkgname}-${pkgver}-quad"
|
|
}
|
|
|
|
build() {
|
|
export F77='gfortran'
|
|
# use upstream default CFLAGS while keeping our -march/-mtune
|
|
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"
|
|
|
|
# configure single precision
|
|
(
|
|
cd "${pkgname}-${pkgver}"
|
|
${_default_configure} --enable-sse --enable-avx --enable-single
|
|
# NOTE: fix overlinking
|
|
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
|
)
|
|
|
|
# configure double precision
|
|
(
|
|
cd "${pkgname}-${pkgver}-double"
|
|
${_default_configure} --enable-sse2 --enable-avx
|
|
# NOTE: fix overlinking
|
|
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
|
)
|
|
|
|
# configure long-double precission
|
|
(
|
|
cd "${pkgname}-${pkgver}-long-double"
|
|
${_default_configure} --enable-long-double
|
|
# NOTE: fix overlinking
|
|
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
|
)
|
|
|
|
# configure quad precision
|
|
(
|
|
cd "${pkgname}-${pkgver}-quad"
|
|
${_default_configure} --disable-mpi --enable-quad-precision
|
|
# NOTE: fix overlinking
|
|
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
|
)
|
|
|
|
make -C "${pkgname}-${pkgver}"
|
|
make -C "${pkgname}-${pkgver}-double"
|
|
make -C "${pkgname}-${pkgver}-long-double"
|
|
make -C "${pkgname}-${pkgver}-quad"
|
|
}
|
|
|
|
package() {
|
|
make DESTDIR="${pkgdir}" install -C "${pkgname}-${pkgver}"
|
|
make DESTDIR="${pkgdir}" install -C "${pkgname}-${pkgver}-double"
|
|
make DESTDIR="${pkgdir}" install -C "${pkgname}-${pkgver}-long-double"
|
|
make DESTDIR="${pkgdir}" install -C "${pkgname}-${pkgver}-quad"
|
|
|
|
cd "${pkgname}-${pkgver}"
|
|
install -vDm 644 {AUTHORS,ChangeLog,NEWS,README,TODO} \
|
|
-t "${pkgdir}/usr/share/doc/${pkgname}"
|
|
install -vDm 644 COPYING \
|
|
-t "${pkgdir}/usr/share/licenses/${pkgname}"
|
|
}
|