fune/python
Mike Shal 96425af79a Bug 1537574 - Use mozbuild's backend-out-of-date logic for RecursiveMake; r=firefox-build-system-reviewers,chmanchester
If mozbuild parsing fails due to a missing file (eg: a file not existing
in UNIFIED_SOURCES), then no Makefiles are written out, but
config.status exists. This would cause mozbuild to think that configure
doesn't need to run, and rely on make to perform the backend-out-of-date
check in rebuild-backend.mk. Unfortunately since no Makefiles were
written, the make command fails immediately and no attempt is made to
re-create the backend. Note that this is only a problem if the first
mozbuild parsing from a clobber build fails, otherwise there is
typically a top-level Makefile from a previous build to call into (at
which point make can determine it is out-of-date, and re-invoke itself).

The fix is to have the RecursiveMake backend re-use the same logic that
was introduced into mozbuild for alternate backends, and remove
rebuild-backend.mk. This way, mozbuild can always determine if the
backend needs to be regenerated, even if the initial parsing failed.

Test code was also relying on rebuild-backend.mk to generate the
TestBackend, but moving backend_out_of_date() into MozbuildObject allows
this code to be shared.

Differential Revision: https://phabricator.services.mozilla.com/D26262

--HG--
rename : build/gen_test_backend.py => python/mozbuild/mozbuild/gen_test_backend.py
extra : moz-landing-system : lando
2019-04-08 16:37:56 +00:00
..
devtools/migrate-l10n
docs
l10n Bug 1523741 - Converting legacy aboutTelemetry to Fluent aboutTelemetry, r=jaws,flod,Gijs 2019-04-08 09:15:16 +00:00
mach Bug 1526072 - Record cpu utilization and clobber/full builds in build telemetry. r=nalexander 2019-03-27 22:42:48 +00:00
mozboot Bug 1542376 - Avoid exception during Android bootstrap. r=glandium 2019-04-05 22:07:30 +00:00
mozbuild Bug 1537574 - Use mozbuild's backend-out-of-date logic for RecursiveMake; r=firefox-build-system-reviewers,chmanchester 2019-04-08 16:37:56 +00:00
mozlint Bug 1536836 - Support multiple formatters with file output in ./mach lint, r=ahal 2019-03-25 09:16:14 +00:00
mozrelease Bug 1533589: Add win64-aarch64 update verify configuration; r=aki 2019-04-03 20:43:14 +00:00
mozterm
mozversioncontrol
safety
mach_commands.py Bug 1504308 - [mach] Pass path to Python interpreter to python-tests. r=ahal 2019-04-03 21:02:55 +00:00
moz.build
README

This directory contains common Python code.

The basic rule is that if Python code is cross-module (that's "module" in the
Mozilla meaning - as in "module ownership") and is MPL-compatible, it should
go here.

What should not go here:

* Vendored python modules (use third_party/python instead)
* Python that is not MPL-compatible (see other-licenses/)
* Python that has good reason to remain close to its "owning" (Mozilla)
  module (e.g. it is only being consumed from there).

Historical information can be found at
https://bugzilla.mozilla.org/show_bug.cgi?id=775243
https://bugzilla.mozilla.org/show_bug.cgi?id=1346025