c-c + m-c builds now possible with pymake

Siddharth Agarwal sid1337 at gmail.com
Fri Apr 16 13:17:46 UTC 2010


  Thanks to a lot of work by Callek and sgautherie, we're currently at 
the stage where it's possible to build Thunderbird trunk (3.2a1pre) with 
pymake [1]. This is a huge win for build times on Windows.

pymake gives you:
- speed. Process creation is expensive on Windows, and msys fork() even 
more so, so msys make is rather slow. pymake doesn't create submake 
processes, so it's a lot faster on Windows.
- reliability. GNU make often simply stalls if you attempt to do a 
parallel build. pymake doesn't.

Using pymake is easy: the only difference from a regular build is that 
you need to do what client.mk does all by yourself. [1] has more 
details, but a basic sequence of commands looks like:

1) Use autoconf to generate the needed configure files:

cd $SRCDIR
autoconf-2.13
cd mozilla
autoconf-2.13
cd js/src
autoconf-2.13

2) Run configure, passing in your mozconfig. Note that path_to_srcdir 
should be relative.

cd $OBJDIR
MOZCONFIG=path_to_mozconfig path_to_srcdir/configure

3) Build.

python -O path_to_srcdir/mozilla/build/pymake/make.py [-jN]

[1] https://developer.mozilla.org/en/pymake



More information about the tb-planning mailing list