make-alpha
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] make branch, master, updated. 4.3-234-gf6ea899d


From: Paul D. Smith
Subject: [SCM] make branch, master, updated. 4.3-234-gf6ea899d
Date: Mon, 12 Sep 2022 18:36:35 -0400 (EDT)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "make".

The branch, master has been updated
       via  f6ea899d83bf00fe9201fde0ca9cf7af8e443677 (commit)
      from  ee861a4e9f523d06d26ed612ad1a93b6ecb408de (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit f6ea899d83bf00fe9201fde0ca9cf7af8e443677
Author: Paul Smith <psmith@gnu.org>
Date:   Mon Sep 12 18:18:49 2022 -0400

    [SV 13862] Implement the .WAIT special target
    
    The next version of the POSIX standard defines parallel execution
    and requires the .WAIT special target as is implemented in some other
    versions of make.
    
    This implementation behaves similarly to others in that it does not
    create a relationship between targets in the dependency graph, so
    that the same two targets may be run in parallel if they appear as
    prerequisites elsewhere without .WAIT between them.
    
    Now that we support .WAIT it's trivial to also support prerequisites
    of the .NOTPARALLEL special target, which forces the prerequisites of
    those targets to be run serially (as if .WAIT was specified between
    each one).
    
    * NEWS: Announce the new .WAIT and .NOTPARALLEL support.
    * doc/make.texi (Parallel Disable): A new section to discuss ways in
    which parallel execution can be controlled.  Modify cross-refs to
    refer to this section.
    * src/dep.h (struct dep): Add a new wait_here boolean.
    (parse_file_seq): Add PARSEFS_WAIT to check for .WAIT dependencies.
    * src/file.c (split_prereqs): Use PARSEFS_WAIT.
    (snap_deps): If .NOTPARALLEL has prerequisites, set .WAIT between
    each of _their_ prerequisites.
    (print_prereqs): Add back in .WAIT when printing prerequisites.
    * src/implicit.c (struct patdeps): Preserve wait_here.
    (pattern_search): Ditto.  Use PARSEFS_WAIT when parsing prereqs for
    pattern rule expansion.
    * src/read.c (check_specials): Don't give up early: remembering to
    update these options is not worth the rare speedup.
    (check_special_file): If .WAIT is given as a target show an error--
    once--if it has prereqs or commands.
    (record_files): Call check_special_file on each target.
    (parse_file_seq): If PARSEFS_WAIT is given, look for .WAIT prereqs.
    If we see one assume that we are building a struct dep chain and set
    the wait_here option while not putting it into the list.
    * src/remake.c (update_file_1): If wait_here is set and we are still
    running, then stop trying to build this target's prerequisites.
    * src/rule.c (get_rule_defn): Add .WAIT to the prerequisite list.
    * src/shuffle.c (shuffle_deps): Don't shuffle the prerequisite list
    if .WAIT appears anywhere in it.
    * tests/scripts/targets/WAIT: Add a test suite for this feature.

-----------------------------------------------------------------------

Summary of changes:
 NEWS                       |  15 ++++
 doc/make.texi              | 134 +++++++++++++++++++++++++++----
 src/dep.h                  |   6 +-
 src/file.c                 |  25 ++++--
 src/implicit.c             |  10 ++-
 src/read.c                 |  69 +++++++++++++---
 src/remake.c               |   7 ++
 src/rule.c                 |  26 +++---
 src/shuffle.c              |  11 ++-
 tests/scripts/targets/WAIT | 193 +++++++++++++++++++++++++++++++++++++++++++++
 10 files changed, 445 insertions(+), 51 deletions(-)
 create mode 100644 tests/scripts/targets/WAIT


hooks/post-receive
-- 
make



reply via email to

[Prev in Thread] Current Thread [Next in Thread]