15

我想在 yocto 中编写一个配方来构建我的自定义组件。在那我想根据机器启用一些标志。

例如:

如果机器是 x86

我的配置命令应该是这样的:

./configure --enable-x86

如果是 x64

./configure --enable-x64

我正在使用自动工具进行构建。请帮助我编写食谱以及实现此目的的“configure.ac”。

ps:我对yocto很陌生。

4

1 回答 1

18

您可以使用EXTRA_OECONF提供配置选项。在这里,您还可以根据您的架构向其附加值。

EXTRA_OECONF_append_x86="--enable-x86"
EXTRA_OECONF_append_x64="--enable-x64"

仅当您的体系结构 (x86/x64) 定义为 OVERRIDE 值的 aprt 时,您才能执行此操作。让我们看看什么是OVERRIDE值:

Yocto bitbake 配置值在poky/meta/conf/bitbake.conf中定义。在该文件中,有一个名为OVERRIDE的变量。bitbake 配置中OVERRIDE的示例值如下所示:

OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable"

当您运行bitbake -e并收集输出时,OVERRIDE 的值将根据您的配置转换为。

OVERRIDES="linux:i586:build-linux:pn-defaultpkgname:x86:qemuall:qemux86:poky:class-target:forcevariable:libc-glibc"

在您的设置中,如果您可以将 x86/x64 视为 OVERRIDE 值的一部分,那么您可以定义配置选项,如前所述。

于 2014-09-26T10:31:17.587 回答