Ignore:
Timestamp:
Sep 15, 2006, 7:09:38 AM (19 years ago)
Author:
bird
Message:

Untested merge with GNU Make v3.81 (vendor/gnumake/2005-05-16 -> vendor/gnumake/current).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gmake/ChangeLog

    r281 r503  
     12006-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
     122006-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
     172006-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
     252006-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
     372006-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
     432006-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
     582006-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
     642006-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
     792006-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
     872006-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
     1012006-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
     1072006-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
     1122006-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
     1282006-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
     1392006-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
     1452006-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
     1542006-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
     1752006-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
     1932006-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
     1992006-02-11  Paul D. Smith  <psmith@gnu.org>
     200
     201        * (ALL FILES): Updated copyright and license notices.
     202
     2032006-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
     2182006-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
     2242006-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
     2342006-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
     2412006-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
     2602006-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
     2752006-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
     2812006-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
     2932006-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
     3162006-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
     3282006-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
     3402006-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
     3492005-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
     3552005-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
     3672005-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
     3842005-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
     3902005-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
     3952005-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
     4022005-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
     4082005-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
     4142005-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
     4212005-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
     4282005-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
     4342005-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
     4642005-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
     4702005-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
     4762005-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
     4822005-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
     4872005-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
     4932005-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
     4992005-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
     5142005-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
     5312005-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
     5682005-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
     5742005-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
     5812005-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
     5932005-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
     6002005-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
     6062005-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
     6162005-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
     6212005-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
     6302005-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
     6352005-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
     6902005-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
     6952005-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
     7062005-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
     7162005-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
     7292005-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
    17382005-05-13  Paul D. Smith  <psmith@gnu.org>
    2739
     
    3471084
    3481085        * configure.in: Add MinGW configuration options, and extra w32 code
    349         directory.
     1086        directory.
    3501087        * Makefile.am: Add MinGW configuration options, and extra w32 code
    351         directory.
     1088        directory.
    3521089        * main.c: Determine correct program string (after last \ without .exe).
    3531090        * subproc/sub_proc.c: `GetExitCodeProcess' from incompatible pointer
    354         type fix x2
     1091        type fix x2
    3551092        * w32/Makefile.am: Import to build win32 lib of sub_proc etc.
    3561093        * subproc/w32err.c: MSVC thread directive not applied to MinGW builds.
    3571094        * tests/run_make_tests.pl, tests/test_driver.pl: MSYS testing
    358         environment support.
     1095        environment support.
    3591096
    36010972004-04-16  Dmitry V. Levin  <ldv@altlinux.org>
    3611098
    362         * function.c (func_shell): When initializing error_prefix, check
    363         that reading file name is not null.  This fixes long-standing
    364         segfault in cases like "make 'a1=$(shell :)' 'a2:=$(a1)'".
     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)'".
    3651102
    36611032005-02-09  Paul D. Smith  <psmith@gnu.org>
     
    15232260        * read.c (read_all_makefiles, read_makefile, multi_glob): Likewise.
    15242261        (read_makefile): Parse '|' in prerequisite list.
    1525         (uniquize_deps): Consider ignore_mtime when comparing deps.
     2262        (uniquize_deps): Consider ignore_mtime when comparing deps.
    15262263        * remake.c (update_file_1, check_dep): Don't force remake for
    15272264        dependencies that have d->ignore_mtime.
    15282265        * commands.c (FILE_LIST_SEPARATOR): New constant.
    1529         (set_file_variables): Don't include a
     2266        (set_file_variables): Don't include a
    15302267        prerequisite in $+, $^ or $? if d->ignore_mtime.
    1531         Define $|.
     2268        Define $|.
    15322269
    153322702002-06-18  Paul D. Smith  <psmith@gnu.org>
     
    156323002002-05-18  Eli Zaretskii  <eliz@is.elta.co.il>
    15642301
    1565         * Makefile.DOS.template: Tweak according to changes in the
    1566         distribution.  Add back the dependencies of *.o files.
    1567 
    1568         * configh.dos.template: Synchronize with config.h.in.
     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.
    15692306
    157023072002-05-09  Paul D. Smith  <psmith@gnu.org>
     
    20002737
    20012738for earlier changes.
     2739
     2740
     2741Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
     2742Foundation, Inc.
     2743This file is part of GNU Make.
     2744
     2745GNU Make is free software; you can redistribute it and/or modify it under the
     2746terms of the GNU General Public License as published by the Free Software
     2747Foundation; either version 2, or (at your option) any later version.
     2748
     2749GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY
     2750WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
     2751A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
     2752
     2753You should have received a copy of the GNU General Public License along with
     2754GNU Make; see the file COPYING.  If not, write to the Free Software
     2755Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Note: See TracChangeset for help on using the changeset viewer.