mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-30 16:22:00 +00:00
217bd35159
The way the processor works currently is that it relies on two different build backends, one of which produces json files for specific configurations, and the other which produces moz.build files from the aggregate of all those configs. Each of these json files is huge, and we actually don't have enough to support all the platforms we're supposed to be supporting. Adding more files is not enticing. Now that we've made the first step described above work in a single pass on a single machine (as opposed to multiple passes on multiple machines previously), we can actually merge both steps and avoid producing the intermediate json files altogether. This will allow to add more configurations without having to worry about the weight of those files. And because this all doesn't need to depend on having the first step hooked up in the build system, we make the whole an independent script rather than a build backend. Differential Revision: https://phabricator.services.mozilla.com/D149210
18 lines
898 B
ReStructuredText
18 lines
898 B
ReStructuredText
.. _gn:
|
|
|
|
==============================
|
|
GN support in the build system
|
|
==============================
|
|
|
|
:abbr:`GN (Generated Ninja)` is a third-party build tool used by chromium and
|
|
some related projects that are vendored in mozilla-central. Rather than
|
|
requiring ``GN`` to build or writing our own build definitions for these projects,
|
|
we have support in the build system for translating GN configuration
|
|
files into moz.build files. In most cases these moz.build files will be like any
|
|
others in the tree (except that they shouldn't be modified by hand), however
|
|
those updating vendored code or building on platforms not supported by
|
|
Mozilla automation may need to re-generate these files. This is a per-project
|
|
process, described in dom/media/webrtc/third_party_build/gn-configs/README.md for
|
|
webrtc. As of writing, it is very specific to webrtc, and likely doesn't work as-is
|
|
for other projects.
|