yocto中增加包依赖配置 / how to add packageconfig in yocto
https://wiki.phytec.com/pages/viewpage.action?pageId=151257902
https://www.yoctoproject.org/docs/2.4.2/ref-manual/ref-manual.html
在yocto参考文档中有对PAKAGECONFIG变量中有详细的说明, 更详细的信息可参考ref-manual.
在yocto的recipe的bb文件中, 一般都有PACKAGECONFIG变量的一些配置.
在ref-manual中提到, PACKAGECONFIG变量定义于在一个基础recipe的配置使能或者禁止某些属性.
在recipe的PACKAGECONFIG变量的基本架构如下:
PACKAGECONFIG[f1] = "--with-f1,--without-f1,build-deps-f1,rt-deps-f1" |
在一个recipe中, 如果f1属性使能, 则--with-f1, build-deps-f1就会应用于这个recipe,
而如果f1属性被禁止, --without-f1 和 rt-deps-f1则会被应用.
如果要增加使能recipe的某个属性的话, 有以下两种方法
方法一: 在recipe的附件文件即.bbappend文件中添加该依赖属性
PACKAGECONFIG_append = " f1" |
方法二: 在bsp包的配置文件conf/local.conf中增加recipde的依赖属性
PACKAGECONFIG_append_pn-[recipename] = " f1" |
[recipename]需要对应改成该recipe的名字
由于bsp的原有的layer中的recipe一般都有添加了必要的属性, 所以一般不推荐使用以下方法重新定义recipe的属性.
方法一: 在recipe的.bbappend文件中定义包的属性
PACKAGECONFIG= "f4 f5" |
方法二: 在bsp包的配置文件conf/local.conf中重新定义recipe的属性
PACKAGECONFIG_pn-[recipename] = " f4 f5" |
接下来, 以qtbase增加sql-sqlite为例, 对PACKAGECONFIG进行介绍.
在qtbase的recipe文件qtbase_git.bb中, sql-sqlite的属性配置为
PACKAGECONFIG[sql-sqlite] = "-sql-sqlite -system-sqlite,-no-sql-sqlite,sqlite3" |
当sql-sqlite属性使能后, sqlite3会应用于qtbase中.
有一下两种方法, 使能qtbase的sql-sqlite属性.
方法一: 在qtbase_git.bbappend文件中增加sql-sqlite属性
PACKAGECONFIG_append = " sql-sqlite" |
方法二: 在conf/local.conf文件中增加sql-sqlite属性
PACKAGECONFIG_append_pn-qtbase = " sql-sqlite" |