The branch stable/13 has been updated by sjg:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=9956ced97ea83bbd57f79ae4d3911b660979c2b4

commit 9956ced97ea83bbd57f79ae4d3911b660979c2b4
Author:     Simon J. Gerraty <s...@freebsd.org>
AuthorDate: 2021-06-25 21:26:16 +0000
Commit:     Simon J. Gerraty <s...@freebsd.org>
CommitDate: 2022-02-16 05:36:27 +0000

    Update to bmake-20210621
    
    MFC after:      1 week
    
    (cherry picked from commit 68c4481aac28f5a088553b9c31579f6fbc8500fd)
---
 contrib/bmake/job.c               |  9 +++++----
 usr.bin/bmake/Makefile.config     |  2 +-
 usr.bin/bmake/unit-tests/Makefile | 28 +++++++++++++++++++++-------
 3 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/contrib/bmake/job.c b/contrib/bmake/job.c
index c27c47d0b054..ba2e5c827b0c 100644
--- a/contrib/bmake/job.c
+++ b/contrib/bmake/job.c
@@ -262,7 +262,7 @@ typedef struct ShellWriter {
  * Use .MAKE.ALWAYS_PASS_JOB_QUEUE=no to disable.
  */
 #define MAKE_ALWAYS_PASS_JOB_QUEUE ".MAKE.ALWAYS_PASS_JOB_QUEUE"
-static int Always_pass_job_queue = TRUE;
+static bool Always_pass_job_queue = true;
 /*
  * FreeBSD: aborting entire parallel make isn't always
  * desired. When doing tinderbox for example, failure of
@@ -270,7 +270,7 @@ static int Always_pass_job_queue = TRUE;
  * We still want to bail on interrupt though.
  */
 #define MAKE_JOB_ERROR_TOKEN "MAKE_JOB_ERROR_TOKEN"
-static int Job_error_token = TRUE;
+static bool Job_error_token = true;
 
 /*
  * error handling variables
@@ -2265,10 +2265,11 @@ Job_Init(void)
        aborting = ABORT_NONE;
        job_errors = 0;
 
-       Always_pass_job_queue = GetBooleanVar(MAKE_ALWAYS_PASS_JOB_QUEUE,
+       Always_pass_job_queue = GetBooleanExpr(MAKE_ALWAYS_PASS_JOB_QUEUE,
            Always_pass_job_queue);
 
-       Job_error_token = GetBooleanVar(MAKE_JOB_ERROR_TOKEN, Job_error_token);
+       Job_error_token = GetBooleanExpr(MAKE_JOB_ERROR_TOKEN, Job_error_token);
+
 
        /*
         * There is a non-zero chance that we already have children.
diff --git a/usr.bin/bmake/Makefile.config b/usr.bin/bmake/Makefile.config
index 75d1ad6e6e65..36b1664be099 100644
--- a/usr.bin/bmake/Makefile.config
+++ b/usr.bin/bmake/Makefile.config
@@ -7,7 +7,7 @@ SRCTOP?= ${.CURDIR:H:H}
 
 # things set by configure
 
-_MAKE_VERSION?=20210206
+_MAKE_VERSION?=20210621
 
 prefix?= /usr
 srcdir= ${SRCTOP}/contrib/bmake
diff --git a/usr.bin/bmake/unit-tests/Makefile 
b/usr.bin/bmake/unit-tests/Makefile
index 7bcda5c151ac..d2efc5cce5b2 100644
--- a/usr.bin/bmake/unit-tests/Makefile
+++ b/usr.bin/bmake/unit-tests/Makefile
@@ -2,9 +2,9 @@
 # See contrib/bmake/bsd.after-import.mk
 #
 # $FreeBSD$
-# $Id: Makefile,v 1.143 2021/02/06 18:31:30 sjg Exp $
+# $Id: Makefile,v 1.148 2021/06/16 19:18:56 sjg Exp $
 #
-# $NetBSD: Makefile,v 1.269 2021/02/06 18:26:03 sjg Exp $
+# $NetBSD: Makefile,v 1.279 2021/06/16 09:39:48 rillig Exp $
 #
 # Unit tests for make(1)
 #
@@ -207,7 +207,9 @@ TESTS+=             impsrc
 TESTS+=                include-main
 TESTS+=                job-flags
 #TESTS+=               job-output-long-lines
+TESTS+=                job-output-null
 TESTS+=                jobs-empty-commands
+TESTS+=                jobs-empty-commands-error
 TESTS+=                jobs-error-indirect
 TESTS+=                jobs-error-nested
 TESTS+=                jobs-error-nested-make
@@ -232,6 +234,7 @@ TESTS+=             opt-debug-curdir
 TESTS+=                opt-debug-cond
 TESTS+=                opt-debug-dir
 TESTS+=                opt-debug-errors
+TESTS+=                opt-debug-errors-jobs
 TESTS+=                opt-debug-file
 TESTS+=                opt-debug-for
 TESTS+=                opt-debug-graph1
@@ -325,6 +328,7 @@ TESTS+=             var-class-env
 TESTS+=                var-class-global
 TESTS+=                var-class-local
 TESTS+=                var-class-local-legacy
+TESTS+=                var-eval-short
 TESTS+=                var-op
 TESTS+=                var-op-append
 TESTS+=                var-op-assign
@@ -351,6 +355,7 @@ TESTS+=             varmod-indirect
 TESTS+=                varmod-l-name-to-value
 TESTS+=                varmod-localtime
 TESTS+=                varmod-loop
+TESTS+=                varmod-loop-varname
 TESTS+=                varmod-match
 TESTS+=                varmod-match-escape
 TESTS+=                varmod-no-match
@@ -367,6 +372,7 @@ TESTS+=             varmod-select-words
 TESTS+=                varmod-shell
 TESTS+=                varmod-subst
 TESTS+=                varmod-subst-regex
+TESTS+=                varmod-sun-shell
 TESTS+=                varmod-sysv
 TESTS+=                varmod-tail
 TESTS+=                varmod-to-abs
@@ -488,6 +494,7 @@ SED_CMDS.job-output-long-lines= \
        ${:D marker should always be at the beginning of the line. } \
        -e '/^aa*--- job-b ---$$/d' \
        -e '/^bb*--- job-a ---$$/d'
+SED_CMDS.opt-chdir=            -e 's,\(nonexistent\).[1-9][0-9]*,\1,'
 SED_CMDS.opt-debug-graph1=     ${STD_SED_CMDS.dg1}
 SED_CMDS.opt-debug-graph2=     ${STD_SED_CMDS.dg2}
 SED_CMDS.opt-debug-graph3=     ${STD_SED_CMDS.dg3}
@@ -498,11 +505,12 @@ SED_CMDS.opt-debug-jobs+= -e 's,JobFinish: 
[0-9][0-9]*,JobFinish: <pid>,'
 SED_CMDS.opt-debug-jobs+=      -e 's,Command: ${.SHELL:T},Command: <shell>,'
 # The "-q" may be there or not, see jobs.c, variable shells.
 SED_CMDS.opt-debug-jobs+=      -e 's,^\(.Command: <shell>\) -q,\1,'
+SED_CMDS.opt-debug-lint+=      ${STD_SED_CMDS.regex}
 SED_CMDS.opt-jobs-no-action=   ${STD_SED_CMDS.hide-from-output}
 SED_CMDS.opt-no-action-runflags= ${STD_SED_CMDS.hide-from-output}
-# For Compat_RunCommand, useShell == FALSE.
+# For Compat_RunCommand, useShell == false.
 SED_CMDS.sh-dots=              -e 's,^.*\.\.\.:.*,<not found: ...>,'
-# For Compat_RunCommand, useShell == TRUE.
+# For Compat_RunCommand, useShell == true.
 SED_CMDS.sh-dots+=             -e 's,^make: exec(\(.*\)) failed (.*)$$,<not 
found: \1>,'
 SED_CMDS.sh-dots+=             -e 's,^\(\*\*\* Error code 
\)[1-9][0-9]*,\1<nonzero>,'
 SED_CMDS.sh-errctl=            ${STD_SED_CMDS.dj}
@@ -513,8 +521,7 @@ SED_CMDS.suff-transform-debug+=     ${STD_SED_CMDS.dg1}
 SED_CMDS.var-op-shell+=                ${STD_SED_CMDS.shell}
 SED_CMDS.var-op-shell+=                -e '/command/s,No such.*,not found,'
 SED_CMDS.vardebug+=            -e 's,${.SHELL},</path/to/shell>,'
-SED_CMDS.varmod-subst-regex+= \
-                       -e 's,\(Regex compilation error:\).*,\1 (details 
omitted),'
+SED_CMDS.varmod-subst-regex+=  ${STD_SED_CMDS.regex}
 SED_CMDS.varname-dot-parsedir= -e '/in some cases/ s,^make: "[^"]*,make: 
"<normalized>,'
 SED_CMDS.varname-dot-parsefile=        -e '/in some cases/ s,^make: 
"[^"]*,make: "<normalized>,'
 SED_CMDS.varname-dot-shell=    -e 's, = /[^ ]*, = (details omitted),g'
@@ -594,6 +601,11 @@ STD_SED_CMDS.shell+=               -e 's,^${.SHELL:T}: 
line [0-9][0-9]*: ,,'
 STD_SED_CMDS.shell+=           -e 's,^${.SHELL:T}: [0-9][0-9]*: ,,'
 STD_SED_CMDS.shell+=           -e 's,^${.SHELL:T}: ,,'
 
+# The actual error messages for a failed regcomp or regexec differ between the
+# implementations.
+STD_SED_CMDS.regex= \
+       -e 's,\(Regex compilation error:\).*,\1 (details omitted),'
+
 # End of the configuration helpers section.
 
 .sinclude "Makefile.inc"
@@ -643,8 +655,10 @@ _MKMSG_TEST= :
 .if ${.OBJDIR} != ${.CURDIR}
 # easy
 TMPDIR:=       ${.OBJDIR}/tmp
+.elif defined(TMPDIR)
+TMPDIR:=       ${TMPDIR}/uid${.MAKE.UID}
 .else
-TMPDIR:=       ${TMPDIR:U/tmp}/uid${.MAKE.UID}
+TMPDIR:=       /tmp/uid${.MAKE.UID}
 .endif
 # make sure it exists
 .if !exist(${TMPDIR})

Reply via email to