made "test" an ash built-in.

moved the contents of libbb/bb_echo.c back into coreutils/echo.c,
which is a more reasonable place for them than libbb.  this
forces anyone who wants echo and test to be builtin to ash to
also have them available as applets.  their cost is very small,
and the number of people who wouldn't want them as applets is
also very small.

added warning about shell builtins vs. CONFIG_FEATURE_SH_STANDALONE_SHELL,
which conflicts with their use.

thanks to nathanael copa for debugging help.

some string size optimization in test.c may have been lost with
this commit, but this is a good new baseline.
This commit is contained in:
Paul Fox
2006-06-08 21:37:26 +00:00
parent 176f2df69b
commit 6ab037872f
8 changed files with 272 additions and 234 deletions

View File

@@ -95,12 +95,28 @@ config CONFIG_ASH_MATH_SUPPORT_64
large numbers.
config CONFIG_ASH_GETOPTS
bool "Enable getopts builtin to parse positional parameters"
bool "Builtin getopt to parse positional parameters"
default n
depends on CONFIG_ASH
help
Enable getopts builtin in the ash shell.
config CONFIG_ASH_BUILTIN_ECHO
bool "Builtin version of 'echo'"
default y
select CONFIG_ECHO
depends on CONFIG_ASH
help
Enable support for echo, built in to ash.
config CONFIG_ASH_BUILTIN_TEST
bool "Builtin version of 'test'"
default y
select CONFIG_TEST
depends on CONFIG_ASH
help
Enable support for test, built in to ash.
config CONFIG_ASH_CMDCMD
bool "Enable cmdcmd to override shell builtins"
default n
@@ -110,21 +126,6 @@ config CONFIG_ASH_CMDCMD
you to run the specified command with the specified arguments,
even when there is an ash builtin command with the same name.
config CONFIG_ASH_BUILTIN_ECHO
bool "Enable builtin version of 'echo'"
default n
depends on CONFIG_ASH
help
Enable support for echo, built in to ash.
# this entry also appears in coreutils/Config.in, next to the echo applet
config CONFIG_FEATURE_FANCY_ECHO
bool "Enable echo options (-n and -e)"
default y
depends on CONFIG_ASH_BUILTIN_ECHO
help
This adds options (-n and -e) to echo.
config CONFIG_ASH_MAIL
bool "Check for new mail on interactive shells"
default y
@@ -229,6 +230,11 @@ config CONFIG_FEATURE_SH_STANDALONE_SHELL
is generally used when creating a statically linked version of busybox
for use as a rescue shell, in the event that you screw up your system.
Note that this will *also* cause applets to take precedence
over shell builtins of the same name. So turning this on will
eliminate any performance gained by turning on the builtin "echo"
and "test" commands in ash.
Note that when using this option, the shell will attempt to directly
run '/bin/busybox'. If you do not have the busybox binary sitting in
that exact location with that exact name, this option will not work at