mozbuild conversions are ongoing, the following is a status update around progress.

The following variables are now supported by mozbuild. Any content changes or addition to them should be made within directory specific moz.build files rather than editing Makefile.in:

ASFILES

CSRCS

CPP_SOURCES

EXPORT*

SIMPLE_PROGRAMS

XPCSHELL_TESTS

Some Makefile.in content for variables will persist while conversions are ongoing. As individual variables are converted and cleanup work is complete, expect changes to be made that will reject future use of converted variables within Makefile.in.

Pending variable conversions

CMMSRCS

DEFINES

HOST_LIBRARY_NAME

PREF_JS_EXPORTS

SUBMAKEFILES

Pass-through variable conversions:

To expedite migrating content from makefile to mozbuild, per-variable passthrough conversions can be added in python/mozbuild/ without having to fully implement a subroutine to handle each variable and nuances.

The following approach has helped avoid taking an all-or-nothing approach for transitioning variables.

Add support for an individual variable within python/mozbuild.

Convert makefiles within several directories.

loop on: review, try, submit

Submit several smaller patches containing bundles of files.

post conversion makefile cleanup.

reject variable use within Makefile.in

deprecate Makefile.in if all logic and variables have been converted.

These operations can be done asynchronously and test/random failures will not imply backing out the entire set of changed files for isolated problems. In contrast some of the early conversion patches contained 800+ files and cycled through several iterations and wide area failures before finally landing.

If you would like to work on some of the passthrough conversions an example from the CSRCS= conversion can be found here:

http://hg.mozilla.org/mozilla-central/rev/e3faa44c33e4

Add support for new varibles + unit test within python/mozbuild.

Convert makefile content to mozbuild.

Ongoing status tracking for variable conversions can be found here:

A list of variables currently suppored by moz.build can be found in sandbox_symbols.py:

http://hg.mozilla.org/mozilla-central/file/ddb7b23166ef/python/mozbuild/mozbuild/frontend/sandbox_symbols.py