<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/unit-tests/suff-transform-debug.exp, branch vendor/NetBSD/bmake</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=vendor%2FNetBSD%2Fbmake</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=vendor%2FNetBSD%2Fbmake'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2026-04-06T18:25:05Z</updated>
<entry>
<title>Import bmake-20260313</title>
<updated>2026-04-06T18:25:05Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2026-04-06T18:25:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fe271bdb43cf88ee129d94c0e286fe618fd28e89'/>
<id>urn:sha1:fe271bdb43cf88ee129d94c0e286fe618fd28e89</id>
<content type='text'>
Intersting/relevant changes since bmake-20251111

ChangeLog since bmake-20251111

2026-03-12  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260313
	Merge with NetBSD make, pick up
	o make: ensure .MAKE.SAVE_DOLLARS is initialized so makefiles like
	sys.vars.mk can test its value to know how to deal with macros
	that need to save '$' during ':='.

	* Makefile: default MAKE_SAVE_DOLLARS_DEFAULT to "no"
	for traditional behavior.

2026-03-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260310
	Merge with NetBSD make, pick up
	o unit-tests ensure TEST_MAKE is absolute path
	and tests that make symlink for ${MAKE} can run in parallel.

2026-03-03  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260303
	Merge with NetBSD make, pick up
	o job.c: MaybeSubMake: Look for expansion of ${.MAKE}
	and if necessary its basename, and only match if at start of line
	or preceded by space.

2026-02-28  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* Makefile: mark ${PROG} and ${OBJS} as .META
	MaybeSubMake will otherwise mistake them for sub-makes

	* VERSION (_MAKE_VERSION): 20260301
	Merge with NetBSD make, pick up
	o job.c: MaybeSubMake: skip control chars [@+-] at start of line
	when checking for ${MAKE}

2026-02-22  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260222
	o mk file update

2026-02-16  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260216
	Merge with NetBSD make, pick up
	o minor cleanups

2026-02-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260210
	Merge with NetBSD make, pick up
	o document that multiple variables can be set on command line.
	o move MaybeSubMake to job.c so it can be called on expanded
	commands for more accuracy and less overhead.
	o main.c: set .MAKE.VERSION as read-only.

	* unit-tests/opt-{chdir,where-am-i}.mk: use MAKEOBJDIRPREFIX=/
	to avoid tripping over an unreadable /usr/obj

2026-02-04  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* unit-tests/varname-make_stack_trace.mk: for
	FreeBSD and similar set .MAKE.ALWAYS_PASS_JOB_QUEUE=no
	to ensure we get the expected errors.

	* VERSION (_MAKE_VERSION): 20260202
	Merge with NetBSD make, pick up
	o on error avoid duplicate stack trace to stderr

2026-01-11  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260111
	Merge with NetBSD make, pick up
	o var.c: add explicit check for empty re as not all
	regex libs throw an error as expected, in this case.

2026-01-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20260110
	Merge with NetBSD make, pick up
	o minor cleanups

mk/ChangeLog since bmake-20251111

2026-03-12  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20260313

	* sys.vars.mk: use .MAKE.VERSION
	M_type can simply use '$x'

2026-02-22  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20260222

	* dirdeps.mk, sys.mk: add dependent option
	UPDATE_DIRDEPS_CACHE/DIRDEPS_CACHE.
	It can be useful to use -DWITHOUT_UPDATE_DIRDEPS_CACHE to
	temporarily treat dynamic DIRDEPS_CACHE as static.

2026-01-10  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* meta.autodep.mk (${_DEPENDFILE}): add .NOMETA

2026-01-08  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* rust.mk: better accommodation for RUST_LIBS.
	Set RUST_{LIBS,PROGS}_CARGO_BUILD_OUTPUT_LIST to
	simplify staging.

2025-12-08  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20251207

	* sys.vars.mk: replace MAKE_POSIX_SHELL usage with isPOSIX_SHELL
	Using ${isPOSIX_SHELL:U:Nfalse} provides a boolean for make
	and ${isPOSIX_SHELL:Ufalse} does the same for target scripts.
	Both will be false if isPOSIX_SHELL is not set or set to false.

	This has the advantage that if only POSIX shells are expected
	sys.mk (or something it includes) can simply do isPOSIX_SHELL?=:
