如何在bit-bake配方中覆盖单个包的优化级别?

时间:2017-01-24 09:04:13

标签: yocto bitbake openembedded

默认情况下,所有Yocto项目都附带-O2优化级别

如何使用-O0覆盖单个包?

2 个答案:

答案 0 :(得分:5)

来自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

答案 1 :(得分:1)

以上答案暗示

DEBUG_BUILD=1

对我不起作用。 我不得不使用

DEBUG_FLAGS="-O0"