mozilla

Compare Revisions

Simple Firefox build

Change Revisions

Revision 18063:

Revision 18063 by Dolske on

Revision 18064:

Revision 18064 by Dolske on

Title:
Simple Firefox build
Simple Firefox build
Slug:
Simple_Firefox_build
Simple_Firefox_build
Tags:
Firefox, "Developing Mozilla", "Build documentation"
Firefox, "Developing Mozilla", "Build documentation"
Content:

Revision 18063
Revision 18064
n83      On non-Windows systems, you are probably starting from yourn83      First, if you're on Windows, you'll need to start work in a
> ~ directory (your home directory) and can skip changing director> directory with no spaces in the path (e.g. don't use "Documents 
>y if you like. From the MozillaBuild shell on Windows, running>and Settings").
n89      will change directory to <code>/c</code> (C:), thenn89      Now let's grab the latest source code from Mozilla's Mercur
 >ial code repository. This may take a while, it's a lot of code!
n95      will clone into <code>/c/mozilla-central (C:\mozilla-centran95      To start the build, cd into the <code>mozilla-central</code
>l</code>).>> directory (created automatically with the previous command), an
 >d run:
96    </p>
97    <p>
98      The directory chosen must not have a space in the path (e.g
>. "Documents and Settings") as this will break things. 
99    </p>
100    <h3>
101      mozconfig
102    </h3>
103    <p>
104      For a standard release build (optimized), a <code>mozconfig
></code> file is not strictly required. For a debug build, you nee 
>d different <a href="/en/Configuring_Build_Options" title="en/Con 
>figuring Build Options">configuration options</a> in your <code>m 
>ozconfig</code>. 
105    </p>
106    <p>
107      Use as few configuration options as you can.
108    </p>
109    <p>
110      OS&nbsp;X 10.6 ("Snow Leopard") users will need extra optio
>ns in their <code>mozconfig</code>, see the <a class="internal" h 
>ref="/En/Developer_Guide/Build_Instructions/Mac_OS_X_Prerequisite 
>s" title="En/Developer Guide/Build Instructions/Mac OS X Prerequi 
>sites">OS&nbsp;X&nbsp;Build Prerequisites</a> page for details. 
111    </p>
112    <p>
113      The source directory (topsrcdir) is&nbsp;the root directory
> of&nbsp;the&nbsp;checkout. It&nbsp;has many subdirectories withi 
>n it,&nbsp;containing source code files&nbsp;and makefiles. An ob 
>jdir is where object files&nbsp;and processed makefiles are put d 
>uring the build.&nbsp;A <code>mozconfig</code> named ".mozconfig" 
>&nbsp;in the&nbsp;top source dir is automatically used. If you do 
> not specify a MOZ_OBJDIR within a mozconfig it will be automatic 
>ally set to @TOPSRCDIR@/obj-@CONFIG_GUESS@.<code><br></code> 
114    </p>
115    <p>
116      <code>"export MOZCONFIG=/c/some/path/mozconfig"</code> in t
>he shell will tell the build system to use that mozconfig instead 
>. 
117    </p>
118    <p>
119      Parallel compilation is generally faster. Use a value (4 in
> the example below) equal to the number of processor cores. Paral 
>lel compilation on Windows is unreliable due to bug 524149, so us 
>e a value of 1. This has the same effect as deleting the whole MO 
>Z_MAKE_FLAGS line. 
120    </p>
121    <p>
122      Here's a sample <code>mozconfig</code> for a debug build:
123    </p>
124    <pre>
125mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-ff-debug
126mk_add_options MOZ_MAKE_FLAGS="-j4"
127ac_add_options --enable-debug
128ac_add_options --disable-optimize
129</pre>
130    <p>
131      In your <code>mozilla-central</code> directory, run
t137      to start building. After a successful build with the above t101      This step will also take a while, depending on your system 
>configuration, the <code>firefox</code> executable can be found i>and OS. Linux builds on a fast box may take under 10 minutes, Win
>n <code>objdir-ff-debug/dist/bin</code>/ (on Mac, <code>objdir-ff>dows builds on a slow box may take an hour.
>-debug/dist/Minefield.app/Contents/MacOS/</code>). 
102    </p>
103    <p>
104      After a successful build with the above configuration, the 
 ><code>firefox</code> executable can be found in <code>objdir-ff-d
 >ebug/dist/bin</code>/ (on Mac, <code>objdir-ff-debug/dist/Minefie
 >ld.app/Contents/MacOS/</code>).
105    </p>
106    <h3>
107      Configuring options
108    </h3>
109    <p>
110      Additional <a href="/en/Configuring_Build_Options" title="e
 >n/Configuring Build Options">configuration options</a> are availa
 >ble, notably enabling debug builds and increasing build speed by 
 >using parallel compiles. These options are stored in a file named
 > <code>mozconfig</code> (in the past this file was required, now 
 >default settings are used automatically). It is <strong>strongly<
 >/strong> recommended that you either use these defaults, or as ch
 >ange as few options as your needs require.

Back to History