summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2005-03-04 12:52:32 +0000
committerPaul Smith <psmith@gnu.org>2005-03-04 12:52:32 +0000
commit28078b517a3151f18cf427be87600803251d732b (patch)
treed963a5674f982ccc6070f1596b8286239f84f5b8
parentcb2f20026908d5c6e48e2cd3e3e65b5f67498d02 (diff)
downloadgunmake-28078b517a3151f18cf427be87600803251d732b.tar.gz
- Missing docs for $|
- Update NEWS and AUTHORS files. - Fix support request #103195. - Apply patch #3679 - Fix handling of sys_siglist in autoconf/etc.
-rw-r--r--AUTHORS11
-rw-r--r--ChangeLog18
-rw-r--r--NEWS18
-rw-r--r--commands.c5
-rw-r--r--configure.in10
-rw-r--r--doc/make.texi19
-rw-r--r--function.c4
-rw-r--r--signame.c6
-rw-r--r--tests/ChangeLog4
9 files changed, 75 insertions, 20 deletions
diff --git a/AUTHORS b/AUTHORS
index 88d61c3..41f3054 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -6,6 +6,8 @@ GNU make development up to version 3.75 by:
Development starting with GNU make 3.76 by:
Paul D. Smith <psmith@gnu.org>
+ Additional development starting with GNU make 3.81 by:
+ Boris Kolpackov <boris@kolpackov.net>
GNU Make User's Manual
@@ -23,6 +25,7 @@ GNU make porting efforts:
Port to VMS by:
Klaus Kaempf <kkaempf@progis.de>
+ Hartmut Becker <Hartmut.Becker@hp.com>
Archive support/Bug fixes by:
John W. Eaton <jwe@bevo.che.wisc.edu>
Martin Zinser <zinser@decus.decus.de>
@@ -30,11 +33,13 @@ GNU make porting efforts:
Port to Amiga by:
Aaron Digulla <digulla@fh-konstanz.de>
-
- Port to MS-DOS (DJGPP) and MS-Windows 95/NT by:
+ Port to MS-DOS (DJGPP), OS/2, and MS-Windows (native/MinGW) by:
DJ Delorie <dj@delorie.com>
Rob Tulloh <rob_tulloh@tivoli.com>
Eli Zaretskii <eliz@is.elta.co.il>
+ Jonathan Grant <jg@jguk.org>
+ Andreas Beuning <andreas.buening@nexgo.de>
+ Earnie Boyd <earnie@uses.sf.net>
-----------------------------------
Other contributors:
@@ -47,7 +52,9 @@ Other contributors:
Jim Kelton <jim_kelton@tivoli.com>
David Lubbren <uhay@rz.uni-karlsruhe.de>
Tim Magill <tim.magill@telops.gte.com>
+ Markus Mauhart <qwe123@chello.at>
Greg McGary <greg@mcgary.org>
+ Thomas Riedl <thomas.riedl@siemens.com>
Han-Wen Nienhuys <hanwen@cs.uu.nl>
Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
Carl Staelin (Princeton University)
diff --git a/ChangeLog b/ChangeLog
index 485fb56..9897a2c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,9 @@
-Thu Mar 3 18:28:15 2005 Boris Kolpackov <boris@kolpackov.net>
+2005-03-04 Paul D. Smith <psmith@gnu.org>
+
+ * AUTHORS: Update.
+ * doc/make.texi (Automatic Variables): Document $|.
+
+2005-03-03 Boris Kolpackov <boris@kolpackov.net>
* read.c (record_files): Instead of substituting % with
actual stem value in dependency list replace it with $*.
@@ -11,7 +16,16 @@ Thu Mar 3 18:28:15 2005 Boris Kolpackov <boris@kolpackov.net>
in dependency list replace it with $*. This fixes stem
triple expansion bug.
-Tue Mar 1 10:12:20 2005 Boris Kolpackov <boris@kolpackov.net>
+2005-03-01 Paul D. Smith <psmith@gnu.org>
+
+ * commands.c (fatal_error_signal) [WINDOWS32]: Don't call kill()
+ on Windows, as it takes a handle not a pid. Just exit.
+ Fix from patch #3679, provided by Alessandro Vesely.
+
+ * configure.in: Update check for sys_siglist[] from autoconf manual.
+ * signame.c (strsignal): Update to use the new autoconf macro.
+
+2005-03-01 Boris Kolpackov <boris@kolpackov.net>
* read.c (record_files): Add a check for the list of prerequisites
of a static pattern rule being empty. Fixes Savannah bug #12180.
diff --git a/NEWS b/NEWS
index eb5a226..5b26b3b 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,6 @@
GNU make NEWS -*-indented-text-*-
History of user-visible changes.
- 16 February 2005
+ 3 March 2005
Copyright (C) 2002,2003,2004,2005 Free Software Foundation, Inc.
See the end for copying conditions.
@@ -10,12 +10,24 @@ manual, which is contained in this distribution as the file doc/make.texi.
See the README file and the GNU make manual for instructions for
reporting bugs.
-Version 3.81beta2
+Version 3.81beta3
* GNU make is ported to OS/2.
* GNU make is ported to MinGW.
+* WARNING: Backward-incompatibility!
+ GNU make now implements a generic "second expansion" feature on the
+ prerequisites of both explicit and implicit (pattern) targets. After
+ the rule has been parsed, the prerequisites are expanded a second
+ time, this time with all the automatic variables in scope. This means
+ that in addition to using standard SysV $$@ in prerequisites lists,
+ you can also use complex functions such as $$(patsubst f%r,b%o,$$@) etc.
+ This behavior applies to implicit rules, as well, where the second
+ expansion occurs after the rule is matched.
+ However, this means that you need to double-quote any "$" in your
+ filenames; instead of "foo: boo$$bar" you must write "foo: foo$$$$bar"
+
* New command-line option: -L (--check-symlink-times). On systems that
support symbolic links, if this option is given then GNU make will
use the most recent modification time of any symbolic links that are
@@ -41,6 +53,8 @@ Version 3.81beta2
- .DEFAULT_TARGET: Contains the name of the default target make will
use if no targets are provided on the command line. It can be set
to change the default target.
+ - New automatic variable: $| (added in 3.80, actually): contains all
+ the order-only prerequisites defined for the target.
* New functions available in this release:
- $(lastword ...) returns the last word in the list. This gives
diff --git a/commands.c b/commands.c
index 97ec981..813610c 100644
--- a/commands.c
+++ b/commands.c
@@ -481,10 +481,15 @@ fatal_error_signal (int sig)
exit (EXIT_FAILURE);
#endif
+#ifdef WINDOWS32
+ /* Cannot call W32_kill with a pid (it needs a handle) */
+ exit (EXIT_FAILURE);
+#else
/* Signal the same code; this time it will really be fatal. The signal
will be unblocked when we return and arrive then to kill us. */
if (kill (getpid (), sig) < 0)
pfatal_with_name ("kill");
+#endif /* not WINDOWS32 */
#endif /* not Amiga */
#endif /* not __MSDOS__ */
}
diff --git a/configure.in b/configure.in
index 4bd77ef..4d09f85 100644
--- a/configure.in
+++ b/configure.in
@@ -1,6 +1,6 @@
# Process this file with autoconf to produce a configure script.
-AC_INIT([GNU make],[3.81rc1],[bug-make@gnu.org])
+AC_INIT([GNU make],[3.81beta3],[bug-make@gnu.org])
AC_PREREQ(2.59)
AC_REVISION([[$Id$]])
@@ -167,7 +167,13 @@ if test "$ac_cv_header_nlist_h" = yes; then
fi
fi
-AC_CHECK_DECLS([sys_siglist])
+AC_CHECK_DECLS([sys_siglist],,,
+[#include <signal.h>
+/* NetBSD declares sys_siglist in unistd.h. */
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+])
# Check out the wait reality.
diff --git a/doc/make.texi b/doc/make.texi
index c6f4c1a..0ecd35a 100644
--- a/doc/make.texi
+++ b/doc/make.texi
@@ -5942,10 +5942,11 @@ returns @samp{bar}.
@cindex selecting word lists
Returns the list of words in @var{text} starting with word @var{s} and
ending with word @var{e} (inclusive). The legitimate values of @var{s}
-and @var{e} start from 1. If @var{s} is bigger than the number of words
-in @var{text}, the value is empty. If @var{e} is bigger than the number
-of words in @var{text}, words up to the end of @var{text} are returned.
-If @var{s} is greater than @var{e}, nothing is returned. For example,
+start from 1; @var{e} may start from 0. If @var{s} is bigger than the
+number of words in @var{text}, the value is empty. If @var{e} is
+bigger than the number of words in @var{text}, words up to the end of
+@var{text} are returned. If @var{s} is greater than @var{e}, nothing
+is returned. For example,
@example
$(wordlist 2, 3, foo bar baz)
@@ -8496,7 +8497,9 @@ prerequisites which are archive members, only the member named is used
(@pxref{Archives}). A target has only one prerequisite on each other file
it depends on, no matter how many times each file is listed as a
prerequisite. So if you list a prerequisite more than once for a target,
-the value of @code{$^} contains just one copy of the name.
+the value of @code{$^} contains just one copy of the name. This list
+does @strong{not} contain any of the order-only prerequisites; for those
+see the @samp{$|} variable, below.
@cindex prerequisites, list of all
@cindex list of all prerequisites
@@ -8508,6 +8511,12 @@ duplicated in the order they were listed in the makefile. This is
primarily useful for use in linking commands where it is meaningful to
repeat library file names in a particular order.
+@vindex $|
+@vindex | @r{(automatic variable)}
+@item $|
+The names of all the order-only prerequisites, with spaces between
+them.
+
@vindex $*
@vindex * @r{(automatic variable)}
@item $*
diff --git a/function.c b/function.c
index c2bd16f..983df74 100644
--- a/function.c
+++ b/function.c
@@ -772,8 +772,8 @@ func_wordlist (char *o, char **argv, const char *funcname UNUSED)
start = atoi (argv[0]);
if (start < 1)
- fatal (reading_file, "invalid first argument to `wordlist' function: '%d'",
- message, start);
+ fatal (reading_file,
+ "invalid first argument to `wordlist' function: `%d'", start);
count = atoi (argv[1]) - start + 1;
diff --git a/signame.c b/signame.c
index 432c312..a6c2a38 100644
--- a/signame.c
+++ b/signame.c
@@ -27,7 +27,7 @@ Boston, MA 02111-1307, USA. */
Otherwise create our own.
*/
-#if !defined(SYS_SIGLIST_DECLARED)
+#if !defined(HAVE_DECL_SYS_SIGLIST)
/* Some systems do not define NSIG in <signal.h>. */
#ifndef NSIG
@@ -226,7 +226,7 @@ signame_init (void)
return 1;
}
-#endif /* SYS_SIGLIST_DECLARED */
+#endif /* HAVE_DECL_SYS_SIGLIST */
char *
@@ -234,7 +234,7 @@ strsignal (int signal)
{
static char buf[] = "Signal 12345678901234567890";
-#if !defined(SYS_SIGLIST_DECLARED)
+#if !defined(HAVE_DECL_SYS_SIGLIST)
static char sig_initted = 0;
if (!sig_initted)
diff --git a/tests/ChangeLog b/tests/ChangeLog
index a371f89..cffcb2d 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,4 +1,4 @@
-Thu Mar 3 18:34:06 2005 Boris Kolpackov <boris@kolpackov.net>
+2005-03-03 Boris Kolpackov <boris@kolpackov.net>
* scripts/features/se_implicit: Add a test for stem
termination bug. Add a test for stem triple-expansion bug.
@@ -10,7 +10,7 @@ Thu Mar 3 18:34:06 2005 Boris Kolpackov <boris@kolpackov.net>
new way empty prerequisite list is handled.
-Tue Mar 1 10:15:25 2005 Boris Kolpackov <boris@kolpackov.net>
+2005-03-01 Boris Kolpackov <boris@kolpackov.net>
* scripts/features/statipattrules: Add a test for
Savannah bug #12180.