7个版本
使用旧的Rust 2015
0.3.1 | 2017年5月2日 |
---|---|
0.3.0 | 2017年2月10日 |
0.2.1 | 2017年2月3日 |
0.2.0 | 2017年1月18日 |
0.1.1 | 2016年7月29日 |
#12 in #target-triple
每月下载 28,136 次
在 136 个 包中使用(直接使用3个)
31KB
518 行
已弃用
从1.14.0版本开始,使用Cargo设置的环境变量。
它们看起来像这样: CARGO_CFG_TARGET_OS
,CARGO_CFG_TARGET_ENV…
这是一个用于处理传递给build.rs脚本的TARGET
环境变量的实用工具包。
与rust的#[cfg(target…)]
属性不同,build.rs
脚本没有提供方便的方式来检测将要构建的代码运行的系统,从而不能很好地支持交叉编译。
此包以与Rust中相应的cfg
属性非常相似的方式公开了target_arch
、target_vendor
、target_os
和target_abi
,从而允许build.rs
脚本根据包的构建目标调整输出。
还支持自定义目标JSON文件。
使用target_build_utils
如果使用构建脚本(build.rs
),则此包非常有用。通过以下方式将此包的依赖项添加到Cargo.toml
:
[package]
# ...
build = "build.rs"
[build-dependencies]
target_build_utils = "0.1"
然后按如下方式编写您的build.rs
:
extern crate target_build_utils;
use target_build_utils::TargetInfo;
fn main() {
let target = TargetInfo::new().expect("could not get target info");
if target.target_os() == "windows" {
// conditional stuff for windows
}
}
现在,当运行cargo build
时,您的build.rs
应该知道在交叉编译您的包时目标系统的属性。
许可协议
llvm_build_utils 可以选择在 ISC (MIT-like) 或 Apache (版本 2.0) 许可下分发。
依赖项
~1.5MB
~32K SLoC