index.rst 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. ========
  2. mozbuild
  3. ========
  4. mozbuild is a Python package providing functionality used by Mozilla's
  5. build system.
  6. Modules Overview
  7. ================
  8. * mozbuild.backend -- Functionality for producing and interacting with build
  9. backends. A build backend is an entity that consumes build system metadata
  10. (from mozbuild.frontend) and does something useful with it (typically writing
  11. out files that can be used by a build tool to build the tree).
  12. * mozbuild.compilation -- Functionality related to compiling. This
  13. includes managing compiler warnings.
  14. * mozbuild.frontend -- Functionality for reading build frontend files
  15. (what defines the build system) and converting them to data structures
  16. which are fed into build backends to produce backend configurations.
  17. * mozpack -- Functionality related to packaging builds.
  18. Overview
  19. ========
  20. The build system consists of frontend files that define what to do. They
  21. say things like "compile X" "copy Y."
  22. The mozbuild.frontend package contains code for reading these frontend
  23. files and converting them to static data structures. The set of produced
  24. static data structures for the tree constitute the current build
  25. configuration.
  26. There exist entities called build backends. From a high level, build
  27. backends consume the build configuration and do something with it. They
  28. typically produce tool-specific files such as make files which can be used
  29. to build the tree.
  30. Piecing it all together, we have frontend files that are parsed into data
  31. structures. These data structures are fed into a build backend. The output
  32. from build backends is used by builders to build the tree.