def build(self, name, sources, env=None): sources = [self.ctx.src_root.find_resource(s) for s in sources] task_gen = TaskGen("template", self.ctx, sources, name) task_gen.env = _merge_env(self.env, env) tasks = task_gen.process() for t in tasks: t.env = task_gen.env self.ctx.tasks.extend(tasks) outputs = tasks[0].outputs[:] return outputs
def ccompile(self, name, sources, env=None): task_gen = CompiledTaskGen("cxccompile", self.ctx, sources, name) task_gen.env = _merge_env(self.env, env) apply_cpppath(task_gen) tasks = task_gen.process() for t in tasks: t.env = task_gen.env self.ctx.tasks.extend(tasks) outputs = [] for t in tasks: outputs.extend(t.outputs) return outputs
def program(self, name, sources, env=None): sources = [self.ctx.src_root.find_resource(s) for s in sources] task_gen = CompiledTaskGen("cxxprogram", self.ctx, sources, name) task_gen.env = _merge_env(self.env, env) apply_cpppath(task_gen) apply_libdir(task_gen) apply_libs(task_gen) tasks = task_gen.process() ltask = cxxprogram_task(task_gen, name) tasks.extend(ltask) for t in tasks: t.env = task_gen.env self.ctx.tasks.extend(tasks) self.link_task = ltask outputs = [] for t in ltask: outputs.extend(t.outputs) return outputs
def extension(self, name, sources, env=None): sources = [self.ctx.src_root.find_resource(s) for s in sources] return create_pyext(self.ctx, name, sources, _merge_env(self.env, env))