#mysql #bindings #libmysqlclient #autogenerated #auto-generate

sys mysqlclient-sys

libmysqlclient的自动生成的Rust绑定

13个不稳定版本 (3个重大更改)

0.4.1 2024年8月23日
0.4.0 2024年6月13日
0.3.1 2024年5月31日
0.2.5 2022年1月28日
0.2.2 2017年3月8日

1219数据库接口

Download history 11083/week @ 2024-05-03 12257/week @ 2024-05-10 11213/week @ 2024-05-17 9970/week @ 2024-05-24 11822/week @ 2024-05-31 11970/week @ 2024-06-07 10938/week @ 2024-06-14 9621/week @ 2024-06-21 8161/week @ 2024-06-28 8711/week @ 2024-07-05 9436/week @ 2024-07-12 9237/week @ 2024-07-19 9383/week @ 2024-07-26 7841/week @ 2024-08-02 9500/week @ 2024-08-09 7633/week @ 2024-08-16

每月下载量36,084
用于 54 个crate(2个直接使用)

MIT/Apache 和可能 GPL-2.0

11MB
240K SLoC

C++ 115K SLoC // 0.2% comments Rust 102K SLoC // 0.0% comments C 20K SLoC // 0.2% comments Puppet 1K SLoC // 0.0% comments M4 534 SLoC // 0.4% comments Shell 272 SLoC // 0.2% comments Bitbake 196 SLoC // 0.0% comments Automake 130 SLoC // 0.1% comments AWK 106 SLoC // 0.0% comments GNU Style Assembly 92 SLoC // 0.2% comments LLVM 66 SLoC Visual Studio Project 45 SLoC Batch 10 SLoC Visual Studio Solution 6 SLoC Monkey C 1 SLoC

mysqlclient-sys

libmysql-client的自动生成的Rust绑定(#include <mysql.h>

构建

为了构建此crate,必须在您的系统上安装libmysqlclient(在macOS上,使用brew install mysql,在Ubuntu上,使用apt-get install libmysqlclient-dev,在Windows上,包含在服务器发行版中)。此外,必须存在pkg-configmysql_config,并且能够成功定位libmysqlclient

该crate的构建脚本将尝试使用以下方法查找libmysql-client的库路径

  • 首先,它将尝试使用pkg-config来定位它。所有crate的配置选项,如PKG_CONFIG_ALLOW_CROSSPKG_CONFIG_ALL_STATIC等,都适用于pkg-config
  • 然后,MSVC ABI构建将检查Vcpkg的安装,使用vcpkg cargo build helper。设置环境变量VCPKG_ROOT以指向您的Vcpkg安装,并运行vcpkg install libmysql:x64-windows-static-md来安装所需的库。在这种情况下,您需要设置MYSQLCLIENT_VERSION以指定安装的版本。
  • 除非指定了环境变量MYSQLCLIENT_LIBNAME,否则使用库名mysqlclient
  • 如果上述步骤无法找到库,构建脚本将检查环境变量 MYSQLCLIENT_LIB_DIRMYSQLCLIENT_VERSION
  • 如果使用 pkg-config 无法找到库,它将调用命令 mysql_config --variable=pkglibdir

该包将尝试为各种 libmysqlclient 版本和支持的操作系统使用预生成的绑定。

通过 buildtime_bindgen 功能,您可以在构建时生成与本地安装的 libmysqlclient 版本匹配的绑定。它使用 pkg-configvcpkgmysql_configMYSQLCLIENT_INCLUDE_DIR 变量来确定您的 mysql.h 头文件的位置。可以通过设置 BINDGEN_EXTRA_CLANG_ARGS 变量提供额外的 bindgen 配置。

所有 MYSQLCLIENT_* 环境变量都可以附加一个目标来允许为不同的目标设置不同的值。例如,MYSQLCLIENT_LIB_DIR_x86_64_unknown_linux_gnu 将为 x86_64-unknown-linux-gnu 目标设置 MYSQLCLIENT_LIB_DIR 变量。变量 MYSQLCLIENT_LIB_DIR 在目标特定变体之前具有优先级。

许可证

根据您的选择,许可如下

mysqlclient-src 包根据 GPL-2.0 许可证进行许可,以匹配打包的 mysql 源代码的许可证。

贡献

除非您明确说明,否则根据 Apache-2.0 许可证定义,您有意提交的任何贡献,都应如上所述双重许可,不附加任何额外条款或条件。

依赖关系

~0–5MB
~117K SLoC