diff options
author | Denis Vlasenko | 2009-04-13 14:23:12 +0000 |
---|---|---|
committer | Denis Vlasenko | 2009-04-13 14:23:12 +0000 |
commit | 2b2183a77d7e8a01723fb96e7a39f109b15475f4 (patch) | |
tree | 3f7c27589c441fd1b82c8487b2c8eea70ee3d356 /shell | |
parent | 323cbbfaa25f6bdc1ef343db01e58da3fea7fe6d (diff) | |
download | busybox-2b2183a77d7e8a01723fb96e7a39f109b15475f4.zip busybox-2b2183a77d7e8a01723fb96e7a39f109b15475f4.tar.gz |
hush: make function support configurable
Diffstat (limited to 'shell')
-rw-r--r-- | shell/Config.in | 35 | ||||
-rw-r--r-- | shell/hush.c | 2 |
2 files changed, 21 insertions, 16 deletions
diff --git a/shell/Config.in b/shell/Config.in index 9b3ce64..6cc11ce 100644 --- a/shell/Config.in +++ b/shell/Config.in @@ -159,16 +159,15 @@ config HUSH bool "hush" default n 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 - options such as if/then/elif/else/fi, for/in/do/done, while loops, - case/esac. + hush is a small shell (22k). It handles the normal flow control + constructs such as if/then/elif/else/fi, for/in/do/done, while loops, + case/esac. Redirections, here documents, $((arithmetic)) + and functions are supported. It will compile and work on no-mmu systems. - It does not handle select, functions, here documents ( << - word ), aliases, brace expansion, tilde expansion, - &> and >& redirection of stdout+stderr, etc. + It does not handle select, aliases, brace expansion, + tilde expansion, &>file and >&file redirection of stdout+stderr. config HUSH_HELP bool "help builtin" @@ -226,6 +225,13 @@ config HUSH_CASE help Enable case ... esac statement in hush. +400 bytes. +config HUSH_FUNCTIONS + bool "Support funcname() { commands; } syntax" + default n + depends on HUSH + help + Enable support for shell functions in hush. +800 bytes. + config LASH bool "lash (deprecated: aliased to hush)" default n @@ -237,16 +243,17 @@ config MSH bool "msh (deprecated: please use hush)" default n 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 - shell to do. It is not always pedantically correct about Bourne - shell grammar (try running the shell testscript "tests/sh.testcases" - on it and compare vs bash) but for most things it works quite well. - It uses only vfork, so it can be used on uClinux systems. - msh is deprecated and will be removed, please migrate to hush. If there is a feature msh has but hush does not, please let us know. +# 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 +# shell to do. It is not always pedantically correct about Bourne +# shell grammar (try running the shell testscript "tests/sh.testcases" +# on it and compare vs bash) but for most things it works quite well. +# It uses only vfork, so it can be used on uClinux systems. + + comment "Bourne Shell Options" depends on MSH || LASH || HUSH || ASH diff --git a/shell/hush.c b/shell/hush.c index 9c2c0f3..ba3e2c3 100644 --- a/shell/hush.c +++ b/shell/hush.c @@ -83,8 +83,6 @@ * Keeping 1 for now even in released versions. */ #define HUSH_DEBUG 1 -/* In progress... */ -#define ENABLE_HUSH_FUNCTIONS 1 #if BUILD_AS_NOMMU |