diff options
author | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2009-08-02 23:43:15 +0200 |
---|---|---|
committer | Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> | 2009-08-02 23:43:15 +0200 |
commit | a08142a02a84eaf42c148a9a41f9e2bed83fba73 (patch) | |
tree | 494bf262564f6c940eb20c66410e64bd6f5f82e5 /config/global | |
parent | c0483fc7ec4a0b6ecfaa3d8b5ccc27a8a2a11fde (diff) | |
download | crosstool-ng-a08142a02a84eaf42c148a9a41f9e2bed83fba73.tar.gz crosstool-ng-a08142a02a84eaf42c148a9a41f9e2bed83fba73.tar.bz2 crosstool-ng-a08142a02a84eaf42c148a9a41f9e2bed83fba73.zip |
[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.in | 48 |
1 files changed, 39 insertions, 9 deletions
diff --git a/config/global/build-behave.in b/config/global/build-behave.in index 7f8a854a..2fb1a298 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 |