source: mainline/contrib/toolchain.mips.sh@ cd95d784

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since cd95d784 was f0a8e52, checked in by Martin Decky <martin@…>, 20 years ago

Directory for toolchain build scripts and other stuff

MIPS toolchain

  • Property mode set to 100755
File size: 2.3 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.16"
19GCC_VERSION="4.0.1"
20
21BINUTILS="binutils-${BINUTILS_VERSION}.tar.gz"
22GCC="gcc-core-${GCC_VERSION}.tar.bz2"
23
24BINUTILS_SOURCE="ftp://ftp.gnu.org/gnu/binutils/"
25GCC_SOURCE="ftp://ftp.gnu.org/gnu/gcc/gcc-${GCC_VERSION}/"
26
27PLATFORM="mipsel"
28WORKDIR=`pwd`
29TARGET="${PLATFORM}-linux-gnu"
30HOST="i686-pc-linux-gnu"
31PREFIX="/usr/local/${PLATFORM}"
32BINUTILSDIR="${WORKDIR}/binutils-${BINUTILS_VERSION}"
33GCCDIR="${WORKDIR}/gcc-${GCC_VERSION}"
34OBJDIR="${WORKDIR}/gcc-obj"
35
36echo ">>> Downloading tarballs"
37
38if [ ! -f "${BINUTILS}" ]; then
39 wget -c "${BINUTILS_SOURCE}${BINUTILS}"
40 check_error $? "Error downloading binutils."
41fi
42if [ ! -f "${GCC}" ]; then
43 wget -c "${GCC_SOURCE}${GCC}"
44 check_error $? "Error downloading GCC."
45fi
46
47echo ">>> Creating destionation directory"
48if [ ! -d "${PREFIX}" ]; then
49 mkdir -p "${PREFIX}"
50 test -d "${PREFIX}"
51 check_error $? "Unable to create ${PREFIX}."
52fi
53
54echo ">>> Creating GCC work directory"
55if [ ! -d "${OBJDIR}" ]; then
56 mkdir -p "${OBJDIR}"
57 test -d "${OBJDIR}"
58 check_error $? "Unable to create ${OBJDIR}."
59fi
60
61echo ">>> Unpacking tarballs"
62tar -xvzf "${BINUTILS}"
63check_error $? "Error unpacking binutils."
64tar -xvjf "${GCC}"
65check_error $? "Error unpacking GCC."
66
67echo ">>> Compiling and installing binutils"
68cd "${BINUTILSDIR}"
69check_error $? "Change directory failed."
70./configure "--host=${HOST}" "--target=${TARGET}" "--prefix=${PREFIX}" "--disable-nls"
71check_error $? "Error configuring binutils."
72make all install
73check_error $? "Error compiling/installing binutils."
74
75echo ">>> Compiling and installing GCC"
76cd "${OBJDIR}"
77check_error $? "Change directory failed."
78"${GCCDIR}/configure" "--host=${HOST}" "--target=${TARGET}" "--prefix=${PREFIX}" "--program-prefix=${TARGET}-" --with-gnu-as --with-gnu-ld --disable-nls --disable-threads --enable-languages=c --disable-multilib --disable-libgcj --without-headers --disable-shared
79check_error $? "Error configuring GCC."
80PATH="${PATH}:${PREFIX}/bin" make all-gcc install-gcc
81check_error $? "Error compiling/installing GCC."
82
83echo
84echo ">>> Cross-compiler for ${TARGET} installed."
Note: See TracBrowser for help on using the repository browser.