Configuring Build Options

  • Revision slug: Configuring_Build_Options
  • Revision title: Configuring Build Options
  • Revision id: 22373
  • Created:
  • Creator: Kray2
  • Is current revision? No
  • Comment first take on list of configure options

Revision Content

NOTE: Do not make substantive changes to this document without consulting Benjamin Smedberg <benjamin@smedbergs.us> or one of the build-config peers.

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 these directions carefully before building, and follow them in order. If you skip any steps, you may find that you can't build the software, or that the build result isn't usable.

{{wiki.template(':en/Build_Documentation/TOC')}}

Using a .mozconfig Configuration File

Though it is possible to manually call <tt>configure</tt> with command-line options, this is not recommended. Instead, place a .mozconfig file in your source directory (mozilla/.mozconfig) or in your HOME directory (~/.mozconfig).

 echo "# My first mozilla config" > .mozconfig

.mozconfig contains two types of options:

  • Options prefixed with mk_add_options are passed to <tt>client.mk</tt>, and are usually options controlling cvs checkout and update.
  • Options prefixed with ac_add_options are passed to <tt>configure</tt>, and affect the build process.

These options will be automatically used when <tt>./configure</tt> or <tt>make -f client.mk</tt> are run.

At the bottom of this page are several example .mozconfig files.


You may also set the MOZCONFIG environment variable to the full path of your configuration file:

export MOZCONFIG=~/mozilla/mozconfig-firefox

This is useful if you choose to have multiple .mozconfig files for different applications or configurations. Note that in this 'export' example the filename was not .mozconfig. Regardless of the name of the actual file you use, we refer to this file as the .mozconfig file in the examples below.

Building with an Objdir

It is highly recommended that you use an objdir when building mozilla. This means that the source code and object files are not intermingled in your directory system. If you use an objdir, you can build multiple applications (e.g. Firefox and Thunderbird) from the same source tree.

The act of using an objdir means that every Makefile.in file in your source tree will be turned into a Makefile in the objdir. The parent directories of the Makefile.in will be the same parent directories in objdir. For example, for the file <tt>mozilla/modules/plugin/base/src/Makefile.in</tt>, with an objdir value of @TOPSRCDIR@/obj-debug, the file and directory path <tt>mozilla/obj-debug/modules/plugin/base/src/Makefile</tt> will be created. This Makefile will magically refer to source files in the <tt>mozilla/modules/plugin/base/src</tt> directory.

If you need manually re-run configure, please do so from within your object, and do it by giving the absolute path to the configure script. For example, if you are running on Win32, and your source tree is in <tt>/cygdrive/c/Projects/FIREFOX/mozilla</tt>, then, from within your objdir you would need to run <tt>/cygdrive/c/Projects/FIREFOX/mozilla/configure</tt> whenever you need to manually run configure.

Adding the following line to your .mozconfig enables an objdir:

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@

Choose an Application

Mozilla Suite (SeaMonkey)
Specify the following options:
ac_add_options --enable-application=suite
# Use the following to checkout SeaMonkey from CVS:
mk_add_options MOZ_CO_PROJECT=suite

Browser (Firefox)
Your .mozconfig file should source the Firefox {{template.Source("browser/config/mozconfig", "default mozconfig file")}}:
. $topsrcdir/browser/config/mozconfig

Do not copy and paste the file's contents into your mozconfig, as they may change over time!

Mail (Thunderbird)
Your .mozconfig file should source the Thunderbird {{template.Source("mail/config/mozconfig", "default mozconfig file")}}:
. $topsrcdir/mail/config/mozconfig

Do not copy and paste the file's contents into your mozconfig, as they may change over time!

Standalone Calendar (Sunbird)
Your .mozconfig file should source the Sunbird {{template.Source("calendar/sunbird/config/mozconfig", "default mozconfig file")}}:
. $topsrcdir/calendar/sunbird/config/mozconfig

Do not copy and paste the file's contents into your mozconfig, as they may change over time!

XULRunner
Your .mozconfig file should source the XULRunner {{template.Source("xulrunner/config/mozconfig", "default mozconfig file")}}:
. $topsrcdir/xulrunner/config/mozconfig

Do not copy and paste the file's contents into your mozconfig, as they may change over time!

Selecting Build Options

The build options you choose depends on what application you are building and what you will be using the build for. If you want to use the build regularly, you will want a release build without extra debugging information; if you are a developer who wants to hack the source code, you probably want a non-optimized build with extra debugging macros.

There is a webtool that can help you create a good configuration: the Mozilla Build Configurator. At this time, the tool is mainly useful for the Mozilla suite; building Firefox or other toolkit applications requires manually editing the generated file.

There are many options recognized by the configure script which are special-purpose options intended for embedders or other special situations, and should not be used to build the full suite/XUL applications. The full list of options can be obtained by running ./configure --help or by looking through the Mozilla Build Configurator.

If you do not know what a configure option does, don't use it! The following build options are very common:

Optimization

ac_add_options --enable-optimize 
Enables the default compiler optimization options
ac_add_options --enable-optimize=-O2 
Choose particular compiler optimization options. In most cases, this will not give the desired results, unless you know the mozilla codebase very well.
ac_add_options --disable-debug 
Disables verbose debugging macros
ac_add_options --disable-optimize 
Disables compiler optimization. This makes it much easier to step through code in a debugger.
ac_add_options --enable-debug 
Enables debugging macros and other debug-only code. This can significantly slow a build, but it is invaluable when writing patches.

Graphics Toolkit

ac_add_options --enable-default-toolkit=gtk2|gtk|xlib|qt|cairo-gtk2|cairo-windows|windows|mac|cocoa|cairo-cocoa|os2|beos|photon
Selects the graphics toolkit. This is not needed for Windows/OS2/BeOS/Photon, since these platforms automatically select the correct toolkit. It is also not needed on Mac, unless you are building Camino on an older branch (Camino uses --enable-default-toolkit=cocoa).

On *nix platforms, selects the graphics toolkit to use. GTK2 and GTK are both well-tested. xlib is considered a tier-3 platform. Qt and cairo are experimental, you will find bugs. On trunk, use cairo-gtk2 (gtk1 and xlib have been removed from the source tree).

ac_add_options --enable-xft
Enables XFT advanced font rendering. This is only available with --enable-default-toolkit=gtk2, and it is recommended with gtk2

ac_add_options --enable-freetype2
Enables freetype font rendering. This is the default for the GTK toolkit. Not compatible with --enable-xft

Statically Linking Components

<tt>ac_add_options --enable-libxul</tt> (default)
Builds the core gecko components as a single library called libxul. This improves startup and runtime performance by reducing the number of relocations performed.

