[OE-core] SDK and external toolchain

Richard Purdie rpurdie at rpsys.net
Thu Jul 26 19:58:50 UTC 2012


On Thu, 2012-07-26 at 13:32 -0500, Mark Hatle wrote:
> On 7/26/12 1:14 PM, Chris Larson wrote:
> > On Thu, Jul 26, 2012 at 9:37 AM, Mark Hatle <mark.hatle at windriver.com> wrote:
> >>> index 44284c3..f5fd4d7 100644
> >>> --- a/meta/classes/toolchain-scripts.bbclass
> >>> +++ b/meta/classes/toolchain-scripts.bbclass
> >>> @@ -136,7 +136,7 @@ toolchain_create_sdk_env_script_for_installer () {
> >>>    #we get the cached site config in the runtime
> >>>    TOOLCHAIN_CONFIGSITE_NOCACHE = "${@siteinfo_get_files(d, True)}"
> >>>    TOOLCHAIN_CONFIGSITE_SYSROOTCACHE =
> >>> "${STAGING_DATADIR}/${TARGET_SYS}_config_site.d"
> >>> -TOOLCHAIN_NEED_CONFIGSITE_CACHE = "${TCLIBC} ncurses"
> >>> +TOOLCHAIN_NEED_CONFIGSITE_CACHE = "ncurses"
> >>
> >>
> >> That is incorrect.. the CONFIGSITE_CACHE should be generated for the TCLIBC.
> >> If you don't do that, then you will be running the same configure steps --
> >> looking for basic glibc information over and over and over, causing a fairly
> >> expensive performance penalty.
> >
> > No, he's right, this is a bug in toolchain-scripts.bbclass. We could
> > work around it in the recipe via RPROVIDES_${PN}, but
> > TOOLCHAIN_NEED_CONFIGSITE_CACHE feeds directly into task 'depends', so
> > it's pulling in ${TCLIBC} explicitly rather than the more accurate
> > 'virtual/libc'.
> >
> 
> The config site file though isn't called "virtual/libc".  My understanding what 
> that all that variable did was set the list of config site files, but didn't 
> directly affect the dependency mapping.  If it does, then there is a definite 
> issue w/ dependency vs file mappings.

The trouble as I understand it is we need to know both the dependency
name and the config/site cache name.

We'll probably have to change siteconfig.bbclass to generate libc_config
instead of ${PN}_config (create an intermediate variable the libc
recipes override).

We can then specify something like virtual/libc:libc in
TOOLCHAIN_NEED_CONFIGSITE_CACHE. Of course that probably still won't
work if you actually try and build meta-toolchain, we might just have to
skip things that don't exist...

Cheers,

Richard 





More information about the Openembedded-core mailing list