nwcc is a C compiler for Unix systems that I wrote in my freetime, for fun and to prove to myself that I could. I started the project in August 2003, but because I had a job and a life and a few other hobby code projects, it took me until autumn 2005 to make it work with various constructs of the C language.
The code of nwcc is written in C, is currently around 80,000 lines in size (this includes all backends), and I've released it under the (revised) BSD license. It works with Linux/Mac OS X/FreeBSD/OpenBSD/NetBSD/Solaris on 80x86, Linux/Mac OS X/FreeBSD/OpenBSD on AMD64, Solaris/Linux on SPARC, AIX/Linux on PowerPC, and IRIX on MIPS hardware. Apart from full C89 support, nwcc also understands lots of C99 and GNU C features, and can be used as a drop-in replacement for gcc in many cases. Cross-compilation and PIC code for shared libraries are also supported.
nwcc still cannot compile most large applications (like gcc, MySQL and Linux), but it already works with many other smaller applications - Such as bash, xterm, vim, wget, gxemul, lynx, lsof, strace, zsh, GNU less/tar/make, nasm, and others.
Feature-wise, there are still a lot of things missing in nwcc: