BitBake 有metadata sharing的機制,基本上分為兩類,include file(.inc)跟class file(.bbclass),你可以使用include或require來include .inc檔案,其行為就是會將.inc內容插入include那行的位置中。
include跟require相似,差異是,如果檔案不存在include不會error,但是requre就會,如:
include foo_no_exist.inc require foo_need_exist.inc
你可以使用iherit來使用class file,使用這指令會去尋找對應的class來使用,如:
inherit autotools
如果每個recipes都需要inherit的話,可以在.conf使用INHERIT指令達成這目的,如:
INHERIT += sanity
example:meta/conf/sanity.conf
# Sanity checks for common user misconfigurations # # See sanity.bbclass # # Expert users can confirm their sanity with "touch conf/sanity.conf" BB_MIN_VERSION = "1.27.1" SANITY_ABIFILE = "${TMPDIR}/abi_version" SANITY_VERSION ?= "1" LOCALCONF_VERSION ?= "1" LAYER_CONF_VERSION ?= "6" SITE_CONF_VERSION ?= "1" INHERIT += "sanity"
example:meta/classes/sanity.bbclass
-
參考資料:
- BitBake User Manual
沒有留言:
張貼留言