IVGCVSW-2832 (Part 2) update clframework pin to b4a44ff3aa98d2b51f1621a7525db3f81108a1bd
[platform/upstream/armnn.git] / scripts / get_compute_library.sh
1 #!/bin/bash
2 #
3 # Copyright © 2017 Arm Ltd. All rights reserved.
4 # SPDX-License-Identifier: MIT
5 #
6
7 CMD=$( basename $0 )
8
9 usage() {
10   echo "Usage: $CMD -g <GITHUB_USERNAME>"
11   exit 1
12 }
13
14 function AssertZeroExitCode {
15   EXITCODE=$?
16   if [ $EXITCODE -ne 0 ]; then
17     echo "$1"
18     echo "+++ Command exited with code $EXITCODE. Please fix the above errors and re-run"
19     exit 1
20   fi
21 }
22
23 # process the options given
24 while getopts "g:h" opt; do
25   case "$opt" in
26     g) GITHUB_USERNAME="$OPTARG";;
27     h|\?) usage;;
28   esac
29 done
30 shift $((OPTIND - 1))
31
32 #
33 # This script is designed to be called from anywhere
34 # so it will resolve where to checkout out the clframework
35 # relative to its own location in armnn/scripts
36 #
37 SRC="${BASH_SOURCE[0]}"
38 # resolve $SRC until it is no longer a symlink
39 while [ -h "$SRC" ]; do
40   DIR="$( cd -P "$( dirname "$SRC" )" >/dev/null && pwd )"
41   SRC="$(readlink "$SRC")"
42   # if $SRC was a relative symlink, we need to resolve it
43   # relative to the path where the symlink file originally was
44   [[ $SRC != /* ]] && SRC="$DIR/$SRC"
45 done
46 DIR="$( cd -P "$( dirname "$SRC" )" >/dev/null && pwd )"
47 pushd ${DIR} > /dev/null
48 cd ../..
49 if [ -z "$USERNAME" ]; then
50     USERNAME=$USER
51 fi
52 if [ -z "$GITHUB_USERNAME" ]; then
53     GITHUB_USERNAME=$USERNAME
54     echo "setting GITHUB_USERNAME: ${GITHUB_USERNAME} use -g command line option to change"
55 fi
56
57 if [ ! -d clframework ]; then
58 echo "+++ Cloning clframework"
59   git clone https://review.mlplatform.org/ml/ComputeLibrary clframework
60   AssertZeroExitCode "Cloning CL Framework failed"
61 fi
62 pushd clframework > /dev/null
63
64 # Use the latest pinned version of the CL framework
65
66 # For pinnning to a ref use this:
67 # CLFRAMEWORKREVISION="branches/arm_compute_19_02" # Release 19.02
68 # git fetch https://review.mlplatform.org/ml/ComputeLibrary $CLFRAMEWORKREVISION && git checkout FETCH_HEAD
69
70 # For pinning to a revision use this:
71 CLFRAMEWORKREVISION="b4a44ff3aa98d2b51f1621a7525db3f81108a1bd" # COMPMID-1995: Removed layout checks from Reduction ops
72 git fetch https://review.mlplatform.org/ml/ComputeLibrary && git checkout ${CLFRAMEWORKREVISION}
73 AssertZeroExitCode
74
75 # Set commit hook so we can submit reviews to gerrit
76 (curl -Lo `git rev-parse --git-dir`/hooks/commit-msg https://review.mlplatform.org/tools/hooks/commit-msg; chmod +x `git rev-parse --git-dir`/hooks/commit-msg)
77 AssertZeroExitCode
78
79 popd > /dev/null # out of clframework
80 popd > /dev/null # back to wherever we were when called
81 exit 0