wiki:CrossCompiler

Version 5 (modified by Nicolas Pouillon, 16 years ago) (diff)

Link more conf

Configuration

If you already have cross-compilers available, you may define yours in configuration files, see here.

Get the sources

You will need gnu binutils, gcc and gdb. They are available on ftp.gnu.org or any gnu mirror. http://ftp.gnu.org/gnu/binutils, http://ftp.gnu.org/gnu/gcc, http://ftp.gnu.org/gnu/gdb Let's unpack sources:

$ mkdir src
$ cd src
$ tar xjf ..../binutils-2.xx.tar.bz2
$ tar xjf ..../gcc-x.x.x.tar.bz2
$ tar xjf ..../gdb-x.x.x.tar.bz2
$

Compilation

Now lets compile. I assume we'll need to compile more toolchains later, so let's share the sources and compile in a separate directory:

$ cd ..
$ mkdir build build/mipsel build/mipsel/binutils build/mipsel/gcc

First, binutils

$ cd build/mipsel/binutils
$ ../../../src/binutils-2.x/configure  --prefix=/where/to/put/it --target=mipsel-unknown-elf \
  --program-prefix=mipsel-unknown-elf- --disable-nls
$ make
$ make install
$ make -C bfd install_libbfd
$ make -C libiberty install_to_libdir
$

Export the bin directory of your installation path, if not already in it. You should make this permanent by setting the PATH variable in a shell's startup script.

$ export PATH=$PATH:/where/to/put/it/bin
$

Now gcc

$ cd ../gcc
$ ../../../src/gcc-x.x.x/configure  --program-prefix=mipsel-unknown-elf- --prefix=/where/to/put/it \
  --enable-languages=c --target=mipsel-unknown-elf --disable-nls --disable-werror --disable-libssp \
  --disable-threads --without-headers
$ make
$ make install
$

Now gdb

$ cd ../gdb
$ ../../../src/gdb-x.x.x/configure  --program-prefix=mipsel-unknown-elf- --prefix=/where/to/put/it \
  --target=mipsel-unknown-elf
$ make
$ make install
$

We're done !

You may compile PowerPC toolchain as well, with the same lines, replacing mipsel by powerpc.