зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1370296 - Add compile graphs nodes without dependencies as direct dependencies of the top recursion target. r=gps
Incidentally, this prioritizes js/src even more than it was after bug 1262241
.
--HG--
extra : rebase_source : 904fad5ca9a29c7b2a1b33fdf500f98f70904118
This commit is contained in:
Родитель
41d0bf4757
Коммит
3fed056f8f
|
@ -742,7 +742,20 @@ class RecursiveMakeBackend(CommonBackend):
|
|||
|
||||
all_compile_deps = reduce(lambda x,y: x|y,
|
||||
self._compile_graph.values()) if self._compile_graph else set()
|
||||
compile_roots = set(self._compile_graph.keys()) - all_compile_deps
|
||||
# Include the following as dependencies of the top recursion target for
|
||||
# compilation:
|
||||
# - nodes that are not dependended upon by anything. Typically, this
|
||||
# would include programs, that need to be recursed, but that nothing
|
||||
# depends on.
|
||||
# - nodes that have no dependencies of their own. Technically, this is
|
||||
# not necessary, because other things have dependencies on them, and
|
||||
# they all end up rooting to nodes from the above category. But the
|
||||
# way make works[1] is such that there can be benefits listing them
|
||||
# as direct dependencies of the top recursion target, to somehow
|
||||
# prioritize them.
|
||||
# 1. See bug 1262241 comment 5.
|
||||
compile_roots = [t for t, deps in self._compile_graph.iteritems()
|
||||
if not deps or t not in all_compile_deps]
|
||||
|
||||
rule = root_deps_mk.create_rule(['recurse_compile'])
|
||||
rule.add_dependencies(compile_roots)
|
||||
|
|
Загрузка…
Ссылка в новой задаче