/[make]/make/ChangeLog
ViewVC logotype

Contents of /make/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2.222 - (show annotations) (download)
Mon Nov 3 22:04:09 2003 UTC (20 years, 6 months ago) by psmith
Branch: MAIN
Changes since 2.221: +21 -0 lines
Added MINGW32 changes.

This commits a number of changes from Earnie Boyd that allows GNU make
to build for MINGW32 systems.  Only missing from this commit are the
changes to configure.in etc.; I'm waiting for Earnie to sign papers for
those new files.

Also not here is any README.mingw32 etc. which would explain how to use
this port.

1 2003-10-21 Paul D. Smith <psmith@gnu.org>
2
3 * main.c (log_working_directory): Add newlines to printf()s.
4
5 * README.cvs: Add a note to ignore warnings during autoreconf.
6
7 * maintMakefile (po_repo): Set a new URL for PO file updates.
8 (get-config/config.guess get-config/config.sub): Get these files
9 from the Savannah config project instead of ftp.gnu.org.
10
11 2003-07-18 Paul D. Smith <psmith@gnu.org>
12
13 * dir.c (directory_contents_hash_1, directory_contents_hash_1)
14 [WINDOWS32]: Initialize hash.
15
16 2003-06-19 Earnie Boyd <earnie@uses.sf.net>
17
18 * dir.c (read_dirstream): Provide a workaround for broken versions of
19 the MinGW dirent structure.
20
21 2003-05-30 Earnie Boyd <earnie@users.sf.net>
22
23 * w32/include/dirent.h: Add __MINGW32__ filter.
24
25 2003-05-30 Earnie Boyd <earnie@users.sf.net>
26
27 * make.h: Add global declaration of *make_host.
28 * main.c (print_usage): Remove local declaration of *make_host.
29 (print_version): Display "This program built for ..." after Copyright
30 notice.
31
32 2003-05-30 Earnie Boyd <earnie@users.sf.net>
33
34 * doc/make.texi: Change "ifinfo" to "ifnottex" as suggested by the
35 execution of "makeinfo --html make.texi".
36
37 2003-04-30 Paul D. Smith <psmith@gnu.org>
38
39 * build.template: Make some changes to maybe allow this script to
40 work on DOS/Windows/OS2 systems. Suggested by Andreas Buening.
41
42 * README.OS2.template: New file for OS/2 support. Original
43 contributed by Andreas Buening.
44 * configure.in: Invoke new pds_AC_DOS_PATHS macro to test for
45 DOS-style paths.
46
47 2003-04-19 Paul D. Smith <psmith@gnu.org>
48
49 Fix bug #1405: allow a target to match multiple pattern-specific
50 variables.
51
52 * rule.c (create_pattern_var, lookup_pattern_var): Move these to
53 variable.c, where they've always belonged.
54 * rule.h: Move the prototypes and struct pattern_var as well.
55 * variable.c (initialize_file_variables): Invoke
56 lookup_pattern_var() in a loop, until no more matches are found.
57 If a match is found, create a new variable set for the target's
58 pattern variables. Then merge the contents of each matching
59 pattern variable set into the target's pattern variable set.
60 (lookup_pattern_var): Change this function to be usable
61 in a loop. It takes a starting position: if NULL, start at the
62 beginning; if non-NULL, start with the pattern variable after that
63 position, and return the next matching pattern.
64 (create_pattern_var): Create a unique instance of
65 pattern-specific variables for every definition in the makefile.
66 Don't combine the same pattern together. This allows us to
67 process the variable handling properly even when the same pattern
68 is used multiple times.
69 (parse_variable_definition): New function: break out the parsing
70 of a variable definition line from try_variable_definition.
71 (try_variable_definition): Call parse_variable_definition to
72 parse.
73 (print_variable_data_base): Print out pattern-specific variables.
74 * variable.h (struct variable): Remember when a variable is
75 conditional. Also remember its flavor.
76 (struct pattern_var): Instead of keeping a variable set, we just
77 keep a single variable for each pattern.
78 * read.c (record_target_var): Each pattern variable contains only a
79 single variable, not a set, so create it properly.
80 * doc/make.texi (Pattern-specific): Document the new behavior.
81
82 2003-04-17 Paul D. Smith <psmith@gnu.org>
83
84 * dir.c (file_exists_p) [VMS]: Patch provided with Bug #3018 by
85 Jean-Pierre Portier <portierjp2@free.fr>. I don't understand the
86 file/directory naming rules for VMS so I can't tell whether this
87 is correct or not.
88
89 2003-04-09 Paul D. Smith <psmith@gnu.org>
90
91 * configure.in (HAVE_DOS_PATHS): Define this on systems that need
92 DOS-style pathnames: backslash separators and drive specifiers.
93
94 2003-03-28 Paul D. Smith <psmith@gnu.org>
95
96 * file.c (snap_deps): If .SECONDARY with no targets is given, set
97 the intermediate flag on all targets. Fixes bug #2515.
98
99 2003-03-24 Paul D. Smith <psmith@gnu.org>
100
101 * configure.in, Makefile.am, glob/Makefile.am, doc/Makefile.am:
102 Upgrade to autoconf 2.57 and automake 1.7.3.
103
104 * job.c: More OS/2 changes from Andreas Buening.
105
106 * file.c (print_file): Fix variable initialization.
107 Fixes bug #2892.
108
109 * remake.c (notice_finished_file):
110
111 * make.h (ENULLLOOP): Set errno = 0 before invoking the command;
112 some calls (like readdir()) return NULL in valid situations
113 without resetting errno. Fixes bug #2846.
114
115 2003-02-25 Paul D. Smith <psmith@gnu.org>
116
117 Port to OS/2 (__EMX__) by Andreas Buening <andreas.buening@nexgo.de>.
118
119 * job.c (_is_unixy_shell) [OS/2]: New function.
120 Set default shell to /bin/sh.
121 (reap_children): Close the job_rfd pipe here since we don't use a
122 SIGCHLD handler.
123 (set_child_handler_action_flags): define this to empty on OS/2.
124 (start_job_command): Close the jobserver pipe and use
125 child_execute_job() instead of fork/exec.
126 (child_execute_job): Rewrite to handle stdin/stdout FDs and spawn
127 rather than exec'ing, then reconfigure stdin/stdout.
128 (exec_command): Rewrite to use spawn instead of exec. Return the
129 PID of the child.
130
131 * main.c (main) [OS/2]: Call initialize_main(). Handle argv[0] as
132 in DOS. Handle the TEMP environment variable as in DOS. Don't
133 use a SIGCHLD handler on OS/2. Choose a shell as in DOS. Don't
134 use -j in DOS mode. Use child_execute_job() instead of
135 exec_command().
136
137 * function.c (func_shell) [OS/2]: Can't use fork/exec on OS/2: use
138 spawn() instead.
139
140 * job.h [OS/2]: Move CLOSE_ON_EXEC here from job.c. Add
141 prototypes that return values.
142
143 * remake.c (f_mtime) [OS/2]: Handle FAT timestamp offsets for OS/2.
144
145 * read.c (readline) [OS/2]: Don't handle CRLF specially on OS/2.
146 * default.c (default_suffixes) [OS/2]: Set proper default suffixes
147 for OS/2.
148 * vpath.c (construct_vpath_list) [OS/2]: Handle OS/2 paths like
149 DOS paths.
150
151 2003-02-24 Paul D. Smith <psmith@gnu.org>
152
153 * default.c [VMS]: New default rules for .cxx -> .obj compiles.
154 * job.c (child_execute_job) [VMS]: New code for handling spawn().
155 (child_execute_job) [VMS]: Handle error status properly.
156 Patches provided by Hartmut Becker <Hartmut.Becker@compaq.com>.
157
158 * function.c (func_shell): Use EINTRLOOP() while reading from the
159 subshell pipe (Fixes bug #2502).
160 * job.c (free_child): Use EINTRLOOP() while writing tokens to the
161 jobserver pipe.
162 * main.c (main): Ditto.
163
164 2003-01-30 Paul D. Smith <psmith@gnu.org>
165
166 * read.c (eval): eval() was not fully reentrant, because the
167 collapsed buffer was static. Change it to be an automatic
168 variable so that eval() can be invoked recursively.
169 Fixes bug # 2238.
170 (eval): Apply patch # 1022: fix memory reference error on long
171 target-specific variable lines.
172 Patch provided by Steve Brown <Steve.Brown@macquarie.com>.
173
174 * function.c (check_numeric): Combine the is_numeric() function
175 into this function, since it's only called from one place.
176 Constify this function. Have it print the incorrect string in the
177 error message. Fixes bug #2407.
178 (strip_whitespace): Constify.
179 (func_if): Constify.
180 * expand.c (expand_argument): Constify.
181
182 2003-01-29 Paul D. Smith <psmith@gnu.org>
183
184 Fix bug # 2169, also reported by other people on various systems.
185
186 * make.h: Some systems, such as Solaris and PTX, do not fully
187 implement POSIX-compliant SA_RESTART functionality; important
188 system calls like stat() and readdir() can still fail with EINTR
189 even if SA_RESTART has been set on the signal handler. So,
190 introduce macros EINTRLOOP() and ENULLLOOP() which can loop on
191 EINTR for system calls which return -1 or 0 (NULL), respectively,
192 on error.
193 Also, remove the old atomic_stat()/atomic_readdir() and
194 HAVE_BROKEN_RESTART handling.
195
196 * configure.in: Remove setting of HAVE_BROKEN_RESTART.
197
198 * arscan.c (ar_member_touch): Use EINTRLOOP() to wrap fstat().
199 * remake.c (touch_file): Ditto.
200
201 * commands.c (delete_target): Use EINTRLOOP() to wrap stat().
202 * read.c (construct_include_path): Ditto.
203 * remake.c (name_mtime): Ditto.
204 * vpath.c (selective_vpath_search): Ditto.
205 * dir.c (find_directory): Ditto.
206 (local_stat): Ditto.
207 (find_directory): Use ENULLLOOP() to wrap opendir().
208 (dir_contents_file_exists_p): Use ENULLLOOP() to wrap readdir().
209
210 * misc.c: Remove HAVE_BROKEN_RESTART, atomic_stat(), and
211 atomic_readdir() handling.
212
213 2003-01-22 Paul D. Smith <psmith@gnu.org>
214
215 * function.c (func_call): Fix Bug #1744. If we're inside a
216 recursive invocation of $(call ...), mask any of the outer
217 invocation's arguments that aren't used by this one, so that this
218 invocation doesn't "inherit" them accidentally.
219
220 2002-12-05 Paul D. Smith <psmith@gnu.org>
221
222 * function.c (subst_expand): Valery Khamenia reported a
223 pathological performance hit when doing substitutions on very
224 large values with lots of words: turns out we were invoking
225 strlen() a ridiculous number of times. Instead of having each
226 call to sindex() call strlen() again, keep track of how much of
227 the text we've seen and pass the length to sindex().
228
229 2002-11-19 Paul D. Smith <psmith@gnu.org>
230
231 * README.cvs, configure.in: Upgrade to require autoconf 2.56.
232
233
234 2002-11-16 Paul D. Smith <psmith@gnu.org>
235
236 * NMakefile.template (OBJS): Add hash.c object file.
237 * SMakefile.template (srcs): Ditto.
238 * Makefile.ami (objs): Ditto.
239 * build_w32.bat: Ditto.
240
241 * Makefile.DOS.template: Remove extra dependencies.
242
243 2002-10-25 Paul D. Smith <psmith@gnu.org>
244
245 * expand.c (install_variable_buffer): New function. Install a new
246 variable_buffer context and return the previous one.
247 (restore_variable_buffer): New function. Free the current
248 variable_buffer context and put a previously saved one back.
249 * variable.h: Prototypes for {install,restore}_variable_buffer.
250 * function.c (func_eval): Push a new variable_buffer context
251 before we eval, then restore the old one when we're done.
252 Fixes Bug #1517.
253
254 * read.c (install_conditionals): New function. Install a new
255 conditional context and return the previous one.
256 (restore_conditionals): New function. Free the current
257 conditional context and put a previously saved one back.
258 (eval): Use the {install,restore}_conditionals for "include"
259 handling.
260 (eval_buffer): Use {install,restore}_conditionals to preserve the
261 present conditional state before we evaluate the buffer.
262 Fixes Bug #1516.
263
264 * doc/make.texi (Quick Reference): Add references to $(eval ...)
265 and $(value ...).
266 (Recursion): Add a variable index entry for CURDIR.
267
268 * README.cvs: Update to appropriate versions.
269 * Makefile.am (nodist_loadavg_SOURCES): automake gurus point out I
270 don't need to copy loadavg.c: automake is smart enough to create
271 it for me. Still have a bug in automake related to ansi2knr tho.
272
273 2002-10-14 Paul D. Smith <psmith@gnu.org>
274
275 * remake.c (notice_finished_file): Only touch targets if they have
276 at least one command (as per POSIX). Resolve Bug #1418.
277
278 * *.c: Convert to using ANSI C-style function definitions.
279 * Makefile.am: Enable the ansi2knr feature of automake.
280 * configure.in: ditto.
281
282 2002-10-13 Paul D. Smith <psmith@gnu.org>
283
284 * commands.c (set_file_variables): Bug #1379: Don't use alloca()
285 for automatic variable values like $^, etc. In the case of very
286 large lists of prerequisites this causes problems. Instead reuse
287 a static buffer (resizeable) for each variable.
288
289 * read.c (eval): Fix Bug #1391: allow "export" keyword in
290 target-specific variable definitions. Check for it and set an
291 "exported" flag.
292 (record_target_var): Set the export field to v_export if the
293 "exported" flag is set.
294 * doc/make.texi (Target-specific): Document the ability to use
295 "export".
296
297 * doc/make.texi: Change the name of the section on automatic
298 variables from "Automatic" to "Automatic Variables". Added text
299 clarifying the scope of automatic variables.
300
301 2002-10-04 Paul D. Smith <psmith@gnu.org>
302
303 * read.c (eval): Allow SysV $$@ variables to use {} braces as well
304 as () braces.
305 (record_files): Ditto.
306
307 * expand.c (variable_expand_string): In $(A:x=y) expansion limit
308 the search for the '=' to only within the enclosing parens.
309
310 2002-10-03 Paul D. Smith <psmith@gnu.org>
311
312 Version 3.80 released.
313
314 * dir.c: Change hash functions to use K&R function definition style.
315 * function.c: Ditto.
316 * read.c: Ditto.
317 * variable.c: Ditto.
318
319 Update to automake 1.7.
320
321 * Makefile.am (AUTOMAKE_OPTIONS): Update to require 1.7.
322 (pdf): Remove this target as automake now provides one.
323
324 * configure.in: Change AM_CONFIG_HEADER to AC_CONFIG_HEADERS.
325
326 2002-09-30 Martin P.J. Zinser <zinser@decus.de>
327
328 * makefile.com: Updates for GNU make 3.80.
329 * makefile.vms: Ditto.
330
331 2002-09-23 Paul D. Smith <psmith@gnu.org>
332
333 * read.c (enum make_word_type): Remove w_comment.
334 (get_next_mword): Don't treat comment characters as special; where
335 this function is used we will never see a comment (it's stripped
336 before we get here) and treating comments specially means that
337 targets like "foo\#bar" aren't handled properly.
338
339 2002-09-18 Paul D. Smith <psmith@gnu.org>
340
341 * doc/make.texi (Bugs): Update with some info on Savannah, etc.
342
343 * read.c (eval): Expansion of arguments to export/unexport was
344 ignoring all arguments after the first one. Change the algorithm
345 to expand the whole line once, then parse the results.
346
347 2002-09-17 Paul D. Smith <psmith@gnu.org>
348
349 Fix Bug #940 (plus another bug I found while looking at this):
350
351 * read.c (record_target_var): enter_file() will add a new entry if
352 it's a double-colon target: we don't want to do that in this
353 situation. Invoke lookup_file() and only enter_file() if it does
354 not already exist. If the file we get back is a double-colon then
355 add this variable to the "root" double-colon target.
356
357 * variable.c (initialize_file_variables): If this file is a
358 double-colon target but is not the "root" target, then initialize
359 the root and make the root's variable list the parent of our
360 variable list.
361
362 2002-09-13 Paul D. Smith <psmith@gnu.org>
363
364 * doc/make.texi (MAKE Variable): Add some indexing for "+".
365
366 * hash.c (round_up_2): Get rid of a warning.
367
368 2002-09-12 Paul D. Smith <psmith@gnu.org>
369
370 * Makefile.am (loadavg_SOURCES, loadavg.c): Tiptoe around automake
371 so it doesn't complain about getloadavg.c.
372
373 * commands.c (set_file_variables): Make sure we always alloca() at
374 least 1 character for the value of $? (for '\0').
375
376 2002-09-11 Paul D. Smith <psmith@gnu.org>
377
378 * hash.h (STRING_COMPARE, ISTRING_COMPARE, STRING_N_COMPARE): Fix
379 macro to use RESULT instead of the incorrect _RESULT_.
380
381 * make.h (HAVE_BROKEN_RESTART): Add prototypes for atomic_stat()
382 and atomic_readdir(). We need to #include dirent.h to get this to
383 work.
384 * misc.c (atomic_readdir): Fix typos.
385
386 2002-09-10 Paul D. Smith <psmith@gnu.org>
387
388 * read.c (eval): Expand variable lists given to export and
389 unexport, so that "export $(LIST_OF_VARIABLES)" (etc.) works.
390 (conditional_line): Ditto for "ifdef". Fixes bug #103.
391
392 * doc/make.texi (Variables/Recursion): Document this.
393 (Conditional Syntax): And here.
394
395 2002-09-09 Paul D. Smith <psmith@gnu.org>
396
397 * configure.in: Check for memmove().
398
399 2002-09-07 Paul D. Smith <psmith@gnu.org>
400
401 * configure.in (HAVE_BROKEN_RESTART): Define this on PTX systems;
402 Michael Sterrett <msterret@coat.com> reports that while it has
403 SA_RESTART, it does not work properly.
404
405 * misc.c (atomic_stat): If HAVE_BROKEN_RESTART, create a function
406 that invokes stat() and loops to do it again if it returns EINTR.
407 (atomic_readdir): Ditto, with readdir().
408
409 * make.h (stat, readdir): If HAVE_BROKEN_RESTART, alias stat()
410 and readdir() to atomic_stat() and atomic_readdir().
411
412 2002-09-04 Paul D. Smith <psmith@gnu.org>
413
414 * implicit.c (pattern_search): Daniel <barkalow@reputation.com>
415 reports that GNU make sometimes doesn't recognize that targets can
416 be made, when directories can be created as prerequisites. He
417 reports that changing the order of predicates in the DEP->changed
418 flag test so that lookup_file() is always performed, solves this
419 problem.
420
421 2002-08-08 Paul D. Smith <psmith@gnu.org>
422
423 * configure.in: Require a newer version of gettext.
424
425 * misc.c (perror_with_name): Translate the format string (for
426 right-to-left language support).
427 (pfatal_with_name): Ditto.
428
429 * main.c: Create a static array of strings to store the usage
430 text. This is done to facilitate translations.
431 (struct command_switch): Remove argdesc and description fields.
432 (switches): Remove values for obsolete fields.
433 (print_usage): Print each element of the usage array.
434
435 * hash.c: Change function definitions to be K&R style.
436
437 2002-08-02 Paul D. Smith <psmith@gnu.org>
438
439 * NEWS: Remove the mention of .TARGETS; we aren't going to publish
440 this one because it's too hard to get right. We'll look at it for
441 a future release.
442 * main.c (main): Don't create the .TARGETS variable.
443 * variable.c (handle_special_var): Don't handle .TARGETS.
444
445 2002-08-01 Paul D. Smith <psmith@gnu.org>
446
447 * main.c (switches): Add a new option, -B (--always-make). If
448 specified, make will rebuild all targets that it encounters even
449 if they don't appear to be out of date.
450 (always_make_flag): New flag.
451 * make.h: Extern always_make_flag.
452 * remake.c (update_file_1): Check always_make_flag; if it's set we
453 will always rebuild any target we can, even if none of its
454 prerequisites are newer.
455 * NEWS: Mention it.
456
457 * doc/make.texi (Shell Function): Make it clear that make
458 variables marked as "export" are not passed to instances of the
459 shell function.
460
461 Add new introspection variable .VARIABLES and .TARGETS.
462
463 * variable.c (handle_special_var): New function. If the variable
464 reference passed in is "special" (.VARIABLES or .TARGETS),
465 calculate the new value if necessary. .VARIABLES is handled here:
466 walk through the hash of defined variables and construct a value
467 which is a list of the names. .TARGETS is handled by
468 build_target_list().
469 (lookup_variable): Invoke handle_special_var().
470 * file.c (build_target_list): Walk through the hask of known files
471 and construct a list of the names of all the ones marked as
472 targets.
473 * main.c (main): Initialize them to empty (and as simple variables).
474 * doc/make.texi (Special Variables): Document them.
475 * NEWS: Mention them.
476
477 * variable.h (struct variable): Add a new flag "exportable" which
478 is true if the variable name is valid for export.
479 * variable.c (define_variable_in_set): Set "exportable" when a new
480 variable is defined.
481 (target_environment): Use the "exportable" flag instead of
482 re-checking the name here... an efficiency improvement.
483
484 2002-07-31 Paul D. Smith <psmith@gnu.org>
485
486 * config.h-vms.template: Updates to build on VMS. Thanks to
487 Brian_Benning@aksteel.com for helping verify the build.
488 * makefile.com: Build the new hash.c file.
489 * hash.h: Use strcpmi(), not stricmp(), in the
490 HAVE_CASE_INSENSITIVE_FS case.
491
492 2002-07-30 Paul D. Smith <psmith@gnu.org>
493
494 * hash.h (ISTRING_COMPARE, return_ISTRING_COMPARE): Add missing
495 backslashes to the HAVE_CASE_INSENSITIVE_FS case.
496 Reported by <Brian_Benning@aksteel.com>.
497
498 2002-07-10 Paul D. Smith <psmith@gnu.org>
499
500 * variable.c (pop_variable_scope): Remove variable made unused by
501 new hash infrastructure.
502 * read.c (dep_hash_cmp): Rewrite this to handle ignore_mtime
503 comparisons as well as name comparisons.
504 * variable.h: Add a prototype for new hash_init_function_table().
505 * file.c (lookup_file): Remove variables made unused by new hash
506 infrastructure.
507 * dir.c (directory_contents_hash_2): Missing return of hash value.
508 (dir_contents_file_exists_p): Remove variables made unused by new
509 hash infrastructure.
510
511
512 Installed Greg McGary's integration of the hash functions from the
513 GNU id-utils package:
514
515 2002-07-10 Greg McGary <greg@mcgary.org>
516
517 * scripts/functions/filter-out: Add literals to to the
518 pattern space in order to add complexity, and trigger
519 use of an internal hash table. Fix documentation strings.
520 * scripts/targets/INTERMEDIATE: Reverse order of files
521 passed to expected `rm' command.
522
523 2002-07-10 Greg McGary <greg@mcgary.org>
524
525 * Makefile.am (SRCS): Add hash.c (noinst_HEADERS): Add hash.h
526 * hash.c: New file, taken from id-utils.
527 * hash.h: New file, taken from id-utils.
528
529 * make.h (HASH, HASHI): Remove macros.
530 (find_char_unquote): Change arglist in decl.
531 (hash_init_directories): New function decl.
532 * variable.h (hash.h): New #include.
533 (MAKELEVEL_NAME, MAKELEVEL_LENGTH): New constants.
534 * filedef.h (hash.h): New #include.
535 (struct file) [next]: Remove member.
536 (file_hash_enter): Remove function decl.
537 (init_hash_files): New function decl.
538
539 * ar.c (ar_name): Delay call to strlen until needed.
540 * main.c (initialize_global_hash_tables): New function.
541 (main): Call it. Use MAKELEVEL_NAME & MAKELEVEL_LENGTH.
542 * misc.c (remove_comments): Pass char constants to find_char_unquote.
543 * remake.c (notice_finished_file): Update last_mtime on `prev' chain.
544
545 * dir.c (hash.h): New #include.
546 (struct directory_contents) [next, files]: Remove members.
547 [ctime]: Add member for VMS. [dirfiles]: Add hash-table member.
548 (directory_contents_hash_1, directory_contents_hash_2,
549 directory_contents_hash_cmp): New functions.
550 (directories_contents): Change type to `struct hash_table'.
551 (struct directory) [next]: Remove member.
552 (directory_hash_1, directory_hash_2, directory_hash_cmp): New funcs.
553 (directory): Change type to `struct hash_table'.
554 (struct dirfile) [next]: Remove member.
555 [length]: Add member. [impossible]: widen type to fill alignment gap.
556 (dirfile_hash_1, dirfile_hash_2, dirfile_hash_cmp): New functions.
557 (find_directory): Use new hash table package.
558 (dir_contents_file_exists_p): Likewise.
559 (file_impossible): Likewise.
560 (file_impossible_p): Likewise.
561 (print_dir_data_base): Likewise.
562 (open_dirstream): Likewise.
563 (read_dirstream): Likewise.
564 (hash_init_directories): New function.
565
566 * file.c (hash.h): New #include.
567 (file_hash_1, file_hash_2, file_hash_cmp): New functions.
568 (files): Change type to `struct hash_table'.
569 (lookup_file): Use new hash table package.
570 (enter_file): Likewise.
571 (remove_intermediates): Likewise.
572 (snap_deps): Likewise.
573 (print_file_data_base): Likewise.
574
575 * function.c
576 (function_table_entry_hash_1, function_table_entry_hash_2,
577 function_table_entry_hash_cmp): New functions.
578 (lookup_function): Remove `table' argument.
579 Use new hash table package.
580 (struct a_word) [chain, length]: New members.
581 (a_word_hash_1, a_word_hash_2, a_word_hash_cmp): New functions.
582 (struct a_pattern): New struct.
583 (func_filter_filterout): Pass through patterns noting boundaries
584 and '%', if present. Note a_word length. Use a hash table if
585 arglists are large enough to justify cost.
586 (function_table_init): Renamed from function_table.
587 (function_table): Declare as `struct hash_table'.
588 (FUNCTION_TABLE_ENTRIES): New constant.
589 (hash_init_function_table): New function.
590
591 * read.c (hash.h): New #include.
592 (read_makefile): Pass char constants to find_char_unquote.
593 (dep_hash_1, dep_hash_2, dep_hash_cmp): New functions.
594 (uniquize_deps): Use hash table to efficiently identify duplicates.
595 (find_char_unquote): Accept two char-constant stop chars, rather
596 than a string constant, avoiding zillions of calls to strchr.
597 Tighten inner search loops to test only for desired delimiters.
598
599 * variable.c (variable_hash_1, variable_hash_2,
600 variable_hash_cmp): New functions.
601 (variable_table): Declare as `struct hash_table'.
602 (global_variable_set): Remove initialization.
603 (init_hash_global_variable_set): New function.
604 (define_variable_in_set): Use new hash table package.
605 (lookup_variable): Likewise.
606 (lookup_variable_in_set): Likewise.
607 (initialize_file_variables): Likewise.
608 (pop_variable_scope): Likewise.
609 (create_new_variable_set): Likewise.
610 (merge_variable_sets): Likewise.
611 (define_automatic_variables): Likewise.
612 (target_environment): Likewise.
613 (print_variable_set): Likewise.
614
615 2002-07-10 Paul D. Smith <psmith@gnu.org>
616
617 Implement the SysV make syntax $$@, $$(@D), and $$(@F) in the
618 prerequisite list. A real SysV make will expand the entire
619 prerequisites list _twice_: we don't do that as it's a big
620 backward-compatibility problem. We only replace those specific
621 variables.
622
623 * read.c (record_files): Replace any $@, $(@D), and $(@F) variable
624 references left in the list of prerequisites. Check for .POSIX as
625 we record targets, so we can disable non-POSIX behavior while
626 reading makefiles as well as running them.
627 (eval): Check the prerequisite list to see if we have anything
628 that looks like a SysV prerequisite variable reference.
629
630 2002-07-09 Paul D. Smith <psmith@gnu.org>
631
632 * doc/make.texi (Prerequisite Types): Add a new section describing
633 order-only prerequisites.
634
635 * read.c (uniquize_deps): If we have the same file as both a
636 normal and order-only prereq, get rid of the order-only prereq,
637 since the normal one supersedes it.
638
639 2002-07-08 Paul D. Smith <psmith@gnu.org>
640
641 * AUTHORS: Added Greg McGary to the AUTHORS file.
642 * NEWS: Blurbed order-only prerequisites.
643 * file.c (print_file): Show order-only deps properly when printing
644 the database.
645
646 * maintMakefile: Add "update" targets for wget'ing the latest
647 versions of various external files. Taken from Makefile.maint in
648 autoconf, etc.
649
650 * dosbuild.bat: Somehow we got _double_ ^M's. Remove them.
651 Reported by Eli Zaretskii <eliz@is.elta.co.il>.
652
653 2002-07-07 Paul D. Smith <psmith@gnu.org>
654
655 * po/*.po: Remove. We'll use wget to retrieve them at release
656 time.
657
658 * variable.c (do_variable_definition) [W32]: On W32 using cmd
659 rather than a shell you get an exception. Make sure we look up
660 the variable. Patch provided by Eli Zaretskii <eliz@is.elta.co.il>.
661
662 * remake.c (notice_finished_file): Fix handling of -t flag.
663 Patch provided by Henning Makholm <henning@makholm.net>.
664
665 * implicit.c (pattern_search): Some systems apparently run short
666 of stack space, and using alloca() in this function caused an
667 overrun. I modified it to use xmalloc() on the two variables
668 which seemed like they might get large. Fixes Bug #476.
669
670 * main.c (print_version): Update copyright notice to conform with
671 GNU standards.
672 (print_usage): Update help output.
673
674 * function.c (func_eval): Create a new make function, $(eval
675 ...). Expand the arguments, put them into a buffer, then invoke
676 eval_buffer() on the resulting string.
677 (func_quote): Create a new function, $(quote VARNAME). Inserts
678 the value of the variable VARNAME without expanding it any
679 further.
680
681 * read.c (struct ebuffer): Change the linebuffer structure to an
682 "eval buffer", which can be either a file or a buffer.
683 (eval_makefile): Move the code in the old read_makefile() which
684 located a makefile into here: create a struct ebuffer with that
685 information. Have it invoke the new function eval() with that
686 ebuffer.
687 (eval_buffer): Create a new function that creates a struct ebuffer
688 that holds a string buffer instead of a file. Have it invoke
689 eval() with that ebuffer.
690 (eval): New function that contains the guts of the old
691 read_makefile() function: this function parses makefiles. Obtains
692 data to parse from the provided ebuffer. Some modifications to
693 make the flow of the function cleaner and clearer. Still could
694 use some work here...
695 (do_define): Takes a struct ebuffer instead of a FILE*. Read the
696 contents of the define/endef variable from the ebuffer.
697 (readstring): Read the next line from a string-style ebuffer.
698 (readline): Read the next line from an ebuffer. If it's a string
699 ebuffer, invoke readstring(). If it's a FILE* ebuffer, read it
700 from the file.
701
702 * dep.h (eval_buffer): Prototype eval_buffer();
703
704 * variable.c (do_variable_definition): Make sure that all
705 non-target-specific variables are registered in the global set.
706 If we're invoked from an $(eval ...) we might be inside a $(call
707 ...) or other function which has pushed a variable scope; we still
708 want to define our variables from evaluated makefile code in the
709 global scope.
710
711 2002-07-03 Greg McGary <greg@mcgary.org>
712
713 * dep.h (struct dep) [ignore_mtime]: New member.
714 [changed]: convert to a bitfield.
715 * implicit.c (pattern_search): Zero ignore_mtime.
716 * main.c (main, handle_non_switch_argument): Likewise.
717 * rule.c (convert_suffix_rule): Likewise.
718 * read.c (read_all_makefiles, read_makefile, multi_glob): Likewise.
719 (read_makefile): Parse '|' in prerequisite list.
720 (uniquize_deps): Consider ignore_mtime when comparing deps.
721 * remake.c (update_file_1, check_dep): Don't force remake for
722 dependencies that have d->ignore_mtime.
723 * commands.c (FILE_LIST_SEPARATOR): New constant.
724 (set_file_variables): Don't include a
725 prerequisite in $+, $^ or $? if d->ignore_mtime.
726 Define $|.
727
728 2002-06-18 Paul D. Smith <psmith@gnu.org>
729
730 * make.texinfo: Updates for next revision. New date/rev/etc.
731 Recreate all Info menus. Change license on the manual to the GNU
732 Free Documentation License. A number of typos.
733 (Variables Simplify): Don't use "-" before it's defined.
734 (Automatic Prerequisites): Rewrite the target example to work
735 properly if the compile fails. Remove incorrect comments about
736 how "set -e" behaves.
737 (Text Functions): Move the "word", "wordlist", "words", and
738 "firstword" functions here, from "File Name Functions".
739 * make-stds.texi: Update from latest GNU version.
740 * fdl.texi: (created) Import the latest GNU version.
741
742 2002-06-06 Paul D. Smith <psmith@gnu.org>
743
744 * variable.c (do_variable_definition): New function: extract the
745 part of try_variable_definition() that actually sets the value
746 into a separate function.
747 (try_variable_definition): Call do_variable_definition() after
748 parsing the variable definition string.
749 (define_variable_in_set): Make the name argument const.
750
751 * variable.h (enum variable_flavor): Make public.
752 (do_variable_definition): Create prototype.
753
754 * read.c (read_all_makefiles): Create a new built-in variable,
755 MAKEFILE_LIST.
756 (read_makefile): Add each makefile read in to this variable value.
757
758 2002-05-18 Eli Zaretskii <eliz@is.elta.co.il>
759
760 * Makefile.DOS.template: Tweak according to changes in the
761 distribution. Add back the dependencies of *.o files.
762
763 * configh.dos.template: Synchronize with config.h.in.
764
765 2002-05-09 Paul D. Smith <psmith@gnu.org>
766
767 * file.c (file_timestamp_now): Use K&R function declaration.
768
769 * getloadavg.c (getloadavg): Merge setlocale() fix from sh-utils
770 getloadavg.c. Autoconf thinks QNX is SVR4-like, but it isn't, so
771 #undef it. Remove predefined setup of NLIST_STRUCT. Decide
772 whether to include nlist.h based on HAVE_NLIST_H. Change obsolete
773 NLIST_NAME_UNION to new HAVE_STRUCT_NLIST_N_UN_N_NAME.
774 * configure.in (NLIST_STRUCT): Define this if we have nlist.h and
775 nlist.n_name is a pointer rather than an array.
776
777 * acinclude.m4 (make_FUNC_SETVBUF_REVERSED): Grab the latest
778 version of AC_FUNC_SETVBUF_REVERSED from autoconf CVS.
779 * configure.in: Use it instead of the old version.
780
781 * main.c (main): Prefer setvbuf() to setlinebuf().
782
783 2002-05-08 Paul D. Smith <psmith@gnu.org>
784
785 * Makefile.am (make_LDADD): Add GETLOADAVG_LIBS.
786 (loadavg_LDADD): Ditto.
787
788 2002-04-29 Paul D. Smith <psmith@gnu.org>
789
790 * expand.c (recursively_expand_for_file): Rename
791 recursively_expand() to recursively_expand_for_file() and provide
792 an extra argument, struct file. If the argument is provided, set
793 the variable scope to that of the file before expanding.
794 * variable.h (recursively_expand): Make this a macro that invokes
795 recursively_expand_for_file() with a NULL file pointer.
796 * variable.c (target_environment): Call the renamed function and
797 provide the current file context.
798 Fixes Debian bug #144306.
799
800 2002-04-28 Paul D. Smith <psmith@gnu.org>
801
802 Allow $(call ...) user-defined variables to be self-referencing
803 without throwing an error. Allows implementation of transitive
804 closures, among other possibly useful things.
805 Requested by: Philip Guenther <guenther@sendmail.com>
806
807 * variable.h (struct variable): Add a new field: exp_count, and
808 new macros to hold its size and maximum value.
809 (warn_undefined): Make this a macro.
810 * variable.c (define_variable_in_set): Initialize it.
811 * expand.c (recursively_expand): If we detect recursive expansion
812 of a variable, check the exp_count field. If it's greater than 0
813 allow the recursion and decrement the count.
814 (warn_undefined): Remove this (now a macro in variable.h).
815 * function.c (func_call): Before we expand the user-defined
816 function, modify its exp_count field to contain the maximum
817 number of recursive calls we'll allow. After the call, reset it
818 to 0.
819
820 2002-04-21 Paul D. Smith <psmith@gnu.org>
821
822 Modified to use latest autoconf (2.53), automake (1.6.1), and
823 gettext (0.11.1). We're using gettext's new "external" support,
824 to avoid including libintl source with GNU make.
825
826 * README.cvs: New file. Explain how to build GNU make from CVS.
827
828 * configure.in: Modify checking for the system glob library.
829 Use AC_EGREP_CPP instead of AC_TRY_CPP. Remove the setting of
830 GLOBDIR (we will always put "glob" in SUBDIRS, so automake
831 etc. will manage it correctly). Set an automake conditional
832 USE_LOCAL_GLOB to decide whether to compile the glob library.
833
834 * getloadavg.c (main): Include make.h in the "TEST" program to
835 avoid warnings.
836
837 * Makefile.am: Remove special rules for loadavg. Replace them
838 with Automake capabilities for building extra programs.
839
840 * signame.c: This file does nothing if the system provide
841 strsignal(). If not, it implements strsignal(). If the system
842 doesn't define sys_siglist, then we make our own; otherwise we use
843 the system version.
844 * signame.h: Removed.
845
846 * main.c (main): No need to invoke signame_init(). Update copyright.
847
848 * ABOUT-NLS: Removed.
849 * gettext.c: Removed.
850 * gettext.h: Get a simplified copy from the gettext package.
851 * po/*: Created.
852 * i18n/*.po: Moved to po/.
853 * i18n/: Removed.
854
855 * config/*: Created. Contains package configuration helper files.
856 * config.guess, config.sub: Moved to config directory.
857
858 * configure.in (AC_CONFIG_FILES): Add po/Makefile.in, config/Makefile.
859 Rework to use new-style autoconf features. Use the "external"
860 mode for gettext. Make the build.sh config file conditional on
861 whether build.sh.in exists, to avoid autoconf errors.
862 * acinclude.m4: Removed almost all macros as being obsolete.
863 Rewrote remaining macros to use AC_DEFINE.
864 * acconfig.h: Removed.
865
866 * Makefile.am (EXTRA_DIST): Add config/config.rpath. Use a
867 conditional to handle customs support. Remove special handling
868 for i18n features.
869
870 2002-04-20 Paul D. Smith <psmith@gnu.org>
871
872 * function.c (func_call): Don't mark the argument variables $1,
873 etc. as recursive. They've already been fully expanded so
874 there's no need to do it again, and doing so strips escaped $'s.
875 Reported by Sebastian Glita <glseba@yahoo.com>.
876
877 * remake.c (notice_finished_file): Walk through double-colon
878 entries via the prev field, not the next field!
879 Reported by Greg McGary <greg@mcgary.org>.
880
881 * main.c (main): If the user specifies -q and asks for a specific
882 target which is a makefile, we got an assert. In that case it
883 turns out we should continue normally instead.
884
885 * i18n/de.po, i18n/fr.po: Installed an updated translation.
886
887 * i18n/he.po: Installed a new translation.
888
889 2002-01-07 Paul D. Smith <psmith@gnu.org>
890
891 * i18n/es.po, i18n/ru.po: Installed an updated translation.
892
893 2001-12-04 Paul D. Smith <psmith@gnu.org>
894
895 * i18n/ja.po: Installed an updated translation.
896
897 2001-09-04 Paul D. Smith <psmith@gnu.org>
898
899 * i18n/da.po: Installed an updated translation.
900
901 2001-08-03 Paul D. Smith <psmith@gnu.org>
902
903 * i18n/fr.po: Installed an updated translation.
904 Resolves Debian bug #106720.
905
906 2001-06-13 Paul D. Smith <psmith@gnu.org>
907
908 * i18n/da.po, configure.in (ALL_LINGUAS): Installed a new
909 translation.
910
911 2001-06-11 Paul D. Smith <psmith@gnu.org>
912
913 * i18n/ko.po: Installed a new translation.
914
915 2001-05-06 Paul D. Smith <psmith@gnu.org>
916
917 Modify the EINTR handling.
918
919 * job.c (new_job): Reorganize the jobserver algorithm. Reorder
920 the way in which we manage the file descriptor/signal handler race
921 trap to be more efficient.
922
923 2001-05-06 Paul Eggert <eggert@twinsun.com>
924
925 Restart almost all system calls that are interrupted, instead
926 of worrying about EINTR. The lone exception is the read() for
927 job tokens.
928
929 * configure.in (HAVE_SA_RESTART): New macro.
930 (MAKE_JOBSERVER): Define to 1 only if HAVE_SA_RESTART.
931 * main.c (main): Use SA_RESTART instead of the old,
932 nonstandard SA_INTERRUPT.
933
934 * configure.in (AC_CHECK_FUNCS): Add bsd_signal.
935 * main.c (bsd_signal): New function or macro,
936 if the implementation doesn't supply it.
937 (The bsd_signal function will be in POSIX 1003.1-200x.)
938 (HANDLESIG): Remove.
939 (main, FATAL_SIG): Use bsd_signal instead of signal or HANDLESIG.
940
941 * make.h (EINTR_SET): Remove.
942 (SA_RESTART): New macro.
943
944 * arscan.c (ar_member_touch): Don't worry about EINTR.
945 * function.c (func_shell): Likewise.
946 * job.c (reap_children, free_child, new_job): Likewise.
947 * main.c (main): Likewise.
948 * remake.c (touch_file, name_mtime): Likewise.
949
950 * arscan.c (ar_member_touch): Fix bug uncovered by EINTR removal;
951 if fstat failed with errno!=EINTR, the error was ignored.
952
953 * job.c (set_child_handler_action_flags): New function.
954 (new_job): Use it to temporarily clear the SIGCHLD action flags
955 while reading the token.
956
957 2001-05-02 Paul D. Smith <psmith@gnu.org>
958
959 * job.c (start_job_command): Don't add define/endef per-line flags
960 to the top-level flags setting.
961
962 2001-04-03 Paul D. Smith <psmith@gnu.org>
963
964 * arscan.c (VMS_get_member_info,ar_scan) [VMS]: VMS sets the low
965 bit on error, so check for odd return values, not non-0 return
966 values.
967 (VMS_get_member_info): Calculate the timezone differences correctly.
968 Reported by John Fowler <jfowler@nyx.net>.
969
970
971 2001-03-14 Paul D. Smith <psmith@gnu.org>
972
973 * variable.c (lookup_variable) [VMS]: Null-terminate the variable
974 value before invoking define_variable().
975 Reported by John Fowler <jfowler@nyx.net>.
976
977 2001-02-07 Paul D. Smith <psmith@gnu.org>
978
979 * read.c (record_target_var): If we reset the variable due to a
980 command-line variable setting overriding it, turn off the "append"
981 flag.
982
983 2001-01-17 Paul D. Smith <psmith@gnu.org>
984
985 * variable.c (lookup_variable) [VMS]: When getting values from the
986 environment, allocate enough space for the _value_ plus escapes,
987 not enough space for the name plus escapes :-/.
988 Reported by John Fowler <jfowler@nyx.net>.
989
990 * remake.c (f_mtime): Removed the "***" prefix from the mod time
991 warnings that make generates, so it doesn't look like an error.
992 Reported by Karl Berry <karl@gnu.org>.
993
994
995 Fix for PR/2020: Rework appended target-specific variables. I'm
996 fairly confident this algorithm is finally correct.
997
998 * expand.c (allocated_variable_append): Rewrite. Instead of
999 expanding each appended variable then adding all the expanded
1000 strings together, we append all the unexpanded values going up
1001 through the variable set contexts, then expand the final result.
1002 This behaves just like non-target-specific appended variable
1003 values, while the old way didn't in various corner cases.
1004 (variable_append): New function: recursively append the unexpanded
1005 value of a variable, walking from the outermost variable scope to
1006 the innermost.
1007 * variable.c (lookup_variable): Remove the code that looked up the
1008 variable set list if the found variable was "append". We don't
1009 need this anymore.
1010 (lookup_variable_in_set): Make this non-static so we can use it
1011 elsewhere.
1012 (try_variable_definition): Use lookup_variable_in_set() rather
1013 than faking out current_variable_set_list by hand (cleanup).
1014 * variable.h: Add a prototype for the now non-static
1015 lookup_variable_in_set().
1016
1017 2000-11-17 Paul D. Smith <psmith@gnu.org>
1018
1019 * remake.c (f_mtime) [WINDOWS32]: On various advice, I changed the
1020 WINDOWS32 port to assume timestamps can be up to 3 seconds away
1021 before throwing a fit.
1022
1023 2000-11-17 Paul D. Smith <psmith@gnu.org>
1024
1025 * read.c (readline): CRLF calculations had a hole, if you hit the
1026 buffer grow scenario just right. Reworked the algorithm to avoid
1027 the need for len or lastlen at all. Problem description with
1028 sample code chages provided by Chris Faylor <cgf@redhat.com>.
1029
1030 2000-10-24 Paul D. Smith <psmith@gnu.org>
1031
1032 * gettext.c (SWAP): Declare this with the prototype, otherwise
1033 some systems don't work (non-32-bit? Reported for Cray T3E).
1034 Reported by Thorstein Thorsteinsson <thor@signe.teokem.lu.se>.
1035
1036 2000-10-05 Paul D. Smith <psmith@gnu.org>
1037
1038 * acinclude.m4 (AM_LC_MESSAGES): Remove undefined macro
1039 AM_LC_MESSAGES; it doesn't seem to do anything anyway??
1040
1041 * i18n/gl.po, configure.in (ALL_LINGUAS): New Galician translation.
1042
1043 2000-09-22 Paul D. Smith <psmith@gnu.org>
1044
1045 * gettext.c: Don't #define _GETTEXT_H here; we only include some
1046 parts of the real gettext.h here, and we expect to really include
1047 the real gettext.h later. If we keep this #define, it's ignored.
1048
1049 2000-09-21 Paul D. Smith <psmith@gnu.org>
1050
1051 * main.c (log_working_directory): Rework the text to use complete
1052 sentences, to make life simpler for the translators.
1053
1054 2000-08-29 Paul D. Smith <psmith@gnu.org>
1055
1056 * file.c (remove_intermediates): Print a debug message before we
1057 remove intermediate files, so the user (if she uses -d) knows
1058 what's going on.
1059
1060 2000-08-21 Paul D. Smith <psmith@gnu.org>
1061
1062 * variable.c (try_variable_definition): Change how we handle
1063 target-specific append variable defns: instead of just setting the
1064 value, expand it as an append _but_ only within the current
1065 target's context. Otherwise we lose all but the last value if the
1066 variable is appended more than once within the current target
1067 context. Fixes PR/1831.
1068
1069 2000-08-16 Paul D. Smith <psmith@gnu.org>
1070
1071 * function.c (func_shell): Nul-terminate the buffer before
1072 printing an exec error message (just in case it's not!).
1073 Fixes PR/1860, reported by Joey Hess <joey@valinux.com>.
1074
1075 2000-07-25 Paul D. Smith <psmith@gnu.org>
1076
1077 * job.c (construct_command_argv_internal): Add "~" to the list of
1078 sh_chars[] which disallow optimizing out the shell call.
1079
1080 2000-07-23 Paul Eggert <eggert@twinsun.com>
1081
1082 * NEWS, make.texinfo: Document .LOW_RESOLUTION_TIME, which
1083 supersedes --disable-nsec-timestamps.
1084 * make.texinfo: Consistently use "time stamp" instead of "timestamp".
1085 * README: Remove --disable-nsec-timestamps.
1086
1087 * filedef.h (struct file.low_resolution_time): New member.
1088 * file.c (snap_deps): Add support for .LOW_RESOLUTION_TIME.
1089 * remake.c (update_file_1):
1090 Avoid spurious rebuilds due to low resolution time stamps,
1091 generalizing the earlier code that applied only to archive members.
1092 (f_mtime): Archive members always have low resolution time stamps.
1093
1094 * configure.in: Remove --disable-nsec-timestamps, as this has
1095 been superseded by .LOW_RESOLUTION_TIME.
1096
1097 2000-07-23 Paul Eggert <eggert@twinsun.com>
1098
1099 * configure.in (enable_nsec_timestamps): Renamed from
1100 make_cv_nsec_timestamps, since enable/disable options
1101 shouldn't be cached.
1102
1103 2000-07-23 Bruno Haible <haible@clisp.cons.org>
1104 and Paul Eggert <eggert@twinsun.com>
1105
1106 * file.c (file_timestamp_now):
1107 Use preprocessor-time check for FILE_TIMESTAMP_HI_RES
1108 so that clock_gettime is not linked unless needed.
1109
1110 * filedef.h (FILE_TIMESTAMP_HI_RES):
1111 Remove definition; "configure" now does this.
1112
1113 * configure.in (jm_AC_TYPE_UINTMAX_T): Move up,
1114 to before high resolution file timestamp check,
1115 since that check now uses uintmax_t.
1116 (FILE_TIMESTAMP_HI_RES): Define to nonzero if the code should use
1117 high resolution file timestamps.
1118 (HAVE_CLOCK_GETTIME): Do not define if !FILE_TIMESTAMP_HI_RES,
1119 so that we don't link in clock_gettime unnecessarily.
1120
1121 2000-07-17 Paul D. Smith <psmith@gnu.org>
1122
1123 * i18n/ja.po: New version of the translation file.
1124
1125 2000-07-07 Paul D. Smith <psmith@gnu.org>
1126
1127 * remake.c (f_mtime): If NO_FLOAT is defined, don't bother with
1128 the offset calculation.
1129 (name_mtime): Replace EINTR test with EINTR_SET macro.
1130
1131 2000-07-07 Paul Eggert <eggert@twinsun.com>
1132
1133 Fix for PR/1811:
1134
1135 * remake.c (update_file_1):
1136 Avoid spurious rebuilds of archive members due to their
1137 timestamp resolution being only one second.
1138 (f_mtime): Avoid spurious warnings of timestamps in the future due to
1139 the clock's resolution being lower than file timestamps'.
1140 When warning about future timestamps, report only the discrepancy,
1141 not the absolute value of the timestamp and the current time.
1142
1143 * file.c (file_timestamp_now): New arg RESOLUTION.
1144 * filedef.h (file_timestamp_now): Likewise.
1145 (FILE_TIMESTAMP_NS): Now returns int. All uses changed.
1146
1147 2000-07-05 Paul D. Smith <psmith@gnu.org>
1148
1149 * variable.c (lookup_variable) [VMS]: Remove vestigial references
1150 to listp. Fixes PR/1793.
1151
1152 2000-06-26 Paul Eggert <eggert@twinsun.com>
1153
1154 * Makefile.am (MAINTAINERCLEANFILES): New macro, with stamp-pot in it.
1155
1156 * dir.c (vms_hash): Ensure ctype macro args are nonnegative.
1157
1158 * remake.c (f_mtime): Remove unused var memtime.
1159
1160 2000-06-25 Martin Buchholz <martin@xemacs.org>
1161
1162 * make.texinfo, NEWS, TODO.private: Minor spelling corrections.
1163 Ran spell-check on make.texinfo.
1164
1165 2000-06-23 Paul D. Smith <psmith@gnu.org>
1166
1167 * main.c (main): Replace EXIT_SUCCESS, EXIT_FAILURE, and
1168 EXIT_TROUBLE with MAKE_SUCCESS, MAKE_FAILURE, and MAKE_TROUBLE.
1169 * make.h: Define these macros.
1170
1171 * Version 3.79.1 released.
1172
1173 * configure.in: Add a new option, --disable-nsec-timestamps, to
1174 avoid using sub-second timestamps on systems that support it. It
1175 can lead to problems, e.g. if your makefile relies on "cp -p".
1176 * README.template: Document the issue with "cp -p".
1177
1178 * config.guess, config.sub: Updated.
1179
1180
1181
1182 See ChangeLog.2, available in the CVS repository at:
1183
1184 http://savannah.gnu.org/cvs/?group=make
1185
1186 for earlier changes.

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26