<tt>ac_add_options --enable-static --disable-libxul</tt>
These options build a larger single executable, which has components linked statically. <tt>--enable-static</tt> requires <tt>--disable-libxul</tt>. If you use <tt>--enable-static</tt>, it is recommended that you also <tt>--disable-tests</tt>. This option is not recommended for Firefox. It still exists only for Thunderbird and SeaMonkey which cannot yet build in the libxul configuration.

<tt>ac_add_options --disable-static --disable-libxul</tt>
These options make components into separate shared libraries. This makes debugging and incremental compiling much easier, but the resulting build is slower.

Extensions

ac_add_options --enable-extensions=default|all|ext1,ext2,-skipext3
There are many optional pieces of code that live in {{template.Source("extensions/")}}. Many of these extensions are now considered an integral part of the browsing experience. There is a default list of extensions for the suite, and each app-specific mozconfig specifies a different default set. Some extensions are not compatible with all apps, for example:
  • cookie is not compatible with thunderbird
  • typeaheadfind is not compatible with any toolkit app (Firefox, Thunderbird, Sunbird)

Unless you know which extensions are compatible with which apps, do not use the --enable-extensions option; the build system will automatically select the proper default set of extensions.

Tests

ac_add_options --disable-tests
By default, many auxiliary test applications are built, which can help debug and patch the mozilla source. Disabling these tests can speed build time and reduce disk space considerably.

Other Options

ac_add_options --disable-crypto
Cryptography is enabled by default. In some countries, it may be illegal to use or export cryptographic software. You should become familiar with the cryptography laws in your country.

On the 1.7 and aviary branches, cryptography was off by default. You need to specify --enable-crypto if you want SSL, SMIME, or other software features that require cryptography.

ac_add_options --disable-javaxpcom (No Java)
By default, XULRunner builds the Java-XPCOM bridge, which requires an installed JDK. If you get the following error during configure: The header jni.h was not found. Set $JAVA_HOME or use --with-java-include-path, then you can disable java dependencies using ac_add_options --disable-javaxpcom.

Example .mozconfig Files

Firefox, Default Release Configuration

. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-opt
ac_add_options --disable-tests

Thunderbird, Debugging Build

. $topsrcdir/mail/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/tbird-debug
mk_add_options MOZ_CO_PROJECT=mail,calendar
ac_add_options --disable-optimize
ac_add_options --enable-debug

SeaMonkey, Optimized (but not static)

mk_add_options MOZ_CO_PROJECT=suite
ac_add_options --enable-application=suite
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/suite-opt
ac_add_options --enable-optimize
ac_add_options --disable-debug

XULRunner, Minimal Release Build

mk_add_options MOZ_CO_PROJECT=xulrunner
mk_add_options MOZ_OBJDIR=@topsrcdir@/obj-xulrunner
ac_add_options --enable-application=xulrunner
#ac_add_options --disable-javaxpcom

Building multiple applications from the same source tree

It is possible to build multiple applications from the same source tree, as long as you have checked out all the necessary sources and you use a different objdir for each application.

You can either create multiple mozconfig files, or alternatively, use the MOZ_BUILD_PROJECTS make option.

Using MOZ_BUILD_PROJECTS in a single mozconfig

To use MOZ_BUILD_PROJECTS, you must specify a MOZ_OBJDIR, and a MOZ_BUILD_PROJECTS make option, containing space separated names. Each name can be an arbitrary directory name. For each name, a subdirectory is created under the toplevel objdir. You then need to use the ac_add_app_options with the specified names to enable different applications in each object directory.

For example:

 ac_add_options --disable-optimize --enable-debug 
 ac_add_options --enable-default-toolkit=gtk2 --disable-freetype2 --enable-xft
 mk_add_options MOZ_OBJDIR=/home/amil082/mozilla_trunk/obj-@CONFIG_GUESS@
 mk_add_options MOZ_BUILD_PROJECTS="xulrunner browser mail"
 mk_add_options MOZ_CO_PROJECT="xulrunner browser mail"
 ac_add_app_options browser --enable-application=browser
 ac_add_app_options xulrunner --enable-application=xulrunner
 ac_add_app_options mail --enable-application=mail

If you want to build only one project using this mozconfig, use the following commandline:

 make -f client.mk build MOZ_CURRENT_PROJECT=browser

This will build only browser.

Using multiple mozconfig files

Alternatively, you may want to create separate mozconfig files.

As an example, the following steps can be used to build Firefox and Thunderbird. You should first create three mozconfig files.

mozconfig-common:

mk_add_options MOZ_CO_PROJECT=browser,mail

# add other common options here, such as making a static release build and
# disabling tests
ac_add_options --enable-optimize --disable-debug
ac_add_options --disable-tests

mozconfig-firefox:

# include the common mozconfig
. ./mozconfig-common

# Build Firefox
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-static
ac_add_options --enable-application=browser

mozconfig-thunderbird:

# include the common mozconfig
. ./mozconfig-common

# Build Thunderbird
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/thunderbird-static
ac_add_options --enable-application=mail

To checkout, run the following commands:

export MOZCONFIG=/path/to/mozilla/mozconfig-common
make -f client.mk checkout

To build Firefox, run the following commands:

export MOZCONFIG=/path/to/mozilla/mozconfig-firefox
make -f client.mk build

To build Thunderbird, run the following commands:

export MOZCONFIG=/path/to/mozilla/mozconfig-thunderbird
make -f client.mk build

