<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/unit-tests/parse.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>2025-07-19T17:08:57Z</updated>
<entry>
<title>Import bmake-20250707</title>
<updated>2025-07-19T17:08:57Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2025-07-19T17:08:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3d772e596c1acf76f555c1f51fd8d834e56b0c35'/>
<id>urn:sha1:3d772e596c1acf76f555c1f51fd8d834e56b0c35</id>
<content type='text'>
Intersting/relevant changes since bmake-20250618

ChangeLog since bmake-20250618

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

	* VERSION (_MAKE_VERSION): 20250707
	Merge with NetBSD make, pick up
	o cond.c: improve debug log message for 'exists' function.
	complain about unfinished escape sequences or string literals.

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

	* VERSION (_MAKE_VERSION): 20250704
	Merge with NetBSD make, pick up
	o make.1: add a DIAGNOSTICS section for make to reference.
	o main.c: simplify the warning for invalid -J by refering to
	manual page.

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

	* VERSION (_MAKE_VERSION): 20250630
	Merge with NetBSD make, pick up
	o consistently use double quotes in error messages
	o cond.c: if a condition is erroneous, skip the whole .if/.endif
	o make_malloc.c: in cleanup mode, initialize freshly allocated memory
	o str.c: error out on an ":M" modifier whose pattern ends with
	backslash
	o var.c: fix parsing of modifier parts for :gmtime and :localtime
	add POSIX $^ support

mk/ChangeLog since bmake-20250618

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

	* prog.mk: .MADE is a special source not a target!
</content>
</entry>
<entry>
<title>Import bmake-20250414</title>
<updated>2025-04-19T20:53:59Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2025-04-19T20:53:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=284d1f7d496806b18558ab55e4654fd5e96d6a3e'/>
<id>urn:sha1:284d1f7d496806b18558ab55e4654fd5e96d6a3e</id>
<content type='text'>
Intersting/relevant changes since bmake-20250308

ChangeLog since bmake-20250308

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

	* VERSION (_MAKE_VERSION): 20250414
	Merge with NetBSD make, pick up
	o job.c: clean up job and output handling
	o parse.c: after entering POSIX mode, don't leave it again

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

	* VERSION (_MAKE_VERSION): 20250411
	Merge with NetBSD make, pick up
	o convert more messages to file:line: format
	o for.c: condense code for parsing variable names in .for loops

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

	* VERSION (_MAKE_VERSION): 20250410
	Merge with NetBSD make, pick up
	o cond.c: remove redundant error counter when parsing a condition

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

	* VERSION (_MAKE_VERSION): 20250404
	Merge with NetBSD make, pick up
	o make.1: better document meta mode.
	o var.c: fix error message for undefined variable in conditional.

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

	* VERSION (_MAKE_VERSION): 20250330
	Merge with NetBSD make, pick up
	o in POSIX compatability mode, give preference to sysV style modifiers.
	o in stack trace with details and includes, list the current file
	o parse.c: report file location in more common file:line: format.
	o var.c: simplify error handling for unknown modifiers
	let the ":O" and ":t" modifiers fall back to the ":from=to" modifier
	stop parsing after seeing an unknown modifier in an expression
	fix error message for unclosed expression and invalid :[...]
	add details to errors about ::= modifier
	add details about indirect modifiers to the stack traces
	in stack traces from target commands, add the command level

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

	* VERSION (_MAKE_VERSION): 20250323
	Merge with NetBSD make, pick up
	o var.c: just ignore attempts to override a read-only global with
	the same value.

mk/ChangeLog since bmake-20250308

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

	* init.mk: include Skipping ${RELDIR} when _SKIP_BUILD is not empty.

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

	* install-mk (MK_VERSION): 20250414

	* init.mk: check ONLY_*_LIST and NOT_*_LIST for SKIP_BUILD_VAR_LIST
	to set _SKIP_BUILD

	* genfiles.mk: add FILTER support

	* rst2htm.mk: latest docutils drops .py extensions

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

	* install-mk (MK_VERSION): 20250326

	* auto.obj.mk: fix and simplify handling of relative __objdir,
	convert it to absolute before checking against .OBJDIR
</content>
</entry>
<entry>
<title>Import bmake-20240711</title>
<updated>2024-07-20T19:41:55Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2024-07-20T19:41:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=84691af93185c692058ba55fa81a04103f5bf71b'/>
<id>urn:sha1:84691af93185c692058ba55fa81a04103f5bf71b</id>
<content type='text'>
Intersting/relevant changes since bmake-20240625

