toolchain配置
已有 1080 次阅读2020-4-10 16:53
|系统分类:兴趣爱好
#!/bin/bash
toolset_vv=( "2009q1" "2010q1" "2014.05" "2011.03" "2016q3" "443")
TOOLSET_LOC=nothing
TOOLSET_PREFIX=
case "$1" in
${toolset_vv[0]})
TOOLSET_LOC=arm-2009q1/CodeSourcery/Sourcery_G++_Lite/bin
TOOLSET_PREFIX=arm-uclinuxeabi-
;;
${toolset_vv[1]})
TOOLSET_LOC=arm-2010q1/bin
TOOLSET_PREFIX=arm-uclinuxeabi-
;;
${toolset_vv[2]})
TOOLSET_LOC=arm-2014.05/bin
TOOLSET_PREFIX=arm-none-linux-gnueabi-
;;
${toolset_vv[3]})
TOOLSET_LOC=arm-2011.03/bin
TOOLSET_PREFIX=arm-none-eabi-
;;
${toolset_vv[4]})
TOOLSET_LOC=gcc-arm-none-eabi-5_4-2016q3/bin
TOOLSET_PREFIX=arm-none-eabi-
;;
${toolset_vv[5]})
TOOLSET_LOC=opt/FriendlyARM/toolschain/4.4.3/bin
TOOLSET_PREFIX=arm-linux-
;;
"")
TOOLSET_LOC=gcc-arm-none-eabi-5_4-2016q3/bin
TOOLSET_PREFIX=arm-none-eabi-
;;
"-h")
echo "${toolset_vv[@]}"
exit 8
;;
esac
NAMED_PIPE=.toolset.conf
LOCALPATH=$(pwd)
if [ -z "$PS1" ]; then
#if [ ! -z "$ARCH" ]; then
# echo "\$ARCH is exported($ARCH),so we need do nothing!"
# exit 1
#fi
#echo "no interactive shell"
LOCALPATH=$(realpath $0)
#echo `expr length $LOCALPATH`
#echo ${LOCALPATH}
s1=`expr ${LOCALPATH} : '\(.*\)/data/abacus'`
TOOLSPATH=${s1}/atelier/${TOOLSET_LOC}
echo ${TOOLSPATH}, ${TOOLSET_PREFIX}
ls ${TOOLSPATH} >> /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "the toolchain's path is valid"
else
echo "the toolchain's path is not valid"
exit 1
fi
present=$(echo $PATH | sed -n -e "\#${TOOLSPATH}#p" | wc -c)
echo "$present"
if [ ${present} -gt 0 ]; then
echo "path info is exist in \$PATH, then haha..."
exit 2
else
echo "\$PATH="$PATH
echo "\${TOOLSPATH}="${TOOLSPATH}
fi
echo ${TOOLSPATH} > ${NAMED_PIPE}
echo ${TOOLSET_PREFIX} >> ${NAMED_PIPE}
exit 0
else
echo "interactive shell"
fi
#NAMED_PIPE=/tmp/$$
{
read TOOLSPATH_S2
read TOOLSPREFIX_S2
}<${NAMED_PIPE}
rm -rf ${NAMED_PIPE}
echo ${TOOLSPATH_S2}:
eval "ls ${TOOLSPATH_S2}"
echo "toolchain prefix:" ${TOOLSPREFIX_S2}
if [ -z "$ARCH" ]; then
echo "export \$ARCH"
export PATH=$PATH:${TOOLSPATH_S2}
export CROSS_COMPILE=${TOOLSPREFIX_S2}
export ARCH=arm
else
echo "\$ARCH is exported"
fi