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