Building Firefox
These are the files/settings I'm using to build Firefox; they seem to work for me. I'm doing this on a Windows XP SP1 machine with VC++7.1 (VC++.net 2003) installed, as well as cygwin, etc. See the official Mozilla build instructions for the list of software needed. Also see the beginning of domake.bat for some information on my setup.
N.B.: the last file is a batch file and should have a .bat file extension. Place all three into the directory where the mozilla source is (along with configure.in, etc.) and edit domake.bat to adjust the paths are appropriate.
Interesting things about my script
- It looks through *.diff in $(TOPSRCDIR)/patches and gives you a list of patches applied when you build (see patches.txt)
- I tried to make all the config stuff centrally located in the PATHS section
- For the mozconfig options I want to try, it's all at the top of the mozconfig file (just set the variables as appropriate)
- The syntac to domake is:
domake [target] [debug?] [make options]
where [target] is empty (for Firefox) or suite (for Seamonkey); mail for Thunderbird is also an option, but I don't have a .mozconfig for that;
and [debug?] can be empty (for a non-debug build) or debug for a debug build;
lastly, [make options] is the stuff you normall pass to make - such as the target (checkout, build, etc.)
Starting the build process
I usually start a command prompt, set it (cmd.exe) to have a low priority in Task Manager, and just launch domake.bat.
Starting a new tree
Checkout client.mk (into a directory named mozilla - that's hard-coded), and put the files above in the same place. Get the stuff listsed in the official build page (cygwin, libIDL, glib, etc.), edit the batch file, and build away.
Here's a build: 2004-03-06. Uses the mozconfig above, and these patches. Mostly posting this to get people to try the DIBSection patch - at least it works slightly better for me. Note: The DIBSection patch has been checked into the trunk, so that build is obsolete - and it has a known problem with fastload, so there's a bar under the menu in some cases after first launch.
some patches.
bits of an extension I'm working on.