Keguang Zhang | f5f5229 | 2024-05-11 15:54:18 +0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | # |
| 3 | # Copyright (c) 2021-2024 Amlogic, Inc. All rights reserved. |
| 4 | # |
| 5 | # SPDX-License-Identifier: MIT |
| 6 | # |
| 7 | |
| 8 | [ -z "$OUTPUT_DIR" ] && OUTPUT_DIR=$PWD/output |
Kelvin Zhang | 5f3babb | 2024-05-13 10:29:34 +0800 | [diff] [blame] | 9 | [ -z "$TOOLCHAIN_DIR" ] && TOOLCHAIN_DIR=$OUTPUT_DIR/toolchains/$COMPILER-$TOOLCHAIN_KEYWORD |
Keguang Zhang | f5f5229 | 2024-05-11 15:54:18 +0800 | [diff] [blame] | 10 | CROSSTOOL=$PWD/arch/$ARCH/toolchain/$COMPILER*$TOOLCHAIN_KEYWORD |
| 11 | |
| 12 | if [ -n "$COMPILER" ]; then |
| 13 | if [[ "$ARCH" == "arm" || "$ARCH" == "arm64" ]]; then |
| 14 | if [ ! -d $TOOLCHAIN_DIR ]; then |
| 15 | echo "Extracting cross toolchain ..." |
| 16 | mkdir -p $TOOLCHAIN_DIR |
| 17 | tar -xf $CROSSTOOL.tar.xz -C $TOOLCHAIN_DIR --strip-components=1 |
| 18 | touch $TOOLCHAIN_DIR |
| 19 | fi |
| 20 | if ( find $CROSSTOOL.tar.xz -newer $TOOLCHAIN_DIR | grep -q $CROSSTOOL.tar.xz ); then |
| 21 | echo "Updating cross toolchain ..." |
| 22 | rm -rf $TOOLCHAIN_DIR/* |
| 23 | tar -xf $CROSSTOOL.tar.xz -C $TOOLCHAIN_DIR --strip-components=1 |
| 24 | touch $TOOLCHAIN_DIR |
| 25 | fi |
| 26 | if [ -f $CROSSTOOL.patch ]; then |
| 27 | cd $OUTPUT_DIR/toolchains |
| 28 | if patch -N -f -s --dry-run -p0 < $CROSSTOOL.patch >/dev/null; then |
| 29 | echo "Preparing cross toolchain ..." |
| 30 | patch -s -p0 < $CROSSTOOL.patch |
| 31 | fi |
| 32 | fi |
| 33 | fi |
| 34 | else |
| 35 | echo "COMPILER is not set, Please execute source scripts/env.sh" |
| 36 | exit 1 |
| 37 | fi |