#!/bin/bash
set -e
package_name=llvm-project
WORK_PATH="$(dirname $0)"
source "${WORK_PATH}/build_global.sh"
source "${WORK_PATH}/build_component.sh"
source "${WORK_PATH}/build_shrink.sh"
function main()
{
case "${BUILD_OPTION}" in
build)
build_component
;;
shrink)
shrink_component
;;
dist)
dist_component
;;
clean)
clean_component
;;
all)
build_component
shrink_component
dist_component
clean_component
;;
*)
log "Internal Error: option processing error: $2"
log "please input right paramenter values build, shrink, dist or clean "
esac
}
if [ $# = 0 ] ; then
log "missing option"
print_help
exit 1
fi
if [ $(uname -m) = "x86_64" ]; then
BUILD_TARGET="X86"
elif [ $(uname -m) = "aarch64" ]; then
BUILD_TARGET="AArch64"
fi
while getopts "h:m:t:c:" opt
do
case "$opt" in
m)
if [[ "$OPTARG"X = ""X ]];then
die "no given version info"
fi
if [[ $# -lt 2 ]];then
die "not enough params"
fi
BUILD_OPTION=$OPTARG
;;
t)
if [[ "$OPTARG"X != "X86"X ]] && [[ "$OPTARG"X != "AArch64"X ]];then
die "not correct platform"
fi
if [[ $# -lt 2 ]];then
die "not enough params"
fi
BUILD_TARGET=$OPTARG
;;
c)
if [[ "$OPTARG"X = ""X ]];then
die "no given compile params e.g. -c comm/-c tool"
fi
if [[ $# -lt 2 ]];then
die "not enough params"
fi
COMPILE_TYPE_LIST=$OPTARG
;;
*)
log "Internal Error: option processing error: $1" 1>&2
log "please input right paramtenter, the following command may help you"
log "./build.sh"
exit 1
esac
done
main