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

Phil Blundell pb at pbcl.net
Thu Jun 23 09:40:49 UTC 2011


On Thu, 2011-06-23 at 12:08 +0800, Xu, Dongxiao wrote:
> > -----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.

Yes, I understand that.  But I don't think this answers the question
about why, specifically, glibc-locale is now PROVIDEing
virtual/libiconv.  Does that recipe, in fact, implement libiconv?

p.

> 
> 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
> 
> _______________________________________________
> 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