]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
* doc/autoconf.texi (Limitations of Make): Update documentation
authorAlexandre Duret-Lutz <adl@gnu.org>
Wed, 21 Apr 2004 08:23:18 +0000 (08:23 +0000)
committerAlexandre Duret-Lutz <adl@gnu.org>
Wed, 21 Apr 2004 08:23:18 +0000 (08:23 +0000)
for `$<'.  New entry `Long lines', based on a report from Simon
Josefsson.  Augment the documentation for SHELL = @SHELL@ with a
paragraph about DJGPP, based on a mail from Richard Dawe.

ChangeLog
doc/autoconf.texi

index 1372b050933a5160c6b06edc0ac6352e0e396246..141b5413577575c5e3f137a1d389ea28f0118086 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-04-21  Alexandre Duret-Lutz  <adl@gnu.org>
+
+       * doc/autoconf.texi (Limitations of Make): Update documentation
+       for `$<'.  New entry `Long lines', based on a report from Simon
+       Josefsson.  Augment the documentation for SHELL = @SHELL@ with a
+       paragraph about DJGPP, based on a mail from Richard Dawe.
+
 2004-04-20  Paul Eggert  <eggert@twinsun.com>
 
        * tests/c.at (C keywords): Don't assume that GCC supports
index 09a7bfacadad3070f37e5fb79b3c460e0f8abadf..fb9b83422e10d3d1102822d0f1d3f54e186f5ab6 100644 (file)
@@ -11602,10 +11602,11 @@ are executed by the shell, all its weaknesses are inherited@enddots{}
 
 @table @asis
 @item @code{$<}
-@acronym{POSIX} says that the @samp{$<} construct in makefiles can be used
-only in inference rules and in the @samp{.DEFAULT} rule; its meaning in
-ordinary rules is unspecified.  Solaris 8's @command{make} for instance
-will replace it with the argument.
+@acronym{POSIX} says that the @samp{$<} construct in makefiles can be
+used only in inference rules and in the @samp{.DEFAULT} rule; its
+meaning in ordinary rules is unspecified.  Solaris 8's @command{make}
+for instance will replace it with the empty string.  OpenBSD (3.0 and
+later) @command{make} will diagnose these uses and error out.
 
 @item Leading underscore in macro names
 Some @command{make}s don't support leading underscores in macro names,
@@ -11687,6 +11688,13 @@ line with @code{#}, not only the first.
 #     baz
 @end example
 
+@item Long lines.
+
+OSF/1 4.0d's @command{make} cannot process @file{Makefile}s with lines
+longer than 38912 bytes.  It exits with a @code{Line too long}
+diagnostic.  A later version, Tru64 5.1's @command{make} has been
+reported to crash with lines around 20KB.
+
 @item @code{make macro=value} and sub-@command{make}s.
 
 A command-line variable definition such as @code{foo=bar} overrides any
@@ -11774,6 +11782,14 @@ your @file{Makefile}s.  If you use Autoconf, do
 SHELL = @@SHELL@@
 @end example
 
+Do not force @code{SHELL = /bin/sh} because that is not correct
+everywhere.  For instance there is no @code{/bin/sh} in DJGPP, and when
+its 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 DJGPP @code{SHELL} should point the port of Bash.
+
 @acronym{POSIX}-compliant @command{make}s should never acquire the value of
 $(SHELL) from the environment, even when @code{make -e} is used
 (otherwise, think about what would happen to your rules if