Build Instructions

  • Revision slug: Developer_Guide/Build_Instructions
  • Revision title: Build Instructions
  • Revision id: 23110
  • Created:
  • Creator: Felix.Schwarz
  • Is current revision? No
  • Comment changed link because www.mozilla.org points to wiki anyway

Revision Content

The Mozilla build system, like the rest of the Mozilla codebase, is cross-platform. It uses traditional unix-style autoconf and make tools to build the various applications (even on non-unix operating systems).

Because the Mozilla codebase builds many different applications and has many options, it is complex to use and learn. Please read these instructions carefully before attempting a build.


These build pages are for the projects which use the autoconf-based build system: Firefox, Thunderbird, Mozilla Suite / SeaMonkey, XULRunner, Sunbird, standalone Composer, standalone XPCOM, and standalone XPConnect.

For build information on other mozilla projects, visit their project or build page: Camino, NSPR, Spidermonkey, NSS, and Directory SDK for C.

If you are having build problems, please post questions to the newsgroup mozilla.dev.builds (access via Google Groups). Make your post as precise as possible, including details about your operating system, your mozconfig/configure flags, and the precise error you are experiencing.

Getting started

Build requirements

Before you try to build, make sure you have the correct tools, and have configured these tools correctly.

Get the source

Download Mozilla Source Code
Source code for releases is available for download via FTP/HTTP. (I'm pretty sure this isn't true any more. If it is, please add it to the targeted page.) In addition, source code from the trunk is available on a semi-regular basis.

Mozilla Source Code Via CVS
Those doing active development can check out the latest source using CVS. This is the preferred method if you plan to provide patches and fix bugs, as it lets you get up-to-the-minute changes and merge them with your own.

Browse Sources on the Web
Mozilla sources are available for online browsing at the Mozilla Cross-Reference (LXR).

Configuring build options

Running configure and make with the default options will not give you a good working build. You should use a .mozconfig file to obtain a reasonable release build. Please read Configuring Build Options carefully before building.

Build and install

The Mozilla build system uses GNU make and configure scripts to drive the build. Please follow the build and installation instructions carefully.

Random FAQs and Developer Documentation

Hacking the Build System


Interwiki Language Links

{{ wiki.languages( { "es": "es/Documentaci\u00f3n_para_la_compilaci\u00f3n", "fr": "fr/Documentation_sur_la_compilation", "it": "it/Documentazione_per_build", "ja": "ja/Build_Documentation", "ko": "ko/Build_Documentation", "zh-cn": "cn/\u7f16\u8bd1\u624b\u518c" } ) }}

Revision Source

<p>
</p><p>The Mozilla build system, like the rest of the Mozilla codebase, is cross-platform. It uses traditional unix-style <a class="external" href="http://www.gnu.org/software/autoconf/">autoconf</a> and <a class="external" href="http://www.gnu.org/software/make/">make</a> tools to build the various applications (even on non-unix operating systems).
</p><p>Because the Mozilla codebase builds many different applications and has many options, it is complex to use and learn. Please read these instructions carefully before attempting a build.
</p><p><br>
</p><p>These build pages are for the projects which use the autoconf-based build system: Firefox, Thunderbird, Mozilla Suite / SeaMonkey, XULRunner, Sunbird, standalone Composer, standalone XPCOM, and standalone XPConnect.
</p><p>For build information on other mozilla projects, visit their project or build page: <a class="external" href="http://wiki.caminobrowser.org/Development:Building">Camino</a>, <a class="external" href="http://www.mozilla.org/projects/nspr/eng-process/build.html">NSPR</a>, <a class="external" href="http://lxr.mozilla.org/mozilla/source/js/src/README.html">Spidermonkey</a>, <a class="external" href="http://www.mozilla.org/projects/security/pki/nss/">NSS</a>, and <a class="external" href="http://wiki.mozilla.org/LDAP_C_SDK">Directory SDK for C</a>.
</p><p>If you are having build problems, please post questions to the newsgroup <a class="external" href="news://news.mozilla.org/mozilla.dev.builds">mozilla.dev.builds</a> (<a class="external" href="http://groups.google.com/group/mozilla.dev.builds">access via Google Groups</a>). Make your post as precise as possible, including details about your operating system, your mozconfig/configure flags, and the precise error you are experiencing.
</p>
<h3 name="Getting_started"> Getting started </h3>
<h4 name="Build_requirements"> Build requirements </h4>
<p>Before you try to build, make sure you have the correct tools, and have configured these tools correctly.
</p>
<ul><li> <a href="en/Linux_Build_Prerequisites">Unix/Linux</a>
</li><li> <a href="en/Windows_Build_Prerequisites">Windows</a>
</li><li> <a href="en/Mac_OS_X_Build_Prerequisites">Mac OS X</a>
</li><li> <a href="en/OS%2f%2f2_Build_Prerequisites">OS/2 and eComStation</a>
</li><li> <a href="en/BeOS_Build_Prerequisites">BeOS</a>
</li></ul>
<ul><li> <a href="en/Building_JavaXPCOM">JavaXPCOM Build Requirements</a>
</li></ul>
<h4 name="Get_the_source"> Get the source </h4>
<p></p><dl>
<dt><a href="en/Mozilla_Source_Code_(HTTP%2f%2fFTP)">Download Mozilla Source Code</a>
</dt><dd>Source code for releases is available for download via FTP/HTTP. <span class="comment">(I'm pretty sure this isn't true any more. If it is, please add it to the targeted page.) In addition, source code from the trunk is available on a semi-regular basis.</span>
<p></p></dd><dt><a href="en/Mozilla_Source_Code_(CVS)">Mozilla Source Code Via CVS</a>
</dt><dd>Those doing active development can check out the latest source using CVS. This is the preferred method if you plan to provide patches and fix bugs, as it lets you get up-to-the-minute changes and merge them with your own.
<p></p></dd><dt><a class="external" href="http://lxr.mozilla.org/">Browse Sources on the Web</a>
</dt><dd>Mozilla sources are available for online browsing at the <a class="external" href="http://lxr.mozilla.org/">Mozilla Cross-Reference</a> (LXR).
</dd></dl>

