MCPcopy
hub / github.com/raspberrypi/documentation / build

Method build

scripts/ninja_syntax.py:81–117  ·  view source on GitHub ↗
(self, outputs, rule, inputs=None, implicit=None, order_only=None,
              variables=None, implicit_outputs=None, pool=None, dyndep=None)

Source from the content-addressed store, hash-verified

79 self.variable('deps', deps, indent=1)
80
81 def build(self, outputs, rule, inputs=None, implicit=None, order_only=None,
82 variables=None, implicit_outputs=None, pool=None, dyndep=None):
83 outputs = as_list(outputs)
84 out_outputs = [escape_path(x) for x in outputs]
85 all_inputs = [escape_path(x) for x in as_list(inputs)]
86
87 if implicit:
88 implicit = [escape_path(x) for x in as_list(implicit)]
89 all_inputs.append('|')
90 all_inputs.extend(implicit)
91 if order_only:
92 order_only = [escape_path(x) for x in as_list(order_only)]
93 all_inputs.append('||')
94 all_inputs.extend(order_only)
95 if implicit_outputs:
96 implicit_outputs = [escape_path(x)
97 for x in as_list(implicit_outputs)]
98 out_outputs.append('|')
99 out_outputs.extend(implicit_outputs)
100
101 self._line('build %s: %s' % (' '.join(out_outputs),
102 ' '.join([rule] + all_inputs)))
103 if pool is not None:
104 self._line(' pool = %s' % pool)
105 if dyndep is not None:
106 self._line(' dyndep = %s' % dyndep)
107
108 if variables:
109 if isinstance(variables, dict):
110 iterator = iter(variables.items())
111 else:
112 iterator = iter(variables)
113
114 for key, val in iterator:
115 self.variable(key, val, indent=1)
116
117 return outputs
118
119 def include(self, path):
120 self._line('include %s' % path)

Callers 1

Calls 4

_lineMethod · 0.95
variableMethod · 0.95
as_listFunction · 0.85
escape_pathFunction · 0.85

Tested by

no test coverage detected