#build-script #download #linker #link #cargo-build #automatic #non-rust

build librarian

用于从应用程序构建脚本中下载和链接非Rust库的crate

4个版本

0.2.3 2020年10月22日
0.2.2 2020年6月20日
0.2.1 2020年6月19日
0.2.0 2020年6月19日
0.1.0 2020年6月18日

#481 in 构建工具

0BSD OR MIT OR Apache-2.0 和可能 LGPL-3.0

22KB
412

包含 (ZIP文件, 1KB) test_input/file.zip

crates.io docs.rs

Librarian - 一个用于从应用程序构建脚本中下载和链接非Rust库的Rust crate

当我开始在Windows上使用Rust中的C库时,让我感到烦恼的是,虽然通常构建crate只需要 cargo build,但如果需要链接到C库,尤其是需要使用DLL,过程就变得更加复杂。为了消除这一点,我为自己创建了这个crate,并希望它对其他人也有用。

请注意,目前该项目仅在有限的环境中进行了测试,因此我不能保证它会对您有效,也不能保证向后兼容性。但如果它对您无效,欢迎您做出贡献!

与所有不同的构建系统集成以自动获取源并构建它可能并不实际。虽然这让我更加欣赏Rust的构建系统,但它意味着自动下载将仅适用于预构建库。

(当前) 功能

  • 下载包含预构建C库的.zip/.tgz存档
  • 用于添加链接搜索路径的包装器 (cargo:rustc-link-search)
  • 将.dll/.so文件复制到构建文件夹的方法(目前仅从应用程序构建脚本中进行,而不是从库构建脚本中进行)

安装

要在构建脚本中使用Librarian,请将以下内容添加到您的Cargo.toml文件中

[build-dependencies]
librarian = "*"

许可证

TL;DR 做你想做的

本软件根据您的选择,可许可在以下协议下使用:BSD Zero Clause License(BSD Zero Clause Licensehttps://opensource.org/licenses/0BSD)、Apache 2.0 License(Apache 2.0 Licensehttps://apache.ac.cn/licenses/LICENSE-2.0)或MIT License(MIT Licensehttp://opensource.org/licenses/MIT)。

依赖项

~0–13MB
~165K SLoC