
MacPorts has a number of versions of compilers available for use. (without a version number, and without any symlinks). (You could modify the PATH, delete the compiler install, or kludge around it.) Will clobber other methods of installing compilers in /usr/local because compiler binaries are simply named 'gcc', 'g++', etc. Doesn't clobber existing system compilers, or the approach above. Advantages: With the right command, installs in /usr/local up-to-date.The PETSc developers recommend this method on their FAQ.
#Should i install homebrew mac mac os x
HPC Mac OS X has binaries for the latest release of GCC (at the time of this writing, 4.8.0 (experimental)), as well as g77 binaries, and an f2c-based compiler. Installing a precompiled, up-to-date binary from HPC Mac OS X (GCC 4.2.1 is the latest Apple compiler it was released in 2007.) Installs to /usr/bin.

Installing a version that matches system compilers In the two years since, Homebrew has grown a lot as a project and has proved more maintainable than MacPorts, which can require a lot of PATH hacking.
Originally, I preferred MacPorts when I wrote this answer. I have tried all of these methods except for "Fink" and "Other Methods".
