blob: ee0b67925a0b26775d37ac9e96aa35c3ceddae24 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
# Contributor: William Pitcock <nenolod@dereferenced.org>
# Maintainer: William Pitcock <nenolod@dereferenced.org>
pkgname=fftw
pkgver=3.3.6p1
pkgrel=0
pkgdesc="fastest fourier transform in the west"
url="http://www.fftw.org/"
license="GPL"
depends=
makedepends="texinfo"
install=
# order of the libs split functions are important because of lib naming
subpackages="$pkgname-dev $pkgname-doc $pkgname-single-libs:single
$pkgname-long-double-libs:long_double $pkgname-double-libs:double"
srcpkgver=${pkgver//p/-pl}
source="http://www.fftw.org/$pkgname-$srcpkgver.tar.gz
cycle.h.patch"
arch="all"
_precision="single double long-double"
builddir="$srcdir/$pkgname-$srcpkgver"
prepare() {
cd "$builddir"
default_prepare || return 1
for i in $_precision; do
cp -r "$builddir" $srcdir/$i
done
}
build() {
for i in $_precision; do
case "$i" in
single)_cf="--enable-single";;
double)_cf="";;
long-double)_cf="--enable-long-double";;
esac
case "$i--$CARCH" in
single--x86_64 | double--x86_64)
_cf="$_cf --enable-sse2 --enable-avx";;
single--arm* | single--aarch64)
_cf="$_cf --enable-neon";;
esac
msg "Building for $i precision ($_cf)"
cd "$srcdir"/$i
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--enable-shared \
--enable-threads \
$_cf \
|| return 1
make || return 1
done
}
package() {
for i in $_precision; do
cd "$srcdir"/$i
make DESTDIR="$pkgdir" install || return 1
done
}
single() {
mkdir -p "$subpkgdir"/usr/lib || return 1
mv "$pkgdir"/usr/lib/libfftw3f*.so* \
"$subpkgdir"/usr/lib/ || return 1
}
double() {
mkdir -p "$subpkgdir"/usr/lib || return 1
mv "$pkgdir"/usr/lib/libfftw3*.so* \
"$subpkgdir"/usr/lib/ || return 1
}
long_double() {
mkdir -p "$subpkgdir"/usr/lib || return 1
mv "$pkgdir"/usr/lib/libfftw3l*.so* \
"$subpkgdir"/usr/lib/ || return 1
}
md5sums="682a0e78d6966ca37c7446d4ab4cc2a1 fftw-3.3.6-pl1.tar.gz
81537a7e16451d3e66c025cbaba58973 cycle.h.patch"
sha256sums="1ef4aa8427d9785839bc767f3eb6a84fcb5e9a37c31ed77a04e7e047519a183d fftw-3.3.6-pl1.tar.gz
1f2e555ceda21146bf7fce408f1a9a12782c646df6d23f3e2202ec7342c4ad01 cycle.h.patch"
sha512sums="e2ed33fcb068a36a841bbd898d12ceec74f4e9a0a349e7c55959878b50224a69a0f87656347dad7d7e1448ebc50d28d8f34f6da7992c43072d26942fd97c0134 fftw-3.3.6-pl1.tar.gz
d71ffb0aa658f7b22239491698426f4a97e657abc953020745f7581d2937a062a279eaa5980cd7f7fe2e8425a032eafc3d4c0cffdc79a83a3aef382c988d739a cycle.h.patch"
|