从自定义 bazel 工具链公开 make 变量的预期模式是什么?

问题描述

我正在尝试将 make 变量公开给 genrule,以便我可以将一些信息从工具链选择传递到自定义规则。在这种情况下,它是与当前为我的语言选择的工具链(MachO/ELF/PE 之一)相对应的目标文件格式。

我发现如果我在特定规则上公开 TemplateVariableInfo,然后在我的 genrule 的工具链属性中依赖该规则,那么我会得到所需的行为。但是,除了通过唯一目的是公开 make 变量的规则手动之外,我不知道如何将其与工具链解析结合起来。这是因为我无法控制 toolchain_type 规则的实现,因此无法使其返回 TemplateVariableInfo

如果我这样做,那么在定义目标时,我需要在工具链属性中提供与定义规则时不同的标签。也许这是最好的模式,但看起来如果是这样,那么如果提供 Make Variables 的东西与工具链无关,那么为什么在 toolchain 属性中提供它们?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)