Platform/Channel-specific build defines
The Mozilla build system defines the following variables (both as AC_DEFINE, for the C++/XUL preprocessors, and AC_SUBST for autoconf/Makefiles) that can be used to control when during the release cycle a feature/code is enabled.
NIGHTLY_BUILD
This is defined when milestone.txt contains "a1", i.e. for Nightly builds only.
This define was added in the Firefox 23 cycle.
RELEASE_BUILD
This is defined when milestone.txt does not contain "a", i.e. for Beta and Release builds.
This define was originally added in the Firefox 19 cycle, but was initially only defined in preference files. As of Firefox 23 it is defined globally.
EARLY_BETA_OR_EARLIER
This is defined depending on the corresponding value in build/defines.sh. This file is managed manually by the release management team, with the variable being cleared once we're past the "early beta" point in the release cycle.
This define was added in the Firefox 23 cycle.
- Note: use of this flag requires explicit approval from release-management.
- Note: this flag is currently not defined for the JS build (bug 879836)