• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/bash
2# Copyright 2021-2022 Huawei Technologies Co., Ltd
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15# ============================================================================
16
17set -e
18
19# check and set options
20process_options()
21{
22  # Process the options
23  while getopts 'RdfhiorvyzA:B:D:E:F:G:H:I:K:L:M:P:S:V:W:a:b:c:e:g:j:k:l:n:p:s:t:' opt
24  do
25    CASE_SENSIVE_ARG=${OPTARG}
26    OPTARG=$(echo ${OPTARG} | tr '[A-Z]' '[a-z]')
27    case "${opt}" in
28      d)
29        DEBUG_MODE="on" ;;
30      n)
31        build_option_proc_n ;;
32      y)
33        export ENABLE_SYM_FILE="on" ;;
34      r)
35        export DEBUG_MODE="off" ;;
36      v)
37        build_option_proc_v ;;
38      j)
39        export THREAD_NUM=$OPTARG ;;
40      c)
41        build_option_proc_c ;;
42      t)
43        build_option_proc_t ;;
44      g)
45        build_option_proc_g ;;
46      h)
47        build_option_proc_h ;;
48      b)
49        build_option_proc_b ;;
50      a)
51        build_option_proc_a ;;
52      p)
53        build_option_proc_p ;;
54      l)
55        build_option_proc_l ;;
56      i)
57        export INC_BUILD="on" ;;
58      s)
59        build_option_proc_s ;;
60      R)
61        export ENABLE_TIMELINE="on"
62        echo "enable time_line record" ;;
63      S)
64        build_option_proc_upper_s ;;
65      k)
66        check_on_off $OPTARG k
67        export ENABLE_MAKE_CLEAN="$OPTARG"
68        echo "enable make clean" ;;
69      e)
70        export DEVICE=$DEVICE:$OPTARG ;;
71      M)
72        check_on_off $OPTARG M
73        export ENABLE_MPI="$OPTARG" ;;
74      V)
75        export DEVICE_VERSION=$OPTARG ;;
76      P)
77        check_on_off $OPTARG p
78        export ENABLE_DUMP2PROTO="$OPTARG"
79        echo "enable dump anf graph to proto file" ;;
80      D)
81        build_option_proc_upper_d ;;
82      z)
83        build_option_proc_z ;;
84      I)
85        build_option_proc_upper_i ;;
86      K)
87        check_on_off $OPTARG K
88        export ENABLE_AKG="$OPTARG" ;;
89      B)
90        build_option_proc_upper_b ;;
91      E)
92        check_on_off $OPTARG E
93        export ENABLE_RDMA="$OPTARG"
94        echo "RDMA for RPC $ENABLE_RDMA" ;;
95      A)
96        build_option_proc_upper_a ;;
97      W)
98        build_option_proc_upper_w ;;
99      F)
100        build_option_proc_upper_f ;;
101      H)
102        check_on_off $OPTARG H
103        export ENABLE_HIDDEN="$OPTARG"
104        echo "${OPTARG} hidden" ;;
105      L)
106        export ENABLE_TRT="on"
107        export TENSORRT_HOME="$CASE_SENSIVE_ARG"
108        echo "Link Tensor-RT library. Path: ${CASE_SENSIVE_ARG}" ;;
109      G)
110        build_option_proc_upper_g ;;
111      f)
112        export FASTER_BUILD_FOR_PLUGINS="on" ;;
113      o)
114        export ENABLE_AIO="on" ;;
115      *)
116        echo "Unknown option ${opt}!"
117        usage
118        exit 1
119    esac
120  done
121}
122