summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-08-25 19:44:39 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2008-08-25 19:44:39 (GMT)
commit4a7d144844e8a2ec2fa27debbe332d84ef916aca (patch)
tree4ea4a4a238cbdc3c29cde8488181772def0d824e
parentc2426e53f17db134f19b23babc1b7ef8488dcdae (diff)
Allow using ash as the shell for ./configure and make.
After an idea by "Martin Guy" <martinwguy@yahoo.it>: http://sourceware.org/ml/crossgcc/2008-08/msg00037.html /trunk/scripts/crosstool.sh | 4 4 0 0 ++++ /trunk/config/global/build-behave.in | 14 14 0 0 ++++++++++++++ 2 files changed, 18 insertions(+)
-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}"