2 个不稳定版本
0.2.0 | 2024年1月20日 |
---|---|
0.1.0 | 2022年6月11日 |
#232 in 构建工具
15KB
433 代码行
cc-args
tl;dr
bindgen::Builder::merge_cc_args(&self, &pkg_config::Library)
此crate导出CcArgs
和MergeCcArgs
。
CcArgs
它提供链接路径、包含路径、框架路径、框架、库、ld_args和定义。
MergeCcArgs
它提供接受CcArgs
实现的merge_cc_args
方法。
功能
- pkg_config 为
pkg_config::Library
实现CcArgs
- cc 为
cc::Build
实现MergeCcArgs
- bindgen 为
bindgen::Builder
实现MergeCcArgs
示例
build.rs
use std::path::PathBuf;
use cc_args::{bindgen, pkg_config, MergeCcArgs};
fn main() {
let out_path = PathBuf::from(std::env::var("OUT_DIR").unwrap());
println!("cargo:rerun-if-changed=wrapper.h");
bindgen::Builder::default()
.merge_cc_args(&pkg_config::probe_library("libzstd").unwrap())
.header("wrapper.h")
.parse_callbacks(Box::new(bindgen::CargoCallbacks))
.generate()
.unwrap()
.write_to_file(out_path.join("bindings.rs"))
.unwrap();
}
依赖项
~0–1.3MB
~25K SLoC