From 3067a914779694b51dcf934d8bc42daee30d36e8 Mon Sep 17 00:00:00 2001 From: Jackie Huang Date: Wed, 28 Nov 2012 14:11:30 +0800 Subject: eglibc: Move compile with optimization handling to common code The optimisation handling code is not version specific, so move the fix code to the .inc. (From OE-Core rev: 22dfc7d5738a20f015d9de693f0c2accfa685560) Signed-off-by: Jackie Huang Signed-off-by: Richard Purdie --- meta/recipes-core/eglibc/eglibc.inc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'meta/recipes-core/eglibc/eglibc.inc') diff --git a/meta/recipes-core/eglibc/eglibc.inc b/meta/recipes-core/eglibc/eglibc.inc index 3d136bf8d7..1e041977de 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 -- cgit v1.2.3-54-g00ecf