Configure Options, Complete List

  • --{{mediawiki.external('enable/disable')}}-accessibility
  • --{{mediawiki.external('enable/disable')}}-activex
  • --{{mediawiki.external('enable/disable')}}-activex-scripting
  • --{{mediawiki.external('enable/disable')}}-application=APP
  • --{{mediawiki.external('enable/disable')}}-auto-deps
  • --{{mediawiki.external('enable/disable')}}-boehm
  • --{{mediawiki.external('enable/disable')}}-canvas
  • --{{mediawiki.external('enable/disable')}}-chrome-format=jar|flat|both|symlink
  • --{{mediawiki.external('enable/disable')}}-codesighs
  • --{{mediawiki.external('enable/disable')}}-compile-environment
  • --{{mediawiki.external('enable/disable')}}-composer
  • --{{mediawiki.external('enable/disable')}}-cookies
  • --{{mediawiki.external('enable/disable')}}-cpp-exceptions
  • --{{mediawiki.external('enable/disable')}}-cpp-rtti
  • --{{mediawiki.external('enable/disable')}}-crashreporter
  • --{{mediawiki.external('enable/disable')}}-crypto
  • --{{mediawiki.external('enable/disable')}}-ctl
  • --{{mediawiki.external('enable/disable')}}-dbus
  • --{{mediawiki.external('enable/disable')}}-debug-modules
  • --{{mediawiki.external('enable/disable')}}-debug{{mediawiki.external('=DBG')}}
  • --{{mediawiki.external('enable/disable')}}-debugger-info-modules
  • --{{mediawiki.external('enable/disable')}}-default-toolkit=TK
  • --{{mediawiki.external('enable/disable')}}-dtrace
  • --{{mediawiki.external('enable/disable')}}-eazel-profiler-support
  • --{{mediawiki.external('enable/disable')}}-efence
  • --{{mediawiki.external('enable/disable')}}-elf-dynstr-gc
  • --{{mediawiki.external('enable/disable')}}-extensions
  • --{{mediawiki.external('enable/disable')}}-feeds
  • --{{mediawiki.external('enable/disable')}}-freetypetest
  • --{{mediawiki.external('enable/disable')}}-glibtest
  • --{{mediawiki.external('enable/disable')}}-glibtest
  • --{{mediawiki.external('enable/disable')}}-glitz
  • --{{mediawiki.external('enable/disable')}}-gnomeui
  • --{{mediawiki.external('enable/disable')}}-gnomevfs
  • --{{mediawiki.external('enable/disable')}}-help-viewer
  • --{{mediawiki.external('enable/disable')}}-image-decoders{{mediawiki.external('={mod1,mod2,default,all,none}')}}
  • --{{mediawiki.external('enable/disable')}}-image-encoders{{mediawiki.external('={mod1,mod2,default,all,none}')}}
  • --{{mediawiki.external('enable/disable')}}-inspector-apis
  • --{{mediawiki.external('enable/disable')}}-install-strip
  • --{{mediawiki.external('enable/disable')}}-installer
  • --{{mediawiki.external('enable/disable')}}-insure
  • --{{mediawiki.external('enable/disable')}}-ipcd
  • --{{mediawiki.external('enable/disable')}}-javaxpcom
  • --{{mediawiki.external('enable/disable')}}-jemalloc
  • --{{mediawiki.external('enable/disable')}}-jprof
  • --{{mediawiki.external('enable/disable')}}-js-static-build
  • --{{mediawiki.external('enable/disable')}}-js-ultrasparc
  • --{{mediawiki.external('enable/disable')}}-jsd
  • --{{mediawiki.external('enable/disable')}}-jsloader
  • --{{mediawiki.external('enable/disable')}}-ldap
  • --{{mediawiki.external('enable/disable')}}-ldap-experimental
  • --{{mediawiki.external('enable/disable')}}-leaky
  • --{{mediawiki.external('enable/disable')}}-libIDLtest
  • --{{mediawiki.external('enable/disable')}}-libxul
  • --{{mediawiki.external('enable/disable')}}-logging
  • --{{mediawiki.external('enable/disable')}}-logrefcnt
  • --{{mediawiki.external('enable/disable')}}-long-long-warning
  • --{{mediawiki.external('enable/disable')}}-macos-target=VER
  • --{{mediawiki.external('enable/disable')}}-mailnews
  • --{{mediawiki.external('enable/disable')}}-mathml
  • --{{mediawiki.external('enable/disable')}}-md
  • --{{mediawiki.external('enable/disable')}}-mochitest
  • --{{mediawiki.external('enable/disable')}}-native-uconv
  • --{{mediawiki.external('enable/disable')}}-necko-disk-cache
  • --{{mediawiki.external('enable/disable')}}-necko-protocols{{mediawiki.external('={http,ftp,default,all,none}')}}
  • --{{mediawiki.external('enable/disable')}}-necko-small-buffers
  • --{{mediawiki.external('enable/disable')}}-negotiateauth
  • --{{mediawiki.external('enable/disable')}}-official-branding
  • --{{mediawiki.external('enable/disable')}}-oji
  • --{{mediawiki.external('enable/disable')}}-old-abi-compat-wrappers
  • --{{mediawiki.external('enable/disable')}}-optimize
  • --{{mediawiki.external('enable/disable')}}-optimize={{mediawiki.external('OPT')}}
  • --{{mediawiki.external('enable/disable')}}-os2-high-mem
  • --{{mediawiki.external('enable/disable')}}-pedantic
  • --{{mediawiki.external('enable/disable')}}-perf-metrics
  • --{{mediawiki.external('enable/disable')}}-permissions
  • --{{mediawiki.external('enable/disable')}}-places
  • --{{mediawiki.external('enable/disable')}}-plaintext-editor-only
  • --{{mediawiki.external('enable/disable')}}-plugins
  • --{{mediawiki.external('enable/disable')}}-postscript
  • --{{mediawiki.external('enable/disable')}}-prebinding
  • --{{mediawiki.external('enable/disable')}}-pref-extensions
  • --{{mediawiki.external('enable/disable')}}-printing
  • --{{mediawiki.external('enable/disable')}}-profile-guided-optimization
  • --{{mediawiki.external('enable/disable')}}-profile-modules
  • --{{mediawiki.external('enable/disable')}}-profilelocking
  • --{{mediawiki.external('enable/disable')}}-profilesharing
  • --{{mediawiki.external('enable/disable')}}-quantify
  • --{{mediawiki.external('enable/disable')}}-rdf
  • --{{mediawiki.external('enable/disable')}}-reflow-perf
  • --{{mediawiki.external('enable/disable')}}-safe-browsing
  • --{{mediawiki.external('enable/disable')}}-shark
  • --{{mediawiki.external('enable/disable')}}-startup-notification
  • --{{mediawiki.external('enable/disable')}}-static
  • --{{mediawiki.external('enable/disable')}}-static-mail
  • --{{mediawiki.external('enable/disable')}}-storage
  • --{{mediawiki.external('enable/disable')}}-strip
  • --{{mediawiki.external('enable/disable')}}-svg
  • --{{mediawiki.external('enable/disable')}}-svg-foreignobject
  • --{{mediawiki.external('enable/disable')}}-system-cairo
  • --{{mediawiki.external('enable/disable')}}-system-hunspell
  • --{{mediawiki.external('enable/disable')}}-system-lcms
  • --{{mediawiki.external('enable/disable')}}-system-sqlite
  • --{{mediawiki.external('enable/disable')}}-tests
  • --{{mediawiki.external('enable/disable')}}-timeline
  • --{{mediawiki.external('enable/disable')}}-trace-malloc
  • --{{mediawiki.external('enable/disable')}}-ui-locale=ab-CD
  • --{{mediawiki.external('enable/disable')}}-universalchardet
  • --{{mediawiki.external('enable/disable')}}-update-channel=CHANNEL
  • --{{mediawiki.external('enable/disable')}}-update-packaging
  • --{{mediawiki.external('enable/disable')}}-updater
  • --{{mediawiki.external('enable/disable')}}-url-classifier
  • --{{mediawiki.external('enable/disable')}}-v1-string-abi
  • --{{mediawiki.external('enable/disable')}}-view-source
  • --{{mediawiki.external('enable/disable')}}-webservices
  • --{{mediawiki.external('enable/disable')}}-wrap-malloc
  • --{{mediawiki.external('enable/disable')}}-xmlextras
  • --{{mediawiki.external('enable/disable')}}-xpcom-fastload
  • --{{mediawiki.external('enable/disable')}}-xpcom-lea
  • --{{mediawiki.external('enable/disable')}}-xpcom-obsolete
  • --{{mediawiki.external('enable/disable')}}-xpconnect-idispatch
  • --{{mediawiki.external('enable/disable')}}-xpctools
  • --{{mediawiki.external('enable/disable')}}-xpfe-components
  • --{{mediawiki.external('enable/disable')}}-xpinstall
  • --{{mediawiki.external('enable/disable')}}-xterm-updates
  • --{{mediawiki.external('enable/disable')}}-xtf
  • --{{mediawiki.external('enable/disable')}}-xul
  • --{{mediawiki.external('enable/disable')}}-zipwriter
  • --bindir=DIR
  • --build=BUILD
  • --cache-file=FILE
  • --datadir=DIR
  • --exec-prefix=EPREFIX
  • --help
  • --host=HOST
  • --includedir=DIR
  • --infodir=DIR
  • --libdir=DIR
  • --libexecdir=DIR
  • --localstatedir=DIR
  • --mandir=DIR
  • --no-create
  • --oldincludedir=DIR
  • --prefix=PREFIX
  • --program-prefix=PREFIX
  • --program-suffix=SUFFIX
  • --program-transform-name=PROGRAM
  • --quiet,
  • --sbindir=DIR
  • --sharedstatedir=DIR
  • --srcdir=DIR
  • --sysconfdir=DIR
  • --target=TARGET
  • --version
  • --with-PACKAGE{{mediawiki.external('=ARG')}}
  • --with-branding=dir
  • --with-default-mozilla-five-home
  • --with-distribution-id=ID
  • --with-doc-include-dirs=DIRS
  • --with-doc-input-dirs=DIRS
  • --with-doc-output-dir=DIR
  • --with-embedding-profile=default|basic|minimal
  • --with-ft-exec-prefix=PFX
  • --with-ft-prefix=PFX
  • --with-glib-exec-prefix=PFX
  • --with-glib-exec-prefix=PFX
  • --with-glib-prefix=PFX
  • --with-glib-prefix=PFX
  • --with-insure-dirs=DIRS
  • --with-insure-exclude-dirs=DIRS
  • --with-java-bin-path=dir
  • --with-java-include-path=dir
  • --with-libIDL-exec-prefix=PFX
  • --with-libIDL-prefix=PFX
  • --with-libxul-sdk=PFX
  • --with-macos-sdk=dir
  • --with-nspr-exec-prefix=PFX
  • --with-nspr-prefix=PFX
  • --with-nss-exec-prefix=PFX
  • --with-nss-prefix=PFX
  • --with-pthreads
  • --with-system-bz2{{mediawiki.external('=PFX')}}
  • --with-system-jpeg{{mediawiki.external('=PFX')}}
  • --with-system-nspr
  • --with-system-nss
  • --with-system-png{{mediawiki.external('=PFX')}}
  • --with-system-zlib{{mediawiki.external('=PFX')}}
  • --with-user-appdir=DIR
  • --with-windows-version=WINVER
  • --with-wrap-malloc=DIR
  • --with-x
  • --with-xulrunner-stub-name=appname
  • --without-PACKAGE
  • --without-libIDL
  • --x-includes=DIR
  • --x-libraries=DIR
{{ wiki.languages( { "es": "es/Configurar_las_opciones_de_compilaci\u00f3n", "fr": "fr/Configuration_des_options_de_compilation", "ja": "ja/Configuring_Build_Options", "zh-cn": "cn/\u914d\u7f6e\u7f16\u8bd1\u9009\u9879" } ) }}

