summaryrefslogtreecommitdiff
path: root/config/global
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2009-08-02 21:43:15 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2009-08-02 21:43:15 (GMT)
commita08142a02a84eaf42c148a9a41f9e2bed83fba73 (patch)
tree494bf262564f6c940eb20c66410e64bd6f5f82e5 /config/global
parentc0483fc7ec4a0b6ecfaa3d8b5ccc27a8a2a11fde (diff)
[config] Change the way to select the CONFIG_SHELL
Transform the single boolean option to a 'choice' selection with two options: "sh" and "ash". This is needed to later add "bash" as override.
Diffstat (limited to 'config/global')
-rw-r--r--config/global/build-behave.in48
1 files changed, 39 insertions, 9 deletions
diff --git a/config/global/build-behave.in b/config/global/build-behave.in
index 7f8a854..2fb1a29 100644
--- a/config/global/build-behave.in
+++ b/config/global/build-behave.in
@@ -44,16 +44,46 @@ config USE_PIPES
Use gcc's option -pipe to use pipes rather than temp files when building
the toolchain.
-config CONFIG_SHELL_ASH
+choice
+ bool
+ prompt "Shell to use as CONFIG_SHELL"
+ default CONFIG_SHELL_SYSTEM
+
+config CONFIG_SHELL_SH
bool
- prompt "Use 'ash' as CONFIG_SHELL"
- default n
+ prompt "sh (the system shell)"
help
- Use /bin/ash as the shell used by ./configure scripts.
+ Use 'sh' as CONFIG_SHELL.
- ./configure scripts make intensive use of calling a sub-shell, and the
- traditional bash is slow, whereas ash is faster.
+ ./configure scripts and Makefiles make intensive use of calling
+ sub-shells. This is usually done by calling /bin/sh. /bin/sh ought
+ to be an at-least-POSIX-conformant shell (that is, able to interpret
+ POSIX shell scripts).
- Saying 'y' here should be safe enough, but some components may not
- accept using a shell other than bash (this is most probably true for
- old versions). If you have trouble, say 'n' here and see if it fixes it.
+ On many (most?) systems, /bin/sh is a symlink to bash. On some other
+ systems (eg. Ubuntu, latest Debian), /bin/sh points to dash (or ash).
+ bash is a full-featured shell, with many extension to POSIX, but is
+ quite slow (see ection BUGS in the bash man page), while dash is
+ faster, with very few extensions to POSIX. On the other hand, some
+ ./configure scripts, although written to use /bin/sh, may really
+ require to be run by bash.
+
+ The default is to use your system's /bin/sh shell. If you want to
+ run faster, you can select to use dash. If you have problems with
+ either the system shell or when using dash, then you can force to
+ use bash.
+
+config CONFIG_SHELL_ASH
+ bool
+ prompt "ash"
+ help
+ Use 'ash' as CONFIG_SHELL.
+
+ See help for CONFIG_SHELL_SH, above, for more explanations.
+
+endchoice
+
+config CONFIG_SHELL
+ string
+ default "sh" if CONFIG_SHELL_SH
+ default "ash" if CONFIG_SHELL_ASH