</content>
</entry>
<entry>
<title>Import bmake-20250618</title>
<updated>2025-06-28T02:38:49Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2025-06-28T02:38:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4f8f2bc2946615330eaa2cc1f6b37d97865fa58a'/>
<id>urn:sha1:4f8f2bc2946615330eaa2cc1f6b37d97865fa58a</id>
<content type='text'>
Intersting/relevant changes since bmake-20250414

ChangeLog since bmake-20250414

2025-06-18  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20250618
	Merge with NetBSD make, pick up
	o parse.c: in a warning without location information,
	print the stack trace

2025-06-15  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20250615
	Merge with NetBSD make, pick up
	o add on-demand inter-process stack traces
	o job.c,meta.c: do not discard empty lines in the output of a command
	o job.c: add job prefix if necessary in non-default filtered mode
	o parse.c,var.c: skip inter-process stack trace when
	MAKE_STACK_TRACE=no

2025-06-12  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20250612
	Merge with NetBSD make, pick up
	o use a common style for unexpected error messages
	o parse.c: add program name to stack traces from sub-makes
	add quotes to "in directory" line in stack traces
	o var.c: check variable names for invalid characters when there
	are no modifiers to apply.  This detects and warns about gmake
	syntax like: $(addprefix -I, $(LIST))

2025-06-09  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20250606
	Merge with NetBSD make, pick up
	o main.c: fix bug in handling of output of children in jobs mode

2025-05-28  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20250528
	Merge with NetBSD make, pick up
	o show contents of MAKEFLAGS in the stack trace.
	o main.c: delay warning about bogus -J flag, if we end up in
	compat mode before the call to InitMaxJobs, the warning isn't
	necessary.

2025-05-25  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20250525
	Merge with NetBSD make, pick up
	o main.c: set .CURDIR earlier so it can be reported in some errors.

2025-05-20  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20250520
	Merge with NetBSD make, pick up
	o rename variables, remove now-redundant comments
	o job.c: clean up building the shell commands in parallel mode
	remove timeout for polling in parallel mode
	o main.c: clean up error message for malformed internal -J option

2025-05-11  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20250511
	Merge with NetBSD make, pick up
	o job.c: rename token pool variables to be more descriptive
	move ContinueJobs further up, to eliminate a forward declaration
	error out if writing to an internal pipe fails
	clean up constant names and function names
	use uniform debug log messages for the token pool
	in the debug log, replace magic numbers with identifiers
	o main.c: clean up error message for malformed internal -J option
	o make.c: replace bitset in trace output with descriptive node
	attributes
	o targ.c: add end marker for -dg1, -dg2 and -dg3 debug log
	o var.c: fix order of error messages in the ":?" modifier

2025-04-25  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20250424
	Merge with NetBSD make, pick up
	o cleanup; replace unsigned int with just unsigned
	Inline the TMPPAT macro, as it is only needed in a single place
	o move struct Job from job.h to job.c
	o job.c: group the code for handling the job token pool
	avoid excessive values of -j
	o make.c: fix grammar in debug log message

mk/ChangeLog since bmake-20250414

2025-05-28  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20250528

	* add dirdeps2dplibs.mk

2025-05-18  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20250518

	* meta.autodep.mk (META_FILES): re-work to fix filtering.
	if OPTIMIZE_OBJECT_META_FILES==yes
	provide a default META_FILE_OBJ_FILTER that selects a valid
	.SUFFIX to match *o.meta, there's no guarantee that it will be as
	simple as .o or .So etc.
	We have to defer evaluation until the target script is run
	for any of these filters to have any effect.
	Use :S,${.OBJDIR}/,, rather than :T incase there are objects
	in sub-dirs.

	* lib.mk: leverage ${.SUFFIXES} when setting dependencies.

	* add UPDATE_DEPENDFILE as a dependent option - follows
	DIRDEPS_BUILD and use MK_UPDATE_DEPENDFILE as default for
	UPDATE_DEPENDFILE when we think it should be yes.
	This allows override with -DWITH[OUT]_UPDATE_DEPENDFILE
	without overriding UPDATE_DEPENDFILE directly - which can lead to
	trouble.

