Re: linux/Makefile: CONFIG_SHELL and SHELL

Clifford Wolf (clifford@clifford.at)
Tue, 1 Sep 1998 13:46:18 +0200 (MEST)


On 1 Sep 1998, Andreas Schwab wrote:

> Clifford Wolf <clifford@clifford.at> writes:
>
> |> On 31 Aug 1998, Andreas Schwab wrote:
> |>
> |> > Clifford Wolf <clifford@clifford.at> writes:
> |> >
> |> > |> At the top of the Makefile we set the variable CONFIG_SHELL which than
> |> > |> should be a bash (if possible). Why don't setting the variable SHELL to
> |> > |> the value of CONFIG_SHELL? If we need bash features we should force to
> |> > |> use bash - or don't use bash features.
> |> >
> |> > Please do the latter. Setting SHELL to a nonstandard value (different
> |> > from /bin/sh) causes *all* commands to be started with '$(SHELL) -c cmd'
> |> > instead of internally by make (which knows about the /bin/sh parsing
> |> > rules). That would kill performance quite a bit.
> |>
> |> I don't know much about the internals of GNU make - and I'm sure you are
> |> right in theory - but this are the values I got:
> |>
> |> with "SHELL := $(CONFIG_SHELL)":
> |>
> |> real 13m32.125s
> |> user 12m20.000s
> |> sys 0m46.000s
> |>
> |> without "SHELL := $(CONFIG_SHELL)":
> |>
> |> real 13m14.745s
> |> user 12m18.910s
> |> sys 0m45.030s
>
> It depends on whether /bin/sh can be kept cached while the compiler is
> running. If it needs to be loaded from disk each time then the difference
> is noticable.

I've just had a look at the GNU make info page (File: make.info, Node:
Execution) and they say at this page that make executes all commands
useing a subshell and that it uses /bin/sh as subshell if the $(SHELL)
variable is not set.

So it invokes a subshell anyway (regardless if $(SHELL) is set or not).
The only difference is _which_ shell is used. And we defently would like
to use bash (becouse we use bash features in our makefiles).

- clifford

-- -- -- -- -- -- -- -- -- -- -- -- --
Clifford Wolf
magnet - Internet at Work IRC: efnet / clifford
Director of System Development http://www.clifford.at/
e-mail: c.wolf@magnet.at email: god@clifford.at

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html