building-cross-compiler.txt (1931B)
1 2 New Instructions 3 ---------------- 4 5 Use http://github.com/travisg/toolchains 6 7 1. % git clone https://github.com/travisg/toolchains.git 8 2. % cd toolchains 9 3. % ARCHES=arm ./doit 10 4. wait while it downloads and builds the toolchain 11 5. arrange for toolchains/arm-eabi-4.8.2-Linux-x86_64/bin to be in your 12 path or use local.mk to override the TOOLCHAIN build variable 13 14 15 16 Old Instructions 17 ---------------- 18 19 This is a transcript of how I built the toolchain, not really intended 20 to be run as a script. 21 22 TODO: see if it's smaller/faster/etc to build only for cortex-m3 23 24 Inspired by http://www.hermann-uwe.de/blog/building-an-arm-cross-toolchain-with-binutils-gcc-newlib-and-gdb-from-source and the gcc online manuals. 25 26 27 # install packages needed on ubuntu 28 sudo apt-get install libgmp3-dev libmpc-dev libgmp3-dev zlib1g-dev build-essential libncurses5-dev texinfo 29 30 # setup workspace 31 mkdir /work/tools 32 cd /work/tools 33 34 # grab sources 35 wget http://mirrors.kernel.org/gnu/binutils/binutils-2.22.tar.bz2 36 wget http://mirrors.kernel.org/gnu/gcc/gcc-4.6.2/gcc-4.6.2.tar.bz2 37 wget http://mirrors.kernel.org/gnu/gdb/gdb-7.3.1.tar.bz2 38 tar -xjvf binutils-2.22.tar.bz2 39 tar -xjvf gcc-4.6.2.tar.bz2 40 tar -xjvf gdb-7.3.1.tar.bz2 41 42 mkdir build 43 44 cd build 45 ../binutils-2.22/configure --target=arm-none-eabi --prefix=/work/tools/arm --enable-interwork --enable-multilib --with-gnu-as --with-gnu-ld --disable-nls 46 make 47 make install 48 cd .. 49 rm -rf build/* 50 51 cd build 52 ../gcc-4.6.2/configure --target=arm-none-eabi --prefix=/work/tools/arm --enable-interwork --enable-multilib --enable-languages="c" --disable-nls --disable-shared --disable-threads --without-headers --with-gnu-as --with-gnu-ld --with-system-zlib --disable-libssp --disable-libmudflap --disable-libgomp 53 make 54 make install 55 cd .. 56 rm -rf build/* 57 58 cd build 59 ../gdb-7.3.1/configure --target=arm-none-eabi --prefix=/work/tools/arm --enable-interwork --enable-multilib 60 make 61 make install 62 cd .. 63 rm -rf build/* 64