XPCOMGC

From MozillaWiki
Revision as of 09:14, 25 April 2008 by Steffen (talk | contribs) (missing brackets)
Jump to navigation Jump to search

XPCOMGC is the Mozilla 2 project to convert the XPCOM object model from reference counting to use MMgc garbage collection.

General Info

Tracking is bug XPCOMGC.

TODO: collect/format information from the newsgroup discussion.

Tasks

Building XPCOMGC

The XPCOMGC work is currently taking place in mercurial patch queues on top of the ActionMonkey repositories. Follow the instructions below to build:

~ $ builddir=/builds/xpcomgc
~ $ cd $builddir
/builds/xpcomgc $ hg clone http://hg.mozilla.org/actionmonkey/ src
/builds/xpcomgc $ cd src
/builds/xpcomgc/src $ hg clone http://hg.mozilla.org/users/bsmedberg_mozilla.com/xpcomgc-patches/ .hg/patches
/builds/xpcomgc/src $ head .hg/patches/series
# Currently based against actionmonkey revision AA112233
/builds/xpcomgc/src $ hg up AA112233
/builds/xpcomgc/src $ hg qpush -a
/builds/xpcomgc/src $ hg clone http://hg.mozilla.org/actionmonkey-tamarin js/tamarin
/builds/xpcomgc/src/js/tamarin $ cd js/tamarin
/builds/xpcomgc/src/js/tamarin $ hg clone http://hg.mozilla.org/users/bsmedberg_mozilla.com/xpcomgc-tamarin-patches .hg/patches
/builds/xpcomgc/src/js/tamarin $ head .hg/patches/series
# Currently based against actionmonkey-tamarin revision BB445566
/builds/xpcomgc/src/js/tamarin $ hg up BB445566
/builds/xpcomgc/src/js/tamarin $ cd $builddir/src
/builds/xpcomgc/src $ python client.py checkout --skip-mozilla --skip-tamarin
/builds/xpcomgc/src $ autoconf-2.13

This will get you to a state before automatic patching occurs. This tree should build correctly, if you pass WARNINGS_AS_ERRORS= on the make command line. You can generate and apply the automatic patches using the script:

/builds/xpcomgc/src/.hg/patches/generate-automatic-patches.sh

You will need the oink stack and pork-barrel installed, and may need to edit paths in that file to match your local system.