aboutsummaryrefslogtreecommitdiff
path: root/build-tool/scripts/validation.sh
blob: a18908ebfb795decb6278d185549f24d7ce01c6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
#
# Copyright © 2022-2024 Arm Ltd and Contributors. All rights reserved.
# SPDX-License-Identifier: MIT
#

# Common validation of command line arguments provided to setup-armnn.sh and build-armnn.sh

# shellcheck disable=SC2034,SC2154
# SC2034: false positives for variables appear unused - variables are used in setup-armnn.sh and build-armnn.sh
# SC2154: false positives for variables referenced but not assigned - variables are assigned in setup-armnn.sh and build-armnn.sh

set -o nounset  # Catch references to undefined variables.
set -o pipefail # Catch non zero exit codes within pipelines.
set -o errexit  # Catch and propagate non zero exit codes.

# Host and target architecture validation
if [ "$target_arch" == "" ]; then
  echo "$name: --target_arch is not set. Example usage: --target_arch=aarch64"
  exit 1
fi

if [ "$target_arch" != "aarch64" ] && [ "$target_arch" != "android64" ] && [ "$target_arch" != "x86_64" ]; then
  echo "$name: --target_arch is not valid. Valid options are: aarch64, android64, x86_64"
  exit 1
fi

if [ "$HOST_ARCH" == "aarch64" ]; then
  if [ "$target_arch" != "aarch64" ]; then
    echo "$name: aarch64 is the only supported --target_arch when host is aarch64"
    exit 1
  fi
fi

if [ "$target_arch" == "android64" ]; then
  if [ "$HOST_ARCH" != "x86_64" ]; then
    echo "$name: --target_arch android64 is only supported when host is x86_64"
    exit 1
  fi
fi

# Validation of chosen Arm NN dependencies
if [ "$flag_tflite_classic_delegate" -eq 0 ] && [ "$flag_tflite_opaque_delegate" -eq 0 ] && [ "$flag_tflite_parser" -eq 0 ] && [ "$flag_onnx_parser" -eq 0 ]; then
  echo "$name: at least one of flags --tflite-classic-delegate, --tflite-opaque-delegate, --tflite-parser or --onnx-parser must be set (or --all)."
  exit 1
fi

# If --num-threads is set, overwrite default NUM_THREADS with user-defined value
if [ ! "$num_threads" -eq 0 ]; then
  NUM_THREADS="$num_threads"
fi