【FAQ】全志R329 如何在Tina中添加package编译依赖?
-
问题
Tina 添加package 时,经常会遇到修改了配置或源文件修改,但是package没有自动编译的问题,在修改DEPENDS配置后也得不到解决。本文将介绍三个进阶配置方法,解决上述问题。
解决方法
PKG_BUILD_DEPENDS
PKG_BUILD_DEPENDS表示该package的编译依赖PKG_BUILD_DEPENDS指定包的编译,有可能包括如下几种情况:
-
本package编译时,用到了PKG_BUILD_DEPENDS指定包的头文件,但是没有用到库。
-
本pacakge编译,需要依赖host端包先编译完成。比如,package/security/cryptsetup包需要依赖host端cryptsetup工具
PKG_BUILD_DEPENDS:=cryptsetup/host
PKG_CONFIG_DEPENDS 与 PKG_PREPARED_DEPENDS
PKG_CONFIG_DEPENDS 表示如果在该宏指定的配置有改动,就会重新做本package的configure及其后续操作。
PKG_PREPARED_DEPENDS 表示如果在该宏指定的配置有改动,就会重新做本package的prepare及其后续操作。
通常用于一个package下有很多子配置的情况,或依赖其他包的子配置。
举个例子,package/security/optee-helloworld/Makefile中包含如下语句。一旦CONFIG_OPTEE_ENCRYPT_TA、CONFIG_OPTEE_ENCRYPT_\TA_SSK_KEY、CONFIG_OPTEE_ENCRYPT_TA_ROTPK_DERIVE_KEY这三个配置发生修改,optee-helloworld都会重新configure及其后续操作。
PKG_CONFIG_DEPENDS += CONFIG_OPTEE_ENCRYPT_TA CONFIG_OPTEE_ENCRYPT_TA_SSK_KEY CONFIG_OPTEE_ENCRYPT_TA_ROTPK_DERIVE_KEY
PKG_FILE_DEPENDS
PKG_FILE_DEPENDS 表示如果该宏指定的文件或目录下有改动,会自动编译本package。
举个例子,package/base-files/Makefile下包含如下语句。一旦(PLATFORM_DIR)与(GENERIC_PLATFORM_DIR)/base-files目录下文件发生改变,就会重新编译base-files这个包。
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号