On 2013年11月13日 07:58, Phil Blundell wrote: > On Mon, 2013-11-11 at 12:30 +0800, Lei Liu wrote: >> +def get_optimization(d): >> + selected_optimization = d.getVar("SELECTED_OPTIMIZATION", True) >> + if base_contains("SELECTED_OPTIMIZATION", "-O0", "x", "", d) == "x": >> + bb.note("libgcc 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 we really need a Python function for this? It seems like a rather > heavyweight mechanism to detect what is basically just a distro > misconfiguration.
The python function is copied from eglibc recipe which does similar job to force build the package with optimization enabled. I think it's not just a distro misconfiguration. Sometimes it would be convenient for user to select a global -O0 optimization level (to create a more debug-friendly rootfs) for most packages, while automatically switching to -O2 for those which can't be built without optimizations. > > How about just patching the appropriate bit of libgcc to include: > > #if __OPTIMIZE__ == 0 > #error libgcc can't be built with -O0, please fix your distro to use at least > -O1 > #endif I think it would be more helpful if we can switch to -O1 or -O2 in such case, instead of throwing out an error. Lei > > or some such? Even this seems slightly dubious, since it will prevent > you from building an unoptimised libgcc even if you have no intention of > running valgrind with it, but at least this doesn't add extra overhead > within bitbake. > > p. > > _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core