Nice! Out of curiosity, how does "faster" work? Does it just ignore build
targets/directories that involve native code?

FWIW, I benchmarked various no-changes builds with yesterday's m-c, on my
low-end Surface Pro 3 (i3, 4GB)...

mach build: 7:38
mach build browser: 0:43
mach build toolkit: 1:42
mach build faster: 0:22

Big wins!

Justin

On Thu, Oct 1, 2015 at 5:23 PM, Mike Hommey <m...@glandium.org> wrote:

> Hi,
>
> I recently landed a new build backend that, if you opt-in to running it,
> will make your non-C++ changes to Firefox more readily available in
> local builds.
>
> After you built Firefox normally once, and assuming you only changed
> non-C++ code, you can now use the following command for a faster
> incremental build:
>   ./mach build faster
>
> Now, since this is fresh out of the oven, there are a few things to
> know:
> - it doesn't handle removing files
> - it doesn't handle files that would end up outside of dist/bin
> - it doesn't handle a few things like the files from the default profile
> - it currently only works for desktop Firefox
>
> Obviously, this is not an end state, so things will improve in the
> future, but it should work well enough for most day-to-day work for
> desktop Firefox, thus this message.
>
> On my machine, `mach build faster` completes in about 4 seconds for an
> incremental build. This should get even faster very soon.
>
> Additionally, while requiring some manual steps (which bug 1207888 and
> bug 1207890 will help with), it is also possible to use this to build
> desktop Firefox without actually building any C++. Here is how that
> goes:
> - Run `./mach configure` with a mozconfig containing:
>   ac_add_options --disable-compile-environment
> - Download and unpack a nightly
> - Use `./mach python toolkit/mozapps/installer/unpack.py <path>`, where
>   <path> is the nightly's firefox/ directory.
> - Move that fully unpacked nightly to $objdir/dist/bin (for mac, that
>   involves more fiddling, because dist/bin is a somewhat flattened
>   version of the .app directory)
> - Ensure the files in $objdir/dist/bin are older than the source files.
> - Run `./mach build faster`.
> - On mac, you will need to run something like (untested)
>     ./mach build browser/app/repackage
>
> After that $objdir/dist/bin should contain a bastardized Firefox, with
> xul, js, etc. coming from the source tree, and the remainder still being
> there from the original nightly.
>
> `mach run` should work with that.
>
> Cheers,
>
> Mike
> _______________________________________________
> firefox-dev mailing list
> firefox-...@mozilla.org
> https://mail.mozilla.org/listinfo/firefox-dev
>
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to