Build Firefox Faster with Artifact Builds

By  on  

Working on Firefox DevTools has always been a dream of mine, mostly because it feels like the ultimate way to give back to the development community and those that helped me become a success.  And when I explain who Mozilla is and people ask "Oh, so you work on Firefox?!", I can finally say "yes"!

Of course working on Firefox DevTools isn't without its problems, the biggest being that Firefox takes forever to build.  And its effect on a MacBook Pro's CPU?  Well...here's a recent photo of me building Firefox:

Build Firefox

Thankfully there's a faster way to build Firefox for local developer:  artifact builds.  Artifact builds allow you to use pre-built binaries to build Firefox for debugging DevTools (and other features) much more quickly.

Start by creating a mozconfig with the following contents:

# Automatically download and use compiled C++ components:
ac_add_options --enable-artifact-builds

# Write build artifacts to:
mk_add_options MOZ_OBJDIR=./objdir-frontend

The trigger a build using mach:

./mach clobber && ./mach build

# Use `./mach build faster` in the future

Firefox builds go from an hour (and potentially a call to the Fire Department) to just a few minutes.  If you're looking to help develop DevTools, Firefox, or simply have your own custom build of Firefox, jump on artifact builds -- these mozconfig directives are worth the time!

Recent Features

  • By
    Responsive Images: The Ultimate Guide

    Chances are that any Web designers using our Ghostlab browser testing app, which allows seamless testing across all devices simultaneously, will have worked with responsive design in some shape or form. And as today's websites and devices become ever more varied, a plethora of responsive images...

  • By
    39 Shirts – Leaving Mozilla

    In 2001 I had just graduated from a small town high school and headed off to a small town college. I found myself in the quaint computer lab where the substandard computers featured two browsers: Internet Explorer and Mozilla. It was this lab where I fell...

Incredible Demos

  • By
    CSS Animations Between Media Queries

    CSS animations are right up there with sliced bread. CSS animations are efficient because they can be hardware accelerated, they require no JavaScript overhead, and they are composed of very little CSS code. Quite often we add CSS transforms to elements via CSS during...

  • By
    CSS @supports

    Feature detection via JavaScript is a client side best practice and for all the right reasons, but unfortunately that same functionality hasn't been available within CSS.  What we end up doing is repeating the same properties multiple times with each browser prefix.  Yuck.  Another thing we...

Discussion

    Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!