Having ordered my unlocked Firefox OS device, and then unlocked it, I’m ready to put something newer than Firefox 1.1.0 on it. Because Mozilla doesn’t make public nightly builds for Firefox OS, I’m going to have to compile myself in order to flash my phone with an update. I’ve compiled Firefox and the old Mozilla Suite before that so I expected and found good documentation from our build and dev teams at Building and installing Firefox OS on MDN.

The first thing I realized was that we don’t support building Firefox OS on Windows. Some digging into this revealed that Mozilla relies on the Android project for some of the low-level code and build system stuff. The Android project hasn’t prioritized development on Windows and it would be a herculean task to get all of that code ported to Windows. I asked the owner of the Firefox OS build system if Windows dev support was coming and got an emphatic “no” so for now we’re a Mac and Linux shop. If you’re on Windows, your best bet is probably to dual boot to a popular Linux distro, or run Linux in a VM. I’ll explore those paths at a later time. For now I’m going the hopefully easier rout of moving to a Mac for my Firefox OS work.

The first step to building on Mac is setting up all the prerequisites. Once again, our amazing team of developers and documentators have provided instructions and a couple of tools that make this whole thing a bit easier at Firefox OS build prerequisites on MDN.

This process went pretty well. I fumbled a bit with the 10.6 SDK requirements section, but once I figured out how the Pacifist tool worked, everything else went smoothly.

Once everything was in place, I ran the bootstrap-mac.sh script again and it concluded with this nice note:



Found Xcode: /Applications/Xcode.app

Found Mac OS X 10.6 SDK: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk

Found git: /usr/bin/git

Found gpg: /usr/local/bin/gpg

Found ccache: /usr/local/bin/ccache

Found yasm: /usr/local/bin/yasm

Found cmake: /usr/local/bin/cmake

Found autoconf-2.13: /usr/local/bin/autoconf213

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1

Warning: gcc reports version Apple, will look for gcc-4.6

Found gcc-4.6: /usr/local/bin/gcc-4.6

Congratulations, you are now ready to start building Boot2Gecko!

For more details, see our documentation:

https://developer.mozilla.org/en/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build

And with that, I’m ready to move on to the actual building stage. This is getting very exciting.