3 个版本
0.1.2 | 2023 年 1 月 18 日 |
---|---|
0.1.1 | 2022 年 11 月 12 日 |
0.1.0 | 2022 年 11 月 11 日 |
918 在 开发工具 中排名
78,922 每月下载量
用于 4 个包(直接使用 2 个)
19KB
276 行代码(不包括注释)
rb-sys-env
帮助将 rb-sys
集成到您的 Ruby 绑定库中。
功能
- 提供必要的 Cargo 配置,确保 Rust 包在所有平台上正确编译
- 设置可从您的包中使用的有用的 rustc-cfg 标志
- 公开来自 rb-sys 的所有
RbConfig::CONFIG
值
使用方法
将以下内容添加到您的 Cargo.toml
[build-dependencies]
rb-sys-env = "0.1"
然后,在您的包的 build.rs
pub fn main() -> Result<(), Box<dyn std::error::Error>> {
let _rb_env = rb_sys_env::activate()?;
Ok(())
}
可用的 rustc-cfg
以下是由此包设置的 rustc-cfg 标志的示例
#[cfg(ruby_have_ruby_re_h)]
#[cfg(ruby_use_rgengc)]
#[cfg(ruby_use_symbol_as_method_name)]
#[cfg(ruby_have_ruby_util_h)]
#[cfg(ruby_have_ruby_oniguruma_h)]
#[cfg(ruby_have_ruby_defines_h)]
#[cfg(ruby_use_flonum)]
#[cfg(ruby_have_ruby_onigmo_h)]
#[cfg(ruby_use_unaligned_member_access)]
#[cfg(ruby_use_transient_heap)]
#[cfg(ruby_have_ruby_atomic_h)]
#[cfg(ruby_have_rb_scan_args_optional_hash)]
#[cfg(ruby_have_rb_data_type_t_parent)]
#[cfg(ruby_have_ruby_debug_h)]
#[cfg(ruby_have_ruby_encoding_h)]
#[cfg(ruby_have_ruby_ruby_h)]
#[cfg(ruby_have_ruby_intern_h)]
#[cfg(ruby_use_mjit)]
#[cfg(ruby_have_rb_data_type_t_function)]
#[cfg(ruby_have_rb_fd_init)]
#[cfg(ruby_have_rb_reg_new_str)]
#[cfg(ruby_have_rb_io_t)]
#[cfg(ruby_have_ruby_memory_view_h)]
#[cfg(ruby_have_ruby_version_h)]
#[cfg(ruby_have_ruby_st_h)]
#[cfg(ruby_have_ruby_thread_native_h)]
#[cfg(ruby_have_ruby_random_h)]
#[cfg(ruby_have_ruby_regex_h)]
#[cfg(ruby_have_rb_define_alloc_func)]
#[cfg(ruby_have_ruby_fiber_scheduler_h)]
#[cfg(ruby_have_ruby_missing_h)]
#[cfg(ruby_have_rb_ext_ractor_safe)]
#[cfg(ruby_have_ruby_thread_h)]
#[cfg(ruby_have_ruby_vm_h)]
#[cfg(ruby_use_rincgc)]
#[cfg(ruby_have_ruby_ractor_h)]
#[cfg(ruby_have_ruby_io_h)]
#[cfg(ruby_3)]
#[cfg(ruby_3_1)]
#[cfg(ruby_3_1_2)]
#[cfg(ruby_gte_2_2)]
#[cfg(ruby_gt_2_2)]
#[cfg(ruby_gte_2_3)]
#[cfg(ruby_gt_2_3)]
#[cfg(ruby_gte_2_4)]
#[cfg(ruby_gt_2_4)]
#[cfg(ruby_gte_2_5)]
#[cfg(ruby_gt_2_5)]
#[cfg(ruby_gte_2_6)]
#[cfg(ruby_gt_2_6)]
#[cfg(ruby_gte_2_7)]
#[cfg(ruby_gt_2_7)]
#[cfg(ruby_gte_3_0)]
#[cfg(ruby_gt_3_0)]
#[cfg(ruby_lte_3_1)]
#[cfg(ruby_3_1)]
#[cfg(ruby_eq_3_1)]
#[cfg(ruby_gte_3_1)]
#[cfg(ruby_lt_3_2)]
#[cfg(ruby_lte_3_2)]
#[cfg(ruby_lt_3_3)]
#[cfg(ruby_lte_3_3)]
#[cfg(ruby_gte_1)]
#[cfg(ruby_gt_1)]
#[cfg(ruby_gte_2)]
#[cfg(ruby_gt_2)]
#[cfg(ruby_lte_3)]
#[cfg(ruby_3)]
#[cfg(ruby_eq_3)]
#[cfg(ruby_gte_3)]
#[cfg(ruby_lt_4)]
#[cfg(ruby_lte_4)]
许可协议
根据您的选择,许可协议为以下之一
- Apache License, Version 2.0(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可协议(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则您根据 Apache-2.0 许可协议提交的任何贡献,有意包含在作品中,将根据上述协议双重许可,不附加任何额外条款或条件。