跳到主要内容

z_kmpkg_restore_pkgconfig_path

注意

这是 kmpkg内部用于实现核心逻辑的辅助函数。 其行为和参数可能会以不兼容的方式突发变更,且无任何通知。 请勿在自定义端口中使用该函数

恢复被 z_kmpkg_setup_pkgconfig_path 修改的 pkg-config 相关环境变量(如 PKG_CONFIG_PATH),将其还原到修改前的原始状态。

用法

z_kmpkg_restore_pkgconfig_path()

该函数无任何参数,调用后会自动读取此前备份的 pkg-config 环境变量值,并覆盖当前环境中的对应变量。

核心说明

  1. 成对使用:该函数必须与 z_kmpkg_setup_pkgconfig_path 配套使用——仅当此前调用过 z_kmpkg_setup_pkgconfig_path(该函数会先备份原始环境变量),z_kmpkg_restore_pkgconfig_path 才能完成恢复操作;
  2. 恢复的核心变量:主要恢复 PKG_CONFIG_PATH(pkg-config 的配置文件搜索路径),同时会还原其他被 z_kmpkg_setup_pkgconfig_path 修改的 pkg-config 相关环境变量(如 PKG_CONFIG_LIBDIR 等);
  3. 原子性:恢复操作是“全量还原”,会将所有被修改的 pkg-config 环境变量一次性恢复到 z_kmpkg_setup_pkgconfig_path 调用前的状态,无部分恢复的逻辑。

示例(仅作内部逻辑参考)

以下示例模拟 kmpkg 内部如何临时修改 pkg-config 路径,完成操作后恢复环境:

# 1. 临时修改 pkg-config 路径(适配 kmpkg 包的 pkgconfig 文件)
z_kmpkg_setup_pkgconfig_path()

# 2. 执行依赖 pkg-config 的操作(如检测依赖、生成编译标志)
x_kmpkg_pkgconfig_get_modules(
PREFIX ZLIB
MODULES zlib
LIBS
)

# 3. 恢复 pkg-config 环境变量到原始状态
z_kmpkg_restore_pkgconfig_path()

关联函数

源码

scripts/cmake/z_kmpkg_setup_pkgconfig_path.cmake

注:z_kmpkg_restore_pkgconfig_pathz_kmpkg_setup_pkgconfig_path 的实现通常在同一文件中,是成对的环境变量管理逻辑。