Song of The Day: Digging In The Dirt - Artist: Peter Gabriel
Today, I witnessed a bunch of youngsters either starting or restarting their daily treks to school, including one of my own for the first time. Although it was literally “pouring” down rain at 7:20am, my kid was enthusiastic about hopping on the bus and starting the first year right! In like spirit, I headed to work and determined to get my latest black, Intel MacBook laptop spun up with a Mozilla development environment. Some may have read about a network utility I’ve been implementing off and on, so it was time to get that all working on Intel.
Overall, it wasn’t TOO bad. I assume one already has the development tools (e.g., gcc 4., make, otool) already installed from the Mac OS X (10.4.7) installation DVD.
- 1. Download Firefox . This is the 1.5.0.6 release.
- 2. Verify the file and signature (steps below):
a. Install gnupg. On the Mac one can do that
with fink and FinkCommander.
b. Import Mozilla.org’s key with:
/sw/bin/gpg –import KEY. - The key is located here.
[eolaughlen@newton:~] /sw/bin/gpg –verify \
firefox-1.5.0.6-source.tar.bz2.asc \
firefox-1.5.0.6-source.tar.bz2 - You should see something like this in the response.
- 3. Install glibc and libIDL. These are needed by various programs and by XPCOM respectively.
- The following installs both of these libs:
- [eolaughlen@newton:~] sudo apt-get update
[eolaughlen@newton:~] sudo apt-get install orbit orbit-dev glibThe reference below has DarwinPorts commands. - 4. Once the distribution is bunzip2′ed and un-tar’ed, add a .mozconfig file. Mine looks like:
- [eolaughlen@newton:~/mozilla] cat .mozconfig
ac_add_options –enable-application=browser
mk_add_options MOZ_OBJDIR=$HOME/mozilla/objdir
. $HOME/mozilla/browser/config/mozconfig - 5. Afterwards, type “make”, and “make install” if you want the compiled firefox under /usr/local.
- 6. Since I use NSS for extension signing (e.g., signtool), I did the following to get NSS and its tools to build with a patch. You can use this by saving the text as “headers.mk.patch” and issuing:
- cd ~/mozilla/security/coreconf
patch -p1 - One can also just modify the header.mk directory by adding the following include directories:
INCLUDES += -I$(DIST)/include/nspr
INCLUDES += -I$(DIST)/include/dbm
Note: I’m checking into a more appropriate way to build NSS tools without my own patch.
Also, there are a few good references and helps on the Web like: http://developer.mozilla.org/en/docs/Mac_OS_X_Build_Prerequisites
Hopefully, in the near future I’ll be able to share my experiences with XPCOM, signing browser extensions, and other tid-bits as they relate to dent and other initiatives.
Oh yeah. Disclaimer stuff: Use all information, and any code, at your own risk.
Tags: Eric O’Laughlen, Mozilla, Firefox
