%define _extra_cmake_flags %{_cmake_lib_suffix_flag} %{_cmake_sse_support_flag} -DLINUX_OS_NAME="Tizen %{tizen_full_version}"
-%ifarch x86_64 i686 armv7l aarch64
+%ifarch x86_64 i686 armv7l aarch64 armv7hl
%ifarch x86_64
%define install_arch intel64
%define install_arch i686
%endif
-%ifarch armv7l
+%ifarch armv7l armv7hl
%define install_arch armv7l
%endif
Source1: %{name}.manifest
Source1001: %{external_ade_archive}.tar.gz
Source1002: %{external_ngraph_archive}.tar.gz
+Source1003: openvino.pc.in
Patch0: 0001-CMake-Do-not-call-get_linux_name-when-LINUX_OS_NAME-.patch
Patch1: 0002-CMake-Add-a-variable-to-resolve-dependency-on-TBB-us.patch
+Patch2: 0003-VPU-CMake-Add-a-cmake-option-to-skip-downloading-MVN.patch
+Patch3: 0004-Tizen-Fix-build-breaks-on-Tizen-GCC-13.patch
BuildRequires: cmake
BuildRequires: pkgconfig(libtbb)
+BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkg-config
+Requires: intel-mvnc-firmware
+## Please note that when you include openvino in a Tizen image (via mic/tic),
+## you need to specify firmware type instead of intel-mvnc-firmware or
+## relying on dependency resolution.
+## E.g., add "mvnc-2x8x-firmware" to image explicitly.
+## If you want to support NCS 1 and 2 simultaneously, install both firmware
+## packages.
%description
OpenVINO™ toolkit, short for Open Visual Inference and Neural network Optimization toolkit,
%package devel
Summary: Development package for OpenVINO™ Toolkit
Requires: %{name} = %{version}-%{release}
+Recommends: mvnc-2x8x-firmware
%description devel
Development package for Open Visual Inference and Neural network Optimization toolkit.
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%patch3 -p1
cp %{SOURCE1} .
cp %{SOURCE1001} ./inference-engine/thirdparty
cp %{SOURCE1002} ./inference-engine/thirdparty
+cp %{SOURCE1003} .
pushd inference-engine
pushd thirdparty
tar zxf %{external_ade_archive}.tar.gz
rm -rf build && mkdir -p build
pushd build
CFLAGS="${CFLAGS:-%optflags}"; export CFLAGS=${CFLAGS/-Wall/};
+CFLAGS=`echo ${CFLAGS} -Wno-format-truncation`
CXXFLAGS="${CXXFLAGS:-%optflags}"; export CXXFLAGS=${CXXFLAGS/-Wall/};
+CXXFLAGS=`echo ${CXXFLAGS} -Wno-format-truncation -Wno-unused-const-variable -Wno-free-nonheap-object -Wno-deprecated-declarations -Wno-array-bounds`
FFLAGS="${FFLAGS:-%optflags}"; export FFLAGS=${FFLAGS/-Wall/};
cmake .. \
-DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \
-DLIB_INSTALL_DIR:PATH=%{_libdir} -DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \
-DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \
- %{?_cmake_skip_rpath} \
- -DBUILD_SHARED_LIBS:BOOL=ON \
- -DUSE_TBB_SYSTEM_DEPS=ON -DBUILD_ADE_DOCUMENTATION=OFF -DBUILD_ADE_TUTORIAL=OFF \
+ %{?_cmake_skip_rpath} -DUSE_TBB_SYSTEM_DEPS=ON -DUSE_MYRIAD_SYSTEM_DEPS=ON \
+ -DENABLE_VPU=ON -DENABLE_MYRIAD=ON -DENABLE_MYRIAD_MVNC_TESTS=OFF -DENABLE_MYRIAD_NO_BOOT=OFF \
+ -DBUILD_ADE_DOCUMENTATION=OFF -DBUILD_ADE_TUTORIAL=OFF \
-DBUILD_PKGCONFIG=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF -DBUILD_TESTS=OFF \
-DCLDNN__INCLUDE_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=Release -DCOVERAGE=OFF \
- -DDEVELOPMENT_PLUGIN_MODE=OFF -DENABLE_VPU=OFF -DENABLE_ADE_TESTING=OFF \
+ -DDEVELOPMENT_PLUGIN_MODE=OFF-DENABLE_ADE_TESTING=OFF \
-DENABLE_AFFINITY_GENERATOR=OFF -DENABLE_ALTERNATIVE_TEMP=OFF -DENABLE_CLDNN=OFF \
-DENABLE_CLDNN_BUILD=OFF -DENABLE_CLDNN_TESTS=OFF -DENABLE_CPPCHECK=OFF -DENABLE_CPPLINT=OFF \
-DENABLE_CPPLINT_REPORT=OFF -DENABLE_CPP_CCT=OFF -DENABLE_DEBUG_SYMBOLS=OFF \
-DENABLE_FUZZING=OFF -DENABLE_GAPI_TESTS=OFF -DENABLE_GNA=OFF -DENABLE_LTO=OFF \
- -DENABLE_MKL_DNN=OFF -DENABLE_MYRIAD=OFF -DENABLE_MYRIAD_MVNC_TESTS=OFF -DENABLE_MYRIAD_NO_BOOT=OFF \
+ -DENABLE_MKL_DNN=OFF \
-DENABLE_OBJECT_DETECTION_TESTS=ON -DENABLE_OPENCV=OFF -DENABLE_PLUGIN_RPATH=OFF \
-DENABLE_PROFILING_ITT=OFF -DENABLE_PROFILING_RAW=OFF -DENABLE_PYTHON=OFF -DENABLE_ROCKHOPER=OFF \
-DENABLE_SAMPLES=OFF -DENABLE_SAMPLES_CORE=OFF -DENABLE_SEGMENTATION_TESTS=OFF -DENABLE_TESTS=ON \
%{__make} %{?_smp_mflags}
popd
popd
+sed -i 's|@VERSION@|%{version}|g' openvino.pc.in
+sed -i 's|@PREFIX@|%{_prefix}|g' openvino.pc.in
+sed -i 's|@LIB_INSTALL_DIR@|%{_libdir}|g' openvino.pc.in
+sed -i 's|@INCLUDE_INSTALL_DIR@|%{_includedir}|g' openvino.pc.in
%install
mkdir -p %{buildroot}%{_libdir}
-mkdir -p %{buildroot}%{_libdir}/tbb
+mkdir -p %{buildroot}%{_libdir}/pkgconfig
+cp openvino.pc.in %{buildroot}%{_libdir}/pkgconfig/openvino.pc
+
pushd inference-engine/bin/%{install_arch}/Release
install -m 644 lib/*.so %{buildroot}%{_libdir}
install -m 644 lib/*.xml %{buildroot}%{_libdir}
-install -m 644 lib/*.a %{buildroot}%{_libdir}/tbb
+rm -rf lib/libstb_image.a
+rm -rf lib/libgflags_nothreads.a
+rm -rf lib/libgtest_main.a
+rm -rf lib/libgtest.a
+rm -rf lib/libgmock_main.a
+rm -rf lib/libgmock.a
+install -m 644 lib/*.a %{buildroot}%{_libdir}
popd
+
mkdir -p %{buildroot}%{_includedir}
mkdir -p %{buildroot}%{_includedir}/builders
mkdir -p %{buildroot}%{_includedir}/cpp
mkdir -p %{buildroot}%{_includedir}/details
+mkdir -p %{buildroot}%{_includedir}/details/os
mkdir -p %{buildroot}%{_includedir}/hetero
mkdir -p %{buildroot}%{_includedir}/multi-device
pushd inference-engine
install -m 644 include/builders/*.h* %{buildroot}%{_includedir}/builders/
install -m 644 include/cpp/*.h* %{buildroot}%{_includedir}/cpp/
install -m 644 include/details/*.h* %{buildroot}%{_includedir}/details/
+install -m 644 include/details/os/*.h* %{buildroot}%{_includedir}/details/os/
install -m 644 include/hetero/*.h* %{buildroot}%{_includedir}/hetero/
install -m 644 include/multi-device/*.h* %{buildroot}%{_includedir}/multi-device/
popd
%files devel
%manifest %{name}.manifest
%license LICENSE
-%{_libdir}/tbb/*.a
+%{_libdir}/*.a
+%{_libdir}/pkgconfig/openvino.pc
%{_includedir}/*