Patchwork [00/10] external-csl-toolchain fixes and improvements

login
register
mail settings
Submitter Christopher Larson
Date Jan. 27, 2012, 5:13 p.m.
Message ID <cover.1327684024.git.chris_larson@mentor.com>
Download mbox
Permalink /patch/20237/
State New
Headers show

Pull-request

git://github.com/kergoth/oe-core external-toolchain

Comments

Christopher Larson - Jan. 27, 2012, 5:13 p.m.
From: Christopher Larson <chris_larson@mentor.com>

- Fixes the external-csl-toolchain and corresponding tcmode to be compatible
  with current metadata (e.g. uses current providers), and ensures it works again
- Kills the arch and version specific bits, making it work fine with a number
  of different versions of the CodeSourcery arm, mips, ppc, and ia32 toolchains
- Makes the packaging match up with the packaging of the internal toolchain by
  leveraging the eglibc packaging .inc and ensuring our other packages are
  named correctly
- Extracts versioning information for both the recipe and emitted packages
  from the external toolchain at ConfigParsed time. This code is not pretty,
  largely kept as is from the Mentor internal external toolchain, but it does
  work. A future commit or commits will clean that up.

I've tested with with the fall 2010, spring 2011, and fall 2011 releases, for
the qemux86, qemuarm, qemumips, and qemuppc machines. I used buildhistory to
compare the packages and image content between internal and external, ensuring
that they match up with almost no differences.

The following changes since commit fba0459da7f274ae284d36b7fdbf2f9d10a52610:

  distro_tracking_fields: fix the typos in the field of maintainer. (2012-01-27 09:52:00 +0000)

are available in the git repository at:
  git://github.com/kergoth/oe-core external-toolchain

Christopher Larson (10):
      libc-package: fix typo in LOCALETREESRC default value
      eglibc-package.inc: don't include debug files in -pic
      binutils: fixes for build with an external csl toolchain
      external-csl-toolchain: fix critical PATH manipulation bug
      external-csl-toolchain: fixes for metadata changes
      external-csl-toolchain: avoid the hardcoded version/prefix
      external-csl-toolchain: support mips/ppc/arm
      external-csl-toolchain: support ia32
      external-csl-toolchain: leverage eglibc's packaging for more granular output
      external-csl-toolchain: extract version info from the toolchain

 meta/classes/libc-package.bbclass                  |    6 +-
 meta/conf/distro/include/csl-versions.inc          |  105 +++++++++++++++
 meta/conf/distro/include/tcmode-external-csl.inc   |  112 ++++++++++++++++
 .../distro/include/tcmode-external-csl2008q3.inc   |   28 ----
 meta/recipes-core/eglibc/eglibc-package.inc        |    2 +-
 meta/recipes-core/meta/external-csl-toolchain.bb   |  140 ++++++++++++++++++++
 .../meta/external-csl-toolchain_2008q3-72.bb       |   64 ---------
 meta/recipes-devtools/binutils/binutils.inc        |    5 +-
 8 files changed, 365 insertions(+), 97 deletions(-)
 create mode 100644 meta/conf/distro/include/csl-versions.inc
 create mode 100644 meta/conf/distro/include/tcmode-external-csl.inc
 delete mode 100644 meta/conf/distro/include/tcmode-external-csl2008q3.inc
 create mode 100644 meta/recipes-core/meta/external-csl-toolchain.bb
 delete mode 100644 meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb

Christopher Larson (10):
  libc-package: fix typo in LOCALETREESRC default value
  eglibc-package.inc: don't include debug files in -pic
  binutils: fixes for build with an external csl toolchain
  external-csl-toolchain: fix critical PATH manipulation bug
  external-csl-toolchain: fixes for metadata changes
  external-csl-toolchain: avoid the hardcoded version/prefix
  external-csl-toolchain: support mips/ppc/arm
  external-csl-toolchain: support ia32
  external-csl-toolchain: leverage eglibc's packaging for more granular
    output
  external-csl-toolchain: extract version info from the toolchain

 meta/classes/libc-package.bbclass                  |    6 +-
 meta/conf/distro/include/csl-versions.inc          |  105 +++++++++++++++
 meta/conf/distro/include/tcmode-external-csl.inc   |  112 ++++++++++++++++
 .../distro/include/tcmode-external-csl2008q3.inc   |   28 ----
 meta/recipes-core/eglibc/eglibc-package.inc        |    2 +-
 meta/recipes-core/meta/external-csl-toolchain.bb   |  140 ++++++++++++++++++++
 .../meta/external-csl-toolchain_2008q3-72.bb       |   64 ---------
 meta/recipes-devtools/binutils/binutils.inc        |    5 +-
 8 files changed, 365 insertions(+), 97 deletions(-)
 create mode 100644 meta/conf/distro/include/csl-versions.inc
 create mode 100644 meta/conf/distro/include/tcmode-external-csl.inc
 delete mode 100644 meta/conf/distro/include/tcmode-external-csl2008q3.inc
 create mode 100644 meta/recipes-core/meta/external-csl-toolchain.bb
 delete mode 100644 meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb
