summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/global/build-behave.in14
-rwxr-xr-xscripts/crosstool.sh4
2 files changed, 18 insertions, 0 deletions
diff --git a/config/global/build-behave.in b/config/global/build-behave.in
index 7c1175c..7f8a854 100644
--- a/config/global/build-behave.in
+++ b/config/global/build-behave.in
@@ -43,3 +43,17 @@ config USE_PIPES
help
Use gcc's option -pipe to use pipes rather than temp files when building
the toolchain.
+
+config CONFIG_SHELL_ASH
+ bool
+ prompt "Use 'ash' as CONFIG_SHELL"
+ default n
+ help
+ Use /bin/ash as the shell used by ./configure scripts.
+
+ ./configure scripts make intensive use of calling a sub-shell, and the
+ traditional bash is slow, whereas ash is faster.
+
+ 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.
diff --git a/scripts/crosstool.sh b/scripts/crosstool.sh
index 681b204..c865c16 100755
--- a/scripts/crosstool.sh
+++ b/scripts/crosstool.sh
@@ -331,6 +331,10 @@ if [ -z "${CT_RESTART}" ]; then
# Override the configured jobs with what's been given on the command line
[ -n "${CT_JOBS}" ] && CT_PARALLEL_JOBS="${CT_JOBS}"
+ # Help ./configure scripts go faster
+ [ "${CT_CONFIG_SHELL_ASH}" = "y" ] && export CONFIG_SHELL=/bin/ash
+ export CONFIG_SHELL
+
# And help make go faster
PARALLELMFLAGS=
[ ${CT_PARALLEL_JOBS} -ne 0 ] && PARALLELMFLAGS="${PARALLELMFLAGS} -j${CT_PARALLEL_JOBS}"