зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1216901
- Make the FasterMake backend reticulate splines when moz.build or jar.mn files are modified. r=mshal
This commit is contained in:
Родитель
d2683de574
Коммит
03e573e93c
|
@ -24,6 +24,8 @@
|
|||
# python/mozbuild/mozbuild/backend/fastermake.py is the following:
|
||||
# - TOPSRCDIR/TOPOBJDIR, respectively the top source directory and the top
|
||||
# object directory
|
||||
# - BACKEND, the path to the file the backend will always update when running
|
||||
# mach build-backend
|
||||
# - PYTHON, the path to the python executable
|
||||
# - ACDEFINES, which contains a set of -Dvar=name to be used during
|
||||
# preprocessing
|
||||
|
@ -69,12 +71,22 @@ $(TOPOBJDIR)/%: FORCE
|
|||
# fallback
|
||||
$(TOPOBJDIR)/faster/%: ;
|
||||
|
||||
# Files under the python virtualenv, which are dependencies of the BACKEND
|
||||
# file, are not meant to use the fallback either.
|
||||
$(TOPOBJDIR)/_virtualenv/%: ;
|
||||
|
||||
# And files under dist/ are meant to be copied from their first dependency
|
||||
# if there is no other rule.
|
||||
$(TOPOBJDIR)/dist/%:
|
||||
rm -f $@
|
||||
cp $< $@
|
||||
|
||||
# Refresh backend
|
||||
$(BACKEND):
|
||||
cd $(TOPOBJDIR) && $(PYTHON) config.status --backend FasterMake
|
||||
|
||||
$(MAKEFILE_LIST): $(BACKEND)
|
||||
|
||||
# Install files using install manifests
|
||||
#
|
||||
# The list of base directories is given in INSTALL_MANIFESTS. The
|
||||
|
|
|
@ -207,6 +207,7 @@ class FasterMakeBackend(CommonBackend):
|
|||
)
|
||||
pp.out = JarManifestParser()
|
||||
pp.do_include(obj.path)
|
||||
self.backend_input_files |= pp.includes
|
||||
|
||||
for jarinfo in pp.out:
|
||||
install_target = obj.install_target
|
||||
|
@ -294,6 +295,7 @@ class FasterMakeBackend(CommonBackend):
|
|||
mk.create_rule(['default'])
|
||||
mk.add_statement('TOPSRCDIR = %s' % self.environment.topsrcdir)
|
||||
mk.add_statement('TOPOBJDIR = %s' % self.environment.topobjdir)
|
||||
mk.add_statement('BACKEND = %s' % self._backend_output_list_file)
|
||||
|
||||
# Add a few necessary variables inherited from configure
|
||||
for var in (
|
||||
|
@ -324,6 +326,10 @@ class FasterMakeBackend(CommonBackend):
|
|||
mk.create_rule([target]).add_dependencies(
|
||||
'$(TOPOBJDIR)/%s' % d for d in deps)
|
||||
|
||||
# Add backend dependencies:
|
||||
mk.create_rule([self._backend_output_list_file]).add_dependencies(
|
||||
self.backend_input_files)
|
||||
|
||||
mk.add_statement('include $(TOPSRCDIR)/config/faster/rules.mk')
|
||||
|
||||
for base, install_manifest in self._install_manifests.iteritems():
|
||||
|
|
Загрузка…
Ссылка в новой задаче