#rustc #cargo #command #configuration #cargo-subcommand #env-var

cargo-rustc-cfg

运行 cargo rustc -- --print cfg 命令并解析输出

2 个不稳定版本

0.2.0 2020年11月30日
0.1.0 2020年11月28日

#1670 in 开发工具

MIT/Apache

56KB
314

cargo-rustc-cfg: 一个运行 cargo rustc -- --print cfg 命令并解析输出的 Rust 库(crate)

这是一个运行 cargo rustc -- --print cfg 命令并解析输出的 Rust 库(crate)。它受到 rustc-cfg crate 的启发,该 crate 运行 rustc --print cfg 命令并解析输出,但它不会考虑从 Cargo 传递到使用 Cargo 构建项目时的 Rust 编译器(rustc) 的任何标志或配置。例如,如果使用 RUSTFLAGS 环境变量添加目标功能,即 RUSTFLAGS="-C target-feature=+crt-static,那么 rustc --print cfg 命令不会在其输出中列出添加的目标功能,因为 RUSTFLAGS 环境变量由 Cargo 管理。然而,cargo rustc -- --print cfg 将在其输出中列出添加的目标功能。此 crate 对开发需要编译器配置信息的第三方 Cargo 子命令 非常有用。此 crate 不推荐 用于 构建脚本

Crates.io GitHub release Crates.io Build Status

快速入门

use cargo_rustc_cfg::Cfg;

let cfg = Cfg::host()?;
println("{:?}", cfg);

安装

将以下内容添加到包的清单(Cargo.toml)中

cargo-rustc-cfg = "0.1"

如果使用Rust 2015 版本,则还需要将以下内容添加到lib.rsmain.rs源文件中

extern crate cargo_rustc_cfg;

测试

测试是通过cargo test命令运行的。目前,由于这是一个相对简单、小型库,因此文档测试提供了足够的覆盖范围。

许可证

项目cargo-rustc-cfg根据MIT许可证Apache 2.0许可证授权。有关许可和版权的更多信息,请参阅LICENSE-MITLICENSE-APACHE文件。

无运行时依赖