Orchestrator can build end to end.
This reduces the scope of the demo to just building and installing a single .so, but it makes the demo actually build that single .so. Next up, writing some unit tests and fleshing out functionality. Test: see the README Change-Id: I560904b786fbf69d3a83dbb08d496dba5a3192ca
This commit is contained in:
@@ -30,6 +30,7 @@ class Ninja(ninja_writer.Writer):
|
||||
super(Ninja, self).__init__(file)
|
||||
self._context = context
|
||||
self._did_copy_file = False
|
||||
self._phonies = {}
|
||||
|
||||
def add_copy_file(self, copy_to, copy_from):
|
||||
if not self._did_copy_file:
|
||||
@@ -43,4 +44,16 @@ class Ninja(ninja_writer.Writer):
|
||||
build_action.add_variable("out_dir", os.path.dirname(copy_to))
|
||||
self.add_build_action(build_action)
|
||||
|
||||
def add_global_phony(self, name, deps):
|
||||
"""Add a phony target where there are multiple places that will want to add to
|
||||
the same phony. If you can, to save memory, use add_phony instead of this function."""
|
||||
if type(deps) not in (list, tuple):
|
||||
raise Exception("Assertion failed: bad type of deps: %s" % type(deps))
|
||||
self._phonies.setdefault(name, []).extend(deps)
|
||||
|
||||
def write(self):
|
||||
for phony, deps in self._phonies.items():
|
||||
self.add_phony(phony, deps)
|
||||
super(Ninja, self).write()
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user