2025-05-16  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20250515

	* meta2deps.py: resolve the target of a Move or Link first
	and track the last path resolved, then if the src is a relative
	path we can easily use that last path to resolve the src correctly.

	* meta2deps.sh: for a Move or Link add the dir of target path to
	the list used to resolve the src path.
</content>
</entry>
<entry>
<title>Import bmake-20240508</title>
<updated>2024-05-14T04:13:22Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2024-05-14T04:13:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3c2ab5fddc576e58f3ffa70dc5fa95144646a513'/>
<id>urn:sha1:3c2ab5fddc576e58f3ffa70dc5fa95144646a513</id>
<content type='text'>
Intersting/relevant changes since bmake-20240430

ChangeLog since bmake-20240430

2024-05-07  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20240508
	Merge with NetBSD make, pick up
	o make: ensure variables set on command line get added to
	.MAKEOVERRIDES (even if they start with '.') so they are passed to
	sub-makes.

mk/ChangeLog since bmake-20240430

2024-05-04  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20240504

	* dirdeps.mk: allow BUILD_DIRDEPS_OVERRIDES to pass overrides to
	sub-make building DIRDEPS_CACHE.
</content>
</entry>
<entry>
<title>Import bmake-20230909</title>
<updated>2023-09-17T17:03:11Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2023-09-17T17:03:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1012cf15f75d1e9048779abd07270a37cdba590a'/>
<id>urn:sha1:1012cf15f75d1e9048779abd07270a37cdba590a</id>
<content type='text'>
Update import.sh to generate below

ChangeLog since bmake-20230622

2023-09-09  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20230909
	Merge with NetBSD make, pick up
	o main.c: allow -j to compute a multiple of ncpu
	If _SC_NPROCESSORS_ONLN is supported; and -j arg is a floating
	point number or ends in 'C' compute .MAKE.JOBS as a multiple of
	_SC_NPROCESSORS_ONLN
	.MAKE.JOBS.C will be "yes" if -jC is supported

2023-08-20  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20230820
	Merge with NetBSD make, pick up
	o make.1: note that :localtime is better for %s
	o parse.c: improve error messages for invalid input.
	o var.c: fix for %s:L:gmtime - set TZ=UTC and use localtime to get
	correct result, it is still better to use %s:L:localtime.

2023-08-18  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20230818
	Merge with NetBSD make, pick up
	o meta.c: meta_ignore - check raw path against metaIgnorePaths
	to potentially skip call to realpath.
	o var.c: be strict when parsing the argument of the ':mtime' modifier
	o unit-tests/varmod-mtime.mk: document why '${%s:L:localtime}'
	should be used to get an equivalent value to time(3).

2023-08-16  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20230816
	Merge with NetBSD make, pick up
	o cond.c: clean up multiple-inclusion guards

2023-07-25  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* unit-tests/Makefile: addd varmod-localtime to BROKEN_TESTS
	if configure cannot work out how to control TZ.
	Remove varmod-localtime from BROKEN_TESTS for IRIX*

2023-07-24  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20230723

	* configure.in: fix the test for wether TZ=Europe/Berlin works.
	Depending on the time of year, if run between 22:00 and 00:00 UTC
	the check in configure would fail incorrectly.
	Take the day into account as well.

2023-07-18  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20230711
	Merge with NetBSD make, pick up
	o make.1: clean up wording, clarify scope of '!' in conditions

2023-07-15  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* make-bootstrap.sh.in: set prefix
	If configure is run using ksh we get unexpanded ${prefix} in
	DEFAULT_SYS_PATH, by ensuring prefix is set we should still get
	correct result.

2023-07-13  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* VERSION (_MAKE_VERSION): 20230711
	bump version for IRIX tweaks

	* make.h: undef OP_NONE if defined

	* unit-tests/Makefile: set BROKEN_TESTS for IRIX

	* configure.in: override INSTALL on IRIX

2023-06-27  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* boot-strap op_test: ensure we set TEST_MAKE as we want it.

mk/ChangeLog since bmake-20230622

