blob: 8d990e170656f7f12f25da23a14203275515a7a9 [file] [log] [blame]
Keguang Zhangf5f52292024-05-11 15:54:18 +08001#!/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 Zhang5f3babb2024-05-13 10:29:34 +08009[ -z "$TOOLCHAIN_DIR" ] && TOOLCHAIN_DIR=$OUTPUT_DIR/toolchains/$COMPILER-$TOOLCHAIN_KEYWORD
Keguang Zhangf5f52292024-05-11 15:54:18 +080010CROSSTOOL=$PWD/arch/$ARCH/toolchain/$COMPILER*$TOOLCHAIN_KEYWORD
11
12if [ -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
34else
35 echo "COMPILER is not set, Please execute source scripts/env.sh"
36 exit 1
37fi