Revision Source

<p>
<span class="comment">NOTE: Do not make substantive changes to this document   without consulting Benjamin Smedberg &lt;benjamin@smedbergs.us&gt;   or one of the build-config peers.</span>
</p><p>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 these directions carefully before building, and follow them in order.  If you skip any steps, you may find that you can't build the software, or that the build result isn't usable.
</p><p>{{wiki.template(':en/Build_Documentation/TOC')}}
</p>
<h3 name="Using_a_.mozconfig_Configuration_File"> Using a .mozconfig Configuration File </h3>
<p>Though it is possible to manually call <tt>configure</tt> with command-line options, this is not recommended. Instead, place a .mozconfig file in your source directory (mozilla/.mozconfig) or in your HOME directory (~/.mozconfig).
</p>
<pre class="eval"> echo "# My first mozilla config" &gt; .mozconfig
</pre>
<p>.mozconfig contains two types of options:
</p>
<ul><li> Options prefixed with <code>mk_add_options</code> are passed to <tt>client.mk</tt>, and are usually options controlling cvs checkout and update.
</li><li> Options prefixed with <code>ac_add_options</code> are passed to <tt>configure</tt>, and affect the build process.
</li></ul>
<p>These options will be automatically used when <tt>./configure</tt> or <tt>make -f client.mk</tt> are run.
</p><p>At the bottom of this page are several example .mozconfig files.
</p><p><br>
You may also set the MOZCONFIG environment variable to the full path of your configuration file:
</p>
<pre class="eval">export MOZCONFIG=~/mozilla/mozconfig-firefox
</pre>
<p>This is useful if you choose to have multiple .mozconfig files for different applications or configurations.
Note that in this 'export' example the filename was not .mozconfig. Regardless of the name of the actual file you use, we refer to this file as the .mozconfig file in the examples below.
</p>
<h3 name="Building_with_an_Objdir"> Building with an Objdir </h3>
<p>It is highly recommended that you use an objdir when building mozilla. This means that the source code and object files are not intermingled in your directory system. If you use an objdir, you can build multiple applications (e.g. Firefox and Thunderbird) from the same source tree. 
</p><p>The act of using an objdir means that every Makefile.in file in your source tree will be turned into a Makefile in the objdir.  The parent directories of the Makefile.in will be the same parent directories in objdir.  For example, for the file <tt>mozilla/modules/plugin/base/src/Makefile.in</tt>, with an objdir value of <code>@TOPSRCDIR@/obj-debug</code>, the file and directory path <tt>mozilla/obj-debug/modules/plugin/base/src/Makefile</tt> will be created.  This Makefile will magically refer to source files in the <tt>mozilla/modules/plugin/base/src</tt> directory.
</p><p>If you need manually re-run configure, please do so from within your object, and do it by giving the absolute path to the configure script.  For example, if you are running on Win32, and your source tree is in <tt>/cygdrive/c/Projects/FIREFOX/mozilla</tt>, then, from within your objdir you would need to run <tt>/cygdrive/c/Projects/FIREFOX/mozilla/configure</tt> whenever you need to manually run configure.
</p><p>Adding the following line to your .mozconfig enables an objdir:
</p>
<pre class="eval">mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@
</pre>
<h3 name="Choose_an_Application"> Choose an Application </h3>
<p></p><dl>
<dt>Mozilla Suite (SeaMonkey)
</dt><dd>Specify the following options:

<pre class="eval">ac_add_options --enable-application=suite
# Use the following to checkout SeaMonkey from CVS:
mk_add_options MOZ_CO_PROJECT=suite
</pre>
<p></p></dd><dt>Browser (Firefox)
</dt><dd>Your .mozconfig file should source the Firefox {{template.Source("browser/config/mozconfig", "default mozconfig file")}}:

<pre class="eval">. $topsrcdir/browser/config/mozconfig
</pre>
<p>Do not copy and paste the file's contents into your mozconfig, as they may change over time!
</p><p></p></dd><dt>Mail (Thunderbird)
</dt><dd>Your .mozconfig file should source the Thunderbird {{template.Source("mail/config/mozconfig", "default mozconfig file")}}:

<pre class="eval">. $topsrcdir/mail/config/mozconfig
</pre>
<p>Do not copy and paste the file's contents into your mozconfig, as they may change over time!
</p><p></p></dd><dt>Standalone Calendar (Sunbird)
</dt><dd>Your .mozconfig file should source the Sunbird {{template.Source("calendar/sunbird/config/mozconfig", "default mozconfig file")}}:

<pre class="eval">. $topsrcdir/calendar/sunbird/config/mozconfig
</pre>
<p>Do not copy and paste the file's contents into your mozconfig, as they may change over time!
</p><p></p></dd><dt>XULRunner
</dt><dd>Your .mozconfig file should source the XULRunner {{template.Source("xulrunner/config/mozconfig", "default mozconfig file")}}:

<pre class="eval">. $topsrcdir/xulrunner/config/mozconfig
</pre>
<p>Do not copy and paste the file's contents into your mozconfig, as they may change over time!
</p><p></p></dd></dl>

<h3 name="Selecting_Build_Options"> Selecting Build Options </h3>
<p>The build options you choose depends on what application you are building and what you will be using the build for. If you want to use the build regularly, you will want a release build without extra debugging information; if you are a developer who wants to hack the source code, you probably want a non-optimized build with extra debugging macros.
</p><p>There is a webtool that can help you create a good configuration: the <a class="external" href="http://webtools.mozilla.org/build/config.cgi">Mozilla Build Configurator</a>. At this time, the tool is mainly useful for the Mozilla suite; building Firefox or other toolkit applications requires manually editing the generated file.
</p><p>There are many options recognized by the configure script which are special-purpose options intended for embedders or other special situations, and should not be used to build the full suite/XUL applications. The full list of options can be obtained by running ./configure --help or by looking through the <a class="external" href="http://webtools.mozilla.org/build/config.cgi">Mozilla Build Configurator</a>.
</p><p><b>If you do not know what a configure option does, don't use it!</b> The following build options are very common:
</p>
<h4 name="Optimization"> Optimization </h4>
<dl><dt> ac_add_options --enable-optimize </dt><dd> Enables the default compiler optimization options 
</dd><dt> ac_add_options --enable-optimize=-O2 </dt><dd> Choose particular compiler optimization options. In most cases, this will not give the desired results, unless you know the mozilla codebase very well. 
</dd><dt> ac_add_options --disable-debug </dt><dd> Disables verbose debugging macros 
</dd><dt> ac_add_options --disable-optimize </dt><dd> Disables compiler optimization. This makes it much easier to step through code in a debugger. 
</dd><dt> ac_add_options --enable-debug </dt><dd>  Enables debugging macros and other debug-only code. This can significantly slow a build, but it is invaluable when writing patches.
</dd></dl>
<h4 name="Graphics_Toolkit"> Graphics Toolkit </h4>
<p></p><dl>
<dt>ac_add_options --enable-default-toolkit=gtk2|gtk|xlib|qt|cairo-gtk2|cairo-windows|windows|mac|cocoa|cairo-cocoa|os2|beos|photon 
</dt><dd>Selects the graphics toolkit. This is not needed for Windows/OS2/BeOS/Photon, since these platforms automatically select the correct toolkit. It is also not needed on Mac, unless you are building Camino on an older branch (Camino uses --enable-default-toolkit=cocoa).
<p>On *nix platforms, selects the graphics toolkit to use. GTK2 and GTK are both well-tested. xlib is considered a <a class="external" href="http://www.mozilla.org/build/faq.html#supported">tier-3 platform</a>. Qt and cairo are experimental, you will find bugs. On trunk, use cairo-gtk2 (gtk1 and xlib have been removed from the source tree).
</p><p></p></dd><dt>ac_add_options --enable-xft
</dt><dd>Enables XFT advanced font rendering. This is only available with --enable-default-toolkit=gtk2, and it is recommended with gtk2 
<p></p></dd><dt>ac_add_options --enable-freetype2
</dt><dd>Enables freetype font rendering. This is the default for the GTK toolkit. Not compatible with --enable-xft 
<p></p></dd></dl>

<h4 name="Statically_Linking_Components"> Statically Linking Components </h4>
<p></p><dl>
<dt><tt>ac_add_options --enable-libxul</tt> <em>(default)</em>
</dt><dd>Builds the core gecko components as a single library called libxul. This improves startup and runtime performance by reducing the number of relocations performed.
<p></p></dd><dt><tt>ac_add_options --enable-static --disable-libxul</tt>
</dt><dd>These options build a larger single executable, which has components linked statically. <tt>--enable-static</tt> requires <tt>--disable-libxul</tt>.  If you use <tt>--enable-static</tt>, it is recommended that you also <tt>--disable-tests</tt>. This option is not recommended for Firefox. It still exists only for Thunderbird and SeaMonkey which cannot yet build in the libxul configuration. 
<p></p></dd><dt><tt>ac_add_options --disable-static --disable-libxul</tt>
</dt><dd>These options make components into separate shared libraries. This makes debugging and incremental compiling much easier, but the resulting build is slower.
<p></p></dd></dl>

<h4 name="Extensions"> Extensions </h4>
<p></p><dl>
<dt>ac_add_options --enable-extensions=default|all|ext1,ext2,-skipext3
</dt><dd>There are many optional pieces of code that live in {{template.Source("extensions/")}}. Many of these extensions are now considered an integral part of the browsing experience. There is a default list of extensions for the suite, and each app-specific mozconfig specifies a different default set. Some extensions are not compatible with all apps, for example:

