[Dist/Tizen] Revise packaging to fix build breaks on gcc 13
[platform/upstream/dldt.git] / packaging / openvino.spec
index a3a340c..6c3d782 100644 (file)
@@ -17,7 +17,7 @@
 
 %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
@@ -27,7 +27,7 @@
 %define install_arch    i686
 %endif
 
-%ifarch armv7l
+%ifarch armv7l armv7hl
 %define install_arch    armv7l
 %endif
 
@@ -58,9 +58,19 @@ 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,
@@ -74,6 +84,7 @@ availability to the developer community to innovate deep learning and AI solutio
 %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.
@@ -83,6 +94,8 @@ This contains corresponding header files and static archives.
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
+%patch3 -p1
 cp %{SOURCE1} .
 cp %{SOURCE1001} ./inference-engine/thirdparty
 cp %{SOURCE1002} ./inference-engine/thirdparty
@@ -98,24 +111,26 @@ popd
 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 \
@@ -142,17 +157,20 @@ 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/libngraph.a %{buildroot}%{_libdir}
-install -m 644 lib/libinference_engine_s.a %{buildroot}%{_libdir}
-install -m 644 lib/libhelpers.a %{buildroot}%{_libdir}
-install -m 644 lib/libpugixml.a %{buildroot}%{_libdir}
-install -m 644 lib/libfluid.a %{buildroot}%{_libdir}
+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
@@ -160,6 +178,7 @@ install -m 644 include/*.h* %{buildroot}%{_includedir}
 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