15个版本
0.2.13 | 2024年7月28日 |
---|---|
0.2.12 | 2024年3月27日 |
0.2.11 | 2024年1月20日 |
0.2.10 | 2023年11月1日 |
0.2.1 | 2021年10月25日 |
#569 在 Unix API
每月361次下载
用于 lm-sensors
24KB
324 行
sensors-sys
:为 libsensors
提供不安全的Rust绑定
lm-sensors
为Linux中的硬件监控驱动程序提供用户空间支持。
此crate针对Linux特定。为非Linux平台或Linux内核构建它会导致crate为空。
此crate链接到 libsensors
,并且需要安装它。以下为示例安装说明。
安装 libsensors
此crate链接到 libsensors
,并且需要安装它。
库、其C头文件以及 clang
编译器需要在 构建机器 上安装。例如,在Debian上,可以按以下方式安装
$ sudo apt install clang libsensors-dev
如果库是动态链接的(最常见的配置),则需要安装到目标计算机上才能运行生成的程序。例如,在Debian上,可以按以下方式安装
$ sudo apt install libsensors5
支持的环境变量
此crate依赖于一些环境变量及其变体。对于每个环境变量(例如,CC
),以下是它接受的变体
<var>_<target>
,例如,CC_aarch64-unknown-linux-gnu
。<var>_<target-with-underscores>
,例如,CC_aarch64_unknown_linux_gnu
。TARGET_<var>
,例如,TARGET_CC
。<var>
,例如,CC
。
以下环境变量(及其变体)会影响此crate的构建
LMSENSORS_STATIC
LMSENSORS_PATH
LMSENSORS_INCLUDE_DIR
LMSENSORS_LIB_DIR
CC
CFLAGS
动态或静态链接
如果可能,这个包会动态链接到 libsensors
,但不是在基于 musl
C 库的平台。
可以通过设置环境变量 LMSENSORS_STATIC
为 1
或启用包功能 static
来改变这种行为。如果两者都定义了,则 LMSENSORS_STATIC
的值优先。
将 LMSENSORS_STATIC
设置为 0
强制动态链接。
查找 lm-sensors 库和头文件
默认情况下,这个包会根据默认的目标 C 编译器查找 lm-sensors 头文件和库。
可以通过以下方式改变这种行为
- 定义环境变量
LMSENSORS_PATH
为包含include
和lib
子目录的目录路径,其中头文件和库被安装。 - 或定义一个或两个环境变量
LMSENSORS_INCLUDE_DIR
和LMSENSORS_LIB_DIR
为头文件和库所在的目录路径。如果也定义了LMSENSORS_PATH
,则LMSENSORS_INCLUDE_DIR
和LMSENSORS_LIB_DIR
优先。
根据这个包
这个包为依赖于它的其他包提供了以下变量
DEP_LMSENSORS_INCLUDE
:库 C 头文件所在的目录路径。DEP_LMSENSORS_LIB
:库二进制所在的目录路径。
仅文档构建模式
“仅文档”构建模式允许即使 libsensors
和其头文件不可用,也能构建文档。要在此模式下构建,请设置环境变量 DOCS_RS
为 1
$ env DOCS_RS=1 cargo doc --open
生成的文档基于 libsensors
版本 3.6.0
。
⚠️ 在这种模式下生成的包可能 不可用。
版本管理
本项目遵循 语义版本控制。 CHANGELOG.md
文件详细说明了随时间的变化。
依赖关系
~0–2.8MB
~44K SLoC