summaryrefslogtreecommitdiffstats
path: root/meta-offline-voice-agent/recipes-blas/openblas/openblas_git.bb
diff options
context:
space:
mode:
authoramanarora_09 <aman.arora9848@gmail.com>2022-07-22 15:58:23 +0200
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2022-07-28 13:58:18 +0000
commiteda84d25d819824d641cf89af1e4d61a5e946744 (patch)
tree38f4b7c34a5b91257518bcbcdc6b96d24f0641b2 /meta-offline-voice-agent/recipes-blas/openblas/openblas_git.bb
parentf206eab5753bd9ee2d5b1126c6ec5a18e75cac89 (diff)
meta-offline-voice-agent: Enable layer for offline voice recognition
- This enables offline voice recognition in AGL - Can successfully run vosk API and vosk websocket server Changes: - Create a new layer: meta-offline-voice-recognition - Create recipes for the the Vosk library, API, websocket server and model - Create feature template for the layer (agl-offline-voice-agent) - Add all required packages to IMAGE_INSTALL - ptest enable recipe python3-vosk-api - Few fixes Bug-AGL: SPEC-4497 Change-Id: Icb290ceee22e2c3a51cbd67f7431701795f1201b Signed-off-by: amanarora_09 <aman.arora9848@gmail.com>
Diffstat (limited to 'meta-offline-voice-agent/recipes-blas/openblas/openblas_git.bb')
-rw-r--r--meta-offline-voice-agent/recipes-blas/openblas/openblas_git.bb61
1 files changed, 61 insertions, 0 deletions
diff --git a/meta-offline-voice-agent/recipes-blas/openblas/openblas_git.bb b/meta-offline-voice-agent/recipes-blas/openblas/openblas_git.bb
new file mode 100644
index 00000000..84e76542
--- /dev/null
+++ b/meta-offline-voice-agent/recipes-blas/openblas/openblas_git.bb
@@ -0,0 +1,61 @@
+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}/*"