Ken Werner - Feb. 3, 2012, 4 p.m.
On 01/27/2012 06:13 PM, Christopher Larson wrote:
> From: Christopher Larson<chris_larson@mentor.com>
>
> - Fixes the external-csl-toolchain and corresponding tcmode to be compatible
>    with current metadata (e.g. uses current providers), and ensures it works again
> - Kills the arch and version specific bits, making it work fine with a number
>    of different versions of the CodeSourcery arm, mips, ppc, and ia32 toolchains
> - Makes the packaging match up with the packaging of the internal toolchain by
>    leveraging the eglibc packaging .inc and ensuring our other packages are
>    named correctly
> - Extracts versioning information for both the recipe and emitted packages
>    from the external toolchain at ConfigParsed time. This code is not pretty,
>    largely kept as is from the Mentor internal external toolchain, but it does
>    work. A future commit or commits will clean that up.
>
> I've tested with with the fall 2010, spring 2011, and fall 2011 releases, for
> the qemux86, qemuarm, qemumips, and qemuppc machines. I used buildhistory to
> compare the packages and image content between internal and external, ensuring
> that they match up with almost no differences.
>
> The following changes since commit fba0459da7f274ae284d36b7fdbf2f9d10a52610:
>
>    distro_tracking_fields: fix the typos in the field of maintainer. (2012-01-27 09:52:00 +0000)
>
> are available in the git repository at:
>    git://github.com/kergoth/oe-core external-toolchain

Hi,

Good work!

I just switched to this branch and configured OE-core to compile for 
qemuarm using the external CSL 2011.03 toolchain. When attempting to 
build the sato image bitbake aborts when compiling libproxy_0.4.7.bb. 
I've changed the cmake.bbclass to have cmake find the binaries of the 
external toolchain as posted here:
http://lists.linuxtogo.org/pipermail/openembedded-core/2011-December/014432.html

With this patch applied the build of the core-image-sate and 
qt4e-demo-image finished successfully. Both images are booting fine 
using QEMU.

Regards,
Ken
Richard Purdie - Feb. 3, 2012, 4:17 p.m.
On Fri, 2012-01-27 at 11:13 -0600, Christopher Larson wrote:
> From: Christopher Larson <chris_larson@mentor.com>
> 
> - Fixes the external-csl-toolchain and corresponding tcmode to be compatible
>   with current metadata (e.g. uses current providers), and ensures it works again
> - Kills the arch and version specific bits, making it work fine with a number
>   of different versions of the CodeSourcery arm, mips, ppc, and ia32 toolchains
> - Makes the packaging match up with the packaging of the internal toolchain by
>   leveraging the eglibc packaging .inc and ensuring our other packages are
>   named correctly
> - Extracts versioning information for both the recipe and emitted packages
>   from the external toolchain at ConfigParsed time. This code is not pretty,
>   largely kept as is from the Mentor internal external toolchain, but it does
>   work. A future commit or commits will clean that up.
> 
> I've tested with with the fall 2010, spring 2011, and fall 2011 releases, for
> the qemux86, qemuarm, qemumips, and qemuppc machines. I used buildhistory to
> compare the packages and image content between internal and external, ensuring
> that they match up with almost no differences.
> 
> The following changes since commit fba0459da7f274ae284d36b7fdbf2f9d10a52610:
> 
>   distro_tracking_fields: fix the typos in the field of maintainer. (2012-01-27 09:52:00 +0000)
> 
> are available in the git repository at:
>   git://github.com/kergoth/oe-core external-toolchain
> 
> Christopher Larson (10):
>       libc-package: fix typo in LOCALETREESRC default value
>       eglibc-package.inc: don't include debug files in -pic
>       binutils: fixes for build with an external csl toolchain
>       external-csl-toolchain: fix critical PATH manipulation bug
>       external-csl-toolchain: fixes for metadata changes
>       external-csl-toolchain: avoid the hardcoded version/prefix
>       external-csl-toolchain: support mips/ppc/arm
>       external-csl-toolchain: support ia32
>       external-csl-toolchain: leverage eglibc's packaging for more granular output
>       external-csl-toolchain: extract version info from the toolchain

Merged to master. Thanks for these, good to see those recipes fulfilling
their full potential :)

Cheers,

Richard
Richard Purdie - Feb. 3, 2012, 4:34 p.m.
On Fri, 2012-02-03 at 17:00 +0100, Ken Werner wrote:
> I just switched to this branch and configured OE-core to compile for 
> qemuarm using the external CSL 2011.03 toolchain. When attempting to 
> build the sato image bitbake aborts when compiling libproxy_0.4.7.bb. 
> I've changed the cmake.bbclass to have cmake find the binaries of the 
> external toolchain as posted here:
> http://lists.linuxtogo.org/pipermail/openembedded-core/2011-December/014432.html
> 
> With this patch applied the build of the core-image-sate and 
> qt4e-demo-image finished successfully. Both images are booting fine 
> using QEMU.

Thanks for reporting that. I've merged the patch you refer to above.

Cheers,

Richard