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
.
- For the comm-central specific code, this is just
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