#!/bin/bash
set -u -e

BASENAME=arm-gnu-toolchain
VER=${VER:-11.3.rel1}
HOST_ARCH=${HOST_ARCH:-$(uname -m)}

DOWNLOAD_DIR=$1
TOOLCHAIN_DIR=$2
TOOLCHAIN_LINK_DIR=$3

# 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