<ul><li> cookie is not compatible with thunderbird
</li><li> typeaheadfind is not compatible with any toolkit app (Firefox, Thunderbird, Sunbird) 
</li></ul>
<p>Unless you know which extensions are compatible with which apps, do not use the --enable-extensions option; the build system will automatically select the proper default set of extensions. 
</p></dd></dl>

<h4 name="Tests"> Tests </h4>
<p></p><dl>
<dt>ac_add_options --disable-tests
</dt><dd>By default, many auxiliary test applications are built, which can help debug and patch the mozilla source. Disabling these tests can speed build time and reduce disk space considerably. 
</dd></dl>

<h4 name="Other_Options"> Other Options </h4>
<p></p><dl>
<dt>ac_add_options --disable-crypto
</dt><dd>Cryptography is enabled by default. In some countries, it may be illegal to use or export cryptographic software. You should become familiar with the cryptography laws in your country.
<p>On the 1.7 and aviary branches, cryptography was off by default. You need to specify <code>--enable-crypto</code> if you want SSL, SMIME, or other software features that require cryptography. 
</p><p></p></dd><dt>ac_add_options --disable-javaxpcom (No Java)
</dt><dd>By default, XULRunner builds the <a href="en/JavaXPCOM">Java-XPCOM bridge</a>, which requires an installed JDK. If you get the following error during configure: <code>The header jni.h was not found. Set $JAVA_HOME or use --with-java-include-path</code>, then you can disable java dependencies using <code>ac_add_options --disable-javaxpcom</code>.
</dd></dl>

<h3 name="Example_.mozconfig_Files"> Example .mozconfig Files </h3>
<h4 name="Firefox.2C_Default_Release_Configuration"> Firefox, Default Release Configuration </h4>
<pre class="eval">. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-opt
ac_add_options --disable-tests
</pre>
<h4 name="Thunderbird.2C_Debugging_Build"> Thunderbird, Debugging Build </h4>
<pre class="eval">. $topsrcdir/mail/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/tbird-debug
mk_add_options MOZ_CO_PROJECT=mail,calendar
ac_add_options --disable-optimize
ac_add_options --enable-debug
</pre>
<h4 name="SeaMonkey.2C_Optimized_.28but_not_static.29"> SeaMonkey, Optimized (but not static) </h4>
<pre class="eval">mk_add_options MOZ_CO_PROJECT=suite
ac_add_options --enable-application=suite
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/suite-opt
ac_add_options --enable-optimize
ac_add_options --disable-debug
</pre>
<h4 name="XULRunner.2C_Minimal_Release_Build"> XULRunner, Minimal Release Build </h4>
<pre class="eval">mk_add_options MOZ_CO_PROJECT=xulrunner
mk_add_options MOZ_OBJDIR=@topsrcdir@/obj-xulrunner
ac_add_options --enable-application=xulrunner
#ac_add_options --disable-javaxpcom
</pre>
<h3 name="Building_multiple_applications_from_the_same_source_tree"> Building multiple applications from the same source tree </h3>
<p>It is possible to build multiple applications from the same source tree, as long as you have checked out all the necessary sources and you <a href="#Building_with_an_Objdir">use a different objdir</a> for each application.
</p><p>You can either create multiple mozconfig files, or alternatively, use the MOZ_BUILD_PROJECTS make option.
</p>
<h4 name="Using_MOZ_BUILD_PROJECTS_in_a_single_mozconfig"> Using MOZ_BUILD_PROJECTS in a single mozconfig </h4>
<p>To use MOZ_BUILD_PROJECTS, you must specify a MOZ_OBJDIR, and a MOZ_BUILD_PROJECTS make option, containing space separated names. Each name can be an arbitrary directory name. For each name, a subdirectory is created under the toplevel objdir. You then need to use the ac_add_app_options with the specified names to enable different applications in each object directory.
</p><p>For example:
</p>
<pre class="eval"> ac_add_options --disable-optimize --enable-debug 
 ac_add_options --enable-default-toolkit=gtk2 --disable-freetype2 --enable-xft
 mk_add_options MOZ_OBJDIR=/home/amil082/mozilla_trunk/obj-@CONFIG_GUESS@
 mk_add_options MOZ_BUILD_PROJECTS="xulrunner browser mail"
 mk_add_options MOZ_CO_PROJECT="xulrunner browser mail"
 ac_add_app_options browser --enable-application=browser
 ac_add_app_options xulrunner --enable-application=xulrunner
 ac_add_app_options mail --enable-application=mail
</pre>
<p>If you want to build only one project using this mozconfig, use the following commandline:
</p>
<pre class="eval"> make -f client.mk build MOZ_CURRENT_PROJECT=browser
</pre>
<p>This will build only browser.
</p>
<h4 name="Using_multiple_mozconfig_files"> Using multiple mozconfig files </h4>
<p>Alternatively, you may want to create separate mozconfig files.
</p><p>As an example, the following steps can be used to build Firefox and Thunderbird. You should first create three mozconfig files.
</p><p>mozconfig-common:
</p>
<pre class="eval">mk_add_options MOZ_CO_PROJECT=browser,mail

# add other common options here, such as making a static release build and
# disabling tests
ac_add_options --enable-optimize --disable-debug
ac_add_options --disable-tests
</pre>
<p>mozconfig-firefox:
</p>
<pre class="eval"># include the common mozconfig
. ./mozconfig-common

# Build Firefox
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-static
ac_add_options --enable-application=browser
</pre>
<p>mozconfig-thunderbird:
</p>
<pre class="eval"># include the common mozconfig
. ./mozconfig-common

