DESCRIPTION = "OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version."
SUMMARY = "OpenBLAS : An optimized BLAS library"
HOMEPAGE = "http://www.openblas.net/"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=5adf4792c949a00013ce25d476a2abc0"

SRC_URI = "\
    git://github.com/xianyi/OpenBLAS;protocol=https;branch=develop \
"

# tag 0.3.20
SRCREV = "0b678b19dc03f2a999d6e038814c4c50b9640a4e"
S = "${WORKDIR}/git"

DEPENDS += "libgfortran"

def map_arch(d):
    import re
    arch = d.getVar('TARGET_ARCH', True)
    if   re.match('i.86$', arch):    return 'ATOM'
    elif re.match('x86_64$', arch):  return 'ATOM'
    elif re.match('aarch32$', arch): return 'CORTEXA9'
    elif re.match('aarch64$', arch): return 'ARMV8'
    return 'CORTEXA15'

def map_bits(d):
    import re
    arch = d.getVar('TARGET_ARCH', True)
    if   re.match('i.86$', arch):    return 32
    elif re.match('x86_64$', arch):  return 64
    elif re.match('aarch32$', arch): return 32
    elif re.match('aarch64$', arch): return 64
    return 32

EXTRA_OEMAKE = "\
    BUILD_WITHOUT_LAPACK=OFF \
    HOSTCC=${BUILD_CC} \
    CROSS=1 \
    CROSS_SUFFIX=${TARGET_PREFIX} \
    BINARY=${@map_bits(d)} \
    TARGET=${@map_arch(d)} \
    OPENBLAS_LIBRARY_DIR=${D}${libdir} \
    DYNAMIC_ARCH=ON \
    BUILD_STATIC_LIBS=ON \
    USE_LOCKING=1 \
    USE_THREAD=0 \
"

do_install() {
    oe_runmake PREFIX=${D}${prefix} install
    rm -rf ${D}${bindir} ${D}${libdir}/cmake
    # fixup pkgconfig file
    sed -i -e "s#libdir=/.*#libdir=${libdir}#" ${D}${libdir}/pkgconfig/openblas.pc
    sed -i -e "s#includedir=/.*#includedir=${includedir}#" ${D}${libdir}/pkgconfig/openblas.pc

    cat  ${D}${libdir}/pkgconfig/openblas.pc

}

FILES:${PN}-dev = "${includedir} ${libdir}/lib${PN}.so"
FILES:${PN}     = "${libdir}/*"