packaging: update spec file for acl v19.11 support
[platform/upstream/armnn.git] / packaging / armnn.spec
1 Name:           armnn
2 Version:        19.11
3 Release:        0
4 License:        MIT License
5 Summary:        Arm Neural Networks library
6 Group:          Machine Learning / ML Framework
7 Source0:        %{name}-%{version}.tar.gz
8 Source1001:     %name.manifest
9 ExclusiveArch:  %arm aarch64
10
11 BuildRequires: curl
12 BuildRequires: cmake
13 #BuildRequires: libarmcl-devel
14 BuildRequires: protobuf-devel
15 BuildRequires: icu
16 BuildRequires: libicu-devel
17 BuildRequires: libicu-tzdata
18 %if 0
19 BuildRequires: boost-atomic
20 BuildRequires: boost-chrono
21 BuildRequires: boost-container
22 BuildRequires: boost-context
23 BuildRequires: boost-coroutine
24 BuildRequires: boost-date-time
25 BuildRequires: boost-fiber
26 BuildRequires: boost-filesystem
27 BuildRequires: boost-graph
28 BuildRequires: boost-iostreams
29 BuildRequires: boost-jam
30 BuildRequires: boost-locale
31 BuildRequires: boost-log
32 BuildRequires: boost-math
33 BuildRequires: boost-program-options
34 BuildRequires: boost-random
35 BuildRequires: boost-regex
36 BuildRequires: boost-serialization
37 BuildRequires: boost-signals
38 BuildRequires: boost-system
39 BuildRequires: boost-devel
40 %endif
41 BuildRequires: tensorflow-lite-devel
42 #BuildRequires:libcaffeonacl-devel
43
44 %description
45 Arm Neural Networks Library
46
47 %package -n %{name}-release
48 Summary:        ARM Neural Network library files
49
50 %description -n %{name}-release
51 Summary:        ARM Neural Network library files
52
53 %package -n %{name}-devel
54 Summary:        Userspace interface to ARM Neural Network Library
55
56 %description -n %{name}-devel
57 Summary:        Userspace interface to ARM Neural Network Library
58
59 %package -n %{name}-tools
60 Summary:        Sample application and benchmark binaries to test ARM Neural Network Library
61
62 %description -n %{name}-tools
63 Summary:        Sample application and benchmark binaries to test ARM Neural Network Library
64
65 %prep
66 %setup -q
67 cp %{SOURCE1001} .
68
69 %build
70
71 #compile proto files
72 #mkdir -p %{buildroot}/usr
73 #cp tensorflow/ %{buildroot}/usr -ar
74 #cd %{buildroot}/usr
75 #protoc tensorflow/core/framework/*.proto --cpp_out=.
76 #protoc tensorflow/core/protobuf/*.proto --cpp_out=.
77 #protoc tensorflow/core/lib/core/*.proto --cpp_out=.
78 #cd -
79
80 #build ArmNN
81 cmake -DARMCOMPUTENEON=1                                        \
82       -DARMCOMPUTECL=1                                          \
83       -DCMAKE_SKIP_RPATH=1                                      \
84       -DBUILD_CAFFE_PARSER=1                                    \
85       -DCAFFE_GENERATED_SOURCES=/usr/include                    \
86       -DBUILD_TF_LITE_PARSER=1                                  \
87       -DTF_LITE_GENERATED_PATH=/usr/include/tensorflow/lite/schema      \
88       -DFLATBUFFERS_INCLUDE_PATH=/usr/include/                  \
89       -DBUILD_TESTS=1                                           \
90
91 make
92
93 %install
94 mkdir -p %{buildroot}%{_libdir}
95 mkdir -p %{buildroot}%{_bindir}/armnn
96 mkdir -p %{buildroot}%{_includedir}/armnn
97 mkdir -p %{buildroot}%{_includedir}/armnnCaffeParser
98 mkdir -p %{buildroot}%{_includedir}/armnnTfParser
99
100 #prepare stb
101 mkdir -p %{buildroot}%{_includedir}
102 cp -ar external/stb %{buildroot}%{_includedir}
103
104 install -m 0755 bin/*-Armnn %{buildroot}%{_bindir}/armnn/
105 install -m 0755 bin/ExecuteNetwork %{buildroot}%{_bindir}/armnn/
106 install -m 0755 bin/MultipleNetworksCifar10 %{buildroot}%{_bindir}/armnn/
107 install -m 0755 UnitTests %{buildroot}%{_bindir}/armnn/
108
109 install -m 0644 lib*.so %{buildroot}%{_libdir}/
110 install -m 0644 include/armnn/* %{buildroot}%{_includedir}/armnn/
111 install -m 0644 include/armnnCaffeParser/* %{buildroot}%{_includedir}/armnnCaffeParser/
112 install -m 0644 include/armnnTfParser/* %{buildroot}%{_includedir}/armnnTfParser/
113
114 %post -p /sbin/ldconfig
115 %postun -p /sbin/ldconfig
116
117 %files -n %{name}-release
118 %manifest %{name}.manifest
119 %{_libdir}/*.so
120
121 %files -n %{name}-devel
122 %manifest %{name}.manifest
123 %{_libdir}/*.so
124 %{_includedir}/*
125
126 %files -n %{name}-tools
127 %manifest %{name}.manifest
128 %{_bindir}/armnn/*