Changeset 503 for trunk/src/gmake/ChangeLog
- Timestamp:
- Sep 15, 2006, 7:09:38 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gmake/ChangeLog
r281 r503 1 2006-04-01 Paul D. Smith <psmith@gnu.org> 2 3 Version 3.81 released. 4 5 * NEWS: Updated for 3.81. 6 7 * README.cvs: Mention that vpath builds are not supported out of 8 CVS. Fixes Savannah bug #16236. 9 Remove update of make.texi from the list of things to do; we use 10 version.texi now. 11 12 2006-03-26 Paul D. Smith <psmith@gnu.org> 13 14 * doc/make.texi: Clean up licensing. Use @copying and version.texi 15 support from automake, as described in the Texinfo manual. 16 17 2006-03-25 Eli Zaretskii <eliz@gnu.org> 18 19 * implicit.c (pattern_search) [HAVE_DOS_PATHS]: Don't compare b 20 with lastslash, since the latter points to filename, not to 21 target. 22 * job.c (construct_command_argv_internal) [HAVE_DOS_PATHS]: 23 Declare and define sh_chars_sh[]. 24 25 2006-03-23 Paul D. Smith <psmith@gnu.org> 26 27 * configure.in: Look for build.sh.in in $srcdir so it will be 28 built for remote configurations as well. 29 30 * Makefile.am: Make sure to clean up build.sh during distclean. 31 Fixes Savannah bug #16166. 32 33 * misc.c (log_access): Takes a const char *. 34 * function.c (fold_newlines): Takes an unsigned int *. 35 Both fixes for Savannah bug #16170. 36 37 2006-03-22 Boris Kolpackov <boris@kolpackov.net> 38 39 * implicit.c (pattern_search): Call set_file_variables only 40 if we have prerequisites that need second expansion. Fixes 41 Savannah bug #16140. 42 43 2006-03-19 Paul D. Smith <psmith@gnu.org> 44 45 * remake.c (update_file): Add alloca(0) to clean up alloca'd 46 memory on hosts that don't support it directly. 47 48 * README.cvs: Add information on steps for making a release (to 49 make sure I don't forget any). 50 51 * main.c (clean_jobserver): Move jobserver cleanup code into a new 52 function. 53 (die): Cleanup code was removed from here; call the new function. 54 (main): If we are re-execing, clean up the jobserver first so we 55 don't leak file descriptors. 56 Fix bug reported by Craig Fithian <craig.fithian@citigroup.com>. 57 58 2006-03-17 Paul D. Smith <psmith@gnu.org> 59 60 * maintMakefile (do-po-update): Rewrite this rule to clean up and 61 allow multiple concurrent runs. 62 Patch from Joseph Myers <joseph@codesourcery.com> 63 64 2006-03-17 Boris Kolpackov <boris@kolpackov.net> 65 66 * dep.h (struct dep): Add the stem field. 67 * misc.c (alloc_dep, free_dep): New functions. 68 (copy_dep_chain): Copy stem. 69 (free_dep_chain): Use free_dep. 70 * read.c (record_files): Store stem in the dependency line. 71 * file.c (expand_deps): Use stem stored in the dependency line. Use 72 free_dep_chain instead of free_ns_chain. 73 * implicit.c (pattern_search): Use alloc_dep and free_dep. 74 * read.c (read_all_makefiles, eval_makefile, eval): Ditto. 75 * main.c (main, handle_non_switch_argument): Ditto. 76 * remake.c (check_dep): Ditto. 77 * rule.c (convert_suffix_rule, freerule): Ditto. 78 79 2006-03-14 Paul D. Smith <psmith@gnu.org> 80 81 * expand.c (variable_append): Instead of appending everything then 82 expanding the result, we expand (or not, if it's simple) each part 83 as we add it. 84 (allocated_variable_append): Don't expand the final result. 85 Fixes Savannah bug #15913. 86 87 2006-03-09 Paul Smith <psmith@gnu.org> 88 89 * remake.c (update_file_1): Revert the change of 3 Jan 2006 which 90 listed non-existent files as changed. Turns out there's a bug in 91 the Linux kernel builds which means that this change causes 92 everything to rebuild every time. We will re-introduce this fix 93 in the next release, to give them time to fix their build system. 94 Fixes Savannah bug #16002. 95 Introduces Savannah bug #16051. 96 97 * implicit.c (pattern_search) [DOS_PATHS]: Look for DOS paths if 98 we *don't* find UNIX "/". 99 Reported by David Ergo <david.ergo@alterface.com> 100 101 2006-03-04 Eli Zaretskii <eliz@gnu.org> 102 103 * variable.c (do_variable_definition) [WINDOWS32]: Call the shell 104 locator function find_and_set_default_shell if SHELL came from the 105 command line. 106 107 2006-02-20 Paul D. Smith <psmith@gnu.org> 108 109 * variable.c (merge_variable_set_lists): It's legal for *setlist0 110 to be null; don't core in that case. 111 112 2006-02-19 Paul D. Smith <psmith@gnu.org> 113 114 * commands.c (set_file_variables): Realloc, not malloc, the static 115 string values to avoid memory leaks. 116 117 * expand.c (recursively_expand_for_file): Only set reading_file to 118 an initialized value. 119 120 * implicit.c (pattern_search): We need to make a copy of the stem 121 if we get it from an intermediate dep, since those get freed. 122 123 * file.c (lookup_file) [VMS]: Don't lowercase special targets that 124 begin with ".". 125 (enter_file) [VMS]: Ditto. 126 Patch provided by Hartmut Becker <Hartmut.Becker@hp.com>. 127 128 2006-02-24 Eli Zaretskii <eliz@gnu.org> 129 130 * job.c (construct_command_argv_internal): Fix last change. 131 132 * w32/subproc/sub_proc.c (process_pipe_io): Make dwStdin, 133 dwStdout, and dwStderr unsigned int: avoids compiler warnings in 134 the calls to _beginthreadex. 135 136 * expand.c (recursively_expand_for_file): Initialize `save' to 137 prevent compiler warnings. 138 139 2006-02-18 Eli Zaretskii <eliz@gnu.org> 140 141 * job.c (construct_command_argv_internal): Don't create a temporary 142 script/batch file if we are under -n. Call _setmode to switch the 143 script file stream to text mode. 144 145 2006-02-17 Paul D. Smith <psmith@gnu.org> 146 147 * variable.c (merge_variable_set_lists): Don't try to merge the 148 global_setlist. Not only is this useless, but it can lead to 149 circularities in the linked list, if global_setlist->next in one 150 list gets set to point to another list which also ends in 151 global_setlist. 152 Fixes Savannah bug #15757. 153 154 2006-02-15 Paul D. Smith <psmith@gnu.org> 155 156 Fix for Savannah bug #106. 157 158 * expand.c (expanding_var): Keep track of which variable we're 159 expanding. If no variable is being expanded, it's the same as 160 reading_file. 161 * make.h (expanding_var): Declare it. 162 * expand.c (recursively_expand_for_file): Set expanding_var to the 163 current variable we're expanding, unless there's no file info in 164 it (could happen if it comes from the command line or a default 165 variable). Restore it before we exit. 166 * expand.c (variable_expand_string): Use the expanding_var file 167 info instead of the reading_file info. 168 * function.c (check_numeric): Ditto. 169 (func_word): Ditto. 170 (func_wordlist): Ditto. 171 (func_error): Ditto. 172 (expand_builtin_function): Ditto. 173 (handle_function): Ditto. 174 175 2006-02-14 Paul D. Smith <psmith@gnu.org> 176 177 * read.c (eval): Even if the included filenames expands to the 178 empty string we still need to free the allocated buffer. 179 180 * implicit.c (pattern_search): If we allocated a variable set for 181 an impossible file, free it. 182 * variable.c (free_variable_set): New function. 183 * variable.h: Declare it. 184 185 * read.c (read_all_makefiles): Makefile names are kept in the 186 strcache, so there's never any need to alloc/free them. 187 (eval): Ditto. 188 189 * main.c (main): Add "archives" to the .FEATURES variable if 190 archive support is enabled. 191 * doc/make.texi (Special Variables): Document it. 192 193 2006-02-13 Paul D. Smith <psmith@gnu.org> 194 195 * implicit.c (pattern_search): Add checking for DOS pathnames to 196 the pattern rule target LASTSLASH manipulation. 197 Fixes Savannah bug #11183. 198 199 2006-02-11 Paul D. Smith <psmith@gnu.org> 200 201 * (ALL FILES): Updated copyright and license notices. 202 203 2006-02-10 Paul D. Smith <psmith@gnu.org> 204 205 A new internal capability: the string cache is a read-only cache 206 of strings, with a hash table interface for fast lookup. Nothing 207 in the cache will ever be freed, so there's no need for reference 208 counting, etc. This is the beginning of a full solution for 209 Savannah bug #15182, but for now we only store makefile names here. 210 211 * strcache.c: New file. Implement a read-only string cache. 212 * make.h: Add prototypes for new functions. 213 * main.c (initialize_global_hash_tables): Initialize the string cache. 214 (print_data_base): Print string cache stats. 215 * read.c (eval_makefile): Use the string cache to store makefile 216 names. Rewrite the string allocation to be sure we free everything. 217 218 2006-02-10 Eli Zaretskii <eliz@gnu.org> 219 220 * dir.c (dir_contents_file_exists_p): Don't opendir if the 221 directory time stamp didn't change, except on FAT filesystems. 222 Suggested by J. David Bryan <jdbryan@acm.org>. 223 224 2006-02-09 Paul D. Smith <psmith@gnu.org> 225 226 * function.c (func_or): Implement a short-circuiting OR function. 227 (func_and): Implement a short-circuiting AND function. 228 (function_table_init): Update the table with the new functions. 229 * doc/make.texi (Conditional Functions): Changed the "if" section 230 to one on general conditional functions. Added documentation for 231 $(and ...) and $(or ...) functions. 232 * NEWS: Note new $(and ...) and $(or ...) functions. 233 234 2006-02-08 Boris Kolpackov <boris@kolpackov.net> 235 236 * job.h (struct child): Add the dontcare bitfield. 237 * job.c (new_job): Cache dontcare flag. 238 * job.c (reap_children): Use cached dontcare flag instead of the 239 one in struct file. Fixes Savannah bug #15641. 240 241 2006-02-06 Paul D. Smith <psmith@gnu.org> 242 243 * vpath.c (selective_vpath_search): If the file we find has a 244 timestamp from -o or -W, use that instead of the real time. 245 * remake.c (f_mtime): If the mtime is a special token from -o or 246 -W, don't overwrite it with the real mtime. 247 Fixes Savannah bug #15341. 248 249 Updates from Markus Mauhart <qwe123@chello.at>: 250 251 * w32/subproc/sub_proc.c (process_begin): Remove no-op tests. 252 (process_signal, process_last_err, process_exit_code): Manage 253 invalid handle values. 254 (process_{outbuf,errbuf,outcnt,errcnt,pipes}): Unused and don't 255 manage invalid handles; remove them. 256 * job.c (start_job_command) [WINDOWS32]: Jump out on error. 257 * config.h.W32.template [WINDOWS32]: Set flags for Windows builds. 258 * README.cvs: Updates for building from CVS. 259 260 2006-02-05 Paul D. Smith <psmith@gnu.org> 261 262 * file.c (enter_file): Keep track of the last double_colon entry, 263 to avoid walking the list every time we want to add a new one. 264 Fixes Savannah bug #15533. 265 * filedef.h (struct file): Add a new LAST pointer. 266 267 * dir.c (directory_contents_hash_cmp): Don't use subtraction to do 268 the comparison. For 64-bits systems the result of the subtraction 269 might not fit into an int. Use comparison instead. 270 Fixes Savannah bug #15534. 271 272 * doc/make.texi: Update the chapter on writing commands to reflect 273 the changes made in 3.81 for backslash/newline and SHELL handling. 274 275 2006-02-01 Paul D. Smith <psmith@gnu.org> 276 277 * dir.c (dir_contents_file_exists_p) [WINDOWS32]: Make sure 278 variable st is not used when it's not initialized. 279 Patch from Eli Zaretskii <eliz@gnu.org>. 280 281 2006-01-31 Paul D. Smith <psmith@gnu.org> 282 283 * README.W32.template: Applied patch #4785 from 284 Markus Mauhart <qwe123@chello.at>. 285 * README.cvs: Applied patch #4786 from 286 Markus Mauhart <qwe123@chello.at>. 287 * make_msvc_net2003.vcproj [WINDOWS32]: New version from 288 J. Grant <jg@jguk.org>. 289 290 * main.c: Update the copyright year in the version output. 291 * prepare_w32.bat: Remove this file from the distribution. 292 293 2006-01-21 Eli Zaretskii <eliz@gnu.org> 294 295 * remake.c (update_goal_chain): Set g->changed instead of 296 incrementing it, as it is only 8-bit wide, and could overflow if 297 many commands got started in update_file. 298 299 * w32/include/sub_proc.h: Add a prototype for process_used_slots. 300 301 * w32/subproc/sub_proc.c: Change dimension of proc_array[] to 302 MAXIMUM_WAIT_OBJECTS. 303 (process_wait_for_any_private): Change dimension of handles[] 304 array to MAXIMUM_WAIT_OBJECTS. 305 (process_used_slots): New function. 306 (process_register): Don't register more processes than the 307 available number of slots. 308 (process_easy): Don't start new processes if all slots are used up. 309 310 * job.c (load_too_high, start_waiting_jobs) [WINDOWS32]: If there 311 are already more children than sub_proc.c can handle, behave as if 312 the load were too high. 313 (start_job_command): Fix a typo in error message when process_easy 314 fails. 315 316 2006-01-14 Eli Zaretskii <eliz@gnu.org> 317 318 * main.c (main) [WINDOWS32]: Don't refuse to run with -jN, even if 319 the shell is not sh.exe. 320 321 * job.c (create_batch_file): Renamed from create_batch_filename; 322 all callers changed. Don't close the temporary file; return its 323 file descriptor instead. New arg FD allows to return the file 324 descriptor. 325 (construct_command_argv_internal): Use _fdopen instead of fopen to 326 open the batch file. 327 328 2006-01-04 Paul D. Smith <psmith@gnu.org> 329 330 * readme.vms: Updates for case-insensitive VMS file systems from 331 Hartmut Becker <Hartmut.Becker@hp.com>. 332 * dir.c (vms_hash): Ditto. 333 * vmsify.c (copyto): Ditto. 334 * vmsfunctions.c (readdir): Ditto. 335 336 * make.1: Add a section on the exit codes for make. 337 338 * doc/make.texi: A number of minor updates to the documentation. 339 340 2006-01-03 Paul D. Smith <psmith@gnu.org> 341 342 * remake.c (update_file_1): Mark a prerequisite changed if it 343 doesn't exist. 344 345 * read.c (eval): Be sure to strip off trailing whitespace from the 346 prerequisites list properly. Also, initialize all fields in 347 struct dep when creating a new one. 348 349 2005-12-28 Paul D. Smith <psmith@gnu.org> 350 351 * config.h.W32.template [WINDOWS32]: Add in some pragmas to 352 disable warnings for MSC. 353 Patch by Rob Tulloh <rtulloh@yahoo.com>. 354 355 2005-12-17 Eli Zaretskii <eliz@gnu.org> 356 357 * doc/make.texi (Execution): Add a footnote about changes in 358 handling of backslash-newline sequences. Mention the differences 359 on MS-DOS and MS-Windows. 360 361 * NEWS: More details about building the MinGW port and a pointer 362 to README.W32. Fix the section name that describes the new 363 backward-incompatible processing of backslash-newline sequences. 364 The special processing of SHELL set to "cmd" is only relevant to 365 MS-Windows, not MS-DOS. 366 367 2005-12-17 Eli Zaretskii <eliz@gnu.org> 368 369 * main.c (handle_runtime_exceptions): Cast exrec->ExceptionAddress 370 to DWORD, to avoid compiler warnings. 371 * job.c (exec_command): Cast hWaitPID and hPID to DWORD, and 372 use %ld in format, to avoid compiler warnings. 373 374 * doc/make.texi (Special Targets): Fix a typo. 375 (Appending): Fix cross-reference to Setting. 376 (Special Variables, Secondary Expansion, File Name Functions) 377 (Flavor Function, Pattern Match, Quick Reference): Ensure two 378 periods after a sentence. 379 (Execution): Add @: after "e.g.". 380 (Environment): Fix punctuation. 381 (Target-specific, Call Function, Quick Reference): Add @: after "etc." 382 (Shell Function, Target-specific): Add @: after "vs." 383 384 2005-12-14 Boris Kolpackov <boris@kolpackov.net> 385 386 * read.c (record_target_var): Initialize variable's export field 387 with v_default instead of leaving it "initialized" by whatever 388 garbage happened to be on the heap. 389 390 2005-12-12 Paul D. Smith <psmith@gnu.org> 391 392 * make.1: Fix some display errors and document all existing options. 393 Patch provided by Mike Frysinger <vapier@gentoo.org>. 394 395 2005-12-11 Paul D. Smith <psmith@gnu.org> 396 397 * implicit.c (pattern_search): If 2nd expansion is not set for 398 this implicit rule, replace the pattern with the stem directly, 399 and don't re-expand the variable list. Along with the other 400 .SECONDEXPANSION changes below, fixes bug #13781. 401 402 2005-12-09 Boris Kolpackov <boris@kolpackov.net> 403 404 * implicit.c (pattern_search): Mark other files that this rule 405 builds as targets so that they are not treated as intermediates 406 by the pattern rule search algorithm. Fixes bug #13022. 407 408 2005-12-07 Boris Kolpackov <boris@kolpackov.net> 409 410 * remake.c (notice_finished_file): Propagate the change of 411 modification time to all the double-colon entries only if 412 it is the last one to be updated. Fixes bug #14334. 413 414 2005-11-17 Boris Kolpackov <boris@kolpackov.net> 415 416 * function.c (func_flavor): Implement the flavor function which 417 returns the flavor of a variable. 418 * doc/make.texi (Functions for Transforming Text): Document it. 419 * NEWS: Add it to the list of new functions. 420 421 2005-11-14 Boris Kolpackov <boris@kolpackov.net> 422 423 * read.c (construct_include_path): Set the .INCLUDE_DIRS special 424 variable. 425 * doc/make.texi (Special Variables): Document .INCLUDE_DIRS. 426 * NEWS: Add .INCLUDE_DIRS to the list of new special variables. 427 428 2005-10-26 Paul Smith <psmith@gnu.org> 429 430 * read.c (record_files): Don't set deps flags if there are no deps. 431 * maintMakefile: We only need to build the templates when we are 432 creating a distribution, so don't do it for "all". 433 434 2005-10-24 Paul D. Smith <psmith@gnu.org> 435 436 Make secondary expansion optional: its enabled by declaring the 437 special target .SECONDEXPANSION. 438 439 * NEWS: Update information on second expansion capabilities. 440 * doc/make.texi (Secondary Expansion): Document the 441 .SECONDEXPANSION special target and its behavior. 442 * dep.h (struct dep): Add a flag STATICPATTERN, set to true if the 443 prerequisite list was found in a static pattern rule. 444 (free_dep_chain): Declare a prototype. 445 * file.c (parse_prereqs): New function: break out some complexity 446 from expand_deps(). 447 (expand_deps): If we aren't doing second expansion, replace % with 448 the stem for static pattern rules. Call the new function. 449 * filedef.h (parse_prereqs): Declare a prototype. 450 * implicit.c (pattern_search): Initialize the new staticpattern 451 field. 452 * main.c (second_expansion): Declare a global variable to remember 453 if the special target has been seen. Initialize the new 454 staticpattern field for prerequisites. 455 * make.h: Extern for second_expansion. 456 * misc.c (free_dep_chain): New function: frees a struct dep list. 457 * read.c (read_all_makefiles): Initialize the staticpattern field. 458 (eval_makefile): Ditto. 459 (record_files): Check for the .SECONDEXPANSION target and set 460 second_expansion global if it's found. 461 Use the new free_dep_chain() instead of doing it by hand. 462 Set the staticpattern field for prereqs of static pattern targets. 463 464 2005-10-16 Paul D. Smith <psmith@gnu.org> 465 466 * main.c (main): Set CURDIR to be a file variable instead of a 467 default, so that values of CURDIR inherited from the environment 468 won't override the make value. 469 470 2005-09-26 Paul D. Smith <psmith@gnu.org> 471 472 * job.c (construct_command_argv_internal): If the line is empty 473 remember to free the temporary argv strings. 474 Fixes bug # 14527. 475 476 2005-09-16 Paul D. Smith <psmith@gnu.org> 477 478 * job.c (start_job_command): The noerror flag is a boolean (single 479 bit); set it appropriately. 480 Reported by Mark Eichin <eichin@metacarta.com> 481 482 2005-08-29 Paul D. Smith <psmith@gnu.org> 483 484 * function.c (func_error): On Windows, output from $(info ...) 485 seems to come in the wrong order. Try to force it with fflush(). 486 487 2005-08-10 Boris Kolpackov <boris@kolpackov.net> 488 489 * read.c (record_files): Move code that sets stem for static 490 pattern rules out of the if (!two_colon) condition so it is 491 also executed for two-colon rules. Fixes Savannah bug #13881. 492 493 2005-08-08 Paul D. Smith <psmith@gnu.org> 494 495 * make.h: Don't test that __STDC__ is non-0. Some compilers 496 (Windows for example) set it to 0 to denote "ISO C + extensions". 497 Fixes bug # 13594. 498 499 2005-08-07 Paul D. Smith <psmith@gnu.org> 500 501 * w32/pathstuff.c (getcwd_fs): Fix warning about assignment in a 502 conditional (slightly different version of a fix from Eli). 503 504 Fix a bug reported by Michael Matz <matz@suse.de>: patch included. 505 If make is running in parallel without -k and two jobs die in a 506 row, but not too close to each other, then make will quit without 507 waiting for the rest of the jobs to die. 508 509 * main.c (die): Don't reset err before calling reap_children() the 510 second time: we still want it to be in the error condition. 511 * job.c (reap_children): Use a static variable, rather than err, 512 to control whether or not the error message should be printed. 513 514 2005-08-06 Eli Zaretskii <eliz@gnu.org> 515 516 * w32/subproc/sub_proc.c: Include signal.h. 517 (process_pipe_io, process_file_io): Pass a pointer to a local 518 DWORD variable to GetExitCodeProcess. If the exit code is 519 CONTROL_C_EXIT, put SIGINT into pproc->signal. 520 521 * job.c [WINDOWS32]: Include windows.h. 522 (main_thread) [WINDOWS32]: New global variable. 523 (reap_children) [WINDOWS32]: Get the handle for the main thread 524 and store it in main_thread. 525 526 * commands.c [WINDOWS32]: Include windows.h and w32err.h. 527 (fatal_error_signal) [WINDOWS32]: Suspend the main thread before 528 doing anything else. When we are done, close the main thread 529 handle and exit with status 130. 530 531 2005-07-30 Eli Zaretskii <eliz@gnu.org> 532 533 * w32/subproc/sub_proc.c (process_begin): Don't pass a NULL 534 pointer to fprintf. 535 536 * main.c (find_and_set_default_shell): If found a DOSish shell, 537 set sh_found and the value of default_shell, and report the 538 findings in debug mode. 539 540 * job.c (construct_command_argv_internal): Check unixy_shell, not 541 no_default_sh_exe, to decide whether to use Unixy or DOSish 542 builtin commands. 543 544 * README.W32: Update with info about the MinGW build. 545 546 * build_w32.bat: Support MinGW. 547 548 * w32/subproc/build.bat: Likewise. 549 550 * w32/subproc/sub_proc.c (process_easy): Fix format strings for 551 printing DWORD args. 552 553 * function.c (windows32_openpipe): Fix format strings for printing 554 DWORD args. 555 556 * job.c (reap_children) [WINDOWS32]: Don't declare 'status' and 557 'reap_mode'. 558 (start_job_command): Fix format string for printing the result of 559 process_easy. 560 (start_job_command) [WINDOWS32]: Do not define. 561 (exec_command): Fix format string for printing HANDLE args. 562 563 * main.c (handle_runtime_exceptions): Fix sprintf format strings 564 to avoid compiler warnings. 565 (open_tmpfile): Declare fd only if HAVE_FDOPEN is defined. 566 (Note: some of these fixes were submitted independently by J. Grant) 567 568 2005-07-30 J. Grant <jg@jguk.org> 569 570 * prepare_w32.bat: Copy config.h.w32 to config.h if not exist. 571 * make_msvc_net2003.vcproj, make_msvc_net2003.sln: MSVC Project files. 572 * Makefile.am (EXTRA_DIST): Add MSVC Project files. 573 574 2005-07-15 Paul Smith <psmith@gnu.org> 575 576 * job.c (construct_command_argv_internal) [DOS,WINDOWS32,OS/2]: If 577 we don't have a POSIX shell, then revert to the old 578 backslash-newline behavior (where they are stripped). 579 Fixes bug #13665. 580 581 2005-07-08 Paul D. Smith <psmith@gnu.org> 582 583 * config.h.W32.template: Reorder to match the standard config.h, 584 for easier comparisons. 585 From J. Grant <jg@jguk.org> 586 587 * maintMakefile: Remove .dep_segment before overwriting it, in 588 case it's not writable or noclobber is set. 589 * expand.c (variable_expand_string): Cast result of pointer 590 arithmetic to avoid a warning. 591 * main.c (switches): Add full-fledged final initializer. 592 593 2005-07-06 Paul D. Smith <psmith@gnu.org> 594 595 * configure.in: IRIX has _sys_siglist. Tru64 UNIX has __sys_siglist. 596 * signame.c (strsignal): If we found _sys_siglist[] or 597 __sys_siglist[] use those instead of sys_siglist[]. 598 From Albert Chin <china@thewrittenword.com> 599 600 2005-07-04 Paul D. Smith <psmith@gnu.org> 601 602 * config.h-vms.template [VMS]: Latest VMS has its own glob() and 603 globfree(); set up to use the GNU versions. 604 From Martin Zinser <zinser@zinser.no-ip.info> 605 606 2005-07-03 Paul D. Smith <psmith@gnu.org> 607 608 From J. Grant <jg@jguk.org>: 609 610 * README.W32.template: Update the Windows and tested MSVC versions. 611 * NMakefile.template (CFLAGS_any): Change warning level from W3 to W4. 612 * w32/subproc/NMakefile (CFLAGS_any): Ditto. 613 * build_w32.bat: Ditto. 614 * w32/subproc/build.bat: Ditto. 615 616 2005-06-28 Paul D. Smith <psmith@gnu.org> 617 618 * signame.c: HAVE_DECL_* macros are set to 0, not undef, if the 619 declaration was checked but not present. 620 621 2005-06-27 Paul D. Smith <psmith@gnu.org> 622 623 * dir.c (find_directory): Change type of fs_serno/fs_flags/fs_len 624 to unsigned long. Fixes Savannah bug #13550. 625 626 * w32/subproc/sub_proc.c: Remove (HANDLE) casts on lvalues. 627 (process_pipe_io): Initialize tStdin/tStdout/tStderr variables. 628 Fixes Savannah bug #13551. 629 630 2005-06-26 Paul D. Smith <psmith@gnu.org> 631 632 * make.h: Fix bug in ANSI_STRING/strerror() handling; only define 633 it if ANSI_STRING is not set. 634 635 2005-06-25 Paul D. Smith <psmith@gnu.org> 636 637 * read.c (eval): If no filenames are passed to any of the 638 "include" variants, don't print an error. 639 * doc/make.texi (Include): Document this. 640 Fixes Savannah bug #1761. 641 642 * job.c (construct_command_argv_internal): Sanitize handling of 643 backslash/newline pairs according to POSIX: that is, keep the 644 backslash-newline in the command script, but remove a following 645 TAB character, if present. In the fast path, make sure that the 646 behavior matches what the shell would do both inside and outside 647 of quotes. In the slow path, quote the backslash and put a 648 literal newline in the string. 649 Fixes Savannah bug #1332. 650 * doc/make.texi (Execution): Document the new behavior and give 651 some examples. 652 * NEWS: Make a note of the new behavior. 653 654 * make.h [WINDOWS32]: #include <direct.h>. 655 Fixes Savannah bug #13478. 656 657 * remake.c (name_mtime): If the stat() of a file fails and the -L 658 option was given and the file is a symlink, take the best mtime of 659 the symlink we can get as the mtime of the file and don't fail. 660 Fixes Savannah bug #13280. 661 662 * read.c (find_char_unquote): Accept a new argument IGNOREVARS. 663 If it's set, then don't stop on STOPCHARs or BLANKs if they're 664 inside a variable reference. Make this function static as it's 665 only used here. 666 (eval): Call find_char_unquote() with IGNOREVARS set when we're 667 parsing an unexpanded line looking for semicolons. 668 Fixes Savannah bug #1454. 669 * misc.c (remove_comments): Move this to read.c and make it static 670 as it's only used there. Call find_char_unquote() with new arg. 671 * make.h: Remove prototypes for find_char_unquote() and 672 remove_comments() since they're static now. 673 674 * main.c (main): If we see MAKE_RESTARTS in the environment, unset 675 its export flag and obtain its value. When we need to re-exec, 676 increment the value and add it into the environment. 677 * doc/make.texi (Special Variables): Document MAKE_RESTARTS. 678 * NEWS: Mention MAKE_RESTARTS. 679 * main.c (always_make_set): New variable. Change the -B option to 680 set this one instead. 681 (main): When checking makefiles, only set always_make_flag if 682 always_make_set is set AND the restarts flag is 0. When building 683 normal targets, set it IFF always_make_set is set. 684 (main): Avoid infinite recursion with -W, too: only set what-if 685 files to NEW before we check makefiles if we've never restarted 686 before. If we have restarted, set what-if files to NEW _after_ we 687 check makefiles. 688 Fixes Savannah bug #7566: 689 690 2005-06-17 Paul D. Smith <psmith@gnu.org> 691 692 * default.c: Change VMS implicit rules to use $$$$ instead of $$ 693 in the prerequisites list. 694 695 2005-06-12 Paul D. Smith <psmith@gnu.org> 696 697 Fix Savannah bug # 1328. 698 699 * configure.in: Check for atexit(). 700 * misc.c (close_stdout): Test stdout to see if writes to it have 701 failed. If so, be sure to exit with a non-0 error code. Based on 702 code found in gnulib. 703 * make.h: Prototype. 704 * main.c (main): Install close_stdout() with atexit(). 705 706 2005-06-10 Paul D. Smith <psmith@gnu.org> 707 708 VMS build updates from Hartmut Becker <Hartmut.Becker@hp.com>: 709 710 * vmsjobs.c [VMS]: Updates to compile on VMS: add some missing 711 headers; make vmsWaitForChildren() static; extern vmsify(). 712 * job.c [VMS]: Move vmsWaitForChildren() prototype to be global. 713 Don't create child_execute_job() here (it's in vmsjobs.c). 714 * makefile.vms (job.obj) [VMS]: Add vmsjobs.c as a prerequisite. 715 716 2005-06-09 Paul D. Smith <psmith@gnu.org> 717 718 * variable.c (push_new_variable_scope): File variables point 719 directly to the global_setlist variable. So, inserting a new 720 scope in front of that has no effect on those variables: they 721 don't go through current_variable_set_list. If we're pushing a 722 scope and the current scope is global, push it "the other way" so 723 that the new setlist is in the global_setlist variable, and 724 next points to a new setlist with the global variable set. 725 (pop_variable_scope): Properly undo a push with the new 726 semantics. 727 Fixes Savannah bug #11913. 728 729 2005-05-31 Boris Kolpackov <boris@kolpackov.net> 730 731 * job.c (reap_children): Don't die of the command failed but 732 the dontcare flag is set. Fixes Savannah bug #13216. 733 734 * implicit.c (pattern_search): When creating a target from 735 an implicit rule match, lookup pattern target and set precious 736 flag in a newly created target. Fixes Savannah bug #13218. 737 1 738 2005-05-13 Paul D. Smith <psmith@gnu.org> 2 739 … … 347 1084 348 1085 * configure.in: Add MinGW configuration options, and extra w32 code 349 1086 directory. 350 1087 * Makefile.am: Add MinGW configuration options, and extra w32 code 351 1088 directory. 352 1089 * main.c: Determine correct program string (after last \ without .exe). 353 1090 * subproc/sub_proc.c: `GetExitCodeProcess' from incompatible pointer 354 1091 type fix x2 355 1092 * w32/Makefile.am: Import to build win32 lib of sub_proc etc. 356 1093 * subproc/w32err.c: MSVC thread directive not applied to MinGW builds. 357 1094 * tests/run_make_tests.pl, tests/test_driver.pl: MSYS testing 358 1095 environment support. 359 1096 360 1097 2004-04-16 Dmitry V. Levin <ldv@altlinux.org> 361 1098 362 363 364 1099 * function.c (func_shell): When initializing error_prefix, check 1100 that reading file name is not null. This fixes long-standing 1101 segfault in cases like "make 'a1=$(shell :)' 'a2:=$(a1)'". 365 1102 366 1103 2005-02-09 Paul D. Smith <psmith@gnu.org> … … 1523 2260 * read.c (read_all_makefiles, read_makefile, multi_glob): Likewise. 1524 2261 (read_makefile): Parse '|' in prerequisite list. 1525 2262 (uniquize_deps): Consider ignore_mtime when comparing deps. 1526 2263 * remake.c (update_file_1, check_dep): Don't force remake for 1527 2264 dependencies that have d->ignore_mtime. 1528 2265 * commands.c (FILE_LIST_SEPARATOR): New constant. 1529 2266 (set_file_variables): Don't include a 1530 2267 prerequisite in $+, $^ or $? if d->ignore_mtime. 1531 2268 Define $|. 1532 2269 1533 2270 2002-06-18 Paul D. Smith <psmith@gnu.org> … … 1563 2300 2002-05-18 Eli Zaretskii <eliz@is.elta.co.il> 1564 2301 1565 1566 1567 1568 2302 * Makefile.DOS.template: Tweak according to changes in the 2303 distribution. Add back the dependencies of *.o files. 2304 2305 * configh.dos.template: Synchronize with config.h.in. 1569 2306 1570 2307 2002-05-09 Paul D. Smith <psmith@gnu.org> … … 2000 2737 2001 2738 for earlier changes. 2739 2740 2741 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software 2742 Foundation, Inc. 2743 This file is part of GNU Make. 2744 2745 GNU Make is free software; you can redistribute it and/or modify it under the 2746 terms of the GNU General Public License as published by the Free Software 2747 Foundation; either version 2, or (at your option) any later version. 2748 2749 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 2750 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 2751 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 2752 2753 You should have received a copy of the GNU General Public License along with 2754 GNU Make; see the file COPYING. If not, write to the Free Software 2755 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Note:
See TracChangeset
for help on using the changeset viewer.