Age | Commit message (Collapse) | Author |
|
|
|
at the cost of ~100 bytes of text.
Improves friendliness to nommu systems.
(Dunno whether nommu people ever use dpkg, though...)
|
|
|
|
one applet.
|
|
You have to provide the absolute path to the objdir/target.ext you want to build, as can be seen in the respective makefiles..
|
|
|
|
teach scripts/individual new tricks. And while I'm at it, teach
scripts/individual other new tricks. Now builds 198 applets, some of which
I should teach it to hardlink together because they're really the same app...
|
|
|
|
http://busybox.net/lists/busybox/2005-September/015766.html
I renamed it "individual" to not confuse it with the standalone shell. (Which
it isn't compatible with for obvious reasons.) Configure busybox (I did
make defconfig), then run scripts/individual and it'll build an individual
version of each applet in the "build" subdirectory.
Currently it builds 146 and fails to build 104 applets out of "make defconfig".
I haven't taught it about multi-file applets yet (like tar), or the ones where
two applets get built from the same source (for example, zcat is a trivial
variant of gunzip so there is no zcat.c). But here's a start.
|
|
|
|
|
|
- don't use multi-line string literals
|
|
|
|
- make sure that bbconfig isn't too stupid
|
|
|
|
That says use 900k chunks when compressing, which needs about 4 megs of data
structures to undo the Burrows-Wheeler transform. Switching it down to
bzip -1 (100k chunks) should have no impact on the compression (since it
still all fits in one chunk) but should reduce runtime decompression memory
requirements to something like 500k. Still larger than gunzip, but not
egregiously so.
|
|
has a better chance of getting merged.
|
|
- add and use wrapper for attribute
- add and use replacement for vasprintf if it is unavailable
|
|
- use the portable `` instead of $(). There is no bbsh, so this is needed.
|
|
|
|
|
|
Makefile uses the wrong path to the binary (it's in top_builddir and not in top_srcdir)
|
|
back to linux-kernel...
|
|
|
|
busybox_unstripped to busybox_old, build a new version, and "make bloatcheck"
to see a detailed breakdown of the size difference.
|
|
|
|
Currently we have these errors:
./modutils/Config.in: No helptext for 'CONFIG_FEATURE_QUERY_MODULE_INTERFACE'
./networking/Config.in: No helptext for 'CONFIG_IPADDR'
./networking/Config.in: No helptext for 'CONFIG_IPLINK'
./networking/Config.in: No helptext for 'CONFIG_IPROUTE'
./networking/Config.in: No helptext for 'CONFIG_IPTUNNEL'
./coreutils/Config.in: No helptext for 'CONFIG_UNIX2DOS'
|
|
|
|
|
|
the sizes of the individual object files.
|
|
|
|
|
|
|
|
|
|
Fixes make trying to include the very same file in an endless loop.
|
|
- use less resources for the buildsystem itself
|
|
from before "if(x) free(x)".
|
|
|
|
|
|
removed depend loop: busybox.h depend with BB_BT, and all sources depend with busybox.h
|
|
|
|
|
|
|
|
|
|
For each CONFIG_SYMBOL, include/bb_config.h now has both ENABLE_SYMBOL
and USE_SYMBOL(x). ENABLE_SYMBOL is still always defined (1 or 0) so that
if(ENABLE) should optimize out when it's zero. The USE_SYMBOL(X) will only
splice in X if the symbol is defined, otherwise it'll be empty.
Thus we can convert this:
#ifdef CONFIG_ARGS
opt = bb_getopt_ulflags(argc, argv, "ab:c"
#ifdef CONFIG_THINGY
"d:"
#endif
, &bvalue
#ifdef CONFIG_THINGY
, &thingy
#endif
);
#endif
into this:
if (ENABLE_ARGS) {
opt = bb_getopt_ulflags(argc, argv, "ab:c" USE_THINGY("d:"), &bvalue
USE_THINGY(, &thingy));
}
And it should produce the same code.
Unlike the old versions in include/_usage.h, the new USE_SYMBOL(x) can handle
commas in its arguments (as shown above). (The _usage.h file is obsolete and
no longer generated.)
Nobody should need to include config.h directly anymore, bb_config.h should
define all the configuration stuff we need. Someday, the CONFIG_SYMBOL
versions should go away in favor of ENABLE_SYMBOL and USE_SYMBOL().
Thanks to vodz for the new version of bb_mkdep.c that works with function
macros.
|
|
|
|
|
|
|
|
|
|
(Busybox should not be system dependent enough to have different default
configurations for different platforms. We're not a kernel.)
|