如何结合Bazel方面和CC_Library



我想构建与cc_proto_library非常相似的规则。关键功能是,它将对所有及所有依赖性的proto_library依赖项应用一个方面,并为所有依赖项生成.cc.h文件。此外,它将生成将这些操作编译为对象文件的操作。

虽然我了解如何进行文件生成,但我看不到如何轻松地进行对象生成。本机模块无法用于规则(或方面)实现,并且我不能在该方面使用宏,因为我需要与proto_library在同一软件包中生成对象文件,以便仅生成一次。<<<<<<<<<<<<<<

我相信

cc_proto_library可以做到这一点,因为它不是用skylark编写的,因此可以访问更多的原语。无论如何,只有Skylark可以做到吗?

不幸的是,目前是不可能的。C 规则/动作没有Skylark API(我们称之为C 三明治)。我们计划在2018年第一季度实施此操作。有许多跟踪问题,这看起来最相关:https://github.com/bazelbuild/bazel/bazel/issues/2163。

最新更新