#build-script #directive #cfg #target #shared #structs #build-cfg

build build_cfg_shared

为 build_cfg 提供共享的结构体和函数

3 个版本 (稳定版)

1.1.0 2022年1月13日
1.0.0 2021年10月20日
0.1.0 2021年9月26日

#570 in 构建工具

Download history 84/week @ 2024-03-14 153/week @ 2024-03-21 143/week @ 2024-03-28 62/week @ 2024-04-04 99/week @ 2024-04-11 162/week @ 2024-04-18 105/week @ 2024-04-25 74/week @ 2024-05-02 76/week @ 2024-05-09 88/week @ 2024-05-16 81/week @ 2024-05-23 118/week @ 2024-05-30 53/week @ 2024-06-06 69/week @ 2024-06-13 84/week @ 2024-06-20 116/week @ 2024-06-27

每月下载量 337 次
用于 12crate (直接使用2个)

MIT 协议

5KB
142

crates.io

build_cfg

在构建时测试 cfg 指令!

目前,cfg 指令在构建脚本中无法“正确”工作。这是因为构建脚本必须为主机机器编译才能执行。因此,它始终编译为目标环境。

这意味着我们不能根据传递给 --target 的目标平台在构建脚本中条件编译内容。这个 crate 通过在构建脚本运行时收集和评估 cfg 指令来解决这个问题。

示例

#[macro_use]
extern crate build_cfg;

#[build_cfg_main]
fn main() {
    if build_cfg!(all(target_os = "windows", target_pointer_width = "64")) {
        println!("Building for Windows 64-bit");
    } else {
        println!("Not building for Windows 64-bit");
    }
}

依赖项

~320–770KB
~18K SLoC