Changeset c9f61150 in mainline for tools/toolchain.sh


Ignore:
Timestamp:
2013-05-30T14:16:53Z (11 years ago)
Author:
Dominik Taborsky (AT DOT) <brembyseznamcz>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6e8e4e19
Parents:
9bda5d90 (diff), 469739f (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

API changes, bug fixing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tools/toolchain.sh

    r9bda5d90 rc9f61150  
    5353EOF
    5454
    55 BINUTILS_VERSION="2.22"
     55BINUTILS_VERSION="2.23.1"
    5656BINUTILS_RELEASE=""
    57 #GCC_VERSION="4.7.2"
    58 GCC_VERSION="4.7.3"
    59 #GCC_VERSION="4.8.0"
    60 GDB_VERSION="7.5"
     57GCC_VERSION="4.8.0"
     58GDB_VERSION="7.5.1"
    6159
    6260BASEDIR="`pwd`"
     
    7371        HEADER="$2"
    7472        BODY="$3"
    75 
     73       
    7674        FNAME="/tmp/conftest-$$"
    77 
     75       
    7876        echo "#include ${HEADER}" > "${FNAME}.c"
    7977        echo >> "${FNAME}.c"
     
    8381        echo "  return 0;" >> "${FNAME}.c"
    8482        echo "}" >> "${FNAME}.c"
    85 
     83       
    8684        cc -c -o "${FNAME}.o" "${FNAME}.c" 2> "${FNAME}.log"
    8785        RC="$?"
    88 
     86       
    8987        if [ "$RC" -ne "0" ] ; then
    9088                echo " ${DEPENDENCY} not found, too old or compiler error."
     
    115113                echo
    116114                echo "Script failed: $2"
    117 
     115               
    118116                exit 1
    119117        fi
     
    123121        FILE="$1"
    124122        SUM="$2"
    125 
     123       
    126124        COMPUTED="`md5sum "${FILE}" | cut -d' ' -f1`"
    127125        if [ "${SUM}" != "${COMPUTED}" ] ; then
    128126                echo
    129127                echo "Checksum of ${FILE} does not match."
    130 
     128               
    131129                exit 2
    132130        fi
     
    158156        echo "defined, /usr/local/cross will be used by default."
    159157        echo
    160 
     158       
    161159        exit 3
    162160}
     
    168166show_countdown() {
    169167        TM="$1"
    170 
     168       
    171169        if [ "${TM}" -eq 0 ] ; then
    172170                echo
    173171                return 0
    174172        fi
    175 
     173       
    176174        echo -n "${TM} "
    177175        change_title "${TM}"
    178176        sleep 1
    179 
     177       
    180178        TM="`expr "${TM}" - 1`"
    181179        show_countdown "${TM}"
     
    213211        FILE="$2"
    214212        CHECKSUM="$3"
    215 
     213       
    216214        if [ ! -f "${FILE}" ]; then
    217215                change_title "Downloading ${FILE}"
     
    219217                check_error $? "Error downloading ${FILE}."
    220218        fi
    221 
     219       
    222220        check_md5 "${FILE}" "${CHECKSUM}"
    223221}
     
    225223source_check() {
    226224        FILE="$1"
    227 
     225       
    228226        if [ ! -f "${FILE}" ]; then
    229227                echo
    230228                echo "File ${FILE} not found."
    231 
     229               
    232230                exit 4
    233231        fi
     
    236234cleanup_dir() {
    237235        DIR="$1"
    238 
     236       
    239237        if [ -d "${DIR}" ]; then
    240238                change_title "Removing ${DIR}"
     
    247245        DIR="$1"
    248246        DESC="$2"
    249 
     247       
    250248        change_title "Creating ${DESC}"
    251249        echo ">>> Creating ${DESC}"
    252 
     250       
    253251        mkdir -p "${DIR}"
    254252        test -d "${DIR}"
     
    259257        FILE="$1"
    260258        DESC="$2"
    261 
     259       
    262260        change_title "Unpacking ${DESC}"
    263261        echo " >>> Unpacking ${DESC}"
    264 
     262       
    265263        tar -xjf "${FILE}"
    266264        check_error $? "Error unpacking ${DESC}."
     
    271269        check_dependecies
    272270        show_countdown 10
    273 
     271       
    274272        BINUTILS_SOURCE="ftp://ftp.gnu.org/gnu/binutils/"
    275273        GCC_SOURCE="ftp://ftp.gnu.org/gnu/gcc/gcc-${GCC_VERSION}/"
    276274        GDB_SOURCE="ftp://ftp.gnu.org/gnu/gdb/"
    277 
    278         download_fetch "${BINUTILS_SOURCE}" "${BINUTILS}" "ee0f10756c84979622b992a4a61ea3f5"
    279         download_fetch "${GCC_SOURCE}" "${GCC}" "cc308a0891e778cfda7a151ab8a6e762"
    280         download_fetch "${GDB_SOURCE}" "${GDB}" "24a6779a9fe0260667710de1b082ef61"
     275       
     276        download_fetch "${BINUTILS_SOURCE}" "${BINUTILS}" "33adb18c3048d057ac58d07a3f1adb38"
     277        download_fetch "${GCC_SOURCE}" "${GCC}" "e6040024eb9e761c3bea348d1fa5abb0"
     278        download_fetch "${GDB_SOURCE}" "${GDB}" "3f48f468b24447cf24820054ff6e85b1"
    281279}
    282280
     
    284282        PLATFORM="$1"
    285283        TARGET="$2"
    286 
     284       
    287285        WORKDIR="${BASEDIR}/${PLATFORM}"
    288286        BINUTILSDIR="${WORKDIR}/binutils-${BINUTILS_VERSION}"
     
    290288        OBJDIR="${WORKDIR}/gcc-obj"
    291289        GDBDIR="${WORKDIR}/gdb-${GDB_VERSION}"
    292 
     290       
    293291        if [ -z "${CROSS_PREFIX}" ] ; then
    294292                CROSS_PREFIX="/usr/local/cross"
    295293        fi
    296 
     294       
    297295        PREFIX="${CROSS_PREFIX}/${PLATFORM}"
    298 
     296       
    299297        echo ">>> Downloading tarballs"
    300         #source_check "${BASEDIR}/${BINUTILS}"
     298        source_check "${BASEDIR}/${BINUTILS}"
    301299        source_check "${BASEDIR}/${GCC}"
    302         #source_check "${BASEDIR}/${GDB}"
    303 
     300        source_check "${BASEDIR}/${GDB}"
     301       
    304302        echo ">>> Removing previous content"
    305         #cleanup_dir "${PREFIX}"
    306         #cleanup_dir "${WORKDIR}"
    307 
     303        cleanup_dir "${PREFIX}"
     304        cleanup_dir "${WORKDIR}"
     305       
    308306        create_dir "${PREFIX}" "destination directory"
    309307        create_dir "${OBJDIR}" "GCC object directory"
    310 
     308       
    311309        echo ">>> Unpacking tarballs"
    312310        cd "${WORKDIR}"
    313311        check_error $? "Change directory failed."
    314 
    315         #unpack_tarball "${BASEDIR}/${BINUTILS}" "binutils"
     312       
     313        unpack_tarball "${BASEDIR}/${BINUTILS}" "binutils"
    316314        unpack_tarball "${BASEDIR}/${GCC}" "GCC"
    317         #unpack_tarball "${BASEDIR}/${GDB}" "GDB"
    318 
    319         #echo ">>> Processing binutils (${PLATFORM})"
    320         #cd "${BINUTILSDIR}"
    321         #check_error $? "Change directory failed."
    322 
    323         #change_title "binutils: configure (${PLATFORM})"
    324         #CFLAGS=-Wno-error ./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" --disable-nls --disable-werror
    325         #check_error $? "Error configuring binutils."
    326 
    327         #change_title "binutils: make (${PLATFORM})"
    328         #make all install
    329         #check_error $? "Error compiling/installing binutils."
    330 
     315        unpack_tarball "${BASEDIR}/${GDB}" "GDB"
     316       
     317        echo ">>> Processing binutils (${PLATFORM})"
     318        cd "${BINUTILSDIR}"
     319        check_error $? "Change directory failed."
     320       
     321        change_title "binutils: configure (${PLATFORM})"
     322        CFLAGS=-Wno-error ./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" --disable-nls --disable-werror
     323        check_error $? "Error configuring binutils."
     324       
     325        change_title "binutils: make (${PLATFORM})"
     326        make all install
     327        check_error $? "Error compiling/installing binutils."
     328       
    331329        echo ">>> Processing GCC (${PLATFORM})"
    332330        cd "${OBJDIR}"
    333331        check_error $? "Change directory failed."
    334 
     332       
    335333        change_title "GCC: configure (${PLATFORM})"
    336334        "${GCCDIR}/configure" "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" --with-gnu-as --with-gnu-ld --disable-nls --disable-threads --enable-languages=c,objc,c++,obj-c++ --disable-multilib --disable-libgcj --without-headers --disable-shared --enable-lto --disable-werror
    337335        check_error $? "Error configuring GCC."
    338 
     336       
    339337        change_title "GCC: make (${PLATFORM})"
    340338        PATH="${PATH}:${PREFIX}/bin" make all-gcc install-gcc
    341339        check_error $? "Error compiling/installing GCC."
    342 
    343         #echo ">>> Processing GDB (${PLATFORM})"
    344         #cd "${GDBDIR}"
    345         #check_error $? "Change directory failed."
    346 
    347         #change_title "GDB: configure (${PLATFORM})"
    348         #./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-"
    349         #check_error $? "Error configuring GDB."
    350 
    351         #change_title "GDB: make (${PLATFORM})"
    352         #make all install
    353         #check_error $? "Error compiling/installing GDB."
    354 
     340       
     341        echo ">>> Processing GDB (${PLATFORM})"
     342        cd "${GDBDIR}"
     343        check_error $? "Change directory failed."
     344       
     345        change_title "GDB: configure (${PLATFORM})"
     346        ./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-"
     347        check_error $? "Error configuring GDB."
     348       
     349        change_title "GDB: make (${PLATFORM})"
     350        make all install
     351        check_error $? "Error compiling/installing GDB."
     352       
    355353        cd "${BASEDIR}"
    356354        check_error $? "Change directory failed."
    357 
     355       
    358356        echo ">>> Cleaning up"
    359357        cleanup_dir "${WORKDIR}"
    360 
     358       
    361359        echo
    362360        echo ">>> Cross-compiler for ${TARGET} installed."
     
    369367case "$1" in
    370368        "amd64")
    371                 #prepare
     369                prepare
    372370                build_target "amd64" "amd64-linux-gnu"
    373371                ;;
     
    377375                ;;
    378376        "ia32")
    379                 #prepare
     377                prepare
    380378                build_target "ia32" "i686-pc-linux-gnu"
    381379                ;;
     
    440438                build_target "arm32" "arm-linux-gnueabi" &
    441439                wait
    442 
     440               
    443441                build_target "ia32" "i686-pc-linux-gnu" &
    444442                build_target "ia64" "ia64-pc-linux-gnu" &
    445443                wait
    446 
     444               
    447445                build_target "mips32" "mipsel-linux-gnu" &
    448446                build_target "mips32eb" "mips-linux-gnu" &
    449447                wait
    450 
     448               
    451449                build_target "mips64" "mips64el-linux-gnu" &
    452450                build_target "ppc32" "ppc-linux-gnu" &
    453451                wait
    454 
     452               
    455453                build_target "ppc64" "ppc64-linux-gnu" &
    456454                build_target "sparc64" "sparc64-linux-gnu" &
Note: See TracChangeset for help on using the changeset viewer.