ninja: Use a set for target deps and ordered deps

This significantly reduces the size of build.ninja for GStreamer.
This commit is contained in:
Nirbheek Chauhan 2017-06-02 05:23:47 +05:30
parent 6963da616b
commit d2dc38abd4
1 changed files with 6 additions and 6 deletions

View File

@ -58,22 +58,22 @@ class NinjaBuildElement:
self.infilenames = [infilenames] self.infilenames = [infilenames]
else: else:
self.infilenames = infilenames self.infilenames = infilenames
self.deps = [] self.deps = set()
self.orderdeps = [] self.orderdeps = set()
self.elems = [] self.elems = []
self.all_outputs = all_outputs self.all_outputs = all_outputs
def add_dep(self, dep): def add_dep(self, dep):
if isinstance(dep, list): if isinstance(dep, list):
self.deps += dep self.deps.update(dep)
else: else:
self.deps.append(dep) self.deps.add(dep)
def add_orderdep(self, dep): def add_orderdep(self, dep):
if isinstance(dep, list): if isinstance(dep, list):
self.orderdeps += dep self.orderdeps.update(dep)
else: else:
self.orderdeps.append(dep) self.orderdeps.add(dep)
def add_item(self, name, elems): def add_item(self, name, elems):
if isinstance(elems, str): if isinstance(elems, str):