MozillaBuild

From MozillaWiki
Jump to: navigation, search

Overview

MozillaBuild is a meta-installer that provides everything needed to build Mozilla on Windows, sans Visual C++. Its source lives in https://hg.mozilla.org/mozilla-build/. Bugs should be filed in mozilla.org :: MozillaBuild. For information about building Mozilla on Win32, see the Mozilla Developer Center page.

Current Version

The current version of MozillaBuild is 3.4. It is available on ftp.mozilla.org.

To Upgrade From A Previous Version

Upgrading from an earlier MozillaBuild installation is straightforward but each step is important.

  1. Delete your current MozillaBuild environment by moving your MozillaBuild folder into the trash. If you can't remove the existing installation, you probably have a terminal open or ssh-agent running. Terminate that process and try again.
  2. Install the new MozillaBuild release.
  3. If you had previously enabled Mintty, you will need to do so again by adding SET USE_MINTTY=1 to the top of start-shell.bat.
  4. Run ./mach vcs-setup --update-only to ensure that the version-control-tools repository is current (Mercurial extensions may break otherwise).
  5. Clobber any trees you have by running ./mach clobber (build errors may occur otherwise).
  6. Re-run ./mach bootstrap to ensure that your Rust toolchain is up-to-date.

Technical Details

The MozillaBuild package contains other software prerequisites necessary for building Mozilla, including the MSYS build environment, Mercurial, CVS, Python, YASM, NSIS, and UPX, as well as optional but useful tools such as wget and emacs. Note that the "UNIX-like" environment provided by MozillaBuild is only really useful for building and committing to the Mozilla source. Most command line tools you would expect in a modern Linux distribution are not present, and those tools that are provided can be as much as a decade or so old (especially those provided by MSYS). It's the old tools in particular that can cause problems since they often don't behave as expected, are buggy, or don't support command line arguments that have been taken for granted for years. For example, copying a source tree using cp -rf src1 src2 does not work correctly because of an old version of cp (it gives "cp: will not create hard link" errors for some files). In short, MozillaBuild supports essential developer interactions with the Mozilla code, but beyond that don't be surprised if it trips you up in all sorts of exciting and unexpected ways.

MozillaBuild does not modify the Windows registry.

Command Prompt Tips and Caveats
  • To paste into this window, you must right-click on the window's title bar, move your cursor to the “Edit” menu, and click “Paste”. You can also set “Quick Edit Mode” in the “Properties” menu and right-click the window to paste your selection.
  • The MSYS root directory is located in /c/mozilla-build/msys if you used the default installation directory.

Release Notes

There are no release notes for 1.1 and below.

Historic Versions

Old versions of MozillaBuild can also be found on ftp.mozilla.org.