5 个版本
使用旧 Rust 2015
0.2.2 | 2019 年 6 月 9 日 |
---|---|
0.2.1 | 2019 年 6 月 2 日 |
0.2.0 | 2019 年 2 月 19 日 |
0.1.1 | 2019 年 1 月 14 日 |
0.1.0 | 2019 年 1 月 13 日 |
#1300 在 编码
每月 478 次下载
用于 10 个包 (3 个直接)
750KB
21K SLoC
包含 (神秘的 autoconf 代码, 10KB) modules/jq/configure.ac
jq-sys
为 jq 1.6 生成绑定
使用 bindgen
生成绑定,该工具可通过 cargo install
获取。
示例
$ git submodule update --init
$ bindgen modules/jq/src/jq.h -o src/bindings.rs
构建
使用捆绑功能
当启用 bundled
功能时,它将添加对 jq-src crate 的依赖,这将尝试构建并链接到库。这可能适用于简单情况,但对于任何复杂情况(例如交叉构建),您将需要自己安装或构建 libjq
。
注意:当使用
bundled
功能时,libjq 由 jq-src crate 提供,这需要gcc
、autoreconf
、make
等工具在您的PATH
中以构建。
不使用捆绑功能
当不使用 bundled
功能时,您必须自己编译 libjq
,或使用系统包管理器提供的库。
例如,在 debian 系统 上,您可以安装 libjq1 libjq-dev libonig4 libonig-dev
。
以下 env 变量可以用于向构建脚本提供提示。
名称 | 用途 | 注释 |
---|---|---|
JQ_LIB_DIR |
库位置的路径。 | |
JQ_LIB_STATIC |
使用静态链接而不是共享链接。 | |
JQ_NO_ONIG |
禁用对 oniguruma 的链接以支持正则表达式。 |
|
ONIG_LIB_DIR |
库位置的路径。 | 默认为 JQ_LIB_DIR ,如果设置了 JQ_NO_ONIG ,则忽略。 |
ONIG_LIB_STATIC |
使用静态链接而不是共享链接。 | 如果设置了 JQ_NO_ONIG ,则忽略。 |
注意,如果您正在使用
pkg-config
功能,并且它无法找到libjq
,可以通过设置JQ_LIB_DIR
来显式指定位置。这可能是在 debian 基础的发行版(包括 ubuntu)上所需的,因为在编写本文档时,
jq
的发行版包不包括.pc
文件,这些文件是pkg-config
定位文件所需的。
变更日志
0.2.2 (2019-06-09)
0.2.1 (2019-06-01)
- 使用
bindgen
v0.49.2 重新生成了src/bindings.rs
。 - 将依赖项 jq-src 更新到 v0.3。
- 更新了
build.rs
以避免在使用bundled
功能时频繁重新从源构建 jq(#2)。
0.2.0 (2019-02-18)
新增
- 添加了新的环境变量,允许自定义
libjq
和libonig
的链接。 - 添加了
pkg-config
功能(默认开启),以便在环境变量未设置时帮助配置链接。
破坏性变更
bundled
功能不再默认启用。
0.1.1 (2019-01-13)
添加了 bundled
功能(默认开启),允许依赖项选择是否使用 jq-src 包进行链接。
0.1.0 (2019-01-13)
初始版本。