[BusyBox] Improving Our Development Process

Gennady Feldman gena01 at cachier.com
Tue Jan 23 22:49:49 UTC 2001


On Tue, 23 Jan 2001, Mark Whitley wrote:

> [clipped]
> And then, On Wed, Jan 24, 2001 at 08:43:30AM +1300, Alex King wrote:
> >
> > I also wonder about code which is shared between bb and netkit-tiny.
> > One solution would be a shared lib for utilities.c, but this would be
> > a bit over the top.
> >
> > Is it possible to keep the codebase together and just build two
> > separate binaries, or have an option to build them as one binary?
> > What disadvantage would there be in doing this?
>[clipped]

I actually thought about this for some time, and since I stepped up to
maintain netkit-tiny I also have a couple of ideas. We could create a
source tree in CVS, something like:
 busybox_main  (some common name for the whole project)
   \common    (subdirectory/sub project could be checkedout separately
		contains common files

   \busybox     contains busybox files

   \netkit-tiny contains netkit-tiny

 we can also have a general Config.h and use #DEFINES to compile the two
projects into two separate binaries. The only big hassle is to get it
all setup. (I can actually try to prototype it if is seems like a sensable
solution) Stuff like BINARY_NAME could be defined based on the currently
compiled project #DEFINES could be using from header files or passed to
gcc at compile time. We could also have separate Config.h's for each
project as well as applets.h files and then just have them includes
conditionally by each project. On one hand it complicates a few things, on
another it becomes more flexible and lets us do further split ups as
necessary all we have to do is to create other branches under the main
root branch. The Makefile in the main/root will just call the right
Makefile which is located under subproject. i.e busybox\Makefile or
netkit-tiny\Makefile which will initialiate conditional compilation. I am
pretty sure that common code is generic enough to actually enable this
sort of compilation. Also it lets people maintain a certain
section/subtree w/o interfering with the rest of the dev. team as long as
common code stays untouched. What do you think about this?


G.F.






More information about the busybox mailing list