bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Substitution of SHELL and CONFIG_SHELL


From: Alexandre Duret-Lutz
Subject: Re: Substitution of SHELL and CONFIG_SHELL
Date: Sun, 15 Feb 2004 21:38:02 +0100
User-agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux)

>>> "Paul" == Paul Eggert <address@hidden> writes:

 Paul> address@hidden (Niels Möller) writes:
 >> When running configure generated by autoconf-2.59 on Solaris,
 >> CONFIG_SHELL gets set to /bin/bash, which is ok. But then the value
 >> somehow leaks over to SHELL, resulting in
 >> 
 >> SHELL=/bin/bash
 >> 
 >> being substituted into all my Makefiles. Is there a good reason for
 >> that? Rules in Makefiles are generally written for /bin/sh, and unlike
 >> configure, speed and availability of $LINENO doesn't really matter.
 >> So I would generally feel a lot more comfortable with SHELL=/bin/sh in
 >> the Makefiles.
 >> 
 >> I noticed this because only because one user couldn't got bash errors
 >> when running make, and it turned out he had a set -u in his .bashrc.
 >> To me, doing that unconditionally in .bashrc seems like a very broken
 >> thing to do,

Sorry if I'm missing something obvious, but why was `.bashrc'
read at all?  I though it was only read by interactive shells.

[...]

 Paul> The change to Autoconf to use 'address@hidden@' rather than
 Paul> 'SHELL=/bin/sh' was done a long time ago:

 Paul> Wed Sep  3 23:00:44 1997  Chris Provenzano  <address@hidden>

 Paul> * configure : New configure generated by autoconf.
 Paul> * Makefile.in : Set address@hidden@. configure now substiutes
 Paul> ${CONFIG_SHELL-/bin/sh} in for @SHELL@ at configure time.

It was changed from /bin/sh to @SHELL@ by the same person in Automake.

Mon Sep 11 16:07:55 1997  Chris Provenzano <address@hidden>

        * header-vars.am: address@hidden@

[...]

 Paul> Also, perhaps this is more of an Automake issue rather than an
 Paul> Autoconf issue?  That is, either the GNU coding standards should be
 Paul> changed, or Automake should be changed to output "SHELL = /bin/sh"
 Paul> rather than "SHELL = @SHELL@" into Makefile.in.  (Or perhaps it should
 Paul> be changed to "SHELL = @MAKE_SHELL@" so that we could distinguish the
 Paul> two uses of shells.)

Hmmm, what are these two uses?  It seems preferable to me not to
multiply the number of shells in use.  What is good for
configure ought to be good for make.
-- 
Alexandre Duret-Lutz





reply via email to

[Prev in Thread] Current Thread [Next in Thread]