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>