summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 0acd07c6819f67f678e488b12d671deb236ecd45 (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
# Maintainer: pingplug <pingplug@foxmail.com>
# Contributor: Jiaxi Hu <sftrytry@gmail.com>

pkgname=mingw-w64-openblas-lapack
_pkgname=OpenBLAS
pkgver=0.2.17
pkgrel=1
pkgdesc="An optimized BLAS library based on GotoBLAS2 1.13 BSD, providing optimized blas, lapack, and cblas. (mingw-w64)"
arch=('any')
url="http://xianyi.github.com/OpenBLAS/"
license=('BSD')
depends=('mingw-w64-crt')
makedepends=('perl' 'mingw-w64-gcc')
provides=('mingw-w64-openblas' 'mingw-w64-blas' 'mingw-w64-lapack' 'mingw-w64-cblas')
conflicts=('mingw-w64-openblas' 'mingw-w64-blas' 'mingw-w64-lapack' 'mingw-w64-cblas')
options=('!buildflags' '!makeflags' '!strip' 'staticlibs')
source=(${_pkgname}-${pkgver}.tar.gz::https://github.com/xianyi/${_pkgname}/archive/v${pkgver}.tar.gz)
md5sums=('664a12807f2a2a7cda4781e3ab2ae0e1')

_architectures="i686-w64-mingw32 x86_64-w64-mingw32"

BUILDFLAG="USE_OPENMP=1 USE_THREAD=1 MAJOR_VERSION=3 NO_LAPACK=0 HOSTCC=gcc BUILD_LAPACK_DEPRECATED=1"

build() {
    cd ${srcdir}
    for _arch in ${_architectures}; do
        cp -a "${_pkgname}-${pkgver}" "${_pkgname}-build-${_arch}"
        pushd "${_pkgname}-build-${_arch}"

        make ${BUILDFLAG} CC=${_arch}-gcc FC=${_arch}-gfortran libs
        make ${BUILDFLAG} CC=${_arch}-gcc FC=${_arch}-gfortran netlib
        make ${BUILDFLAG} CC=${_arch}-gcc FC=${_arch}-gfortran shared
        popd
    done
}

#check() {
#    cd ${srcdir}
#    for _arch in ${_architectures}; do
#        pushd "${_pkgname}-build-${_arch}"
#        make ${BUILDFLAG} CC=${_arch}-gcc FC=${_arch}-gfortran tests
#        popd
#    done
#}

package() {
    cd ${srcdir}
    for _arch in ${_architectures}; do
        pushd "${_pkgname}-build-${_arch}"
        make ${BUILDFLAG} PREFIX="/usr/${_arch}" DESTDIR="${pkgdir}" install
        install -Dm644 libopenblas.dll.a "${pkgdir}/usr/${_arch}/lib"

        ${_arch}-strip --strip-unneeded "${pkgdir}/usr/${_arch}/bin/"*.dll
        ${_arch}-strip -g "${pkgdir}/usr/${_arch}/lib/"*.a

        cd "${pkgdir}/usr/${_arch}/lib/"
        ln -sf libopenblas.dll.a libblas.dll.a
        ln -sf libopenblas.a libblas.a
        ln -sf libopenblas.dll.a libcblas.dll.a
        ln -sf libopenblas.a libcblas.a
        ln -sf libopenblas.dll.a libf77blas.dll.a
        ln -sf libopenblas.a libf77blas.a
        ln -sf libopenblas.dll.a liblapack.dll.a
        ln -sf libopenblas.a liblapack.a
        ln -sf libopenblas.dll.a liblapacke.dll.a
        ln -sf libopenblas.a liblapacke.a

        popd
    done
    
    cd "${_pkgname}-${pkgver}"
    install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
# vim:set ts=2 sw=2 et: