FreeBSD/src 5ad769f. var.c Makefile, mk rust.mk setopts.sh

Import bmake-20250125

Intersting/relevant changes since bmake-20240711

ChangeLog since bmake-20240711

2025-01-25  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20250125
        Merge with NetBSD make, sync up below change.

        * unit-tests/Makefile: remove $TMPDIR via .END
        to avoid failure in test on NFS - since the temp file for the
        target script is open and thus gets renamed by the server rather
        than removed.

2025-01-20  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20250120
        Merge with NetBSD make, pick up
        o use FORK_FUNCTION so it can be forced to fork when doing coverage.
        o main.c: avoid memory allocation in error path after exec failure.

2025-01-16  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20250116
        Merge with NetBSD make, pick up
        o clarify that undefined expressions are allowed in dependencies
        o simplify code for evaluating the '!=' variable assignment

2025-01-11  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20250111
        Merge with NetBSD make, pick up
        o replace "Malformed conditional" with "Variable is undefined"
        when appropriate

2025-01-10  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20250110
        Merge with NetBSD make, pick up
        o job.c: remove some unnecessary layers in job handling
        o unit-tests: test expressions based on undefined variables

2025-01-01  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20250101
        Merge with NetBSD make, pick up
        o var.c: reduce pointer indirections when unexporting a variable

2024-12-12  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20241212
        * mk/ updates

2024-11-24  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20241124
        Merge with NetBSD make, pick up
        o var.c: fix confusing error message when overriding a read-only
        variable

2024-11-22  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20241122
        Merge with NetBSD make, pick up
        o unit-tests/Makefile: optimize running of tests skip extra cat
        in 99% of cases.

2024-11-15  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20241114
        Merge with NetBSD make, pick up
        o make.1: note that MAKEOBJPREFIX should be absolute path
        also that it can be set via makefile if suitable care taken.

2024-11-10  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20241110
        Merge with NetBSD make, pick up
        o make: allow .../ (search here and above) in
        .MAKE.MAKEFILE_PREFERENCE and -f argument.

2024-11-03  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20241101
        Merge with NetBSD make, pick up
        o parse.c: report filename:linenumber in parse debug output

2024-09-21  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20240921
        Merge with NetBSD make, pick up
        o make.1: Only list the defaults for MAKEFILE_PREFERENCE once.

        * Makefile: use genfiles.mk to generate ${MAN}
        so that it can be tuned for local site.
        Ensure MAN  is defined before including Makefile.inc

        * Makefile: use MK_GEN_MAN to make it easier to control whether we
        generate ${MAN}

2024-09-16  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20240909

        * arch.c: fix NetBSD PR 58597

2024-09-01  Simon J Gerraty  <sjg at beast.crufty.net>

        * Makefile: use SUBDIR.${MK_TESTS} so that we skip
        unit-tests for obj and clean when FreeBSD is building WITHOUT_TESTS

        * VERSION (_MAKE_VERSION): 20240901
        Merge with NetBSD make, pick up
        o reduce line length in error messages
        o var.c: simplify printing of an evaluation stack element

2024-08-29  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20240828
        Merge with NetBSD make, pick up
        o add more context to error message about recursive variables
        o treat recursive variables non-fatally - continue parsing to end
        of makefile

2024-08-12  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20240808
        Merge with NetBSD make, pick up
        o improve some error messages for better clarify and readability

2024-07-22  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20240722
        Merge with NetBSD make, pick up
        o job.c: remove dead code

2024-07-21  Simon J Gerraty  <sjg at beast.crufty.net>

        * VERSION (_MAKE_VERSION): 20240720
        Merge with NetBSD make, pick up
        o compat.c: do not run commands that have parse or evaluation errors.
        o var.c: remove wrong error message about an undefined variable

mk/ChangeLog since bmake-20240711

2025-01-10  Simon J Gerraty  <sjg at beast.crufty.net>

        * rust.mk: use RUST_LIBS and RUST_PROGS

2025-01-01  Simon J Gerraty  <sjg at beast.crufty.net>

        * install-mk (MK_VERSION): 20250101

        * use W flag to :S and :C rather than :tW

2024-12-16  Simon J Gerraty  <sjg at beast.crufty.net>

        * rust.mk: add RUSTFLAGS if needed

2024-12-12  Simon J Gerraty  <sjg at beast.crufty.net>

        * init.mk (OBJS_SRCS_FILTER): apply this as
        ${OBJS_SRCS_FILTER:ts:} as we do in FreeBSD.

2024-12-03  Simon J Gerraty  <sjg at beast.crufty.net>

        * install-mk (MK_VERSION): 20241202

        * setopts.sh: needed by newlog.sh

2024-11-22  Simon J Gerraty  <sjg at beast.crufty.net>

        * meta.sys.mk: add META_MODE_XTRAS to META_MODE to make it
        easier to add things like 'env' when debugging.

        * install-mk (MK_VERSION): 20241122

        * rust.mk: rename CARGO* to RUST_CARGO* so I don't feel
        like this makefile should be renamed to cargo.mk

2024-11-11  Simon J Gerraty  <sjg at beast.crufty.net>

        * dirdeps.mk: add DIRDEPS_CACHED_ENV to dirdeps-cached and
        DIRDEP_USE_EPILOGUE to _DIRDEP_USE

2024-10-30  Simon J Gerraty  <sjg at beast.crufty.net>

        * meta.sys.mk: if MK_META_ERROR_TARGET is yes and NEWLOG_SH is
        set, and ERROR_LOGDIR already exists, hook _rotateErrorLog to
        .BEGIN target.

2024-10-27  Simon J Gerraty  <sjg at beast.crufty.net>

        * options.mk: add support for DEBUG_OPTIONS (similar to
        DEBUG_DIRDEPS) to allow us to see where options get set.
        Eg. DEBUG_OPTIONS="STAGING*" gives:

        bmake[1]: "mk/options.mk" line 89: sys.mk: MK_STAGING=yes (MK_DIRDEPS_BUILD=no)
        bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING=yes
        bmake[1]: "mk/options.mk" line 66: local.init.mk: MK_STAGING_PROG=no
        bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_MAN=yes (MK_STAGING=yes)
        bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_PROG=no (MK_STAGING=yes)
        bmake[1]: "mk/options.mk" line 89: own.mk: MK_STAGING_RUST=no (MK_STAGING_PROG=no)

        * own.mk: fix setting of STAGE_OBJTOP (normally set by sys.dirdeps.mk)

2024-10-26  Simon J Gerraty  <sjg at beast.crufty.net>

        * rust.mk: add some documentation and support for staging

2024-10-25  Simon J Gerraty  <sjg at beast.crufty.net>

        * rust.mk: a means of integrating Rust projects into a larger build.

2024-10-18  Simon J Gerraty  <sjg at beast.crufty.net>

        * dirdeps-targets.mk: if DEBUG_DIRDEPS_TARGETS and we found
        STATIC_DIRDEPS_CACHE, report its relative path.

2024-09-30  Simon J Gerraty  <sjg at beast.crufty.net>

        * dirdeps.mk: tweak the debug message for "Loading" a
        Makefile.depend file, always report what the actual makefile is
        with the DIRDEP it is for.
        Remove the redundant "Looking" message.

2024-09-26  Simon J Gerraty  <sjg at beast.crufty.net>

        * meta2deps.py: when raising AssertionError include meta file name
        with $SB trimmed if possible.

2024-09-23  Simon J Gerraty  <sjg at beast.crufty.net>

        * meta2deps.py: replace assert() with raise AssertionError when we
        detect missing eXits, to ensure a meaningful message gets into
        log.

2024-09-21  Simon J Gerraty  <sjg at beast.crufty.net>

        * install-mk (MK_VERSION): 20240921

        * FILES: add genfiles.mk

2024-09-20  Simon J Gerraty  <sjg at beast.crufty.net>

        * install-mk (MK_VERSION): 20240920

        * cython.mk: Get PYTHON_VERSION from PYTHON

2024-08-31  Simon J Gerraty  <sjg at beast.crufty.net>

        * subdir.mk: add ${SUBDIR.yes} - allows for SUBDIR.${MK_*}
          and handle subdir with '-' in its name.

2024-08-23  Simon J Gerraty  <sjg at beast.crufty.net>

        * install-mk (MK_VERSION): 20240820

        * links.mk: Allow a filter to be applied to SYMLINKS etc.
        It is up to [BUILD_][SYM]LINKS_FILTER to do something sane.
        Also only claim we are making a symlink if the value changed.
