[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] make branch, master, updated. 4.3-93-gf8f9d37
From: |
Paul D. Smith |
Subject: |
[SCM] make branch, master, updated. 4.3-93-gf8f9d37 |
Date: |
Mon, 18 Oct 2021 23:04:52 -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 f8f9d371ff58a7195ca4abc9413f435c2bf2b998 (commit)
via f5af979357f10e3c2dd1fc5e483d52928c7cf6ec (commit)
via 76cb18673216f9a7089584b4f3831befa2a4d559 (commit)
via 6c06c547dcc990a9db0648d66b6a6519c3d1e5d4 (commit)
from c5d4b7b2f260c85ba48db4e844c4a2e4e3004238 (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 f8f9d371ff58a7195ca4abc9413f435c2bf2b998
Author: Dmitry Goncharov <dgoncharov@users.sf.net>
Date: Sun Oct 17 18:03:04 2021 -0400
[SV 61042] Enhance logging of implicit rule search
Logging of implicit rule search gives limited information as to why a
given implicit rule was rejected, and if no implicit rule is found we
get the confusing "No rule to make target" result when the real issue
is that some prerequisite of some implicit rule could not be built.
Enhance logging around implicit rule search as follows:
1. The messages which refer to a rule print a description (the targets
and prerequisites) of the rule.
2. A new message tells when a rule is rejected, along with the reason.
3. The 'Looking for an implicit rule...' message is printed for every
prerequisite, not just the top-level target.
4. "Trying harder" message is printed, when intermediate prerequisites
are going to be searched.
5. The 'No rule found...' and 'Found implicit rule...' messages are
printed for every prerequisite, not just the top-level target.
6. "Ought to exist...", "Found..." or "Not found..." message is
printed for each prerequisite.
* src/rule.h (struct rule): Remember the definition of the rule.
* src/rule.c (get_rule_defn): Compute the definition of a rule.
(install_pattern_rule): Initialize the definition to empty.
(create_pattern_rule): Ditto.
(freerule): Free the definition.
(print_rule): Use the definition when printing rules.
* src/remake.c (update_file_1): Push debug output down into
try_implicit_rule().
* src/implicit.c (try_implicit_rule): Add debugging
(pattern_search): Show the rule definition in various debug output.
Add new debug messages for implicit rule search.
Additional changes by Paul Smith <psmith@gnu.org>:
Since we usually don't need the rule definition, defer computing it
until we do.
* bootstrap.conf: Include the mempcpy Gnulib module.
* src/makeint.h (mempcpy): Declare mempcpy if not available.
* src/misc.c (mempcpy): Define mempcpy if not available.
* src/config.h-vms.template: Don't set HAVE_MEMPCPY.
* src/config.h.W32.template: Ditto.
* src/rule.h (get_rule_defn): Return the definition of a rule.
* src/rule.c (get_rule_defn): If we don't have a definition compute
it; either way return it.
* src/implicit.c (pattern_search): Rework the handling of explicit
prerequisites to pattern rules to be more clear. There is no change
in behavior.
commit f5af979357f10e3c2dd1fc5e483d52928c7cf6ec
Author: Dmitry Goncharov <dgoncharov@users.sf.net>
Date: Sat Oct 2 15:19:15 2021 -0400
* doc/make.texi (Special Targets): [SV 61122] Add .SECONDARY example
commit 76cb18673216f9a7089584b4f3831befa2a4d559
Author: Paul Smith <psmith@gnu.org>
Date: Sun Oct 17 19:07:36 2021 -0400
* README.git: Update C version prerequisite
commit 6c06c547dcc990a9db0648d66b6a6519c3d1e5d4
Author: Paul Smith <psmith@gnu.org>
Date: Sat Sep 18 18:53:38 2021 -0400
Add support for the POSIX :::= assignment operator.
POSIX Issue 8 will require a new assignment operator, :::=.
This operator behaves similarly to the BSD make := operator: the
right-hand side is expanded immediately, but then the value is
re-escaped (all '$' are converted to '$$') and the resulting variable
is considered a recursive variable: the value is re-expanded on use.
* src/variable.h (enum variable_flavor): Add f_expand flavor.
* src/variable.c (do_variable_definition): When defining f_expand,
post-process the result to re-escape '$' characters.
Remove default: to the compiler warns about un-handled enum values.
Set recursive values for both f_recursive and f_expand.
(parse_variable_definition): Rewrite this method.
The previous version was annoying to extend to ':::='.
(print_variable): Remove default: so the compiler warns us about
un-handled enum values.
* src/function.c (func_origin): Remove default: so the compiler warns
us about un-handled enum values.
* doc/make.texi: Add documentation for :::=.
* tests/scripts/variables/define: Add a test for define :::=.
* tests/scripts/variables/flavors: Add tests for :::=.
* tests/scripts/variables/negative: Add tests for :::=.
-----------------------------------------------------------------------
Summary of changes:
README.git | 13 +-
bootstrap.conf | 1 +
doc/make.texi | 251 +++++++++++++++++++++++++++++----------
src/config.h-vms.template | 3 +
src/config.h.W32.template | 3 +
src/function.c | 1 -
src/implicit.c | 106 +++++++++++------
src/job.c | 2 +-
src/makeint.h | 7 +-
src/misc.c | 8 ++
src/remake.c | 10 +-
src/rule.c | 65 ++++++++--
src/rule.h | 2 +
src/variable.c | 213 +++++++++++++++++++--------------
src/variable.h | 1 +
tests/scripts/variables/define | 11 +-
tests/scripts/variables/flavors | 44 +++++++
tests/scripts/variables/negative | 14 +++
18 files changed, 535 insertions(+), 220 deletions(-)
hooks/post-receive
--
make
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] make branch, master, updated. 4.3-93-gf8f9d37,
Paul D. Smith <=