4cd22542194e2ec8a2eab1d48cb17d2cfb48571c
[platform/upstream/armnn.git] / packaging / armnn.spec
1 Name:           armnn
2 Version:        19.02
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: boost-devel
16 #BuildRequires:libcaffeonacl-devel
17
18 %description
19 Arm Neural Networks Library
20
21 %package -n %{name}-release
22 Summary:        ARM Neural Network library files
23
24 %description -n %{name}-release
25 Summary:        ARM Neural Network library files
26
27 %package -n %{name}-devel
28 Summary:        Userspace interface to ARM Neural Network Library
29
30 %description -n %{name}-devel
31 Summary:        Userspace interface to ARM Neural Network Library
32
33 %package -n %{name}-tools
34 Summary:        Sample application and benchmark binaries to test ARM Neural Network Library
35
36 %description -n %{name}-tools
37 Summary:        Sample application and benchmark binaries to test ARM Neural Network Library
38
39 %prep
40 %setup -q
41 cp %{SOURCE1001} .
42
43 %build
44
45 #compile proto files
46 #mkdir -p %{buildroot}/usr
47 #cp tensorflow/ %{buildroot}/usr -ar
48 #cd %{buildroot}/usr
49 #protoc tensorflow/core/framework/*.proto --cpp_out=.
50 #protoc tensorflow/core/protobuf/*.proto --cpp_out=.
51 #protoc tensorflow/core/lib/core/*.proto --cpp_out=.
52 #cd -
53
54 #build ArmNN
55 cmake -DARMCOMPUTENEON=1                                        \
56       -DARMCOMPUTECL=1                                          \
57       -DCMAKE_SKIP_RPATH=1                                      \
58       -DBUILD_CAFFE_PARSER=1                                    \
59       -DCAFFE_GENERATED_SOURCES=/usr/include                    \
60       -DTF_GENERATED_SOURCES=./                                 \
61       -DBUILD_TF_PARSER=1                                       \
62       -DTF_LITE_GENERATED_PATH=./tensorflow/contrib/lite/schema \
63       -DBUILD_TF_LITE_PARSER=1                                  \
64       -DFLATBUFFERS_INCLUDE_PATH=/usr/include/                  \
65       -DBUILD_TESTS=1                                           \
66
67 make
68
69 %install
70 mkdir -p %{buildroot}%{_libdir}
71 mkdir -p %{buildroot}%{_bindir}/armnn
72 mkdir -p %{buildroot}%{_includedir}/armnn
73 mkdir -p %{buildroot}%{_includedir}/armnnCaffeParser
74 mkdir -p %{buildroot}%{_includedir}/armnnTfParser
75
76 #prepare stb
77 mkdir -p %{buildroot}%{_includedir}
78 cp -ar external/stb %{buildroot}%{_includedir}
79
80 install -m 0755 bin/*-Armnn %{buildroot}%{_bindir}/armnn/
81 install -m 0755 bin/ExecuteNetwork %{buildroot}%{_bindir}/armnn/
82 install -m 0755 bin/MultipleNetworksCifar10 %{buildroot}%{_bindir}/armnn/
83 install -m 0755 UnitTests %{buildroot}%{_bindir}/armnn/
84
85 install -m 0644 lib*.so %{buildroot}%{_libdir}/
86 install -m 0644 include/armnn/* %{buildroot}%{_includedir}/armnn/
87 install -m 0644 include/armnnCaffeParser/* %{buildroot}%{_includedir}/armnnCaffeParser/
88 install -m 0644 include/armnnTfParser/* %{buildroot}%{_includedir}/armnnTfParser/
89
90 %post -p /sbin/ldconfig
91 %postun -p /sbin/ldconfig
92
93 %files -n %{name}-release
94 %manifest %{name}.manifest
95 %{_libdir}/*.so
96
97 %files -n %{name}-devel
98 %manifest %{name}.manifest
99 %{_libdir}/*.so
100 %{_includedir}/*
101
102 %files -n %{name}-tools
103 %manifest %{name}.manifest
104 %{_bindir}/armnn/*