在Yocto配方中,class-target和class-native之间的区别是什么?

11

我正在努力理解Yocto食谱。

以下是Yocto食谱中的一行:

DEPENDS_append_class-target = " grub-efi-native"

我理解的是这个配方依赖于grub-efi-native软件包,而我正在努力理解的是class-target字段。
手册中有两个变量,class-targetclass-native
这是来自Yocto手册的陈述。
Inside the recipe, use _class-native and _class-target overrides to specify any functionality specific to the respective native or target case.

有人能解释一下上面的陈述是什么意思吗?它是不是指取决于目标二进制文件而不是主机二进制文件?
1个回答

24
Bitbake可以使用相同的配方来构建目标或本地构建主机的配方。这是通过在配方中设置BBCLASSEXTEND = "native"来实现的。这将使您能够使用-native来引用针对本地构建主机的配方构建。
但有时,根据您是为目标还是为主机构建配方的方式可能会有所不同,这就是可以使用_class-target或_class-native的情况。
因此,在您的示例中,DEPENDS_append_class-target = "grub-efi-native"这一行意味着当为目标构建此配方时,DEPENDS将同时包括grub-efi-native。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接