Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 Aug 2000 13:57:45 -0400 (EDT)
From:      Brian Fundakowski Feldman <green@FreeBSD.org>
To:        Marcel Moolenaar <marcel@cup.hp.com>
Cc:        "Andrey A. Chernov" <ache@nagual.pp.ru>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/usr.bin/make Makefile config.h job.c main.c
Message-ID:  <Pine.BSF.4.21.0008191351290.60744-100000@green.dyndns.org>
In-Reply-To: <399EC343.75A93A8@cup.hp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 19 Aug 2000, Marcel Moolenaar wrote:

> I can't say I like the change. We use MAKE_SHELL={"csh", "sh", "ksh"} in
> Makefile. This translates to DEFSHELL={0,1,2} in the sources, which is
> ugly. At the same time we need to support the runtime ".SHELL". Looking
> at the code now, I still see hardcoded shell names and hardcoded
> special-handling based on build-time conditions instead of run-time
> conditions.

This isn't meant to be a run-time conditional.  This is to set the default
shell used.  And there _needs_ to be special handling in some cases, like
ENV must get unsetenv()ed for ksh or strange visual output is shown in
-j builds.

Building make(1) specially to change the default isn't wrong: if the user
is advanced enough to be changing make(1)'s default shell, it shouldn't
be taken lightly :)

> Using MAKE_SHELL: csh doesn't seem to work and we don't have ksh in the
> source tree. This basicly leaves only sh for us as a meaningful default.
> I can't say we have a pressing need to have this functionality in the
> first place.

I have csh disabled because of course it's not going to work.  It's in the
make(1) code, though.

And there is a perfectly good reason to have it, other than to
just change the defaults.  Changing shells can measurably increase
performance (more than a few percent, around 10% for make world last I
checked, and much more than that for ports builds).

> I think that instead of fixing any problems, we introduced more. I'd
> prefer this is backed out and work is started on real fixes. Anyone that
> has ksh installed and want to use it can then use .SHELL. We can even
> make that make.conf controlled, if people want it...

This isn't a fix for .SHELL.  This is entirely different.  .SHELL does
not allow you to change the default shell nor the shell used to run
commands in some cases.

> -- 
> Marcel Moolenaar
>   mail: marcel@cup.hp.com / marcel@FreeBSD.org
>   tel:  (408) 447-4222

--
 Brian Fundakowski Feldman           \  FreeBSD: The Power to Serve!  /
 green@FreeBSD.org                    `------------------------------'



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0008191351290.60744-100000>