Date: Sun, 20 May 2001 00:53:17 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> To: Akinori MUSHA <knu@iDaemons.org> Cc: Maxim Sobolev <sobomax@FreeBSD.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/usr.bin/make Makefile Message-ID: <Pine.BSF.4.21.0105200013500.36447-100000@besplex.bde.org> In-Reply-To: <86ofsqejx6.wl@archon.local.idaemons.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 19 May 2001, Akinori MUSHA wrote: > Speaking of speed increase, does anybody object against MFC'ing this? > This allows you to use /bin/ksh instead of the default of /bin/sh. Yes. The DEFSHELL stuff is wrong even in -current. It complicates fixing the documented and required ways for controlling the shell: Documented way: there is a shell variable named .SHELL, and ".SHELL: path=/somewhere/someshell" is documented to set the shell. See /usr/share/doc/psd/12.make/*. This seems to be broken. Required (POSIX spec) way: (an old draft of) POSIX.2 says: --- The SHELL macro shall be treated specially. It shall be provided by make and set to the pathname of the shell command language interpreter (see sh in 4.56). The SHELL environment variable shall not affect the value of the SHELL macro. If SHELL is defined in the makefile or is specified on the command line, it shall replace the original value of the SHELL macro, but shall not affect the SHELL environment variable. Other effects of defining SHELL in the makefile or on the command line are implementation defined. ... The historical MAKESHELL feature was omitted. In some implementations it is used to provide a way of letting a user override the shell to be used to run make commands. This was confusing; for a portable make, the shell should be chosen by the makefile writer or specified on the make command line and not by a user running make. --- This is certainly broken -- make(1) treats the SHELL macro non-specially. Bruce 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.0105200013500.36447-100000>