summaryrefslogtreecommitdiffstats
path: root/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2022.1.1.bb
diff options
context:
space:
mode:
Diffstat (limited to 'dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2022.1.1.bb')
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2022.1.1.bb146
1 files changed, 146 insertions, 0 deletions
diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2022.1.1.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2022.1.1.bb
new file mode 100644
index 00000000..8acd72f7
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2022.1.1.bb
@@ -0,0 +1,146 @@
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/1.1;lfs=0 \
8 https://download.01.org/opencv/master/openvinotoolkit/thirdparty/unified/VPU/usb-ma2x8x/firmware_usb-ma2x8x_1875.zip;name=usb_ma2x8x \
9 https://download.01.org/opencv/master/openvinotoolkit/thirdparty/unified/VPU/pcie-ma2x8x/firmware_pcie-ma2x8x_1875.zip;name=pcie_ma2x8x \
10 git://github.com/openvinotoolkit/oneDNN.git;protocol=https;destsuffix=git/src/plugins/intel_cpu/thirdparty/mkl-dnn;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;branch=master \
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/protocolbuffers/protobuf.git;protocol=https;destsuffix=git/thirdparty/protobuf/protobuf;name=protobuf;branch=3.18.x \
15 git://github.com/nlohmann/json.git;protocol=https;destsuffix=git/thirdparty/json/nlohmann_json;name=json;branch=master \
16 git://github.com/pboettch/json-schema-validator.git;protocol=https;destsuffix=git/thirdparty/json/nlohmann_json_schema_validator;name=jsonschema;branch=main \
17 git://github.com/openvinotoolkit/open_model_zoo.git;protocol=https;destsuffix=git/thirdparty/open_model_zoo;name=omz;branch=releases/2022/1 \
18 file://0001-inference-engine-use-system-installed-packages.patch \
19 file://0002-inference-engine-installation-fixes.patch \
20 file://cython-cmake.patch \
21 "
22
23SRCREV = "39aba80957e10b66a6c8f3f590c2d90e8238ca75"
24SRCREV_mkl = "82ca2f931c1d588b67d154d873136d4af1ffb3a8"
25SRCREV_onednn = "9e2bf22e51726ad36ddae90c7caf2898d124baa6"
26SRCREV_xbyak = "8d1e41b650890080fb77548372b6236bbd4079f9"
27SRCREV_pybind11 = "d71ba0cb73616c493d35699a8a9283aa64ef0f6b"
28SRCREV_protobuf = "6c6b0778b70f35f93c2f0dee30e5d12ad2a83eea"
29SRCREV_json = "fec56a1a16c6e1c1b1f4e116a20e79398282626c"
30SRCREV_jsonschema = "b1ef8628326cf0b53612f12784fd245e5e4382f1"
31SRCREV_omz = "0c94071faef095f544a228f8455718fbd653950e"
32
33SRC_URI[usb_ma2x8x.sha256sum] = "e65fcc1c6b0f3e9d814e53022c212ec0a2b83197a9df38badb298fb85ccf3acf"
34SRC_URI[pcie_ma2x8x.sha256sum] = "b11368fec2036d96fb703d2a40b171184fefe89f27e74a988ef1ca34260a2bc5"
35
36LICENSE = "Apache-2.0 & MIT & BSD-3-Clause"
37LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \
38 file://thirdparty/xbyak/COPYRIGHT;md5=03532861dad9003cc2c17f14fc7a4efa \
39 file://thirdparty/cnpy/LICENSE;md5=689f10b06d1ca2d4b1057e67b16cd580 \
40 file://thirdparty/protobuf/protobuf/LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b \
41 file://thirdparty/json/nlohmann_json/LICENSE.MIT;md5=441793d25a658d58d79a1f87516a6ad1 \
42 file://thirdparty/json/nlohmann_json_schema_validator/LICENSE;md5=c441d022da1b1663c70181a32225d006 \
43 file://thirdparty/open_model_zoo/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \
44 file://src/plugins/intel_cpu/thirdparty/mkl-dnn/LICENSE;md5=b48e3de3bfd47c27882a0d85b20823f5 \
45 file://src/plugins/intel_gpu/thirdparty/onednn_gpu/LICENSE;md5=b48e3de3bfd47c27882a0d85b20823f5 \
46 file://src/bindings/python/thirdparty/pybind11/LICENSE;md5=774f65abd8a7fe3124be2cdf766cd06f \
47"
48
49inherit cmake python3native
50
51S = "${WORKDIR}/git"
52EXTRA_OECMAKE += " \
53 -DENABLE_OPENCV=OFF \
54 -DOpenCV_DIR=${STAGING_LIBDIR}/cmake \
55 -DENABLE_PLUGIN_RPATH=0 \
56 -DENABLE_INTEL_GNA=OFF \
57 -DENABLE_SYSTEM_TBB=ON \
58 -DPYTHON_EXECUTABLE=${PYTHON} \
59 -DCMAKE_BUILD_TYPE=RelWithDebInfo \
60 -DTHREADING=TBB -DTBB_DIR="${STAGING_LIBDIR}/cmake/TBB" \
61 -DENABLE_SAMPLES=ON \
62 -DTREAT_WARNING_AS_ERROR=FALSE \
63 -DENABLE_DATA=FALSE \
64 -DENABLE_SYSTEM_PUGIXML=TRUE \
65 -DENABLE_SYSTEM_PROTOBUF=TRUE \
66 -DProtobuf_LIBRARIES=protobuf \
67 -DProtobuf_LITE_LIBRARIES=protobuf-lite \
68 -DProtobuf_INCLUDE_DIR=${STAGING_INCDIR} \
69 -DSYSTEM_PROTOC=${STAGING_BINDIR_NATIVE}/protoc \
70 -DENABLE_OV_ONNX_FRONTEND=FALSE \
71 -DUSE_BUILD_TYPE_SUBFOLDER=OFF \
72 "
73
74DEPENDS += "libusb1 \
75 ade \
76 opencv \
77 pugixml \
78 protobuf \
79 protobuf-native \
80 tbb \
81 zlib \
82 "
83
84COMPATIBLE_HOST = '(x86_64).*-linux'
85COMPATIBLE_HOST:libc-musl = "null"
86
87PACKAGECONFIG ?= "vpu opencl"
88PACKAGECONFIG[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,"
89PACKAGECONFIG[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"
90PACKAGECONFIG[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"
91PACKAGECONFIG[verbose] = "-DVERBOSE_BUILD=1,-DVERBOSE_BUILD=0"
92
93do_configure:prepend() {
94 # Dont set PROJECT_ROOT_DIR
95 sed -i -e 's:\${CMAKE_CURRENT_SOURCE_DIR}::;' ${S}/src/CMakeLists.txt
96}
97
98do_install:append() {
99 if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then
100 install -d ${D}${datadir}/openvino
101 mv ${D}/usr/samples/python ${D}${datadir}/openvino/
102
103 install -d ${D}${PYTHON_SITEPACKAGES_DIR}
104 mv ${D}${prefix}/python/${PYTHON_DIR}/openvino ${D}${PYTHON_SITEPACKAGES_DIR}/
105 mv ${D}${prefix}/python/${PYTHON_DIR}/ngraph ${D}${PYTHON_SITEPACKAGES_DIR}/
106
107 rm -rf ${D}${prefix}/python
108 fi
109
110 rm -rf ${D}${prefix}/deployment_tools
111
112 # Remove the samples source directory. We install the built samples.
113 rm -rf ${D}/usr/samples
114
115 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
116}
117
118# Otherwise e.g. ros-openvino-toolkit-dynamic-vino-sample when using dldt-inference-engine uses dldt-inference-engine WORKDIR
119# instead of RSS
120SSTATE_SCAN_FILES:append = " *.cmake"
121
122FILES:${PN}-dev = "${includedir} \
123 ${libdir}/cmake \
124 "
125
126FILES:${PN} += "${libdir}/lib*${SOLIBSDEV} \
127 ${datadir}/openvino \
128 ${libdir}/custom_kernels \
129 ${libdir}/plugins.xml \
130 ${libdir}/cache.json \
131 "
132
133# Move inference engine samples into a separate package
134PACKAGES =+ "${PN}-samples ${PN}-vpu-firmware"
135
136FILES:${PN}-samples = "${datadir}/openvino \
137 ${bindir} \
138 "
139FILES:${PN}-vpu-firmware += "${libdir}/*.mvcmd"
140
141# Package for inference engine python API
142PACKAGES =+ "${PN}-${PYTHON_PN}"
143
144FILES:${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}"
145
146UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"