blob: 5bc3a6c5e7ef4c20c04f09f9db70e9d1a15f8217 (
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
|
# Maintainer: Jesse R Codling <codling at umich dot edu>
pkgname=aocl-libflame
pkgver=5.2
pkgrel=1
pkgdesc="High-performance object-based library for DLA computations, AOCL branding"
arch=('x86_64')
url="https://github.com/amd/libflame"
license=('custom')
depends=('gcc-libs' 'aocl-utils' "aocl-blis=${pkgver}")
makedepends=('gcc-fortran' 'python' 'cmake' 'ninja')
provides=('lapack' 'lapacke')
conflicts=('lapack' 'lapacke')
_lapackver=3
source=("$pkgname-$pkgver.tar.gz::https://github.com/amd/libflame/archive/$pkgver.tar.gz")
sha256sums=('fb5fe5128f718050c9911443fcf7ed91b60538a40d57084ed0124bb91afabb9b')
# specified generic -march causes build issues
export CFLAGS="${CFLAGS/-march=x86-64/}"
export CXXFLAGS="${CXXFLAGS/-march=x86-64/}"
# path needed to find pre-built AOCL-BLIS
export AOCL_ROOT=/usr/
prepare() {
cd "$srcdir/libflame-$pkgver"
# remove AMD's fortify flag, which duplicate's Arch's
sed -i '/-D_FORTIFY_SOURCE/d' -s CMakeLists.txt
# don't override -mtune from Arch's build flags
sed -i 's/-mtune=native //' -s CMakeLists.txt
# remove "-pie" flag, which breaks shared library builds with newer CMake. see #6
sed -i 's/-pie //' -s CMakeLists.txt
cmake -B newbuild -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DAOCL_ROOT=/usr \
-DBUILD_SHARED_LIBS=ON \
-DLF_ISA_CONFIG=auto \
-DENABLE_AOCL_BLAS=ON \
-DENABLE_AMD_FLAGS=ON
# -DBUILD_TEST=ON # only needed to enable testing
}
build() {
cd "$srcdir/libflame-$pkgver"
cmake --build newbuild
}
# check() { # testing this library takes an exorbitant amount of time
# cd "$srcdir/libflame-$pkgver"
#
# ctest --test-dir newbuild
# }
package() {
cd "$srcdir/libflame-$pkgver/newbuild"
DESTDIR="$pkgdir" ninja install
ln -s /usr/lib/libflame.so $pkgdir/usr/lib/liblapack.so
ln -s /usr/lib/libflame.so $pkgdir/usr/lib/liblapack.so.${_lapackver}
ln -s /usr/lib/libflame.so $pkgdir/usr/lib/liblapacke.so
ln -s /usr/lib/libflame.so $pkgdir/usr/lib/liblapacke.so.${_lapackver}
ln -s /usr/lib/pkgconfig/flame.pc ${pkgdir}/usr/lib/lapack.pc
ln -s /usr/lib/pkgconfig/flame.pc ${pkgdir}/usr/lib/lapacke.pc
}
|