gecko/CLOBBER
Gregory Szorc 8e72b6e44d Bug 848530 - Check for moz.build traversal at top of build; r=glandium
One of the first actions an invoked Makefile now does is check to see if
*any* moz.build file or Makefile.in is out of date. If so, config.status
is executed to rebuild the build backend.

Since we always perform this check as part of a build, we no longer need
special handling for out of date moz.build files during traversals. This
results in the removal of a significant amount of code!

Another upside of the change is that if a moz.build file is modified
during building, we don't (potentially) modify the build backend from
under the in-progress build. Thus the only race condition that remains
is if a moz.build is mutated during moz.build reading. This window (a
few seconds) is significantly shorter than the time of a full build
(minutes).

This patch should also enable us to remove empty Makefile.in files
without requiring a clobber.
2013-05-17 10:54:56 -07:00

24 lines
1012 B
Plaintext

# To Trigger a clobber replace ALL of the textual description below,
# giving a bug number and a one line description of why a clobber is
# required. Modifying this file will make configure check that a
# clobber has been performed before the build can continue.
#
# MERGE NOTE: When merging two branches that require a CLOBBER, you should
# merge both CLOBBER descriptions, to ensure that users on
# both branches correctly see the clobber warning.
#
# O <-- Users coming from both parents need to Clobber
# / \
# O O
# | |
# O <-- Clobber O <-- Clobber
#
# Note: The description below will be part of the error message shown to users.
#
# Modifying this file will now automatically clobber the buildbot machines \o/
#
Bug 848530 - Added a dependency file for moz.build traversal.
Alternative to clobber is to run ./config.status from the objdir and to
touch the CLOBBER file in the objdir.