forked from pool/armnn
a54685d0bf
* armnn-fix-armv7.patch OBS-URL: https://build.opensuse.org/package/show/science:machinelearning/armnn?expand=0&rev=92
624 lines
22 KiB
RPMSpec
624 lines
22 KiB
RPMSpec
#
|
||
# spec file for package armnn
|
||
#
|
||
# Copyright (c) 2024 SUSE LLC
|
||
#
|
||
# All modifications and additions to the file contributed by third parties
|
||
# remain the property of their copyright owners, unless otherwise agreed
|
||
# upon. The license for this file, and modifications and additions to the
|
||
# file, is the same license as for the pristine package itself (unless the
|
||
# license for the pristine package is not an Open Source License, in which
|
||
# case the license is the MIT License). An "Open Source License" is a
|
||
# license that conforms to the Open Source Definition (Version 1.9)
|
||
# published by the Open Source Initiative.
|
||
|
||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||
#
|
||
|
||
|
||
# Disable LTO until UnitTests passes with LTO enabled - https://github.com/ARM-software/armnn/issues/623
|
||
%define _lto_cflags %{nil}
|
||
|
||
# Disable Python binding for now
|
||
%bcond_with PyArmnn
|
||
|
||
%define target @BUILD_FLAVOR@%{nil}
|
||
%if "%{target}" != ""
|
||
%define package_suffix -%{target}
|
||
%endif
|
||
# Compute library has neon enabled for aarch64 only
|
||
%ifarch aarch64
|
||
%bcond_without compute_neon
|
||
%else
|
||
%bcond_with compute_neon
|
||
%endif
|
||
%if "%{target}" == "opencl"
|
||
%bcond_without compute_cl
|
||
%else
|
||
%bcond_with compute_cl
|
||
%endif
|
||
# stb-devel is available on Leap 15.1+
|
||
%if 0%{?suse_version} > 1500 || ( 0%{?sle_version} > 150000 && 0%{?is_opensuse} )
|
||
%bcond_without armnn_tests
|
||
%else
|
||
%bcond_with armnn_tests
|
||
%endif
|
||
# Extra tests require opencv(3)-devel, but it is broken for Leap 15.1 - boo#1154091
|
||
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150200
|
||
# FIXME: disabled for now, as it fails since version 21.05
|
||
%bcond_with armnn_extra_tests
|
||
%else
|
||
%bcond_with armnn_extra_tests
|
||
%endif
|
||
# flatbuffers-devel is available on Leap 15.2+/SLE15SP2+
|
||
# But tensorflow-lite >= 2.10 is only avaialble on Tumbleweed
|
||
%if 0%{?suse_version} > 1500
|
||
%bcond_without armnn_flatbuffers
|
||
%else
|
||
%bcond_with armnn_flatbuffers
|
||
%endif
|
||
# ONNX is available on Leap 15.2+/SLE15SP2+, but there is a compatibility issue
|
||
# with ONNX 1.7.0 in Tumbleweed - https://github.com/ARM-software/armnn/issues/419
|
||
%if 0%{?sle_version} >= 150200
|
||
%bcond_without armnn_onnx
|
||
%else
|
||
%bcond_with armnn_onnx
|
||
%endif
|
||
%define version_major 24
|
||
%define version_minor 08
|
||
%define version_lib 33
|
||
%define version_lib_testutils 3
|
||
%define version_lib_tfliteparser 24
|
||
%define version_lib_onnxparser 24
|
||
Name: armnn%{?package_suffix}
|
||
Version: %{version_major}.%{version_minor}
|
||
Release: 0
|
||
Summary: Arm NN SDK enables machine learning workloads on power-efficient devices
|
||
License: MIT
|
||
Group: Development/Libraries/Other
|
||
URL: https://developer.arm.com/products/processors/machine-learning/arm-nn
|
||
Source0: https://github.com/ARM-software/armnn/archive/v%{version}.tar.gz#/armnn-%{version}.tar.gz
|
||
Source1: armnn-rpmlintrc
|
||
# PATCH-FIX-UPSTREAM - https://github.com/ARM-software/armnn/issues/786
|
||
Patch1: armnn-fix-armv7.patch
|
||
# PATCHES to add downstream ArmnnExamples binary - https://layers.openembedded.org/layerindex/recipe/87610/
|
||
Patch200: 0003-add-more-test-command-line-arguments.patch
|
||
Patch201: 0005-add-armnn-mobilenet-test-example.patch
|
||
Patch202: 0006-armnn-mobilenet-test-example.patch
|
||
Patch203: 0009-command-line-options-for-video-port-selection.patch
|
||
Patch204: 0010-armnnexamples-update-for-19.08-modifications.patch
|
||
Patch205: armnn-fix_find_opencv.patch
|
||
BuildRequires: ComputeLibrary-devel >= %{version_major}.%{version_minor}
|
||
BuildRequires: cmake >= 3.22
|
||
BuildRequires: gcc-c++
|
||
BuildRequires: protobuf-devel
|
||
BuildRequires: python-rpm-macros
|
||
BuildRequires: valgrind-devel
|
||
BuildRequires: vim
|
||
# Make armnn-opencl pulls lib*-opencl, and armnn pulls non opencl libs
|
||
Requires: libarmnn%{version_lib}%{?package_suffix} = %{version}
|
||
ExcludeArch: %ix86
|
||
%if 0%{?suse_version} < 1330
|
||
BuildRequires: boost-devel >= 1.59
|
||
%else
|
||
BuildRequires: libboost_filesystem-devel >= 1.59
|
||
BuildRequires: libboost_program_options-devel >= 1.59
|
||
BuildRequires: libboost_system-devel >= 1.59
|
||
BuildRequires: libboost_test-devel >= 1.59
|
||
%if %{with armnn_extra_tests}
|
||
BuildRequires: libboost_log-devel >= 1.59
|
||
BuildRequires: libboost_thread-devel >= 1.59
|
||
%endif
|
||
%endif
|
||
%if %{with armnn_flatbuffers}
|
||
BuildRequires: flatbuffers-devel
|
||
%if 0%{?suse_version} > 1550
|
||
BuildRequires: tensorflow-lite-devel >= 2.10
|
||
%else
|
||
BuildRequires: tensorflow2-lite-devel >= 2.10
|
||
%endif
|
||
%endif
|
||
%if %{with compute_cl}
|
||
# Mesa-libOpenCl is required for tests
|
||
BuildRequires: Mesa-libOpenCL
|
||
BuildRequires: ocl-icd-devel
|
||
BuildRequires: opencl-cpp-headers
|
||
BuildRequires: opencl-headers
|
||
%endif
|
||
%if %{with armnn_extra_tests}
|
||
%if 0%{?suse_version} > 1500
|
||
BuildRequires: opencv3-devel
|
||
%else
|
||
BuildRequires: opencv-devel
|
||
%endif
|
||
%endif
|
||
%if %{with armnn_onnx}
|
||
BuildRequires: python3-onnx
|
||
%endif
|
||
%if %{with armnn_tests}
|
||
BuildRequires: stb-devel
|
||
%endif
|
||
%if %{with PyArmnn}
|
||
BuildRequires: python3-devel
|
||
BuildRequires: python3-wheel
|
||
BuildRequires: swig >= 4
|
||
%endif
|
||
%if %{with compute_cl}
|
||
Recommends: Mesa-libOpenCL
|
||
%endif
|
||
%if %{with armnn_flatbuffers}
|
||
Requires: libarmnnSerializer%{version_lib}%{?package_suffix} = %{version}
|
||
Requires: libarmnnTfLiteParser%{version_lib_tfliteparser}%{?package_suffix} = %{version}
|
||
%endif
|
||
%if %{with armnn_onnx}
|
||
Requires: libarmnnOnnxParser%{version_lib_onnxparser}%{?package_suffix} = %{version}
|
||
%endif
|
||
# Make sure we do not install both openCL and non-openCL (CPU only) versions.
|
||
%if "%{target}" == "opencl"
|
||
Conflicts: armnn
|
||
%else
|
||
Conflicts: armnn-opencl
|
||
%endif
|
||
ExclusiveArch: aarch64 armv7l armv7hl x86_64
|
||
|
||
%description
|
||
Arm NN is an inference engine for CPUs, GPUs and NPUs.
|
||
It bridges the gap between existing NN frameworks and the underlying IP.
|
||
It enables efficient translation of existing neural network frameworks,
|
||
such as TensorFlow Lite, allowing them to run efficiently – without
|
||
modification – across Arm Cortex CPUs and Arm Mali GPUs.
|
||
|
||
%package devel
|
||
Summary: Development headers and libraries for armnn
|
||
# Make sure we do not install both openCL and non-openCL (CPU only) versions.
|
||
Group: Development/Libraries/C and C++
|
||
Requires: %{name} = %{version}
|
||
Requires: libarmnn%{version_lib}%{?package_suffix} = %{version}
|
||
Requires: libarmnnBasePipeServer%{version_lib}%{?package_suffix} = %{version}
|
||
Requires: libarmnnTestUtils%{version_lib_testutils}%{?package_suffix}
|
||
Requires: libtimelineDecoder%{version_lib}%{?package_suffix} = %{version}
|
||
Requires: libtimelineDecoderJson%{version_lib}%{?package_suffix} = %{version}
|
||
# Make sure we do not install both openCL and non-openCL (CPU only) versions.
|
||
%if "%{target}" == "opencl"
|
||
Conflicts: armnn-devel
|
||
%else
|
||
Conflicts: armnn-opencl-devel
|
||
%endif
|
||
%if %{with armnn_flatbuffers}
|
||
Requires: libarmnnSerializer%{version_lib}%{?package_suffix} = %{version}
|
||
Requires: libarmnnTfLiteParser%{version_lib_tfliteparser}%{?package_suffix} = %{version}
|
||
%endif
|
||
%if %{with armnn_onnx}
|
||
Requires: libarmnnOnnxParser%{version_lib_onnxparser}%{?package_suffix} = %{version}
|
||
%endif
|
||
|
||
%description devel
|
||
Arm NN is an inference engine for CPUs, GPUs and NPUs.
|
||
It bridges the gap between existing NN frameworks and the underlying IP.
|
||
It enables efficient translation of existing neural network frameworks,
|
||
such as TensorFlow Lite, allowing them to run efficiently – without
|
||
modification – across Arm Cortex CPUs and Arm Mali GPUs.
|
||
|
||
This package contains the development libraries and headers for armnn.
|
||
|
||
%if %{with armnn_extra_tests}
|
||
%package -n %{name}-extratests
|
||
Summary: Additionnal downstream tests for Arm NN
|
||
# Make sure we do not install both openCL and non-openCL (CPU only) versions.
|
||
Group: Development/Libraries/C and C++
|
||
Requires: %{name}
|
||
# Make sure we do not install both openCL and non-openCL (CPU only) versions.
|
||
%if "%{target}" == "opencl"
|
||
Conflicts: armnn-extratests
|
||
%else
|
||
Conflicts: armnn-opencl-extratests
|
||
%endif
|
||
|
||
%description -n %{name}-extratests
|
||
Arm NN is an inference engine for CPUs, GPUs and NPUs.
|
||
It bridges the gap between existing NN frameworks and the underlying IP.
|
||
It enables efficient translation of existing neural network frameworks,
|
||
such as TensorFlow Lite, allowing them to run efficiently – without
|
||
modification – across Arm Cortex CPUs and Arm Mali GPUs.
|
||
|
||
This package contains additionnal downstream tests for armnn.
|
||
%endif
|
||
|
||
%package -n libarmnn%{version_lib}%{?package_suffix}
|
||
Summary: libarmnn from armnn
|
||
Group: Development/Libraries/C and C++
|
||
%if "%{target}" == "opencl"
|
||
Conflicts: libarmnn%{version_lib}
|
||
%else
|
||
Conflicts: libarmnn%{version_lib}-opencl
|
||
%endif
|
||
|
||
%description -n libarmnn%{version_lib}%{?package_suffix}
|
||
Arm NN is an inference engine for CPUs, GPUs and NPUs.
|
||
It bridges the gap between existing NN frameworks and the underlying IP.
|
||
It enables efficient translation of existing neural network frameworks,
|
||
such as TensorFlow Lite, allowing them to run efficiently – without
|
||
modification – across Arm Cortex CPUs and Arm Mali GPUs.
|
||
|
||
This package contains the libarmnn library from armnn.
|
||
|
||
%package -n libarmnnBasePipeServer%{version_lib}%{?package_suffix}
|
||
Summary: libarmnnBasePipeServer from armnn
|
||
Group: Development/Libraries/C and C++
|
||
%if "%{target}" == "opencl"
|
||
Conflicts: libarmnnBasePipeServer%{version_lib}
|
||
%else
|
||
Conflicts: libarmnnBasePipeServer%{version_lib}-opencl
|
||
%endif
|
||
|
||
%description -n libarmnnBasePipeServer%{version_lib}%{?package_suffix}
|
||
Arm NN is an inference engine for CPUs, GPUs and NPUs.
|
||
It bridges the gap between existing NN frameworks and the underlying IP.
|
||
It enables efficient translation of existing neural network frameworks,
|
||
such as TensorFlow Lite, allowing them to run efficiently – without
|
||
modification – across Arm Cortex CPUs and Arm Mali GPUs.
|
||
|
||
This package contains the libarmnnBasePipeServer library from armnn.
|
||
|
||
%package -n libarmnnTestUtils%{version_lib_testutils}%{?package_suffix}
|
||
Summary: libarmnnTestUtils from armnn
|
||
Group: Development/Libraries/C and C++
|
||
%if "%{target}" == "opencl"
|
||
Conflicts: libarmnnTestUtils%{version_lib_testutils}
|
||
%else
|
||
Conflicts: libarmnnTestUtils%{version_lib_testutils}-opencl
|
||
%endif
|
||
|
||
%description -n libarmnnTestUtils%{version_lib_testutils}%{?package_suffix}
|
||
Arm NN is an inference engine for CPUs, GPUs and NPUs.
|
||
It bridges the gap between existing NN frameworks and the underlying IP.
|
||
It enables efficient translation of existing neural network frameworks,
|
||
such as TensorFlow Lite, allowing them to run efficiently – without
|
||
modification – across Arm Cortex CPUs and Arm Mali GPUs.
|
||
|
||
This package contains the libarmnnTestUtils library from armnn.
|
||
|
||
%package -n libtimelineDecoder%{version_lib}%{?package_suffix}
|
||
Summary: libtimelineDecoder from armnn
|
||
Group: Development/Libraries/C and C++
|
||
%if "%{target}" == "opencl"
|
||
Conflicts: libtimelineDecoder%{version_lib}
|
||
%else
|
||
Conflicts: libtimelineDecoder%{version_lib}-opencl
|
||
%endif
|
||
|
||
%description -n libtimelineDecoder%{version_lib}%{?package_suffix}
|
||
Arm NN is an inference engine for CPUs, GPUs and NPUs.
|
||
It bridges the gap between existing NN frameworks and the underlying IP.
|
||
It enables efficient translation of existing neural network frameworks,
|
||
such as TensorFlow Lite, allowing them to run efficiently – without
|
||
modification – across Arm Cortex CPUs and Arm Mali GPUs.
|
||
|
||
This package contains the libtimelineDecoder library from armnn.
|
||
|
||
%package -n libtimelineDecoderJson%{version_lib}%{?package_suffix}
|
||
Summary: libtimelineDecoderJson from armnn
|
||
Group: Development/Libraries/C and C++
|
||
%if "%{target}" == "opencl"
|
||
Conflicts: libtimelineDecoderJson%{version_lib}
|
||
%else
|
||
Conflicts: libtimelineDecoderJson%{version_lib}-opencl
|
||
%endif
|
||
|
||
%description -n libtimelineDecoderJson%{version_lib}%{?package_suffix}
|
||
Arm NN is an inference engine for CPUs, GPUs and NPUs.
|
||
It bridges the gap between existing NN frameworks and the underlying IP.
|
||
It enables efficient translation of existing neural network frameworks,
|
||
such as TensorFlow Lite, allowing them to run efficiently – without
|
||
modification – across Arm Cortex CPUs and Arm Mali GPUs.
|
||
|
||
This package contains the libtimelineDecoder library from armnn.
|
||
|
||
%if %{with armnn_flatbuffers}
|
||
%package -n libarmnnSerializer%{version_lib}%{?package_suffix}
|
||
Summary: libarmnnSerializer from armnn
|
||
Group: Development/Libraries/C and C++
|
||
%if "%{target}" == "opencl"
|
||
Conflicts: libarmnnSerializer%{version_lib}
|
||
%else
|
||
Conflicts: libarmnnSerializer%{version_lib}-opencl
|
||
%endif
|
||
|
||
%description -n libarmnnSerializer%{version_lib}%{?package_suffix}
|
||
Arm NN is an inference engine for CPUs, GPUs and NPUs.
|
||
It bridges the gap between existing NN frameworks and the underlying IP.
|
||
It enables efficient translation of existing neural network frameworks,
|
||
such as TensorFlow Lite, allowing them to run efficiently – without
|
||
modification – across Arm Cortex CPUs and Arm Mali GPUs.
|
||
|
||
This package contains the libarmnnSerializer library from armnn.
|
||
|
||
%package -n libarmnnTfLiteParser%{version_lib_tfliteparser}%{?package_suffix}
|
||
Summary: libarmnnTfLiteParser from armnn
|
||
Group: Development/Libraries/C and C++
|
||
%if "%{target}" == "opencl"
|
||
Conflicts: libarmnnTfLiteParser%{version_lib_tfliteparser}
|
||
%else
|
||
Conflicts: libarmnnTfLiteParser%{version_lib_tfliteparser}-opencl
|
||
%endif
|
||
|
||
%description -n libarmnnTfLiteParser%{version_lib_tfliteparser}%{?package_suffix}
|
||
Arm NN is an inference engine for CPUs, GPUs and NPUs.
|
||
It bridges the gap between existing NN frameworks and the underlying IP.
|
||
It enables efficient translation of existing neural network frameworks,
|
||
such as TensorFlow Lite, allowing them to run efficiently – without
|
||
modification – across Arm Cortex CPUs and Arm Mali GPUs.
|
||
|
||
This package contains the libarmnnTfLiteParser library from armnn.
|
||
%endif
|
||
|
||
%if %{with armnn_onnx}
|
||
%package -n libarmnnOnnxParser%{version_lib_onnxparser}%{?package_suffix}
|
||
Summary: libarmnnOnnxParser from armnn
|
||
Group: Development/Libraries/C and C++
|
||
%if "%{target}" == "opencl"
|
||
Conflicts: libarmnnOnnxParser%{version_lib_onnxparser}
|
||
%else
|
||
Conflicts: libarmnnOnnxParser%{version_lib_onnxparser}-opencl
|
||
%endif
|
||
|
||
%description -n libarmnnOnnxParser%{version_lib_onnxparser}%{?package_suffix}
|
||
Arm NN is an inference engine for CPUs, GPUs and NPUs.
|
||
It bridges the gap between existing NN frameworks and the underlying IP.
|
||
It enables efficient translation of existing neural network frameworks,
|
||
such as TensorFlow Lite, allowing them to run efficiently – without
|
||
modification – across Arm Cortex CPUs and Arm Mali GPUs.
|
||
|
||
This package contains the libarmnnOnnxParser library from armnn.
|
||
%endif
|
||
|
||
%prep
|
||
%setup -q -n armnn-%{version}
|
||
%patch -P 1 -p1
|
||
%if %{with armnn_extra_tests}
|
||
%patch -P 200 -p1
|
||
%patch -P 201 -p1
|
||
%patch -P 202 -p1
|
||
%patch -P 203 -p1
|
||
%patch -P 204 -p1
|
||
%patch -P 205 -p1
|
||
# Add Boost log as downstream extra test requires it
|
||
sed -i 's/ find_package(Boost 1.59 REQUIRED COMPONENTS unit_test_framework)/find_package(Boost 1.59 REQUIRED COMPONENTS unit_test_framework filesystem system log program_options)/' ./cmake/GlobalConfig.cmake
|
||
%endif
|
||
|
||
%build
|
||
%if %{with armnn_onnx}
|
||
mkdir onnx_deps
|
||
PROTO=$(find %{_libdir} -name onnx.proto)
|
||
protoc $PROTO --proto_path=. --proto_path=%{_includedir} --proto_path=$(dirname $(find %{_libdir} -name onnx)) --cpp_out=./onnx_deps
|
||
%endif
|
||
%cmake \
|
||
-DCMAKE_SKIP_RPATH=True \
|
||
-DSHARED_BOOST=1 \
|
||
-DCMAKE_CXX_FLAGS:STRING="%{optflags} -pthread -Wno-error=unused-result" \
|
||
-DBOOST_LIBRARYDIR=%{_libdir} \
|
||
%if %{with armnn_onnx}
|
||
-DBUILD_ONNX_PARSER=ON \
|
||
-DONNX_GENERATED_SOURCES=../onnx_deps/ \
|
||
%else
|
||
-DBUILD_ONNX_PARSER=OFF \
|
||
%endif
|
||
%if %{with armnn_flatbuffers}
|
||
-DBUILD_ARMNN_SERIALIZER=ON \
|
||
-DFLATC_DIR=%{_bindir} \
|
||
-DFLATBUFFERS_INCLUDE_PATH=%{_includedir} \
|
||
-DBUILD_TF_LITE_PARSER=ON \
|
||
-DTfLite_Schema_INCLUDE_PATH=%{_includedir}/tensorflow/lite/schema/ \
|
||
-DTF_LITE_SCHEMA_INCLUDE_PATH=%{_includedir}/tensorflow/lite/schema/ \
|
||
%else
|
||
-DBUILD_ARMNN_SERIALIZER=OFF \
|
||
-DBUILD_TF_LITE_PARSER=OFF \
|
||
%endif
|
||
%if %{with compute_neon} || %{with compute_cl}
|
||
-DARMCOMPUTE_INCLUDE=%{_includedir} \
|
||
-DHALF_INCLUDE=%{_includedir}/half \
|
||
-DARMCOMPUTE_BUILD_DIR=%{_libdir} \
|
||
-DARMCOMPUTE_ROOT=%{_prefix} \
|
||
%endif
|
||
%if %{with compute_neon}
|
||
-DARMCOMPUTENEON=ON \
|
||
%else
|
||
-DARMCOMPUTENEON=OFF \
|
||
%endif
|
||
%if %{with compute_cl}
|
||
-DARMCOMPUTECL=ON \
|
||
-DOPENCL_INCLUDE=%{_includedir} \
|
||
%else
|
||
-DARMCOMPUTECL=OFF \
|
||
%endif
|
||
-DTHIRD_PARTY_INCLUDE_DIRS=%{_includedir} \
|
||
%if %{with armnn_flatbuffers}
|
||
-DBUILD_SAMPLE_APP=ON \
|
||
%else
|
||
-DBUILD_SAMPLE_APP=OFF \
|
||
%endif
|
||
%if %{with armnn_tests}
|
||
-DBUILD_UNIT_TESTS=ON \
|
||
-DBUILD_TESTS=ON \
|
||
%else
|
||
-DBUILD_UNIT_TESTS=OFF \
|
||
-DBUILD_TESTS=OFF \
|
||
%endif
|
||
%if %{with PyArmnn}
|
||
-DBUILD_PYTHON_WHL=ON \
|
||
-DBUILD_PYTHON_SRC=ON \
|
||
%else
|
||
-DBUILD_PYTHON_WHL=OFF \
|
||
-DBUILD_PYTHON_SRC=OFF \
|
||
%endif
|
||
%if %{with armnn_extra_tests}
|
||
-DBUILD_ARMNN_EXAMPLES=ON
|
||
%else
|
||
-DBUILD_ARMNN_EXAMPLES=OFF
|
||
%endif
|
||
|
||
%if 0%{?suse_version} > 1500
|
||
%cmake_build
|
||
%else
|
||
%make_jobs
|
||
%endif
|
||
%if %{with armnn_tests}
|
||
pushd tests/
|
||
%if 0%{?suse_version} > 1500
|
||
%cmake_build
|
||
%else
|
||
%make_jobs
|
||
%endif
|
||
popd
|
||
%endif
|
||
|
||
%install
|
||
%cmake_install
|
||
%if %{with armnn_tests}
|
||
# Install tests manually
|
||
install -d %{buildroot}%{_bindir}
|
||
CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership" \
|
||
find ./build/tests -maxdepth 1 -type f -executable -exec cp $CP_ARGS {} %{buildroot}%{_bindir} \;
|
||
%endif
|
||
%if %{with armnn_flatbuffers}
|
||
# Install Sample app
|
||
cp $CP_ARGS ./build/samples/SimpleSample %{buildroot}%{_bindir}
|
||
%endif
|
||
# Drop static libs - https://github.com/ARM-software/armnn/issues/514
|
||
rm -f %{buildroot}%{_libdir}/*.a
|
||
|
||
# openCL UnitTests are failing in OBS due to the lack of openCL device
|
||
%if %{without compute_cl} && %{with armnn_tests}
|
||
%check
|
||
# Run tests
|
||
LD_LIBRARY_PATH="$(pwd)/build/" \
|
||
./build/UnitTests $UnitTestFlags
|
||
%endif
|
||
|
||
%post -n libarmnn%{version_lib}%{?package_suffix} -p /sbin/ldconfig
|
||
%postun -n libarmnn%{version_lib}%{?package_suffix} -p /sbin/ldconfig
|
||
|
||
%post -n libarmnnBasePipeServer%{version_lib}%{?package_suffix} -p /sbin/ldconfig
|
||
%postun -n libarmnnBasePipeServer%{version_lib}%{?package_suffix} -p /sbin/ldconfig
|
||
|
||
%post -n libarmnnTestUtils%{version_lib_testutils}%{?package_suffix} -p /sbin/ldconfig
|
||
%postun -n libarmnnTestUtils%{version_lib_testutils}%{?package_suffix} -p /sbin/ldconfig
|
||
|
||
%post -n libtimelineDecoderJson%{version_lib}%{?package_suffix} -p /sbin/ldconfig
|
||
%postun -n libtimelineDecoderJson%{version_lib}%{?package_suffix} -p /sbin/ldconfig
|
||
|
||
%post -n libtimelineDecoder%{version_lib}%{?package_suffix} -p /sbin/ldconfig
|
||
%postun -n libtimelineDecoder%{version_lib}%{?package_suffix} -p /sbin/ldconfig
|
||
|
||
%if %{with armnn_flatbuffers}
|
||
%post -n libarmnnSerializer%{version_lib}%{?package_suffix} -p /sbin/ldconfig
|
||
%postun -n libarmnnSerializer%{version_lib}%{?package_suffix} -p /sbin/ldconfig
|
||
|
||
%post -n libarmnnTfLiteParser%{version_lib_tfliteparser}%{?package_suffix} -p /sbin/ldconfig
|
||
%postun -n libarmnnTfLiteParser%{version_lib_tfliteparser}%{?package_suffix} -p /sbin/ldconfig
|
||
%endif
|
||
|
||
%if %{with armnn_onnx}
|
||
%post -n libarmnnOnnxParser%{version_lib_onnxparser}%{?package_suffix} -p /sbin/ldconfig
|
||
%postun -n libarmnnOnnxParser%{version_lib_onnxparser}%{?package_suffix} -p /sbin/ldconfig
|
||
%endif
|
||
|
||
%files
|
||
%defattr(-,root,root)
|
||
%doc README.md
|
||
%license LICENSE
|
||
%if %{with armnn_tests}
|
||
%{_bindir}/ExecuteNetwork
|
||
%if %{with armnn_flatbuffers}
|
||
%{_bindir}/ArmnnConverter
|
||
%{_bindir}/TfLite*-Armnn
|
||
%endif
|
||
%if %{with armnn_onnx}
|
||
%{_bindir}/Onnx*-Armnn
|
||
%endif
|
||
%if %{with armnn_flatbuffers}
|
||
%{_bindir}/SimpleSample
|
||
%endif
|
||
%endif
|
||
|
||
%if %{with armnn_extra_tests}
|
||
%files -n %{name}-extratests
|
||
%{_bindir}/ArmnnExamples
|
||
%endif
|
||
|
||
%files -n libarmnn%{version_lib}%{?package_suffix}
|
||
%{_libdir}/libarmnn.so.*
|
||
|
||
%files -n libarmnnBasePipeServer%{version_lib}%{?package_suffix}
|
||
%{_libdir}/libarmnnBasePipeServer.so.*
|
||
|
||
%files -n libarmnnTestUtils%{version_lib_testutils}%{?package_suffix}
|
||
%{_libdir}/libarmnnTestUtils.so.*
|
||
|
||
%files -n libtimelineDecoder%{version_lib}%{?package_suffix}
|
||
%{_libdir}/libtimelineDecoder.so.*
|
||
|
||
%files -n libtimelineDecoderJson%{version_lib}%{?package_suffix}
|
||
%{_libdir}/libtimelineDecoderJson.so.*
|
||
|
||
%if %{with armnn_flatbuffers}
|
||
%files -n libarmnnSerializer%{version_lib}%{?package_suffix}
|
||
%{_libdir}/libarmnnSerializer.so.*
|
||
|
||
%files -n libarmnnTfLiteParser%{version_lib_tfliteparser}%{?package_suffix}
|
||
%{_libdir}/libarmnnTfLiteParser.so.*
|
||
%endif
|
||
|
||
%if %{with armnn_onnx}
|
||
%files -n libarmnnOnnxParser%{version_lib_onnxparser}%{?package_suffix}
|
||
%{_libdir}/libarmnnOnnxParser.so.*
|
||
%endif
|
||
|
||
%files devel
|
||
%defattr(-,root,root)
|
||
%dir %{_includedir}/armnn/
|
||
%{_includedir}/armnn/*.hpp
|
||
%dir %{_includedir}/armnn/backends
|
||
%{_includedir}/armnn/backends/CMakeLists.txt
|
||
%{_includedir}/armnn/backends/*.hpp
|
||
%dir %{_includedir}/armnn/profiling
|
||
%{_includedir}/armnn/profiling/*.hpp
|
||
%dir %{_includedir}/armnn/profiling/client/
|
||
%dir %{_includedir}/armnn/profiling/client/include/
|
||
%{_includedir}/armnn/profiling/client/include/*.hpp
|
||
%dir %{_includedir}/armnn/profiling/client/include/backends/
|
||
%{_includedir}/armnn/profiling/client/include/backends/*.hpp
|
||
%dir %{_includedir}/armnn/profiling/common/
|
||
%dir %{_includedir}/armnn/profiling/common/include/
|
||
%{_includedir}/armnn/profiling/common/include/*.hpp
|
||
%dir %{_includedir}/armnn/utility
|
||
%{_includedir}/armnn/utility/*.hpp
|
||
%dir %{_includedir}/armnnUtils
|
||
%{_includedir}/armnnUtils/*.hpp
|
||
%dir %{_includedir}/armnnOnnxParser/
|
||
%{_includedir}/armnnOnnxParser/*.hpp
|
||
%dir %{_includedir}/armnnTfLiteParser/
|
||
%{_includedir}/armnnTfLiteParser/*.hpp
|
||
%dir %{_includedir}/armnnDeserializer/
|
||
%{_includedir}/armnnDeserializer/IDeserializer.hpp
|
||
%dir %{_includedir}/armnnSerializer/
|
||
%{_includedir}/armnnSerializer/ISerializer.hpp
|
||
%dir %{_includedir}/armnnTestUtils/
|
||
%{_includedir}/armnnTestUtils/*.hpp
|
||
%dir %{_libdir}/cmake/armnn
|
||
%{_libdir}/cmake/armnn/*
|
||
%{_libdir}/libarmnn.so
|
||
%{_libdir}/libarmnnBasePipeServer.so
|
||
%{_libdir}/libtimelineDecoder.so
|
||
%{_libdir}/libtimelineDecoderJson.so
|
||
%if %{with armnn_flatbuffers}
|
||
%{_libdir}/libarmnnSerializer.so
|
||
%{_libdir}/libarmnnTfLiteParser.so
|
||
%endif
|
||
%{_libdir}/libarmnnTestUtils.so
|
||
%if %{with armnn_onnx}
|
||
%{_libdir}/libarmnnOnnxParser.so
|
||
%endif
|
||
|
||
%changelog
|