ChangeLog since bmake-20240625

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

	* cleanup redundant differences from NetBSD make
	o parse.c: no longer uses mmap
	o var.c: check __STDC_VERSION__ not __STDC__

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

	* Apply some patches from NetBSD pkgsrc to reduce divergence
	o meta.c: requires sys/select.h if available
	o var.c: ensure SIZE_MAX has a value
	o util.c: ensure SA_RESTART is defined

	* configure.in: use *ksh* rather than just *ksh to match
	ksh shell specification.

	* unit-tests/Makefile: expand BROKEN_TESTS for ksh and
	mksh in particular

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

	* VERSION (_MAKE_VERSION): 20240711
	Merge with NetBSD make, pick up
	o compat.c: allow Compat_RunCommand to also handle very long
	commands by writing to a temp file when needed.
	o main.c: extract the temp file logic recently added to Cmd_Exec
	to Cmd_Argv so it can be leveraged by Compat_RunCommand.

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

	* VERSION (_MAKE_VERSION): 20240709
	Merge with NetBSD make, pick up
	o error out on parse/evaluation errors in shell commands
	o var.c: error out on syntax errors in ':M' and ':N' modifiers

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

	* VERSION (_MAKE_VERSION): 20240707
	Merge with NetBSD make, pick up
	o only generate code for cleanup functions in CLEANUP mode
	o hash.c: don't track hash table chain lengths during lookup
	unless debugging
	o main.c: move initialization of variable scopes to targ.c
	o var.c: remove Var_End as it is now unnecessary

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

	* VERSION (_MAKE_VERSION): 20240706
	Merge with NetBSD make, pick up
	o reduce lint comments about ARGSUSED
	o cond.c: error out on conditions containing the operators '&amp;' and '|'
	o str.c: error out on a matching malformed matching pattern '[['
	o var.c: in error messages, distinguish parsing from evaluating
	in error messages for anonymous variables, log the value
	error out on unclosed expressions during parse time

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

	* VERSION (_MAKE_VERSION): 20240704
	Merge with NetBSD make, pick up
	o add more context information to error messages
	o main.c: on error, print the targets to be made
	add detailed exit status to message for failed sub-commands
	o var.c: error out on the "Bad modifier" error message

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

	* VERSION (_MAKE_VERSION): 20240701
	Merge with NetBSD make, pick up
	o var.c: add :tt for Title case

2024-06-30  Simon J Gerraty  &lt;sjg@beast.crufty.net&gt;

	* configure.in: 20240630 further refine check for whether
	TZ=Europe/Berlin works

	* VERSION (_MAKE_VERSION): 20240630
	Merge with NetBSD make, pick up
	o job.c: reduce use of UNCONST
	o main.c: add detailed exit status to message for failed sub-commands
	o var.c: error out on some more syntax errors
	add more context to "returned non-zero status" message
</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-20230622</title>
<updated>2023-06-27T20:29:43Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2023-06-27T20:29:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3e39ce563b9ba25883e5aa37d9799eda9e57c1e0'/>
<id>urn:sha1:3e39ce563b9ba25883e5aa37d9799eda9e57c1e0</id>
<content type='text'>
Relevant/interesting changes:

	o optimize string matching for ':M' and ':N'
	o warn about malformed patterns in ':M', ':N' and '.if make(...)'
	o allow guards to be targets as well as variables
	The guard targets may include variable references like
	__${.PARSEDIR:tA}/${.PARSEFILE}__
	o optimization for makefiles protected from multiple-inclusion
	skip even opening the file after first include.
	o var.c: do not allow delete of readOnly variable
	o parse.c: .break takes no args
</content>
</entry>
<entry>
<title>Import bmake-20220724</title>
<updated>2022-07-26T15:52:53Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2022-07-26T15:52:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=308a28d6cd2e87028e535eabccb89a9dc2fd9515'/>
<id>urn:sha1:308a28d6cd2e87028e535eabccb89a9dc2fd9515</id>
<content type='text'>
Relevant/interesting changes:

	o parse.c: fix out-of-bounds read when parsing an invalid line
        https://bugs.freebsd.org/265119
	fix memory leak in wildcard targets and sources
	fix off-by-one error in buffer for .WAIT nodes
	o allow to randomize build order of targets
	.MAKE.MODE += randomize-targets can help uncover dependency bugs
</content>
</entry>
<entry>
<title>Import bmake-20220204</title>
<updated>2022-02-05T20:03:50Z</updated>
<author>
<name>Simon J. Gerraty</name>
<email>sjg@FreeBSD.org</email>
</author>
<published>2022-02-05T20:03:50Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cdde9e894dee2074ef0dd12ddc171e5d3f1513e3'/>
<id>urn:sha1:cdde9e894dee2074ef0dd12ddc171e5d3f1513e3</id>
<content type='text'>
Features of interest:

Allow setting target local variables (similar to gmake)

In META_MODE .MAKE.META.CMP_FILTER can be used for filtering commands
before comparion.

contrib/bmake/mk/cc-wrap.mk is an example of using these

See ChangeLog for the gory details.
</content>
</entry>
</feed>
