summaryrefslogtreecommitdiffstats
path: root/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2022.2.0.bb
diff options
context:
space:
mode:
Diffstat (limited to 'dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2022.2.0.bb')
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2022.2.0.bb144
1 files changed, 144 insertions, 0 deletions
diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2022.2.0.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2022.2.0.bb
new file mode 100644
index 00000000..71c45082
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2022.2.0.bb
@@ -0,0 +1,144 @@
1SUMMARY = "OpenVINO(TM) Toolkit - Deep Learning Deployment Toolkit"
2HOMEPAGE = "https://github.com/opencv/dldt"
3DESCRIPTION = "This toolkit allows developers to deploy pre-trained \
4deep learning models through a high-level C++ Inference Engine API \
5integrated with application logic."
6
7SRC_URI = "git://github.com/openvinotoolkit/openvino.git;protocol=https;branch=releases/2022/2;lfs=0 \
8 https://download.01.org/opencv/master/openvinotoolkit/thirdparty/unified/VPU/usb-ma2x8x/firmware_usb-ma2x8x_20220307_34.zip;name=usb_ma2x8x \
9 https://download.01.org/opencv/master/openvinotoolkit/thirdparty/unified/VPU/pcie-ma2x8x/firmware_pcie-ma2x8x_20220307_34.zip;name=pcie_ma2x8x \
10 git://github.com/openvinotoolkit/oneDNN.git;protocol=https;destsuffix=git/src/plugins/intel_cpu/thirdparty/onednn;name=mkl;nobranch=1 \
11 git://github.com/oneapi-src/oneDNN.git;protocol=https;destsuffix=git/src/plugins/intel_gpu/thirdparty/onednn_gpu;name=onednn;nobranch=1 \
12 git://github.com/herumi/xbyak.git;protocol=https;destsuffix=git/thirdparty/xbyak;name=xbyak;branch=master \
13 git://github.com/pybind/pybind11.git;protocol=https;destsuffix=git/src/bindings/python/thirdparty/pybind11;name=pybind11;branch=master \
14 git://github.com/nlohmann/json.git;protocol=https;destsuffix=git/thirdparty/json/nlohmann_json;name=json;branch=master \
15 git://github.com/pboettch/json-schema-validator.git;protocol=https;destsuffix=git/thirdparty/json/nlohmann_json_schema_validator;name=jsonschema;branch=main \
16 git://github.com/openvinotoolkit/open_model_zoo.git;protocol=https;destsuffix=git/thirdparty/open_model_zoo;name=omz;branch=releases/2022/2 \
17 file://0001-Use-system-installed-dependencies.patch \
18 file://0002-Fix-installation-of-binaries-and-libraries.patch \
19 file://0003-Fix-build-issues-due-to-gflag-and-zlib.patch \
20 file://cython-cmake.patch \
21 "
22
23SRCREV = "af16ea1d79a494503a54cff67a2856094e447931"
24SRCREV_mkl = "2a749c577f8a841a396d4bd46eaf311b7e7dc089"
25SRCREV_onednn = "efbf9b5e8c12666314f3484ce279cee0a1a91a44"
26SRCREV_xbyak = "8d1e41b650890080fb77548372b6236bbd4079f9"
27SRCREV_pybind11 = "d71ba0cb73616c493d35699a8a9283aa64ef0f6b"
28SRCREV_json = "fec56a1a16c6e1c1b1f4e116a20e79398282626c"
29SRCREV_jsonschema = "b1ef8628326cf0b53612f12784fd245e5e4382f1"
30SRCREV_omz = "1919ae9d42c19d8f3bafc2417256ab3a67b6db79"
31
32SRC_URI[usb_ma2x8x.sha256sum] = "877c4e1616d14a94dd2764f4f32f1c1aa2180dcd64ad1823b31efdc3f56ad593"
33SRC_URI[pcie_ma2x8x.sha256sum] = "aabff3d817431792ef9e17056448979c2cdbb484ad4b0af9e68cb874ee10eef5"
34
35LICENSE = "Apache-2.0 & MIT & BSD-3-Clause"
36LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \
37 file://thirdparty/xbyak/COPYRIGHT;md5=03532861dad9003cc2c17f14fc7a4efa \
38 file://thirdparty/cnpy/LICENSE;md5=689f10b06d1ca2d4b1057e67b16cd580 \
39 file://thirdparty/json/nlohmann_json/LICENSE.MIT;md5=441793d25a658d58d79a1f87516a6ad1 \
40 file://thirdparty/json/nlohmann_json_schema_validator/LICENSE;md5=c441d022da1b1663c70181a32225d006 \
41 file://thirdparty/open_model_zoo/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \
42 file://src/plugins/intel_cpu/thirdparty/onednn/LICENSE;md5=b48e3de3bfd47c27882a0d85b20823f5 \
43 file://src/plugins/intel_gpu/thirdparty/onednn_gpu/LICENSE;md5=b48e3de3bfd47c27882a0d85b20823f5 \
44 file://src/bindings/python/thirdparty/pybind11/LICENSE;md5=774f65abd8a7fe3124be2cdf766cd06f \
45"
46
47inherit cmake python3native
48
49S = "${WORKDIR}/git"
50EXTRA_OECMAKE += " \
51 -DENABLE_OPENCV=OFF \
52 -DOpenCV_DIR=${STAGING_LIBDIR}/cmake \
53 -DENABLE_PLUGIN_RPATH=0 \
54 -DENABLE_INTEL_GNA=OFF \
55 -DENABLE_SYSTEM_TBB=ON \
56 -DPYTHON_EXECUTABLE=${PYTHON} \
57 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
58 -DTHREADING=TBB -DTBB_DIR="${STAGING_LIBDIR}/cmake/TBB" \
59 -DENABLE_SAMPLES=ON \
60 -DTREAT_WARNING_AS_ERROR=FALSE \
61 -DENABLE_DATA=FALSE \
62 -DENABLE_SYSTEM_PUGIXML=TRUE \
63 -DENABLE_SYSTEM_PROTOBUF=TRUE \
64 -DProtobuf_LIBRARIES=protobuf \
65 -DProtobuf_LITE_LIBRARIES=protobuf-lite \
66 -DProtobuf_INCLUDE_DIR=${STAGING_INCDIR} \
67 -DSYSTEM_PROTOC=${STAGING_BINDIR_NATIVE}/protoc \
68 -DENABLE_OV_ONNX_FRONTEND=FALSE \
69 -DUSE_BUILD_TYPE_SUBFOLDER=OFF \
70 "
71
72DEPENDS += "libusb1 \
73 ade \
74 opencv \
75 pugixml \
76 protobuf \
77 protobuf-native \
78 tbb \
79 zlib \
80 "
81
82COMPATIBLE_HOST = '(x86_64).*-linux'
83COMPATIBLE_HOST:libc-musl = "null"
84
85PACKAGECONFIG ?= "vpu opencl"
86PACKAGECONFIG[opencl] = "-DENABLE_INTEL_GPU=TRUE -DOpenCL_INCLUDE_DIR=${STAGING_INCDIR} -DOpenCL_LIBRARY=${STAGING_LIBDIR}/libOpenCL.so, -DENABLE_INTEL_GPU=FALSE, ocl-icd opencl-headers opencl-clhpp libva,"
87PACKAGECONFIG[python3] = "-DENABLE_PYTHON=ON -DPYTHON_LIBRARY=${PYTHON_LIBRARY} -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR}, -DENABLE_PYTHON=OFF, python3-cython-native patchelf-native, python3 python3-numpy python3-opencv python3-progress python3-cython"
88PACKAGECONFIG[vpu] = "-DENABLE_INTEL_MYRIAD=ON -DVPU_FIRMWARE_USB-MA2X8X_FILE=../mvnc/usb-ma2x8x.mvcmd -DVPU_FIRMWARE_PCIE-MA2X8X_FILE=../mvnc/pcie-ma2x8x.mvcmd,-DENABLE_INTEL_MYRIAD=OFF,,${PN}-vpu-firmware"
89PACKAGECONFIG[verbose] = "-DVERBOSE_BUILD=1,-DVERBOSE_BUILD=0"
90
91do_configure:prepend() {
92 # Dont set PROJECT_ROOT_DIR
93 sed -i -e 's:\${CMAKE_CURRENT_SOURCE_DIR}::;' ${S}/src/CMakeLists.txt
94}
95
96do_install:append() {
97 if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then
98 install -d ${D}${datadir}/openvino
99 mv ${D}/usr/samples/python ${D}${datadir}/openvino/
100
101 install -d ${D}${PYTHON_SITEPACKAGES_DIR}
102 mv ${D}${prefix}/python/${PYTHON_DIR}/openvino ${D}${PYTHON_SITEPACKAGES_DIR}/
103 mv ${D}${prefix}/python/${PYTHON_DIR}/ngraph ${D}${PYTHON_SITEPACKAGES_DIR}/
104
105 rm -rf ${D}${prefix}/python
106 fi
107
108 rm -rf ${D}${prefix}/deployment_tools
109
110 # Remove the samples source directory. We install the built samples.
111 rm -rf ${D}/usr/samples
112
113 sed -i -e 's:^#include.*imp.hpp"$:#include "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/git/src/plugins/intel_cpu/src/nodes/proposal_imp.hpp":g;' ${B}/src/plugins/intel_cpu/cross-compiled/proposal_imp_disp.cpp
114}
115
116# Otherwise e.g. ros-openvino-toolkit-dynamic-vino-sample when using dldt-inference-engine uses dldt-inference-engine WORKDIR
117# instead of RSS
118SSTATE_SCAN_FILES:append = " *.cmake"
119
120FILES:${PN}-dev = "${includedir} \
121 ${libdir}/cmake \
122 "
123
124FILES:${PN} += "${libdir}/lib*${SOLIBSDEV} \
125 ${datadir}/openvino \
126 ${libdir}/custom_kernels \
127 ${libdir}/plugins.xml \
128 ${libdir}/cache.json \
129 "
130
131# Move inference engine samples into a separate package
132PACKAGES =+ "${PN}-samples ${PN}-vpu-firmware"
133
134FILES:${PN}-samples = "${datadir}/openvino \
135 ${bindir} \
136 "
137FILES:${PN}-vpu-firmware += "${libdir}/*.mvcmd"
138
139# Package for inference engine python API
140PACKAGES =+ "${PN}-${PYTHON_PN}"
141
142FILES:${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}"
143
144UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"