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

Richard Purdie richard.purdie at linuxfoundation.org
Wed Jan 21 13:23:35 PST 2015


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.

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