[BusyBox] Division of work.
Gennady Feldman
gena01 at cachier.com
Thu Mar 8 20:23:38 UTC 2001
On Thu, 8 Mar 2001, Mark Whitley wrote:
>
> > > - No new configuration system. The preprocessor-based one works well enough
> > > for all involved.
> > I am currently working through the changes in configuration and
> > macros. (Feedback on new layout coming soon)
>
> Cool. I'd like to see it when it's to a presentable stage.
>
What I meant in my message was that I was updating my code w/ the
latest changes. And it seems that parts of the code are now generated w/
macros. Btw, the whole idea is rather nice and code does look cleaner this
way. To expand more on the things that I currently feel need work in terms
of configuration/setup/Makefiles esp once we start re-arranging the stuff
around. The way Config.h is currently setup is somewhat of a mess. Can we
do something like we did w/ usage? Split it up into several files:
1. A *.h file which would contains applet names w/ #defines taken directly
from Config.h:
//#define BB_AR
#define BB_BASENAME
#define BB_CAT
#define BB_CHMOD_CHOWN_CHGRP
//#define BB_CHROOT
//#define BB_CHVT
#define BB_CLEAR
//#define BB_CMP
and so on.
2. A file which would contains optional features.(Like Stand-alone sheel,
trivial help and others)
3. Conditional defines needed for proper compilation of various selected
applets.
We could even expand this idea further. We could create a shell or a Perl
script file (something like config). What it would do is to prompt the
user whether he want to enable/disable a specific item. This could be done
in several ways:
-----[Theoretical output]------
BusyBox v0.51pre configuration script.
This script will let you select which options/applets you want to compile
into busybox. (or something of this sort)
Compile AR (Yes, No, currently disabled - press return to leave as is):
Compile BASENAME (Yes, No, currently enabled):
....
...
Compile SH (Yes, No, currently enabled): Y
-> Enable COMMAND_EDITING? (Yes, No, currently enabled):
..
..
-------------------------------
I hope you get the idea. Now this could also be expanded to include 1
level above like packages:
o Busybox
o TinyLogin
o netkit-tiny
o others...
...
This would let people quickly edit their options and generate new/updates
files and then just run make which would build the whole thing. We could
also make some sort of rules on how we "add" new applets and features.
Actually the current state is messy. I proport something like:
BB_FEATURE_<appletname>_<featurename> which would simplify understanding
of the feature and could be used for parsing from a script and stuff.
P.S. The above is just an idea I came up w/ recently and it does simplify
a few things. We also do need to do some code cleanup. And I might take a
look and help out w/ such "small fixes". :) Also is there a busybox button
which could be used to link to busybox page/website? Can somebody make a
nice one? (I am no artist)
G.F.
More information about the busybox
mailing list