[yocto] Difference between target, cross, native and nativesdk.

Denys Dmytriyenko denis at denix.org
Wed Jan 21 13:31:50 PST 2015


On Wed, Jan 21, 2015 at 09:23:35PM +0000, Richard Purdie wrote:
> On Wed, 2015-01-21 at 14:27 -0500, Denys Dmytriyenko wrote:
> > On Wed, Jan 21, 2015 at 11:23:38AM -0200, Raphael Philipe wrote:
> > > I was explained about the difference in a different way.
> > > 
> > > cross generates binary for the host architecture. But the way this
> > > binary is generated depends of the target architecture. Native
> > > generated binaries that do not depend of the target architecture.
> > 
> > Pretty much.
> > 
> > But another big difference is that -native packages do not generate IPK, RPM 
> > or DEB, while -nativesdk, -cross, -crosssdk and -cross-canadian do.
> 
> -cross and -crosssdk do not generate packages.

Yeah, I thought so initially, but then I found depmodwrapper-cross and 
qemuwrapper-cross packages in my deploy/ipk, which got me confused... They 
seem to be special cases and only have scripts and not binaries. I wonder if 
the name is misleading...


> Another way to think of this is:
> 
> "native" build once
> 
> "cross" build once per target, run on native, output code for target
> 
> "crosssdk" build once per sdk, run on native, output code for sdk
> 
> "cross-canadian" build once per sdk, run on sdk, output code for target
> 
> Whilst native.bbclass and nativesdk.bbclass are useful generally,
> cross.bbclass is only useful for GNU tool projects like
> binutils/gcc/gdb.
> 
> Cheers,
> 
> Richard
> 



More information about the yocto mailing list