diff --git a/config/global/build-behave.in b/config/global/build-behave.in index fae99171..07302ffe 100644 --- a/config/global/build-behave.in +++ b/config/global/build-behave.in @@ -78,6 +78,10 @@ config CONFIG_SHELL_SH The default is to use bash, as some components (eg. GMP) will fail to build with anything else than bash. + + Unless you have a very strong reason not to (eg. you are debugging + the bashisms in a ./configure script), you should use the default, + and use bash. config CONFIG_SHELL_ASH bool @@ -109,15 +113,20 @@ config CONFIG_SHELL_CUSTOM endchoice -config CONFIG_SHELL - string - default "sh" if CONFIG_SHELL_SH - default "ash" if CONFIG_SHELL_ASH - default "bash" if CONFIG_SHELL_BASH - default "custom" if CONFIG_SHELL_CUSTOM || BACKEND - +# Do not put this into the choice above, because the choice +# is not available in BACKEND-mode, while we do want this to +# be set even in BACKEND-mode. config CONFIG_SHELL_CUSTOM_PATH string prompt "Path to custom shell" if ! BACKEND depends on CONFIG_SHELL_CUSTOM || BACKEND default "/bin/sh" + +# Ditto. +# And we must use the ./configured bash... +config CONFIG_SHELL + string + default "/bin/sh" if CONFIG_SHELL_SH + default "/bin/ash" if CONFIG_SHELL_ASH + default "${bash}" if CONFIG_SHELL_BASH + default CONFIG_SHELL_CUSTOM_PATH if CONFIG_SHELL_CUSTOM || BACKEND diff --git a/scripts/crosstool-NG.sh.in b/scripts/crosstool-NG.sh.in index 4499f712..2057f26c 100644 --- a/scripts/crosstool-NG.sh.in +++ b/scripts/crosstool-NG.sh.in @@ -66,18 +66,8 @@ CT_DoExecLog DEBUG touch "${CT_WORK_DIR}/foo" CT_TestAndAbort "Your file system in '${CT_WORK_DIR}' is *not* case-sensitive!" -f "${CT_WORK_DIR}/FOO" CT_DoExecLog DEBUG rm -f "${CT_WORK_DIR}/foo" -# What's our shell? -# Will be plain /bin/sh on most systems, except if we have /bin/ash and we -# _explictly_ required using it -case "${CT_CONFIG_SHELL}" in - sh) CT_SHELL="/bin/sh";; - ash) CT_SHELL="/bin/ash";; - bash) CT_SHELL="${BASH}";; - custom) CT_SHELL="${CT_CONFIG_SHELL_CUSTOM_PATH}";; -esac - # Check the user is using an existing SHELL to be used by ./configure and Makefiles -CT_TestOrAbort "The CONFIG_SHELL '${CT_CONFIG_SHELL}' (${CT_SHELL}) is not valid" -f "${CT_SHELL}" -a -x "${CT_SHELL}" +CT_TestOrAbort "The CONFIG_SHELL '${CT_CONFIG_SHELL}' is not valid" -f "${CT_CONFIG_SHELL}" -a -x "${CT_CONFIG_SHELL}" # Create the bin-override early # Contains symlinks to the tools found by ./configure @@ -484,8 +474,8 @@ if [ -z "${CT_RESTART}" ]; then # Set the shell to be used by ./configure scripts and by Makefiles (those # that support it!). - export CONFIG_SHELL="${CT_SHELL}" # for ./configure - export SHELL="${CT_SHELL}" # for Makefiles + export CONFIG_SHELL="${CT_CONFIG_SHELL}" # for ./configure + export SHELL="${CT_CONFIG_SHELL}" # for Makefiles # And help make go faster JOBSFLAGS=