shells: do not frocibly enable test, echo and kill _applets_,
just build relevant source and use xxx_main functions.
build system: add a special case when we have exactly one applet enabled
(makes "true", "false", "basename" REALLY tiny).
getopt32: do not use stdio.
function old new delta
getopt32 1385 1412 +27
make_device 1187 1200 +13
basename_main 120 127 +7
tcpudpsvd_main 1922 1926 +4
testcmd 5 - -5
echocmd 5 - -5
fuser_main 1243 1231 -12
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 4/1 up/down: 51/-22) Total: 29 bytes
diff --git a/applets/applet_tables.c b/applets/applet_tables.c
index 6c3492b..35b099e 100644
--- a/applets/applet_tables.c
+++ b/applets/applet_tables.c
@@ -69,9 +69,14 @@
/* Keep in sync with include/busybox.h! */
- puts("/* This is a generated file, don't edit */");
+ puts("/* This is a generated file, don't edit */\n");
- puts("const char applet_names[] ALIGN1 = \"\"\n");
+ if (NUM_APPLETS == 1) {
+ printf("#define SINGLE_APPLET_STR \"%s\"\n", applets[0].name);
+ printf("#define SINGLE_APPLET_MAIN %s_main\n\n", applets[0].name);
+ }
+
+ puts("const char applet_names[] ALIGN1 = \"\"");
for (i = 0; i < NUM_APPLETS; i++) {
printf("\"%s\" \"\\0\"\n", applets[i].name);
}