Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

The comm-central build system

This document is targeted at developers who need to use and update the comm-central build system.

The repository is also browsable and searchable.

This document is not intended for people who just want to build Mozilla. For that, see the Build Documentation.

Introduction

The comm-central build system is an extension of the system used for mozilla-central. Readers of this document should first read How_Mozilla's_build_system_works and ensure they are familiar with it.

It is also worth being familiar with the code layout of comm-central.

Theory

Work in Progress: This section is still being written and needs more information

The comm-central build system is a wrapper/extension of the mozilla build system. The few build files that are required to run the comm-central system call into the core mozilla files (under mozilla/) to share the same code.

  • Configuring:
    • client.mk is used to call the master configure file.
    • configure calls mozilla/configure
      • mozilla/configure calls the NSPR and NSS configure scripts
    • configure calls the directory/c-sdk configure script
  • Building:
    • The [tier build] system is still present.
    • Makefile.in calls make default in mozilla/
      • The main mozilla build then takes place
    • According to the details in rules.mk, make is called on all the TIERS, for each of their directories.
      • For the comm-central specific code, this is just tier_app.

Special Variables

  • COMM_BUILD
    • set to 1 in the comm-central build system, undefined elsewhere
    • used in places that are called from both the comm-central build system and others, like the Mozilla build system (for example, build.mk, confvars.sh, mozconfig or calendar as long as it's still pulled from CVS)
  • MOZILLA_SRCDIR
    • points to the topsrcdir of the included Mozilla source
    • used instead of topsrcdir when pointing to code inside mozilla-central
  • MOZILLA_DIR
    • This is a useful variable that can be used from within mozilla-central or comm-central
    • Within mozilla-central it points to mozilla's topsrcdir
    • Within comm-central it also points to mozilla's topsrcdir
  • MOZDEPTH
    • relative pointer to Mozilla's top src/objdir from the current src/objdir
    • used instead of DEPTH when pointing to objdir files built from mozilla-central

Document Tags and Contributors

 Contributors to this page: Sheppy, maybe, Standard8, KaiRo
 Last updated by: Sheppy,