On 03/01/16 01:01 PM, Felix Fietkau wrote:
On 2016-01-03 18:53, Daniel Dickinson wrote:
Hi Felix,

I think part of the confusion stems from the fact that the current SDK
is not really an SDK but a 'Toolchain+'.  Perhaps the current SDK should
be renamed to clarify that point, and a 'real' SDK created.
What's a 'real' SDK as opposed to a 'Toolchain+'?

Perhaps it's just the way I think of it, but a Toolchain/Toolchain(+) provides everything need to do build on a particular platform, with only minor exceptions of things included with OS in a standard install. It's binary or equivalent (i.e. no special tools required) pretty much by definition because it's supposed to take care of providing what you need to do a build. You can talk about the source of a toolchain, but I don't think it's coherent to talk about the source as the toolchain. A toolchain of some sort is typically required to build an SDK, or to develop new versions of the toolchain (assuming you have the source of the toolchain).

A 'real' SDK on the other hand allows you to build toolchains and systems from scratch, but has more dependencies (unless it's combination SDK + Toolchain) because the operating system has to provide enough build machinery to build from source (or in the proprietary version, source + binary bits that theoretically can be legitimately packaged that way and/or 'protect' 'special' IP).

It's kind of a greyish area for definitions because I'm not sure there is a consistent usage of the SDK term in industry. I think in some cases SDK is used to mean what I think of as Toolchain+ that is used build add-ons for a system, but is platform-specific (and not necessarily with source to port either), whereas in the the open source world I think SDK tends to imply something that lets you build from scratch (with source).

In any event, regardless of what you call it, the current OpenWrt SDK is of the variety of (mostly) standalone binaries that you use to build packages for openwrt, rather than of a set of sources that can be used to build what you need to build packages and/or the packages themselves (which is what I would consider a 'real' SDK vs the current Toolchain+).

The two types of things have different goals. the 'real' SDK is meant to provide the ability to develop the system; the toolchain/toolchain+ is meant to bootstrap the process or at least make building stand on it's own for a given platform.


The current SDK is useless without ImageBuilder and/or package repositories.
Not really. It allows you to build packages that you can put on a
running system built from the same release (including out-of-tree kernel
modules).

Ok, I mean useless for building firmware; it certainly isn't useless by any means (I fin it rather useful as a Toolchain+; for SDK there is buildroot + feeds + downloaded packages).

Does that clarify my thinking a little for you, and do you see, perhaps, the value of the current toolchain+ type of SDK in addition to the kind of SDK I think you're thinking of (That I call a 'real' SDK)?

Regards,

Daniel
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to