<h4 name="Configuring_build_options"> Configuring build options </h4>
<p>Running configure and make with the default options will not give you a good working build. You should use a <code>.mozconfig</code> file to obtain a reasonable release build. Please read <a href="en/Configuring_Build_Options">Configuring Build Options</a> carefully before building.
</p>
<h4 name="Build_and_install"> Build and install </h4>
<p>The Mozilla build system uses GNU make and configure scripts to drive the build. Please follow the <a href="en/Build_and_Install"> build and installation instructions</a> carefully.
</p>
<h3 name="Random_FAQs_and_Developer_Documentation"> Random FAQs and Developer Documentation </h3>
<ul><li> <a href="en/Mozilla_Build_FAQ">Mozilla Build FAQ</a>
</li><li> <a class="external" href="http://webtools.mozilla.org/build/config.cgi">Online Build Configurator</a>
</li><li> <a class="external" href="http://www.mozilla.org/build/making-additions.html">Adding Files to the Build</a>
</li><li> <a href="en/Adding_Components">Adding Components</a>
</li><li> <a class="external" href="http://www.mozilla.org/build/cvs-tag.html">Creating a Release Tag</a>
</li><li> <a class="external" href="http://www.mozilla.org/build/cross-compiling.html">Cross-Compiling Mozilla</a>
</li><li> <a class="external" href="http://www.mozilla.org/build/release-checklist.html">Mozilla Release Checklist</a>
</li><li> <a class="external" href="http://www.mozilla.org/build/distribution.html">Build A Mozilla Distribution</a>
</li><li> <a class="external" href="http://www.mozilla.org/build/release-build-notes.html">Notes on how mozilla.org does release builds</a>
</li><li> <a href="en/Package_Filename_Convention">Package Filename Convention</a>
</li></ul>
<ul><li> <a href="Special:Tags?tag=Build_Documentation&amp;language=en">All articles</a>
</li></ul>
<h3 name="Hacking_the_Build_System"> Hacking the Build System </h3>
<ul><li> <a href="en/How_Mozilla's_build_system_works">How Mozilla's build system works</a>
</li><li> <a href="Special:Tags?tag=Build_Glossary&amp;language=en">Build Glossary</a> <a class="external" href="http://www.mozilla.org/build/glossary.html">(old glossary)</a>
</li><li> <a href="en/JAR_Manifests">Build and Register Chrome JARs with JAR Manifests</a>
</li></ul>
<p><br>
<span class="comment">Interwiki Language Links</span>
</p>
<div class="noinclude">
</div>
{{ wiki.languages( { "es": "es/Documentaci\u00f3n_para_la_compilaci\u00f3n", "fr": "fr/Documentation_sur_la_compilation", "it": "it/Documentazione_per_build", "ja": "ja/Build_Documentation", "ko": "ko/Build_Documentation", "zh-cn": "cn/\u7f16\u8bd1\u624b\u518c" } ) }}
Revert to this revision