cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

firefox build system - mach needs dry-run mode

RobertDurkacz
Making moves

mach is the top level of the firefox build system. It calls configure, make and whatever else.

It should be possible to give mach a dry-run option (just like make accepts -n) whereby it tells what it would do in a normal run. It should then be ok to run the output of mach --dry-run, or parts of it, as a script.

Whereas, not only is there a lack of a dry-run option, makefiles such as client.mk are written to resist being run directly from the command line. All this makes it difficult to zero in on a problem occurring four or so levels down in the build.

2 REPLIES 2

jacl
Making moves

This is a valid point — a mach --dry-run mode would be extremely helpful for anyone working with Firefox’s layered build system. Since mach orchestrates multiple steps (configure, make, Python tooling, etc.), having a way to preview the full execution chain would make debugging much easier, especially when the issue originates several levels deep.

Right now, the lack of a dry-run option combined with makefiles like client.mk resisting direct invocation definitely creates friction for developers who just want to isolate a failing step. A dry-run mode—even if limited to printing intended subcommands—would bring mach closer to how make -n helps in traditional build workflows.


I usually document build-related tools & Android app workflows on this site: pixellabzone.com/

Pixellab Tools & Android Editing Resources

Along with this, the apparent policy that developers should not run configure, make etc directly should be revised. This would assume that mach is smarter than any developer and it is not so.