void-packages/srcpkgs/fftw/template
Jürgen Buchmüller 1dc281bccd fftw: enable openmp and fix armv7* build
Remove the tests for CNTVCT for armv7 and CNTVCT_E0 for armv8 when
cross-compiling, because they will fail. Not supporting a possibly
available cycle counter may be less than optimal, while it should work.
2016-08-01 10:06:46 +02:00

77 lines
1.9 KiB
Bash

# Template file for 'fftw'
pkgname=fftw
version=3.3.5
revision=2
hostmakedepends="libtool automake"
makedepends="libgomp-devel"
short_desc="Library for computing the discrete Fourier transform (DFT)"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
license="GPL-2"
homepage="http://www.fftw.org/"
distfiles="${homepage}/fftw-${version}.tar.gz"
checksum=8ecfe1b04732ec3f5b7d279fdb8efcad536d555f9d1e8fabd027037d45ea8bcf
pre_configure() {
sed -e 's,AM_CONFIG_HEADER,AC_CONFIG_HEADERS,g' -i configure.ac
if [ "$CROSS_BUILD" ]; then
# Remove test which does not work when cross compiling
case "$XBPS_TARGET_MACHINE" in
armv[78]*) sed -i configure.ac \
-e "/dnl Check for not-always-available (not quite) cycle counters/,+26d"
esac
fi
autoreconf -fi
}
do_configure() {
local CARGS="--enable-shared --enable-threads --enable-openmp"
case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*) _sse="--enable-sse"; _sse2="--enable-sse2";;
esac
# double precision
mkdir build-double
cd ${wrksrc}/build-double
../configure ${configure_args} ${CARGS} ${_sse2}
# long double precission
mkdir ${wrksrc}/build-long-double
cd ${wrksrc}/build-long-double
../configure ${configure_args} ${CARGS} --enable-long-double
# single precission
mkdir ${wrksrc}/build-single
cd ${wrksrc}/build-single
../configure ${configure_args} ${CARGS} --enable-float ${_sse}
}
do_build() {
for f in double long-double single; do
cd ${wrksrc}/build-${f}
make ${makejobs}
done
}
do_install() {
for f in double long-double single; do
cd ${wrksrc}/build-${f}
make DESTDIR=${DESTDIR} install
done
}
libfftw_package() {
short_desc+=" - runtime libraries"
pkg_install() {
vmove "usr/lib/*.so.*"
}
}
fftw-devel_package() {
depends="libfftw>=${version}_${revision}"
short_desc+=" - Development files"
pkg_install() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
vmove usr/share/info
}
}