Cross Compiling

Linux
An easy way to setup a cross-compilation environment on Linux is to set up Optware. See http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware for details. If you want to contribute to Optware, just ask for commit access with your first contribution.

Linux: CodeSourcery chain found here.

Mac OSX
MacPorts package: arm-none-linux-gnueabi-gcc

Make sure your MacPorts is up to date.

sudo port selfupdate sudo port upgrade outdated

Make a change to the arm-none-linux-gnueabi-gcc Portfile in:

/opt/local/var/macports/sources/rsync.macports.org/release/ports/cross/arm-none-linux-gnueabi-gcc

And make line 62 read: configure.cc   "cc -no-cpp-precomp -I${prefix}/include"

Finally, install the tools:

sudo port install arm-none-linux-gnueabi-gcc

Should work.

Another way to get some cross toolchains: http://www.ethernut.de/en/documents/cross-toolchain-osx.html

Windows
Windows: CodeSourcery chain found here.

Specifically the 2007q3-51 release, but newer releases may work.