Hi,

what exactly does this do?

If I

mach build chrome

does it build the things I need to get everything in chrome built, or
does it build everything that depends on the chrome dir,
or both?

Axel

On 5/2/13 7:03 PM, Nick Alexander wrote:
Hello dev-platform,

If you don't use mach, this message does not concern you.  If you use
mach, in particular |mach build DIRECTORY|, keep reading.

Bug 677452 landed "smartmake-like" functionality into mach, which I have
dubbed dumbmake.  smartmake (and dumbmake) [1] maintains a list of
dependencies between source directories that are not captured in our
recursive make configuration [2].  This means that

|mach build DIRECTORY|

might actually build several directories.  This change does not affect
|mach build|, and you can disable the new functionality on the command
line with |mach build -X|.

This is a short term step towards making |mach build| create functional
builds more often, while requiring developers to internalize fewer
dependencies.  Long term, any dependency information added by Bug 677452
should be captured by the ongoing efforts to Build Faster [3].

I would appreciate help improving the list of dependencies.  The list is
maintained at build/dumbmake-dependencies; see
python/mozbuild/dumbmake/README.rst for a description of the format.

Finally, I'd like to thank Josh Matthews, the original author of
smartmake, and Till Schneidereit, who added significant functionality
and provided valuable guidance on how to integrate some of these ideas
into mach.

Yours,
Nick Alexander

[1] http://hg.mozilla.org/users/josh_joshmatthews.net/smartmake

[2] smartmake can also maintain timestamps and deduce what directories
need to be built, but this isn't implemented in mach.

[3] Harder, better, ..., stronger.

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to