Your own 64-Bit-build of Firefox

With all that Firefox 3.6 news lately, you might have asked yourself where to get it for your 64 Bit system, because though the nightly builds also include x86_64 (to make sure developers don’t break anything), official releases – like latest 3.6 release – don’t.

Here’s what I do:

  1. Download the sources (you could also checkout the repository)
  2. apt-get build-dep iceweasel
  3. Unpack the sources
  4. If you want to include a language, e.g. German, execute:
    hg clone http://hg.mozilla.org/l10n-central/de

You should now have the sources directory (in mozilla-1.9.2/) and the release version of your preferred localization (in de/). These steps were pretty straight forward, but what really matters is your build-script.

Just building the sources doesn’t suffice, at least for a Gnome user, so here’s my “.mozconfig”-file:

export LDFLAGS="-lgcov -static-libgcc"
mk_add_options MOZ_CO_PROJECT=browser
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-opt
ac_add_options --enable-update-packaging
ac_add_options --enable-update-channel=release
ac_add_options --prefix=/opt/firefox
ac_add_options --enable-64bit
ac_add_options --enable-application=browser
ac_add_options --enable-optimize
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-system-cairo
ac_add_options --enable-strip
ac_add_options --enable-svg-renderer=cairo
ac_add_options --enable-canvas
ac_add_options --enable-official-branding
ac_add_options --enable-xinerama
ac_add_options --enable-crypto
ac_add_options --disable-tests
ac_add_options --disable-gtktest
ac_add_options --disable-debug
ac_add_options --disable-accessibility
ac_add_options --disable-installer
ac_add_options --disable-crashreporter
ac_add_options --with-java-include-path=/usr/lib/jvm/java-6-openjdk/include/
ac_add_options --with-java-bin-path=/usr/lib/jvm/java-6-openjdk/bin
ac_add_options --with-system-zlib
ac_add_options --with-system-jpeg
mk_add_options MOZ_CO_LOCALES=de
ac_add_options --enable-ui-locale=de
ac_add_options --with-l10n-base=../../

The last three lines should be changed according to the language used or commented if you want to build en_US only.
Save the above code to a file and link it to “mozilla-1.9.2/.mozconfig” (or create that file, doesn’t matter).

Finally, to compile the sources and build them change into mozilla-1.9.2 and execute:

make -f client.mk build
make -C ff-opt/browser/installer

You will find the distributable Firefox package, “firefox-3.6.de.linux-x86_64.tar.bz2”, in “ff-opt/dist”.

I’d advise to extract, rename it to “firefox-3.6”, move that folder to /opt and symlink it to “/opt/firefox”.
This will enable you to always use “/opt/firefox/firefox”, no matter what version (for a symlink to “/usr/local/bin/firefox” for example).

Leave a comment if you’ve got any additional tipps.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.