As you may have noticed, I like to develop stuff for all kind of weird devices. For this, I usually need a C compiler, and most of the time it's gcc (not always).
gcc is a big piece of software and there are some tricks needed to build it. Also, I run the Haiku operating system, which is quite nonstandard, so additional workaround are needed.
Today I built gcc for avr. Here are notes on how to do it so I don't spent a month figuring it out next time.
#!/bin/sh # gcc compilation for gcc 4.4.5 (4.5.x needs more stuff. maybe later) # Made by PulkoMandy in 2010 # Before you start : # * Download gmp and mpfr from HaikuPorts (http://ports.haiku-files.org/wiki/Downloads) and extract to /boot # * Download gcc-core-4.4.5.tar.bz2 from gcc mirror and extract to work directory mkdir obj && cd obj # This is the output folder. So you can keep the source area clean setgcc gcc4 # We can't compile gcc4 with gcc2. ../gcc-4.4.5/configure --target=avr --enable-languages=c --prefix=/boot/common/ --with-mpfr=/boot/common/ # Tell the target, then language we want, and where to install the result. Binaries will be called avr-* so don't care about overwriting other ones. # For some obscure reason mpfr isn't detected properly, so we force the prefix. make all-gcc ; make install-gcc # This does compile only gcc, not libgcc; which failed to work for me.
There are other things to watch out : I had to remove a -lm somewhere as Haiku doesn't have a separate libmath.
Next : build a PlayStation development toolchain, including gcc MIPS target.