blob: 8d990e170656f7f12f25da23a14203275515a7a9 [file] [log] [blame]
#!/bin/bash
#
# Copyright (c) 2021-2024 Amlogic, Inc. All rights reserved.
#
# SPDX-License-Identifier: MIT
#
[ -z "$OUTPUT_DIR" ] && OUTPUT_DIR=$PWD/output
[ -z "$TOOLCHAIN_DIR" ] && TOOLCHAIN_DIR=$OUTPUT_DIR/toolchains/$COMPILER-$TOOLCHAIN_KEYWORD
CROSSTOOL=$PWD/arch/$ARCH/toolchain/$COMPILER*$TOOLCHAIN_KEYWORD
if [ -n "$COMPILER" ]; then
if [[ "$ARCH" == "arm" || "$ARCH" == "arm64" ]]; then
if [ ! -d $TOOLCHAIN_DIR ]; then
echo "Extracting cross toolchain ..."
mkdir -p $TOOLCHAIN_DIR
tar -xf $CROSSTOOL.tar.xz -C $TOOLCHAIN_DIR --strip-components=1
touch $TOOLCHAIN_DIR
fi
if ( find $CROSSTOOL.tar.xz -newer $TOOLCHAIN_DIR | grep -q $CROSSTOOL.tar.xz ); then
echo "Updating cross toolchain ..."
rm -rf $TOOLCHAIN_DIR/*
tar -xf $CROSSTOOL.tar.xz -C $TOOLCHAIN_DIR --strip-components=1
touch $TOOLCHAIN_DIR
fi
if [ -f $CROSSTOOL.patch ]; then
cd $OUTPUT_DIR/toolchains
if patch -N -f -s --dry-run -p0 < $CROSSTOOL.patch >/dev/null; then
echo "Preparing cross toolchain ..."
patch -s -p0 < $CROSSTOOL.patch
fi
fi
fi
else
echo "COMPILER is not set, Please execute source scripts/env.sh"
exit 1
fi