DeltaFile
+129-104unit-tests/moderrs.exp
+203-0mk/rust.mk
+175-0mk/setopts.sh
+101-74unit-tests/moderrs.mk
+61-88var.c
+146-0unit-tests/suff.exp
+84-55Makefile
+139-0ChangeLog
+117-0mk/ChangeLog
+91-24unit-tests/cmd-errors-jobs.mk
+17-67job.c
+39-38unit-tests/var-recursive.mk
+67-9unit-tests/cmd-errors-jobs.exp
+49-24unit-tests/varmod-subst-regex.exp
+57-9unit-tests/varmod-select-words.mk
+61-4unit-tests/cond-token-var.mk
+38-27unit-tests/varmod.exp
+42-22unit-tests/varparse-errors.exp
+36-27unit-tests/varmod-ifelse.exp
+36-24unit-tests/varmod-select-words.exp
+26-26unit-tests/varmod-to-separator.exp
+30-21unit-tests/vardebug.exp
+8-41parse.c
+26-23unit-tests/varmod-order.exp
+20-28unit-tests/varmod.mk
+30-17bmake.1
+23-22unit-tests/varmisc.exp
+21-23unit-tests/varparse-errors.mk
+25-19main.c
+24-19mk/cython.mk
+14-29unit-tests/varmod-order.mk
+23-18unit-tests/var-recursive.exp
+14-27unit-tests/varmod-to-separator.mk
+41-0unit-tests/suff.mk
+21-17unit-tests/varmod-assign.exp
+19-19unit-tests/directive-export-impl.exp
+24-11make.1
+17-17mk/links.mk
+20-14bmake.cat1
+20-11unit-tests/varmod-match.exp
+17-13unit-tests/varmisc.mk
+15-15unit-tests/suff-main-several.exp
+15-15unit-tests/varname-dot-shell.exp
+14-15cond.c
+20-9unit-tests/varmod-edge.exp
+16-13unit-tests/varmod-match-escape.exp
+18-10unit-tests/deptgt.exp
+12-16unit-tests/varmod-ifelse.mk
+16-11unit-tests/varmod-assign.mk
+26-0mk/genfiles.mk
+18-8unit-tests/directive-include-guard.mk
+21-3unit-tests/cmd-interrupt.mk
+12-11unit-tests/varmod-mtime.exp
+15-8unit-tests/Makefile
+11-12unit-tests/varmod-match.mk
+18-4unit-tests/cond-token-var.exp
+11-11unit-tests/suff-rebuild.exp
+13-9unit-tests/varmod-indirect.exp
+11-11unit-tests/varmod-range.exp
+9-12unit-tests/vardebug.mk
+5-16unit-tests/cond-undef-lint.mk
+18-3make.h
+9-11mk/dirdeps.mk
+10-10unit-tests/varmod-localtime.exp
+10-10unit-tests/varmod-gmtime.exp
+8-12unit-tests/varmod-edge.mk
+19-1unit-tests/archive.mk
+10-10unit-tests/cond-token-string.exp
+5-15unit-tests/dep-var.mk
+7-12unit-tests/varmod-range.mk
+16-3unit-tests/opt-debug-var.mk
+7-12unit-tests/varmod-mtime.mk
+6-11unit-tests/varmod-localtime.mk
+6-11unit-tests/varmod-gmtime.mk
+12-5unit-tests/cond-func.mk
+7-10unit-tests/cmd-errors.mk
+7-10unit-tests/cmd-errors-lint.mk
+8-8unit-tests/varmod-loop-varname.exp
+11-5unit-tests/varmod-subst-regex.mk
+12-4mk/meta2deps.py
+8-8unit-tests/cond-op.mk
+9-6unit-tests/varmod-hash.exp
+8-7unit-tests/opt-debug-lint.exp
+7-7unit-tests/varname-dot-suffixes.exp
+8-6unit-tests/cmd-errors.exp
+8-6unit-tests/cmd-errors-lint.exp
+7-7unit-tests/opt-debug-parse.exp
+7-7unit-tests/cond-op.exp
+7-7unit-tests/cond-token-plain.mk
+8-6mk/lib.mk
+5-9unit-tests/varmod-loop-varname.mk
+12-1mk/meta.sys.mk
+9-4compat.c
+7-5unit-tests/directive-for-escape.exp
+6-6unit-tests/cond-token-plain.exp
+7-5mk/prog.mk
+9-3unit-tests/deptgt.mk
+6-6unit-tests/suff-incomplete.exp
+12-0unit-tests/archive.exp
+6-6unit-tests/var-eval-short.exp
+10-1unit-tests/var-op-shell.mk
+9-2mk/init.mk
+8-3unit-tests/cond-func-defined.mk
+9-1unit-tests/varname-dot-make-level.exp
+5-5unit-tests/varmod-loop.exp
+5-5mk/README
+6-4mk/subdir.mk
+5-5unit-tests/cond-cmp-string.mk
+5-5unit-tests/cond-token-number.mk
+3-7unit-tests/cond-undef-lint.exp
+4-6unit-tests/opt-debug-lint.mk
+5-5unit-tests/varmod-indirect.mk
+5-4unit-tests/cond-func.exp
+7-2unit-tests/varmod-hash.mk
+6-3unit-tests/cond-func-empty.mk
+8-1unit-tests/varname-dot-make-level.mk
+4-5arch.c
+5-3os.sh
+4-4unit-tests/cond-op-and.mk
+7-1mk/options.mk
+7-1unit-tests/opt-debug-var.exp
+4-4unit-tests/cond-op-or.mk
+4-4unit-tests/varname.exp
+6-2unit-tests/cmdline.mk
+4-4unit-tests/varmod-sysv.exp
+4-4unit-tests/cond-op-parentheses.mk
+3-5unit-tests/varmod-sysv.mk
+4-4unit-tests/varmod-match-escape.mk
+6-2unit-tests/var-op-expand.exp
+4-4unit-tests/dep-var.exp
+4-4unit-tests/varmod-shell.mk
+4-4unit-tests/cond-eof.mk
+4-4unit-tests/cond-cmp-string.exp
+4-4unit-tests/cond-token-number.exp
+5-2mk/own.mk
+6-1unit-tests/cond-func-target.mk
+6-1unit-tests/cond-func-make.mk
+6-1unit-tests/cond-func-exists.mk
+6-1mk/sys.vars.mk
+6-1unit-tests/cond-func-commands.mk
+3-4unit-tests/cond-token-string.mk
+3-3unit-tests/varparse-dynamic.mk
+3-3unit-tests/directive-include.mk
+3-3unit-tests/lint.exp
+3-3unit-tests/varmod-shell.exp
+3-3unit-tests/cond-op-and.exp
+3-3unit-tests/var-op-expand.mk
+6-0unit-tests/var-op-shell.exp
+3-3unit-tests/cond-eof.exp
+3-3unit-tests/cond-cmp-numeric-eq.mk
+3-3unit-tests/varname.mk
+3-3suff.c
+3-3unit-tests/directive-for-escape.mk
+3-3unit-tests/cond-op-parentheses.exp
+3-3unit-tests/varmod-sun-shell.mk
+3-3unit-tests/cond-op-or.exp
+4-2unit-tests/directive-include-guard.exp
+3-2unit-tests/varmod-subst.exp
+4-1mk/dirdeps-targets.mk
+2-3bsd.after-import.mk
+2-3unit-tests/var-eval-short.mk
+3-1unit-tests/cond-late.exp
+2-2job.h
+2-2mk/gendirdeps.mk
+2-2mk/install-mk
+2-2unit-tests/cmdline.exp
+2-2unit-tests/cond-cmp-numeric-eq.exp
+2-2unit-tests/cond-cmp-numeric.mk
+2-2unit-tests/cond-func-defined.exp
+2-2unit-tests/cond-op-not.mk
+2-2unit-tests/cond-late.mk
+2-2unit-tests/deptgt-order.exp
+2-2unit-tests/directive-for-errors.mk
+2-2unit-tests/directive-for.mk
+2-2unit-tests/directive-if-nested.mk
+2-2unit-tests/directive-if.mk
+2-2unit-tests/directive-include-fatal.mk
+2-2unit-tests/directive-undef.mk
+2-2unit-tests/include-main.exp
+2-2unit-tests/varmod-assign-shell.mk
+3-1unit-tests/varmod-loop-delete.exp
+2-2unit-tests/varmod-loop-delete.mk
+2-2unit-tests/varmod-sun-shell.exp
+2-2unit-tests/varparse-dynamic.exp
+2-1unit-tests/directive-include.exp
+1-2unit-tests/cond-func-empty.exp
+2-1unit-tests/directive-for.exp
+2-1unit-tests/varmod-subst.mk
+2-1unit-tests/directive-for-errors.exp
+2-1mk/sys.mk
+3-0mk/FILES
+2-1unit-tests/directive-undef.exp
+1-1unit-tests/cond-op-not.exp
+1-1unit-tests/directive-include-fatal.exp
+1-1unit-tests/directive-if.exp
+1-1unit-tests/deptgt-makeflags.exp
+1-1unit-tests/varmod-assign-shell.exp
+1-1unit-tests/cond-cmp-numeric.exp
+2-0FILES
+1-1VERSION
+1-0unit-tests/cmd-interrupt.exp
+3,148-1,740201 files

UnifiedSplitRaw