5 个版本 (3 个重大更改)
使用旧的 Rust 2015
0.4.1 | 2019年6月23日 |
---|---|
0.4.0 | 2019年6月9日 |
0.3.1 | 2019年6月2日 |
0.2.0 | 2019年2月18日 |
0.1.0 | 2019年1月13日 |
#407 在 构建实用工具
每月716 次下载
在 6 个 crate 中使用 (通过 jq-sys)
3MB
113K SLoC
包含 (晦涩的 autoconf 代码, 10KB) modules/jq/configure.ac, (晦涩的 autoconf 代码, 3KB) configure.ac
jq-src
此 rust crate 提供了一个 API,用于编译由 jq 1.6 版本发布的 libjq
。其他版本的 jq 可能也可以工作,但尚未经过测试。
此 crate 的主要消费者是 jq-sys,当启用 bundled
功能时,它依赖于此 crate。
设置 JQ_NO_STATIC
将构建共享库而不是静态库(默认)。这可能是不可取的,因为您将不得不特别确保保留 libjq
的构建结果并将它们安装到您的系统上,以便在运行时找到它们。尽管如此,变量仍然存在,如果您觉得需要设置它。
根据 jq 的说明,该库使用内置的 oniguruma 库进行正则表达式支持。
为了成功编译,您必须在您的 PATH
中有 autotools(autoreconf
、make
等)和 gcc 工具链。
请注意,jq 源代码作为 git 子模块提供。当从 crates.io 安装此 crate 或使用 git 依赖项时,将自动获取这些子模块,但是如果您想在本地修改此 crate 或将其列为路径依赖项,您必须自己获取子模块,例如
$ git submodule update --init --recursive
如果构建此 crate 失败是因为缺少文件,那么很可能是子模块未初始化。
变更日志
v0.4.1 (2019-06-22)
- 修复了在某些系统上链接时依赖的 crate 无法构建的问题 (#3).
v0.4.0 (2019-06-09)
- 升级到
autotools
0.2,更新用法以兼容新的公共API。 - (希望)修复了autotools构建可能间歇性失败的问题(#1)。
v0.3.1(2019-06-01)
- 降级到
autotools
0.1(较新版本会导致jq构建中断)。
v0.3.0(2019-06-01)
- 移除了
Artifacts::print_cargo_metadata()
,该功能与Artifacts::print_link_info()
大部分重复(不知为何我写了两次这个方法)。 - 添加了一些文档。
v0.2.0(2019-02-18)
- 不再在
build.rs
中构建/链接 - 添加包装API,以便 jq-sys 可以自行执行。 - 尝试通过在每次运行前清理jq源目录来提高构建脚本的可靠性(如果存在的话)。
v0.1.0(2019-01-12)
初始发布。