2023-09-09  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* jobs.mk (JOB_MAX): use -jC if we can
	we actually use JOB_MAX_C which defaults to 1.33C

2023-08-18  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* now_utc: %s only works with :localtime

2023-07-14  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-sh: ignore -c as claimed and only insist on
	a directory for destination when more than one file to copy.

	* sys.mk: when looking for SYS_OS_MK try ${.MAKE.OS} and
	${.MAKE.OS:S,64,,} early (so we find sys/IRIX.mk for IRIX64)

2023-07-13  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20230711

	* sys.mk: set SYS_MK and INSTALL_SH for systems with incompatible
	install(1)

	* sys/IRIX.mk:  when setting ROOT_GROUP only match the first :0:
	set INSTALL to install-sh rather than pathname that may not exist
	(yet).

2023-07-07  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* dirdeps.mk: pass DIRDEP_TARGETS to DIRDEP_MAKE
	normally this is empty - for the default target, but there are
	use-cases where we might set it to something else.

2023-07-04  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* install-mk (MK_VERSION): 20230704

	* dirdeps.mk: apply DEBUG_DIRDEPS_LIST_FILTER to lists we output
	when DEBUG_DIRDEPS is in effect.
	Eg. DEBUG_DIRDEPS_LIST_FILTER=ts\n
	can greatly improve readability.
</content>
</entry>
<entry>
<title>Import bmake-20220330</title>
<updated>2022-04-03T19:52:08Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2022-04-03T19:52:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a052cb432096794be5070dc68a2b302eaf5a4783'/>
<id>urn:sha1:a052cb432096794be5070dc68a2b302eaf5a4783</id>
<content type='text'>
Most relevant change:

	o parse.c: try to include 'posix.mk' the first time
	.POSIX: is encountered, to allow for beter POSIX compliance.

Others

	o cond.c: make debug logging for comparisons less technical
	o lst.c: fix mem leak in Lst_Remove
	o job.c: fix echoing of command with '-' in silent target in jobs mode
	o var.c: make debug logs more readable
	prefer 'long long' over 'long' on 32-bit C99 platforms
	fix crash on .undef of an environment variable
</content>
</entry>
<entry>
<title>Import bmake-20211212</title>
<updated>2021-12-18T07:27:22Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2021-12-18T07:27:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2935fe8237c83c1dcb113dd5335733263e68e6fd'/>
<id>urn:sha1:2935fe8237c83c1dcb113dd5335733263e68e6fd</id>
<content type='text'>
Relevant changes see ChangeLog for details:

Add support for ${.SUFFIXES} as read-only variable.

Fix memory leak in cond.c

Punt on write errors - ENOSPC etc.

Lots of code refactoring, rework to reduce memory allocations.

More unit-tests.
</content>
</entry>
<entry>
<title>Import bmake-20210206</title>
<updated>2021-02-11T01:51:11Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2021-02-11T01:51:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8b6f73e37baf5c37946844ec335a84856b1a9033'/>
<id>urn:sha1:8b6f73e37baf5c37946844ec335a84856b1a9033</id>
<content type='text'>
Changes of interest

  o unit-tests: use private TMPDIR to avoid errors from other users
  o avoid strdup in mkTempFile
  o always use vfork
  o job.c: do not create empty shell files in jobs mode
    reduce unnecessary calls to waitpid
  o cond.c: fix debug output for comparison operators in conditionals
</content>
</entry>
<entry>
<title>Import bmake-20210110</title>
<updated>2021-01-14T01:24:34Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2021-01-14T01:24:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8e11a9b4250be3c3379c45fa820bff78d99d5946'/>
<id>urn:sha1:8e11a9b4250be3c3379c45fa820bff78d99d5946</id>
<content type='text'>
Quite a lot of churn on style, but lots of
good work refactoring complicated functions
and lots more unit-tests.
Thanks mostly to rillig at NetBSD

Some interesting entries from ChangeLog

o .MAKE.{UID,GID} represent uid and gid running make.

o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable
  checks in InitObjdir.  Explicit .OBJDIR target always allows
  read-only directory.

o add more unit tests for META MODE

Change-Id: I4d3bcf08b4c864d98b343f602efe5a75dbfa7a94
</content>
</entry>
</feed>
