mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-01-12 03:10:15 +00:00
Update the Arm Binary toolchain to version 13.3-rel1. The upper to lowercase 'r' in rel was intentional, as the exact match is needed for devtool to properly determine the correct version. Signed-off-by: Jon Mason <jon.mason@arm.com>
52 lines
1.5 KiB
Bash
Executable File
52 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
set -u -e
|
|
|
|
BASENAME=arm-gnu-toolchain
|
|
VER=${VER:-13.3.rel1}
|
|
HOST_ARCH=${HOST_ARCH:-$(uname -m)}
|
|
|
|
# Use the standard kas container locations if nothing is passed into the script
|
|
DOWNLOAD_DIR="${1:-/builds/persist/downloads/}"
|
|
TOOLCHAIN_DIR="${2:-/builds/persist//toolchains/}"
|
|
TOOLCHAIN_LINK_DIR="${3:-build/toolchains/}"
|
|
|
|
# These should be already created by .gitlab-ci.yml, but do here if run outside of that env
|
|
mkdir -p $DOWNLOAD_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
|
|
|
download() {
|
|
TRIPLE=$1
|
|
URL=https://developer.arm.com/-/media/Files/downloads/gnu/$VER/binrel/$BASENAME-$VER-$HOST_ARCH-$TRIPLE.tar.xz
|
|
wget -P $DOWNLOAD_DIR -nc $URL
|
|
}
|
|
|
|
if [ $HOST_ARCH = "aarch64" ]; then
|
|
# AArch64 Linux hosted cross compilers
|
|
|
|
# AArch32 target with hard float
|
|
download arm-none-linux-gnueabihf
|
|
elif [ $HOST_ARCH = "x86_64" ]; then
|
|
# x86_64 Linux hosted cross compilers
|
|
|
|
# AArch32 target with hard float
|
|
download arm-none-linux-gnueabihf
|
|
|
|
# AArch64 GNU/Linux target
|
|
download aarch64-none-linux-gnu
|
|
else
|
|
echo "ERROR - Unknown build arch of $HOST_ARCH"
|
|
exit 1
|
|
fi
|
|
|
|
for i in arm aarch64; do
|
|
if [ ! -d $TOOLCHAIN_DIR/$BASENAME-$VER-$HOST_ARCH-$i-none-linux-gnu*/ ]; then
|
|
if [ ! -f $DOWNLOAD_DIR/$BASENAME-$VER-$HOST_ARCH-$i-none-linux-gnu*.tar.xz ]; then
|
|
continue
|
|
fi
|
|
|
|
tar -C $TOOLCHAIN_DIR -axvf $DOWNLOAD_DIR/$BASENAME-$VER-$HOST_ARCH-$i-none-linux-gnu*.tar.xz
|
|
fi
|
|
|
|
# Setup a link for the toolchain to use local to the building machine (e.g., not in a shared location)
|
|
ln -s $TOOLCHAIN_DIR/$BASENAME-$VER-$HOST_ARCH-$i-none-linux-gnu* $TOOLCHAIN_LINK_DIR/$i
|
|
done
|