From patchwork Thu Nov 15 05:19:52 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2,1/1] eglibc: always compile with optimization. Date: Thu, 15 Nov 2012 05:19:52 -0000 From: jackie huang X-Patchwork-Id: 39101 Message-Id: <5d39a089f603821fc4847ed906f6369568c02881.1352884428.git.jackie.huang@windriver.com> To: Cc: Jackie.Huang@windriver.com, Zhenfeng.Zhao@windriver.com From: Jackie Huang 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 --- meta/recipes-core/eglibc/eglibc_2.16.bb | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/meta/recipes-core/eglibc/eglibc_2.16.bb b/meta/recipes-core/eglibc/eglibc_2.16.bb index aa9256c..71bcc30 100644 --- a/meta/recipes-core/eglibc/eglibc_2.16.bb +++ b/meta/recipes-core/eglibc/eglibc_2.16.bb @@ -87,6 +87,17 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ EXTRA_OECONF += "${@get_libc_fpu_setting(bb, d)}" +# 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)}" + do_unpack_append() { bb.build.exec_func('do_move_ports', d) }