[Dist/Tizen] Add rpm spec and manifest files for Tizen OBS/GBS support
[platform/upstream/dldt.git] / packaging / openvino.spec
1 %bcond_with tizen
2 %if %{with tizen}
3
4 %if "%{?_lib}" == "lib64"
5 %define _cmake_lib_suffix_flag %{?_cmake_lib_suffix64}
6 %endif
7
8 %ifarch x86_64
9 %define _cmake_sse_support_flag -DENABLE_SSE42=1
10 %else
11 %define _cmake_sse_support_flag -DENABLE_SSE42=0
12 %endif
13
14 %define _extra_cmake_flags %{_cmake_lib_suffix_flag} %{_cmake_sse_support_flag} -DLINUX_OS_NAME="Tizen %{tizen_full_version}"
15 %endif
16
17 %define     external_ade_archive        ade-cbe2db61a659c2cc304c3837406f95c39dfa938e
18 %define     external_ngraph_archive     ngraph-0.22.0-rc.2
19
20 Name:           openvino
21 Summary:        OpenVINO™ Toolkit - Deep Learning Deployment Toolkit
22 Version:        2019R3
23 Release:        0
24 Group:          Development/Libraries
25 Packager:       Wook Song <wook16.song@samsung.com>
26 License:        Apache-2.0
27 Source0:        %{name}-%{version}.tar.gz
28 Source1:        %{name}.manifest
29 Source1001:     %{external_ade_archive}.tar.gz
30 Source1002:     %{external_ngraph_archive}.tar.gz
31 Patch0:         0001-CMake-Do-not-call-get_linux_name-when-LINUX_OS_NAME-.patch
32 Patch1:         0002-CMake-Add-a-variable-to-resolve-dependency-on-TBB-us.patch
33 BuildRequires:  cmake
34 BuildRequires:  pkgconfig(libtbb)
35 BuildRequires:  pkg-config
36
37 %description
38 OpenVINO™ toolkit, short for Open Visual Inference and Neural network Optimization toolkit,
39 provides developers with improved neural network performance on a variety of Intel® processors
40 and helps them further unlock cost-effective, real-time vision applications.
41 The toolkit enables deep learning inference and easy heterogeneous execution across multiple
42 Intel® platforms (CPU, Intel® Processor Graphics)—providing implementations across cloud
43 architectures to edge devices. This open source distribution provides flexibility and
44 availability to the developer community to innovate deep learning and AI solutions.
45
46 %package devel
47 Summary:        Development package for OpenVINO™ Toolkit
48 Requires:       %{name} = %{version}-%{release}
49
50 %description devel
51 Development package for Open Visual Inference and Neural network Optimization toolkit.
52 This contains corresponding header files and static archives.
53
54 %prep
55 %setup -q
56 %patch0 -p1
57 %patch1 -p1
58 cp %{SOURCE1} .
59 cp %{SOURCE1001} ./inference-engine/thirdparty
60 cp %{SOURCE1002} ./inference-engine/thirdparty
61 pushd inference-engine
62 pushd thirdparty
63 tar zxf %{external_ade_archive}.tar.gz
64 mv %{external_ade_archive}/* ade/
65 tar zxf %{external_ngraph_archive}.tar.gz
66 mv %{external_ngraph_archive}/* ngraph/
67 rm -rf *.tar.gz %{external_ade_archive} %{external_ngraph_archive}
68 popd
69 rm -rf build && mkdir -p build
70 pushd build
71 CFLAGS="${CFLAGS:-%optflags}"; export CFLAGS=${CFLAGS/-Wall/};
72 CXXFLAGS="${CXXFLAGS:-%optflags}"; export CXXFLAGS=${CXXFLAGS/-Wall/};
73 FFLAGS="${FFLAGS:-%optflags}"; export FFLAGS=${FFLAGS/-Wall/};
74 cmake .. \
75         -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
76         -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} -DINCLUDE_INSTALL_DIR:PATH=%{_includedir} \
77         -DLIB_INSTALL_DIR:PATH=%{_libdir} -DSYSCONF_INSTALL_DIR:PATH=%{_sysconfdir} \
78         -DSHARE_INSTALL_PREFIX:PATH=%{_datadir} \
79         %{?_cmake_skip_rpath} \
80         -DBUILD_SHARED_LIBS:BOOL=ON \
81         -DUSE_TBB_SYSTEM_DEPS=ON -DBUILD_ADE_DOCUMENTATION=OFF -DBUILD_ADE_TUTORIAL=OFF \
82         -DBUILD_PKGCONFIG=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_TESTING=OFF -DBUILD_TESTS=OFF \
83         -DCLDNN__INCLUDE_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=Release -DCOVERAGE=OFF \
84         -DDEVELOPMENT_PLUGIN_MODE=OFF -DENABLE_VPU=OFF -DENABLE_ADE_TESTING=OFF \
85         -DENABLE_AFFINITY_GENERATOR=OFF -DENABLE_ALTERNATIVE_TEMP=OFF -DENABLE_CLDNN=OFF \
86         -DENABLE_CLDNN_BUILD=OFF -DENABLE_CLDNN_TESTS=OFF -DENABLE_CPPCHECK=OFF -DENABLE_CPPLINT=OFF \
87         -DENABLE_CPPLINT_REPORT=OFF -DENABLE_CPP_CCT=OFF -DENABLE_DEBUG_SYMBOLS=OFF \
88         -DENABLE_FUZZING=OFF -DENABLE_GAPI_TESTS=OFF -DENABLE_GNA=OFF -DENABLE_LTO=OFF \
89         -DENABLE_MKL_DNN=OFF -DENABLE_MYRIAD=OFF -DENABLE_MYRIAD_MVNC_TESTS=OFF -DENABLE_MYRIAD_NO_BOOT=OFF \
90         -DENABLE_OBJECT_DETECTION_TESTS=ON -DENABLE_OPENCV=OFF -DENABLE_PLUGIN_RPATH=OFF \
91         -DENABLE_PROFILING_ITT=OFF -DENABLE_PROFILING_RAW=OFF -DENABLE_PYTHON=OFF -DENABLE_ROCKHOPER=OFF \
92         -DENABLE_SAMPLES=OFF -DENABLE_SAMPLES_CORE=OFF -DENABLE_SEGMENTATION_TESTS=OFF -DENABLE_TESTS=ON \
93         -DTREAT_WARNING_AS_ERROR=OFF %{_extra_cmake_flags}
94 popd
95 popd
96
97 %build
98 pushd inference-engine
99 pushd build
100 %{__make} %{?_smp_mflags}
101 popd
102 popd
103
104 %install
105 mkdir -p %{buildroot}%{_libdir}
106 mkdir -p %{buildroot}%{_libdir}/tbb
107 pushd inference-engine/bin/%{_arch}/Release
108 install -m 644 lib/*.so %{buildroot}%{_libdir}
109 install -m 644 lib/*.xml %{buildroot}%{_libdir}
110 install -m 644 lib/*.a %{buildroot}%{_libdir}/tbb
111 popd
112 mkdir -p %{buildroot}%{_includedir}
113 mkdir -p %{buildroot}%{_includedir}/builders
114 mkdir -p %{buildroot}%{_includedir}/cpp
115 mkdir -p %{buildroot}%{_includedir}/details
116 mkdir -p %{buildroot}%{_includedir}/hetero
117 mkdir -p %{buildroot}%{_includedir}/multi-device
118 pushd inference-engine
119 install -m 644 include/*.h* %{buildroot}%{_includedir}
120 install -m 644 include/builders/*.h* %{buildroot}%{_includedir}/builders/
121 install -m 644 include/cpp/*.h* %{buildroot}%{_includedir}/cpp/
122 install -m 644 include/details/*.h* %{buildroot}%{_includedir}/details/
123 install -m 644 include/hetero/*.h* %{buildroot}%{_includedir}/hetero/
124 install -m 644 include/multi-device/*.h* %{buildroot}%{_includedir}/multi-device/
125 popd
126
127 %check
128 pushd inference-engine/bin/%{_arch}/Release
129 LD_LIBRARY_PATH=./lib ./InferenceEngineUnitTests
130 popd
131
132 %post
133 %{_sbindir}/ldconfig
134
135 %postun
136 %{_sbindir}/ldconfig
137
138 %files
139 %manifest %{name}.manifest
140 %license LICENSE
141 %{_libdir}/*.so
142 %{_libdir}/*.xml
143
144 %files devel
145 %manifest %{name}.manifest
146 %license LICENSE
147 %{_libdir}/tbb/*.a
148 %{_includedir}/*