https://www.yoctoproject.org/docs/2.4.2/ref-manual/ref-manual.html

在yocto参考文档中有对PAKAGECONFIG变量中有详细的说明,  更详细的信息可参考ref-manual.

PACKAGECONFIG说明

在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的某个属性的话, 有以下两种方法

方法一: 在recipe的附件文件即.bbappend文件中添加该依赖属性

PACKAGECONFIG_append = " f1"

方法二: 在bsp包的配置文件conf/local.conf中增加recipde的依赖属性

PACKAGECONFIG_append_pn-[recipename] = " f1"

[recipename]需要对应改成该recipe的名字

重新定义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"



  • No labels