[OE-core] [PATCH 1/1] libc-locale: split locale handling from libc recipe.

Xu, Dongxiao dongxiao.xu at intel.com
Thu Jun 23 04:08:09 UTC 2011


> -----Original Message-----
> From: openembedded-core-bounces at lists.openembedded.org
> [mailto:openembedded-core-bounces at lists.openembedded.org] On Behalf Of
> Phil Blundell
> Sent: Wednesday, June 22, 2011 7:45 PM
> To: Patches and discussions about the oe-core layer
> Subject: Re: [OE-core] [PATCH 1/1] libc-locale: split locale handling from libc
> recipe.
> 
> I still don't quite understand why the virtual/libiconv provider has moved from
> eglibc to eglibc-locale.  Can you explain what's going on there?

Generally, the purpose of this patch is to reduce eglibc's do_package time.

Since many other recipes' do_package have dependency on eglibc's do_package, thus the sooner eglibc could finish its do_package, the ealier can other do_packages be executed, which improves the parallelism. 

>From our study, we found most of eglibc's do_package time is used to handle locale. Therefore we split all the locale related stuffs into a separately recipe eglibc-locale.

Thanks,
Dongxiao

> 
> p.
> 
> On Wed, 2011-06-22 at 17:01 +0800, Dongxiao Xu wrote:
> > *libc's do_package will cost a lot of time due to the locale handing,
> > which may delay the other recipe's do_package task and affect the
> > build performance.
> >
> > This commit moves locale handling into a separate recipe *libc-locale.
> >
> > Signed-off-by: Dongxiao Xu <dongxiao.xu at intel.com>
> > ---
> >  meta/classes/libc-common.bbclass                   |   23 ++++++++
> >  meta/classes/libc-package.bbclass                  |   24 --------
> >  meta/conf/distro/include/tclibc-eglibc.inc         |    2 +-
> >  meta/conf/distro/include/tclibc-glibc.inc          |    2 +-
> >  meta/recipes-core/eglibc/eglibc-initial_2.13.bb    |    4 ++
> >  meta/recipes-core/eglibc/eglibc-locale_2.13.bb     |   58
> ++++++++++++++++++++
> >  meta/recipes-core/eglibc/eglibc-package.inc        |   32 +----------
> >  meta/recipes-core/eglibc/eglibc.inc                |    4 +-
> >  meta/recipes-core/eglibc/eglibc_2.13.bb            |   12 ++++
> >  meta/recipes-core/glibc/glibc-initial_2.10.1.bb    |    4 ++
> >  meta/recipes-core/glibc/glibc-locale_2.10.1.bb     |   50
> +++++++++++++++++
> >  meta/recipes-core/glibc/glibc-package.inc          |   29 ++---------
> >  meta/recipes-core/glibc/glibc.inc                  |    2 +-
> >  meta/recipes-core/glibc/glibc_2.10.1.bb            |   12 ++++
> >  .../meta/external-csl-toolchain_2008q3-72.bb       |    1 +
> >  15 files changed, 176 insertions(+), 83 deletions(-)  create mode
> > 100644 meta/classes/libc-common.bbclass  create mode 100644
> > meta/recipes-core/eglibc/eglibc-locale_2.13.bb
> >  create mode 100644 meta/recipes-core/glibc/glibc-locale_2.10.1.bb
> >
> > diff --git a/meta/conf/distro/include/tclibc-eglibc.inc
> > b/meta/conf/distro/include/tclibc-eglibc.inc
> > index a4c648e..90de04f 100644
> > --- a/meta/conf/distro/include/tclibc-eglibc.inc
> > +++ b/meta/conf/distro/include/tclibc-eglibc.inc
> > @@ -10,7 +10,7 @@ TARGET_OS_powerpc =
> > "linux${@['','-gnuspe'][bb.data.getVar('BASE_PACKAGE_ARCH',d
> >  # Add glibc overrides to the overrides for eglibc.
> >  OVERRIDES .= ":libc-glibc"
> >
> > -PREFERRED_PROVIDER_virtual/libiconv ?= "eglibc"
> > +PREFERRED_PROVIDER_virtual/libiconv ?= "eglibc-locale"
> >  PREFERRED_PROVIDER_virtual/libiconv-nativesdk ?= "eglibc-nativesdk"
> >  PREFERRED_PROVIDER_virtual/libintl ?= "eglibc"
> >  PREFERRED_PROVIDER_virtual/libc ?= "eglibc"
> > diff --git a/meta/conf/distro/include/tclibc-glibc.inc
> > b/meta/conf/distro/include/tclibc-glibc.inc
> > index e5843b0..748c23f 100644
> > --- a/meta/conf/distro/include/tclibc-glibc.inc
> > +++ b/meta/conf/distro/include/tclibc-glibc.inc
> > @@ -10,7 +10,7 @@ TARGET_OS_powerpc =
> > "linux${@['','-gnuspe'][bb.data.getVar('BASE_PACKAGE_ARCH',d
> >  # Add glibc to the overrides.
> >  OVERRIDES =. "libc-glibc:"
> >
> > -PREFERRED_PROVIDER_virtual/libiconv ?= "glibc"
> > +PREFERRED_PROVIDER_virtual/libiconv ?= "glibc-locale"
> >  PREFERRED_PROVIDER_virtual/libiconv-nativesdk ?= "glibc-nativesdk"
> >  PREFERRED_PROVIDER_virtual/libintl ?= "glibc"
> >  PREFERRED_PROVIDER_virtual/libc ?= "glibc"
> 
> 
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




More information about the Openembedded-core mailing list