[oe] CROSS_DIR

Lorn Potter lpotter at trolltech.com
Wed Nov 28 20:13:08 UTC 2007



Richard Purdie wrote:
> On Wed, 2007-11-28 at 14:50 +1000, Lorn Potter wrote:
>> Was CROSS_DIR changed somewhat recently (last 2 months or so) to link 
>> the includes and lib dirs to staging?
>>
>> If so, why? This means I cannot distribute this toolchain to other 
>> machines, and makes the entries in the pkgconfig files wrong.
> 
> It was changed, yes. The reason was to remove duplication of files
> between staging and cross. There are various reasons for doing that
> including faster builds, less error prone builds (file duplication means
> both copies have to be kept the same) and that cleaning this up assists
> some future planned developments (e.g. sysroot and packaged staging).
> 
> The symlink is intended as a transition fix and ultimately we can switch
> to the sysroot option of the toolchain for everything but gcc 3.3 and
> earlier. Poky already has done so and it is *much* cleaner.
> 
> I have seen the pkgconfig problem and its unfortunate, I didn't realise
> until it was too late. Its not more wrong than pointing at staging
> really though. The good news is that it goes away entirely when we
> switch to using sysroot options for pkgconfig.

If CROSS_DIR is simply a symlink to staging, whats the point? I see no 
point in setting this if it doesn't work as it used to, and put the 
toolchain somewhere else, otherwise it's redundant and pointless.


> 
>> CROSS_DIR should mean just that - this is where I want the toolchain to 
>> be - like it used to do.
> 
> Well, the cross toolchain components are still there. The target system
> header/libraries (glibc and libc-headers-linux) only get installed to
> the target system staging directory now though.
> 
> CROSS_DIR is not meant to be a toolchain you can transfer between
> machines, its meant to be the cross components of the builds. If you
> want a toolchain to transfer between machines you can build one with
> meta-toolchain.

You guys must like doing things the hard way. As per the old method, 
CROSS_DIR can be used as a distributable toolchain. Now, _everything_ 
and their sister are there, which is not what a toolchain should be.

What is the path to whatever meta-toolchain creates? is it CROSS_DIR? or 
somewhere in the build directory? which could very easily be in 
someone's home directory, and not redistributable. Is there an good way 
to set the path to it?



-- 
Lorn 'ljp' Potter
Software Engineer, Systems Group, MES, Trolltech




More information about the Openembedded-devel mailing list