[PATCH 2/9] mark Linux-specific configuration options

Jeremie Koenig jk at jk.fr.eu.org
Thu Jul 29 02:50:19 UTC 2010


Hi Tito,

On Wed, Jul 28, 2010 at 11:54:50PM +0200, Tito wrote:
> On Wednesday 28 July 2010 23:41:15 Tito wrote:
> > Hi,
> > this seems a bit of a twisted logic as BusyBox (:) is The Swiss Army Knife of Embedded Linux.
> > Maybe a CONFIG_BROKEN_ON_OTHER_OS_XYZ would be more coherent with
> > busybox's history.
> > (...)

A dependency is not a property of a given feature, it denotes that the feature
requires another one (such as the user declaring they're building for a Linux
system with the necessary stuff available, though in a way this is a stretch
too).

What one may want to do is to reverse the polarity of the option, ie. let the
user declare, say, ALIEN_SYSTEM, and make the linux-specific options depend on
"!ALIEN_SYSTEM".

However the idea behind PLATFORM_LINUX is that it could be extended into a
choice of platforms later (each one with its PLATFORM_* option).

> PS: maybe the same result could be achieved by creating custom defconfig
> files for other os like the linux kernel does with broken features disabled.
> That way the code could be kept clean from #ifdef __linux__ statements.

These preprocessor statements are used in applets which *can* build on
non-Linux systems, though with reduced functionality. The config dependencies,
on the other hand, allow us to exclude the applets which won't build from the
configuration system. So one cannot be a substitute for the other.

-- 
Jérémie Koenig <jk at jk.fr.eu.org>


More information about the busybox mailing list