[RFC] Updating busybox config/build system to match current kernel system

Rob Landley rob at landley.net
Thu Aug 31 20:06:32 UTC 2006


On Thursday 31 August 2006 1:18 pm, Denis Vlasenko wrote:
> [resend to list]
> 
> On Tuesday 29 August 2006 20:40, Rob Landley wrote:
> > > ~300K compressed patch is sort of too big for mailing list.
> > 
> > Ouch.
> > 
> > Can you put it at a URL?
> 
> Yes. Done. http://busybox.net/~vda/

Thanks.  I've had at least part of this on my TODO list for months now...

> I tried to replace our current makefiles and config system.

Sharing build infrastructure with the kernel sounds reasonable to me.  We're 
already sharing the config system, we might as well use their makefile 
infrastructure too.  (For one thing, their dependencies work better than 
ours.)

One thing that I thought of when you first mentioned this is "hang on, the 
kernel code is GPLv2 only!"  But we've been using their menuconfig all along.  
I _think_ we can use their GPLv2 build infrastructure to build a GPLv2 or 
later binary, but this certainly guarantees that we're never dropping GPLv2 
from our list of licenses, doesn't it?  (Not that we want to, but if we did 
we couldn't.)

> I am intimidated by deep Makefile wizardry,
> and therefore I cowardly took kernel's one instead of fixing the one
> which we have now.

Works for me.  That's pretty much how we've been handling menuconfig all 
along...

> I think that it is not likely for kernel system to stop changing,
> so I resisted the desire to remove parts of it which are not needed
> for busybox. I would rather keep it as little changed as possible
> (relative to kernel's Makefile system, that is).

I've been cc'd on your attempts to push busybox's menuconfig changes upstream 
into the kernel.  I also have todo items to figure out how to make 
CONFIG_NITPICK work the way I want it to, and get the miniconfig patch in, 
but both are best done on top of this.

> The attached patchset is the one which I consider more-or-less
> usable. At least it seems to build allyesconfig and allnoconfig.
> 
> 1.patch - remove Makefile[.in], add Kbuild, tweak Config.in
>           in every directory
> 2.patch - small fixes
> 3.patch - small fixes
> 4.patch - delete old build system & scripts, add new one
> 5.patch - small fix
> 6.patch - (try to) add back make targets like "sizes" etc.
> 7.patch - fix dependency on BB_BT. make was rebuilding everything
>           each time.

I've got the CIFS patch to mount merged into my tree and am trying to get that 
done tonight, and then tomorrow I've got more previously patches queued up 
(including your nmeter patch).  I'll try to give this the review it deserves 
either tomorrow night or more likely staturday.

> --
> vda

Rob
-- 
Never bet against the cheap plastic solution.



More information about the busybox mailing list