Building Mozilla Firefox Notes
I like firefox with XFT (smooth fonts). However, debian stable currently doesn't have the gtk2
libraries so the official xft-gtk2 firefox releases don't do much for me. Here's how I build
firefox 0.9 with xft, but without gtk2.
Download latest Release
-----------------------
wget http://trillian.cc.gatech.edu/pub/mozilla.org/firefox/releases/0.9/firefox-0.9-source.tar.bz2
unpack into ~/mozilla
-------Begin .mozconfig-------
export MOZ_PHOENIX=1
export MOZ_CALENDER=0
export MOZ_ENABLE_XFT=1
mk_add_options MOZ_PHOENIX=1
# standard options
ac_add_options --enable-crypto
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --disable-mailnews
ac_add_options --disable-composer
ac_add_options --disable-calender
ac_add_options --enable-optimize="-Os -march=i686"
# enable stuff
ac_add_options --with-pthreads
ac_add_options --enable-xft
ac_add_options --enable-freetype2
ac_add_options --enable-reorder
ac_add_options --enable-strip
ac_add_options --enable-strip-libs
ac_add_options --enable-cpp-rtti
ac_add_options --enable-cpp-extensions
ac_add_options --enable-old-abi-compat-wrappers
# use system libraries
ac_add_options --with-x
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-png
ac_add_options --with-system-mng
# nspr?
ac_add_options --enable-nspr-autoconf
ac_add_options --without-system-nspr
# disable
ac_add_options --disable-xinerama
ac_add_options --disable-pedantic
ac_add_options --disable-ldap
ac_add_options --disable-installer
ac_add_options --disable-jsd
ac_add_options --disable-accessibility
ac_add_options --disable-dtd-debug
ac_add_options --disable-ipv6
ac_add_options --disable-logging
ac_add_options --disable-svg
# toolkit
ac_add_options --disable-toolkit-gtk2
ac_add_options --enable-default-toolkit=gtk
ac_add_options --disable-toolkit-qt
ac_add_options --disable-toolkit-xlib
-------End .mozconfig-------
Build
-----
cd mozilla
make -f client.mk build (picks up .mozconfig options)
Install
-------
cd xpinstall/packager
make MOZ_PKG_APPNAME=firefox MOZILLA_BIN="\$(DIST)/bin/firefox-bin"
distrubution tarball will now be in ../../dist