# Build Thunderbird
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/thunderbird-static
ac_add_options --enable-application=mail
</pre>
<p>To checkout, run the following commands:
</p>
<pre class="eval">export MOZCONFIG=/path/to/mozilla/mozconfig-common
make -f client.mk checkout
</pre>
<p>To build Firefox, run the following commands:
</p>
<pre class="eval">export MOZCONFIG=/path/to/mozilla/mozconfig-firefox
make -f client.mk build
</pre>
<p>To build Thunderbird, run the following commands:
</p>
<pre class="eval">export MOZCONFIG=/path/to/mozilla/mozconfig-thunderbird
make -f client.mk build
</pre>
<div class="noinclude">
</div>
<h4 name="Configure_Options.2C_Complete_List"> Configure Options, Complete List </h4>
<ul><li> --{{mediawiki.external('enable/disable')}}-accessibility
</li><li> --{{mediawiki.external('enable/disable')}}-activex
</li><li> --{{mediawiki.external('enable/disable')}}-activex-scripting
</li><li> --{{mediawiki.external('enable/disable')}}-application=APP
</li><li> --{{mediawiki.external('enable/disable')}}-auto-deps
</li><li> --{{mediawiki.external('enable/disable')}}-boehm
</li><li> --{{mediawiki.external('enable/disable')}}-canvas
</li><li> --{{mediawiki.external('enable/disable')}}-chrome-format=jar|flat|both|symlink
</li><li> --{{mediawiki.external('enable/disable')}}-codesighs
</li><li> --{{mediawiki.external('enable/disable')}}-compile-environment
</li><li> --{{mediawiki.external('enable/disable')}}-composer
</li><li> --{{mediawiki.external('enable/disable')}}-cookies
</li><li> --{{mediawiki.external('enable/disable')}}-cpp-exceptions
</li><li> --{{mediawiki.external('enable/disable')}}-cpp-rtti
</li><li> --{{mediawiki.external('enable/disable')}}-crashreporter
</li><li> --{{mediawiki.external('enable/disable')}}-crypto
</li><li> --{{mediawiki.external('enable/disable')}}-ctl
</li><li> --{{mediawiki.external('enable/disable')}}-dbus
</li><li> --{{mediawiki.external('enable/disable')}}-debug-modules
</li><li> --{{mediawiki.external('enable/disable')}}-debug{{mediawiki.external('=DBG')}}
</li><li> --{{mediawiki.external('enable/disable')}}-debugger-info-modules
</li><li> --{{mediawiki.external('enable/disable')}}-default-toolkit=TK
</li><li> --{{mediawiki.external('enable/disable')}}-dtrace
</li><li> --{{mediawiki.external('enable/disable')}}-eazel-profiler-support
</li><li> --{{mediawiki.external('enable/disable')}}-efence
</li><li> --{{mediawiki.external('enable/disable')}}-elf-dynstr-gc
</li><li> --{{mediawiki.external('enable/disable')}}-extensions
</li><li> --{{mediawiki.external('enable/disable')}}-feeds
</li><li> --{{mediawiki.external('enable/disable')}}-freetypetest
</li><li> --{{mediawiki.external('enable/disable')}}-glibtest
</li><li> --{{mediawiki.external('enable/disable')}}-glibtest
</li><li> --{{mediawiki.external('enable/disable')}}-glitz
</li><li> --{{mediawiki.external('enable/disable')}}-gnomeui
</li><li> --{{mediawiki.external('enable/disable')}}-gnomevfs
</li><li> --{{mediawiki.external('enable/disable')}}-help-viewer
</li><li> --{{mediawiki.external('enable/disable')}}-image-decoders{{mediawiki.external('={mod1,mod2,default,all,none}')}}
</li><li> --{{mediawiki.external('enable/disable')}}-image-encoders{{mediawiki.external('={mod1,mod2,default,all,none}')}}
</li><li> --{{mediawiki.external('enable/disable')}}-inspector-apis
</li><li> --{{mediawiki.external('enable/disable')}}-install-strip
</li><li> --{{mediawiki.external('enable/disable')}}-installer
</li><li> --{{mediawiki.external('enable/disable')}}-insure
</li><li> --{{mediawiki.external('enable/disable')}}-ipcd
</li><li> --{{mediawiki.external('enable/disable')}}-javaxpcom
</li><li> --{{mediawiki.external('enable/disable')}}-jemalloc
</li><li> --{{mediawiki.external('enable/disable')}}-jprof
</li><li> --{{mediawiki.external('enable/disable')}}-js-static-build
</li><li> --{{mediawiki.external('enable/disable')}}-js-ultrasparc
</li><li> --{{mediawiki.external('enable/disable')}}-jsd
</li><li> --{{mediawiki.external('enable/disable')}}-jsloader
</li><li> --{{mediawiki.external('enable/disable')}}-ldap
</li><li> --{{mediawiki.external('enable/disable')}}-ldap-experimental
</li><li> --{{mediawiki.external('enable/disable')}}-leaky
</li><li> --{{mediawiki.external('enable/disable')}}-libIDLtest
</li><li> --{{mediawiki.external('enable/disable')}}-libxul
</li><li> --{{mediawiki.external('enable/disable')}}-logging
</li><li> --{{mediawiki.external('enable/disable')}}-logrefcnt
</li><li> --{{mediawiki.external('enable/disable')}}-long-long-warning
</li><li> --{{mediawiki.external('enable/disable')}}-macos-target=VER
</li><li> --{{mediawiki.external('enable/disable')}}-mailnews
</li><li> --{{mediawiki.external('enable/disable')}}-mathml
</li><li> --{{mediawiki.external('enable/disable')}}-md
</li><li> --{{mediawiki.external('enable/disable')}}-mochitest
</li><li> --{{mediawiki.external('enable/disable')}}-native-uconv
</li><li> --{{mediawiki.external('enable/disable')}}-necko-disk-cache
</li><li> --{{mediawiki.external('enable/disable')}}-necko-protocols{{mediawiki.external('={http,ftp,default,all,none}')}}
</li><li> --{{mediawiki.external('enable/disable')}}-necko-small-buffers
</li><li> --{{mediawiki.external('enable/disable')}}-negotiateauth
</li><li> --{{mediawiki.external('enable/disable')}}-official-branding
</li><li> --{{mediawiki.external('enable/disable')}}-oji
</li><li> --{{mediawiki.external('enable/disable')}}-old-abi-compat-wrappers
</li><li> --{{mediawiki.external('enable/disable')}}-optimize
</li><li> --{{mediawiki.external('enable/disable')}}-optimize={{mediawiki.external('OPT')}}
</li><li> --{{mediawiki.external('enable/disable')}}-os2-high-mem
</li><li> --{{mediawiki.external('enable/disable')}}-pedantic
</li><li> --{{mediawiki.external('enable/disable')}}-perf-metrics
</li><li> --{{mediawiki.external('enable/disable')}}-permissions
</li><li> --{{mediawiki.external('enable/disable')}}-places
</li><li> --{{mediawiki.external('enable/disable')}}-plaintext-editor-only
</li><li> --{{mediawiki.external('enable/disable')}}-plugins
</li><li> --{{mediawiki.external('enable/disable')}}-postscript
</li><li> --{{mediawiki.external('enable/disable')}}-prebinding
</li><li> --{{mediawiki.external('enable/disable')}}-pref-extensions
</li><li> --{{mediawiki.external('enable/disable')}}-printing
</li><li> --{{mediawiki.external('enable/disable')}}-profile-guided-optimization
</li><li> --{{mediawiki.external('enable/disable')}}-profile-modules
</li><li> --{{mediawiki.external('enable/disable')}}-profilelocking
</li><li> --{{mediawiki.external('enable/disable')}}-profilesharing
</li><li> --{{mediawiki.external('enable/disable')}}-quantify
</li><li> --{{mediawiki.external('enable/disable')}}-rdf
</li><li> --{{mediawiki.external('enable/disable')}}-reflow-perf
</li><li> --{{mediawiki.external('enable/disable')}}-safe-browsing
</li><li> --{{mediawiki.external('enable/disable')}}-shark
</li><li> --{{mediawiki.external('enable/disable')}}-startup-notification
</li><li> --{{mediawiki.external('enable/disable')}}-static
</li><li> --{{mediawiki.external('enable/disable')}}-static-mail
</li><li> --{{mediawiki.external('enable/disable')}}-storage
</li><li> --{{mediawiki.external('enable/disable')}}-strip
</li><li> --{{mediawiki.external('enable/disable')}}-svg
</li><li> --{{mediawiki.external('enable/disable')}}-svg-foreignobject
</li><li> --{{mediawiki.external('enable/disable')}}-system-cairo
</li><li> --{{mediawiki.external('enable/disable')}}-system-hunspell
</li><li> --{{mediawiki.external('enable/disable')}}-system-lcms
</li><li> --{{mediawiki.external('enable/disable')}}-system-sqlite
</li><li> --{{mediawiki.external('enable/disable')}}-tests
</li><li> --{{mediawiki.external('enable/disable')}}-timeline
</li><li> --{{mediawiki.external('enable/disable')}}-trace-malloc
</li><li> --{{mediawiki.external('enable/disable')}}-ui-locale=ab-CD
</li><li> --{{mediawiki.external('enable/disable')}}-universalchardet
</li><li> --{{mediawiki.external('enable/disable')}}-update-channel=CHANNEL
</li><li> --{{mediawiki.external('enable/disable')}}-update-packaging
</li><li> --{{mediawiki.external('enable/disable')}}-updater
</li><li> --{{mediawiki.external('enable/disable')}}-url-classifier
</li><li> --{{mediawiki.external('enable/disable')}}-v1-string-abi
</li><li> --{{mediawiki.external('enable/disable')}}-view-source
</li><li> --{{mediawiki.external('enable/disable')}}-webservices
</li><li> --{{mediawiki.external('enable/disable')}}-wrap-malloc
</li><li> --{{mediawiki.external('enable/disable')}}-xmlextras
</li><li> --{{mediawiki.external('enable/disable')}}-xpcom-fastload
</li><li> --{{mediawiki.external('enable/disable')}}-xpcom-lea
</li><li> --{{mediawiki.external('enable/disable')}}-xpcom-obsolete
</li><li> --{{mediawiki.external('enable/disable')}}-xpconnect-idispatch
</li><li> --{{mediawiki.external('enable/disable')}}-xpctools
</li><li> --{{mediawiki.external('enable/disable')}}-xpfe-components
</li><li> --{{mediawiki.external('enable/disable')}}-xpinstall
</li><li> --{{mediawiki.external('enable/disable')}}-xterm-updates
</li><li> --{{mediawiki.external('enable/disable')}}-xtf
</li><li> --{{mediawiki.external('enable/disable')}}-xul
</li><li> --{{mediawiki.external('enable/disable')}}-zipwriter
</li><li> --bindir=DIR
</li><li> --build=BUILD
</li><li> --cache-file=FILE
</li><li> --datadir=DIR
</li><li> --exec-prefix=EPREFIX
</li><li> --help
</li><li> --host=HOST
</li><li> --includedir=DIR
</li><li> --infodir=DIR
</li><li> --libdir=DIR
</li><li> --libexecdir=DIR
</li><li> --localstatedir=DIR
</li><li> --mandir=DIR
</li><li> --no-create
</li><li> --oldincludedir=DIR
</li><li> --prefix=PREFIX
</li><li> --program-prefix=PREFIX
</li><li> --program-suffix=SUFFIX
</li><li> --program-transform-name=PROGRAM
</li><li> --quiet,
</li><li> --sbindir=DIR
</li><li> --sharedstatedir=DIR
</li><li> --srcdir=DIR
</li><li> --sysconfdir=DIR
</li><li> --target=TARGET
</li><li> --version
</li><li> --with-PACKAGE{{mediawiki.external('=ARG')}}
</li><li> --with-branding=dir
</li><li> --with-default-mozilla-five-home
</li><li> --with-distribution-id=ID
</li><li> --with-doc-include-dirs=DIRS
</li><li> --with-doc-input-dirs=DIRS
</li><li> --with-doc-output-dir=DIR
</li><li> --with-embedding-profile=default|basic|minimal
</li><li> --with-ft-exec-prefix=PFX
</li><li> --with-ft-prefix=PFX
</li><li> --with-glib-exec-prefix=PFX
</li><li> --with-glib-exec-prefix=PFX
</li><li> --with-glib-prefix=PFX
</li><li> --with-glib-prefix=PFX
</li><li> --with-insure-dirs=DIRS
</li><li> --with-insure-exclude-dirs=DIRS
</li><li> --with-java-bin-path=dir
</li><li> --with-java-include-path=dir
</li><li> --with-libIDL-exec-prefix=PFX
</li><li> --with-libIDL-prefix=PFX
</li><li> --with-libxul-sdk=PFX
</li><li> --with-macos-sdk=dir
</li><li> --with-nspr-exec-prefix=PFX
</li><li> --with-nspr-prefix=PFX
</li><li> --with-nss-exec-prefix=PFX
</li><li> --with-nss-prefix=PFX
</li><li> --with-pthreads
</li><li> --with-system-bz2{{mediawiki.external('=PFX')}}
</li><li> --with-system-jpeg{{mediawiki.external('=PFX')}}
</li><li> --with-system-nspr
</li><li> --with-system-nss
</li><li> --with-system-png{{mediawiki.external('=PFX')}}
</li><li> --with-system-zlib{{mediawiki.external('=PFX')}}
</li><li> --with-user-appdir=DIR
</li><li> --with-windows-version=WINVER
</li><li> --with-wrap-malloc=DIR
</li><li> --with-x
</li><li> --with-xulrunner-stub-name=appname
</li><li> --without-PACKAGE
</li><li> --without-libIDL
</li><li> --x-includes=DIR
</li><li> --x-libraries=DIR
</li></ul>
{{ wiki.languages( { "es": "es/Configurar_las_opciones_de_compilaci\u00f3n", "fr": "fr/Configuration_des_options_de_compilation", "ja": "ja/Configuring_Build_Options", "zh-cn": "cn/\u914d\u7f6e\u7f16\u8bd1\u9009\u9879" } ) }}
Revert to this revision