【问题标题】:How to give options for "configure" using yocto recipes?如何使用 yocto 食谱为“配置”提供选项?
【发布时间】:2014-11-17 15:47:45
【问题描述】:
我想在 yocto 中编写一个配方来构建我的自定义组件。在那我想根据机器启用一些标志。
例如:
如果机器是 x86
我的配置命令应该是这样的:
./configure --enable-x86
如果是 x64
./configure --enable-x64
我正在使用自动工具进行构建。请帮助我编写配方以及实现此目的的“configure.ac”。
ps:我对yocto很陌生。
【问题讨论】:
标签:
linux
cross-compiling
autotools
yocto
recipe
【解决方案1】:
您可以使用 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 值的一部分,那么您可以如前所述定义配置选项。