Как переопределить уровень оптимизации для одного пакета в рецепте выпечки?
Все проекты 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"