blob: e66f2b424f1c143f116266ca4b0d76dd34098bb8 [file] [log] [blame]
shijie.xiongbc5d3672022-04-01 17:52:16 +08001#!/bin/bash
2#
3# Copyright (c) 2021-2022 Amlogic, Inc. All rights reserved.
4#
5# SPDX-License-Identifier: MIT
6#
7
8###############################################################
9# Function: choose board and product, set environment variables.
10###############################################################
11
12usage() {
13 echo "Usage: source $BASH_SOURCE [arch_name] [soc_name] [board_name] [product_name]"
14 echo "−h: display help."
15 echo ""
16}
17
18version_lt() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" != "$1"; }
19
20CMAKE_FILE=$(which cmake)
21if [ -x /opt/cmake-3.18.4-Linux-x86_64/bin/cmake ]; then
22 export PATH=/opt/cmake-3.18.4-Linux-x86_64/bin/:$PATH
23elif [ -n "$CMAKE_FILE" ]; then
24 CMAKE_VERSION=$(cmake --version)
25 pattern="cmake version "
26 CMAKE_VERSION=$(echo ${CMAKE_VERSION#*${pattern}})
27 pattern=" CMake"
28 CMAKE_VERSION=$(echo ${CMAKE_VERSION%${pattern}*})
29 if version_lt $CMAKE_VERSION "3.13.1"; then
30 echo "cmake version $CMAKE_VERSION < 3.13.1!"
31 echo "Please upgrade cmake!"
32 return 0
33 fi
34else
35 echo "cmake not found!"
36 echo "Please install cmake!"
37 return 0
38fi
39
40NINJA_FILE=$(which ninja)
41if [ -z "$NINJA_FILE" ]; then
42 echo "ninja not found!"
43 echo "Please install ninja!"
44 return 0
45fi
46
47source scripts/gen_package_combination.sh
48
49if [ -n "$1" ] && [ $1 == "-h" ]; then
50 usage
51 return 0
52elif [ $# -eq 2 ] && [ $2 == "gen_all" ]; then
53 CHOICE_PACKAGE=$1
54 echo "Choose project:$CHOICE_PACKAGE"
55else
56 unset CHOICE_PACKAGE
57
58 if [ -z "$CHOICE_PACKAGE" ]; then
59 echo "Available projects:"
60 #show all package combinations
61 j=0
62 while IFS= read -r LINE; do
63 NR=$j
64 echo -e "\t$NR. ${LINE[@]}"
65 j=$((j + 1))
66 done <$PACKAGE_COMBINATION
67 read -p "Choose your project: " CHOICE_PACKAGE
68 # Determine whether it is a digital number
69 expr $CHOICE_PACKAGE + 1 >/dev/null 2>&1
70 if [[ $? -ne 0 ]] || [[ $CHOICE_PACKAGE -ge $j ]]; then
71 echo "Wrong choice!"
72 return 0
73 fi
74 fi
75fi
76
77KERNEL=freertos
78
79export KERNEL CHOICE_PACKAGE