Как задать параметры "configure" с помощью рецептов yocto?

Я хочу написать рецепт в yocto для создания моего настраиваемого компонента. В том, что я хотел бы включить некоторые флаги в соответствии с машиной.

например:

если машина x86

моя команда configure должна быть такой:

./configure --enable-x86

если это x64

./configure --enable-x64

Я использую автоматические инструменты для построения. пожалуйста, помогите мне написать рецепт, а также "configure.ac" для достижения этого.

ps: Я очень новичок в yocto.

Ответ 1

Параметры конфигурации можно настроить с помощью EXTRA_OECONF. Здесь вы также можете добавлять к нему значения на основе вашей архитектуры.

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

Вы можете сделать это, только если ваша архитектура (x86/x64) определена как aprt значения OVERRIDE. Посмотрим, что такое значение OVERRIDE:

Значения конфигурации битбокса Yocto определены в poky/meta/conf/bitbake.conf. В этом файле есть переменная с именем OVERRIDE. Примерное значение для OVERRIDE в конфигурации битбокса показано ниже:

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

При запуске битбака -e и сборе вывода значение OVERRIDE преобразуется в зависимости от вашей конфигурации.

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

В вашей настройке, если вы видите x86/x64 как часть значения OVERRIDE, вы можете определить параметры конфигурации, как описано ранее.