]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Tweak wording about SHELL in Makefile.
authorEric Blake <ebb9@byu.net>
Wed, 9 Apr 2008 18:09:45 +0000 (12:09 -0600)
committerEric Blake <ebb9@byu.net>
Thu, 21 Aug 2008 15:25:55 +0000 (09:25 -0600)
* doc/autoconf.texi (The Make Macro SHELL): Stronger wording on
the importance of proper SHELL settings.
Reported by Bruno Haible, in
http://lists.gnu.org/archive/html/bug-libtool/2008-04/msg00029.html.

Signed-off-by: Eric Blake <ebb9@byu.net>
ChangeLog
doc/autoconf.texi

index 7fdd8977ef67fbd2d1b4bea497eeeb6e4e8ec469..9b396f91f42783dbc9a07c58fa8af3badc56f9d2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-08-21  Eric Blake  <ebb9@byu.net>
+
+       Tweak wording about SHELL in Makefile.
+       * doc/autoconf.texi (The Make Macro SHELL): Stronger wording on
+       the importance of proper SHELL settings.
+       Reported by Bruno Haible, in
+       http://lists.gnu.org/archive/html/bug-libtool/2008-04/msg00029.html.
+
 2008-08-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        Avoid timestamp races for updated input.
index 865f25bbaf3e61b15fbd30921cdeb8daaf4a05c0..5e5c1ae6ba9480b8dbbaa4069355fb58c29701c6 100644 (file)
@@ -16327,13 +16327,22 @@ your makefiles.  If you use Autoconf, do
 SHELL = @@SHELL@@
 @end example
 
+@noindent
+If you use Automake, this is done for you.
+
 Do not force @code{SHELL = /bin/sh} because that is not correct
-everywhere.  For instance @acronym{DJGPP} lacks @code{/bin/sh}, and when
-its @acronym{GNU} @code{make} port sees such a setting it enters a special
-emulation mode where features like pipes and redirections are emulated
-on top of DOS's @command{command.com}.  Unfortunately this emulation is
-incomplete; for instance it does not handle command substitutions.
-On @acronym{DJGPP} @code{SHELL} should point to Bash.
+everywhere.  Remember, @file{/bin/sh} is not Posix compliant on many
+systems, such as FreeBSD 4, NetBSD 3, AIX 3, Solaris 10, or Tru64.
+Additionally, @acronym{DJGPP} lacks @code{/bin/sh}, and when its
+@acronym{GNU} @command{make} port sees such a setting it enters a
+special emulation mode where features like pipes and redirections are
+emulated on top of DOS's @command{command.com}.  Unfortunately this
+emulation is incomplete; for instance it does not handle command
+substitutions.  Using @code{@@SHELL@@} means that your makefile will
+benefit from the same improved shell, such as @command{bash} or
+@command{ksh}, that was discovered during @command{configure}, so that
+you aren't fighting two different sets of shell bugs between the two
+contexts.
 
 Posix-compliant @command{make} should never acquire the value of
 $(SHELL) from the environment, even when @code{make -e} is used