1
edit
Changes
no edit summary
== Firefox build for lab 1 ==
[[Image:Firefox-about.JPG]]
== Notes ==
Build Environment
Hardware
*Intel Dual-Core
Software
*Microsoft XP
*Visual Studio 2008
For a start forward build I followed these steps.
<ol>
<li>Download [http://developer.mozilla.org/en/Windows_Build_Prerequisites#MozillaBuild Mozilla-Build] and extract to a folder.
</li>
<li>Using [http://developer.mozilla.org/en/Mozilla_Source_Code_(Mercurial) Mercurial] download the Firefox trunk.
<ol type="A">
<li>Open console.
</li>
<li>Move to the mozilla-build\hg folder.
</li>
<li>Checkout the source code. <br /><code>hg clone http://hg.mozilla.org/mozilla-central/ path\to\destination</code><br /> path\to\destination should not have any spaces in it. Suggestion is \mozilla.
</li>
</ol>
</li>
<li>Create configuration file.
<ol type="A">
<li>Move to source top level directory. The folder the source was cloned to in step 2.C.
</li>
<li>Create file .mozconfig.
</li>
<li>Open .mozconfig for editing.
</li>
<li>Note: This is for Windows builds. Add the following lines<br />
<pre>
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-@CONFIG_GUESS@
mk_add_options MOZ_CO_PROJECT=browser
ac_add_options --enable-application=browser
ac_add_options --disable-optimize
ac_add_options --enable-debug </pre>These options worked for me but not necessarily the best options. To build faster should use --disable-debug and --enable-optimize
</li>
</ol>
</li>
<li>Build Firefox Source code
<ol type="A">
<li>In console move to mozilla-build folder.
</li>
<li>Note: This is still for Windows builds.<br />
Run the appropriate start-*.bat file. You can determine which to run [http://developer.mozilla.org/en/Windows_Build_Prerequisites here].
<li>In the new console move to the top level folder for the source code as done in step 3.A.
</li>
<li>Run the make file. <code>make -f client.mk build</code>
</li>
</ol>
</li>
<li>Run FireFox.<br />Note: I failed to launch Firefox from the command line see Build Output below.
<ol type="A">
<li>In the Windows Explorer move to the top level folder for the source code as done in step 3.A.
</li>
<li>Then to a folder starting with obj.
</li>
<li>Next to the dist\bin folder.
</li>
<li>Create a shortcut for the Firefox.exe file. Right-click create shortcut.
</li>
<li>Open the properties for the shortcut. Right-click properties.
</li>
<li>In the target section add to the end <code>-no-remote -profilemanager</code> and press the ok button.
</li>
<li>Run Firefox from the shortcut. Double click the shortcut.
</li>
<li>Create a test profile, select the test profile, and click start minefield.
</li>
</ol>
</li>
</ol>
== Build Output ==
=== Failed when running from command line ===
Would not let me use a test profile I created.
<pre>
WARNING: NS_ENSURE_TRUE(compMgr) failed: file e:/mozilla/obj-i686-pc-mingw32/xpc
om/build/nsComponentManagerUtils.cpp, line 90
WARNING: NS_ENSURE_TRUE(compMgr) failed: file e:/mozilla/obj-i686-pc-mingw32/xpc
om/build/nsComponentManagerUtils.cpp, line 90
WARNING: NS_ENSURE_TRUE(compMgr) failed: file e:/mozilla/obj-i686-pc-mingw32/xpc
om/build/nsComponentManagerUtils.cpp, line 90
WARNING: NS_ENSURE_TRUE(compMgr) failed: file e:/mozilla/obj-i686-pc-mingw32/xpc
om/build/nsComponentManagerUtils.cpp, line 90
*** Registering components in: Apprunner
WARNING: dependent window created without a parent: file e:/mozilla/trunk/toolki
t/components/startup/src/nsAppStartup.cpp, line 447
++WEBSHELL 00E0E658 == 1
++DOMWINDOW == 1 (02C4E49C) [serial = 1] [outer = 00000000]
++DOMWINDOW == 2 (02CE2F0C) [serial = 2] [outer = 02C4E470]
pldhash: for the table at address 02D39DA0, the given entrySize of 52 probably f
avors chaining over double hashing.
++WEBSHELL 04038920 == 2
++DOMWINDOW == 3 (04039554) [serial = 3] [outer = 00000000]
++DOMWINDOW == 4 (04036324) [serial = 4] [outer = 04039528]
WARNING: getting z level of unregistered window: file e:/mozilla/trunk/xpfe/apps
hell/src/nsWindowMediator.cpp, line 635
WARNING: getting z level of unregistered window: file e:/mozilla/trunk/xpfe/apps
hell/src/nsWindowMediator.cpp, line 635
--WEBSHELL 04038920 == 1
--DOMWINDOW == 3 (04039554) [serial = 3] [outer = 00000000] [url = chrome://glob
al/content/commonDialog.xul]
--DOMWINDOW == 2 (04036324) [serial = 4] [outer = 00000000] [url = about:blank]
++WEBSHELL 04057140 == 2
++DOMWINDOW == 3 (04042CCC) [serial = 5] [outer = 00000000]
++DOMWINDOW == 4 (04037F3C) [serial = 6] [outer = 04042CA0]
WARNING: recurring into frame construction: 'mPresContext->mLayoutPhaseCount[eLa
youtPhase_FrameC] == 0', file e:\mozilla\trunk\layout\base\nsPresContext.h, line
988
WARNING: recurring into frame construction: 'mPresContext->mLayoutPhaseCount[eLa
youtPhase_FrameC] == 0', file e:\mozilla\trunk\layout\base\nsPresContext.h, line
988
WARNING: recurring into frame construction: 'mPresContext->mLayoutPhaseCount[eLa
youtPhase_FrameC] == 0', file e:\mozilla\trunk\layout\base\nsPresContext.h, line
988
WARNING: getting z level of unregistered window: file e:/mozilla/trunk/xpfe/apps
hell/src/nsWindowMediator.cpp, line 635
WARNING: getting z level of unregistered window: file e:/mozilla/trunk/xpfe/apps
hell/src/nsWindowMediator.cpp, line 635
--WEBSHELL 04057140 == 1
--WEBSHELL 00E0E658 == 0
WARNING: nsExceptionService ignoring thread destruction after shutdown: file e:/
mozilla/trunk/xpcom/base/nsExceptionService.cpp, line 194
--DOMWINDOW == 3 (04042CCC) [serial = 5] [outer = 00000000] [url = chrome://moza
pps/content/profile/createProfileWizard.xul]
--DOMWINDOW == 2 (04037F3C) [serial = 6] [outer = 00000000] [url = about:blank]
--DOMWINDOW == 1 (02C4E49C) [serial = 1] [outer = 00000000] [url = chrome://moza
pps/content/profile/profileSelection.xul]
--DOMWINDOW == 0 (02CE2F0C) [serial = 2] [outer = 00000000] [url = about:blank]
###!!! ASSERTION: !didRemove || RECURSION_LEVEL(table) == 1: '!didRemove || RECU
RSION_LEVEL(table) == 1', file e:/mozilla/obj-i686-pc-mingw32/xpcom/build/pldhas
h.c, line 748
nsStringStats
=> mAllocCount: 8684
=> mReallocCount: 819
=> mFreeCount: 8665 -- LEAKED 19 !!!
=> mShareCount: 8474
=> mAdoptCount: 653
=> mAdoptFreeCount: 647 -- LEAKED 6 !!!
</pre>