xref: /freebsd/contrib/bmake/ChangeLog (revision f374ba41f55c1a127303d92d830dd58eef2f5243)
12023-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* VERSION (_MAKE_VERSION): 20230126
4	Merge with NetBSD make, pick up
5	o variables like .newline and .MAKE.{GID,PID,PPID,UID}
6	should be read-only.
7
82023-01-23  Simon J Gerraty  <sjg@beast.crufty.net>
9
10	* VERSION (_MAKE_VERSION): 20230123
11	Merge with NetBSD make, pick up
12	o .[NO]READONLY: for control of read-only variables
13	o .SYSPATH: for controlling the path searched for makefiles
14
152023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
16
17	* VERSION (_MAKE_VERSION): 20230120
18	Merge with NetBSD make, pick up
19	o allow for white-space between command specifiers @+-
20	o add more details to warning 'Extra targets ignored'
21
222023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
23
24	* machine.sh: leverage os.sh rather than duplicate
25	also dispence with the $OS.$MACHINE values - we have $HOST_TARGET
26	for that purpose for the past decade or so.
27	We invariably get MACHINE and MACHINE_ARCH at runtime anyway.
28
292023-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
30
31	* VERSION (_MAKE_VERSION): 20230101
32	Merge with NetBSD make, pick up
33	o cleanup comments, inline some LazyBuf_ methods
34	o unit-tests/ add/improve comments in tests
35	o make.1: sync list of built-in variables with reality
36	sort list of built-in variables
37	reduce indentation of the long list of variable names
38	use consistent markup for boolean flags
39	move description of .MAKE.MODE below the .MAKE.META block
40	clarify in which case an expression may omit braces
41
422022-11-08  Simon J Gerraty  <sjg@beast.crufty.net>
43
44	* VERSION (_MAKE_VERSION): 20221024
45	Merge with NetBSD make, pick up
46	o change return type of unlink_file back to int
47
482022-10-07  Simon J Gerraty  <sjg@beast.crufty.net>
49
50	* Makefile: Darwin and Linux can handle MANTARGET=man
51
522022-09-28  Simon J Gerraty  <sjg@beast.crufty.net>
53
54	* VERSION (_MAKE_VERSION): 20220928
55	Merge with NetBSD make, pick up
56	o fix more ignored returns from snprintf
57	o compile with higher warnings
58
592022-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
60
61	* main.c meta.c: do not ignore return from snprintf
62
63	* meta.c strlcpy.c: we need prototype for strlcpy
64
65	* sigcompat.c: fix unused function warnings
66
672022-09-24  Simon J Gerraty  <sjg@beast.crufty.net>
68
69	* VERSION (_MAKE_VERSION): 20220924
70	Merge with NetBSD make, pick up
71	o fix bug in .break reset of conditional depth
72	o overhaul and simplify tracking of conditional depth
73
742022-09-17  Simon J Gerraty  <sjg@beast.crufty.net>
75
76	* VERSION (_MAKE_VERSION): 20220912
77	Merge with NetBSD make, pick up
78	o man page updates
79
802022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
81
82	* VERSION (_MAKE_VERSION): 20220909
83	Merge with NetBSD make, pick up
84	o update unit-tests to handle deprecation of egrep
85	o cond.c: add more details to error message for numeric comparison
86
87	* configure.in: allow for deprecation of egrep
88
89	* Makefile: Linux can handle MANTARGET=man
90
912022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
92
93	* VERSION (_MAKE_VERSION): 20220903
94	Merge with NetBSD make, pick up
95	o job.c: fix handling of null bytes in output
96
972022-09-02  Simon J Gerraty  <sjg@beast.crufty.net>
98
99	* VERSION (_MAKE_VERSION): 20220902
100	Merge with NetBSD make, pick up
101	o Allow .break to terminate a .for loop early
102
1032022-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
104
105	* VERSION (_MAKE_VERSION): 20220901
106	Merge with NetBSD make, pick up
107	o var.c: fix out-of-bounds errors when parsing
108
1092022-08-24  Simon J Gerraty  <sjg@beast.crufty.net>
110
111	* VERSION (_MAKE_VERSION): 20220824
112	Merge with NetBSD make, pick up
113	o var.c: revert change to modifier parsing that breaks
114	shell variable references within ':@var@body@'
115	o adjust unit-tests
116
1172022-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
118
119	* VERSION (_MAKE_VERSION): 20220818
120	Merge with NetBSD make, pick up
121	o fix exit status for '-q' (since 1994)
122
1232022-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
124
125	* VERSION (_MAKE_VERSION): 20220808
126	Merge with NetBSD make, pick up
127	o var.c: fix parsing of modifiers containing unbalanced subexpressions
128	extract parsing of ':D' and ':U' modifiers into separate function
129
1302022-07-26  Simon J Gerraty  <sjg@beast.crufty.net>
131
132	* VERSION (_MAKE_VERSION): 20220726
133
134	* Auto-create objdir for bmake/unit-tests if appropriate
135
1362022-07-24  Simon J Gerraty  <sjg@beast.crufty.net>
137
138	* VERSION (_MAKE_VERSION): 20220724
139	Merge with NetBSD make, pick up
140	o make.1: describe variable assignment and evaluation more precisely
141	o parse.c: fix out-of-bounds read when parsing an invalid line
142	o var.c: simplify return type of IsShortVarnameValid
143
1442022-06-12  Simon J Gerraty  <sjg@beast.crufty.net>
145
146	* VERSION (_MAKE_VERSION): 20220612
147	Merge with NetBSD make, pick up
148	o allow to randomize build order of targets
149	.MAKE.MODE += randomize-targets can help uncover dependency bugs
150	within a makefile.
151	o compat.c: rename Compat_Run to Compat_MakeAll
152	o make.c: inline MakeBuildParent
153	inline make_abort, improve error details
154	o parse.c: reorganize Parse_Error
155	fix memory leak in wildcard targets and sources
156	separate cases in HandleDependencyTargetMundane
157	extract HandleSingleDependencyTargetMundane
158	rename loadfile to LoadFile
159	split IncludeFile into separate functions
160	condense code for searching a file in the paths
161	fix off-by-one error in buffer for .WAIT nodes
162	o str.c: condense Str_Match
163	make code for string matching syntactically more consistent
164
1652022-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
166
167	* VERSION (_MAKE_VERSION): 20220418
168	Merge with NetBSD make, pick up
169	o ignore '.POSIX:' if not in first non-comment line
170	of Makefile as specified by POSIX.
171	add unit-tests for above.
172	o meta.c: make it easier to find usage of identifiers
173	o targ.c: add .USEBEFORE to Targ_PrintType
174
1752022-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
176
177	* VERSION (_MAKE_VERSION): 20220414
178
179	* unit-tests/Makefile: simplify checks for shells with
180	BROKEN_TESTS, this helps with other Linux distros that
181	use dash.
182
1832022-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
184
185	* VERSION (_MAKE_VERSION): 20220330
186	Merge with NetBSD make, pick up
187	o var.c: fix spacing, and a typo in a test
188
1892022-03-26  Simon J Gerraty  <sjg@beast.crufty.net>
190
191	* VERSION (_MAKE_VERSION): 20220326
192	Merge with NetBSD make, pick up
193	o parse.c: try to include 'posix.mk' the first time
194	.POSIX: is encountered, to allow for beter POSIX compliance.
195	o var.c: make debug logs more readable
196	prefer 'long long' over 'long' on 32-bit C99 platforms
197	fix crash on .undef of an environment variable
198
1992022-03-03  Simon J Gerraty  <sjg@beast.crufty.net>
200
201	* VERSION (_MAKE_VERSION): 20220303
202	Merge with NetBSD make, pick up
203	o tell meta mode unit tests not to expect filemon
204	o cond.c: make debug logging for comparisons less technical
205	o lst.c: fix mem leak in Lst_Remove
206	o str.c: make code for string matching syntactically more consistent
207	o var.c: simplify ParseModifier_Match
208
2092022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
210
211	* unit-tests/Makefile: control MAKESYSPATH for deptgt-phony
212
213	* VERSION (_MAKE_VERSION): 20220214
214	Merge with NetBSD make, pick up
215	o cond.c: simplify control flow in CondParser_Comparison
216	o job.c: fix echoing of command with '-' in silent target in jobs mode
217	o main.c: prefix the warning about read-only .OBJDIR with a colon
218	o parse.c: remove redundant conditions
219	o var.c: simplify control flow in ModifyWord_SysVSubst
220
2212022-02-08  Simon J Gerraty  <sjg@beast.crufty.net>
222
223	* unit-tests/Makefile: disable opt-debug-x-trace on Linux if there
224	is any chance we have dash as .SHELL
225
226	* VERSION (_MAKE_VERSION): 20220208
227	Merge with NetBSD make, pick up
228	o more unit tests
229	o meta.c: use a variable to hold command line to be filtered
230	to avoid any side effects from content of command line.
231
2322022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
233
234	* VERSION (_MAKE_VERSION): 20220204
235	Merge with NetBSD make, pick up
236	o use unsigned consistently for line numbers, avoid the need for %z
237	o parse.c: do not step off end of input in Parse_IsVar
238	when checking for target local variable assignments
239
2402022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
241
242	* VERSION (_MAKE_VERSION): 20220202
243	Merge with NetBSD make, pick up
244	o remove redundant declaration of HashIter_Init
245	o make DEBUG0 simpler
246
2472022-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
248
249	* cast gn->lineno to avoid %z
250
251	* VERSION (_MAKE_VERSION): 20220130
252	Merge with NetBSD make, pick up
253	o more unit tests
254	o make GNode lineno unsigned to please lint
255	o print location of recursive variable references in commands
256	o print "stack trace" (makefile includes) on fatal errors
257	o make.1: refine documentation for target local assignments
258
2592022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
260
261	* VERSION (_MAKE_VERSION): 20220128
262	Merge with NetBSD make, pick up
263	o inline functions called only once
264	o for.c: clean up AddEscape for building the body of a .for loop
265	o hash.c: merge duplicate code for finding an entry in a hash table
266	replace HashEntry_KeyEquals with strncmp
267	o make.1: document quirks of target local variable assignments.
268	o parse.c: cleanup white-space
269
2702022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
271
272	* VERSION (_MAKE_VERSION): 20220126
273	Merge with NetBSD make, pick up
274	o allow setting target local variables
275	o more unit tests
276	o add missing newline after "cannot continue" message
277	o meta.c: clean up eat_dots
278	o parse.c: fix filename in warning about duplicate script
279	o var.c: when expanding nested variables, check simple things first
280
2812022-01-16  Simon J Gerraty  <sjg@beast.crufty.net>
282
283	* VERSION (_MAKE_VERSION): 20220116
284	Merge with NetBSD make, pick up
285	o fix for unit-tests/varname-makeflags on non-BSD systems
286	o use Var_Exists rather than Var_Value where appropriate
287	o remove unnecessary functions for expanding variable names
288	o cond.c: inline EvalBare
289	o main.c: lint cleanup
290	o parse.c: condense code in Parse_IsVar
291	use islower for parsing directives (none have upper case)
292
2932022-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
294
295	* VERSION (_MAKE_VERSION): 20220112
296	Merge with NetBSD make, pick up
297	o meta.c: add .MAKE.META.CMP_FILTER for filtering commands before
298	comparion, rarely needed but useful when it is.
299
3002022-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
301
302	* VERSION (_MAKE_VERSION): 20220110
303	Merge with NetBSD make, pick up
304	o inline Buf_Clear
305	o remove redundant braces
306	o rename and inline Targ_Precious
307	o cond.c: remove redundant initializer in CondParser_ComparisonOrLeaf
308	o for.c: clean up handling of .for loops
309	fix reported line numbers of continuation lines
310	add details about .for loop variables to stack traces
311	o job.c: reduce code for initializing error handling in shell
312	o main.c: in Cmd_Exec, return error message instead of format string
313	have as few statements as possible between va_start and va_end
314	add debug logging for capturing the output of external commands
315	o make.c: use consistent variable names for varargs
316	o make_malloc.c: remove duplicate code from bmake_strdup
317	o parse.c: add missing printflike annotations
318	remove redundant lines from stack traces
319	fix stack traces in -dp mode
320	reduce confusing code in ParseForLoop
321	fix line number in debug log after returning from a file
322	rename IFile and its fields to match their actual content
323	clean up ParseDependencySources
324	o var.c: shorten ApplyModifier_Assign
325	rename is_shell_metachar, fix character conversion warning
326	merge calls to ApplyModifier_Time
327	merge duplicate code for modifiers 'gmtime' and 'localtime'
328
3292022-01-04  Simon J Gerraty  <sjg@beast.crufty.net>
330
331	* parse.c: loadfile restore extra byte in buffer.
332
3332022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
334
335	* VERSION (_MAKE_VERSION): 20220101
336	Merge with NetBSD make, pick up
337	o more unit-tests
338	o remove unnecessary words from command line options in CmdOpts
339	o rename eunlink to unlink_file
340	o cond.c: make ParseWord in condition parser simpler
341	internally return false for irrelevant leaves in conditions
342	replace table for function lookup in conditions with simple code
343	merge duplicate types CondEvalResult and CondResult
344	o for.c: clean up handling of .for loops and .include directives
345	o main.c: constify cached_realpath
346	clean up Cmd_Exec
347	o parse.c: sync API documentation
348	fix error message when reading more than 1 GB from stdin
349	clean up parsing of makefiles
350	fix line number in error message about open conditionals
351	unexport types VarAssignOp and VarAssign
352	clean up function names
353	remove redundant parameters in dependency parsing functions
354	reduce scope of the list of wildcard target names
355	extract OP_NOTARGET into separate function
356	clean up variable names for parsing dependency lines
357	make debug logging a bit more human-friendly
358	o var.c: condense code in ApplyModifier_Assign
359
3602021-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
361
362	* VERSION (_MAKE_VERSION): 20211221
363	Merge with NetBSD make, pick up
364	o more unit-tests
365	o style cleanup
366	o in CLEANUP mode, free interned strings at the very end
367	o fix memory leak for filenames in .for loops
368	o buf.c: avoid memory leak
369	o cond.c: condense CondParser_ComparisonOp
370	o hash.c: change return type of HashTable_Set to void
371	o job.c: change return type of Compat_RunCommand from int to bool
372	o main.c: remove bmake_free
373	o parse.c: condense repetetive code in ParseDirective
374	remove dead code for handling traditional include directives
375	clean up parsing of variable assignments
376	remove unreachable code for parsing the dependency operator
377	clean up loading of files
378	fix memory leak in IncludeFile
379	o var.c: fix memory leak when parsing a variable name
380	fix memory leak from ${.SUFFIXES}
381	reduce memory allocation in modifier ':?' and ':C'
382	condense RegexReplace for the modifier ':C' and avoid strlen
383	merge duplicate code for memory handling in Var_Parse
384	distinguish between short-lived and environment variables
385	rename VarFreeEnv to VarFreeShortLived
386
3872021-12-15  Simon J Gerraty  <sjg@beast.crufty.net>
388
389	* cond.c: fix mem leak in CondParser_Leaf
390
3912021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
392
393	* VERSION (_MAKE_VERSION): 20211212
394	Merge with NetBSD make, pick up
395	o rename Parse_SetInput to Parse_PushInput
396	o remove remove period from end of error messages and warnings
397	to be more consistent
398	o arch.c: use simpler memory management for parsing archive members
399	o cond.c: rework and reduce recursion
400	o for.c: rename some functions to better reflect purpose
401	o suff.c: add Suff_NamesStr to provide .SUFFIXES as a string.
402	o var.c: in parse errors, mark whitespace more clearly
403	inline ParseEmptyArg into CondParser_FuncCallEmpty
404	minimize calls to LazyBuf_Get in ParseVarnameLong
405	treat .SUFFIXES as a read-only variable
406
4072021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
408
409	* VERSION (_MAKE_VERSION): 20211207
410	Merge with NetBSD make, pick up
411	o inline HashIter_Init
412	o parse.c: inline common subexpression in ParseRawLine
413	o var.c: merge branches for modifiers ':D' and ':U'
414	extract common code into Expr_Words
415	extract common code into Expr_Str
416	move low-level implementation details out of Var_Parse
417
4182021-12-06  Simon J Gerraty  <sjg@beast.crufty.net>
419
420	* VERSION (_MAKE_VERSION): 20211206
421	Merge with NetBSD make, pick up
422	o add unit-tests/varmod-loop-delete
423	o for.c: inline Str_Words - reduce memory allocation
424	o parse.c: do not try to expand fixed variable names
425	only allocate the name of an included file if necessary
426	clean up ParseInclude
427	o var.c: fix use-after-free in modifier ':@'
428	save a memory allocation in each modifier ':O' and ':u'
429	save a memory allocation in the modifier ':[...]'
430	in UnexportVars, replace Str_Words with Substring_Words to
431	reduce allocations and copying.
432
4332021-12-04  Simon J Gerraty  <sjg@beast.crufty.net>
434
435	* VERSION (_MAKE_VERSION): 20211204
436	Merge with NetBSD make, pick up
437	o flesh out a number of tests
438	o replace enums with bitfields, this simplifies a lot of code.
439	o var.c: refactor ParseModifierPartSubst
440
4412021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
442
443	* VERSION (_MAKE_VERSION): 20211024
444	Merge with NetBSD make, pick up
445	o Punt on write errors - ENOSPC etc.
446
4472021-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
448
449	* configure.in: use_defshell, set both DEFSHELL_INDEX
450	and defshell_path if appropriate.
451	This makes it easier to use say the KSH specification with
452	and alternate path for the shell.
453
454	* configure.in compat.c: for SCO we need to force UseShell
455
456	* configure.in: SCO /bin/sh is not usable, provide a list of
457	alternatives for use as .SHELL.
458	We still have to mark some tests as broken, plus more if we end up
459	with ksh as .SHELL.
460	Issue a warning about skipped tests.
461
462	* boot-strap: leave TOOL_DIFF to configure
463
464	* configure.in: on SCO native cc is not usable,
465	gcc is to be found in /usr/gnu/bin
466	and while ancient is at least able to compile bmake.
467	Thus we add /usr/gnu/bin to PATH if it exists, and later
468	check if $CC would have been found via $PATH.
469	If not we set CC to the full path of $CC.
470	Also gnu diff is known to support -u, so if it exists use it.
471
472	* configure.in: move getopt to AC_REPLACE_FUNCS
473	also add AC_C_INLINE - in an attempt to compile using
474	native cc on SCO.
475
476	* configure.in: check for stresep as well as strsep, since we
477	define the later to the former if necessary, and if we have to
478	provide stresep we also need to provide a prototype.
479
480	* configure.in: we no longer need to worry about
481	sys/cdefs.h providing __RCSID which simplifies things quite a bit.
482
483	* make.h: make sure we have __RCSID
484
485	* unit-tests/Makefile.config.in: add TOOL_DIFF so configure
486	can control it.
487
4882021-10-20  Simon J Gerraty  <sjg@beast.crufty.net>
489
490	* VERSION: 20211020
491	Merge with NetBSD make, pick up
492	o confirm sync of unit-tests
493
4942021-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
495
496	* configure.in: check if timezone Europe/Berlin is supported
497	if not try UTC-1
498	* configure.in: if .OBJDIR is $srcdir/obj we need to create a
499	symlink unit-tests -> ../unit-tests/obj so that
500	unit-tests/Makefile.config is put in the right place.
501	* refine filtering of .OBJDIR in unit-tests
502
5032021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
504
505	* Fix unit-tests on Minix 3.2.0
506	o job.c: do not punt if read of token pipe fails for EAGAIN.
507	On Minix at least, we are not ready to read the childExitJob pipe
508	when poll says we are.
509	There should actually be no reason for this pipe to be
510	non-blocking, but while that works fine on {Net,Free}BSD it
511	breaks another test case on Minix.
512	o unit-tests/Makefile: deal with variants of error messages
513	  and use of obj as .OBJDIR
514
5152021-10-14  Simon J Gerraty  <sjg@beast.crufty.net>
516
517	* configure.in: add sigaction to AC_REPLACE_FUNCS
518	we also need to check for sigaddset etc just for the benefit of
519	sigact.c
520
521	* Add sigact.c as sigaction.c so this "just works".
522	This should have been done back when bmake_signal started using
523	sigaction (I only just noticed that sigact.c wasn't here ;-)
524	Note: I no longer have access to any system where this would matter.
525
5262021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
527
528	* VERSION (_MAKE_VERSION): 20211011
529
530	* Makefile: cleanup a little
531
532	* configure.in: check for sigsetmask
533
5342021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
535
536	* VERSION (_MAKE_VERSION): 20211001
537	Merge with NetBSD make, pick up
538	o reduce locations reducing text size
539	o remove unnecessary const
540	o cond.c: fix lint warning on i386
541	do not allow unquoted 'left == right' after modifier ':?'
542	o hash.c: fix build for DEBUG_HASH_LOOKUP
543	o var.c: fix memory leak in error case of the ':?' modifier
544
5452021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
546
547	* VERSION (_MAKE_VERSION): 20210911
548	Merge with NetBSD make, pick up
549	o var.c: replace remaining ModChain_ShouldEval with Expr_ShouldEval
550
5512021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
552
553	* VERSION (_MAKE_VERSION): 20210906
554	Merge with NetBSD make, pick up
555	o more unit tests
556	o lint cleanup
557	o rename some functions to better fit purpose
558	o for.c: cleanup - remove unnecessary optimization
559	  fix embedded newlines
560	o parse.c: correct case for CVS/RCS
561
5622021-08-11  Simon J Gerraty  <sjg@beast.crufty.net>
563
564	* VERSION (_MAKE_VERSION): 20210808
565	Merge with NetBSD make, pick up
566	o var.c: remove redundant initialization in ApplyModifier_Order
567
568	* mk/options.mk: issue warning for incorrect usage
569
5702021-08-03  Simon J Gerraty  <sjg@beast.crufty.net>
571
572	* var.c: use long for :On if we don't have a 64bit int type
573
574	* VERSION (_MAKE_VERSION): 20210803
575	Merge with NetBSD make, pick up
576	o rework varmod-order tests to avoid qsort instability
577	o make.1: clarify :On entry
578
5792021-07-31  Simon J Gerraty  <sjg@beast.crufty.net>
580
581	* VERSION (_MAKE_VERSION): 20210731
582	Merge with NetBSD make, pick up
583	o fix some lint issues
584	o more unit tests
585	o var.c: rework of ApplyModifier_Order
586
5872021-07-30  Simon J Gerraty  <sjg@beast.crufty.net>
588
589	* util.c: add strto*l if HAVE_STRTO*L not defined
590
591	* VERSION (_MAKE_VERSION): 20210730
592	Merge with NetBSD make, pick up
593	o var.c: add :On and :Orn for numeric sort
594	  disabled if no 64bit type available.
595	o _strtol.h: to implement strto*l functions
596
5972021-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
598
599	* VERSION (_MAKE_VERSION): 20210704
600	Merge with NetBSD make, pick up
601	o unit-tests: fix some tests to be more portable
602	- job-output-null not all shells do the same number of write calls
603	- objdir-writable if TMPDIR is set; /tmp may not be usable
604
6052021-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
606
607	* VERSION (_MAKE_VERSION): 20210701
608	Merge with NetBSD make, pick up
609	o unit-tests: allow for BROKEN_TESTS to list TESTS to be skipped;
610	some tests just cannot work in some environments.
611	o buf.c: simpler upper bound for length in Buf_AddInt
612	o cond.c: fix grammar in error message for malformed conditional
613	o for.c: prevent newline injection (from ${.newline}) in .for loops
614	o var.c: use more practical data type in RegexReplace
615	(avoid need for %zu)
616	extract RegexReplace from ModifyWord_SubstRegex
617
6182021-06-21  Simon J Gerraty  <sjg@beast.crufty.net>
619
620	* VERSION (_MAKE_VERSION): 20210621
621	Merge with NetBSD make, pick up
622	o var.c: only report error for unmatched regex subexpression
623	when linting (-dL) since we cannot tell when an unmatched
624	subexpression is an expected result.
625	o move unmatched regex subexpression tests to
626	varmod-subst-regex.mk and enable strict (lint) mode
627
6282021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
629
630	* VERSION (_MAKE_VERSION): 20210616
631	Merge with NetBSD make, pick up
632	o more unit tests
633	o cond.c: rename If_Eval to EvalBare
634	improve function names for parsing conditions
635	o job.c: fix error handling of targets that cannot be made
636	o var.c: uncompress code in ApplyModifier_Unique
637
6382021-05-18  Simon J Gerraty  <sjg@beast.crufty.net>
639
640	* VERSION (_MAKE_VERSION): 20210518
641	Merge with NetBSD make, pick up
642	o fix unit-tests/opt-chdir to cope with /nonexistent existing.
643	o job.c: Print -de error information when running multiple jobs
644
6452021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
646
647	* VERSION (_MAKE_VERSION): 20210420
648	Merge with NetBSD make, pick up
649	o use C99 bool type
650	o convert VarEvalFlags back into an enum
651	o cond.c: do not complain when skipping the condition 'no >= 10'
652	o hash.c: avoid allocating memory for simple variable names
653	o job.c: use distinct wording for writing to the shell commands file
654	remove type name for the abort status in job handling
655	rename PrintOutput to PrintFilteredOutput to avoid confusion
656	o main.c: avoid double slash in name of temporary directory
657	o var.c: use straight quotes for error 'Bad conditional expression'
658	reduce memory allocations in the modifiers ':D' and ':U'
659	rename members of ModifyWord_LoopArgs
660	clean up pattern flags for the modifiers ':S' and ':C'
661	reduce memory allocation and strlen calls in modifier ':from=to'
662	in the ':Q' modifier, only allocate memory if necessary
663	improve performance for LazyBuf
664	remove redundant parameter from ParseVarnameLong
665	migrate ParseModifierPart to use Substring
666	avoid unnecessary calls to strlen when evaluating modifiers
667	migrate ModifyWord functions to use Substring
668	migrate handling of the modifier ':S,from,to,' to Substring
669	reduce debug logging and memory allocation for ${:U...}
670	reduce verbosity of the -dv debug logging for standard cases
671	clean up debug logging for ':M' and ':N'
672	disallow '$' in the variable name of the modifier ':@'
673	simplify access to the name of an expression during evaluation
674
6752021-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
676
677	* VERSION (_MAKE_VERSION): 20210330
678	Merge with NetBSD make, pick up
679	o replace enum bit-field with struct bit-field for VarEvalFlags
680	o rename VARE_NONE to VARE_PARSE_ONLY
681	o var.c: rename ApplyModifiersState to ModChain
682	fix double varname expansion in the variable modifier '::='
683	change debug log for variable evaluation flags to lowercase
684
6852021-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
686
687	* VERSION (_MAKE_VERSION): 20210314
688	Merge with NetBSD make, pick up
689	o var.c: avoid evaluating many modifiers in parse only mode
690	in strict mode (-dL) many variable references are parsed twice,
691	the first time just to report parse errors early, so we want to
692	avoid side effects and wasted effort to the extent possible.
693
6942021-02-26  Simon J Gerraty  <sjg@beast.crufty.net>
695
696	* VERSION (_MAKE_VERSION): 20210226
697	Merge with NetBSD make, pick up
698	o remove freestanding freeIt variables
699	link via FStr
700	o var.c: restructure code in ParseVarname to target human readers
701	improve error message for;
702	  bad modifier in variable expression
703	  unclosed modifier
704	  unknown modifier
705	remove redundant parameter of ApplySingleModifier
706	explain non-obvious code around indirect variable modifiers
707	quote ':S' in error message about missing delimiter
708	extract ParseModifier_Match into separate function
709	add context information to error message about ':range' modifier
710	add quotes around variable name in an error message
711	reorder code in ModifyWords
712	use more common parameter order for VarSelectWords
713	make ModifyWord_Subst a little easier to understand
714	do not expand variable name from the command line twice
715	extract ExistsInCmdline from Var_SetWithFlags
716	save a hash map lookup when defining a cmdline variable
717	clean up VarAdd, Var_Delete, Var_ReexportVars
718	use bit-shift expressions for VarFlags constants
719	rename constants for VarFlags
720	rename ExprDefined constants for debug logging
721	rename ExprStatus to ExprDefined
722	split parameters for evaluating variable expressions
723	reduce redundant code around ModifyWords
724	print error about failed shell command before overwriting variable
725	clean up ValidShortVarname, ParseVarnameShort
726	rename VarExprStatus to ExprStatus
727	add functions for assigning the value of an expression
728	rename ApplyModifiersState_Define to Expr_Define
729	condense the code for parsing :S and :C modifiers
730
7312021-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
732
733	* VERSION (_MAKE_VERSION): 20210206
734	Merge with NetBSD make, pick up
735	o unit-tests: use private TMPDIR to avoid errors from other users
736
7372021-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
738
739	* VERSION (_MAKE_VERSION): 20210205
740	Merge with NetBSD make, pick up
741	o avoid strdup in mkTempFile
742	o always use vfork
743	o rename context and ctxt to scope
744	o rename some VAR constants to SCOPE
745	o Var_ functions, move the scope to the front
746	o use shortcut functions Global_Set and Global_Append
747	o add shortcut Global_Delete for deleting a global variable
748	o rename Var_Delete to Var_DeleteExpand, Var_DeleteVar to Var_Delete
749	o compat.c: when exiting due to an error, print graph information
750	o enum.c: remove overengineered Enum_ValueToString
751	o make.c: remove unused INTERNAL flag
752	remove unused return type of MakeBuildParent
753	o parse.c: replace parse error "Need an operator" with better message
754	o var.c: improve documentation about variable scopes
755	rename Var_ValueDirect to GNode_ValueDirect
756	rename old Var_SetWithFlags to Var_SetExpandWithFlags
757	merge SetVar into Var_SetWithFlags
758	split Var_Exists into plain Var_Exists and Var_ExistsExpand
759	split Var_Append into Var_Append and Var_AppendExpand
760	replace enum bit-set with bit-field
761	o unit-tests/var-op-shell: use kill rather than kill -14
762	which broke on darwin with recent update.
763
7642021-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
765
766	* configure.in: check for sig_atomic_t and define it as 'int'
767	if missing.
768
769	* VERSION (_MAKE_VERSION): 20210201
770	Merge with NetBSD make, pick up
771	o use sig_atomic_t for caught_sigchld
772
7732021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
774
775	* VERSION (_MAKE_VERSION): 20210130
776	Merge with NetBSD make, pick up
777	o more unit tests
778	o convert SearchPath to struct
779	o split Buf_Destroy into Buf_Done and Buf_DoneData
780	o for.c: split For_Eval into separate functions
781	rename struct For to struct ForLoop
782	o job.c: do not create empty shell files in jobs mode
783	rename JobOpenTmpFile to JobWriteShellCommands
784	reduce unnecessary calls to waitpid
785	o parse.c: in -dp mode, print stack trace with each diagnostic
786
7872021-01-23  Simon J Gerraty  <sjg@beast.crufty.net>
788
789	* VERSION (_MAKE_VERSION): 20210123
790	Merge with NetBSD make, pick up
791	o rename Dir_Expand to SearchPath_Expand
792	o rename Dir_AddDir, reorder parameters of SearchPath_ToFlags
793	o cond.c: fix debug output for comparison operators in conditionals
794	o dir.c: split Dir_FindFile into separate functions
795
7962021-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
797
798	* VERSION (_MAKE_VERSION): 20210120
799	Merge with NetBSD make, pick up
800	o fix some more lint nits
801	o refine some unit tests for portability
802	o cond.c: rework parsing
803
8042021-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
805
806	* VERSION (_MAKE_VERSION): 20210110
807	Merge with NetBSD make, pick up
808	o fix lint warnings
809	o consistently use boolean expressions in conditions
810
8112021-01-08  Simon J Gerraty  <sjg@beast.crufty.net>
812
813	* VERSION (_MAKE_VERSION): 20210108
814	Merge with NetBSD make, pick up
815	o job.c: back to polling token pipe if we want a token
816	o main.c: always print 'stopped in' on first call
817	The execption is if we bail because of an abort token
818	in which case just exit 6.
819
8202021-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
821
822	* VERSION (_MAKE_VERSION): 20210101
823	Merge with NetBSD make, pick up
824	o Happy New Year!
825	o rename CmdOpts.lint to strict
826	o exit 2 on technical errors
827	o replace pointers in controlling conditions with booleans
828	o replace global preserveUndefined with VARE_KEEP_UNDEF
829	o compat.c: re-export variables from the actual make process
830	if using vfork this is the effect anyway
831	o cond.c: clean up VarParseResult constants
832	o for.c: fix undefined behavior in SubstVarLong
833	make control flow in SubstVarLong of .for loops more obvious
834	clean up SubstVarShort in .for loops
835	extract ForSubstBody from ForReadMore
836	clean up ForReadMore
837	simplify termination condition for .for loop
838	add error handling for .for loop items
839	job.c: re-export variables from the actual make process
840	parse.c: remove mmap for loading files, only allow files < 1 GiB
841	fix edge case in := with undefined in variable name
842	skip variable expansion in ParseDependencyTargetWord
843	var.c: split ExportVar into separate functions
844	clean up code in extracted ExportVar functions
845	remove dead code from ApplyModifiersIndirect
846	split Var_Subst into easily understandable functions
847	clean up VarParseResult constants
848
8492020-12-25  Simon J Gerraty  <sjg@beast.crufty.net>
850
851	* main.c: use .MAKE.DEPENDFILE as set by makefiles
852
8532020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
854
855	* VERSION (_MAKE_VERSION): 20201222
856	Merge with NetBSD make, pick up
857	o make DEBUG macro return boolean
858	o parse.c: fix assertion failure for files without trailing newline
859	o var.c: allow .undef to undefine multiple variables at once
860	remove excess newline from parse errors
861
8622020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
863
864	* VERSION (_MAKE_VERSION): 20201221
865	Merge with NetBSD make, pick up
866	o some unit-test updates
867
8682020-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
869
870	* VERSION (_MAKE_VERSION): 20201220
871	Merge with NetBSD make, pick up
872	o more unit tests
873	o return FStr from Var_Parse and Var_Value
874	o spell nonexistent consistently
875	o add str_basename to reduce duplicate code
876	o compat.c: fix .ERROR_TARGET in compat -k mode
877	extract InitSignals from Compat_Run
878	extract UseShell from Compat_RunCommand
879	o cond.c: error out if an '.endif' or '.else' contain extraneous text
880	o for.c: rename ForIterate to ForReadMore
881	o hash.c: clean up hash function for HashTable
882	o lst.c: rename Vector.priv_cap to cap
883	o main.c: remove constant parameter from MakeMode
884	o make.c: use symbolic time for 0 in Make_Recheck
885	extract MakeChildren from MakeStartJobs
886	o parse.c: clean up memory handling in VarAssign_EvalShell, Parse_DoVar
887	fix error message for .info/.warning/.error without argument
888	extract Var_Undef from ParseDirective
889	extract ParseSkippedBranches, ParseForLoop from ParseReadLine
890	rename mode constants for ParseGetLine to be more expressive
891	reduce debugging details in Parse_SetInput
892	fix line numbers in .for loops
893	split ParseGetLine into separate functions
894	fix garbled output for failed shell command
895	var.c: remove redundant assignment in ApplyModifier_SysV
896	error out on unknown variable modifiers at parse time
897	remove wrong error message for indirect modifier in lint mode
898	extract ApplySingleModifier from ApplyModifiers
899	use FStr for memory management in Var_SetWithFlags
900	extract SetVar from Var_SetWithFlags
901	use FStr in VarNew
902	extract string functions from ApplyModifier_To
903	error out if .undef has not exactly 1 argument
904	extract Var_DeleteVar from Var_Delete
905	extract Var_Undef from ParseDirective
906	clean up memory management for expanding variable expressions
907
9082020-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
909
910	* avoid %zu
911
912	* lst.c: avoid anonymous union
913
914	* VERSION (_MAKE_VERSION): 20201212
915	Merge with NetBSD make, pick up
916	o more unit tests
917	o inline Targ_Ignore and Targ_Silent
918	o split JobFlags into separate fields
919	o remove const from function parameters (left overs from refactoring)
920	o eliminate boolean argument of Var_Export
921	o make API of Buf_Init simpler
922	o rename ParseRunOptions to ParseCommandFlags
923	o replace *line with line[0]
924	o compat.c: fix wrong exit status for multiple failed main targets
925	refactor Compat_Run to show the error condition more clearly
926	don't make .END if the main targets already failed (-k mode)
927	fix exit status in -k mode if a dependency fails
928	o for.c: clean up Buf_AddEscaped in .for loops
929	o job.c: extract ShellWriter_ErrOn from JobPrintCommand
930	make Job_Touch simpler
931	refactor JobFinish
932	rename Shell.exitFlag to errFlag
933	move Job.xtraced to ShellWriter
934	make printing of shell commands independent from the job
935	rename shell flags in struct Shell
936	extract JobOpenTmpFile from JobStart
937	rename RunFlags to CommandFlags
938	split various Job.* into separate fields
939	rename commandShell to shell
940	extract InitShellNameAndPath from Shell_Init
941	replace signal handling macros with local functions
942	replace macro MESSAGE with local function
943	parse.c: error out on null bytes in makefiles
944	error out on misspelled directives
945	rename IFile.nextbuf to readMore
946	fix undefined behavior in ParseEOF
947	str.c: remove redundant call to strlen in Str_Words
948	var.c: error out on misspelled .unexport-env
949	error out on misspelled .export directives
950	extract ExportVars from Var_Export
951	extract ExportVarsExpand from Var_Export
952	eliminate boolean argument of Var_Export
953	fix undefined behavior when exporting ${:U }
954	rename Var_ExportVars to Var_ReexportVars
955	rename Var_Export1 to ExportVar
956
9572020-12-06  Simon J Gerraty  <sjg@beast.crufty.net>
958
959	* VERSION (_MAKE_VERSION): 20201206
960	Merge with NetBSD make, pick up
961	o more unit tests
962	o inline macros for debug logging
963	o use consistent variable names for list nodes
964	o define constants for enum zero-values
965	o dir.c: use fixed format for debug output of the directory cache
966	remove Dir_InitDir
967	o lst.c: inline Lst_Enqueue, Vector_Done
968	o meta.c: remove unused parameter from meta_needed
969	o parse.c: rename parse functions
970	o suff.c: extract ExpandChildrenRegular from ExpandChildren
971	o targ.c: don't concatenate identifiers in Targ_PrintType
972	o var.c: remove comment decoration
973	extract UnexportVars from Var_UnExport
974	extract GetVarnamesToUnexport from Var_UnExport
975	extract UnexportEnv from Var_UnExport
976	extract UnexportVar from Var_UnExport
977	move CleanEnv to UnexportVars
978	replace pointer comparisons with enum
979	add FStr to var.c to make memory handling simpler
980	use FStr in Var_UnExport
981	move type definitions in var.c to the top
982	extract FreeEnvVar from Var_Parse
983	extract ShuffleStrings from ApplyModifier_Order
984
9852020-11-30  Simon J Gerraty  <sjg@beast.crufty.net>
986
987	* VERSION (_MAKE_VERSION): 20201130
988	Merge with NetBSD make, pick up
989	o add unit tests for META MODE
990	o reduce memory allocation for dirSearchPath, GNode.parents,
991	GNode.children, OpenDirs
992	o reduce pointer indirection for GNode.cohorts and
993	GNode.implicitParents
994	o remove pointer indirection from GNode.commands
995	o inline Lst_ForEachUntil in meta mode
996	o dir.c: fix memory leak for lstat cache in -DCLEANUP mode
997	clean up memory management for CachedDirs
998	fix the reference count of dotLast going negative
999	add debug logging for OpenDirs_Done
1000	extract CacheNewDir from Dir_AddDir
1001	add debug logging for reference counting of CachedDir
1002	rename some Dir functions to SearchPath
1003	o job.c: rename some global variables
1004	o main.c: reduce memory allocation in ReadBuiltinRules
1005	reduce memory allocation in CmdOpts.create, CmdOpts.variables,
1006	CmdOpts.makefiles
1007	Add .MAKE.UID and .MAKE.GID
1008	o make.c: reduce memory allocation for/in toBeMade,
1009	Make_ProcessWait, Make_ExpandUse
1010	o meta.c: reduce memory allocation in meta_oodate
1011	o parse.c: reduce memory allocations for parsing dependencies and
1012	targets
1013	o suff.c: reduce memory allocation in suffix handling
1014
10152020-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
1016
1017	* VERSION (_MAKE_VERSION): 20201124
1018	Merge with NetBSD make, pick up
1019	o .MAKE.{UID,GID} represent uid and gid running make.
1020	o fix error handling for .BEGIN and .END dependency in -k mode
1021	o fix missing "Stop." after failed .END node in -k mode
1022	o use properly typed comparisons in boolean contexts
1023	o replace a few HashTable_CreateEntry with HashTable_Set
1024	o add HashSet type
1025	o compat.c: split Compat_Make into smaller functions
1026	extract DebugFailedTarget from Compat_RunCommand
1027	o dir.c: refactor Dir_UpdateMTime
1028	migrate CachedDir.files from HashTable to HashSet
1029	o make.c: add high-level API for GNode.made
1030
10312020-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
1032
1033	* VERSION (_MAKE_VERSION): 20201122
1034	Merge with NetBSD make, pick up
1035	o rename GNode.context to vars
1036	o suff.c: cleanup and refactor
1037	rename some functions and vars to better reflect usage
1038	add high-level API for CandidateSearcher
1039	o targ.c: add more debug logging for suffix handling
1040	o more unit tests
1041	o add debug logging for setting and resetting the main target
1042
10432020-11-17  Simon J Gerraty  <sjg@beast.crufty.net>
1044
1045	* VERSION (_MAKE_VERSION): 20201117
1046	Merge with NetBSD make, pick up
1047	o fix some unit-tests when .SHELL is dash
1048	o rename Targ_NewGN to GNode_New
1049	o make some GNode functions const
1050	o main.c: call Targ_Init before Var_Init
1051	cleanup PrintOnError, getTmpdir and ParseBoolean
1052	o var.c: fix error message of failed :!cmd! modifier
1053
10542020-11-14  Simon J Gerraty  <sjg@beast.crufty.net>
1055
1056	* VERSION (_MAKE_VERSION): 20201114
1057	Merge with NetBSD make, pick up
1058	o replace a few HashTable_CreateEntry with HashTable_Set
1059	o clean up cached_stats
1060	o rename DEFAULT to defaultNode
1061	o remove redundant struct make_stat
1062	o cond.c: in lint mode, check for ".else <cond>"
1063	use bitset for IfState
1064	replace large switch with if-else in Cond_EvalLine
1065	o job.c: clean up JobExec, JobStart, JobDoOutput
1066	use stderr for error message about failed touch
1067	clean up Job_Touch
1068	replace macro DBPRINTF with JobPrintln
1069	rename JobState to JobStatus
1070	main.c: switch cache for realpath from GNode to HashTable
1071	clean up Fatal
1072	clean up InitDefSysIncPath
1073	use progname instead of hard-coded 'make' in warning
1074	rename Main_SetVarObjdir to SetVarObjdir
1075	make.1: document the -S option
1076	make.c: fix debug output for GNode details
1077	use symbolic names in debug output of GNodes
1078
10792020-11-12  Simon J Gerraty  <sjg@beast.crufty.net>
1080
1081	* configure.in: fix --with-force-machine-arch
1082
1083	* VERSION (_MAKE_VERSION): 20201112
1084	Merge with NetBSD make, pick up
1085	o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable
1086	checks in InitObjdir.  Explicit .OBJDIR target always allows
1087	read-only directory.
1088	o cond.c: clean up Cond_EvalLine
1089
10902020-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
1091
1092	* VERSION (_MAKE_VERSION): 20201111
1093	Merge with NetBSD make, pick up
1094	o more unit-tests
1095	o style cleanup
1096	remove redundant parentheses from sizeof operator
1097	replace character literal 0 with '\0'.
1098	replace pointer literal 0 with NULL.
1099	remove redundant parentheses.
1100	replace (expr & mask) == 0 with !(expr & mask).
1101	use strict typing in conditions of the form !var
1102	o rename Make_OODate to GNode_IsOODate
1103	o rename Make_TimeStamp to GNode_UpdateYoungestChild
1104	o rename Var_Set_with_flags to Var_SetWithFlags
1105	o rename dieQuietly to shouldDieQuietly
1106	o buf.c: make API of Buf_Init simpler
1107	o compat.c: clean up Compat_Make, Compat_RunCommand,
1108	CompatDeleteTarget and CompatInterrupt
1109	o cond.c: in lint mode, only allow '&&' and '||', not '&' and '|'
1110	clean up CondParser_Comparison
1111	o main.c: rename getBoolean and s2Boolean
1112	rename MAKEFILE_PREFERENCE for consistency
1113	o parse.c: replace strstr in ParseMaybeSubMake with optimized code
1114	o var.c: rename VARE_ASSIGN to VARE_KEEP_DOLLAR
1115	replace emptyString with allocated empty string
1116	error out on unclosed expressions after the colon
1117
11182020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
1119
1120	* VERSION (_MAKE_VERSION): 20201101
1121	Merge with NetBSD make, pick up
1122	o negate NoExecute to GNode_ShouldExecute
1123	o job.c: rename JobMatchShell to FindShellByName
1124	extract EscapeShellDblQuot from JobPrintCommand
1125	extract ParseRunOptions from JobPrintCommand
1126	o var.c: extract ApplyModifiersIndirect from ApplyModifiers
1127	treat malformed :range, :ts and :[...] as errors
1128	add tests for the variable modifiers :[words] and :range
1129
11302020-10-31  Simon J Gerraty  <sjg@beast.crufty.net>
1131
1132	* VERSION (_MAKE_VERSION): 20201031
1133	Merge with NetBSD make, pick up
1134	o format #include directives consistently
1135	o do not look up local variables like .TARGET anywhere else
1136	o main.c: Main_SetObjdir is first called for curdir which may be
1137	readonly
1138	reduce the scope where recursive expressions are detected
1139	remove redundant :tl from getBoolean
1140	clean up mkTempFile
1141	o meta.c: simplify memory allocation in meta_create and meta_oodate
1142	o parse.c: extract loadedfile_mmap from loadfile
1143	o trace.c: document possible undefined behavior with .CURDIR
1144	o var.c: make parsing of the :gmtime and :localtime modifiers stricter
1145	rename ismeta to is_shell_metachar
1146	remove debug logging for the :Q variable modifier
1147	rename VarIsDynamic to VarnameIsDynamic
1148	use consistent parameter order in varname parsing functions
1149	extract ParseVarnameLong from Var_Parse
1150	extract ParseVarnameShort from Var_Parse
1151	fix type of ParseModifierPart parameter delim
1152	extract IsEscapedModifierPart from ParseModifierPart
1153	clean up ModifyWords
1154	add test for combining the :@ and :? variable modifiers
1155
11562020-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
1157
1158	* VERSION (_MAKE_VERSION): 20201030
1159	Merge with NetBSD make, pick up
1160	o change char * to void * in Var_Value
1161	o make iterating over HashTable simpler
1162	o rename VAR_CMD to VAR_CMDLINE
1163	o cond.c: clean up is_separator
1164	fix parse error in string literal in conditional
1165	o main.c: do not use objdir that is not writable
1166	in lint mode, exit with error status on errors
1167	o  parse.c: clean up StrContainsWord
1168	fix out-of-bounds pointer in ParseTrackInput
1169	o var.c: rename Str_SYSVMatch and its parameters
1170	remove unsatisfiable conditions in Var_Set_with_flags
1171	document where the variable name is expanded
1172	fix documentation for VARP_SUB_ONE
1173	rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME
1174	document VAR_READONLY
1175	prevent appending to read-only variables
1176	extract MayExport from Var_Export1
1177	remove redundant evaluations in VarFind
1178	replace VarFindFlags with a simple Boolean
1179	rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE
1180
11812020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
1182
1183	* VERSION (_MAKE_VERSION): 20201028
1184	Merge with NetBSD make, pick up
1185	o rename defIncPath to defSysIncPath
1186	o initialize all CmdOpts fields
1187	o lst.c: inline Vector_Get
1188	o main.c: refactor main extract
1189	InitMaxJobs,InitObjdir,InitVarMake,InitRandom,
1190	ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules,
1191	InitDefIncPath,CmdOpts_Init,UnlimitFiles
1192	o parse.c: merge curFile into includes
1193	rename predecessor to order_pred
1194	sort ParseSpecial alphabetically
1195	remove unused, undocumented .NOEXPORT
1196	rename ParseSpecial enum values consistently
1197	rename some fields of struct IFile
1198
11992020-10-26  Simon J Gerraty  <sjg@beast.crufty.net>
1200
1201	* VERSION (_MAKE_VERSION): 20201026
1202	Merge with NetBSD make, pick up
1203	o group the command line options and arguments into a struct
1204	o rename GNode.cmgn to youngestChild
1205	o rename hash functions to identify the type name
1206	o negate OP_NOP and rename it to GNode_IsTarget
1207	o add GNode_Path to access the path of a GNode
1208	o remove macros MIN and MAX
1209	o remove unused Lst_Find and Lst_FindFrom
1210	o arch.c: and make Arch_FindLib simpler
1211	clean up code layout
1212	make Arch_ParseArchive simpler
1213	o cond.c: inline CondFindStrMatch into FuncMake
1214	o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath
1215	omit trailing space in debug output for expanding file patterns
1216	refactor DirMatchFiles
1217	document that the SearchPath of Dir_FindFile may be NULL
1218	remove UNCONST from Dir_Expand
1219	inline DirFindName
1220	o for.c: clean up code for handling .for loops
1221	o hash.c: print hash in debug log with fixed width
1222	clean up hash table functions
1223	reduce amount of string hashing
1224	o job.c: refactor JobDeleteTarget
1225	use proper enum constants for aborting
1226	convert result of JobStart from macros to enum
1227	convert abort reason macros to enum
1228	rework Job_CheckCommands to reduce indentation
1229	rename Shell fields
1230	add field names in declaration of DEFSHELL_CUSTOM
1231	convert JobState and JobFlags to enum types
1232	move handling of the "..." command to JobPrintCommands
1233	o lst.c: clean up
1234	refactor LstNodeNew
1235	remove Lst_Open, Lst_Next, Lst_Close
1236	remove code for circular lists from Lst_Next
1237	o main.c: do not attempt to read .MAKE.DEPENFILE if set to
1238	/dev/null or anything starting with "no"
1239	convert macros for debug flags into enum
1240	o make.c: inline Lst_Copy in Make_ExpandUse
1241	o meta.c: inline Lst_Find in meta_oodate
1242	make Lst_RemoveIf simpler in meta_oodate
1243	o parse.c: convert error level for Parse_Error to an enum
1244	o suff.c: properly terminate debug output with newline
1245	add more details to DEBUG_SRC log
1246	replace Dir_CopyDir with Dir_CopyDirSearchPath
1247	don't modify GNode name while rebuilding the suffix graph
1248	o var.c: reduce duplicate code in VarFind
1249
12502020-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
1251
1252	* VERSION (_MAKE_VERSION): 20201022
1253	Merge with NetBSD make, pick up
1254	o more refactoring and simplification to reduce code size
1255	o var.c: extract CanonicalVarname from VarFind
1256	o make.c: extract UpdateImplicitParentsVars from Make_Update
1257	o main.c: extract PrintVar from doPrintVars
1258	extract HandlePWD from main
1259	o lst.c: inline simple Lst getters
1260	remove unused Lst_ForEach
1261	o job.c: move struct Shell from job.h to job.c
1262	o more unit tests
1263
12642020-10-19  Simon J Gerraty  <sjg@beast.crufty.net>
1265
1266	* configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT
1267
12682020-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
1269
1270	* VERSION (_MAKE_VERSION): 20201018
1271	Merge with NetBSD make, pick up
1272	o remove USE_IOVEC
1273	o rename some Hash_* apis to Hash*
1274	o replace execError with execDie
1275	o rename Lst_Init to Lst_New
1276	o add tags to enum types
1277	o rename Stack to Vector
1278	o parse.c: more refactoring
1279	o unit-tests: make some tests use line buffered stdout
1280	o unit-tests/Makefile: in meta mode do not make all tests depend on
1281	Makefile, it isn't necessary.
1282
12832020-10-10  Simon J Gerraty  <sjg@beast.crufty.net>
1284
1285	* main.c: check for CTL_HW being defined.
1286	* unit-tests/Makefile: ensure export tests output are POSIX compliant
1287	disable opt-debug-jobs test until it works on ubuntu
1288
1289	* VERSION (_MAKE_VERSION): 20201010
1290	Merge with NetBSD make, pick up
1291	o dir.c: remove pathname limit for Dir_FindHereOrAbove
1292	o hash.c: replace strcpy with memcpy in Hash_CreateEntry
1293	o main.c: extract init_machine and init_machine_arch from main
1294	allow to disable debug logging options
1295	o parse.c: enable format string truncation warnings
1296	extract parsing of sources from ParseDoDependency
1297	split ParseDoSrc into smaller functions
1298	hide implementation details from Parse_DoVar
1299	clean up parsing of variable assignments
1300	split Parse_DoVar into manageable pieces
1301	don't modify the given line during Parse_DoVar
1302	fix out-of-bounds memory access in Parse_DoVar
1303	fix parsing of the :sh assignment modifier
1304	o var.c: rework memory allocation for the name of variables
1305	extract ApplyModifier_Literal into separate function
1306	in lint mode, reject modifiers without delimiter
1307	do not export variable names starting with '-'
1308	o fix double-free bug in -DCLEANUP mode
1309	o more cleanup to enable higher warnings level
1310	o more unit tests
1311
13122020-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
1313
1314	* VERSION (_MAKE_VERSION): 20201002
1315	Merge with NetBSD make, pick up
1316	o dir.c: use hash table for looking up open directories by name
1317	o main.c: clean up option handling
1318	o parse.c: add missing const for Parse_AddIncludeDir
1319	o var.c: ApplyModifier_To, update pp in each branch
1320	o remove redundant function prototypes
1321	o more unit tests
1322
13232020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
1324
1325	* VERSION (_MAKE_VERSION): 20201001
1326	Merge with NetBSD make, pick up
1327	o compat.c: comment about "..."
1328
13292020-09-30  Simon J Gerraty  <sjg@beast.crufty.net>
1330
1331	* VERSION (_MAKE_VERSION): 20200930
1332	Merge with NetBSD make, pick up
1333	o job.c: split Job.jobPipe into 2 separate fields
1334	replace Lst_Open with direct iteration
1335	o lst.c: remove redundant assertions
1336	o targ.c: replace Lst_Open with direct iteration
1337	o var.c: fix bug in evaluation of indirect variable modifiers
1338	extract ApplyModifier_Quote into separate function
1339	o make debug logging simpler
1340
13412020-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
1342
1343	* VERSION (_MAKE_VERSION): 20200927
1344	Merge with NetBSD make, pick up
1345	o parse.c: ensure parse errors result in 'stopped in' message.
1346	o compat.c: make parameter of Compat_RunCommand const
1347	o main.c: extract InitVarTarget from main
1348	o parse.c: rename ParseFinishLine to FinishDependencyGroup
1349	refactor ParseDoDependency
1350	o var.c: Var_Subst no longer returns string result
1351	rename Var_ParsePP back to Var_Parse
1352	in lint mode, improve error handling for undefined variables
1353	extract ParseVarname from Var_Parse
1354	o rename Lst_ForEach to Lst_ForEachUntil
1355	o inline Lst_ForEachUntil in several cases
1356	o clean up API for finding and creating GNodes
1357	o fix assertion failure in -j mode with .END node
1358	o inline and remove LstNode_Prev and LstNode_Next
1359	o use fine-grained type names for lists and their nodes
1360	o more unit tests
1361
13622020-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
1363
1364	* VERSION (_MAKE_VERSION): 20200911
1365	Merge with NetBSD make, pick up
1366	o cond.c: split EvalComparison into smaller functions
1367	reorder parameters of condition parsing functions
1368	reduce code size in CondParser_Eval
1369	rename CondGetString to CondParser_String
1370	add CondLexer_SkipWhitespace
1371	group the condition parsing state into a struct
1372	in CondGetString, replace repeated Buf_Add with Buf_AddStr
1373	o migrate Var_Parse to Var_ParsePP
1374	o add wrappers around ctype.h functions
1375	o lst.c: use a stack instead of a list for the nested include path
1376	o more unit tests
1377
13782020-09-04  Simon J Gerraty  <sjg@beast.crufty.net>
1379
1380	* make-bootstrap.sh.in: adjust object list
1381
13822020-09-02  Simon J Gerraty  <sjg@beast.crufty.net>
1383
1384	* VERSION (_MAKE_VERSION): 20200902
1385	Merge with NetBSD make, pick up
1386	o use make_stat to ensure no confusion over valid fields
1387	returned by cached_stat
1388	o var.c: make VarQuote const-correct
1389	o add unit tests for .for
1390
13912020-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
1392
1393	* VERSION (_MAKE_VERSION): 20200901
1394	Merge with NetBSD make, pick up
1395	o rename Hash_Table fields
1396	o make data types in Dir_HasWildcards more precise
1397
13982020-08-31  Simon J Gerraty  <sjg@beast.crufty.net>
1399
1400	* VERSION (_MAKE_VERSION): 20200831
1401	Merge with NetBSD make, pick up
1402	o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds
1403	o lst.c: Lst_Open renable assert that list isn't open
1404	o unit test for .TARGET dependent flags
1405	o var.c: fix aliasing bug in VarUniq
1406	o more unit tests for :u
1407
14082020-08-30  Simon J Gerraty  <sjg@beast.crufty.net>
1409
1410	* VERSION (_MAKE_VERSION): 20200830
1411	Merge with NetBSD make, pick up
1412	o allow for strict type checking for Boolean
1413	o Var_Parse never returns NULL
1414	o Var_Subst never returns NULL
1415	o Lst_Find now takes boolean match function
1416	o rename Lst_Memeber to Lst_FindDatum
1417	o rename LstNode functions to match their type
1418	o rename GNode.iParents to implicitParents
1419	o fix assertion failure for .SUFFIXES in archives
1420	o compat.c: clean up documentation for CompatInterrupt and Compat_Run
1421	remove unreachable code from CompatRunCommand
1422	o main.c: simplify getBoolean
1423	o stc.c: replace brk_string with simpler Str_Words
1424	o suff.c: add debug macros
1425
14262020-08-28  Simon J Gerraty  <sjg@beast.crufty.net>
1427
1428	* VERSION (_MAKE_VERSION): 20200828
1429	Merge with NetBSD make, pick up
1430	o lst.c: inline LstIsValid and LstNodeIsValid
1431	o remove trailing S from Lst function names after migration complete
1432	o more comment cleanup/clarification
1433	o suff.c: clean up suffix handling
1434	o more unit tests
1435
14362020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
1437
1438	* VERSION (_MAKE_VERSION): 20200826
1439	Merge with NetBSD make, pick up
1440	o enum.c: distinguish between bitsets containing flags and
1441	ordinary enums
1442	o var.c: fix error message for ::!= modifier with shell error
1443	o fix bugs in -DCLEANUP mode
1444
14452020-08-24  Simon J Gerraty  <sjg@beast.crufty.net>
1446
1447	* VERSION (_MAKE_VERSION): 20200824
1448	Merge with NetBSD make, pick up
1449	o in debug mode, print GNode details in symbols
1450
14512020-08-23  Simon J Gerraty  <sjg@beast.crufty.net>
1452
1453	* VERSION (_MAKE_VERSION): 20200823
1454	Merge with NetBSD make, pick up
1455	o lst.c: more asserts,
1456	make args to Lst_Find match others.
1457	o var.c: pass flags to VarAdd
1458	o arch.c: use Buffer
1459	o str.c: brk_string return size_t for nwords
1460	o more unit tests
1461
14622020-08-22  Simon J Gerraty  <sjg@beast.crufty.net>
1463
1464	* VERSION (_MAKE_VERSION):
1465	Merge with NetBSD make, pick up
1466	o var.c: support for read-only variables eg .SHELL
1467	being the shell used to run scripts.
1468	o lst.c: more simplification
1469	o more documentation and style cleanup
1470	o more unit tests
1471	o ensure unit-test/Makefile is run by TEST_MAKE
1472	o reduce duplication of header inclusion
1473
14742020-08-21  Simon J Gerraty  <sjg@beast.crufty.net>
1475
1476	* VERSION (_MAKE_VERSION): 20200821
1477	Merge with NetBSD make, pick up
1478	o lst.c: revert invalid assertion - but document it
1479	o dir.c: split Dir_Init into two functions
1480
14812020-08-20  Simon J Gerraty  <sjg@beast.crufty.net>
1482
1483	* lst.c: needs inttypes.h on Linux
1484
1485	* VERSION (_MAKE_VERSION): 20200820
1486	Merge with NetBSD make, pick up
1487	o make.1: clarify some passages
1488	o var.c: more cleanup, clarify comments
1489	o make_malloc.c: remove unreachable code
1490	o cond.c: make CondGetString easier to debug
1491	o simplify list usage
1492	o unit-tests: more
1493
14942020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
1495
1496	* VERSION (_MAKE_VERSION): 20200816
1497	Merge with NetBSD make, pick up
1498	o refactor unit-tests to be more fine grained
1499	  not all tests moved yet
1500
15012020-08-14  Simon J Gerraty  <sjg@beast.crufty.net>
1502
1503	* VERSION (_MAKE_VERSION): 20200814
1504	Merge with NetBSD make, pick up
1505	o more str_concat variants
1506	o more enums for flags
1507	o var.c: cleanup for higher warnings level
1508
15092020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
1510
1511	* VERSION (_MAKE_VERSION): 20200810
1512	Merge with NetBSD make, pick up
1513	o more unit tests
1514	o general comment and style cleanup
1515
15162020-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
1517
1518	* VERSION (_MAKE_VERSION): 20200808
1519	Merge with NetBSD make, pick up
1520	o enum.[ch]: streamline, enums for use in flags and debug output
1521	o cond.c: cleanup
1522	o var.c: reduce duplicate code for modifiers
1523	debug logging for Var_Parse
1524	more detailed debug output
1525	o more unit tests
1526
15272020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
1528
1529	* unit-tests/Makefile: -r for recursive and include Makefile.inc
1530	so I can run tests in meta mode
1531	supress extra noise if in meta mode
1532
1533	* VERSION (_MAKE_VERSION): 20200806
1534	Merge with NetBSD make, pick up
1535	o parse.c: remove VARE_WANTRES for LINT
1536	we just want to check parsing (for now).
1537
15382020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
1539
1540	* VERSION (_MAKE_VERSION): 20200805
1541	Merge with NetBSD make, pick up
1542	o make.1: Rework the description of dependence operators
1543
15442020-08-03  Simon J Gerraty  <sjg@beast.crufty.net>
1545
1546	* VERSION (_MAKE_VERSION): 20200803
1547	Merge with NetBSD make, pick up
1548	o revert some C99 usage, for max portability
1549	o unit-tests/lint
1550
15512020-08-02  Simon J Gerraty  <sjg@beast.crufty.net>
1552
1553	* VERSION (_MAKE_VERSION): 20200802
1554	Merge with NetBSD make, pick up
1555	o more unit tests
1556
15572020-08-01  Simon J Gerraty  <sjg@beast.crufty.net>
1558
1559	* Remove NetBSD specific plumbing from unit-tests/Makefile
1560
1561	* VERSION (_MAKE_VERSION): 20200801
1562	Merge with NetBSD make, pick up
1563	o make Var_Value return const
1564	o size_t for buf sizes
1565	o optimize some buffer operations - avoid strlen
1566
15672020-07-31  Simon J Gerraty  <sjg@beast.crufty.net>
1568
1569	* VERSION (_MAKE_VERSION): 20200731
1570	Merge with NetBSD make, pick up
1571	o var.c: fix undefinded behavior for incomplete :t modifier
1572	  fixes unit-test/moderrs on Ubuntu
1573	o parse.c: When parsing variable assignments other than :=
1574	  if DEBUG(LINT) test substition of value, so we get a file and
1575	  line number in the resulting error.
1576	o dir.c: fix parsing of nested braces in dependency lines
1577	  add unit-tests
1578
15792020-07-30  Simon J Gerraty  <sjg@beast.crufty.net>
1580
1581	* VERSION (_MAKE_VERSION): 20200730
1582	Merge with NetBSD make, pick up
1583	o var.c: minor cleanup
1584	o unit-tests: more tests to improve code coverage
1585
15862020-07-28  Simon J Gerraty  <sjg@beast.crufty.net>
1587
1588	* VERSION (_MAKE_VERSION): 20200728
1589	Merge with NetBSD make, pick up
1590	o var.c: more optimizations
1591
15922020-07-26  Simon J Gerraty  <sjg@beast.crufty.net>
1593
1594	* VERSION (_MAKE_VERSION): 20200726
1595	Merge with NetBSD make, pick up
1596	o collapse lsd.lib into lst.c - reduce code size and allow inlining
1597	o lots of function comment updates
1598	o var.c: more optimizations
1599	o make return of Var_Parse const
1600
16012020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
1602
1603	* VERSION (_MAKE_VERSION): 20200720
1604	Merge with NetBSD make, pick up
1605	o DEBUG_HASH report stats at end and tone down the noise
1606	o var.c: each flag type gets its own prefix.
1607	move SysV string matching to var.c
1608	make ampersand in ${VAR:from=to&} an ordinary character
1609	cleanup and simplify implementation of modifiers
1610	o make.1: move documentation for assignment modifiers
1611
16122020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
1613
1614	* VERSION (_MAKE_VERSION): 20200718
1615	Merge with NetBSD make, pick up
1616	o DEBUG_HASH to see how well the hash tables are working
1617
16182020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
1619
1620	* bsd.after-import.mk: make sure we update unit-tests/Makefile
1621
16222020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
1623
1624	* configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC
1625
1626	* VERSION (_MAKE_VERSION): 20200710
1627	Merge with NetBSD make, pick up
1628	o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall
1629	o meta.c: target flagged .META is out-of-date if meta file missing
1630
16312020-07-09  Simon J Gerraty  <sjg@beast.crufty.net>
1632
1633	* VERSION (_MAKE_VERSION): 20200709
1634	Merge with NetBSD make, pick up
1635	o cond.c: fix for compare_expression when doEval=0
1636	o unit-tests/Makefile: rework
1637	o filemon/filemon_dev.c: ensure filemon fd is closed on exec.
1638
16392020-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
1640
1641	* VERSION (_MAKE_VERSION): 20200704
1642	Merge with NetBSD make, pick up
1643	(most of this by rillig@)
1644	o lots of style and white-space cleanup
1645	o lots more unit tests for variable modifiers
1646	o simplified description of some functions
1647	o str.c: refactor Str_Match
1648	o var.c: debugging output for :@
1649	  constify VarModify parameter
1650	  fix :hash modifier on 16-bit platforms
1651	  remove unnecessary forward declarations
1652	  refactor ApplyModifier_SysV to have less indentation
1653	  simplify code for :E and :R
1654	  clean up code for :H and :T
1655	  refactor ApplyModifiers
1656
1657	* var.c: we need stdint.h on some platforms to get uint32_t
1658	* unit-test/Makefile: we need to supress the specific error
1659	for RE substitution error in modmisc, since it varies accross
1660	different OS.
1661
16622020-07-02  Simon J Gerraty  <sjg@beast.crufty.net>
1663
1664	* VERSION (_MAKE_VERSION): 20200702
1665	Merge with NetBSD make, pick up
1666	o var.c: more improvements to avoiding unnecessary evaluation
1667	use enums for flags
1668	o remove flags arg to Var_Set which outside of var.c is always 0
1669
16702020-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
1671
1672	* VERSION (_MAKE_VERSION): 20200701
1673	Merge with NetBSD make, pick up
1674	o var.c: with change to cond.c; ensure that nested variables
1675	within a variable name are expanded.
1676	o unit-tests/varmisc.mk: test for nested varname
1677
16782020-06-29  Simon J Gerraty  <sjg@beast.crufty.net>
1679
1680	* VERSION (_MAKE_VERSION): 20200629
1681	Merge with NetBSD make, pick up
1682	o cond.c: do not eval unnecessary terms of conditionals.
1683
16842020-06-25  Simon J Gerraty  <sjg@beast.crufty.net>
1685
1686	* VERSION (_MAKE_VERSION): 20200625
1687	Merge with NetBSD make, pick up
1688	o meta.c: report error if lseek in filemon_read fails
1689
16902020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
1691
1692	* VERSION (_MAKE_VERSION): 20200622
1693	Merge with NetBSD make, pick up
1694	o dieQuietly: ignore OP_SUBMAKE as too aggressive
1695
16962020-06-19  Simon J Gerraty  <sjg@beast.crufty.net>
1697
1698	* VERSION (_MAKE_VERSION): 20200619
1699	Merge with NetBSD make, pick up
1700	o str.c: performance improvement for Str_Match for multiple '*'
1701	o dieQuietly: supress the failure output from make
1702	when failing node is a sub-make or a sibling failed.
1703	This cuts down greatly on unhelpful noise at the end of
1704	build log.  Disabled by -dj or .MAKE.DIE_QUIETLY=no
1705
17062020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
1707
1708	* FILES: add LICENSE to appease some packagers.
1709	This is an attempt to fairly represent the license on almost
1710	200 files, which are almost all BSD-3-Clause
1711	The few exceptions being more liberal.
1712
1713	* VERSION (_MAKE_VERSION): 20200610
1714	Merge with NetBSD make, pick up
1715	o unit test for :Or
1716
17172020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
1718
1719	* VERSION (_MAKE_VERSION): 20200606
1720	Merge with NetBSD make, pick up
1721	o make.1: cleanup
1722
1723	* Makefile: fix depends for main.o which broke MAKE_VERSION
1724
17252020-06-05  Simon J Gerraty  <sjg@beast.crufty.net>
1726
1727	* VERSION (_MAKE_VERSION): 20200605
1728	Merge with NetBSD make, pick up
1729	o dir.c: cached_stats - don't confuse stat and lstat results.
1730	o var.c: add :Or for reverse sort.
1731
17322020-05-24  Simon J Gerraty  <sjg@beast.crufty.net>
1733
1734	* configure.in: add AC_PROG_CC_C99 for mipspro compiler
1735	also if --with-filemon= specifies path to filemon.h
1736	set use_filemon=dev
1737	* dirname.c: remove include of namespace.h
1738
17392020-05-17  Simon J Gerraty  <sjg@beast.crufty.net>
1740
1741	* VERSION (_MAKE_VERSION): 20200517
1742	Merge with NetBSD make, pick up
1743	o modified dollar tests to avoid shell dependencies
1744	o new tests for .INCLUDEFROM
1745
17462020-05-16  Simon J Gerraty  <sjg@beast.crufty.net>
1747
1748	* unit-tests/dollar.mk: tweak  '1 dollar literal' test
1749	to not depend so much on shell behavior
1750
17512020-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
1752
1753	* VERSION (_MAKE_VERSION): 20200510
1754	Merge with NetBSD make, pick up
1755	o unit test for dollar handling
1756
17572020-05-06  Simon J Gerraty  <sjg@beast.crufty.net>
1758
1759	* VERSION (_MAKE_VERSION): 20200506
1760	Merge with NetBSD make, pick up
1761	o str.c: empty string does not match % pattern
1762	  plus unit-test changes
1763
17642020-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
1765
1766	* VERSION (_MAKE_VERSION): 20200504
1767	May the 4th be with you
1768	Merge with NetBSD make, pick up
1769	o var.c: import handling of old sysV style modifier using '%'
1770	o str.c: refactor brk_string
1771	o unit-tests: add test case for lazy conditions
1772
17732020-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
1774
1775	* VERSION (_MAKE_VERSION): 20200418
1776
1777	* configure.in: use_makefile=no for cygwin et al.
1778	case insensitive filesystems just don't work if both
1779	makefile and Makefile exist.
1780	NOTE: bmake does not support cygwin and likely never will,
1781	but if brave souls want to try it - help them out.
1782
17832020-04-02  Simon J Gerraty  <sjg@beast.crufty.net>
1784
1785	* VERSION (_MAKE_VERSION): 20200402
1786	Merge with NetBSD make, pick up
1787	o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD
1788	  a blank command is perfectly valid.
1789
17902020-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
1791
1792	* VERSION (_MAKE_VERSION): 20200330
1793	Merge with NetBSD make, pick up
1794	o make.h: extern debug_file
1795
17962020-03-18  Simon J Gerraty  <sjg@beast.crufty.net>
1797
1798	* VERSION (_MAKE_VERSION): 20200318
1799	Merge with NetBSD make, pick up
1800	o meta.c: meta_oodate, check for corrupted meta file
1801	  earlier and more often.
1802
18032020-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
1804
1805	* VERSION (_MAKE_VERSION): 20200220
1806
18072020-02-19  Simon J Gerraty  <sjg@beast.crufty.net>
1808
1809	* boot-strap: unset MAKEFLAGS
1810
18112020-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
1812
1813	* VERSION (_MAKE_VERSION): 20200212
1814	* meta.c: meta_compat_parent check for USE_FILEMON
1815	  patch from Soeren Tempel
1816
18172020-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
1818
1819	* VERSION: 20200205
1820	Merge with NetBSD make, pick up
1821	o meta.c: fix compat mode, need to call meta_job_output()
1822	o job.c: extra fds for meta mode not needed if using filemon_dev
1823
18242020-01-22  Simon J Gerraty  <sjg@beast.crufty.net>
1825
1826	* VERSION: 20200122
1827	Merge with NetBSD make, pick up
1828	o meta.c: avoid passing NULL to filemon_*() when meta_needed()
1829	  returns FALSE.
1830
18312020-01-21  Simon J Gerraty  <sjg@beast.crufty.net>
1832
1833	* VERSION: 20200121
1834	Merge with NetBSD make, pick up
1835	o filemon/filemon_{dev,ktrace}.c: allow selection of
1836	  filemon implementation.  filemon_dev.c uses the kernel module
1837	  while filemon_ktrace.c leverages the fktrace api available in
1838	  NetBSD.  filemon_ktrace.c can hopefully form the basis for
1839	  adding support for other tracing mechanisms such as strace on
1840	  Linux.
1841	o meta.c: when target is out-of-date per normal make rules
1842	  record value of .OODATE in meta file.
1843
18442019-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
1845
1846	* VERSION: 20190926
1847	  Merge with NetBSD make, pick up
1848	  o parse.c: don't pass NULL to realpath(3)
1849	    some versions cannot handle it.
1850
18512019-04-09  Simon J Gerraty  <sjg@beast.crufty.net>
1852
1853	* VERSION: 20190409
1854	  Merge with NetBSD make, pick up
1855	  o parse.c: ParseDoDependency: free paths rather than assert
1856
18572018-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
1858
1859	* VERSION: 20181222
1860
1861	* configure.in: add --without-makefile to avoid generating
1862	  makefile and make-bootstrap.sh
1863
1864	* include Makefile.inc if it exists
1865
1866	* Use Makefile and Makefile.config.in in unit-tests
1867	  so we can use just: make obj && make && make test
1868	  when bmake is already available.
1869	  We add --without-makefile to CONFIGURE_ARGS in this case.
1870
1871	* tweak bsd.after-import.mk (captures Makefile.config etc
1872	  after import to FreeBSD for example) to cope with all the above.
1873
18742018-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
1875
1876	* VERSION: 20181221
1877	  Merge with NetBSD make, pick up
1878	  o parse.c: ParseVErrorInternal use .PARSEDIR
1879	    and apply if relative, and then use .PARSEFILE
1880	    for consistent result.
1881
18822018-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
1883
1884	* VERSION: 20181220
1885	  Merge with NetBSD make, pick up
1886	  o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR
1887	    is relative
1888	  o var.c: avoid SEGFAULT in .unexport-env
1889	    when MAKELEVEL is not set
1890
18912018-12-16  Simon J Gerraty  <sjg@beast.crufty.net>
1892
1893	* VERSION: 20181216
1894	  Merge with NetBSD make, pick up
1895	  o fix for unit-tests/varquote.mk on Debian
1896
18972018-09-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1898
1899	* VERSION: 20180919
1900	  Merge with NetBSD make, pick up
1901	  o var.c: add :q
1902	  o dir.c: cleanup caching of stats
1903
19042018-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
1905
1906	* Makefile.config.in: use += where it makes sense.
1907
19082018-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1909
1910	* VERSION: 20180512
1911	  Merge with NetBSD make, pick up
1912	  o job.c: skip polling job token pipe
1913
19142018-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1915
1916	* VERSION: 20180405
1917	  Merge with NetBSD make, pick up
1918	  o parse.c: be more cautious about detecting depenency line
1919	    rather than sysV style include.
1920
19212018-02-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1922
1923	* VERSION: 20180222
1924	  Merge with NetBSD make, pick up
1925	  o parse.c: avoid calling sysconf for every call to loadfile
1926
19272018-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1928
1929	* VERSION: 20180218
1930	  Merge with NetBSD make, pick up
1931	  o var.c: Var_Set handle NULL value anytime.
1932
19332018-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1934
1935	* VERSION: 20180212
1936	  Merge with NetBSD make, pick up
1937	  o parse.c: do not treat .info as warning with -W
1938
19392017-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1940
1941	* VERSION: 20171207
1942	  Merge with NetBSD make, pick up
1943	  o var.c: Var_Append use Var_Set if var not previously set
1944	    so that VAR_CMD is handled correctly.
1945	    Add a suitable unit-test.
1946
19472017-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1948
1949	* VERSION (_MAKE_VERSION): 20171126
1950
1951	* aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
1952	  since AC_TRY_COMPILE puts input inside main()
1953	  which upsets modern compilers.
1954
19552017-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1956
1957	* VERSION: 20171118
1958	  Merge with NetBSD make, pick up
1959	  o var.c: do not append to variable set on command line
1960	    add unit-test to catch this.
1961
19622017-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1963
1964	* VERSION: 20171028
1965	  Merge with NetBSD make, pick up
1966	  o main.c: ignore empty MAKEOBJDIR
1967
1968	* Makefile.config.in:
1969	  make @prefix@ @machine*@ and @default_sys_path@ defaults.
1970
19712017-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1972
1973	* VERSION: 20171005
1974
1975	* unit-tests/dotwait.mk: redirect stderr through pipe for more
1976	  consistent result on some platforms.
1977
19782017-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1979
1980	* machine.sh: entry for AIX
1981
19822017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1983
1984	* VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
1985	  to a file that can be included by configure as well as make.
1986	  This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
1987
19882017-08-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1989
1990	* Makefile (_MAKE_VERSION): 20170810
1991	  Merge with NetBSD make, pick up
1992	  o meta.c: if target is in subdir we only need subdir name in
1993	    meta_name.
1994
19952017-07-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1996
1997	* Makefile (_MAKE_VERSION): 20170720
1998	  Merge with NetBSD make, pick up
1999	  o compat.c: pass SIGINT etc onto child and wait for it to exit
2000	    before we self-terminate.
2001
20022017-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2003
2004	* Makefile (_MAKE_VERSION): 20170711
2005	  forgot to update after merge on 20170708 ;-)
2006	  o main.c: refactor to reduce size of main function.
2007	    add -v option to always fully expand values.
2008	  o meta.c: ensure command output in meta file has ending newline
2009	    even when filemon not being used.
2010	    When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
2011	    pathname via ':L' since any ':' in pathname breaks that.
2012	    Instead set a '${.p.}' to pathname in the target context and
2013	    use that.
2014
20152017-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2016
2017	* Makefile (_MAKE_VERSION): 20170510
2018	  Merge with NetBSD make, pick up
2019	  o main.c: Main_SetObjdir: ensure buf2 is in scope
2020
20212017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2022
2023	* Makefile (_MAKE_VERSION): 20170505
2024	  see mk/ChangeLog
2025
20262017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2027
2028	* parse.c: not everyone has stdint.h
2029
20302017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2031
2032	* Makefile (_MAKE_VERSION): 20170501
2033	  see mk/ChangeLog
2034
20352017-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2036
2037	* Makefile (_MAKE_VERSION): 20170421
2038	  Merge with NetBSD make, pick up
2039	  o str.c: Str_Match: fix closure tests for [^] and add unit-test.
2040
20412017-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2042
2043	* Makefile (_MAKE_VERSION): 20170420
2044	  Merge with NetBSD make, pick up
2045	  o main.c: only use -C arg "as is" if it contains no
2046	    relative component.
2047
20482017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2049
2050	* Makefile (_MAKE_VERSION): 20170418
2051	  Merge with NetBSD make, pick up
2052	  o main.c: fix Main_SetObjdir() for relative paths (eg obj).
2053
20542017-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
2055
2056	* Makefile (_MAKE_VERSION): 20170417
2057	  Merge with NetBSD make, pick up
2058	  o fixes a number of coverity complaints
2059	    - check return value of fseek, fcntl
2060	    - plug memory leak in Dir_FindFile, Var_LoopExpand,
2061	      JobPrintCommand, ParseTraditionalInclude
2062	    - use bmake_malloc() where NULL is not tollerated
2063	    - use MAKE_ATTR_UNUSED rather that kludges like
2064	      return(unused ? 0 : 0)
2065	    - use purge_cached_realpaths() rather than abuse cached_realpath()
2066
20672017-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2068
2069	* Makefile (_MAKE_VERSION): 20170413
2070	  Merge with NetBSD make, pick up
2071	  o main.c: when setting .OBJDIR ignore '$' in paths.
2072
2073	* job.c: use MALLOC_OPTIONS to set malloc_options.
2074
20752017-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2076
2077	* Makefile (_MAKE_VERSION): 20170411
2078	  Merge with NetBSD make, pick up
2079	  o str.c: Str_Match: allow [^a-z] to behave as expected.
2080
20812017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2082
2083	* Makefile (_MAKE_VERSION): 20170326
2084	  Merge with NetBSD make, pick up
2085	  o main.c: purge relative paths from realpath cache when .OBJDIR
2086	    is changed.
2087
20882017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2089
2090	* Makefile (_MAKE_VERSION): 20170311
2091	  Merge with NetBSD make, pick up
2092          o main.c: only use -C arg "as is" if it starts with '/'.
2093
20942017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2095
2096	* Makefile (_MAKE_VERSION): 20170301
2097	  Merge with NetBSD make, pick up
2098	  o main.c: use -C arg "as is" rather than getcwd()
2099	    if they identify the same directory.
2100	  o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
2101
21022017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2103
2104	* Makefile (_MAKE_VERSION): 20170201
2105	  Merge with NetBSD make, pick up
2106	  o var.c: allow :_=var and avoid use of special context.
2107
21082017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2109
2110	* Makefile (_MAKE_VERSION): 20170130
2111	  Merge with NetBSD make, pick up
2112	  o var.c: add :range and :_
2113	  o main.c: partially initialize Dir_* before MainParseArgs()
2114	    can be called.
2115	    If -V, skip Main_ExportMAKEFLAGS()
2116
21172017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2118
2119	* Makefile (_MAKE_VERSION): 20170114
2120	  Merge with NetBSD make, pick up
2121	  o var.c: allow specifying the utc value used by :{gm,local}time
2122
21232016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2124
2125	* Makefile (_MAKE_VERSION): 20161212
2126	  Merge with NetBSD make, pick up
2127          o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
2128
21292016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2130
2131	* Makefile (_MAKE_VERSION): 20161209
2132	  Merge with NetBSD make, pick up
2133	  o main.c: cleanup setting of .OBJDIR
2134	  o parse.c: avoid coredump from (var)=val
2135
21362016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2137
2138	* Makefile (_MAKE_VERSION): 20161126
2139	  Merge with NetBSD make, pick up
2140	  o make.c: Make_OODate: report src node name if path not set
2141
21422016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2143
2144	* Makefile (_MAKE_VERSION): 20160926
2145	  Merge with NetBSD make, pick up
2146	  o support for .DELETE_ON_ERROR: (remove targets that fail)
2147
21482016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2149
2150	* Makefile MAN: tweak .Dt to match ${PROG}
2151
21522016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2153
2154	* Makefile (_MAKE_VERSION): 20160818
2155	  its a neater number; pick up whitespace fixes to man page.
2156
21572016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
2158
2159	* Makefile (_MAKE_VERSION): 20160817
2160	  Merge with NetBSD make, pick up
2161	  o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
2162	    so we can call it before adding entries to missingFiles.
2163	    Thus we do not track files we have been told to ignore.
2164
21652016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2166
2167	* Makefile (_MAKE_VERSION): 20160815
2168	  Merge with NetBSD make, pick up
2169	  o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
2170	    pathnames, and skip if the expansion is empty.
2171	    Useful for dirdeps.mk when checking DIRDEPS_CACHE.
2172
21732016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2174
2175	* Makefile (_MAKE_VERSION): 20160812
2176	  Merge with NetBSD make, pick up
2177	  o meta.c: remove all missingFiles entries that match a deleted
2178	    dir.
2179	  o main.c: set .ERROR_CMD if possible.
2180
21812016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2182
2183	* Makefile (_MAKE_VERSION): 20160606
2184	  Merge with NetBSD make, pick up
2185	  o dir.c: extend mtimes cache to others via cached_stat()
2186
21872016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2188
2189	* Makefile (_MAKE_VERSION): 20160604
2190	  Merge with NetBSD make, pick up
2191	  o meta.c: missing filemon data is only relevant if we read a
2192	    meta file.
2193	    Also do not return oodate for a missing metafile if gn->path
2194	    points to .CURDIR
2195
21962016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2197
2198	* Makefile (_MAKE_VERSION): 20160602
2199	  Merge with NetBSD make, pick up
2200	  o cached_realpath(): avoid hitting filesystem more than necessary.
2201	  o meta.c: refactor need_meta decision, add knobs for
2202	    missing meta file and filemon data wrt out-of-datedness.
2203
22042016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2205
2206	* Makefile (_MAKE_VERSION): 20160528
2207
2208	* boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
2209
22102016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2211
2212	* Makefile (_MAKE_VERSION): 20160512
2213	  Merge with NetBSD make, pick up
2214	  o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
2215	    this is useful for gcov builds.
2216	  o propagate errors from filemon(4).
2217
22182016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2219
2220	* Makefile (_MAKE_VERSION): 20160509
2221	  Merge with NetBSD make, pick up
2222	  o remove use of non-standard types u_int etc.
2223	  o meta.c: apply realpath() before matching against metaIgnorePaths
2224
22252016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2226
2227	* Makefile (_MAKE_VERSION): 20160404
2228	  Merge with NetBSD make, pick up
2229	  o allow makefile to set .MAKE.JOBS
2230
2231	* Makefile (PROG_NAME): use ${_MAKE_VERSION}
2232
22332016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2234
2235	* Makefile (_MAKE_VERSION): 20160315
2236	  Merge with NetBSD make, pick up
2237	  o fix handling of archive members
2238
22392016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2240
2241	* Makefile (_MAKE_VERSION): rename variable to avoid interference
2242	  with checks for ${MAKE_VERSION}
2243
22442016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2245
2246	* Makefile (MAKE_VERSION): 20160310
2247	  Merge with NetBSD make, pick up
2248	  o meta.c: treat missing Read file same as Write, incase we Delete it.
2249
22502016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2251
2252	* Makefile (MAKE_VERSION): 20160307
2253	  Merge with NetBSD make, pick up
2254	  o var.c: fix :ts\nnn to be octal by default.
2255	  o meta.c: meta_finish() to cleanup memory.
2256
22572016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2258
2259	* Makefile (MAKE_VERSION): 20160226
2260	  Merge with NetBSD make, pick up
2261	  o meta.c: allow meta file for makeDepend if makefiles want it.
2262
22632016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2264
2265	* var.c: default .MAKE.SAVE_DOLLARS to FALSE
2266	  for backwards compatability.
2267
2268	* Makefile (MAKE_VERSION): 20160220
2269	  Merge with NetBSD make, pick up
2270	  o var.c: add knob to control handling of '$$' in :=
2271
22722016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2273
2274	* Makefile (MAKE_VERSION): 20160218
2275	  Merge with NetBSD make, pick up
2276	  o var.c: add .export-literal allows us to fix sys.clean-env.mk
2277	    post the changes to Var_Subst.
2278	    Var_Subst now takes flags, and does not consume '$$' in :=
2279
22802016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
2281
2282	* Makefile (MAKE_VERSION): 20160217
2283	  Merge with NetBSD make, pick up
2284	  o var.c: preserve '$$' in :=
2285	  o parse.c: add .dinclude for handling included
2286	    makefile like .depend
2287
22882015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2289
2290	* Makefile (MAKE_VERSION): 20151220
2291	  Merge with NetBSD make, pick up
2292	  o suff.c: re-initialize suffNull when clearing suffixes.
2293
22942015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2295
2296	* Makefile (MAKE_VERSION): 20151201
2297	  Merge with NetBSD make, pick up
2298	  o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
2299	  o meta.c: meta_oodate: use lstat(2) for checking link target
2300	    in case it is a symlink.
2301	  o var.c: avoid calling brk_string and Var_Export1 with empty
2302	    strings.
2303
23042015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2305
2306	* Makefile (MAKE_VERSION): 20151126
2307	  Merge with NetBSD make, pick up
2308	  o parse.c: ParseTrackInput don't access beyond
2309	    end of old value.
2310
23112015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2312
2313	* Makefile (MAKE_VERSION): 20151022
2314
2315	* Add support for BSD/OS which lacks inttypes.h
2316	  and really needs sys/param.h for sys/sysctl.h
2317	  also 'type' is not a shell builtin.
2318
2319	* var.c: eliminate uint32_t and need for inttypes.h
2320
2321	* main.c: PrintOnError flush stdout before run .ERROR
2322
2323	* parse.c: cope with _SC_PAGESIZE not being defined.
2324
2325
23262015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2327
2328	* Makefile (MAKE_VERSION): 20151020
2329	  Merge with NetBSD make, pick up
2330	  o var.c: fix uninitialized var
2331
23322015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2333
2334	* var.c: the conditional expressions used with ':?' can be
2335	expensive, if already discarding do not evaluate or expand
2336	anything.
2337
23382015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2339
2340	* Makefile (MAKE_VERSION): 20151010
2341	  Merge with NetBSD make, pick up
2342	  o Add Boolean wantit flag to Var_Subst and Var_Parse
2343	    when FALSE we know we are discarding the result and can
2344	    skip operations like Cmd_Exec.
2345
23462015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2347
2348	* Makefile (MAKE_VERSION): 20151009
2349	  Merge with NetBSD make, pick up
2350	  o var.c: don't check for NULL before free()
2351	  o meta.c: meta_oodate, do not hard code ignore of makeDependfile
2352
23532015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2354
2355	* Makefile (MAKE_VERSION): 20150910
2356	  Merge with NetBSD make, pick up
2357	  o main.c: with -w print Enter/Leaving messages for objdir too
2358	    if necessary.
2359	  o centralize shell metachar handling
2360
2361	* FILES: add metachar.[ch]
2362
23632015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2364
2365	* Makefile (MAKE_VERSION): 20150606
2366	  Merge with NetBSD make, pick up
2367	  o make.1: document .OBJDIR target
2368
23692015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2370
2371	* Makefile (MAKE_VERSION): 20150505
2372	  Merge with NetBSD make, pick up
2373	  o cond.c: be strict about lhs of comparison when evaluating .if
2374	    but less so when called from variable expansion.
2375	  o unit-tests/cond2.mk: test various error conditions
2376
23772015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2378
2379	* machine.sh (MACHINE): Add Bitrig
2380	  patch from joerg@netbsd.org
2381
23822015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2383
2384	* Makefile (MAKE_VERSION): 20150418
2385	  Merge with NetBSD make, pick up
2386	  o job.c: use memmove() rather than memcpy()
2387
2388	* unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
2389	  case, so skip it.
2390
23912015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2392
2393	* Makefile (MAKE_VERSION): 20150411
2394	  bump version - only mk/ changes.
2395
23962015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2397
2398	* Makefile (MAKE_VERSION): 20150410
2399	  Merge with NetBSD make, pick up
2400	  o document different handling of '-' in jobs mode vs compat
2401	  o fix jobs mode so that '-' only applies to whole job
2402	    when shell lacks hasErrCtl
2403	  o meta.c: use separate vars to track lcwd and latestdir (read)
2404	    per process
2405
24062015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2407
2408	* Makefile (MAKE_VERSION): 20150401
2409	  Merge with NetBSD make, pick up
2410	  o meta.c: close meta file in child
2411
2412	* Makefile: use BINDIR.bmake if set.
2413	  Same for MANDIR and SHAREDIR
2414	  Handy for testing release candidates
2415	  in various environments.
2416
24172015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2418
2419	* move initialization of savederr to block where it is used
2420	  to avoid spurious warning from gcc5
2421
24222014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2423
2424	* Makefile (MAKE_VERSION): 20141111
2425	  just a cooler number
2426
24272014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2428
2429	* Makefile (MAKE_VERSION): 20141105
2430	  Merge with NetBSD make, pick up
2431	  o revert major overhaul of suffix handling
2432	    and POSIX compliance - too much breakage
2433	    and impossible to make backwards compatible.
2434	  o we still have the new unit test structure which is ok.
2435	  o meta.c ensure "-- filemon" is at start of line.
2436
24372014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
2438
2439	* configure.in: test that result of getconf PATH_MAX is numeric
2440	  and discard if not.  Apparently needed for Hurd.
2441
24422014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2443
2444	* Makefile (MAKE_VERSION): 20140830
2445	  Merge with NetBSD make, pick up
2446	  o major overhaul of suffix handling
2447	  o improved POSIX compliance
2448	  o overhauled unit-tests
2449
24502014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2451
2452	* Makefile (MAKE_VERSION): 20140620
2453	  Merge with NetBSD make, pick up
2454	  o var.c return varNoError rather than var_Error for ::= modifiers.
2455
24562014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2457
2458	* Makefile (MAKE_VERSION): 20140522
2459	  Merge with NetBSD make, pick up
2460	  o var.c detect some parse errors.
2461
24622014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2463
2464	* Fix spelling errors - patch from Pedro Giffuni
2465
24662014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2467
2468	* Makefile (MAKE_VERSION): 20140214
2469	  Merge with NetBSD make, pick up
2470	  o .INCLUDEFROM*
2471	  o use Var_Value to get MAKEOBJDIR[PREFIX]
2472	  o reduced realloc'ign in brk_string.
2473	* configure.in: add a check for compiler supporting __func__
2474
24752014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2476
2477	* boot-strap: ignore mksrc=none
2478
24792014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2480
2481	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
2482
24832014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2484
2485	* Makefile (MAKE_VERSION): 20140101
2486	* configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
2487	* Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
2488	* make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
2489	  Hurd)
2490	* configure.in: Add AC_PREREQ and check for
2491	  sysctl; patch from Andrew Shadura andrewsh at debian.org
2492
24932013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2494
2495	* Makefile (MAKE_VERSION): 20131010
2496	* lose the const from arg to systcl to avoid problems on older BSDs.
2497
24982013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2499
2500	* Makefile (MAKE_VERSION): 20131001
2501	  Merge with NetBSD make, pick up
2502	  o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
2503	    hw.machine_arch if necessary.
2504	  o meta.c: meta_oodate - need to look at src of Link and target
2505	    of Move as well.
2506	* main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
2507	  provide __arraycount() if needed.
2508
25092013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2510
2511	* Makefile (MAKE_VERSION): 20130904
2512	  Merge with NetBSD make, pick up
2513	  o Add VAR_INTERNAL context, so that internal setting of
2514	    MAKEFILE does not override value set by makefiles.
2515
25162013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2517
2518	* Makefile (MAKE_VERSION): 20130902
2519	  Merge with NetBSD make, pick up
2520	  o CompatRunCommand: only apply shellErrFlag when errCheck is true
2521
25222013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2523
2524	* Makefile (MAKE_VERSION): 20130828
2525	  Merge with NetBSD make, pick up
2526	  o Fix VAR :sh = syntax from Will Andrews at freebsd.org
2527	  o Call Job_SetPrefix() from Job_Init() so makefiles have
2528	    opportunity to set .MAKE.JOB.PREFIX
2529
25302013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2531
2532	* Makefile (MAKE_VERSION): 20130730
2533	  Merge with NetBSD make, pick up
2534	  o Allow suppression of --- job -- tokens by setting
2535	    .MAKE.JOB.PREFIX empty.
2536
25372013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2538
2539	* Makefile (MAKE_VERSION): 20130716
2540	  Merge with NetBSD make, pick up
2541	  o number of gmake compatibility tweaks
2542	    -w for gmake style entering/leaving messages
2543	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
2544	    handle MAKEFLAGS containing only letters.
2545	  o when overriding a GLOBAL variable on the command line,
2546	    delete it from GLOBAL context so -V doesn't show the wrong
2547	    value.
2548
25492013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2550
2551	* configure.in: We don't need MAKE_LEVEL_SAFE anymore.
2552
2553	* Makefile (MAKE_VERSION): 20130706
2554	  Merge with NetBSD make, pick up
2555	  o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
2556	    true so that CompatRunCommand() can use it, to ensure
2557	    consistent behavior with jobs mode.
2558	  o use MAKE_LEVEL_ENV to define the variable to propagate
2559	    .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
2560	  o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
2561	    paths to ignore.
2562
25632013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2564
2565	* Makefile (MAKE_VERSION): 20130604
2566	  Merge with NetBSD make, pick up
2567	  o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
2568	    to avoid leaking descriptors.
2569
25702013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2571
2572	* Makefile (MAKE_VERSION): 20130528
2573	  Merge with NetBSD make, pick up
2574	  o var.c: cleanup some left-overs in VarHash()
2575
25762013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2577
2578	* Makefile (MAKE_VERSION): 20130520
2579	  generate manifest from component FILES rather than have to
2580	  update FILES when mk/FILES changes.
2581
25822013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2583
2584	* Makefile (MAKE_VERSION): 20130518
2585	  Merge with NetBSD make, pick up
2586	  o suff.c: don't skip all processsing for .PHONY targets
2587	    else wildcard srcs do not get expanded.
2588	  o var.c: expand name of variable to delete if necessary.
2589
25902013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2591
2592	* Makefile (MAKE_VERSION): 20130330
2593	  Merge with NetBSD make, pick up
2594	  o meta.c: refine the handling of .OODATE in commands.
2595	    Rather than suppress command comparison for the entire script
2596	    as though .NOMETA_CMP had been used, only suppress it for the
2597	    one command line.
2598	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
2599	    suppress comparison of a command without otherwise affecting it.
2600	  o make.1: document that
2601
26022013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2603
2604	* Makefile (MAKE_VERSION): 20130321
2605	  yes, not quite right but its a cooler number.
2606	  Merge with NetBSD make, pick up
2607	  o parse.c: fix ParseGmakeExport to be portable
2608	    and add a unit-test.
2609	* meta.c: call meta_init() before makefiles are read and if built
2610	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
2611	  this let's makefiles test for support.
2612	  Call meta_mode_init() to process .MAKE.MODE.
2613
26142013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2615
2616	* Makefile (MAKE_VERSION): 20130305
2617	  Merge with NetBSD make, pick up
2618	  o run .STALE: target when a dependency from .depend is missing.
2619	  o job.c: add Job_RunTarget() for the above and .BEGIN
2620
26212013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2622
2623	* Makefile (MAKE_VERSION): 20130303
2624	  Merge with NetBSD make, pick up
2625	  o main.c: set .MAKE.OS to utsname.sysname
2626	  o job.c: more checks for read and poll errors
2627	  o var.c: lose VarChangeCase() saves 4% time
2628
26292013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2630
2631	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
2632	  want to use MAKEOBJDIR
2633
26342013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
2635
2636	* Merge with NetBSD make, pick up
2637	  o make.1: more info on how shell commands are handled.
2638	  o job.c,main.c: detect write errors to job pipes.
2639
26402013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2641
2642	* Makefile (MAKE_VERSION): 20130123
2643	  Merge with NetBSD make, pick up
2644	  o meta.c: if script uses .OODATE and meta_oodate() decides
2645	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
2646	  o var.c: in debug output indicate which variabale modifiers
2647	    apply to.
2648	  o remove Check_Cwd logic the makefiles have been fixed.
2649
26502012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2651
2652	* makefile.in: add a simple makefile for folk who insist on
2653	  ./configure; make; make install
2654	  it just runs boot-strap
2655	* include mk/* to accommodate the above
2656	* boot-strap:  re-work to accommodate the above
2657	  mksrc defaults to $Mydir/mk
2658	  allow op={configure,build,install,clean,all}
2659	  add options to facilitate install
2660	* Makefile.config.in: just the bits set by configure
2661	* Makefile: bump version to 20121212
2662	  abandon Makefile.in (NetBSD Makefile)
2663	  leverage mk/* instead
2664	* configure.in: ensure srcdir is absolute
2665
26662012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2667
2668	* Makefile.in (MAKE_VERSION): 20121111
2669	  fix generation of bmake.cat1
2670
26712012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2672
2673	* Makefile.in (MAKE_VERSION): 20121109
2674	  Merge with NetBSD make, pick up
2675	  o make.c: MakeBuildChild: return 0 so search continues if a
2676	    .ORDER dependency is detected.
2677	  o unit-tests/order: test the above
2678
26792012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2680
2681	* Makefile.in (MAKE_VERSION): 20121102
2682	  Merge with NetBSD make, pick up
2683	  o cond.c: allow cond_state[] to grow.
2684	    In meta mode with a very large tree, we can hit the limit
2685	    while processing dirdeps.
2686
26872012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2688
2689	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
2690
26912012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2692
2693	* Makefile.in (MAKE_VERSION): 20121010
2694	  o protect syntax that only bmake parses correctly.
2695	  o remove auto setting of FORCE_MACHINE, use configure's
2696	    --with-force-machine=whatever if that is desired.
2697
26982012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2699
2700	* Makefile.in: do not lose history from make.1 when generating bmake.1
2701
27022012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2703
2704	* Makefile.in (MAKE_VERSION): 20121007
2705	  Merge with NetBSD make, pick up
2706	  o compat.c: ignore empty commands - same as jobs mode.
2707	  o make.1: document meta chars that cause use of shell
2708
27092012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2710
2711	* Makefile.in (MAKE_VERSION): bump version to 20120911
2712	* bsd.after-import.mk: include Makefile.inc early and allow it to
2713	  override PROG
2714
27152012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
2716
2717	* Makefile.in (MAKE_VERSION): bump version to 20120831
2718	  Merge with NetBSD make, pick up
2719	  o cast sizeof() to int for comparison
2720	  o minor make.1 tweak
2721
27222012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2723
2724	* Makefile.in (MAKE_VERSION): bump version to 20120830
2725	  Merge with NetBSD make, pick up
2726	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
2727	  o debug flag -dV causes -V to show raw value regardless.
2728
27292012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2730
2731	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
2732	  gets SRCTOP set.
2733
27342012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2735
2736	* Makefile.in (MAKE_VERSION): bump version to 20120704
2737	  Merge with NetBSD make, pick up
2738	  o Job_ParseShell should call Shell_Init if it has been
2739	    previously called.
2740	* Makefile.in: set USE_META based on configure result.
2741	  also .PARSEDIR is safer indicator of bmake.
2742
27432012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2744
2745	* Makefile.in: bump version to 20120626
2746	  ensure CPPFLAGS is in CFLAGS
2747	* meta.c: avoid nested externs
2748	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
2749
27502012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2751
2752	* Makefile.in (MAKE_VERSION): bump version to 20120620
2753	  Merge with NetBSD make, pick up
2754	  o make_malloc.c: avoid including make_malloc.h again
2755
2756	* Makefile.in: avoid bmake only syntax or protect with
2757	  .if defined(.MAKE.LEVEL)
2758	* bsd.after-import.mk: replace .-include with .sinclude
2759	  ensure? SRCTOP gets a value
2760	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
2761
27622012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2763
2764	* Makefile.in (MAKE_VERSION): bump version to 20120612
2765	  Merge with NetBSD make, pick up
2766	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
2767	    for greater portability.
2768	  o unit-tests/forloop: check that .for works as expected wrt
2769	    number of times and with "quoted strings".
2770
27712012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2772
2773	* Makefile.in (MAKE_VERSION): bump version to 20120606
2774	  Merge with NetBSD make, pick up
2775	  o compat.c: use kill(2) rather than raise(3).
2776	* configure.in: look for sys/dev/filemon
2777	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
2778	  and pass BOOTSTRAP_XTRAS to boot-strap.
2779
27802012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2781
2782	* Makefile.in (MAKE_VERSION): bump version to 20120604
2783	  Merge with NetBSD make, pick up
2784	  o util.c and var.c share same var for tracking if environ
2785	    has been reallocated.
2786	  o util.c provide getenv with setenv.
2787	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
2788	  when the shell actively strips .MAKE.* from the environment.
2789	  We still refer to the variable always as .MAKE.LEVEL
2790	* util.c fix bug in findenv() was finding prefix of name.
2791	* compat.c: re-raising SIGINT etc after running .INTERRUPT
2792	  results in more reliable termination of all activity on many
2793	  platforms.
2794
27952012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2796
2797	* Makefile.in (MAKE_VERSION): bump version to 20120602
2798	  Merge with NetBSD make, pick up
2799	  o for.c: handle quoted items in .for list
2800
28012012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2802
2803	* Makefile.in (MAKE_VERSION): bump version to 20120530
2804	  Merge with NetBSD make, pick up
2805	  o compat.c: ignore empty command.
2806
28072012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2808
2809	* Makefile.in (MAKE_VERSION): bump version to 20120524
2810	* FILES: add bsd.after-import.mk:
2811	  A simple means of integrating bmake into a BSD build system.
2812
28132012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2814
2815	* Makefile.in (MAKE_VERSION): bump version to 20120520
2816	  Merge with NetBSD make, pick up
2817	  o increased limit for nested conditionals.
2818
28192012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2820
2821	* Makefile.in (MAKE_VERSION): bump version to 20120518
2822	  Merge with NetBSD make, pick up
2823	  o use _exit(2) in signal hanlder
2824	  o Don't use the [dir] cache when building nodes that might have
2825	    changed since the last exec.
2826	  o Avoid nested extern declaration warnings.
2827
28282012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
2829
2830	* meta.c (fgetLine): avoid %z - not portable.
2831	* parse.c: Since we moved include of sys/mman.h
2832	  and def's of MAP_COPY etc. we got dups from a merge.
2833
28342012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2835
2836	* Makefile.in (MAKE_VERSION): bump version to 20120420
2837	  Merge with NetBSD make, pick up
2838	  o restore duplicate supression in .MAKE.MAKEFILES
2839	    runtime saving can be significant.
2840	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
2841	    consumption up to 20%.
2842
28432012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2844
2845	* Makefile.in (MAKE_VERSION): bump version to 20120420
2846          Merge with NetBSD make, pick up
2847	  o remove duplicate supression in .MAKE.MAKEFILES
2848	  o improved dir cache behavior
2849	  o gmake'ish export command
2850
28512012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2852
2853	* Makefile.in (MAKE_VERSION): bump version to 20120325
2854	  Merge with NetBSD make, pick up
2855	  o fix parsing of :[#] in conditionals.
2856
28572012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2858
2859	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
2860	  since some systems cannot cope with .Nx <version>
2861
28622011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2863
2864	* Makefile.in (MAKE_VERSION): bump version to 20111111
2865	  Merge with NetBSD make, pick up
2866	  o debug output for .PARSEDIR and .PARSEFILE
2867
28682011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2869
2870	* Makefile.in (MAKE_VERSION):  bump version to 20111010
2871
28722011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2873
2874	* boot-strap: check for an expected file in the dirs we look for.
2875	* make-bootstrap.sh: pass on LDSTATIC
2876
28772011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2878
2879	* Makefile.in (MAKE_VERSION): bump version to 20111001
2880	  Merge with NetBSD make, pick up
2881	  o ensure .PREFIX is set for .PHONY
2882	    and .TARGET set for .PHONY run via .END
2883	  o __dead used consistently
2884
28852011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2886
2887	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
2888
28892011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2890
2891	* Makefile.in (MAKE_VERSION): bump version to 20110905
2892	  Merge with NetBSD make, pick up
2893	  o meta_oodate: ignore makeDependfile
2894
28952011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2896
2897	* Makefile.in (MAKE_VERSION): bump version to 20110828
2898	  Merge with NetBSD make, pick up
2899	  o silent=yes in .MAKE.MODE causes meta mode to mark targets
2900	    as SILENT if a .meta file is created
2901
29022011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2903
2904	* Makefile.in (MAKE_VERSION): bump version to 20110818
2905	  Merge with NetBSD make, pick up
2906	  o in meta mode, if target flagged .META a missing .meta file
2907	    means target is out-of-date
2908	  o fixes for gcc 4.5 warnings
2909	  o simplify job printing code
2910
29112011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2912
2913	* Makefile.in (MAKE_VERSION): bump version to 20110808
2914	  Merge with NetBSD make, pick up
2915	  o do not touch OP_SPECIAL targets when doing make -t
2916
29172011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2918
2919	* Makefile.in (MAKE_VERSION): bump version to 20110622
2920	  Merge with NetBSD make, pick up
2921	  o meta_oodate detect corrupted .meta file and declare oodate.
2922	* configure.in: add check for setsid
2923
29242011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2925
2926	* Merge with NetBSD make, pick up
2927	  o unit-tests/modts now works on MirBSD
2928
29292011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2930
2931	* Makefile.in (MAKE_VERSION): bump version to 20110606
2932	  Merge with NetBSD make, pick up
2933	  o ApplyModifiers: when we parse a variable which is not
2934	    the entire modifier string, or not followed by ':', do not
2935	    consider it as containing modifiers.
2936	  o loadfile: ensure newline at end of mapped file.
2937
29382011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2939
2940	* Makefile.in (MAKE_VERSION): bump version to 20110505
2941	  Merge with NetBSD make, pick up
2942	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
2943	    of make's control.  In meta mode, any generated file within
2944	    said bailiwick, which  is found to be missing, causes current
2945	    target to be out-of-date.
2946
29472011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2948
2949	* Makefile.in (MAKE_VERSION): bump version to 20110411
2950	  Merge with NetBSD make, pick up
2951	  o when long modifiers fail to match, check sysV style.
2952	    - add a test case
2953
29542011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2955
2956	* Makefile.in (MAKE_VERSION): bump version to 20110410
2957	  Merge with NetBSD make, pick up
2958	  o :hash - cheap 32bit hash of value
2959	  o :localtime, :gmtime - use value as format string for strftime.
2960
29612011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2962
2963	* Makefile.in (MAKE_VERSION): bump version to 20110330
2964	  mostly because its a cooler version.
2965	  Merge with NetBSD make, pick up
2966	  o NetBSD tags for meta.[ch]
2967	  o job.c call meta_job_finish() after meta_job_error().
2968	  o meta_job_error() should call meta_job_finish() to ensure
2969	    .meta file is closed, and safe to copy - if .ERROR target wants.
2970	   meta_job_finish() is safe to call repeatedly.
2971
29722011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
2973
2974	* unit-tests/modts: use printf if it is a builtin,
2975	  to save us from MirBSD
2976
2977	* Makefile.in (MAKE_VERSION): bump version to 20110329
2978	  Merge with NetBSD make, pick up
2979	  o fix for use after free() in CondDoExists().
2980	  o meta_oodate() report extra commands and return earlier.
2981
29822011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
2983
2984	* Makefile.in (MAKE_VERSION): bump version to 20110327
2985	  Merge with NetBSD make, pick up
2986	  o meta.c, if .MAKE.MODE contains curdirOk=yes
2987	    allow creating .meta files in .CURDIR
2988	* boot-strap (TOOL_DIFF): aparently at least on linux distro
2989	  formats the output of 'type' differently - so eat any "()"
2990
29912011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2992
2993	* Makefile.in (MAKE_VERSION): bump version to 20110306
2994	  Merge with NetBSD make, pick up
2995	  o meta.c, only do getcwd() once
2996
29972011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2998
2999	* Makefile.in (MAKE_VERSION): bump version to 20110305
3000	  Merge with NetBSD make, pick up
3001	  o correct sysV substitution handling of empty lhs and variable
3002	  o correct exists() check for dir with trailing /
3003	  o correct handling of modifiers for non-existant variables
3004	    during evaluation of conditionals.
3005	  o ensure MAP_FILE is defined.
3006	  o meta.c use curdir[] now exported by main.c
3007
30082011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3009
3010	* Makefile.in (MAKE_VERSION): bump version to 20110225
3011	  Merge with NetBSD make, pick up
3012	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
3013	    makefiles have been read.
3014	  o fix example of :? modifier in man page.
3015
30162011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3017
3018	* Makefile.in (MAKE_VERSION): bump version to 20110214
3019	  Merge with NetBSD make, pick up
3020	  o meta.c handle realpath() failing when generating meta file
3021	    name.
3022
3023	* sigcompat.c: convert to ansi so we can use higher warning levels.
3024
3025
30262011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3027
3028	* Makefile.in (MAKE_VERSION): bump version to 20110207
3029	  Merge with NetBSD make, pick up
3030	  o fix for bug in meta mode.
3031
30322011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
3033
3034	* parse.c: SunOS 5.8 at least does not have MAP_FILE
3035
30362011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3037
3038	* Makefile.in (MAKE_VERSION): bump version to 20110101
3039	  Merge with NetBSD make, pick up
3040	  o use mmap(2) if available, for reading makefiles
3041
30422010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
3043
3044	* Makefile.in (MAKE_VERSION): bump version to 20101215
3045	  Merge with NetBSD make, pick up
3046	  o ensure meta_job_error() does not report a previous .meta file
3047	    as being culprit.
3048
30492010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3050
3051	* Makefile.in (MAKE_VERSION): bump version to 20101210
3052	  Merge with NetBSD make, pick up
3053	  o meta_oodate: track cwd per process, and only consider target
3054	    out-of-date if missing file is outside make's CWD.
3055	    Ignore files in /tmp/ etc.
3056	  o to ensure unit-tests results match, need to control LC_ALL
3057	    as well as LANG.
3058	  o fix for parsing bug in var.c
3059
30602010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3061
3062	* Makefile.in (MAKE_VERSION): bump version to 20101126
3063	  Merge with NetBSD make, pick up
3064	  o if stale dependency is an IMPSRC, search via .PATH
3065	  o meta_oodate: if a referenced file is missing, target is
3066	    out-of-date.
3067	  o meta_oodate: if a target uses .OODATE in its commands,
3068	    it (.OODATE) needs to be recomputed.
3069	  o keep a pointer to youngest child node, rather than just its
3070	    mtime.
3071
30722010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3073
3074	* Makefile.in (MAKE_VERSION): bump version to 20101101
3075
30762010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
3077
3078	* machine.sh: like os.sh,
3079	allow for uname -p producing useless drivel
3080
30812010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3082
3083	* boot-strap: document configure knobs for meta and filemon.
3084
3085	* Makefile.in (MAKE_VERSION): bump version to 20100911
3086	  Merge with NetBSD make, pick up
3087	  o meta.c - meta mode
3088
3089	* make-bootstrap.sh.in: handle meta.c
3090	* configure.in: add knobs for use_meta and filemon_h
3091	  also, look for dirname, str[e]sep and strlcpy
3092	* util.c: add simple err[x] and warn[x]
3093
30942010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
3095
3096	* boot-strap (TOOL_DIFF): set this to ensure tests use
3097	  the same version of diff that configure tested
3098
3099	* Makefile.in (MAKE_VERSION): bump version to 20100808
3100	  Merge with NetBSD make, pick up
3101	  o in jobs mode, when we discover we cannot make something,
3102	    call PrintOnError before exit.
3103
31042010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3105
3106	* Makefile.in (MAKE_VERSION): bump version to 20100806
3107	  Merge with NetBSD make, pick up
3108	  o formatting fixes for ignored errors
3109	  o ensure jobs are cleaned up regardless of where wait() was called.
3110
31112010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3112
3113	* Makefile.in (MAKE_VERSION): bump version to 20100618
3114	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
3115
31162010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
3117
3118	* Makefile.in (MAKE_VERSION): bump version to 20100616
3119	  Merge with NetBSD make, pick up
3120	  o man page update
3121	  o call PrintOnError from JobFinish when we detect an error we
3122	    are not ignoring.
3123
31242010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3125
3126	* Makefile.in (MAKE_VERSION): bump version to 20100606
3127	  Merge with NetBSD make, pick up
3128	  o man page update
3129
31302010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3131
3132	* Makefile.in (MAKE_VERSION): bump version to 20100605
3133	  Merge with NetBSD make, pick up
3134	  o use bmake_signal() which is a wrapper around sigaction()
3135	    in place of signal()
3136	  o add .export-env to allow exporting variables to environment
3137	    without tracking (so no re-export when the internal value is
3138	    changed).
3139
31402010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
3141
3142	* Makefile.in (MAKE_VERSION): bump version to 20100524
3143	  Merge with NetBSD make, pick up
3144	  o fix for .info et al being greedy.
3145
31462010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
3147
3148	* Makefile.in (MAKE_VERSION): bump version to 20100520
3149	  Merge with NetBSD make, pick up
3150	  o back to using realpath on argv[0]
3151	    but only if contains '/' and does not start with '/'.
3152
31532010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3154
3155	* boot-strap: use absolute path for bmake when running tests.
3156
3157	* Makefile.in (MAKE_VERSION):  bump version to 20100510
3158	  Merge with NetBSD make, pick up
3159	  o revert use of realpath on argv[0]
3160	    too many corner cases.
3161	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
3162
31632010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3164
3165	* Makefile.in (MAKE_VERSION): bump version to 20100505
3166	  Merge with NetBSD make, pick up
3167	  o fix for missed SIGCHLD when compiled with SunPRO
3168	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
3169	    done the job.
3170
31712010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3172
3173	* Makefile.in (MAKE_VERSION): bump version to 20100430
3174	  Merge with NetBSD make, pick up
3175	  o fflush stdout before writing to stdout
3176
31772010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
3178
3179	* Makefile.in (MAKE_VERSION): bump version to 20100423
3180	  Merge with NetBSD make, pick up
3181	  o updated unit tests for Haiku (this time for sure).
3182	* boot-strap: based on patch from joerg
3183	  honor --with-default-sys-path better.
3184	* boot-strap: remove mention of --with-prefix-sys-path
3185
31862010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3187
3188	* Makefile.in (MAKE_VERSION): bump version to 20100422
3189	* Merge with NetBSD make, pick up
3190	  o fix for vfork() on Darwin.
3191	  o fix for bogus $TMPDIR.
3192	  o set .MAKE.MODE=compat for -B
3193	  o set .MAKE.JOBS=max_jobs for -j max_jobs
3194	  o allow unit-tests to run without any *.mk
3195	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
3196	* boot-strap: ignore /usr/share/mk except on NetBSD.
3197	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
3198	  ensure sort(1) behaves as expected.
3199
32002010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
3201
3202	* boot-strap: add FindHereOrAbove so we can use -m .../mk
3203
32042010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3205
3206	* Makefile.in (MAKE_VERSION): bump version to 20100420
3207	* Merge with NetBSD make, pick up
3208	  o fix for variable realpath() behavior.
3209	    we have to stat(2) the result to be sure.
3210	  o fix for .export (all) when nested vars use :sh
3211
32122010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
3213
3214	* Makefile.in (MAKE_VERSION): bump version to 20100414
3215	* Merge with NetBSD make, pick up
3216	  o use realpath to resolve argv[0] (for .MAKE) if needed.
3217	  o add realpath from libc.
3218	  o add :tA to resolve variable via realpath(3) if possible.
3219
32202010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
3221
3222	* Makefile.in (MAKE_VERSION): bump version to 20100408
3223	* Merge with NetBSD make, pick up
3224	  o unit tests for .ERROR, .error
3225	  o fix for .ERROR to ensure it cannot be default target.
3226
32272010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3228
3229	* Makefile.in (MAKE_VERSION): bump version to 20100406
3230	* Merge with NetBSD make, pick up
3231	  o fix for compat mode "Error code" going to debug_file.
3232	  o fix for .ALLSRC being populated twice.
3233	  o support for .info, .warning and .error directives
3234	  o .MAKE.MODE to control make's operational mode
3235	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
3236	    name(s).
3237	  o .MAKE.DEPENDFILE to control the name of the depend file
3238	  o .ERROR target - run on failure.
3239
32402010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3241
3242	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
3243
3244	* os.sh,arch.c: patch for Haiku from joerg at netbsd
3245
32462010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
3247
3248	* Makefile.in (MAKE_VERSION): bump version to 20100222
3249	* Merge with NetBSD make, pick up
3250	  o better error msg for .for with mutiple inter vars
3251
3252	* boot-strap:
3253	  o use make-bootstrap.sh from joerg at netbsd
3254	    to avoid the need for a native make when bootstrapping.
3255	  o add "" everywhere ;-)
3256	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
3257	    otherwise the pre-formated version.
3258
32592010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3260
3261	* Makefile.in (MAKE_VERSION): bump version to 20100102
3262	* Merge with NetBSD make, pick up:
3263	  o fix for -m .../
3264
32652009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
3266
3267	* Makefile.in (MAKE_VERSION): bump version to 20091118
3268	* Merge with NetBSD make, pick up:
3269	  o .unexport
3270	  o report lines that start with '.' and should have ':'
3271	    (catch typo's of .el*if).
3272
32732009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
3274
3275	* configure.in: Ensure that srcdir and mksrc are absolute paths.
3276
32772009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
3278
3279	* Makefile.in (MAKE_VERSION): fix version to 20091007
3280
32812009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
3282
3283	* Makefile.in (MAKE_VERSION): bump version to 200910007
3284	* Merge with NetBSD make, pick up:
3285	  o fix for parsing of :S;...;...; applied to .for loop iterator
3286	    appearing in a dependency line.
3287
32882009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
3289
3290	* Makefile.in (MAKE_VERSION): bump version to 20090909
3291	* Merge with NetBSD make, pick up:
3292	  o fix for -C, .CURDIR and .OBJDIR
3293	* boot-strap:
3294	  o allow share_dir to be set independent of prefix.
3295	  o select default share_dir better when prefix ends in $HOST_TARGET
3296	  o if FORCE_BSD_MK etc were set, include them in the suggested
3297	    install-mk command.
3298
32992009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
3300
3301	* Makefile.in (MAKE_VERSION): bump version to 20090908
3302	* Merge with NetBSD make, pick up:
3303	  o .MAKE.LEVEL for recursion tracking
3304	  o fix for :M scanning \:
3305
33062009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
3307
3308	* configure.in: Don't -D__EXTENSIONS__ if
3309	AC_USE_SYSTEM_EXTENSIONS says "no".
3310
33112009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
3312
3313	* Makefile.in (MAKE_VERSION): bump version to 20090826
3314	Simplify MAKE_VERSION to just the bare date.
3315	* Merge with NetBSD make, pick up:
3316	  o -C directory support.
3317	  o support for SIGINFO
3318	  o use $TMPDIR for temp files.
3319	  o child of vfork should be careful about modifying parent's state.
3320
3321
33222009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
3323
3324	* Appy some patches for MiNT from David Brownlee
3325
33262009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
3327
3328	* Makefile.in (BMAKE_VERSION): bump version to 20090222
3329	* Merge with NetBSD make, pick up:
3330	  o Possible null pointer de-ref in Var_Set.
3331
33322009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
3333
3334	* Makefile.in (BMAKE_VERSION): bump version to 20090204
3335	* Merge with NetBSD make, pick up:
3336	  o bmake_malloc et al moved to their own .c
3337	  o Count both () and {} when looking for the end of a :M pattern
3338	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
3339	  o strlist.c - functions for processing extendable arrays of pointers to strings.
3340	  o ClientData replaced with void *, so const void * can be used.
3341	  o New debug flag C for DEBUG_CWD
3342
33432008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
3344
3345	* Makefile.in (BMAKE_VERSION): bump version to 20081111
3346	  Apply patch from Joerg Sonnenberge to
3347	  configure.in:
3348	  o remove some redundant checks
3349	  o check for emlloc etc only in libutil and require the whole family.
3350	  util.c:
3351	  o remove [v]asprintf which is no longer used.
3352
33532008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
3354
3355	* Makefile.in (BMAKE_VERSION): bump version to 20081101
3356	* Merge with NetBSD make, pick up:
3357	  o util.c: avoid use of putenv() - christos
3358
33592008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
3360
3361	* Makefile.in (BMAKE_VERSION): bump version to 20081030
3362	  pick up man page tweaks.
3363
33642008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
3365
3366	* Makefile.in: move processing of LIBOBJS to after is definition!
3367	  thus we'll have getenv.c in SRCS only if needed.
3368
3369	* make.1: add examples of how to use :?
3370
3371	* Makefile.in (BMAKE_VERSION): bump version to 20081029
3372	* Merge with NetBSD make, pick up:
3373	  o fix for .END processing with -j
3374	  o segfault from Parse_Error when no makefile is open
3375	  o handle numeric expressions in any variable expansion
3376	  o debug output now defaults to stderr, -dF to change it - apb
3377	  o make now uses bmake_malloc etc so that it can build natively
3378	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
3379
33802008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
3381
3382	* Makefile.in (BMAKE_VERSION): bump version to 20080808
3383	* Merge with NetBSD make, pick up:
3384	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
3385	    long lines in Makefiles
3386	  o optimizations for VarQuote by joerg
3387	  o fix for PR/38756: dominik: make dumps core on invalid makefile
3388
33892008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
3390
3391	* Makefile.in (BMAKE_VERSION): bump version to 20080515
3392	* Merge with NetBSD make, pick up:
3393	  o fix skip setting vars in VAR_GLOBAL context, to handle
3394	    cases where VAR_CMD is used for other than command line vars.
3395
33962008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
3397
3398	* boot-strap (make_version): we may need to look in
3399	$prefix/share/mk for sys.mk
3400
3401	* Makefile.in (BMAKE_VERSION): bump version to 20080514
3402	* Merge with NetBSD make, pick up:
3403	  o skip setting vars in VAR_GLOBAL context, when already set in
3404	  VAR_CMD which takes precedence.
3405
34062008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
3407
3408	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
3409	* Merge with NetBSD make, pick up:
3410	  o fix for ?= when LHS contains variable reference.
3411
34122008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
3413
3414	* merge some patches from NetBSD pkgsrc.
3415
3416	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
3417	the MAKSYSPATH used during bootstrap.
3418
3419	* Makefile.in (BMAKE_VERSION): bump version to 20080215
3420	* Merge with NetBSD make, pick up:
3421	  o warn if non-space chars follow 'empty' in a conditional.
3422
34232008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
3424
3425	* Makefile.in (BMAKE_VERSION): bump version to 20080118
3426	* Merge with NetBSD make, pick up:
3427	  o consider dependencies read from .depend as optional - dsl
3428	  o remember when buffer for reading makefile grows - dsl
3429	  o add -dl (aka LOUD) - David O'Brien
3430
34312007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
3432
3433	* Makefile.in (BMAKE_VERSION): bump version to 20071022
3434	* Merge with NetBSD make, pick up:
3435	  o Allow .PATH<suffix> to be used for .include ""
3436
3437	* boot-strap: source default settings from .bmake-boot-strap.rc
3438
34392007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
3440
3441	* Makefile.in: fix maninstall on various systems
3442	  provided that our man.mk is used.
3443	  For non-BSD systems we install the preformatted page
3444	  into $MANDIR/cat1
3445
34462007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
3447
3448	* boot-strap: make bmake.1 too, so maninstall works.
3449
34502007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
3451
3452	* Makefile.in (BMAKE_VERSION): bump version to 20071014
3453	* Merge with NetBSD make, pick up:
3454	  o revamped handling of defshell - configure no longer needs to
3455	    know the content of the shells array - apb
3456	  o stop Var_Subst modifying its input - apb
3457	  o avoid calling ParseTrackInput too often - dsl
3458
34592007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
3460
3461	* Makefile.in (BMAKE_VERSION): bump version to 20071011
3462	* Merge with NetBSD make, pick up:
3463	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
3464
3465	* sigcompat.c: some tweaks for HP-UX 11.x based on
3466	  patch from Tobias Nygren
3467
3468	* configure.in: update handling of --with-defshell to match
3469	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
3470	  will now do what one might hope - provided the chosen shell
3471	  behaves enough like sh.
3472
34732007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
3474
3475	* Makefile.in (BMAKE_VERSION): bump to 20071008
3476	* Merge with NetBSD make, pick up:
3477	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
3478	  o .export/.MAKE.EXPORTED - export of variables - sjg
3479	  o .MAKE.MAKEFILES - track all makefiles read - sjg
3480	  o performance improvements - dsl
3481	  o revamp parallel job scheduling - dsl
3482
34832006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
3484
3485	* Makefile.in (BMAKE_VERSION): bump to 20060728
3486	* Merge with NetBSD make, pick up:
3487	  o extra debug info during variable and cond processing - sjg
3488	  o shell definition now covers newline - rillig
3489	  o minor mem leak in PrintOnError - sjg
3490
34912006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
3492
3493	* Makefile.in (BMAKE_VERSION):  bump to 20060511
3494	* Merge with NetBSD make, pick up:
3495	  o more memory leaks - coverity
3496	  o possible overflow in ArchFindMember - coverity
3497	  o extract variable modifier code out of Var_Parse()
3498	    so it can be called recursively - sjg
3499	  o unit-tests/moderrs - sjg
3500
35012006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
3502
3503	* Makefile.in (BMAKE_VERSION): bump to 20060412
3504	* Merge with NetBSD make, pick up:
3505	  o fixes for some memory leaks - coverity
3506	  o only read first sys.mk etc when searching sysIncPath - sjg
3507
3508	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
3509	setting ${MAKEFILE} - OBATA Akio
3510
35112006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
3512
3513	* Makefile.in (BMAKE_VERSION): bump to 20060318
3514	* Merge with NetBSD make, pick up:
3515	  o cleanup of job.c to remove remote handling, distcc is more
3516	    useful and this code was likely bit-rotting - dsl
3517	  o fix for :P modifier - sjg
3518	* boot-strap: set default prefix to something reasonable
3519	  (for me anyway).
3520
35212006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
3522
3523	* Makefile.in (BMAKE_VERSION): bump to 20060301
3524	* Merge with NetBSD make, pick up:
3525	  o make .WAIT apply recursively, document and test case - apb
3526	  o allow variable modifiers in a variable appear anywhere in
3527	    modifier list, document and test case - sjg
3528
35292006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
3530
3531	* Makefile.in (BMAKE_VERSION): bump to 20060222
3532	* Merge with NetBSD make, pick up:
3533	  o improved job token handling - dsl
3534	  o SIG_DFL the correct signal before exec - dsl
3535	  o more debug info during parsing - dsl
3536	  o allow variable modifiers to be specified via variable - sjg
3537	* boot-strap: explain why we died if no mksrc
3538
35392005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
3540
3541	* Makefile.in (BMAKE_VERSION): bump to 20051105
3542	* configure.in: always set default_sys_path
3543	  default is ${prefix}/share/mk
3544	  - remove prefix_sys_path, anyone wanting more than above
3545	    needs to set it manually.
3546
35472005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
3548
3549	* boot-strap: make this a bit easier for pkgsrc folk.
3550	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
3551	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
3552
35532005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
3554
3555	* Makefile.in (BMAKE_VERSION): bump to 20051102
3556	* job.c (JobFinish): fix likely ancient merge lossage
3557	fix from Todd Vierling.
3558	* boot-strap (srcdir): allow setting mksrc=none
3559
35602005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
3561
3562	* Makefile.in (BMAKE_VERSION): bump to 20051031
3563	* ranlib.h: skip on OSF too.
3564	  (NetBSD PR 31864)
3565
35662005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
3567
3568	* Makefile.in (BMAKE_VERSION): bump to 20051002
3569	  fix a silly typo
3570
35712005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
3572
3573	* Makefile.in (BMAKE_VERSION): bump to 20051001
3574	  support for UnixWare and some other systems,
3575	  based on patches from pkgsrc/bootstrap
3576
35772005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
3578
3579	* Makefile.in (BMAKE_VERSION): bump to 20050901
3580	* Merge with NetBSD make, pick up:
3581	  o possible parse error causing us to wander off.
3582
35832005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
3584
3585	* Makefile.in (BMAKE_VERSION): bump to 20050606
3586	* Merge with NetBSD make, pick up:
3587	  o :0x modifier for randomizing a list
3588	  o fixes for a number of -Wuninitialized issues.
3589
35902005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
3591
3592	* Makefile.in (BMAKE_VERSION): bump to 20050530
3593	* Merge with NetBSD make, pick up:
3594	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
3595
3596	* README: was seriously out of date.
3597
35982005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
3599
3600	* Important to use .MAKE rather than MAKE.
3601
36022005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
3603
3604	* Makefile.in (BMAKE_VERSION): bump to 20050315
3605	* Merge with NetBSD make, pick up:
3606	  o don't mistake .elsefoo for .else
3607	  o use suffix-specific search path correctly
3608	  o bunch of style nits
3609
36102004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
3611
3612	* boot-strap:
3613	o ensure that args to --src and --with-mksrc
3614	  are resolved before giving them to configure.
3615	o add -o "objdir" so that builder can control it,
3616	  default is $OS as determined by os.sh
3617	o add -q to suppress all the install instructions.
3618
36192004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
3620
3621	* Remove __IDSTRING()
3622
3623	* Makefile.in (BMAKE_VERSION): bump to 20040508
3624	* Merge with NetBSD make, pick up:
3625	  o posix fixes
3626	    - remove '-e' from compat mode
3627	    - add support for '+' command-line prefix.
3628	  o fix for handling '--' on command-line.
3629	  o fix include in lst.lib/lstInt.h to simplify '-I's
3630	  o we also picked up replacement of MAKE_BOOTSTRAP
3631	    with !MAKE_NATIVE which is a noop, but possibly confusing.
3632
36332004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
3634
3635	* Makefile.in (BMAKE_VERSION): bump to 20040414
3636	* Merge with NetBSD make, pick up:
3637	  o allow quoted strings on lhs of conditionals
3638	  o issue warning when extra .else is seen
3639	  o print line numer when errors encountered during parsing from
3640	  string.
3641
36422004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
3643
3644	* Makefile.in (BMAKE_VERSION):  bump to 20040220
3645	* Merge with NetBSD make, pick up:
3646	  o fix for old :M parsing bug.
3647	  o re-jigged unit-tests
3648
36492004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
3650
3651	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
3652	so that './bmake -f Makefile test' works.
3653
36542004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
3655
3656	* Makefile.in: (BMAKE_VERSION): bump to 20040214
3657	* Merge with NetBSD make, pick up:
3658	  o search upwards for *.mk
3659	  o fix for double free of var substitution buffers
3660	  o use of getopt replaced with custom code, since the usage
3661	  (re-scanning) isn't posix compatible.
3662
36632004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
3664
3665	* arch.c: don't include ranlib.h on ELF systems
3666	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
3667
36682004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
3669
3670	* Makefile.in (BMAKE_VERSION): bump to 20040118
3671
3672	* boot-strap (while): export vars we assign to on cmdline
3673	* unit-test/Makefile.in: ternary is .PHONY
3674
36752004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
3676
3677	* Makefile.in (BMAKE_VERSION): bump version to 20040108
3678	* Merge with NetBSD make, pick up:
3679	  o fix for ternary modifier
3680
36812004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
3682
3683	* Makefile.in (BMAKE_VERSION): bump version to 20040105
3684	* Merge with NetBSD make, pick up:
3685	  o fix for cond.c to handle compound expressions better
3686	  o variable expansion within sysV style replacements
3687
36882003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
3689
3690	* Make portable snprintf safer - output to /dev/null first to
3691	check space needed.
3692
3693	* Makefile.in (BMAKE_VERSION): bump version to 20031222
3694	* Merge with NetBSD make, pick up:
3695	  o -dg3 to show input graph when things go wrong.
3696	  o explicitly look for makefiles in objdir if not found in curdir so
3697	    that errors in .depend etc will be reported accurarely.
3698	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
3699	    instead as it more accurately reflects the expected behavior and
3700	    is more consistently implemented.
3701	  o avoid use of asprintf.
3702
37032003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
3704
3705	* util.c: Add asprintf and vasprintf.
3706
3707	* Makefile.in (BMAKE_VERSION): bump version to 20030928
3708	* Merge with NetBSD make, pick up:
3709	:[] modifier - allows picking words from a variable.
3710	:tW modifier - allows treating value as one big word.
3711	W flag for :C and :S - allows treating value as one big word.
3712
37132003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
3714
3715	* Merge with NetBSD make
3716	pick up -de flag to enable printing failed command.
3717	don't skip 1st two dir entries (normally . and ..) since
3718	coda does not have them.
3719
37202003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
3721
3722	* Makefile.in (BMAKE_VERSION): bump version to 20030909
3723	* Merge with NetBSD make, pick up:
3724	- changes for -V '${VAR}' to print fully expanded value
3725	  cf. -V VAR
3726	- CompatRunCommand now prints the command that failed.
3727	- several files got updated 3 clause Berkeley license.
3728
37292003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
3730
3731	* boot-strap: Allow setting configure args on command line.
3732
37332003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
3734
3735	* configure.in: add --with-defshell to allow sh or ksh
3736	to be selected as default shell.
3737
3738	* Makefile.in: bump version to 20030731
3739
3740	* Merge with NetBSD make
3741	Pick up .SHELL spec for ksh and associate man page changes.
3742	Also compat mode now uses the same shell specs.
3743
37442003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
3745
3746	* var.c (Var_Parse): ensure delim is initialized.
3747
3748	* unit-tests/Makefile.in: use single quotes to avoid problems from
3749	some shells.
3750
3751	* makefile.boot.in:
3752	Run the unit-tests as part of the bootstrap procedure.
3753
37542003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
3755
3756	* unit-tests/Makefile.in: always force complaints from
3757	${TEST_MAKE} to be from 'make'.
3758
3759	* configure.in: add check for 'diff -u'
3760	also fix some old autoconf'isms
3761
3762	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
3763	if using GCC add -Wno-cast-qual to CFLAGS for var.o
3764
3765	* Merge with NetBSD make
3766	Pick up fix for :ts parsing error in some cases.
3767	Pick unit-tests.
3768
37692003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
3770
3771	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
3772
3773	* var.c (Var_Parse): fix bug in :ts modifier, after const
3774	correctness fixes, must pass nstr to VarModify.
3775
37762003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
3777
3778	* Makefile.in: BMAKE_VERSION switch to a date based version.
3779	We'll generally use the date of last import from NetBSD.
3780
3781	* Merge with NetBSD make
3782	Pick up fixes for const-correctness, now passes WARNS=3 on
3783	NetBSD.
3784	Pick up :ts modifier, allows controlling the separator used
3785	between words in variable expansion.
3786
37872003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
3788
3789	* FILES: include boot-strap and os.sh
3790
3791	* Makefile.in: only set WARNS if we are NetBSD, the effect on
3792	FreeBSD is known to be bad.
3793
3794	* makefile.boot.in (bootstrap): make this the default target.
3795
3796	* Makefile.in: bump version to 3.1.19
3797
3798	* machine.sh: avoid A-Z with tr as it is bound to lose.
3799
38002003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
3801
3802	* Merge with NetBSD make
3803	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
3804	Plus some doc fixes.
3805
38062003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
3807
3808	* Merge with NetBSD make
3809	Pick up fix for PR/1523 - don't count a library as built, if there
3810	is no way to build it
3811
3812	* Bump version to 3.1.18
3813
38142003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
3815
3816	* Merge with NetBSD make
3817	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
3818	appears in src list.
3819
38202003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
3821
3822	* Merge with NetBSD make (mmm 10th anniversary!)
3823	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
3824	pick up -X which tells us to not export VAR=val via setenv if
3825	we are already doing so via MAKEFLAGS.  This saves valuable env
3826	space on systems like Darwin.
3827	set MAKE_VERSION to 3.1.17
3828
3829	* parse.c: pix up fix for suffix rules
3830
38312003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
3832
3833	* Merge with NetBSD make.
3834	pick up fix for propagating -B via MAKEFLAGS.
3835	set MAKE_VERSION to 3.1.16
3836
3837	* Apply some patches from pkgsrc-bootstrap/bmake
3838	Originally by Grant Beattie <grant@netbsd.org>
3839	I may have missed some - since they are based on bmake-3.1.12
3840
38412002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
3842
3843	* makefile.boot.in (bmake): update install targets for those that
3844	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
3845	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
3846
3847	* bmake.cat1: update the pre-formatted man page!
3848
38492002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
3850
3851	* Merge with NetBSD make.
3852	pick up fix for premature free of pointer used in call
3853	to Dir_InitCur().
3854	set MAKE_VERSION to 3.1.15
3855
38562002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
3857
3858	* configure.in: determine suitable value for MKSRC.
3859	override using --with-mksrc=PATH.
3860
3861	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
3862	configs(8) will use 'sun4' as an alias for 'sparc'.
3863
38642002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
3865
3866	* Merge with NetBSD make.
3867	pick up ${.PATH}
3868	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
3869	set MAKE_VERSION to 3.1.14
3870	add configure checks for killpg and sys/socket.h
3871
38722002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
3873
3874	* tag bmake-3-1-13
3875
3876	* makefile.boot.in (bmake): use install-mk
3877	Also setup ./mk before trying to invoke bmake.boot incase we
3878	needed install-mk to create a sys.mk for us.
3879
3880	* configure.in: If we need to add -I${srcdir}/missing, make it an
3881	absolute path so that it works for lst.lib too.
3882
3883	* make.h: always include sys/cdefs.h since we provide one if the
3884	host does not.
3885
3886	* Makefile.in (install-mk):
3887	use MKSRC/install-mk which will do the right thing.
3888	use uname -p for ARCH if possible.
3889	since install-mk will setup links bsd.prog.mk -> prog.mk if
3890	needed, just .include bsd.prog.mk
3891
3892	* Merge with NetBSD make (NetBSD-1.6)
3893	Code is ansi-C only now.
3894	Bug in handling of dotLast is fixed.
3895	Can now assign .OBJDIR and make will reset its notions of life.
3896	New modifiers :tu :tl for toUpper and toLower.
3897
3898Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
3899
3900	* Merge with NetBSD make
3901	pick up fix for .END failure in compat mode.
3902	pick up fix for extra va_end() in ParseVErrorInternal.
3903
3904Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
3905
3906	* configure.in: for systems that have sys/cdefs.h check if it is
3907	compatible.  If not, include the one under missing, but tell it to
3908	include the native one too - necessary on Linux.
3909
3910	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
3911	include_next (for gcc) to get the native sys/cdefs.h
3912
3913Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3914
3915	* job.c (JobFinish): Fix an earlier merge bug that resulted in
3916	leaking descriptors when using -jN.
3917
3918	* job.c (JobPrintCommand): See if "curdir" exists before
3919	attempting to chdir().  Doing the chdir directly in make (when in
3920	compat mode) fails silently, so let the -jN version do the same.
3921	This can happen when building kernels in an object tree and
3922	playing clever games to reset .CURDIR.
3923
3924	* Merged with NetBSD make
3925	pick up .USEBEFORE
3926
3927Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3928
3929	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
3930
3931Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3932
3933	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
3934	us not to export the iterator variable when using VAR_CMD context.
3935
3936Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3937
3938	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
3939	its the wrong "fix".
3940
3941Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3942
3943	* Redesigned export of VAR_CMD's via MAKEFLAGS.
3944	We now simply append the variable names to .MAKEOVERRIDES, and
3945	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
3946	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
3947	Apart from fixing quoting bugs in previous version, this allows us
3948	to export vars to the environment by simply doing:
3949	.MAKEOVERRIDES+= PATH
3950	Merged again with NetBSD make, but the above is the only change.
3951
3952	* configure.in: added
3953	--disable-pwd-override		disable $PWD overriding getcwd()
3954	--disable-check-make-chdir	disable make trying to guess
3955		when it should automatically cd ${.CURDIR}
3956
3957	* Merge with NetBSD make, changes include:
3958	parse.c (ParseDoDependency): Spot that the syntax error is
3959	caused by an unresolved cvs/rcs conflict and say so.
3960	var.c: most of Var* functions now take a ctxt as 1st arg.
3961	now does variable substituion on rhs of sysv style modifiers.
3962
3963	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
3964	is now done here.  We append the name='value' to .MAKEOVERRIDES
3965	rather than directly into MAKEFLAGS as this allows a Makefile to
3966	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
3967	very similar mechanism.  Note that in adding name='value' to
3968	.MAKEOVERRIDES we do the moral equivalent of:
3969	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
3970
3971Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3972
3973	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
3974
3975	* Merged with NetBSD make
3976	make -dx can now be used to run commands via sh -x
3977	better error messages on exec failures.
3978
3979Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3980
3981	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
3982	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
3983	MACHINE etc otherwise they propagate from the previous bmake.
3984
3985	* configure.in (machine): allow --with-machine=generic to make
3986	configure use machine.sh to set MACHINE.
3987
3988	* job.c (JobInterrupt): convert to using WAIT_T and friends.
3989
3990	* Makefile.in: mention in bmake.1 that we use autoconf.
3991
3992	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
3993
3994Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3995
3996	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
3997	as that rather defeats the usefulness of ${MAKEFILE}.
3998
3999	* main.c (MainParseArgs): append command line variable assignments
4000	to MAKEFLAGS so that they get propagated to child make's.
4001	Apparently this is required POSIX behaviour?  Its useful anyway.
4002
4003Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4004
4005	* compat.c (CompatRunCommand): don't use perror() since stdio may
4006	cause problems in child of vfork().
4007
4008	* compat.c, main.c: Call PrintOnError() when we are going to bail.
4009	This routine prints out the .curdir where we stopped and will also
4010	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
4011
4012	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
4013	:@ expansion.
4014
4015	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
4016
4017	* Added RCSid's for the files we've touched.
4018
4019Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4020
4021	* configure.in:	Thanks to some clues from mdb@juniper.net,
4022	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
4023	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
4024
4025  --with-machine=MACHINE  explicitly set MACHINE
4026  --with-force-machine=MACHINE  set FORCE_MACHINE
4027  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
4028  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
4029  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
4030  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
4031
4032	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
4033
4034	* makefile: added a pathetically simple makefile to drive
4035	bootstrapping.  Running configure by hand is more useful.
4036
4037	* Makefile.in: added MAKE_VERSION, and reworked things to be less
4038	dependent on NetBSD bsd.*.mk
4039
4040	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
4041	_PATH_OBJDIRPREFIX for those that don't want a default.
4042	construct _PATH_DEFSYSPATH from the info we get from configure.
4043
4044	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
4045	if MAKE_VERSION is defined.
4046
4047	* compat.c: when we bail, print out the .CURDIR we were in.
4048
4049Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4050
4051	* Merged with NetBSD make
4052
4053	* var.c: fixed a bug in the handling of the modifier :P
4054	if the node as found but the path was null, we segfault trying to
4055	duplicate it.
4056
4057Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4058
4059	* Merged with NetBSD make
4060
4061	* make.c: Make_OODate's test for a library out of date was using
4062	cmtime where it should have used mtime (my bug).
4063
4064	* compat.c: Use perror() to tell us what really went wrong when we
4065	cannot exec a command.
4066
4067Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
4068
4069	* Merged with NetBSD make
4070
4071Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
4072
4073	* Merged with NetBSD make
4074
4075Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
4076
4077	* Merged with NetBSD make
4078
4079Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
4080
4081	* Merged with NetBSD make
4082
4083Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
4084
4085	* util.c: don't provide signal() since we use sigcompat.c
4086
4087	* Makefile.in: added a build target.
4088
4089	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
4090	These allow some quite clever magic.
4091
4092	* main.c (main): added support for getenv(MAKESYSPATH).
4093
4094Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
4095
4096	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
4097	This avoids objdir having a different value depending on how a
4098	directory was reached (via command line, or subdir.mk).
4099
4100	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
4101
4102Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
4103
4104	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
4105	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
4106	I've been testing this in NetBSD's make for some weeks.
4107
4108	* Turn Makefile into Makefile.in and make it useful.
4109
4110Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
4111
4112	* Imported NetBSD's -current make(1) and resolve conflicts.
4113
4114	* Applied autoconf patches from bmake v2
4115
4116	* Imported clean code base from NetBSD-1.0
4117