 +
 +  def WriteEdge(self, outputs, command, inputs,
 +                order_only_inputs=[],
-+                use_prebuild_stamp=True):
++                use_prebuild_stamp=True,
++                extra_bindings=[]):
 +    extra_inputs = order_only_inputs[:]
 +    if use_prebuild_stamp and self.prebuild_stamp:
 +      extra_inputs.append(self.prebuild_stamp)

+        self.WriteActions(local_name, spec['actions'], extra_sources))
+
+    if 'rules' in spec:
+      self.WriteRules(local_name, spec['rules'], extra_sources)
+
+    link_deps = []
+    sources = spec.get('sources', []) + extra_sources

+  'PRODUCT_DIR': '@',
+  'SHARED_LIB_DIR': '$(builddir)/lib.$(TOOLSET)',
+  'LIB_DIR': '$(obj).$(TOOLSET)',
+  'RULE_INPUT_ROOT': '$root',
+  'RULE_INPUT_PATH': '$source',
+  'RULE_INPUT_EXT': '$ext',
+  'RULE_INPUT_NAME': 'XXXNINJAXXX',
+
+  # This appears unused --- ?
