[ -n "$TOOLCHAIN_HELPER" ] && return || readonly TOOLCHAIN_HELPER=1 tc_usage() { echo -e "\tARCH:\t\t which arch to build (arm, armeb, arm64, arm64be), default: arm" echo -e "\tTOOLCHAIN_RELEASE: set toolchain release, default: ${TOOLCHAIN_RELEASE}" } find_toolchain_to_download() { export ARCH=${ARCH:-arm} TOOLCHAIN_RELEASE="${TOOLCHAIN_RELEASE:-14.09}" toolchain_url="http://releases.linaro.org/${TOOLCHAIN_RELEASE}/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.9-20${TOOLCHAIN_RELEASE}_linux.tar.xz" [[ ${ARCH} == "armeb" ]] && toolchain_url="http://releases.linaro.org/${TOOLCHAIN_RELEASE}/components/toolchain/binaries/gcc-linaro-armeb-linux-gnueabihf-4.9-20${TOOLCHAIN_RELEASE}_linux.tar.xz" [[ ${ARCH} == "arm64" ]] && toolchain_url="http://releases.linaro.org/${TOOLCHAIN_RELEASE}/components/toolchain/binaries/gcc-linaro-aarch64-linux-gnu-4.9-20${TOOLCHAIN_RELEASE}_linux.tar.xz" [[ ${ARCH} == "arm64be" ]] && toolchain_url="http://releases.linaro.org/${TOOLCHAIN_RELEASE}/components/toolchain/binaries/gcc-linaro-aarch64_be-linux-gnu-4.9-20${TOOLCHAIN_RELEASE}_linux.tar.xz" echo $toolchain_url export tcbindir="$HOME/$ARCH-tc-${TOOLCHAIN_RELEASE}/bin" mkdir -p $(dirname ${tcbindir}) } install_custom_toolchain() { test -d ${tcbindir} && return 0 test -z "${toolchain_url}" && return 0 toolchain=`basename ${toolchain_url}` test -f ${toolchain} || curl -sSO ${toolchain_url} mkdir -p `dirname ${tcbindir}` tar --strip-components=1 -C `dirname ${tcbindir}` -xf ${toolchain} if [[ $? -ne 0 ]]; then echo "NO toolchain to extract..." exit 1 fi } setup_compiler_prefix() { export PATH="${tcbindir}:$PATH" if [ "${ARCH}" = "arm" ]; then compiler_prefix="arm-linux-gnueabihf" elif [ "$ARCH" = "armeb" ]; then compiler_prefix="armeb-linux-gnueabihf" elif [ "$ARCH" = "arm64" ]; then compiler_prefix="aarch64-linux-gnu" elif [ "$ARCH" = "arm64be" ]; then compiler_prefix="aarch64_be-linux-gnu" fi export CROSS_COMPILE=${compiler_prefix}- } ## vim: set ft=sh sw=4 sts=4 et foldmethod=syntax : ##