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