[oe] CROSS_DIR

Richard Purdie rpurdie at rpsys.net
Thu Nov 29 01:45:45 UTC 2007


On Thu, 2007-11-29 at 06:13 +1000, Lorn Potter wrote:
> 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'm confused, where above do I suggest "CROSS_DIR is simply a symlink to
staging"?

I don't since as you say that would be 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.

No, now only the cross tools are there and the target libraries/headers
are in staging instead of both staging and cross. Currently there is a
symlink between the two. This symlink will be disappearing soon.

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

The path to the toolchain is whatever you define it to be with
SDK_PREFIX. As you say, people build in their homedirs which is a good
reason to support meta-toolchain over moving CROSS_DIR around.

Cheers,

Richard








More information about the Openembedded-devel mailing list