source: mainline/contrib/toolchain/toolchain.arm32.sh@ 8ccd2ea

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 8ccd2ea was c950a0b, checked in by Jakub Jermar <jakub@…>, 18 years ago

Upgrade toolchain scripts to use binutils 2.18 and gcc 4.2.2.

  • Property mode set to 100755
File size: 2.8 KB
Line 
1#!/bin/bash
2
3# Cross-Compiler Toolchain for ${PLATFORM}
4# by Martin Decky <martin@decky.cz>
5#
6# GPL'ed, copyleft
7#
8
9
10check_error() {
11 if [ "$1" -ne "0" ]; then
12 echo
13 echo "Script failed: $2"
14 exit
15 fi
16}
17
18BINUTILS_VERSION="2.18"
19GCC_VERSION="4.2.2"
20
21BINUTILS="binutils-${BINUTILS_VERSION}.tar.gz"
22GCC_CORE="gcc-core-${GCC_VERSION}.tar.bz2"
23GCC_OBJC="gcc-objc-${GCC_VERSION}.tar.bz2"
24GCC_CPP="gcc-g++-${GCC_VERSION}.tar.bz2"
25
26BINUTILS_SOURCE="ftp://ftp.gnu.org/gnu/binutils/"
27GCC_SOURCE="ftp://ftp.gnu.org/gnu/gcc/gcc-${GCC_VERSION}/"
28
29PLATFORM="arm"
30WORKDIR=`pwd`
31TARGET="${PLATFORM}-linux-gnu"
32PREFIX="/usr/local/${PLATFORM}"
33BINUTILSDIR="${WORKDIR}/binutils-${BINUTILS_VERSION}"
34GCCDIR="${WORKDIR}/gcc-${GCC_VERSION}"
35OBJDIR="${WORKDIR}/gcc-obj"
36
37echo ">>> Downloading tarballs"
38
39if [ ! -f "${BINUTILS}" ]; then
40 wget -c "${BINUTILS_SOURCE}${BINUTILS}"
41 check_error $? "Error downloading binutils."
42fi
43if [ ! -f "${GCC_CORE}" ]; then
44 wget -c "${GCC_SOURCE}${GCC_CORE}"
45 check_error $? "Error downloading GCC Core."
46fi
47if [ ! -f "${GCC_OBJC}" ]; then
48 wget -c "${GCC_SOURCE}${GCC_OBJC}"
49 check_error $? "Error downloading GCC Objective C."
50fi
51if [ ! -f "${GCC_CPP}" ]; then
52 wget -c "${GCC_SOURCE}${GCC_CPP}"
53 check_error $? "Error downloading GCC C++."
54fi
55
56echo ">>> Creating destionation directory"
57if [ ! -d "${PREFIX}" ]; then
58 mkdir -p "${PREFIX}"
59 test -d "${PREFIX}"
60 check_error $? "Unable to create ${PREFIX}."
61fi
62
63echo ">>> Creating GCC work directory"
64if [ ! -d "${OBJDIR}" ]; then
65 mkdir -p "${OBJDIR}"
66 test -d "${OBJDIR}"
67 check_error $? "Unable to create ${OBJDIR}."
68fi
69
70echo ">>> Unpacking tarballs"
71tar -xvzf "${BINUTILS}"
72check_error $? "Error unpacking binutils."
73tar -xvjf "${GCC_CORE}"
74check_error $? "Error unpacking GCC Core."
75tar -xvjf "${GCC_OBJC}"
76check_error $? "Error unpacking GCC Objective C."
77tar -xvjf "${GCC_CPP}"
78check_error $? "Error unpacking GCC C++."
79
80echo ">>> Compiling and installing binutils"
81cd "${BINUTILSDIR}"
82check_error $? "Change directory failed."
83./configure "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" "--disable-nls"
84check_error $? "Error configuring binutils."
85make all install
86check_error $? "Error compiling/installing binutils."
87
88echo ">>> Compiling and installing GCC"
89cd "${OBJDIR}"
90check_error $? "Change directory failed."
91"${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
92check_error $? "Error configuring GCC."
93PATH="${PATH}:${PREFIX}/bin" make all-gcc install-gcc
94check_error $? "Error compiling/installing GCC."
95
96echo
97echo ">>> Cross-compiler for ${TARGET} installed."
Note: See TracBrowser for help on using the repository browser.