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"
|