VirtualBox

Changeset 2591 in kBuild for trunk/src/kmk/ChangeLog


Ignore:
Timestamp:
Jun 17, 2012 8:45:31 PM (13 years ago)
Author:
bird
Message:

kmk: Merged in changes from GNU make 3.82. Previous GNU make base version was gnumake-2008-10-28-CVS.

Location:
trunk/src/kmk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk

    • Property svn:ignore
      •  

        old new  
        1313stamp-*
        1414makebook*
         15
        1516.*gdbinit
         17.gdb_history
         18
        1619*.dep
        1720*.dvi
         
        3134*.pg
        3235*.pgs
         36
        3337README
        3438README.DOS
        3539README.W32
         40README.OS2
        3641aclocal.m4
        3742autom4te.cache
         
        5257config.h.W32
        5358config.h-vms
         59
        5460loadavg
        5561loadavg.c
        5662make
         63
        5764.deps
        5865.dep_segment
         66ID
         67TAGS
         68
        5969_*
        6070sun4
         
        7282sol2
        7383i486-linux
         84
        7485customs
         86
        7587install-sh
        7688mkinstalldirs
         89
         90.directive.asc
  • trunk/src/kmk/ChangeLog

    r1993 r2591  
     12010-07-28  Paul Smith  <[email protected]>
     2
     3        Version 3.82 released.
     4
     5        * configure.in: Change release version.
     6        * NEWS: Change the date.
     7
     8        * read.c (parse_file_seq): Remove GLOB_NOSORT for
     9        backward-compatibility.  We'll add it back in next release.
     10        * NEWS: Note it.
     11
     122010-07-24  Eli Zaretskii  <[email protected]>
     13
     14        * job.c (pid2str) [WINDOWS32]: Fix CPP conditionals for using %Id
     15        format.
     16
     172010-07-18  Paul Smith  <[email protected]>
     18
     19        * configure.in: Switch bsd_signal to AC_CHECK_DECLS() to make sure
     20        we have a declaration.  Fixes Savannah bug #25713 (maybe?)
     21        * doc/make.texi (Complex Makefile): Cleanup variable assignments.
     22        (One Shell): New subsection for the .ONESHELL special target.
     23
     24        Patches by Ozkan Sezer <[email protected]>:
     25
     26        * misc.c (strncasecmp): Local implementation for systems without.
     27        * config.h.W32.template (HAVE_STRNICMP): Define on Windows.
     28        * configure.in: Check for strncasecmp/strncmpi/strnicmp.
     29        * job.c [WINDOWS32]: Don't define dup2 on Windows.
     30        (pid2str): Use "%Id" even with MSVC
     31        (exec_command): Cast to pid_t when calling pid2str().
     32        * w32/subproc/sub_proc.c [WINDOWS32]: Include config.h first.
     33        Use stddef.h on MSVC to get intptr_t.
     34        * w32/subproc/misc.c [WINDOWS32]: Include config.h first.
     35        * w32/compat/dirent.c [WINDOWS32]: Include config.h first.
     36        (readdir): Cast -1 to correct type for d_ino.
     37        * w32/pathstuff.c [WINDOWS32]: Ensure make.h is included first.
     38        * make.h [WINDOWS32]: Don't prototype alloca() on Windows.
     39        Add configuration for strncasecmp().
     40        * main.c (ADD_SIG) [WINDOWS32]: Avoid warnings in MSVC.
     41        * config.h.W32.template [WINDOWS32]: Don't warn on unsafe
     42        functions or variables.
     43        * NMakefile.template [WINDOWS32]: Remove /MACHINE:I386.
     44        * main.c (clean_jobserver): Cast due to MSVC brokenness.
     45        (decode_switches): Ditto.
     46        * vpath.c (construct_vpath_list): Ditto.
     47        * rule.c (freerule): Ditto.
     48        * ar.c (ar_glob): Ditto.
     49
     502010-07-16  Boris Kolpackov  <[email protected]>
     51
     52        * misc.c (concat): Fix buffer overrun.
     53
     542010-07-12  Paul Smith  <[email protected]>
     55
     56        Update copyrights to add 2010.
     57
     58        * build_w32.bat: Support for MSVC Windows x86_64 builds.
     59        * job.c: Don't define execve() on MSVC/64bit.
     60        Patch by Viktor Szakats.  Fixes Savannah bug #27590.
     61
     622010-07-12  Eli Zaretskii  <[email protected]>
     63
     64        * make.h (alloca) [!__GNUC__]: Don't define prototype.
     65        (int w32_kill): Use pid_t for process ID argument.
     66        Fixes Savannah bug #27809.
     67
     682010-07-12  Paul Smith  <[email protected]>
     69
     70        Integrated new .ONESHELL feature.
     71        Patch by David Boyce <[email protected]>.  Modified by me.
     72
     73        * NEWS: Add a note about the new feature.
     74        * job.c (is_bourne_compatible_shell): Determine whether we're
     75        using a standard POSIX shell or not.
     76        (start_job_command): Accept '-ec' as POSIX shell flags.
     77        (construct_command_argv_internal): If one_shell is set and we are
     78        using a POSIX shell, remove "interior" prefix characters such as
     79        "@", "+", "-".  Also treat "\n" as a special character when
     80        choosing the slow path, if ONESHELL is set.
     81        * job.h (is_bourne_compatible_argv): Define the new function.
     82
     83        * make.h (one_shell): New global variable to remember setting.
     84        * main.c: Declare it.
     85        * read.c (record_files): Set it.
     86        * commands.c (chop_commands): If one_shell is set, don't chop
     87        commands into multiple lines; just keep one line.
     88
     892010-07-09  Eli Zaretskii  <[email protected]>
     90
     91        * w32/subproc/sub_proc.c: Include stdint.h.
     92        (sub_process_t): Use intptr_t for file handles and pid_t for
     93        process ID.
     94        (process_pipes, process_init_fd, process_begin): Use intptr_t for
     95        file handles and pid_t for process ID.  Fixes Savannah bug #27809.
     96        Patch by Ozkan Sezer <[email protected]>
     97
     98        * function.c (abspath): Support absolute file names in UNC format.
     99        Fixes Savannah bug #30312.
     100
     101        * job.c (pid2str) [WINDOWS32]: Don't use %Id with GCC < 4.x.
     102        (exec_command) [WINDOWS32]: Use pid2str instead of non-portable
     103        %Id.
     104
     105        * main.c (handle_runtime_exceptions): Use %p to print addresses,
     106        to DTRT on both 32-bit and 64-bit hosts.  Savannah bug #27809.
     107
     108        * job.c (w32_kill, start_job_command, create_batch_file): Use
     109        pid_t for process IDs and intptr_t for the 1st arg of
     110        _open_osfhandle.
     111        * function.c (windows32_openpipe): Use pid_t for process IDs and
     112        intptr_t for the 1st arg of _open_osfhandle.
     113        (func_shell): Use pid_t for process IDs.
     114        * main.c (main) [WINDOWS32]: Pacify the compiler.
     115        * config.h.W32.template (pid_t): Add a definition for 64-bit
     116        Windows builds that don't use GCC.  Fixes Savannah bug #27809.
     117        Patch by Ozkan Sezer <[email protected]>
     118
     1192010-07-07  Paul Smith  <[email protected]>
     120
     121        * configure.in: Bump to a new prerelease version 3.81.91.
     122
     1232010-07-06  Paul Smith  <[email protected]>
     124
     125        * main.c (main): Set a default value of "-c" for .SHELLFLAGS.
     126        * NEWS: Mention the new behavior of .POSIX and the new .SHELLFLAGS
     127        variable.
     128        * job.c (construct_command_argv): Retrieve the .SHELLFLAGS value
     129        and pass it to construct_command_argv_internal().
     130        (construct_command_argv_internal): If .SHELLFLAGS is non-standard
     131        use the slow path.  Use that value instead of hard-coded "-c".
     132
     1332010-07-05  Paul Smith  <[email protected]>
     134
     135        * implicit.c (pattern_search): lastslash can be const.
     136        * dir.c (downcase): Remove unused variable.
     137        * hash.c (hash_init): Cast sizeof for error message.
     138        * arscan.c (ar_scan): Cast to char* for WINDOWS32.
     139        (ar_member_touch): Ditto.
     140        * ar.c (glob_pattern_p): Avoid symbol collision: open -> opened
     141        * signame.c (strsignal): Ditto: signal -> sig
     142        * job.c (create_batch_file): Ditto: error -> error_string
     143        (pid2str): Portably convert a pid_t into a string
     144        (reap_children): Use it.
     145        (start_waiting_job): Use it.
     146        Savannah bug #27809.  Patch by Ozkan Sezer <[email protected]>
     147
     1482010-07-03  Paul Smith  <[email protected]>
     149
     150        * read.c (parse_file_seq): All archive groups must end with ')' as
     151        the LAST character in a word.  If there is no word ending in ')'
     152        then it's not an archive group.  Fixes Savannah bug #28525.
     153
     1542010-07-01  Paul Smith  <[email protected]>
     155
     156        * main.c (main): Append optional features using separate calls.
     157        Not as efficient but not all compilers allow conditionals inside
     158        macro calls.  Fixes Savannah bug #29244.
     159
     1602010-01-10  Paul Smith  <[email protected]>
     161
     162        * make.h (patheq): Rename strieq() to patheq() for clarity.
     163        * dir.c (dir_contents_file_exists_p): Use it.
     164
     165        * dir.c (file_impossible): Convert xmalloc/memset to xcalloc.
     166        * file.c (enter_file): Ditto.
     167        * job.c (new_job): Ditto.
     168
     1692009-12-11  Eli Zaretskii  <[email protected]>
     170
     171        * job.c (construct_command_argv_internal) <sh_cmds_dos>
     172        [WINDOWS32]: Add "echo." and a few more commands that are built
     173        into cmd.exe.  Fixes Savannah bug #28126.
     174
     175        * file.c (lookup_file) [HAVE_DOS_PATHS]: Treat '\\' like we do
     176        with '/'.
     177
     1782009-11-15  Paul Smith  <[email protected]>
     179
     180        Patches for VMS provided by Hartmut Becker <[email protected]>
     181
     182        * vmsjobs.c (ctrlYPressed) [VMS]: Deal with CTRL-Y.
     183        (vmsHandleChildTerm) [VMS]: Ditto.
     184        (astYHandler) [VMS]: Ditto.
     185        (tryToSetupYAst) [VMS]: Ditto.
     186        (child_execute_job) [VMS]: Ditto.
     187
     188        * vmsify.c (trnlog) [VMS]: Fix const errors.
     189        (vmsify) [VMS]: Ditto.
     190
     191        * readme.vms [VMS]: Update with notes for 3.82.
     192
     193        * job.h (comname) [VMS]: Remember the temporary command filename
     194
     195        * dir.c (vmsify) [VMS]: Fix const errors.
     196        (vms_hash) [VMS]: Ditto.
     197        (vmsstat_dir) [VMS]: Ditto.
     198        (find_directory) [VMS]: Fix case-insensitive option for VMS
     199        (dir_contents_file_exists_p) [VMS]: Ditto.
     200        (file_impossible) [VMS]: Ditto.
     201
     202        * config.h-vms.template (HAVE_FDOPEN) [VMS]: Have it.
     203        (HAVE_STRCASECMP) [VMS]: Ditto.
     204
     205        * arscan.c (VMS_get_member_info) [VMS]: Fix timezone computation.
     206        (ar_scan) [VMS]: Fix const error.
     207
     2082009-11-12  Boris Kolpackov  <[email protected]>
     209
     210        * vpath.c (vpath_search, selective_vpath_search): Add index arguments
     211        which allows the caller to get the index of the matching directory.
     212
     213        * make.h (vpath_search): Update prototype.
     214
     215        * remake.c (library_search): Implement linker-compatible library
     216        search. Use the new VPATH_SEARCH index functionality to keep track
     217        of the directory index for each match. Select the match with the
     218        lowest directory index.
     219
     220        * implicit.c (pattern_search): Pass NULL for the index arguments in
     221        the VPATH_SEARCH call.
     222
     223        * doc/make.texi (Directory Search for Link Libraries): Describe the
     224        new search behavior.
     225
     226        * NEWS: Add a note about the new behavior.
     227
     2282009-10-25  Paul Smith  <[email protected]>
     229
     230        * AUTHORS, et.al.: Update copyright years.
     231
     232        * implicit.c (stemlen_compare): Fix qsort() compare bug that
     233        caused implicit rules with equal stem lengths to be sorted
     234        indeterminately.
     235
     2362009-10-24  Paul Smith  <[email protected]>
     237
     238        * main.c (usage): Add --eval to the usage string.
     239        (switches): Add the --eval switch.
     240        (main): If --eval is given, add them to the simply-expanded variable
     241        -*-eval-flags-*- (necessary to allow recursion to work properly).
     242        (define_makeflags): Add -*-eval-flags-*- to MAKEFLAGS.
     243
     244        * NEWS: Describe the new --eval command line argument.
     245        * doc/make.texi (Options Summary): Document --eval.
     246
     247        * dep.h: eval_buffer() returns void.
     248        * read.c (eval_buffer): Ditto.
     249        (eval): Ditto.
     250
     251        * variable.h (define_variable_cname): New macro for constant
     252        variable names.
     253        * default.c (set_default_suffixes): Use it.
     254        * main.c (main): Ditto.
     255        (handle_non_switch_argument): Ditto.
     256        (define_makeflags): Ditto.
     257        * read.c (read_all_makefiles): Ditto.
     258        * variable.c (define_automatic_variables): Ditto.
     259
     260        * commands.c (dep_hash_cmp): Avoid casts.
     261        (dep_hash_1): Ditto.
     262        (dep_hash_2): Ditto.
     263
     2642009-10-22  Boris Kolpackov  <[email protected]>
     265
     266        * read.c (read_all_makefiles): Mark the default makefile dependency
     267        dontcare.
     268
     2692009-10-07  Boris Kolpackov  <[email protected]>
     270
     271        * read.c (do_undefine): Free the expanded variable name.
     272
     273        * commands.c (dep_hash_cmp, set_file_variables): Move the order-only
     274        to normal upgrade logic from  dep_hash_cmp to set_file_variables.
     275
     2762009-10-06  Boris Kolpackov  <[email protected]>
     277
     278        * dep.h (uniquize_deps): Remove.
     279
     280        * read.c (uniquize_deps): Merge into set_file_variables in
     281        commands.c.
     282        (dep_hash_1, dep_hash_2, dep_hash_cmp): Move to commands.c.
     283
     284        * commands.c (set_file_variables): Avoid modifying the dep
     285        chain to achieve uniqueness. Fixes savannah bug 25780.
     286
     287        * implicit.c (pattern_search): Instead of re-setting all automatic
     288        variables for each rule we try, just update $*.
     289
     2902009-10-06  Boris Kolpackov  <[email protected]>
     291
     292        * variable.h (undefine_variable_in_set): New function declaration.
     293        (undefine_variable_global): New macro.
     294
     295        * variable.c (undefine_variable_in_set): New function implementation.
     296
     297        * read.c (vmodifiers): Add undefine_v modifier.
     298        (parse_var_assignment): Parse undefine.
     299        (do_undefine): Handle the undefine directive.
     300        (eval): Call do_undefine if undefine_v is set.
     301
     302        * main.c (.FEATURES): Add a keyword to indicate the new feature.
     303
     304        * doc/make.texi (Undefine Directive): Describe the new directive.
     305
     306        * NEWS: Add a note about the new directive.
     307
     3082009-10-05  Boris Kolpackov  <[email protected]>
     309
     310        * implicit.c (pattern_search): Initialize file variables only
     311        if we need to parse a rule that requires the second expansion.
     312
     3132009-10-03  Paul Smith  <[email protected]>
     314
     315        * make.h: Include <alloca.h> even on systems where __GNUC__ is
     316        defined.  Not sure why it was done the other way.
     317        Requested by David Boyce <[email protected]>.
     318
     3192009-09-30  Boris Kolpackov  <[email protected]>
     320
     321        * dep.h (dep): Add the DONTCARE bitfield.
     322
     323        * filedef.h (file):Add the NO_DIAG bitfield.
     324
     325        * read.c (eval_makefile): Set the DONTCARE flag in struct dep,
     326        not struct file (a file can be a dependency of many targets,
     327        some don't care, some do).
     328
     329        * remake.c (update_goal_chain): Propagate DONTCARE from struct
     330        dep to struct file before updating the goal and restore it
     331        afterwards.
     332        (update_file): Don't prune the dependency graph if this target
     333        has failed but the diagnostics hasn't been issued.
     334        (complain): Scan the file's dependency graph to find the file
     335        that caused the failure.
     336        (update_file_1): Use NO_DIAG instead of DONTCARE to decide
     337        whether to print diagnostics.
     338
     339        Fixes Savannah bugs #15110, #25493, #12686, and #17740.
     340
     3412009-09-28  Paul Smith  <[email protected]>
     342
     343        * doc/make.texi (Pattern Intro): Move the match algorithm
     344        discussion into the "Pattern Match" node.
     345        (Pattern Match): Expand on the pattern rule matching algorithm.
     346
     3472009-09-28  Andreas Buening  <[email protected]>
     348
     349        * job.c (construct_command_argv_internal) [OS2]: Don't eat too
     350        much of the command line on a single pass.
     351
     3522009-09-28  Boris Kolpackov  <[email protected]>
     353
     354        * varible.c (create_pattern_var): Insert variables into the
     355        PATTERN_VARS list in the shortest patterns first order.
     356
     357        * implicit.c (tryrule): Add STEMLEN and ORDER members. These are
     358        used to sort the rules.
     359        (stemlen_compare): Compare two tryrule elements.
     360        (pattern_search): Sort the rules so that they are in the shortest
     361        stem first order.
     362
     363        * main.c (.FEATURES): Add a keyword to indicate the new behavior.
     364
     365        * doc/make.texi (Pattern-specific Variable Values): Describe the
     366        new pattern-specific variables application order.
     367        (Introduction to Pattern Rules): Describe the new pattern rules
     368        search order.
     369
     370        * NEWS: Add a note about the new behavior.
     371
     3722009-09-27  Paul Smith  <[email protected]>
     373
     374        * doc/make.texi (Double-Colon): Mention that pattern rules with
     375        double-colons have a different meaning.  Savannah bug #27497.
     376
     3772009-09-27  Juan Manuel Guerrero  <[email protected]>
     378
     379        * configh.dos.template: Remove unconditional definition of
     380        SYS_SIGLIST_DECLARED.
     381        Include <sys/version.h> because ports of GCC 4.3.0 and later no
     382        longer include it, so macros like __DJGPP_MINOR__ are no longer
     383        defined automatically.
     384
     385        * Makefile.DOS.template (INCLUDES): Use $(prefix) and the
     386        corresponding variables to define LIBDIR, INCLUDEDIR and LOCALEDIR
     387        instead of using the hardcoded ones.
     388        (SUBDIRS): doc subdir added.
     389        (INFO_DEPS, DVIS): Values changed to 'make.info' and 'make.dvi'.
     390        (TEXI2HTML, TEXI2HTML_FLAGS): Removed.  Use makeinfo --html to
     391        create html formated docs.  texi2html may not be ported to DOS.
     392        (make.info, make.dvi, make.ps, make.html): Make targets depend on
     393        'make.texi'.
     394        (.texi.info, .texi, .texi.dvi): Now invoked recursively.  Change
     395        -I switch to look in ./ instead of ./doc.
     396        (html): Target depend on html-recursive instead of make_1.html.
     397        (make_1.html): Removed.
     398        (mostlyclean-aminfo): Use $(srcdir)/doc instead of ./ as prefix.
     399        (all-recursive): Allow for more than one subdir in the build
     400        process.
     401        (mostlyclean-recursive, clean-recursive, distclean-recursive)
     402        (maintainer-clean-recursive, check-recursive): Enter in doc/ too.
     403        (tags-recursive): Allow for more than one subdir in the build
     404        process.
     405        (info-recursive, dvi-recursive, ps-recursive, html-recursive): New
     406        targets.  Enter into doc/ to produce the targets.
     407        (all-am): $(INFO_DEPS) replaced by info.
     408
     4092009-09-26  Paul Smith  <[email protected]>
     410
     411        * read.c (record_files): Use free_ns() to free struct nameseq.
     412        (eval): Ditto.
     413
     414        * rule.c (freerule): Use free_dep_chain().
     415
     416        * read.c (record_files): Free FILENAMES chain for implicit rules.
     417        (eval): Static pattern targets go into the string cache.
     418
     419        * function.c (string_glob): Free NAME in the nameseq chain.
     420
     4212009-09-25  Boris Kolpackov  <[email protected]>
     422
     423        * implicit.c (pattern_search): Terminate early if we haven't
     424        found any rules to try (performance improvement).
     425
     4262009-09-25  Boris Kolpackov  <[email protected]>
     427
     428        * implicit.c (pattern_search): Merge three parallel arrays,
     429        TRYRULES, MATCHES, and CHECKED_LASTSLASH, into one array
     430        of struct TRYRULE. In the old version the latter two arrays
     431        had insufficient length.
     432
     4332009-09-24  Paul Smith  <[email protected]>
     434
     435        * implicit.c (pattern_search): Add back support for order-only
     436        prerequisites for secondary expansion implicit rules, that were
     437        accidentally dropped.  If we find a "|", enable order-only mode
     438        and set IGNORE_MTIME on all deps that are seen afterward.
     439        (pattern_search): Fix memory leaks: for intermediate files where
     440        we've already set the file variable and pattern variable sets, be
     441        sure to either save or free them as appropriate.
     442
     4432009-09-23  Paul Smith  <[email protected]>
     444
     445        Rework the way secondary expansion is stored, for efficiency.
     446        This changes secondary expansion so that ONLY WHEN we know we have
     447        a possibility of needing secondary expansion, do we defer the
     448        secondary expansion.  This means more parsing the deps but we use
     449        a lot less memory (due to the strcache).  Also, this fixes
     450        Savannah bug #18622.
     451
     452        * read.c (eval): Don't parse the dep string here anymore.
     453        (record_files): Take the dep argument as an unparsed string.  If
     454        secondary expansion is enabled AND the prereq string has a '$' in
     455        it, then set NEED_2ND_EXPANSION and keep the entire string.
     456        Otherwise, parse the dep string here to construct the dep list
     457        with the names in the strcache.
     458
     459        * misc.c (copy_dep_chain): For NEED_2ND_EXPANSION, we need to
     460        duplicate the name string (others are in the strcache).
     461
     462        * implicit.c: Remove struct idep and free_idep_chain(): unused.
     463        (struct patdeps): New structure to store prereq information.
     464        (pattern_search): Use the NEED_2ND_EXPANSION flag to determine
     465        which prerequisites need expansion, and expand only those.
     466
     467        * file.c (split_prereqs): Break parse_prereqs() into two parts: this
     468        and enter_prereqs().  split_prereqs() takes a fully-expanded string
     469        and splits it into a DEP list, handling order-only prereqs.
     470        (enter_prereqs): This function enters a list of DEPs into the file
     471        database.  If there's a stem defined, expand any pattern chars.
     472        (expand_deps): Only try to expand DEPs which have NEED_2ND_EXPANSION
     473        set.  Use the above functions.
     474        (snap_deps): Only perform second expansion on prereqs that need it,
     475        as defined by the NEED_2ND_EXPANSION flag.
     476        (print_prereqs): New function to print the prereqs
     477        (print_file): Call print_prereqs() rather than print inline.
     478
     479        * hash.h (STRING_COMPARE): Take advantage of strcache() by
     480        comparing pointers.
     481        (STRING_N_COMPARE): Ditto.
     482        (ISTRING_COMPARE): Ditto.
     483
     484        * dep.h (PARSE_FILE_SEQ): New macro to reduce casts.
     485        (parse_file_seq): Return void*
     486        * read.c (parse_file_seq): Return void*.
     487        (eval): Invoke macroized version of parse_file_seq()
     488        * default.c (set_default_suffixes): Ditto.
     489        * file.c (split_prereqs): Ditto.
     490        * function.c (string_glob): Ditto.
     491        * main.c (main): Ditto.
     492        * rule.c (install_pattern_rule): Ditto.
     493
     494        * filedef.h: Add split_prereqs(), enter_prereqs(), etc.
     495
     4962009-09-16  Paul Smith  <[email protected]>
     497
     498        * misc.c (alloc_dep, free_dep): Now that we have xcalloc(),
     499        convert to macros.
     500        * dep.h: Create alloc_dep() / free_dep() macros.
     501
     502        * implicit.c (pattern_search): Take advantage of the new
     503        parse_file_seq() to add the directory prefix to each prereq.
     504
     505        * dep.h: Remove multi_glob() and enhance parse_file_seq() to do it
     506        all.  Avoid reversing chains.  Support adding prefixes.
     507        * read.c (parse_file_seq): Rewrite to support globbing.  Allow for
     508        cached/non-cached results.
     509        (eval): Remove multi_glob() & invoke new parse_file_seq().
     510        * rule.c (install_pattern_rule): Ditto.
     511        * main.c (main): Ditto.
     512        * implicit.c (pattern_search): Ditto.
     513        * function.c (string_glob): Ditto.
     514        * file.c (parse_prereqs): Ditto.
     515        * default.c (set_default_suffixes): Ditto.
     516
     517        * variable.c (parse_variable_definition): Don't run off the end of
     518        the string if it ends in whitespace (found with valgrind).
     519
     520        * commands.c (set_file_variables): Keep space for all targets in
     521        $? if -B is given (found with valgrind).
     522
     5232009-09-15  Paul Smith  <[email protected]>
     524
     525        * misc.c (concat): Make concat() variadic so it takes >3 arguments.
     526        (xcalloc): Add new function.
     527        * make.h: New declarations.
     528
     529        * ar.c (ar_glob_match): New calling method for concat().
     530        * main.c (main): Ditto.
     531        (decode_env_switches): Ditto.
     532        * read.c (eval_makefile): Ditto.
     533        (tilde_expand): Ditto.
     534        (parse_file_seq): Ditto.
     535        * variable.c (target_environment): Ditto.
     536        (sync_Path_environment): Ditto.
     537
     538        * ar.c (ar_glob_match): Use xcalloc().
     539        * dir.c (file_impossible): Ditto.
     540        * file.c (enter_file): Ditto.
     541        * job.c (new_job): Ditto.
     542        * read.c (parse_file_seq): Ditto.
     543        * vmsfunctions.c (opendir): Ditto.
     544
     5452009-09-14  Rafi Einstein  <[email protected]>  (tiny patch)
     546
     547        * w32/subproc/sub_proc.c (process_begin): Check *ep non-NULL
     548        inside the loop that looks up environment for PATH.
     549
     5502009-08-31  Eli Zaretskii  <[email protected]>
     551
     552        * function.c (windows32_openpipe): Update envp after calling
     553        sync_Path_environment.
     554
     5552009-08-02  Paul Smith  <[email protected]>
     556
     557        * remake.c (notice_finished_file): Ensure file->cmds is not null
     558        before looping through them.  Fixes Savannah bug #21824.
     559
     560        * doc/make.texi (Wildcard Examples): Clarify when objects is
     561        wildcard-expanded.  Fixes Savannah bug #24509.  Patch by Martin Dorey.
     562        (Include): Clarify the behavior of -include.
     563        Fixes Savannah bug #18963.
     564
     5652009-08-01  Paul Smith  <[email protected]>
     566
     567        * doc/make.texi (Catalogue of Rules): Clarify where -c, -F,
     568        etc. come on the command line.  Fixes Savannah bug #27093.
     569
     570        * expand.c (expand_argument): If the argument is large enough use
     571        xmalloc() instead of alloca().  Fixes Savannah bug #27143.
     572
     573        * variable.c (do_variable_definition): Avoid using alloca() to
     574        hold values, which can be large.  Fixes Savannah bug #23960.
     575
     576        * job.c (new_job): Use memmove() instead of strcpy() since both
     577        pointers are in the same memory block.  Fixes Savannah bug #27148.
     578        Patch by Petr Machata.
     579
     5802009-07-29  Ralf Wildenhues  <[email protected]>
     581
     582        * job.c (construct_command_argv_internal): Add "ulimit" and
     583        "unset" to the sh_cmds for Unixy shells.
     584
     5852009-07-29  Ralf Wildenhues  <[email protected]>
     586
     587        * configure.in: Move side-effects outside AC_CACHE_VAL arguments
     588        that set make_cv_sys_gnu_glob, so they are also correctly set
     589        when the cache has been populated before.
     590
     5912009-07-04  Eli Zaretskii  <[email protected]>
     592
     593        * function.c (func_realpath) [!HAVE_REALPATH]: Require the file to
     594        exist, as realpath(3) does where it's supported.
     595
     5962006-07-04  Eli Zaretskii  <[email protected]>
     597
     598        * function.c (IS_ABSOLUTE, ROOT_LEN): New macros.
     599        (abspath): Support systems that define HAVE_DOS_PATHS (have
     600        drive letters in their file names).  Use IS_PATHSEP instead of a
     601        literal '/' comparison.  Fixes Savannah bug #26886.
     602
     6032009-06-14  Paul Smith  <[email protected]>
     604
     605        * remake.c (update_file_1): Remember the original file we marked
     606        as updating, so we can clear that flag again.  If we find a target
     607        via vpath, FILE might change.
     608        (check_dep): Ditto.  Fixes Savannah bug #13529.
     609        Patch by Reid Madsen <[email protected]>.
     610
     6112009-06-13  Paul Smith  <[email protected]>
     612
     613        * doc/make.texi (MAKEFILES Variable): Be explicit that files
     614        included by MAKEFILES cannot give default goals.
     615        * read.c (eval): If set_default is not set, pass the no-default-goal
     616        value when we read included makefiles.  Fixes Savannah bug #13401.
     617
     618        * ar.c (ar_name): Ensure that targets with empty parens aren't
     619        considered archive member references: archive members must have a
     620        non-empty "member" string.  Fixes Savannah bug #18435.
     621
     622        * function.c (string_glob): Rely on multi_glob() to determine
     623        whether files exist or not.  Remove call to file_exists_p() which
     624        is not always correct.  Fixes Savannah bug #21231.
     625        * read.c (multi_glob): Add a new argument EXISTS_ONLY; if true
     626        then only files that really exist will be returned.
     627        * dep.h: Add new argument to multi_glob().
     628        * rule.c (install_pattern_rule): Ditto.
     629        * read.c (eval): Ditto.
     630        * main.c (main): Ditto.
     631        * implicit.c (pattern_search): Ditto.
     632        * file.c (parse_prereqs): Ditto.
     633        * default.c (set_default_suffixes): Ditto.
     634
     6352009-06-09  Paul Smith  <[email protected]>
     636
     637        * commands.c (set_file_variables): If always_make_flag is set,
     638        always add the prereq to $?.  Fixes Savannah bug #17825.
     639
     640        * remake.c (update_file_1): When rebuilding deps of FILE, also try
     641        to rebuild the deps of all the also_make targets for that file.
     642        Fixes Savannah bug #19108.
     643
     644        * implicit.c (pattern_search): Undo test for is_target, added by
     645        BorisK on 21 Sep 2004.  This goes against step 5c in the "Implicit
     646        Rule Search Algorithm".  Fixes Savannah bug #17752.
     647
     648        * main.c (clean_jobserver): Clear the jobserver_fds options and
     649        set job_slots to the default when we clean up.
     650        (define_makeflags): Return the new MAKEFLAGS value.
     651        (main): Reset MAKEFLAGS in the environment when we re-exec.
     652        Fixes Savannah bug #18124.
     653
     6542009-06-08  Paul Smith  <[email protected]>
     655
     656        * read.c (eval): Collapse continuations post-semicolon on target-
     657        specific variables.  Fixes Savannah bug #17521.
     658
     6592009-06-07  Paul Smith  <[email protected]>
     660
     661        * job.c (reap_children): For older systems without waitpid() (are
     662        there any of these left?) run wait(2) inside EINTRLOOP to handle
     663        EINTR errors.  Fixes Savannah bug #16401.
     664
     665        * (various): Debug message cleanup.  Fixes Savannah bug #16469.
     666
     667        * main.c: Fix bsd_signal() typedef.  Fixes Savannah bug #16473.
     668
     669        * file.c (snap_deps): Set SNAPPED_DEPS at the start of snapping,
     670        not the end, to catch second expansion $(eval ...) defining new
     671        target/prereq relationships during snap_deps.
     672        Fixes Savannah bug #24622.
     673
     674        * read.c (record_files): The second-expansion "f->updating" hack
     675        was not completely correct: if assumed that the target with
     676        commands always had prerequisites; if one didn't then the ordering
     677        was messed up.  Fixed for now to use f->updating to decide whether
     678        to preserve the last element in the deps list... but this whole
     679        area of constructing and reversing the deps list is too confusing
     680        and needs to be reworked.  Fixes Savannah bug #21198.
     681
     6822009-06-06  Paul Smith  <[email protected]>
     683
     684        * hash.c (hash_insert): Remove useless test for NULL.
     685        Fixes Savannah bug #21823.
     686
     687        * make.h: Move SET_STACK_SIZE determination to make.h.
     688        * main.c (main): New global variable, STACK_LIMIT, holds the
     689        original stack limit when make was started.
     690        * job.c (start_job_command): Reset the stack limit, if we changed it.
     691        Fixes Savannah bug #22010.
     692
     693        * remake.c (check_dep): Only set the target's state to not-started
     694        if it's not already running.  Found this while testing -j10 builds
     695        of glibc: various targets were being rebuilt multiple times.
     696        Fix from Knut St. Osmundsen; fixes a problem reported in Savannah
     697        bug #15919.
     698
     699        * read.c (multi_glob): Don't pass GLOB_NOCHECK to glob(3); instead
     700        handle the GLOB_NOMATCH error.  This is to work around Sourceware.org
     701        Bugzilla bug 10246.
     702
     7032009-06-04  Paul Smith  <[email protected]>
     704
     705        * read.c (eval): Skip initial whitespace (ffeed, vtab, etc.)
     706
     707        * maintMakefile: Modify access of config and gnulib Savannah
     708        modules to use GIT instead of CVS.
     709
     710        * main.c (main): Initialize the LENGTH field in SHELL_VAR.
     711        Fixes Savannah bug #24655.
     712
     713        * read.c (eval_buffer): Don't dereference reading_file if it's NULL;
     714        this can happen during some invocations of $(eval ...) for example.
     715        Fixes Savannah bug #24588.  Patch by Lars Jessen <[email protected]>
     716
     7172009-06-02  Paul Smith  <[email protected]>
     718
     719        * configure.in: Check for fileno()
     720        * read.c (eval_makefile): If fileno() is available, set CLOSE_ON_EXEC
     721        for the makefile file so invocations of $(shell ...) don't inherit it.
     722        Fixes Savannah bug #24277.
     723
     7242009-06-01  Paul Smith  <[email protected]>
     725
     726        * main.c (main): The previous fix for .DEFAULT_GOAL had issues;
     727        expansion was handled incorrectly.  Rework the default goal
     728        handling to save the variable only.  Remove default_goal_file and
     729        default_goal_name.
     730        * read.c (eval): Check default_goal_var, not default_goal_name.
     731        * read.c (record_target_var): Don't check default_goal_file here.
     732
     7332009-05-31  Paul Smith  <[email protected]>
     734
     735        * main.c (main): Expand the .DEFAULT_GOAL variable before using
     736        it, and if the multi_glob() returns nothing (say it expanded to
     737        nothing but spaces) then don't crash.  Fixes Savannah bug #25697.
     738
     739        * doc/make.texi (Quick Reference): Add $(if ..), $(or ..), and
     740        $(and ..) to the reference.  Fixes Savannah bug #25694.
     741
     742        * make.1: Be clear that some recipes will be executed even with -n.
     743        * doc/make.texi: Ditto.  Fixes Savannah bug #25460.
     744
     745        * doc/make.texi (Override Directive): Make more clear how
     746        overrides and appends interact.
     747        Elucidates part of Savannah bug #26207.
     748
     749        * read.c (record_target_var): Don't reset the origin on
     750        target-specific variables; try_variable_definition() will handle
     751        this correctly.  Fixes Savannah bug #26207.
     752
     753        * maintMakefile (do-po-update): Copy PO files into $(top_srcdir).
     754        Fixes Savannah bug #25712.
     755
     756        * implicit.c (pattern_search): Keep a pointer to the beginning of
     757        the filename and save that instead of the constructed pointer.
     758        Fixes Savannah bug #26593.
     759        Patch by Mark Seaborn <[email protected]>
     760
     7612009-05-30  Paul Smith  <[email protected]>
     762
     763        * doc/make.texi (Multi-Line): Add a description of the new abilities
     764        of define/endef.  Rename "Sequences" to "Multi-Line" and fix some
     765        "command sequence" vs. "recipe" syntax.
     766        * read.c (do_define): Modify to allow assignment tokens (=, :=, etc.)
     767        after a define, to create variables with those flavors.
     768
     7692009-05-25  Paul Smith  <[email protected]>
     770
     771        Reworked the parser for variable assignments to allow multiple
     772        modifiers, and in any order.  Also allows variable and
     773        prerequisites to be modifier names ('export', 'private', etc.)
     774
     775        * NEWS: Add notes about user-visible changes.
     776
     777        * read.c (struct vmodifiers): Remember what modifiers were seen.
     778        (parse_var_assignment): New function to parse variable assignments.
     779        (eval): Call the new function.  Handle variable assignments earlier.
     780
     781        * variable.c (parse_variable_definition): Only parse; don't create var.
     782        (assign_variable_definition): Call parse, then create the var.
     783
     7842009-05-24  Paul Smith  <[email protected]>
     785
     786        * doc/make.texi: Fix the ISBN for the GNU make manual.  Incorrect
     787        value noticed by Hans Stol <[email protected]>.
     788
     7892009-03-14  Eli Zaretskii  <[email protected]>
     790
     791        * w32/pathstuff.c (convert_Path_to_windows32): Fix last change.
     792        Fixes Savannah bug #25412.
     793
     794        * w32/subproc/sub_proc.c <top level>: Update Copyright years.  Add
     795        prototype for xmalloc.
     796        (find_file): Accept 3 arguments PATH_VAR, FULL_FNAME, and FULL_LEN
     797        instead of an LPOFSTRUCT pointer.  Use xmalloc instead of malloc.
     798        Loop over an array of extensions, instead of duplicating the same
     799        code inline.  Use SearchPath followed by CreateFile, instead of
     800        the obsolete OpenFile.  Fixes Savannah bug #17277.
     801        (process_begin): Find $(PATH) in `envp', and pass a pointer to it
     802        to `find_file'.  Fixes Savannah bug #25662.
     803
     8042009-03-07  Eli Zaretskii  <[email protected]>
     805
     806        * function.c (func_shell): Don't close pipedes[1] if it is -1.
     807        Fixes Savannah bug #20495.
     808
     8092009-02-28  Ralf Wildenhues  <address@hidden>
     810
     811        * doc/make.texi (Instead of Execution): Document interaction of
     812        -t with phony targets.
     813
     8142009-02-23  Ramon Garcia  <[email protected]>
     815
     816        Introduce a new keyword "private" which applies to target-specific
     817        variables and prevents their values from being inherited.
     818
     819        * variable.h (struct variable): Add private_var flag to each variable.
     820        Add a flag to specify which list entry switches to the parent target.
     821        * variable.c (define_variable_in_set): Initialize private_var flag.
     822        (lookup_variable): Skip private variables in parent contexts.
     823        (initialize_file_variables): Set next_is_parent appropriately.
     824        (print_variable): Show the private_var flag.
     825        * read.c (eval): Recognize the private keyword.
     826        (record_target_var): Set private_var.
     827        * doc/make.texi (Suppressing Inheritance): Add documentation.
     828
     8292008-10-26  Paul Smith  <[email protected]>
     830
     831        * configure.in: Check for strndup().
     832        * misc.c (xstrndup): Rename savestring to xstrndup.  Use strndup
     833        if it's available.
     834        * make.h: Rename savestring to xstrndup.
     835        * commands.c (chop_commands): Ditto.
     836        * function.c (func_foreach): Ditto.
     837        * read.c (eval, record_files): Ditto.
     838        * variable.c (define_variable_in_set): Ditto.
     839
    18402008-09-30  Eli Zaretskii  <[email protected]>
    2841
     
    8161655
    8171656        * make.1: Fix some display errors and document all existing options.
    818         Patch provided by Mike Frysinger <[email protected]>.
     1657        Patch by Mike Frysinger <[email protected]>.
    8191658
    82016592005-12-11  Paul D. Smith  <[email protected]>
     
    31644003
    31654004
    3166 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software
    3167 Foundation, Inc.
     4005Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free
     4006Software Foundation, Inc.
    31684007This file is part of GNU Make.
    31694008
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette