source: mainline/contrib/toolchain/toolchain.ia64.sh@ 73404e21

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

move contrib from kernel/ to /
update Sparc64 toolchain to use Binutils 2.17 (neeeded for linking uspace)

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