 +    self.name = spec['target_name']  # XXX remove bad chars
 +
 +    if spec['type'] == 'settings':
-+      return
++      return (None, None)
 +
 +    # Compute predepends for all rules.
 +    prebuild_deps = []

+  return arg
+
+class NinjaWriter:
+  def __init__(self, linkable_outputs, order_only_outputs, base_dir, path):
+    self.linkable_outputs = linkable_outputs
+    self.order_only_outputs = order_only_outputs
+    self.base_dir = base_dir
+    self.path = path
+    self.file = open(path, 'w')

+  all_outputs = set()
+
+  subninjas = set()
+  target_outputs = {}
+  target_links = {}
+  for qualified_target in target_list:
+    # qualified_target is like: third_party/icu/icu.gyp:icui18n#target
+    #OverPrint(qualified_target)
