Colorize that build!

If you’ve ever built Mozilla from source or run the unit tests, you’ll know that doing so can generate a lot of console output. When errors happen, it can take a bit of scrolling to figure out exactly what failed, and where. I recently switched to pymake (because it’s sooo much faster), and it generates even more output.

Recently Shawn mentioned he had some magic pixie dust to colorize build output (which I didn’t know was possible on Windows), and I extended what he had to do a bit more. I’m finding it hugely useful, so figured I should share!

First, the pretty picture. This particular example is a bit gaudy, but shows a lot of what it does. The mostly useless nsinstall output (of which there’s a *lot*) is dark blue. Compiler warnings are yellow, errors are red.

Oh, and xpcshell tests benefit too!

To add this to your Windows MozillaBuild environment, just add this stuff to ~/.profile, and then open a new shell window.

There’s probably a lot more that could be done with this (and I’m sure it missed all kinds of interesting cases), but it’s a good, simple start!

5 thoughts on “Colorize that build!”

  1. Wouldn’t it be easier to use
    function cmake() {
    gmake ${*:+”$@”} 2>&1 | sed -f colour.txt
    (replace with your favourite make program and arguments) so that you can easily experiment by editing colour.txt?

    ${*:+”$@”} is needed in case you don’t want to specify any arguments.

    What does the -r flag to sed do, my sed doesn’t have it?

Comments are closed.