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
This commit is contained in:
Denis Vlasenko
2008-04-01 14:47:57 +00:00
parent 165f5b394f
commit 468aea2d88
14 changed files with 84 additions and 91 deletions

View File

@@ -36,7 +36,6 @@ endchoice
config ASH
bool "ash"
default n
select TEST
help
Tha 'ash' shell adds about 60k in the default configuration and is
the most complete and most pedantically correct shell included with
@@ -111,7 +110,6 @@ config ASH_GETOPTS
config ASH_BUILTIN_ECHO
bool "Builtin version of 'echo'"
default y
select ECHO
depends on ASH
help
Enable support for echo, builtin to ash.
@@ -119,7 +117,6 @@ config ASH_BUILTIN_ECHO
config ASH_BUILTIN_TEST
bool "Builtin version of 'test'"
default y
select TEST
depends on ASH
help
Enable support for test, builtin to ash.
@@ -170,10 +167,6 @@ config ASH_EXPAND_PRMT
config HUSH
bool "hush"
default n
select TRUE
select FALSE
select TEST
select ECHO
help
hush is a very small shell (just 18k) and it has fairly complete
Bourne shell grammar. It even handles all the normal flow control
@@ -240,13 +233,9 @@ config LASH
help
lash is deprecated and will be removed, please migrate to hush.
config MSH
bool "msh"
default n
select TRUE
select FALSE
select TEST
help
The minix shell (adds just 30k) is quite complete and handles things
like for/do/done, case/esac and all the things you expect a Bourne