• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/bash
2#
3# Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
4# SPDX-License-Identifier: MIT
5#
6
7# Common validation of command line arguments provided to setup-armnn.sh and build-armnn.sh
8
9# shellcheck disable=SC2034,SC2154
10# SC2034: false positives for variables appear unused - variables are used in setup-armnn.sh and build-armnn.sh
11# SC2154: false positives for variables referenced but not assigned - variables are assigned in setup-armnn.sh and build-armnn.sh
12
13set -o nounset  # Catch references to undefined variables.
14set -o pipefail # Catch non zero exit codes within pipelines.
15set -o errexit  # Catch and propagate non zero exit codes.
16
17# Host and target architecture validation
18if [ "$target_arch" == "" ]; then
19  echo "$name: --target-arch is not set. Example usage: --target-arch=aarch64"
20  exit 1
21fi
22
23if [ "$target_arch" != "aarch64" ] && [ "$target_arch" != "x86_64" ]; then
24  echo "$name: --target-arch is not valid. Valid options are: aarch64, x86_64"
25  exit 1
26fi
27
28if [ "$HOST_ARCH" == "aarch64" ]; then
29  if [ "$target_arch" != "aarch64" ]; then
30    echo "$name: aarch64 is the only supported --target_arch when host is aarch64"
31    exit 1
32  fi
33fi
34
35# Validation of chosen Arm NN dependencies
36if [ "$flag_tflite_delegate" -eq 0 ] && [ "$flag_tflite_parser" -eq 0 ] && [ "$flag_onnx_parser" -eq 0 ]; then
37  echo "$name: at least one of flags --tflite-delegate, --tflite-parser or --onnx-parser must be set (or --all)."
38  exit 1
39fi
40
41# If --num-threads is set, overwrite default NUM_THREADS with user-defined value
42if [ ! "$num_threads" -eq 0 ]; then
43  NUM_THREADS="$num_threads"
44fi