From: Jackie Huang <jackie.hu...@windriver.com> eglibc fails to compile if someone tries to compile an entire image as -O0: error "glibc cannot be compiled without optimization" so in this case, force to use -O2 and give a note about it.
[YOCTO #3405] Signed-off-by: Jackie Huang <jackie.hu...@windriver.com> --- meta/recipes-core/eglibc/eglibc.inc | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/meta/recipes-core/eglibc/eglibc.inc b/meta/recipes-core/eglibc/eglibc.inc index 3d136bf..1e04197 100644 --- a/meta/recipes-core/eglibc/eglibc.inc +++ b/meta/recipes-core/eglibc/eglibc.inc @@ -8,6 +8,17 @@ PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:" TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TCBOOTSTRAP}" +# eglibc can't be built without optimization, if someone tries to compile an +# entire image as -O0, we override it with -O2 here and give a note about it. +def get_optimization(d): + selected_optimization = d.getVar("SELECTED_OPTIMIZATION", True) + if base_contains("SELECTED_OPTIMIZATION", "-O0", "x", "", d) == "x": + bb.note("eglibc can't be built with -O0, -O2 will be used instead.") + return selected_optimization.replace("-O0", "-O2") + return selected_optimization + +SELECTED_OPTIMIZATION := "${@get_optimization(d)}" + # siteconfig.bbclass runs configure which needs a working compiler # For the compiler to work we need a working libc yet libc isn't # in the sysroots directory at this point. This means the libc.so -- 1.7.4 _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core