build/docs/index.rst
author Gregory Szorc <gps@mozilla.com>
Fri, 11 Mar 2016 15:00:02 -0800
changeset 289055 e59a9fc7b1550a9378618bb45cc30a6730114538
parent 231479 7a4c862d6cf323cafd477359ee961caf0d13b16d
child 291257 69f271e79c56618f9a36cd0649e02785e7fde82c
permissions -rw-r--r--
Bug 1253707 - Script to generate visual studio toolchain archive; r=ted Previously, Windows toolchains and related dependencies (SDKs, etc) were installed on Windows builders by people responsible for maintaining those machines. This commit takes a step in a new direction. We introduce a script (complete with documentation) that can produce a zip archive (or any archive format if people want to implement support) of the toolchain files. Basically, you install Visual Studio 2015 Community, run the script, and produce a self-contained zip file containing everything from Microsoft you need to build Firefox. With a copy of this archive and an installation of MozillaBuild, it is possible to build Firefox on a fresh Windows installation. No time-consuming Visual Studio installation needed. The goal is to upload these archives to tooltool and have our Windows builders download and extract them at run-time. At which time, we can remove all the other Visual Studio and SDK files from builders because they don't need to be baked into the image. We may find tooltool's caching isn't good enough and we have to more aggressively caching the standalone toolchain files. But that is a problem for another day. Whatever happens, we'll need the functionality in this script to produce a self-contained archive of the toolchain. There are certainly files in the produced archive that aren't needed. I think perfect is the enemy of done and we can prune the archive over time, if wanted. MozReview-Commit-ID: EckEK1a6vA3

============
Build System
============

Important Concepts
==================
.. toctree::
   :maxdepth: 1

   glossary
   build-overview
   supported-configurations
   Mozconfig Files <mozconfigs>
   mozbuild-files
   mozbuild-symbols
   files-metadata
   Profile Guided Optimization <pgo>
   slow
   environment-variables
   build-targets
   python
   test_manifests
   mozinfo
   preprocessor
   jar-manifests
   defining-binaries
   toolchains

integrated development environment (IDE)
========================================
.. toctree::
   :maxdepth: 1

   androideclipse
   cppeclipse
   visualstudio

mozbuild
========

mozbuild is a Python package containing a lot of the code for the
Mozilla build system.

.. toctree::
   :maxdepth: 1

   mozbuild/index
   mozbuild/dumbmake