From patchwork Mon Nov 12 03:31:15 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [1/1] eglibc: always compile with optimization. Date: Mon, 12 Nov 2012 03:31:15 -0000 From: jackie huang X-Patchwork-Id: 38849 Message-Id: <88778c5a8e868a75c53ed8e60bb80a2cda17bc8d.1352690328.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..0047c1c 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): + if base_contains("SELECTED_OPTIMIZATION", "-O0", "x", "", d) == "x": + bb.note("eglibc can't be built with -O0, -O2 will be used instead.") + selected_optimization = d.getVar("SELECTED_OPTIMIZATION", True) + 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) }