这是图书馆箱子的Cargo.toml。它具有对板支持板条箱board-a
和board-b
的可选依赖性,从而支持两种不同的嵌入式板,并且通过运行cargo build --features target-a
仅选择其中之一。
还有一个通用的第三方模块,可以选择使用const-fn
功能。此选项在库箱中显示:
[dependencies]
common = {...}
board-a = {optional=true, ...}
board-b = {optional=true, ...}
[features]
const-fn = ["common/const-fn"]
target-a = ["board-a"]
target-b = ["board-b"]
到目前为止还不错,但是如果board-a
和board-b
板条箱也具有可选的const-fn
功能,并且我想将这些选项提供给图书馆板条箱的用户怎么办?我可以在不创建target-a-const-fn
和target-b-const-fn
功能的情况下执行此操作吗?我公开的更多可选功能或我们支持的更多主板显然会使这很混乱。
我不想在两个板条箱中都使用const-fn
功能-仅应使用选定的板条箱,否则会不必要地增加下载和编译时间。理想情况下,我需要与以下内容等效的工具,但据我所知,远没有像它一样存在:
[features]
const-fn = ["common/const-fn", "board-a/const-fn" if target-a, "board-b/const-fn" if target-b]
target-a = ...