+REMEMBER!
+---------
+THE RESULTING TOOLCHAIN IS FOR BARE BONE ARM PROCESSOR SOFTWARE. NOT FOR USE
+WITH GLIBC OR THE LINUX KERNEL. DO NOT EVEN BOTHER TO ASK FOR THAT!
+
To compile the arm toolchain for barebone arm devices:
+------------------------------------------------------
* Edit the shellscript header to match your environment
* Run it
* Profit
-Currently tested and know to work target platforms:
+Currently tested and known to work target platforms:
+----------------------------------------------------
* STM32F10x (Olimex STM32-H103 eval board)
-THE RESULTING TOOLCHAIN IS FOR BARE BONE ARM PROCESSOR SOFTWARE, NOT FOR USE
-WITH GLIBC OR THE LINUX KERNEL SO DO NOT EVEN BOTHER TO ASK FOR THAT!
+Currently tested and known to work host platforms:
+--------------------------------------------------
+* Linux 64bit (Debian Unstable)
+* Mac OS X Leopard with MacPorts
+
+Notes for Mac OS X users:
+-------------------------
+You need to install gmp, mpfr and libiconv packages using MacPorts, DarwinPorts
+or fink. GCC-4.4.0 requires them.
-#!/bin/sh
+#!/bin/bash
# Written by Uwe Hermann <uwe@hermann-uwe.de>, released as public domain.
# Modified by Piot Esden-Tempski <piotr@esden.net>, released as public domain.
TARGET=arm-none-eabi # Or: TARGET=arm-none-eabi
-PREFIX=${HOME}/arm-none-eabi # Install location of your final toolchain
-PARALLEL="-j 5" # Or: PARALLEL=""
+PREFIX=${HOME}/arm-none-eabi # Install location of your final toolchain
+PARALLEL="" # Or: PARALLEL="-j 5" for 4 CPU's
+DARWIN_OPT_PATH=/opt/local # Path in which MacPorts or Fink is installed
BINUTILS=binutils-2.19.1
GCC=gcc-4.4.0
export PATH="${PREFIX}/bin:${PATH}"
+case "$(uname)" in
+ Linux)
+ echo "Found Linux OS."
+ GCCFLAGS=
+ ;;
+ Darwin)
+ echo "Found Darwin OS."
+ GCCFLAGS="--with-gmp=${DARWIN_OPT_PATH} \
+ --with-mpfr=${DARWIN_OPT_PATH} \
+ -with-libiconv-prefix=${DARWIN_OPT_PATH}"
+ ;;
+ *)
+ echo "Found Unknown OS. Aborting!"
+ exit 1
+ ;;
+esac
+
if [ ! -e sources ]; then
mkdir sources
fi
--disable-shared \
--with-gnu-as \
--with-gnu-ld \
- --disable-nls || exit
+ --disable-nls \
+ ${GCCFLAGS} || exit
echo "******************************************************************"
echo "* Building ${GCC}-boot"
echo "******************************************************************"
--disable-shared \
--with-gnu-as \
--with-gnu-ld \
- --disable-nls || exit
+ --disable-nls \
+ ${GCCFLAGS} || exit
echo "******************************************************************"
echo "* Building ${GCC}"
echo "******************************************************************"