huangxz的笔记 https://passport2.21ic.com/?73035 [收藏] [复制] [RSS]

日志

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




路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)