====== SDKs =====
There are 4 different ways to develop software using the yocto project:
* Use a full build, see [[software:linux:yocto:getting_started_cpp|Getting Started with Yocto and C/C++]].
* Use an SDK, see [[sdk|SDK]].
* Use the yocto workflow with an Extensible SDK, see below.
* Build natively (on the target), see below.
===== Extensible SDK =====
The extensible SDK provides the yocto workflow without the need to first set up a full yocto build environment [[.:setup | Setup and Building]], as this is already included in the eSDK.
The eSDK must be installed in the same way as the SDK and before using it, you must run its source script. After this you rely on [[software:linux:yocto:devtool|devtool]].
The official yocto documentation can be found {{ https://docs.yoctoproject.org/sdk-manual/extensible.html | here }}
===== Build Natively =====
This is the simplest but also least useful way to build packages for yocto.
By default, there is no toolchain installed in the image.
To add the toolchain to an image, append ''tools-sdk'' to ''CORE_IMAGE_INSTALL''.
dunfell and earlier:
CORE_IMAGE_INSTALL_append = " tools-sdk"
honister and later (namely kirkstone):
CORE_IMAGE_INSTALL:append = " tools-sdk"
Note that this will significantly increase image size and build time.