Как переопределить уровень оптимизации для одного пакета в рецепте выпечки?

Все проекты Yocto по умолчанию поставляются с уровнем оптимизации -O2

Как переопределить это для одного пакета с -O0?

2 ответа

Из bitbake.conf:

export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
FULL_OPTIMIZATION = "-O2 -pipe ${DEBUG_FLAGS}"
DEBUG_OPTIMIZATION = "-O -fno-omit-frame-pointer ${DEBUG_FLAGS} -pipe"
SELECTED_OPTIMIZATION = "${@d.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][d.getVar('DEBUG_BUILD') == '1'])}"

Так что если вы хотите переключить его на -O0 в целях отладки просто установите DEBUG_BUILD="1" в рецепте. Если рецепт сломан с -O2 из-за плохого кода переопределить FULL_OPTIMISATION соответственно.

Приведенный выше ответ предполагает

DEBUG_BUILD=1

не работал для меня. Я должен был использовать

DEBUG_FLAGS="-O0"
Другие вопросы по тегам