Building 32-bit Firefox on Mac OS X 10.6

Building 32-bit Firefox for Mac OS X 10.6 is a little trickier than building on 10.5. This post will explain how to do it. Assume everything I don’t mention is the same as on 10.5.

First, installing mercurial via MacPorts does not work on 10.6 at this time (MacPorts bug 18449). You’ll have to install mercurial “manually,” instructions can be found on the mercurial website. You can install libidl via MacPorts as usual.

Second, Mac OS X 10.6 is 64-bit by default. Most machines will boot with a 32-bit kernel but applications included with the OS are 64-bit by default and the developer toolchain’s default architecture is x86-64. This means that in order to produce a 32-bit build of Firefox you actually have to do a cross-compile, much like the way we produce PPC builds on Intel machines. Luckily this is not too hard – simply start with the mozconfig I put in Mozilla bug 477945. If anything changes I’ll put updated mozconfigs there. The mozconfig on that bug won’t work for everyone, crashreporter is disabled (Mozilla bug 429841) and the resulting build won’t work on 10.4, but that isn’t to say that you can’t get those features when building on 10.6. You’ll just have to tweak the mozconfig as you need and file bugs when you run into problems. The mozconfig on the bug is designed to get most developers up and running quickly.

Status Update: Gecko/Firefox for 64-bit Mac OS X

Since Mac OS X 10.6 is coming out tomorrow I thought I’d give an update on 64-bit Gecko for Mac OS X. Progress is tracked on Mozilla bug 468509.

We’re very close to having running builds. We still need to replace some old API usage related to complex text input and print dialogs, but aside from that I do not know of any other major work items. We have come a long way and we will have builds within a month. As soon as we can produce them we’ll start working on getting a 64-bit Mac OS X 10.6 tinderbox set up to produce nightly builds.

We have not made any decisions about shipping an officially supported 64-bit build for Mac OS X. I suspect at some point we will make the decision to remove the PPC architecture from our universal binary and replace it with x86-64 but like I said, we have not made any decisions yet.