[OE-core] SDK and external toolchain

Marcin Juszkiewicz marcin.juszkiewicz at linaro.org
Tue Mar 19 09:03:18 UTC 2013


W dniu 26.07.2012 21:58, Richard Purdie pisze:
> 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...

Issue is still present ;(





More information about the Openembedded-core mailing list