xref: /freebsd/contrib/bmake/ChangeLog (revision 924226fba12cc9a228c73b956e1b7fa24c60b055)
12022-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* VERSION (_MAKE_VERSION): 20220418
4	Merge with NetBSD make, pick up
5	o ignore '.POSIX:' if not in first non-comment line
6	of Makefile as specified by POSIX.
7	add unit-tests for above.
8	o meta.c: make it easier to find usage of identifiers
9	o targ.c: add .USEBEFORE to Targ_PrintType
10
112022-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
12
13	* VERSION (_MAKE_VERSION): 20220414
14
15	* unit-tests/Makefile: simplify checks for shells with
16	BROKEN_TESTS, this helps with other Linux distros that
17	use dash.
18
192022-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
20
21	* VERSION (_MAKE_VERSION): 20220330
22	Merge with NetBSD make, pick up
23	o var.c: fix spacing, and a typo in a test
24
252022-03-26  Simon J Gerraty  <sjg@beast.crufty.net>
26
27	* VERSION (_MAKE_VERSION): 20220326
28	Merge with NetBSD make, pick up
29	o parse.c: try to include 'posix.mk' the first time
30	.POSIX: is encountered, to allow for beter POSIX compliance.
31	o var.c: make debug logs more readable
32	prefer 'long long' over 'long' on 32-bit C99 platforms
33	fix crash on .undef of an environment variable
34
352022-03-03  Simon J Gerraty  <sjg@beast.crufty.net>
36
37	* VERSION (_MAKE_VERSION): 20220303
38	Merge with NetBSD make, pick up
39	o tell meta mode unit tests not to expect filemon
40	o cond.c: make debug logging for comparisons less technical
41	o lst.c: fix mem leak in Lst_Remove
42	o str.c: make code for string matching syntactically more consistent
43	o var.c: simplify ParseModifier_Match
44
452022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
46
47	* unit-tests/Makefile: control MAKESYSPATH for deptgt-phony
48
49	* VERSION (_MAKE_VERSION): 20220214
50	Merge with NetBSD make, pick up
51	o cond.c: simplify control flow in CondParser_Comparison
52	o job.c: fix echoing of command with '-' in silent target in jobs mode
53	o main.c: prefix the warning about read-only .OBJDIR with a colon
54	o parse.c: remove redundant conditions
55	o var.c: simplify control flow in ModifyWord_SysVSubst
56
572022-02-08  Simon J Gerraty  <sjg@beast.crufty.net>
58
59	* unit-tests/Makefile: disable opt-debug-x-trace on Linux if there
60	is any chance we have dash as .SHELL
61
62	* VERSION (_MAKE_VERSION): 20220208
63	Merge with NetBSD make, pick up
64	o more unit tests
65	o meta.c: use a variable to hold command line to be filtered
66	to avoid any side effects from content of command line.
67
682022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
69
70	* VERSION (_MAKE_VERSION): 20220204
71	Merge with NetBSD make, pick up
72	o use unsigned consistently for line numbers, avoid the need for %z
73	o parse.c: do not step off end of input in Parse_IsVar
74	when checking for target local variable assignments
75
762022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
77
78	* VERSION (_MAKE_VERSION): 20220202
79	Merge with NetBSD make, pick up
80	o remove redundant declaration of HashIter_Init
81	o make DEBUG0 simpler
82
832022-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
84
85	* cast gn->lineno to avoid %z
86
87	* VERSION (_MAKE_VERSION): 20220130
88	Merge with NetBSD make, pick up
89	o more unit tests
90	o make GNode lineno unsigned to please lint
91	o print location of recursive variable references in commands
92	o print "stack trace" (makefile includes) on fatal errors
93	o make.1: refine documentation for target local assignments
94
952022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
96
97	* VERSION (_MAKE_VERSION): 20220128
98	Merge with NetBSD make, pick up
99	o inline functions called only once
100	o for.c: clean up AddEscape for building the body of a .for loop
101	o hash.c: merge duplicate code for finding an entry in a hash table
102	replace HashEntry_KeyEquals with strncmp
103	o make.1: document quirks of target local variable assignments.
104	o parse.c: cleanup white-space
105
1062022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
107
108	* VERSION (_MAKE_VERSION): 20220126
109	Merge with NetBSD make, pick up
110	o allow setting target local variables
111	o more unit tests
112	o add missing newline after "cannot continue" message
113	o meta.c: clean up eat_dots
114	o parse.c: fix filename in warning about duplicate script
115	o var.c: when expanding nested variables, check simple things first
116
1172022-01-16  Simon J Gerraty  <sjg@beast.crufty.net>
118
119	* VERSION (_MAKE_VERSION): 20220116
120	Merge with NetBSD make, pick up
121	o fix for unit-tests/varname-makeflags on non-BSD systems
122	o use Var_Exists rather than Var_Value where appropriate
123	o remove unnecessary functions for expanding variable names
124	o cond.c: inline EvalBare
125	o main.c: lint cleanup
126	o parse.c: condense code in Parse_IsVar
127	use islower for parsing directives (none have upper case)
128
1292022-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
130
131	* VERSION (_MAKE_VERSION): 20220112
132	Merge with NetBSD make, pick up
133	o meta.c: add .MAKE.META.CMP_FILTER for filtering commands before
134	comparion, rarely needed but useful when it is.
135
1362022-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
137
138	* VERSION (_MAKE_VERSION): 20220110
139	Merge with NetBSD make, pick up
140	o inline Buf_Clear
141	o remove redundant braces
142	o rename and inline Targ_Precious
143	o cond.c: remove redundant initializer in CondParser_ComparisonOrLeaf
144	o for.c: clean up handling of .for loops
145	fix reported line numbers of continuation lines
146	add details about .for loop variables to stack traces
147	o job.c: reduce code for initializing error handling in shell
148	o main.c: in Cmd_Exec, return error message instead of format string
149	have as few statements as possible between va_start and va_end
150	add debug logging for capturing the output of external commands
151	o make.c: use consistent variable names for varargs
152	o make_malloc.c: remove duplicate code from bmake_strdup
153	o parse.c: add missing printflike annotations
154	remove redundant lines from stack traces
155	fix stack traces in -dp mode
156	reduce confusing code in ParseForLoop
157	fix line number in debug log after returning from a file
158	rename IFile and its fields to match their actual content
159	clean up ParseDependencySources
160	o var.c: shorten ApplyModifier_Assign
161	rename is_shell_metachar, fix character conversion warning
162	merge calls to ApplyModifier_Time
163	merge duplicate code for modifiers 'gmtime' and 'localtime'
164
1652022-01-04  Simon J Gerraty  <sjg@beast.crufty.net>
166
167	* parse.c: loadfile restore extra byte in buffer.
168
1692022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
170
171	* VERSION (_MAKE_VERSION): 20220101
172	Merge with NetBSD make, pick up
173	o more unit-tests
174	o remove unnecessary words from command line options in CmdOpts
175	o rename eunlink to unlink_file
176	o cond.c: make ParseWord in condition parser simpler
177	internally return false for irrelevant leaves in conditions
178	replace table for function lookup in conditions with simple code
179	merge duplicate types CondEvalResult and CondResult
180	o for.c: clean up handling of .for loops and .include directives
181	o main.c: constify cached_realpath
182	clean up Cmd_Exec
183	o parse.c: sync API documentation
184	fix error message when reading more than 1 GB from stdin
185	clean up parsing of makefiles
186	fix line number in error message about open conditionals
187	unexport types VarAssignOp and VarAssign
188	clean up function names
189	remove redundant parameters in dependency parsing functions
190	reduce scope of the list of wildcard target names
191	extract OP_NOTARGET into separate function
192	clean up variable names for parsing dependency lines
193	make debug logging a bit more human-friendly
194	o var.c: condense code in ApplyModifier_Assign
195
1962021-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
197
198	* VERSION (_MAKE_VERSION): 20211221
199	Merge with NetBSD make, pick up
200	o more unit-tests
201	o style cleanup
202	o in CLEANUP mode, free interned strings at the very end
203	o fix memory leak for filenames in .for loops
204	o buf.c: avoid memory leak
205	o cond.c: condense CondParser_ComparisonOp
206	o hash.c: change return type of HashTable_Set to void
207	o job.c: change return type of Compat_RunCommand from int to bool
208	o main.c: remove bmake_free
209	o parse.c: condense repetetive code in ParseDirective
210	remove dead code for handling traditional include directives
211	clean up parsing of variable assignments
212	remove unreachable code for parsing the dependency operator
213	clean up loading of files
214	fix memory leak in IncludeFile
215	o var.c: fix memory leak when parsing a variable name
216	fix memory leak from ${.SUFFIXES}
217	reduce memory allocation in modifier ':?' and ':C'
218	condense RegexReplace for the modifier ':C' and avoid strlen
219	merge duplicate code for memory handling in Var_Parse
220	distinguish between short-lived and environment variables
221	rename VarFreeEnv to VarFreeShortLived
222
2232021-12-15  Simon J Gerraty  <sjg@beast.crufty.net>
224
225	* cond.c: fix mem leak in CondParser_Leaf
226
2272021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
228
229	* VERSION (_MAKE_VERSION): 20211212
230	Merge with NetBSD make, pick up
231	o rename Parse_SetInput to Parse_PushInput
232	o remove remove period from end of error messages and warnings
233	to be more consistent
234	o arch.c: use simpler memory management for parsing archive members
235	o cond.c: rework and reduce recursion
236	o for.c: rename some functions to better reflect purpose
237	o suff.c: add Suff_NamesStr to provide .SUFFIXES as a string.
238	o var.c: in parse errors, mark whitespace more clearly
239	inline ParseEmptyArg into CondParser_FuncCallEmpty
240	minimize calls to LazyBuf_Get in ParseVarnameLong
241	treat .SUFFIXES as a read-only variable
242
2432021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
244
245	* VERSION (_MAKE_VERSION): 20211207
246	Merge with NetBSD make, pick up
247	o inline HashIter_Init
248	o parse.c: inline common subexpression in ParseRawLine
249	o var.c: merge branches for modifiers ':D' and ':U'
250	extract common code into Expr_Words
251	extract common code into Expr_Str
252	move low-level implementation details out of Var_Parse
253
2542021-12-06  Simon J Gerraty  <sjg@beast.crufty.net>
255
256	* VERSION (_MAKE_VERSION): 20211206
257	Merge with NetBSD make, pick up
258	o add unit-tests/varmod-loop-delete
259	o for.c: inline Str_Words - reduce memory allocation
260	o parse.c: do not try to expand fixed variable names
261	only allocate the name of an included file if necessary
262	clean up ParseInclude
263	o var.c: fix use-after-free in modifier ':@'
264	save a memory allocation in each modifier ':O' and ':u'
265	save a memory allocation in the modifier ':[...]'
266	in UnexportVars, replace Str_Words with Substring_Words to
267	reduce allocations and copying.
268
2692021-12-04  Simon J Gerraty  <sjg@beast.crufty.net>
270
271	* VERSION (_MAKE_VERSION): 20211204
272	Merge with NetBSD make, pick up
273	o flesh out a number of tests
274	o replace enums with bitfields, this simplifies a lot of code.
275	o var.c: refactor ParseModifierPartSubst
276
2772021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
278
279	* VERSION (_MAKE_VERSION): 20211024
280	Merge with NetBSD make, pick up
281	o Punt on write errors - ENOSPC etc.
282
2832021-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
284
285	* configure.in: use_defshell, set both DEFSHELL_INDEX
286	and defshell_path if appropriate.
287	This makes it easier to use say the KSH specification with
288	and alternate path for the shell.
289
290	* configure.in compat.c: for SCO we need to force UseShell
291
292	* configure.in: SCO /bin/sh is not usable, provide a list of
293	alternatives for use as .SHELL.
294	We still have to mark some tests as broken, plus more if we end up
295	with ksh as .SHELL.
296	Issue a warning about skipped tests.
297
298	* boot-strap: leave TOOL_DIFF to configure
299
300	* configure.in: on SCO native cc is not usable,
301	gcc is to be found in /usr/gnu/bin
302	and while ancient is at least able to compile bmake.
303	Thus we add /usr/gnu/bin to PATH if it exists, and later
304	check if $CC would have been found via $PATH.
305	If not we set CC to the full path of $CC.
306	Also gnu diff is known to support -u, so if it exists use it.
307
308	* configure.in: move getopt to AC_REPLACE_FUNCS
309	also add AC_C_INLINE - in an attempt to compile using
310	native cc on SCO.
311
312	* configure.in: check for stresep as well as strsep, since we
313	define the later to the former if necessary, and if we have to
314	provide stresep we also need to provide a prototype.
315
316	* configure.in: we no longer need to worry about
317	sys/cdefs.h providing __RCSID which simplifies things quite a bit.
318
319	* make.h: make sure we have __RCSID
320
321	* unit-tests/Makefile.config.in: add TOOL_DIFF so configure
322	can control it.
323
3242021-10-20  Simon J Gerraty  <sjg@beast.crufty.net>
325
326	* VERSION: 20211020
327	Merge with NetBSD make, pick up
328	o confirm sync of unit-tests
329
3302021-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
331
332	* configure.in: check if timezone Europe/Berlin is supported
333	if not try UTC-1
334	* configure.in: if .OBJDIR is $srcdir/obj we need to create a
335	symlink unit-tests -> ../unit-tests/obj so that
336	unit-tests/Makefile.config is put in the right place.
337	* refine filtering of .OBJDIR in unit-tests
338
3392021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
340
341	* Fix unit-tests on Minix 3.2.0
342	o job.c: do not punt if read of token pipe fails for EAGAIN.
343	On Minix at least, we are not ready to read the childExitJob pipe
344	when poll says we are.
345	There should actually be no reason for this pipe to be
346	non-blocking, but while that works fine on {Net,Free}BSD it
347	breaks another test case on Minix.
348	o unit-tests/Makefile: deal with variants of error messages
349	  and use of obj as .OBJDIR
350
3512021-10-14  Simon J Gerraty  <sjg@beast.crufty.net>
352
353	* configure.in: add sigaction to AC_REPLACE_FUNCS
354	we also need to check for sigaddset etc just for the benefit of
355	sigact.c
356
357	* Add sigact.c as sigaction.c so this "just works".
358	This should have been done back when bmake_signal started using
359	sigaction (I only just noticed that sigact.c wasn't here ;-)
360	Note: I no longer have access to any system where this would matter.
361
3622021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
363
364	* VERSION (_MAKE_VERSION): 20211011
365
366	* Makefile: cleanup a little
367
368	* configure.in: check for sigsetmask
369
3702021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
371
372	* VERSION (_MAKE_VERSION): 20211001
373	Merge with NetBSD make, pick up
374	o reduce locations reducing text size
375	o remove unnecessary const
376	o cond.c: fix lint warning on i386
377	do not allow unquoted 'left == right' after modifier ':?'
378	o hash.c: fix build for DEBUG_HASH_LOOKUP
379	o var.c: fix memory leak in error case of the ':?' modifier
380
3812021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
382
383	* VERSION (_MAKE_VERSION): 20210911
384	Merge with NetBSD make, pick up
385	o var.c: replace remaining ModChain_ShouldEval with Expr_ShouldEval
386
3872021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
388
389	* VERSION (_MAKE_VERSION): 20210906
390	Merge with NetBSD make, pick up
391	o more unit tests
392	o lint cleanup
393	o rename some functions to better fit purpose
394	o for.c: cleanup - remove unnecessary optimization
395	  fix embedded newlines
396	o parse.c: correct case for CVS/RCS
397
3982021-08-11  Simon J Gerraty  <sjg@beast.crufty.net>
399
400	* VERSION (_MAKE_VERSION): 20210808
401	Merge with NetBSD make, pick up
402	o var.c: remove redundant initialization in ApplyModifier_Order
403
404	* mk/options.mk: issue warning for incorrect usage
405
4062021-08-03  Simon J Gerraty  <sjg@beast.crufty.net>
407
408	* var.c: use long for :On if we don't have a 64bit int type
409
410	* VERSION (_MAKE_VERSION): 20210803
411	Merge with NetBSD make, pick up
412	o rework varmod-order tests to avoid qsort instability
413	o make.1: clarify :On entry
414
4152021-07-31  Simon J Gerraty  <sjg@beast.crufty.net>
416
417	* VERSION (_MAKE_VERSION): 20210731
418	Merge with NetBSD make, pick up
419	o fix some lint issues
420	o more unit tests
421	o var.c: rework of ApplyModifier_Order
422
4232021-07-30  Simon J Gerraty  <sjg@beast.crufty.net>
424
425	* util.c: add strto*l if HAVE_STRTO*L not defined
426
427	* VERSION (_MAKE_VERSION): 20210730
428	Merge with NetBSD make, pick up
429	o var.c: add :On and :Orn for numeric sort
430	  disabled if no 64bit type available.
431	o _strtol.h: to implement strto*l functions
432
4332021-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
434
435	* VERSION (_MAKE_VERSION): 20210704
436	Merge with NetBSD make, pick up
437	o unit-tests: fix some tests to be more portable
438	- job-output-null not all shells do the same number of write calls
439	- objdir-writable if TMPDIR is set; /tmp may not be usable
440
4412021-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
442
443	* VERSION (_MAKE_VERSION): 20210701
444	Merge with NetBSD make, pick up
445	o unit-tests: allow for BROKEN_TESTS to list TESTS to be skipped;
446	some tests just cannot work in some environments.
447	o buf.c: simpler upper bound for length in Buf_AddInt
448	o cond.c: fix grammar in error message for malformed conditional
449	o for.c: prevent newline injection (from ${.newline}) in .for loops
450	o var.c: use more practical data type in RegexReplace
451	(avoid need for %zu)
452	extract RegexReplace from ModifyWord_SubstRegex
453
4542021-06-21  Simon J Gerraty  <sjg@beast.crufty.net>
455
456	* VERSION (_MAKE_VERSION): 20210621
457	Merge with NetBSD make, pick up
458	o var.c: only report error for unmatched regex subexpression
459	when linting (-dL) since we cannot tell when an unmatched
460	subexpression is an expected result.
461	o move unmatched regex subexpression tests to
462	varmod-subst-regex.mk and enable strict (lint) mode
463
4642021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
465
466	* VERSION (_MAKE_VERSION): 20210616
467	Merge with NetBSD make, pick up
468	o more unit tests
469	o cond.c: rename If_Eval to EvalBare
470	improve function names for parsing conditions
471	o job.c: fix error handling of targets that cannot be made
472	o var.c: uncompress code in ApplyModifier_Unique
473
4742021-05-18  Simon J Gerraty  <sjg@beast.crufty.net>
475
476	* VERSION (_MAKE_VERSION): 20210518
477	Merge with NetBSD make, pick up
478	o fix unit-tests/opt-chdir to cope with /nonexistent existing.
479	o job.c: Print -de error information when running multiple jobs
480
4812021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
482
483	* VERSION (_MAKE_VERSION): 20210420
484	Merge with NetBSD make, pick up
485	o use C99 bool type
486	o convert VarEvalFlags back into an enum
487	o cond.c: do not complain when skipping the condition 'no >= 10'
488	o hash.c: avoid allocating memory for simple variable names
489	o job.c: use distinct wording for writing to the shell commands file
490	remove type name for the abort status in job handling
491	rename PrintOutput to PrintFilteredOutput to avoid confusion
492	o main.c: avoid double slash in name of temporary directory
493	o var.c: use straight quotes for error 'Bad conditional expression'
494	reduce memory allocations in the modifiers ':D' and ':U'
495	rename members of ModifyWord_LoopArgs
496	clean up pattern flags for the modifiers ':S' and ':C'
497	reduce memory allocation and strlen calls in modifier ':from=to'
498	in the ':Q' modifier, only allocate memory if necessary
499	improve performance for LazyBuf
500	remove redundant parameter from ParseVarnameLong
501	migrate ParseModifierPart to use Substring
502	avoid unnecessary calls to strlen when evaluating modifiers
503	migrate ModifyWord functions to use Substring
504	migrate handling of the modifier ':S,from,to,' to Substring
505	reduce debug logging and memory allocation for ${:U...}
506	reduce verbosity of the -dv debug logging for standard cases
507	clean up debug logging for ':M' and ':N'
508	disallow '$' in the variable name of the modifier ':@'
509	simplify access to the name of an expression during evaluation
510
5112021-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
512
513	* VERSION (_MAKE_VERSION): 20210330
514	Merge with NetBSD make, pick up
515	o replace enum bit-field with struct bit-field for VarEvalFlags
516	o rename VARE_NONE to VARE_PARSE_ONLY
517	o var.c: rename ApplyModifiersState to ModChain
518	fix double varname expansion in the variable modifier '::='
519	change debug log for variable evaluation flags to lowercase
520
5212021-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
522
523	* VERSION (_MAKE_VERSION): 20210314
524	Merge with NetBSD make, pick up
525	o var.c: avoid evaluating many modifiers in parse only mode
526	in strict mode (-dL) many variable references are parsed twice,
527	the first time just to report parse errors early, so we want to
528	avoid side effects and wasted effort to the extent possible.
529
5302021-02-26  Simon J Gerraty  <sjg@beast.crufty.net>
531
532	* VERSION (_MAKE_VERSION): 20210226
533	Merge with NetBSD make, pick up
534	o remove freestanding freeIt variables
535	link via FStr
536	o var.c: restructure code in ParseVarname to target human readers
537	improve error message for;
538	  bad modifier in variable expression
539	  unclosed modifier
540	  unknown modifier
541	remove redundant parameter of ApplySingleModifier
542	explain non-obvious code around indirect variable modifiers
543	quote ':S' in error message about missing delimiter
544	extract ParseModifier_Match into separate function
545	add context information to error message about ':range' modifier
546	add quotes around variable name in an error message
547	reorder code in ModifyWords
548	use more common parameter order for VarSelectWords
549	make ModifyWord_Subst a little easier to understand
550	do not expand variable name from the command line twice
551	extract ExistsInCmdline from Var_SetWithFlags
552	save a hash map lookup when defining a cmdline variable
553	clean up VarAdd, Var_Delete, Var_ReexportVars
554	use bit-shift expressions for VarFlags constants
555	rename constants for VarFlags
556	rename ExprDefined constants for debug logging
557	rename ExprStatus to ExprDefined
558	split parameters for evaluating variable expressions
559	reduce redundant code around ModifyWords
560	print error about failed shell command before overwriting variable
561	clean up ValidShortVarname, ParseVarnameShort
562	rename VarExprStatus to ExprStatus
563	add functions for assigning the value of an expression
564	rename ApplyModifiersState_Define to Expr_Define
565	condense the code for parsing :S and :C modifiers
566
5672021-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
568
569	* VERSION (_MAKE_VERSION): 20210206
570	Merge with NetBSD make, pick up
571	o unit-tests: use private TMPDIR to avoid errors from other users
572
5732021-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
574
575	* VERSION (_MAKE_VERSION): 20210205
576	Merge with NetBSD make, pick up
577	o avoid strdup in mkTempFile
578	o always use vfork
579	o rename context and ctxt to scope
580	o rename some VAR constants to SCOPE
581	o Var_ functions, move the scope to the front
582	o use shortcut functions Global_Set and Global_Append
583	o add shortcut Global_Delete for deleting a global variable
584	o rename Var_Delete to Var_DeleteExpand, Var_DeleteVar to Var_Delete
585	o compat.c: when exiting due to an error, print graph information
586	o enum.c: remove overengineered Enum_ValueToString
587	o make.c: remove unused INTERNAL flag
588	remove unused return type of MakeBuildParent
589	o parse.c: replace parse error "Need an operator" with better message
590	o var.c: improve documentation about variable scopes
591	rename Var_ValueDirect to GNode_ValueDirect
592	rename old Var_SetWithFlags to Var_SetExpandWithFlags
593	merge SetVar into Var_SetWithFlags
594	split Var_Exists into plain Var_Exists and Var_ExistsExpand
595	split Var_Append into Var_Append and Var_AppendExpand
596	replace enum bit-set with bit-field
597	o unit-tests/var-op-shell: use kill rather than kill -14
598	which broke on darwin with recent update.
599
6002021-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
601
602	* configure.in: check for sig_atomic_t and define it as 'int'
603	if missing.
604
605	* VERSION (_MAKE_VERSION): 20210201
606	Merge with NetBSD make, pick up
607	o use sig_atomic_t for caught_sigchld
608
6092021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
610
611	* VERSION (_MAKE_VERSION): 20210130
612	Merge with NetBSD make, pick up
613	o more unit tests
614	o convert SearchPath to struct
615	o split Buf_Destroy into Buf_Done and Buf_DoneData
616	o for.c: split For_Eval into separate functions
617	rename struct For to struct ForLoop
618	o job.c: do not create empty shell files in jobs mode
619	rename JobOpenTmpFile to JobWriteShellCommands
620	reduce unnecessary calls to waitpid
621	o parse.c: in -dp mode, print stack trace with each diagnostic
622
6232021-01-23  Simon J Gerraty  <sjg@beast.crufty.net>
624
625	* VERSION (_MAKE_VERSION): 20210123
626	Merge with NetBSD make, pick up
627	o rename Dir_Expand to SearchPath_Expand
628	o rename Dir_AddDir, reorder parameters of SearchPath_ToFlags
629	o cond.c: fix debug output for comparison operators in conditionals
630	o dir.c: split Dir_FindFile into separate functions
631
6322021-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
633
634	* VERSION (_MAKE_VERSION): 20210120
635	Merge with NetBSD make, pick up
636	o fix some more lint nits
637	o refine some unit tests for portability
638	o cond.c: rework parsing
639
6402021-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
641
642	* VERSION (_MAKE_VERSION): 20210110
643	Merge with NetBSD make, pick up
644	o fix lint warnings
645	o consistently use boolean expressions in conditions
646
6472021-01-08  Simon J Gerraty  <sjg@beast.crufty.net>
648
649	* VERSION (_MAKE_VERSION): 20210108
650	Merge with NetBSD make, pick up
651	o job.c: back to polling token pipe if we want a token
652	o main.c: always print 'stopped in' on first call
653	The execption is if we bail because of an abort token
654	in which case just exit 6.
655
6562021-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
657
658	* VERSION (_MAKE_VERSION): 20210101
659	Merge with NetBSD make, pick up
660	o Happy New Year!
661	o rename CmdOpts.lint to strict
662	o exit 2 on technical errors
663	o replace pointers in controlling conditions with booleans
664	o replace global preserveUndefined with VARE_KEEP_UNDEF
665	o compat.c: re-export variables from the actual make process
666	if using vfork this is the effect anyway
667	o cond.c: clean up VarParseResult constants
668	o for.c: fix undefined behavior in SubstVarLong
669	make control flow in SubstVarLong of .for loops more obvious
670	clean up SubstVarShort in .for loops
671	extract ForSubstBody from ForReadMore
672	clean up ForReadMore
673	simplify termination condition for .for loop
674	add error handling for .for loop items
675	job.c: re-export variables from the actual make process
676	parse.c: remove mmap for loading files, only allow files < 1 GiB
677	fix edge case in := with undefined in variable name
678	skip variable expansion in ParseDependencyTargetWord
679	var.c: split ExportVar into separate functions
680	clean up code in extracted ExportVar functions
681	remove dead code from ApplyModifiersIndirect
682	split Var_Subst into easily understandable functions
683	clean up VarParseResult constants
684
6852020-12-25  Simon J Gerraty  <sjg@beast.crufty.net>
686
687	* main.c: use .MAKE.DEPENDFILE as set by makefiles
688
6892020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
690
691	* VERSION (_MAKE_VERSION): 20201222
692	Merge with NetBSD make, pick up
693	o make DEBUG macro return boolean
694	o parse.c: fix assertion failure for files without trailing newline
695	o var.c: allow .undef to undefine multiple variables at once
696	remove excess newline from parse errors
697
6982020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
699
700	* VERSION (_MAKE_VERSION): 20201221
701	Merge with NetBSD make, pick up
702	o some unit-test updates
703
7042020-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
705
706	* VERSION (_MAKE_VERSION): 20201220
707	Merge with NetBSD make, pick up
708	o more unit tests
709	o return FStr from Var_Parse and Var_Value
710	o spell nonexistent consistently
711	o add str_basename to reduce duplicate code
712	o compat.c: fix .ERROR_TARGET in compat -k mode
713	extract InitSignals from Compat_Run
714	extract UseShell from Compat_RunCommand
715	o cond.c: error out if an '.endif' or '.else' contain extraneous text
716	o for.c: rename ForIterate to ForReadMore
717	o hash.c: clean up hash function for HashTable
718	o lst.c: rename Vector.priv_cap to cap
719	o main.c: remove constant parameter from MakeMode
720	o make.c: use symbolic time for 0 in Make_Recheck
721	extract MakeChildren from MakeStartJobs
722	o parse.c: clean up memory handling in VarAssign_EvalShell, Parse_DoVar
723	fix error message for .info/.warning/.error without argument
724	extract Var_Undef from ParseDirective
725	extract ParseSkippedBranches, ParseForLoop from ParseReadLine
726	rename mode constants for ParseGetLine to be more expressive
727	reduce debugging details in Parse_SetInput
728	fix line numbers in .for loops
729	split ParseGetLine into separate functions
730	fix garbled output for failed shell command
731	var.c: remove redundant assignment in ApplyModifier_SysV
732	error out on unknown variable modifiers at parse time
733	remove wrong error message for indirect modifier in lint mode
734	extract ApplySingleModifier from ApplyModifiers
735	use FStr for memory management in Var_SetWithFlags
736	extract SetVar from Var_SetWithFlags
737	use FStr in VarNew
738	extract string functions from ApplyModifier_To
739	error out if .undef has not exactly 1 argument
740	extract Var_DeleteVar from Var_Delete
741	extract Var_Undef from ParseDirective
742	clean up memory management for expanding variable expressions
743
7442020-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
745
746	* avoid %zu
747
748	* lst.c: avoid anonymous union
749
750	* VERSION (_MAKE_VERSION): 20201212
751	Merge with NetBSD make, pick up
752	o more unit tests
753	o inline Targ_Ignore and Targ_Silent
754	o split JobFlags into separate fields
755	o remove const from function parameters (left overs from refactoring)
756	o eliminate boolean argument of Var_Export
757	o make API of Buf_Init simpler
758	o rename ParseRunOptions to ParseCommandFlags
759	o replace *line with line[0]
760	o compat.c: fix wrong exit status for multiple failed main targets
761	refactor Compat_Run to show the error condition more clearly
762	don't make .END if the main targets already failed (-k mode)
763	fix exit status in -k mode if a dependency fails
764	o for.c: clean up Buf_AddEscaped in .for loops
765	o job.c: extract ShellWriter_ErrOn from JobPrintCommand
766	make Job_Touch simpler
767	refactor JobFinish
768	rename Shell.exitFlag to errFlag
769	move Job.xtraced to ShellWriter
770	make printing of shell commands independent from the job
771	rename shell flags in struct Shell
772	extract JobOpenTmpFile from JobStart
773	rename RunFlags to CommandFlags
774	split various Job.* into separate fields
775	rename commandShell to shell
776	extract InitShellNameAndPath from Shell_Init
777	replace signal handling macros with local functions
778	replace macro MESSAGE with local function
779	parse.c: error out on null bytes in makefiles
780	error out on misspelled directives
781	rename IFile.nextbuf to readMore
782	fix undefined behavior in ParseEOF
783	str.c: remove redundant call to strlen in Str_Words
784	var.c: error out on misspelled .unexport-env
785	error out on misspelled .export directives
786	extract ExportVars from Var_Export
787	extract ExportVarsExpand from Var_Export
788	eliminate boolean argument of Var_Export
789	fix undefined behavior when exporting ${:U }
790	rename Var_ExportVars to Var_ReexportVars
791	rename Var_Export1 to ExportVar
792
7932020-12-06  Simon J Gerraty  <sjg@beast.crufty.net>
794
795	* VERSION (_MAKE_VERSION): 20201206
796	Merge with NetBSD make, pick up
797	o more unit tests
798	o inline macros for debug logging
799	o use consistent variable names for list nodes
800	o define constants for enum zero-values
801	o dir.c: use fixed format for debug output of the directory cache
802	remove Dir_InitDir
803	o lst.c: inline Lst_Enqueue, Vector_Done
804	o meta.c: remove unused parameter from meta_needed
805	o parse.c: rename parse functions
806	o suff.c: extract ExpandChildrenRegular from ExpandChildren
807	o targ.c: don't concatenate identifiers in Targ_PrintType
808	o var.c: remove comment decoration
809	extract UnexportVars from Var_UnExport
810	extract GetVarnamesToUnexport from Var_UnExport
811	extract UnexportEnv from Var_UnExport
812	extract UnexportVar from Var_UnExport
813	move CleanEnv to UnexportVars
814	replace pointer comparisons with enum
815	add FStr to var.c to make memory handling simpler
816	use FStr in Var_UnExport
817	move type definitions in var.c to the top
818	extract FreeEnvVar from Var_Parse
819	extract ShuffleStrings from ApplyModifier_Order
820
8212020-11-30  Simon J Gerraty  <sjg@beast.crufty.net>
822
823	* VERSION (_MAKE_VERSION): 20201130
824	Merge with NetBSD make, pick up
825	o add unit tests for META MODE
826	o reduce memory allocation for dirSearchPath, GNode.parents,
827	GNode.children, OpenDirs
828	o reduce pointer indirection for GNode.cohorts and
829	GNode.implicitParents
830	o remove pointer indirection from GNode.commands
831	o inline Lst_ForEachUntil in meta mode
832	o dir.c: fix memory leak for lstat cache in -DCLEANUP mode
833	clean up memory management for CachedDirs
834	fix the reference count of dotLast going negative
835	add debug logging for OpenDirs_Done
836	extract CacheNewDir from Dir_AddDir
837	add debug logging for reference counting of CachedDir
838	rename some Dir functions to SearchPath
839	o job.c: rename some global variables
840	o main.c: reduce memory allocation in ReadBuiltinRules
841	reduce memory allocation in CmdOpts.create, CmdOpts.variables,
842	CmdOpts.makefiles
843	Add .MAKE.UID and .MAKE.GID
844	o make.c: reduce memory allocation for/in toBeMade,
845	Make_ProcessWait, Make_ExpandUse
846	o meta.c: reduce memory allocation in meta_oodate
847	o parse.c: reduce memory allocations for parsing dependencies and
848	targets
849	o suff.c: reduce memory allocation in suffix handling
850
8512020-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
852
853	* VERSION (_MAKE_VERSION): 20201124
854	Merge with NetBSD make, pick up
855	o .MAKE.{UID,GID} represent uid and gid running make.
856	o fix error handling for .BEGIN and .END dependency in -k mode
857	o fix missing "Stop." after failed .END node in -k mode
858	o use properly typed comparisons in boolean contexts
859	o replace a few HashTable_CreateEntry with HashTable_Set
860	o add HashSet type
861	o compat.c: split Compat_Make into smaller functions
862	extract DebugFailedTarget from Compat_RunCommand
863	o dir.c: refactor Dir_UpdateMTime
864	migrate CachedDir.files from HashTable to HashSet
865	o make.c: add high-level API for GNode.made
866
8672020-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
868
869	* VERSION (_MAKE_VERSION): 20201122
870	Merge with NetBSD make, pick up
871	o rename GNode.context to vars
872	o suff.c: cleanup and refactor
873	rename some functions and vars to better reflect usage
874	add high-level API for CandidateSearcher
875	o targ.c: add more debug logging for suffix handling
876	o more unit tests
877	o add debug logging for setting and resetting the main target
878
8792020-11-17  Simon J Gerraty  <sjg@beast.crufty.net>
880
881	* VERSION (_MAKE_VERSION): 20201117
882	Merge with NetBSD make, pick up
883	o fix some unit-tests when .SHELL is dash
884	o rename Targ_NewGN to GNode_New
885	o make some GNode functions const
886	o main.c: call Targ_Init before Var_Init
887	cleanup PrintOnError, getTmpdir and ParseBoolean
888	o var.c: fix error message of failed :!cmd! modifier
889
8902020-11-14  Simon J Gerraty  <sjg@beast.crufty.net>
891
892	* VERSION (_MAKE_VERSION): 20201114
893	Merge with NetBSD make, pick up
894	o replace a few HashTable_CreateEntry with HashTable_Set
895	o clean up cached_stats
896	o rename DEFAULT to defaultNode
897	o remove redundant struct make_stat
898	o cond.c: in lint mode, check for ".else <cond>"
899	use bitset for IfState
900	replace large switch with if-else in Cond_EvalLine
901	o job.c: clean up JobExec, JobStart, JobDoOutput
902	use stderr for error message about failed touch
903	clean up Job_Touch
904	replace macro DBPRINTF with JobPrintln
905	rename JobState to JobStatus
906	main.c: switch cache for realpath from GNode to HashTable
907	clean up Fatal
908	clean up InitDefSysIncPath
909	use progname instead of hard-coded 'make' in warning
910	rename Main_SetVarObjdir to SetVarObjdir
911	make.1: document the -S option
912	make.c: fix debug output for GNode details
913	use symbolic names in debug output of GNodes
914
9152020-11-12  Simon J Gerraty  <sjg@beast.crufty.net>
916
917	* configure.in: fix --with-force-machine-arch
918
919	* VERSION (_MAKE_VERSION): 20201112
920	Merge with NetBSD make, pick up
921	o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable
922	checks in InitObjdir.  Explicit .OBJDIR target always allows
923	read-only directory.
924	o cond.c: clean up Cond_EvalLine
925
9262020-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
927
928	* VERSION (_MAKE_VERSION): 20201111
929	Merge with NetBSD make, pick up
930	o more unit-tests
931	o style cleanup
932	remove redundant parentheses from sizeof operator
933	replace character literal 0 with '\0'.
934	replace pointer literal 0 with NULL.
935	remove redundant parentheses.
936	replace (expr & mask) == 0 with !(expr & mask).
937	use strict typing in conditions of the form !var
938	o rename Make_OODate to GNode_IsOODate
939	o rename Make_TimeStamp to GNode_UpdateYoungestChild
940	o rename Var_Set_with_flags to Var_SetWithFlags
941	o rename dieQuietly to shouldDieQuietly
942	o buf.c: make API of Buf_Init simpler
943	o compat.c: clean up Compat_Make, Compat_RunCommand,
944	CompatDeleteTarget and CompatInterrupt
945	o cond.c: in lint mode, only allow '&&' and '||', not '&' and '|'
946	clean up CondParser_Comparison
947	o main.c: rename getBoolean and s2Boolean
948	rename MAKEFILE_PREFERENCE for consistency
949	o parse.c: replace strstr in ParseMaybeSubMake with optimized code
950	o var.c: rename VARE_ASSIGN to VARE_KEEP_DOLLAR
951	replace emptyString with allocated empty string
952	error out on unclosed expressions after the colon
953
9542020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
955
956	* VERSION (_MAKE_VERSION): 20201101
957	Merge with NetBSD make, pick up
958	o negate NoExecute to GNode_ShouldExecute
959	o job.c: rename JobMatchShell to FindShellByName
960	extract EscapeShellDblQuot from JobPrintCommand
961	extract ParseRunOptions from JobPrintCommand
962	o var.c: extract ApplyModifiersIndirect from ApplyModifiers
963	treat malformed :range, :ts and :[...] as errors
964	add tests for the variable modifiers :[words] and :range
965
9662020-10-31  Simon J Gerraty  <sjg@beast.crufty.net>
967
968	* VERSION (_MAKE_VERSION): 20201031
969	Merge with NetBSD make, pick up
970	o format #include directives consistently
971	o do not look up local variables like .TARGET anywhere else
972	o main.c: Main_SetObjdir is first called for curdir which may be
973	readonly
974	reduce the scope where recursive expressions are detected
975	remove redundant :tl from getBoolean
976	clean up mkTempFile
977	o meta.c: simplify memory allocation in meta_create and meta_oodate
978	o parse.c: extract loadedfile_mmap from loadfile
979	o trace.c: document possible undefined behavior with .CURDIR
980	o var.c: make parsing of the :gmtime and :localtime modifiers stricter
981	rename ismeta to is_shell_metachar
982	remove debug logging for the :Q variable modifier
983	rename VarIsDynamic to VarnameIsDynamic
984	use consistent parameter order in varname parsing functions
985	extract ParseVarnameLong from Var_Parse
986	extract ParseVarnameShort from Var_Parse
987	fix type of ParseModifierPart parameter delim
988	extract IsEscapedModifierPart from ParseModifierPart
989	clean up ModifyWords
990	add test for combining the :@ and :? variable modifiers
991
9922020-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
993
994	* VERSION (_MAKE_VERSION): 20201030
995	Merge with NetBSD make, pick up
996	o change char * to void * in Var_Value
997	o make iterating over HashTable simpler
998	o rename VAR_CMD to VAR_CMDLINE
999	o cond.c: clean up is_separator
1000	fix parse error in string literal in conditional
1001	o main.c: do not use objdir that is not writable
1002	in lint mode, exit with error status on errors
1003	o  parse.c: clean up StrContainsWord
1004	fix out-of-bounds pointer in ParseTrackInput
1005	o var.c: rename Str_SYSVMatch and its parameters
1006	remove unsatisfiable conditions in Var_Set_with_flags
1007	document where the variable name is expanded
1008	fix documentation for VARP_SUB_ONE
1009	rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME
1010	document VAR_READONLY
1011	prevent appending to read-only variables
1012	extract MayExport from Var_Export1
1013	remove redundant evaluations in VarFind
1014	replace VarFindFlags with a simple Boolean
1015	rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE
1016
10172020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
1018
1019	* VERSION (_MAKE_VERSION): 20201028
1020	Merge with NetBSD make, pick up
1021	o rename defIncPath to defSysIncPath
1022	o initialize all CmdOpts fields
1023	o lst.c: inline Vector_Get
1024	o main.c: refactor main extract
1025	InitMaxJobs,InitObjdir,InitVarMake,InitRandom,
1026	ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules,
1027	InitDefIncPath,CmdOpts_Init,UnlimitFiles
1028	o parse.c: merge curFile into includes
1029	rename predecessor to order_pred
1030	sort ParseSpecial alphabetically
1031	remove unused, undocumented .NOEXPORT
1032	rename ParseSpecial enum values consistently
1033	rename some fields of struct IFile
1034
10352020-10-26  Simon J Gerraty  <sjg@beast.crufty.net>
1036
1037	* VERSION (_MAKE_VERSION): 20201026
1038	Merge with NetBSD make, pick up
1039	o group the command line options and arguments into a struct
1040	o rename GNode.cmgn to youngestChild
1041	o rename hash functions to identify the type name
1042	o negate OP_NOP and rename it to GNode_IsTarget
1043	o add GNode_Path to access the path of a GNode
1044	o remove macros MIN and MAX
1045	o remove unused Lst_Find and Lst_FindFrom
1046	o arch.c: and make Arch_FindLib simpler
1047	clean up code layout
1048	make Arch_ParseArchive simpler
1049	o cond.c: inline CondFindStrMatch into FuncMake
1050	o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath
1051	omit trailing space in debug output for expanding file patterns
1052	refactor DirMatchFiles
1053	document that the SearchPath of Dir_FindFile may be NULL
1054	remove UNCONST from Dir_Expand
1055	inline DirFindName
1056	o for.c: clean up code for handling .for loops
1057	o hash.c: print hash in debug log with fixed width
1058	clean up hash table functions
1059	reduce amount of string hashing
1060	o job.c: refactor JobDeleteTarget
1061	use proper enum constants for aborting
1062	convert result of JobStart from macros to enum
1063	convert abort reason macros to enum
1064	rework Job_CheckCommands to reduce indentation
1065	rename Shell fields
1066	add field names in declaration of DEFSHELL_CUSTOM
1067	convert JobState and JobFlags to enum types
1068	move handling of the "..." command to JobPrintCommands
1069	o lst.c: clean up
1070	refactor LstNodeNew
1071	remove Lst_Open, Lst_Next, Lst_Close
1072	remove code for circular lists from Lst_Next
1073	o main.c: do not attempt to read .MAKE.DEPENFILE if set to
1074	/dev/null or anything starting with "no"
1075	convert macros for debug flags into enum
1076	o make.c: inline Lst_Copy in Make_ExpandUse
1077	o meta.c: inline Lst_Find in meta_oodate
1078	make Lst_RemoveIf simpler in meta_oodate
1079	o parse.c: convert error level for Parse_Error to an enum
1080	o suff.c: properly terminate debug output with newline
1081	add more details to DEBUG_SRC log
1082	replace Dir_CopyDir with Dir_CopyDirSearchPath
1083	don't modify GNode name while rebuilding the suffix graph
1084	o var.c: reduce duplicate code in VarFind
1085
10862020-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
1087
1088	* VERSION (_MAKE_VERSION): 20201022
1089	Merge with NetBSD make, pick up
1090	o more refactoring and simplification to reduce code size
1091	o var.c: extract CanonicalVarname from VarFind
1092	o make.c: extract UpdateImplicitParentsVars from Make_Update
1093	o main.c: extract PrintVar from doPrintVars
1094	extract HandlePWD from main
1095	o lst.c: inline simple Lst getters
1096	remove unused Lst_ForEach
1097	o job.c: move struct Shell from job.h to job.c
1098	o more unit tests
1099
11002020-10-19  Simon J Gerraty  <sjg@beast.crufty.net>
1101
1102	* configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT
1103
11042020-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
1105
1106	* VERSION (_MAKE_VERSION): 20201018
1107	Merge with NetBSD make, pick up
1108	o remove USE_IOVEC
1109	o rename some Hash_* apis to Hash*
1110	o replace execError with execDie
1111	o rename Lst_Init to Lst_New
1112	o add tags to enum types
1113	o rename Stack to Vector
1114	o parse.c: more refactoring
1115	o unit-tests: make some tests use line buffered stdout
1116	o unit-tests/Makefile: in meta mode do not make all tests depend on
1117	Makefile, it isn't necessary.
1118
11192020-10-10  Simon J Gerraty  <sjg@beast.crufty.net>
1120
1121	* main.c: check for CTL_HW being defined.
1122	* unit-tests/Makefile: ensure export tests output are POSIX compliant
1123	disable opt-debug-jobs test until it works on ubuntu
1124
1125	* VERSION (_MAKE_VERSION): 20201010
1126	Merge with NetBSD make, pick up
1127	o dir.c: remove pathname limit for Dir_FindHereOrAbove
1128	o hash.c: replace strcpy with memcpy in Hash_CreateEntry
1129	o main.c: extract init_machine and init_machine_arch from main
1130	allow to disable debug logging options
1131	o parse.c: enable format string truncation warnings
1132	extract parsing of sources from ParseDoDependency
1133	split ParseDoSrc into smaller functions
1134	hide implementation details from Parse_DoVar
1135	clean up parsing of variable assignments
1136	split Parse_DoVar into manageable pieces
1137	don't modify the given line during Parse_DoVar
1138	fix out-of-bounds memory access in Parse_DoVar
1139	fix parsing of the :sh assignment modifier
1140	o var.c: rework memory allocation for the name of variables
1141	extract ApplyModifier_Literal into separate function
1142	in lint mode, reject modifiers without delimiter
1143	do not export variable names starting with '-'
1144	o fix double-free bug in -DCLEANUP mode
1145	o more cleanup to enable higher warnings level
1146	o more unit tests
1147
11482020-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
1149
1150	* VERSION (_MAKE_VERSION): 20201002
1151	Merge with NetBSD make, pick up
1152	o dir.c: use hash table for looking up open directories by name
1153	o main.c: clean up option handling
1154	o parse.c: add missing const for Parse_AddIncludeDir
1155	o var.c: ApplyModifier_To, update pp in each branch
1156	o remove redundant function prototypes
1157	o more unit tests
1158
11592020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
1160
1161	* VERSION (_MAKE_VERSION): 20201001
1162	Merge with NetBSD make, pick up
1163	o compat.c: comment about "..."
1164
11652020-09-30  Simon J Gerraty  <sjg@beast.crufty.net>
1166
1167	* VERSION (_MAKE_VERSION): 20200930
1168	Merge with NetBSD make, pick up
1169	o job.c: split Job.jobPipe into 2 separate fields
1170	replace Lst_Open with direct iteration
1171	o lst.c: remove redundant assertions
1172	o targ.c: replace Lst_Open with direct iteration
1173	o var.c: fix bug in evaluation of indirect variable modifiers
1174	extract ApplyModifier_Quote into separate function
1175	o make debug logging simpler
1176
11772020-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
1178
1179	* VERSION (_MAKE_VERSION): 20200927
1180	Merge with NetBSD make, pick up
1181	o parse.c: ensure parse errors result in 'stopped in' message.
1182	o compat.c: make parameter of Compat_RunCommand const
1183	o main.c: extract InitVarTarget from main
1184	o parse.c: rename ParseFinishLine to FinishDependencyGroup
1185	refactor ParseDoDependency
1186	o var.c: Var_Subst no longer returns string result
1187	rename Var_ParsePP back to Var_Parse
1188	in lint mode, improve error handling for undefined variables
1189	extract ParseVarname from Var_Parse
1190	o rename Lst_ForEach to Lst_ForEachUntil
1191	o inline Lst_ForEachUntil in several cases
1192	o clean up API for finding and creating GNodes
1193	o fix assertion failure in -j mode with .END node
1194	o inline and remove LstNode_Prev and LstNode_Next
1195	o use fine-grained type names for lists and their nodes
1196	o more unit tests
1197
11982020-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
1199
1200	* VERSION (_MAKE_VERSION): 20200911
1201	Merge with NetBSD make, pick up
1202	o cond.c: split EvalComparison into smaller functions
1203	reorder parameters of condition parsing functions
1204	reduce code size in CondParser_Eval
1205	rename CondGetString to CondParser_String
1206	add CondLexer_SkipWhitespace
1207	group the condition parsing state into a struct
1208	in CondGetString, replace repeated Buf_Add with Buf_AddStr
1209	o migrate Var_Parse to Var_ParsePP
1210	o add wrappers around ctype.h functions
1211	o lst.c: use a stack instead of a list for the nested include path
1212	o more unit tests
1213
12142020-09-04  Simon J Gerraty  <sjg@beast.crufty.net>
1215
1216	* make-bootstrap.sh.in: adjust object list
1217
12182020-09-02  Simon J Gerraty  <sjg@beast.crufty.net>
1219
1220	* VERSION (_MAKE_VERSION): 20200902
1221	Merge with NetBSD make, pick up
1222	o use make_stat to ensure no confusion over valid fields
1223	returned by cached_stat
1224	o var.c: make VarQuote const-correct
1225	o add unit tests for .for
1226
12272020-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
1228
1229	* VERSION (_MAKE_VERSION): 20200901
1230	Merge with NetBSD make, pick up
1231	o rename Hash_Table fields
1232	o make data types in Dir_HasWildcards more precise
1233
12342020-08-31  Simon J Gerraty  <sjg@beast.crufty.net>
1235
1236	* VERSION (_MAKE_VERSION): 20200831
1237	Merge with NetBSD make, pick up
1238	o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds
1239	o lst.c: Lst_Open renable assert that list isn't open
1240	o unit test for .TARGET dependent flags
1241	o var.c: fix aliasing bug in VarUniq
1242	o more unit tests for :u
1243
12442020-08-30  Simon J Gerraty  <sjg@beast.crufty.net>
1245
1246	* VERSION (_MAKE_VERSION): 20200830
1247	Merge with NetBSD make, pick up
1248	o allow for strict type checking for Boolean
1249	o Var_Parse never returns NULL
1250	o Var_Subst never returns NULL
1251	o Lst_Find now takes boolean match function
1252	o rename Lst_Memeber to Lst_FindDatum
1253	o rename LstNode functions to match their type
1254	o rename GNode.iParents to implicitParents
1255	o fix assertion failure for .SUFFIXES in archives
1256	o compat.c: clean up documentation for CompatInterrupt and Compat_Run
1257	remove unreachable code from CompatRunCommand
1258	o main.c: simplify getBoolean
1259	o stc.c: replace brk_string with simpler Str_Words
1260	o suff.c: add debug macros
1261
12622020-08-28  Simon J Gerraty  <sjg@beast.crufty.net>
1263
1264	* VERSION (_MAKE_VERSION): 20200828
1265	Merge with NetBSD make, pick up
1266	o lst.c: inline LstIsValid and LstNodeIsValid
1267	o remove trailing S from Lst function names after migration complete
1268	o more comment cleanup/clarification
1269	o suff.c: clean up suffix handling
1270	o more unit tests
1271
12722020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
1273
1274	* VERSION (_MAKE_VERSION): 20200826
1275	Merge with NetBSD make, pick up
1276	o enum.c: distinguish between bitsets containing flags and
1277	ordinary enums
1278	o var.c: fix error message for ::!= modifier with shell error
1279	o fix bugs in -DCLEANUP mode
1280
12812020-08-24  Simon J Gerraty  <sjg@beast.crufty.net>
1282
1283	* VERSION (_MAKE_VERSION): 20200824
1284	Merge with NetBSD make, pick up
1285	o in debug mode, print GNode details in symbols
1286
12872020-08-23  Simon J Gerraty  <sjg@beast.crufty.net>
1288
1289	* VERSION (_MAKE_VERSION): 20200823
1290	Merge with NetBSD make, pick up
1291	o lst.c: more asserts,
1292	make args to Lst_Find match others.
1293	o var.c: pass flags to VarAdd
1294	o arch.c: use Buffer
1295	o str.c: brk_string return size_t for nwords
1296	o more unit tests
1297
12982020-08-22  Simon J Gerraty  <sjg@beast.crufty.net>
1299
1300	* VERSION (_MAKE_VERSION):
1301	Merge with NetBSD make, pick up
1302	o var.c: support for read-only variables eg .SHELL
1303	being the shell used to run scripts.
1304	o lst.c: more simplification
1305	o more documentation and style cleanup
1306	o more unit tests
1307	o ensure unit-test/Makefile is run by TEST_MAKE
1308	o reduce duplication of header inclusion
1309
13102020-08-21  Simon J Gerraty  <sjg@beast.crufty.net>
1311
1312	* VERSION (_MAKE_VERSION): 20200821
1313	Merge with NetBSD make, pick up
1314	o lst.c: revert invalid assertion - but document it
1315	o dir.c: split Dir_Init into two functions
1316
13172020-08-20  Simon J Gerraty  <sjg@beast.crufty.net>
1318
1319	* lst.c: needs inttypes.h on Linux
1320
1321	* VERSION (_MAKE_VERSION): 20200820
1322	Merge with NetBSD make, pick up
1323	o make.1: clarify some passages
1324	o var.c: more cleanup, clarify comments
1325	o make_malloc.c: remove unreachable code
1326	o cond.c: make CondGetString easier to debug
1327	o simplify list usage
1328	o unit-tests: more
1329
13302020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
1331
1332	* VERSION (_MAKE_VERSION): 20200816
1333	Merge with NetBSD make, pick up
1334	o refactor unit-tests to be more fine grained
1335	  not all tests moved yet
1336
13372020-08-14  Simon J Gerraty  <sjg@beast.crufty.net>
1338
1339	* VERSION (_MAKE_VERSION): 20200814
1340	Merge with NetBSD make, pick up
1341	o more str_concat variants
1342	o more enums for flags
1343	o var.c: cleanup for higher warnings level
1344
13452020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
1346
1347	* VERSION (_MAKE_VERSION): 20200810
1348	Merge with NetBSD make, pick up
1349	o more unit tests
1350	o general comment and style cleanup
1351
13522020-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
1353
1354	* VERSION (_MAKE_VERSION): 20200808
1355	Merge with NetBSD make, pick up
1356	o enum.[ch]: streamline, enums for use in flags and debug output
1357	o cond.c: cleanup
1358	o var.c: reduce duplicate code for modifiers
1359	debug logging for Var_Parse
1360	more detailed debug output
1361	o more unit tests
1362
13632020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
1364
1365	* unit-tests/Makefile: -r for recursive and include Makefile.inc
1366	so I can run tests in meta mode
1367	supress extra noise if in meta mode
1368
1369	* VERSION (_MAKE_VERSION): 20200806
1370	Merge with NetBSD make, pick up
1371	o parse.c: remove VARE_WANTRES for LINT
1372	we just want to check parsing (for now).
1373
13742020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
1375
1376	* VERSION (_MAKE_VERSION): 20200805
1377	Merge with NetBSD make, pick up
1378	o make.1: Rework the description of dependence operators
1379
13802020-08-03  Simon J Gerraty  <sjg@beast.crufty.net>
1381
1382	* VERSION (_MAKE_VERSION): 20200803
1383	Merge with NetBSD make, pick up
1384	o revert some C99 usage, for max portability
1385	o unit-tests/lint
1386
13872020-08-02  Simon J Gerraty  <sjg@beast.crufty.net>
1388
1389	* VERSION (_MAKE_VERSION): 20200802
1390	Merge with NetBSD make, pick up
1391	o more unit tests
1392
13932020-08-01  Simon J Gerraty  <sjg@beast.crufty.net>
1394
1395	* Remove NetBSD specific plumbing from unit-tests/Makefile
1396
1397	* VERSION (_MAKE_VERSION): 20200801
1398	Merge with NetBSD make, pick up
1399	o make Var_Value return const
1400	o size_t for buf sizes
1401	o optimize some buffer operations - avoid strlen
1402
14032020-07-31  Simon J Gerraty  <sjg@beast.crufty.net>
1404
1405	* VERSION (_MAKE_VERSION): 20200731
1406	Merge with NetBSD make, pick up
1407	o var.c: fix undefinded behavior for incomplete :t modifier
1408	  fixes unit-test/moderrs on Ubuntu
1409	o parse.c: When parsing variable assignments other than :=
1410	  if DEBUG(LINT) test substition of value, so we get a file and
1411	  line number in the resulting error.
1412	o dir.c: fix parsing of nested braces in dependency lines
1413	  add unit-tests
1414
14152020-07-30  Simon J Gerraty  <sjg@beast.crufty.net>
1416
1417	* VERSION (_MAKE_VERSION): 20200730
1418	Merge with NetBSD make, pick up
1419	o var.c: minor cleanup
1420	o unit-tests: more tests to improve code coverage
1421
14222020-07-28  Simon J Gerraty  <sjg@beast.crufty.net>
1423
1424	* VERSION (_MAKE_VERSION): 20200728
1425	Merge with NetBSD make, pick up
1426	o var.c: more optimizations
1427
14282020-07-26  Simon J Gerraty  <sjg@beast.crufty.net>
1429
1430	* VERSION (_MAKE_VERSION): 20200726
1431	Merge with NetBSD make, pick up
1432	o collapse lsd.lib into lst.c - reduce code size and allow inlining
1433	o lots of function comment updates
1434	o var.c: more optimizations
1435	o make return of Var_Parse const
1436
14372020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
1438
1439	* VERSION (_MAKE_VERSION): 20200720
1440	Merge with NetBSD make, pick up
1441	o DEBUG_HASH report stats at end and tone down the noise
1442	o var.c: each flag type gets its own prefix.
1443	move SysV string matching to var.c
1444	make ampersand in ${VAR:from=to&} an ordinary character
1445	cleanup and simplify implementation of modifiers
1446	o make.1: move documentation for assignment modifiers
1447
14482020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
1449
1450	* VERSION (_MAKE_VERSION): 20200718
1451	Merge with NetBSD make, pick up
1452	o DEBUG_HASH to see how well the hash tables are working
1453
14542020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
1455
1456	* bsd.after-import.mk: make sure we update unit-tests/Makefile
1457
14582020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
1459
1460	* configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC
1461
1462	* VERSION (_MAKE_VERSION): 20200710
1463	Merge with NetBSD make, pick up
1464	o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall
1465	o meta.c: target flagged .META is out-of-date if meta file missing
1466
14672020-07-09  Simon J Gerraty  <sjg@beast.crufty.net>
1468
1469	* VERSION (_MAKE_VERSION): 20200709
1470	Merge with NetBSD make, pick up
1471	o cond.c: fix for compare_expression when doEval=0
1472	o unit-tests/Makefile: rework
1473	o filemon/filemon_dev.c: ensure filemon fd is closed on exec.
1474
14752020-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
1476
1477	* VERSION (_MAKE_VERSION): 20200704
1478	Merge with NetBSD make, pick up
1479	(most of this by rillig@)
1480	o lots of style and white-space cleanup
1481	o lots more unit tests for variable modifiers
1482	o simplified description of some functions
1483	o str.c: refactor Str_Match
1484	o var.c: debugging output for :@
1485	  constify VarModify parameter
1486	  fix :hash modifier on 16-bit platforms
1487	  remove unnecessary forward declarations
1488	  refactor ApplyModifier_SysV to have less indentation
1489	  simplify code for :E and :R
1490	  clean up code for :H and :T
1491	  refactor ApplyModifiers
1492
1493	* var.c: we need stdint.h on some platforms to get uint32_t
1494	* unit-test/Makefile: we need to supress the specific error
1495	for RE substitution error in modmisc, since it varies accross
1496	different OS.
1497
14982020-07-02  Simon J Gerraty  <sjg@beast.crufty.net>
1499
1500	* VERSION (_MAKE_VERSION): 20200702
1501	Merge with NetBSD make, pick up
1502	o var.c: more improvements to avoiding unnecessary evaluation
1503	use enums for flags
1504	o remove flags arg to Var_Set which outside of var.c is always 0
1505
15062020-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
1507
1508	* VERSION (_MAKE_VERSION): 20200701
1509	Merge with NetBSD make, pick up
1510	o var.c: with change to cond.c; ensure that nested variables
1511	within a variable name are expanded.
1512	o unit-tests/varmisc.mk: test for nested varname
1513
15142020-06-29  Simon J Gerraty  <sjg@beast.crufty.net>
1515
1516	* VERSION (_MAKE_VERSION): 20200629
1517	Merge with NetBSD make, pick up
1518	o cond.c: do not eval unnecessary terms of conditionals.
1519
15202020-06-25  Simon J Gerraty  <sjg@beast.crufty.net>
1521
1522	* VERSION (_MAKE_VERSION): 20200625
1523	Merge with NetBSD make, pick up
1524	o meta.c: report error if lseek in filemon_read fails
1525
15262020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
1527
1528	* VERSION (_MAKE_VERSION): 20200622
1529	Merge with NetBSD make, pick up
1530	o dieQuietly: ignore OP_SUBMAKE as too aggressive
1531
15322020-06-19  Simon J Gerraty  <sjg@beast.crufty.net>
1533
1534	* VERSION (_MAKE_VERSION): 20200619
1535	Merge with NetBSD make, pick up
1536	o str.c: performance improvement for Str_Match for multiple '*'
1537	o dieQuietly: supress the failure output from make
1538	when failing node is a sub-make or a sibling failed.
1539	This cuts down greatly on unhelpful noise at the end of
1540	build log.  Disabled by -dj or .MAKE.DIE_QUIETLY=no
1541
15422020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
1543
1544	* FILES: add LICENSE to appease some packagers.
1545	This is an attempt to fairly represent the license on almost
1546	200 files, which are almost all BSD-3-Clause
1547	The few exceptions being more liberal.
1548
1549	* VERSION (_MAKE_VERSION): 20200610
1550	Merge with NetBSD make, pick up
1551	o unit test for :Or
1552
15532020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
1554
1555	* VERSION (_MAKE_VERSION): 20200606
1556	Merge with NetBSD make, pick up
1557	o make.1: cleanup
1558
1559	* Makefile: fix depends for main.o which broke MAKE_VERSION
1560
15612020-06-05  Simon J Gerraty  <sjg@beast.crufty.net>
1562
1563	* VERSION (_MAKE_VERSION): 20200605
1564	Merge with NetBSD make, pick up
1565	o dir.c: cached_stats - don't confuse stat and lstat results.
1566	o var.c: add :Or for reverse sort.
1567
15682020-05-24  Simon J Gerraty  <sjg@beast.crufty.net>
1569
1570	* configure.in: add AC_PROG_CC_C99 for mipspro compiler
1571	also if --with-filemon= specifies path to filemon.h
1572	set use_filemon=dev
1573	* dirname.c: remove include of namespace.h
1574
15752020-05-17  Simon J Gerraty  <sjg@beast.crufty.net>
1576
1577	* VERSION (_MAKE_VERSION): 20200517
1578	Merge with NetBSD make, pick up
1579	o modified dollar tests to avoid shell dependencies
1580	o new tests for .INCLUDEFROM
1581
15822020-05-16  Simon J Gerraty  <sjg@beast.crufty.net>
1583
1584	* unit-tests/dollar.mk: tweak  '1 dollar literal' test
1585	to not depend so much on shell behavior
1586
15872020-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
1588
1589	* VERSION (_MAKE_VERSION): 20200510
1590	Merge with NetBSD make, pick up
1591	o unit test for dollar handling
1592
15932020-05-06  Simon J Gerraty  <sjg@beast.crufty.net>
1594
1595	* VERSION (_MAKE_VERSION): 20200506
1596	Merge with NetBSD make, pick up
1597	o str.c: empty string does not match % pattern
1598	  plus unit-test changes
1599
16002020-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
1601
1602	* VERSION (_MAKE_VERSION): 20200504
1603	May the 4th be with you
1604	Merge with NetBSD make, pick up
1605	o var.c: import handling of old sysV style modifier using '%'
1606	o str.c: refactor brk_string
1607	o unit-tests: add test case for lazy conditions
1608
16092020-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
1610
1611	* VERSION (_MAKE_VERSION): 20200418
1612
1613	* configure.in: use_makefile=no for cygwin et al.
1614	case insensitive filesystems just don't work if both
1615	makefile and Makefile exist.
1616	NOTE: bmake does not support cygwin and likely never will,
1617	but if brave souls want to try it - help them out.
1618
16192020-04-02  Simon J Gerraty  <sjg@beast.crufty.net>
1620
1621	* VERSION (_MAKE_VERSION): 20200402
1622	Merge with NetBSD make, pick up
1623	o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD
1624	  a blank command is perfectly valid.
1625
16262020-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
1627
1628	* VERSION (_MAKE_VERSION): 20200330
1629	Merge with NetBSD make, pick up
1630	o make.h: extern debug_file
1631
16322020-03-18  Simon J Gerraty  <sjg@beast.crufty.net>
1633
1634	* VERSION (_MAKE_VERSION): 20200318
1635	Merge with NetBSD make, pick up
1636	o meta.c: meta_oodate, check for corrupted meta file
1637	  earlier and more often.
1638
16392020-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
1640
1641	* VERSION (_MAKE_VERSION): 20200220
1642
16432020-02-19  Simon J Gerraty  <sjg@beast.crufty.net>
1644
1645	* boot-strap: unset MAKEFLAGS
1646
16472020-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
1648
1649	* VERSION (_MAKE_VERSION): 20200212
1650	* meta.c: meta_compat_parent check for USE_FILEMON
1651	  patch from Soeren Tempel
1652
16532020-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
1654
1655	* VERSION: 20200205
1656	Merge with NetBSD make, pick up
1657	o meta.c: fix compat mode, need to call meta_job_output()
1658	o job.c: extra fds for meta mode not needed if using filemon_dev
1659
16602020-01-22  Simon J Gerraty  <sjg@beast.crufty.net>
1661
1662	* VERSION: 20200122
1663	Merge with NetBSD make, pick up
1664	o meta.c: avoid passing NULL to filemon_*() when meta_needed()
1665	  returns FALSE.
1666
16672020-01-21  Simon J Gerraty  <sjg@beast.crufty.net>
1668
1669	* VERSION: 20200121
1670	Merge with NetBSD make, pick up
1671	o filemon/filemon_{dev,ktrace}.c: allow selection of
1672	  filemon implementation.  filemon_dev.c uses the kernel module
1673	  while filemon_ktrace.c leverages the fktrace api available in
1674	  NetBSD.  filemon_ktrace.c can hopefully form the basis for
1675	  adding support for other tracing mechanisms such as strace on
1676	  Linux.
1677	o meta.c: when target is out-of-date per normal make rules
1678	  record value of .OODATE in meta file.
1679
16802019-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
1681
1682	* VERSION: 20190926
1683	  Merge with NetBSD make, pick up
1684	  o parse.c: don't pass NULL to realpath(3)
1685	    some versions cannot handle it.
1686
16872019-04-09  Simon J Gerraty  <sjg@beast.crufty.net>
1688
1689	* VERSION: 20190409
1690	  Merge with NetBSD make, pick up
1691	  o parse.c: ParseDoDependency: free paths rather than assert
1692
16932018-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
1694
1695	* VERSION: 20181222
1696
1697	* configure.in: add --without-makefile to avoid generating
1698	  makefile and make-bootstrap.sh
1699
1700	* include Makefile.inc if it exists
1701
1702	* Use Makefile and Makefile.config.in in unit-tests
1703	  so we can use just: make obj && make && make test
1704	  when bmake is already available.
1705	  We add --without-makefile to CONFIGURE_ARGS in this case.
1706
1707	* tweak bsd.after-import.mk (captures Makefile.config etc
1708	  after import to FreeBSD for example) to cope with all the above.
1709
17102018-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
1711
1712	* VERSION: 20181221
1713	  Merge with NetBSD make, pick up
1714	  o parse.c: ParseVErrorInternal use .PARSEDIR
1715	    and apply if relative, and then use .PARSEFILE
1716	    for consistent result.
1717
17182018-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
1719
1720	* VERSION: 20181220
1721	  Merge with NetBSD make, pick up
1722	  o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR
1723	    is relative
1724	  o var.c: avoid SEGFAULT in .unexport-env
1725	    when MAKELEVEL is not set
1726
17272018-12-16  Simon J Gerraty  <sjg@beast.crufty.net>
1728
1729	* VERSION: 20181216
1730	  Merge with NetBSD make, pick up
1731	  o fix for unit-tests/varquote.mk on Debian
1732
17332018-09-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1734
1735	* VERSION: 20180919
1736	  Merge with NetBSD make, pick up
1737	  o var.c: add :q
1738	  o dir.c: cleanup caching of stats
1739
17402018-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
1741
1742	* Makefile.config.in: use += where it makes sense.
1743
17442018-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1745
1746	* VERSION: 20180512
1747	  Merge with NetBSD make, pick up
1748	  o job.c: skip polling job token pipe
1749
17502018-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1751
1752	* VERSION: 20180405
1753	  Merge with NetBSD make, pick up
1754	  o parse.c: be more cautious about detecting depenency line
1755	    rather than sysV style include.
1756
17572018-02-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1758
1759	* VERSION: 20180222
1760	  Merge with NetBSD make, pick up
1761	  o parse.c: avoid calling sysconf for every call to loadfile
1762
17632018-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1764
1765	* VERSION: 20180218
1766	  Merge with NetBSD make, pick up
1767	  o var.c: Var_Set handle NULL value anytime.
1768
17692018-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1770
1771	* VERSION: 20180212
1772	  Merge with NetBSD make, pick up
1773	  o parse.c: do not treat .info as warning with -W
1774
17752017-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1776
1777	* VERSION: 20171207
1778	  Merge with NetBSD make, pick up
1779	  o var.c: Var_Append use Var_Set if var not previously set
1780	    so that VAR_CMD is handled correctly.
1781	    Add a suitable unit-test.
1782
17832017-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1784
1785	* VERSION (_MAKE_VERSION): 20171126
1786
1787	* aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
1788	  since AC_TRY_COMPILE puts input inside main()
1789	  which upsets modern compilers.
1790
17912017-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1792
1793	* VERSION: 20171118
1794	  Merge with NetBSD make, pick up
1795	  o var.c: do not append to variable set on command line
1796	    add unit-test to catch this.
1797
17982017-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1799
1800	* VERSION: 20171028
1801	  Merge with NetBSD make, pick up
1802	  o main.c: ignore empty MAKEOBJDIR
1803
1804	* Makefile.config.in:
1805	  make @prefix@ @machine*@ and @default_sys_path@ defaults.
1806
18072017-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1808
1809	* VERSION: 20171005
1810
1811	* unit-tests/dotwait.mk: redirect stderr through pipe for more
1812	  consistent result on some platforms.
1813
18142017-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1815
1816	* machine.sh: entry for AIX
1817
18182017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1819
1820	* VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
1821	  to a file that can be included by configure as well as make.
1822	  This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
1823
18242017-08-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1825
1826	* Makefile (_MAKE_VERSION): 20170810
1827	  Merge with NetBSD make, pick up
1828	  o meta.c: if target is in subdir we only need subdir name in
1829	    meta_name.
1830
18312017-07-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1832
1833	* Makefile (_MAKE_VERSION): 20170720
1834	  Merge with NetBSD make, pick up
1835	  o compat.c: pass SIGINT etc onto child and wait for it to exit
1836	    before we self-terminate.
1837
18382017-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1839
1840	* Makefile (_MAKE_VERSION): 20170711
1841	  forgot to update after merge on 20170708 ;-)
1842	  o main.c: refactor to reduce size of main function.
1843	    add -v option to always fully expand values.
1844	  o meta.c: ensure command output in meta file has ending newline
1845	    even when filemon not being used.
1846	    When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
1847	    pathname via ':L' since any ':' in pathname breaks that.
1848	    Instead set a '${.p.}' to pathname in the target context and
1849	    use that.
1850
18512017-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1852
1853	* Makefile (_MAKE_VERSION): 20170510
1854	  Merge with NetBSD make, pick up
1855	  o main.c: Main_SetObjdir: ensure buf2 is in scope
1856
18572017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1858
1859	* Makefile (_MAKE_VERSION): 20170505
1860	  see mk/ChangeLog
1861
18622017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1863
1864	* parse.c: not everyone has stdint.h
1865
18662017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1867
1868	* Makefile (_MAKE_VERSION): 20170501
1869	  see mk/ChangeLog
1870
18712017-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1872
1873	* Makefile (_MAKE_VERSION): 20170421
1874	  Merge with NetBSD make, pick up
1875	  o str.c: Str_Match: fix closure tests for [^] and add unit-test.
1876
18772017-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1878
1879	* Makefile (_MAKE_VERSION): 20170420
1880	  Merge with NetBSD make, pick up
1881	  o main.c: only use -C arg "as is" if it contains no
1882	    relative component.
1883
18842017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1885
1886	* Makefile (_MAKE_VERSION): 20170418
1887	  Merge with NetBSD make, pick up
1888	  o main.c: fix Main_SetObjdir() for relative paths (eg obj).
1889
18902017-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1891
1892	* Makefile (_MAKE_VERSION): 20170417
1893	  Merge with NetBSD make, pick up
1894	  o fixes a number of coverity complaints
1895	    - check return value of fseek, fcntl
1896	    - plug memory leak in Dir_FindFile, Var_LoopExpand,
1897	      JobPrintCommand, ParseTraditionalInclude
1898	    - use bmake_malloc() where NULL is not tollerated
1899	    - use MAKE_ATTR_UNUSED rather that kludges like
1900	      return(unused ? 0 : 0)
1901	    - use purge_cached_realpaths() rather than abuse cached_realpath()
1902
19032017-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1904
1905	* Makefile (_MAKE_VERSION): 20170413
1906	  Merge with NetBSD make, pick up
1907	  o main.c: when setting .OBJDIR ignore '$' in paths.
1908
1909	* job.c: use MALLOC_OPTIONS to set malloc_options.
1910
19112017-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1912
1913	* Makefile (_MAKE_VERSION): 20170411
1914	  Merge with NetBSD make, pick up
1915	  o str.c: Str_Match: allow [^a-z] to behave as expected.
1916
19172017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1918
1919	* Makefile (_MAKE_VERSION): 20170326
1920	  Merge with NetBSD make, pick up
1921	  o main.c: purge relative paths from realpath cache when .OBJDIR
1922	    is changed.
1923
19242017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1925
1926	* Makefile (_MAKE_VERSION): 20170311
1927	  Merge with NetBSD make, pick up
1928          o main.c: only use -C arg "as is" if it starts with '/'.
1929
19302017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1931
1932	* Makefile (_MAKE_VERSION): 20170301
1933	  Merge with NetBSD make, pick up
1934	  o main.c: use -C arg "as is" rather than getcwd()
1935	    if they identify the same directory.
1936	  o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
1937
19382017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1939
1940	* Makefile (_MAKE_VERSION): 20170201
1941	  Merge with NetBSD make, pick up
1942	  o var.c: allow :_=var and avoid use of special context.
1943
19442017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1945
1946	* Makefile (_MAKE_VERSION): 20170130
1947	  Merge with NetBSD make, pick up
1948	  o var.c: add :range and :_
1949	  o main.c: partially initialize Dir_* before MainParseArgs()
1950	    can be called.
1951	    If -V, skip Main_ExportMAKEFLAGS()
1952
19532017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1954
1955	* Makefile (_MAKE_VERSION): 20170114
1956	  Merge with NetBSD make, pick up
1957	  o var.c: allow specifying the utc value used by :{gm,local}time
1958
19592016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1960
1961	* Makefile (_MAKE_VERSION): 20161212
1962	  Merge with NetBSD make, pick up
1963          o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
1964
19652016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1966
1967	* Makefile (_MAKE_VERSION): 20161209
1968	  Merge with NetBSD make, pick up
1969	  o main.c: cleanup setting of .OBJDIR
1970	  o parse.c: avoid coredump from (var)=val
1971
19722016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1973
1974	* Makefile (_MAKE_VERSION): 20161126
1975	  Merge with NetBSD make, pick up
1976	  o make.c: Make_OODate: report src node name if path not set
1977
19782016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1979
1980	* Makefile (_MAKE_VERSION): 20160926
1981	  Merge with NetBSD make, pick up
1982	  o support for .DELETE_ON_ERROR: (remove targets that fail)
1983
19842016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1985
1986	* Makefile MAN: tweak .Dt to match ${PROG}
1987
19882016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1989
1990	* Makefile (_MAKE_VERSION): 20160818
1991	  its a neater number; pick up whitespace fixes to man page.
1992
19932016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1994
1995	* Makefile (_MAKE_VERSION): 20160817
1996	  Merge with NetBSD make, pick up
1997	  o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
1998	    so we can call it before adding entries to missingFiles.
1999	    Thus we do not track files we have been told to ignore.
2000
20012016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2002
2003	* Makefile (_MAKE_VERSION): 20160815
2004	  Merge with NetBSD make, pick up
2005	  o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
2006	    pathnames, and skip if the expansion is empty.
2007	    Useful for dirdeps.mk when checking DIRDEPS_CACHE.
2008
20092016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2010
2011	* Makefile (_MAKE_VERSION): 20160812
2012	  Merge with NetBSD make, pick up
2013	  o meta.c: remove all missingFiles entries that match a deleted
2014	    dir.
2015	  o main.c: set .ERROR_CMD if possible.
2016
20172016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2018
2019	* Makefile (_MAKE_VERSION): 20160606
2020	  Merge with NetBSD make, pick up
2021	  o dir.c: extend mtimes cache to others via cached_stat()
2022
20232016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2024
2025	* Makefile (_MAKE_VERSION): 20160604
2026	  Merge with NetBSD make, pick up
2027	  o meta.c: missing filemon data is only relevant if we read a
2028	    meta file.
2029	    Also do not return oodate for a missing metafile if gn->path
2030	    points to .CURDIR
2031
20322016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2033
2034	* Makefile (_MAKE_VERSION): 20160602
2035	  Merge with NetBSD make, pick up
2036	  o cached_realpath(): avoid hitting filesystem more than necessary.
2037	  o meta.c: refactor need_meta decision, add knobs for
2038	    missing meta file and filemon data wrt out-of-datedness.
2039
20402016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2041
2042	* Makefile (_MAKE_VERSION): 20160528
2043
2044	* boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
2045
20462016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2047
2048	* Makefile (_MAKE_VERSION): 20160512
2049	  Merge with NetBSD make, pick up
2050	  o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
2051	    this is useful for gcov builds.
2052	  o propagate errors from filemon(4).
2053
20542016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2055
2056	* Makefile (_MAKE_VERSION): 20160509
2057	  Merge with NetBSD make, pick up
2058	  o remove use of non-standard types u_int etc.
2059	  o meta.c: apply realpath() before matching against metaIgnorePaths
2060
20612016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2062
2063	* Makefile (_MAKE_VERSION): 20160404
2064	  Merge with NetBSD make, pick up
2065	  o allow makefile to set .MAKE.JOBS
2066
2067	* Makefile (PROG_NAME): use ${_MAKE_VERSION}
2068
20692016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2070
2071	* Makefile (_MAKE_VERSION): 20160315
2072	  Merge with NetBSD make, pick up
2073	  o fix handling of archive members
2074
20752016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2076
2077	* Makefile (_MAKE_VERSION): rename variable to avoid interference
2078	  with checks for ${MAKE_VERSION}
2079
20802016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2081
2082	* Makefile (MAKE_VERSION): 20160310
2083	  Merge with NetBSD make, pick up
2084	  o meta.c: treat missing Read file same as Write, incase we Delete it.
2085
20862016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2087
2088	* Makefile (MAKE_VERSION): 20160307
2089	  Merge with NetBSD make, pick up
2090	  o var.c: fix :ts\nnn to be octal by default.
2091	  o meta.c: meta_finish() to cleanup memory.
2092
20932016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2094
2095	* Makefile (MAKE_VERSION): 20160226
2096	  Merge with NetBSD make, pick up
2097	  o meta.c: allow meta file for makeDepend if makefiles want it.
2098
20992016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2100
2101	* var.c: default .MAKE.SAVE_DOLLARS to FALSE
2102	  for backwards compatability.
2103
2104	* Makefile (MAKE_VERSION): 20160220
2105	  Merge with NetBSD make, pick up
2106	  o var.c: add knob to control handling of '$$' in :=
2107
21082016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2109
2110	* Makefile (MAKE_VERSION): 20160218
2111	  Merge with NetBSD make, pick up
2112	  o var.c: add .export-literal allows us to fix sys.clean-env.mk
2113	    post the changes to Var_Subst.
2114	    Var_Subst now takes flags, and does not consume '$$' in :=
2115
21162016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
2117
2118	* Makefile (MAKE_VERSION): 20160217
2119	  Merge with NetBSD make, pick up
2120	  o var.c: preserve '$$' in :=
2121	  o parse.c: add .dinclude for handling included
2122	    makefile like .depend
2123
21242015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2125
2126	* Makefile (MAKE_VERSION): 20151220
2127	  Merge with NetBSD make, pick up
2128	  o suff.c: re-initialize suffNull when clearing suffixes.
2129
21302015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2131
2132	* Makefile (MAKE_VERSION): 20151201
2133	  Merge with NetBSD make, pick up
2134	  o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
2135	  o meta.c: meta_oodate: use lstat(2) for checking link target
2136	    in case it is a symlink.
2137	  o var.c: avoid calling brk_string and Var_Export1 with empty
2138	    strings.
2139
21402015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2141
2142	* Makefile (MAKE_VERSION): 20151126
2143	  Merge with NetBSD make, pick up
2144	  o parse.c: ParseTrackInput don't access beyond
2145	    end of old value.
2146
21472015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2148
2149	* Makefile (MAKE_VERSION): 20151022
2150
2151	* Add support for BSD/OS which lacks inttypes.h
2152	  and really needs sys/param.h for sys/sysctl.h
2153	  also 'type' is not a shell builtin.
2154
2155	* var.c: eliminate uint32_t and need for inttypes.h
2156
2157	* main.c: PrintOnError flush stdout before run .ERROR
2158
2159	* parse.c: cope with _SC_PAGESIZE not being defined.
2160
2161
21622015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2163
2164	* Makefile (MAKE_VERSION): 20151020
2165	  Merge with NetBSD make, pick up
2166	  o var.c: fix uninitialized var
2167
21682015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2169
2170	* var.c: the conditional expressions used with ':?' can be
2171	expensive, if already discarding do not evaluate or expand
2172	anything.
2173
21742015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2175
2176	* Makefile (MAKE_VERSION): 20151010
2177	  Merge with NetBSD make, pick up
2178	  o Add Boolean wantit flag to Var_Subst and Var_Parse
2179	    when FALSE we know we are discarding the result and can
2180	    skip operations like Cmd_Exec.
2181
21822015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2183
2184	* Makefile (MAKE_VERSION): 20151009
2185	  Merge with NetBSD make, pick up
2186	  o var.c: don't check for NULL before free()
2187	  o meta.c: meta_oodate, do not hard code ignore of makeDependfile
2188
21892015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2190
2191	* Makefile (MAKE_VERSION): 20150910
2192	  Merge with NetBSD make, pick up
2193	  o main.c: with -w print Enter/Leaving messages for objdir too
2194	    if necessary.
2195	  o centralize shell metachar handling
2196
2197	* FILES: add metachar.[ch]
2198
21992015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2200
2201	* Makefile (MAKE_VERSION): 20150606
2202	  Merge with NetBSD make, pick up
2203	  o make.1: document .OBJDIR target
2204
22052015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2206
2207	* Makefile (MAKE_VERSION): 20150505
2208	  Merge with NetBSD make, pick up
2209	  o cond.c: be strict about lhs of comparison when evaluating .if
2210	    but less so when called from variable expansion.
2211	  o unit-tests/cond2.mk: test various error conditions
2212
22132015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2214
2215	* machine.sh (MACHINE): Add Bitrig
2216	  patch from joerg@netbsd.org
2217
22182015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2219
2220	* Makefile (MAKE_VERSION): 20150418
2221	  Merge with NetBSD make, pick up
2222	  o job.c: use memmove() rather than memcpy()
2223
2224	* unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
2225	  case, so skip it.
2226
22272015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2228
2229	* Makefile (MAKE_VERSION): 20150411
2230	  bump version - only mk/ changes.
2231
22322015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2233
2234	* Makefile (MAKE_VERSION): 20150410
2235	  Merge with NetBSD make, pick up
2236	  o document different handling of '-' in jobs mode vs compat
2237	  o fix jobs mode so that '-' only applies to whole job
2238	    when shell lacks hasErrCtl
2239	  o meta.c: use separate vars to track lcwd and latestdir (read)
2240	    per process
2241
22422015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2243
2244	* Makefile (MAKE_VERSION): 20150401
2245	  Merge with NetBSD make, pick up
2246	  o meta.c: close meta file in child
2247
2248	* Makefile: use BINDIR.bmake if set.
2249	  Same for MANDIR and SHAREDIR
2250	  Handy for testing release candidates
2251	  in various environments.
2252
22532015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2254
2255	* move initialization of savederr to block where it is used
2256	  to avoid spurious warning from gcc5
2257
22582014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2259
2260	* Makefile (MAKE_VERSION): 20141111
2261	  just a cooler number
2262
22632014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2264
2265	* Makefile (MAKE_VERSION): 20141105
2266	  Merge with NetBSD make, pick up
2267	  o revert major overhaul of suffix handling
2268	    and POSIX compliance - too much breakage
2269	    and impossible to make backwards compatible.
2270	  o we still have the new unit test structure which is ok.
2271	  o meta.c ensure "-- filemon" is at start of line.
2272
22732014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
2274
2275	* configure.in: test that result of getconf PATH_MAX is numeric
2276	  and discard if not.  Apparently needed for Hurd.
2277
22782014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2279
2280	* Makefile (MAKE_VERSION): 20140830
2281	  Merge with NetBSD make, pick up
2282	  o major overhaul of suffix handling
2283	  o improved POSIX compliance
2284	  o overhauled unit-tests
2285
22862014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2287
2288	* Makefile (MAKE_VERSION): 20140620
2289	  Merge with NetBSD make, pick up
2290	  o var.c return varNoError rather than var_Error for ::= modifiers.
2291
22922014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2293
2294	* Makefile (MAKE_VERSION): 20140522
2295	  Merge with NetBSD make, pick up
2296	  o var.c detect some parse errors.
2297
22982014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2299
2300	* Fix spelling errors - patch from Pedro Giffuni
2301
23022014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2303
2304	* Makefile (MAKE_VERSION): 20140214
2305	  Merge with NetBSD make, pick up
2306	  o .INCLUDEFROM*
2307	  o use Var_Value to get MAKEOBJDIR[PREFIX]
2308	  o reduced realloc'ign in brk_string.
2309	* configure.in: add a check for compiler supporting __func__
2310
23112014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2312
2313	* boot-strap: ignore mksrc=none
2314
23152014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2316
2317	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
2318
23192014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2320
2321	* Makefile (MAKE_VERSION): 20140101
2322	* configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
2323	* Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
2324	* make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
2325	  Hurd)
2326	* configure.in: Add AC_PREREQ and check for
2327	  sysctl; patch from Andrew Shadura andrewsh at debian.org
2328
23292013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2330
2331	* Makefile (MAKE_VERSION): 20131010
2332	* lose the const from arg to systcl to avoid problems on older BSDs.
2333
23342013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2335
2336	* Makefile (MAKE_VERSION): 20131001
2337	  Merge with NetBSD make, pick up
2338	  o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
2339	    hw.machine_arch if necessary.
2340	  o meta.c: meta_oodate - need to look at src of Link and target
2341	    of Move as well.
2342	* main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
2343	  provide __arraycount() if needed.
2344
23452013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2346
2347	* Makefile (MAKE_VERSION): 20130904
2348	  Merge with NetBSD make, pick up
2349	  o Add VAR_INTERNAL context, so that internal setting of
2350	    MAKEFILE does not override value set by makefiles.
2351
23522013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2353
2354	* Makefile (MAKE_VERSION): 20130902
2355	  Merge with NetBSD make, pick up
2356	  o CompatRunCommand: only apply shellErrFlag when errCheck is true
2357
23582013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2359
2360	* Makefile (MAKE_VERSION): 20130828
2361	  Merge with NetBSD make, pick up
2362	  o Fix VAR :sh = syntax from Will Andrews at freebsd.org
2363	  o Call Job_SetPrefix() from Job_Init() so makefiles have
2364	    opportunity to set .MAKE.JOB.PREFIX
2365
23662013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2367
2368	* Makefile (MAKE_VERSION): 20130730
2369	  Merge with NetBSD make, pick up
2370	  o Allow suppression of --- job -- tokens by setting
2371	    .MAKE.JOB.PREFIX empty.
2372
23732013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2374
2375	* Makefile (MAKE_VERSION): 20130716
2376	  Merge with NetBSD make, pick up
2377	  o number of gmake compatibility tweaks
2378	    -w for gmake style entering/leaving messages
2379	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
2380	    handle MAKEFLAGS containing only letters.
2381	  o when overriding a GLOBAL variable on the command line,
2382	    delete it from GLOBAL context so -V doesn't show the wrong
2383	    value.
2384
23852013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2386
2387	* configure.in: We don't need MAKE_LEVEL_SAFE anymore.
2388
2389	* Makefile (MAKE_VERSION): 20130706
2390	  Merge with NetBSD make, pick up
2391	  o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
2392	    true so that CompatRunCommand() can use it, to ensure
2393	    consistent behavior with jobs mode.
2394	  o use MAKE_LEVEL_ENV to define the variable to propagate
2395	    .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
2396	  o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
2397	    paths to ignore.
2398
23992013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2400
2401	* Makefile (MAKE_VERSION): 20130604
2402	  Merge with NetBSD make, pick up
2403	  o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
2404	    to avoid leaking descriptors.
2405
24062013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2407
2408	* Makefile (MAKE_VERSION): 20130528
2409	  Merge with NetBSD make, pick up
2410	  o var.c: cleanup some left-overs in VarHash()
2411
24122013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2413
2414	* Makefile (MAKE_VERSION): 20130520
2415	  generate manifest from component FILES rather than have to
2416	  update FILES when mk/FILES changes.
2417
24182013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2419
2420	* Makefile (MAKE_VERSION): 20130518
2421	  Merge with NetBSD make, pick up
2422	  o suff.c: don't skip all processsing for .PHONY targets
2423	    else wildcard srcs do not get expanded.
2424	  o var.c: expand name of variable to delete if necessary.
2425
24262013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2427
2428	* Makefile (MAKE_VERSION): 20130330
2429	  Merge with NetBSD make, pick up
2430	  o meta.c: refine the handling of .OODATE in commands.
2431	    Rather than suppress command comparison for the entire script
2432	    as though .NOMETA_CMP had been used, only suppress it for the
2433	    one command line.
2434	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
2435	    suppress comparison of a command without otherwise affecting it.
2436	  o make.1: document that
2437
24382013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2439
2440	* Makefile (MAKE_VERSION): 20130321
2441	  yes, not quite right but its a cooler number.
2442	  Merge with NetBSD make, pick up
2443	  o parse.c: fix ParseGmakeExport to be portable
2444	    and add a unit-test.
2445	* meta.c: call meta_init() before makefiles are read and if built
2446	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
2447	  this let's makefiles test for support.
2448	  Call meta_mode_init() to process .MAKE.MODE.
2449
24502013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2451
2452	* Makefile (MAKE_VERSION): 20130305
2453	  Merge with NetBSD make, pick up
2454	  o run .STALE: target when a dependency from .depend is missing.
2455	  o job.c: add Job_RunTarget() for the above and .BEGIN
2456
24572013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2458
2459	* Makefile (MAKE_VERSION): 20130303
2460	  Merge with NetBSD make, pick up
2461	  o main.c: set .MAKE.OS to utsname.sysname
2462	  o job.c: more checks for read and poll errors
2463	  o var.c: lose VarChangeCase() saves 4% time
2464
24652013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2466
2467	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
2468	  want to use MAKEOBJDIR
2469
24702013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
2471
2472	* Merge with NetBSD make, pick up
2473	  o make.1: more info on how shell commands are handled.
2474	  o job.c,main.c: detect write errors to job pipes.
2475
24762013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2477
2478	* Makefile (MAKE_VERSION): 20130123
2479	  Merge with NetBSD make, pick up
2480	  o meta.c: if script uses .OODATE and meta_oodate() decides
2481	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
2482	  o var.c: in debug output indicate which variabale modifiers
2483	    apply to.
2484	  o remove Check_Cwd logic the makefiles have been fixed.
2485
24862012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2487
2488	* makefile.in: add a simple makefile for folk who insist on
2489	  ./configure; make; make install
2490	  it just runs boot-strap
2491	* include mk/* to accommodate the above
2492	* boot-strap:  re-work to accommodate the above
2493	  mksrc defaults to $Mydir/mk
2494	  allow op={configure,build,install,clean,all}
2495	  add options to facilitate install
2496	* Makefile.config.in: just the bits set by configure
2497	* Makefile: bump version to 20121212
2498	  abandon Makefile.in (NetBSD Makefile)
2499	  leverage mk/* instead
2500	* configure.in: ensure srcdir is absolute
2501
25022012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2503
2504	* Makefile.in (MAKE_VERSION): 20121111
2505	  fix generation of bmake.cat1
2506
25072012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2508
2509	* Makefile.in (MAKE_VERSION): 20121109
2510	  Merge with NetBSD make, pick up
2511	  o make.c: MakeBuildChild: return 0 so search continues if a
2512	    .ORDER dependency is detected.
2513	  o unit-tests/order: test the above
2514
25152012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2516
2517	* Makefile.in (MAKE_VERSION): 20121102
2518	  Merge with NetBSD make, pick up
2519	  o cond.c: allow cond_state[] to grow.
2520	    In meta mode with a very large tree, we can hit the limit
2521	    while processing dirdeps.
2522
25232012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2524
2525	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
2526
25272012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2528
2529	* Makefile.in (MAKE_VERSION): 20121010
2530	  o protect syntax that only bmake parses correctly.
2531	  o remove auto setting of FORCE_MACHINE, use configure's
2532	    --with-force-machine=whatever if that is desired.
2533
25342012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2535
2536	* Makefile.in: do not lose history from make.1 when generating bmake.1
2537
25382012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2539
2540	* Makefile.in (MAKE_VERSION): 20121007
2541	  Merge with NetBSD make, pick up
2542	  o compat.c: ignore empty commands - same as jobs mode.
2543	  o make.1: document meta chars that cause use of shell
2544
25452012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2546
2547	* Makefile.in (MAKE_VERSION): bump version to 20120911
2548	* bsd.after-import.mk: include Makefile.inc early and allow it to
2549	  override PROG
2550
25512012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
2552
2553	* Makefile.in (MAKE_VERSION): bump version to 20120831
2554	  Merge with NetBSD make, pick up
2555	  o cast sizeof() to int for comparison
2556	  o minor make.1 tweak
2557
25582012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2559
2560	* Makefile.in (MAKE_VERSION): bump version to 20120830
2561	  Merge with NetBSD make, pick up
2562	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
2563	  o debug flag -dV causes -V to show raw value regardless.
2564
25652012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2566
2567	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
2568	  gets SRCTOP set.
2569
25702012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2571
2572	* Makefile.in (MAKE_VERSION): bump version to 20120704
2573	  Merge with NetBSD make, pick up
2574	  o Job_ParseShell should call Shell_Init if it has been
2575	    previously called.
2576	* Makefile.in: set USE_META based on configure result.
2577	  also .PARSEDIR is safer indicator of bmake.
2578
25792012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2580
2581	* Makefile.in: bump version to 20120626
2582	  ensure CPPFLAGS is in CFLAGS
2583	* meta.c: avoid nested externs
2584	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
2585
25862012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2587
2588	* Makefile.in (MAKE_VERSION): bump version to 20120620
2589	  Merge with NetBSD make, pick up
2590	  o make_malloc.c: avoid including make_malloc.h again
2591
2592	* Makefile.in: avoid bmake only syntax or protect with
2593	  .if defined(.MAKE.LEVEL)
2594	* bsd.after-import.mk: replace .-include with .sinclude
2595	  ensure? SRCTOP gets a value
2596	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
2597
25982012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2599
2600	* Makefile.in (MAKE_VERSION): bump version to 20120612
2601	  Merge with NetBSD make, pick up
2602	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
2603	    for greater portability.
2604	  o unit-tests/forloop: check that .for works as expected wrt
2605	    number of times and with "quoted strings".
2606
26072012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2608
2609	* Makefile.in (MAKE_VERSION): bump version to 20120606
2610	  Merge with NetBSD make, pick up
2611	  o compat.c: use kill(2) rather than raise(3).
2612	* configure.in: look for sys/dev/filemon
2613	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
2614	  and pass BOOTSTRAP_XTRAS to boot-strap.
2615
26162012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2617
2618	* Makefile.in (MAKE_VERSION): bump version to 20120604
2619	  Merge with NetBSD make, pick up
2620	  o util.c and var.c share same var for tracking if environ
2621	    has been reallocated.
2622	  o util.c provide getenv with setenv.
2623	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
2624	  when the shell actively strips .MAKE.* from the environment.
2625	  We still refer to the variable always as .MAKE.LEVEL
2626	* util.c fix bug in findenv() was finding prefix of name.
2627	* compat.c: re-raising SIGINT etc after running .INTERRUPT
2628	  results in more reliable termination of all activity on many
2629	  platforms.
2630
26312012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2632
2633	* Makefile.in (MAKE_VERSION): bump version to 20120602
2634	  Merge with NetBSD make, pick up
2635	  o for.c: handle quoted items in .for list
2636
26372012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2638
2639	* Makefile.in (MAKE_VERSION): bump version to 20120530
2640	  Merge with NetBSD make, pick up
2641	  o compat.c: ignore empty command.
2642
26432012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2644
2645	* Makefile.in (MAKE_VERSION): bump version to 20120524
2646	* FILES: add bsd.after-import.mk:
2647	  A simple means of integrating bmake into a BSD build system.
2648
26492012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2650
2651	* Makefile.in (MAKE_VERSION): bump version to 20120520
2652	  Merge with NetBSD make, pick up
2653	  o increased limit for nested conditionals.
2654
26552012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2656
2657	* Makefile.in (MAKE_VERSION): bump version to 20120518
2658	  Merge with NetBSD make, pick up
2659	  o use _exit(2) in signal hanlder
2660	  o Don't use the [dir] cache when building nodes that might have
2661	    changed since the last exec.
2662	  o Avoid nested extern declaration warnings.
2663
26642012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
2665
2666	* meta.c (fgetLine): avoid %z - not portable.
2667	* parse.c: Since we moved include of sys/mman.h
2668	  and def's of MAP_COPY etc. we got dups from a merge.
2669
26702012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2671
2672	* Makefile.in (MAKE_VERSION): bump version to 20120420
2673	  Merge with NetBSD make, pick up
2674	  o restore duplicate supression in .MAKE.MAKEFILES
2675	    runtime saving can be significant.
2676	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
2677	    consumption up to 20%.
2678
26792012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2680
2681	* Makefile.in (MAKE_VERSION): bump version to 20120420
2682          Merge with NetBSD make, pick up
2683	  o remove duplicate supression in .MAKE.MAKEFILES
2684	  o improved dir cache behavior
2685	  o gmake'ish export command
2686
26872012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2688
2689	* Makefile.in (MAKE_VERSION): bump version to 20120325
2690	  Merge with NetBSD make, pick up
2691	  o fix parsing of :[#] in conditionals.
2692
26932012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2694
2695	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
2696	  since some systems cannot cope with .Nx <version>
2697
26982011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2699
2700	* Makefile.in (MAKE_VERSION): bump version to 20111111
2701	  Merge with NetBSD make, pick up
2702	  o debug output for .PARSEDIR and .PARSEFILE
2703
27042011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2705
2706	* Makefile.in (MAKE_VERSION):  bump version to 20111010
2707
27082011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2709
2710	* boot-strap: check for an expected file in the dirs we look for.
2711	* make-bootstrap.sh: pass on LDSTATIC
2712
27132011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2714
2715	* Makefile.in (MAKE_VERSION): bump version to 20111001
2716	  Merge with NetBSD make, pick up
2717	  o ensure .PREFIX is set for .PHONY
2718	    and .TARGET set for .PHONY run via .END
2719	  o __dead used consistently
2720
27212011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2722
2723	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
2724
27252011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2726
2727	* Makefile.in (MAKE_VERSION): bump version to 20110905
2728	  Merge with NetBSD make, pick up
2729	  o meta_oodate: ignore makeDependfile
2730
27312011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2732
2733	* Makefile.in (MAKE_VERSION): bump version to 20110828
2734	  Merge with NetBSD make, pick up
2735	  o silent=yes in .MAKE.MODE causes meta mode to mark targets
2736	    as SILENT if a .meta file is created
2737
27382011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2739
2740	* Makefile.in (MAKE_VERSION): bump version to 20110818
2741	  Merge with NetBSD make, pick up
2742	  o in meta mode, if target flagged .META a missing .meta file
2743	    means target is out-of-date
2744	  o fixes for gcc 4.5 warnings
2745	  o simplify job printing code
2746
27472011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2748
2749	* Makefile.in (MAKE_VERSION): bump version to 20110808
2750	  Merge with NetBSD make, pick up
2751	  o do not touch OP_SPECIAL targets when doing make -t
2752
27532011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2754
2755	* Makefile.in (MAKE_VERSION): bump version to 20110622
2756	  Merge with NetBSD make, pick up
2757	  o meta_oodate detect corrupted .meta file and declare oodate.
2758	* configure.in: add check for setsid
2759
27602011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2761
2762	* Merge with NetBSD make, pick up
2763	  o unit-tests/modts now works on MirBSD
2764
27652011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2766
2767	* Makefile.in (MAKE_VERSION): bump version to 20110606
2768	  Merge with NetBSD make, pick up
2769	  o ApplyModifiers: when we parse a variable which is not
2770	    the entire modifier string, or not followed by ':', do not
2771	    consider it as containing modifiers.
2772	  o loadfile: ensure newline at end of mapped file.
2773
27742011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2775
2776	* Makefile.in (MAKE_VERSION): bump version to 20110505
2777	  Merge with NetBSD make, pick up
2778	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
2779	    of make's control.  In meta mode, any generated file within
2780	    said bailiwick, which  is found to be missing, causes current
2781	    target to be out-of-date.
2782
27832011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2784
2785	* Makefile.in (MAKE_VERSION): bump version to 20110411
2786	  Merge with NetBSD make, pick up
2787	  o when long modifiers fail to match, check sysV style.
2788	    - add a test case
2789
27902011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2791
2792	* Makefile.in (MAKE_VERSION): bump version to 20110410
2793	  Merge with NetBSD make, pick up
2794	  o :hash - cheap 32bit hash of value
2795	  o :localtime, :gmtime - use value as format string for strftime.
2796
27972011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2798
2799	* Makefile.in (MAKE_VERSION): bump version to 20110330
2800	  mostly because its a cooler version.
2801	  Merge with NetBSD make, pick up
2802	  o NetBSD tags for meta.[ch]
2803	  o job.c call meta_job_finish() after meta_job_error().
2804	  o meta_job_error() should call meta_job_finish() to ensure
2805	    .meta file is closed, and safe to copy - if .ERROR target wants.
2806	   meta_job_finish() is safe to call repeatedly.
2807
28082011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
2809
2810	* unit-tests/modts: use printf if it is a builtin,
2811	  to save us from MirBSD
2812
2813	* Makefile.in (MAKE_VERSION): bump version to 20110329
2814	  Merge with NetBSD make, pick up
2815	  o fix for use after free() in CondDoExists().
2816	  o meta_oodate() report extra commands and return earlier.
2817
28182011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
2819
2820	* Makefile.in (MAKE_VERSION): bump version to 20110327
2821	  Merge with NetBSD make, pick up
2822	  o meta.c, if .MAKE.MODE contains curdirOk=yes
2823	    allow creating .meta files in .CURDIR
2824	* boot-strap (TOOL_DIFF): aparently at least on linux distro
2825	  formats the output of 'type' differently - so eat any "()"
2826
28272011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2828
2829	* Makefile.in (MAKE_VERSION): bump version to 20110306
2830	  Merge with NetBSD make, pick up
2831	  o meta.c, only do getcwd() once
2832
28332011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2834
2835	* Makefile.in (MAKE_VERSION): bump version to 20110305
2836	  Merge with NetBSD make, pick up
2837	  o correct sysV substitution handling of empty lhs and variable
2838	  o correct exists() check for dir with trailing /
2839	  o correct handling of modifiers for non-existant variables
2840	    during evaluation of conditionals.
2841	  o ensure MAP_FILE is defined.
2842	  o meta.c use curdir[] now exported by main.c
2843
28442011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2845
2846	* Makefile.in (MAKE_VERSION): bump version to 20110225
2847	  Merge with NetBSD make, pick up
2848	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
2849	    makefiles have been read.
2850	  o fix example of :? modifier in man page.
2851
28522011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2853
2854	* Makefile.in (MAKE_VERSION): bump version to 20110214
2855	  Merge with NetBSD make, pick up
2856	  o meta.c handle realpath() failing when generating meta file
2857	    name.
2858
2859	* sigcompat.c: convert to ansi so we can use higher warning levels.
2860
2861
28622011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2863
2864	* Makefile.in (MAKE_VERSION): bump version to 20110207
2865	  Merge with NetBSD make, pick up
2866	  o fix for bug in meta mode.
2867
28682011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2869
2870	* parse.c: SunOS 5.8 at least does not have MAP_FILE
2871
28722011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2873
2874	* Makefile.in (MAKE_VERSION): bump version to 20110101
2875	  Merge with NetBSD make, pick up
2876	  o use mmap(2) if available, for reading makefiles
2877
28782010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2879
2880	* Makefile.in (MAKE_VERSION): bump version to 20101215
2881	  Merge with NetBSD make, pick up
2882	  o ensure meta_job_error() does not report a previous .meta file
2883	    as being culprit.
2884
28852010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2886
2887	* Makefile.in (MAKE_VERSION): bump version to 20101210
2888	  Merge with NetBSD make, pick up
2889	  o meta_oodate: track cwd per process, and only consider target
2890	    out-of-date if missing file is outside make's CWD.
2891	    Ignore files in /tmp/ etc.
2892	  o to ensure unit-tests results match, need to control LC_ALL
2893	    as well as LANG.
2894	  o fix for parsing bug in var.c
2895
28962010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2897
2898	* Makefile.in (MAKE_VERSION): bump version to 20101126
2899	  Merge with NetBSD make, pick up
2900	  o if stale dependency is an IMPSRC, search via .PATH
2901	  o meta_oodate: if a referenced file is missing, target is
2902	    out-of-date.
2903	  o meta_oodate: if a target uses .OODATE in its commands,
2904	    it (.OODATE) needs to be recomputed.
2905	  o keep a pointer to youngest child node, rather than just its
2906	    mtime.
2907
29082010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2909
2910	* Makefile.in (MAKE_VERSION): bump version to 20101101
2911
29122010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2913
2914	* machine.sh: like os.sh,
2915	allow for uname -p producing useless drivel
2916
29172010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2918
2919	* boot-strap: document configure knobs for meta and filemon.
2920
2921	* Makefile.in (MAKE_VERSION): bump version to 20100911
2922	  Merge with NetBSD make, pick up
2923	  o meta.c - meta mode
2924
2925	* make-bootstrap.sh.in: handle meta.c
2926	* configure.in: add knobs for use_meta and filemon_h
2927	  also, look for dirname, str[e]sep and strlcpy
2928	* util.c: add simple err[x] and warn[x]
2929
29302010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2931
2932	* boot-strap (TOOL_DIFF): set this to ensure tests use
2933	  the same version of diff that configure tested
2934
2935	* Makefile.in (MAKE_VERSION): bump version to 20100808
2936	  Merge with NetBSD make, pick up
2937	  o in jobs mode, when we discover we cannot make something,
2938	    call PrintOnError before exit.
2939
29402010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2941
2942	* Makefile.in (MAKE_VERSION): bump version to 20100806
2943	  Merge with NetBSD make, pick up
2944	  o formatting fixes for ignored errors
2945	  o ensure jobs are cleaned up regardless of where wait() was called.
2946
29472010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2948
2949	* Makefile.in (MAKE_VERSION): bump version to 20100618
2950	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
2951
29522010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2953
2954	* Makefile.in (MAKE_VERSION): bump version to 20100616
2955	  Merge with NetBSD make, pick up
2956	  o man page update
2957	  o call PrintOnError from JobFinish when we detect an error we
2958	    are not ignoring.
2959
29602010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2961
2962	* Makefile.in (MAKE_VERSION): bump version to 20100606
2963	  Merge with NetBSD make, pick up
2964	  o man page update
2965
29662010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2967
2968	* Makefile.in (MAKE_VERSION): bump version to 20100605
2969	  Merge with NetBSD make, pick up
2970	  o use bmake_signal() which is a wrapper around sigaction()
2971	    in place of signal()
2972	  o add .export-env to allow exporting variables to environment
2973	    without tracking (so no re-export when the internal value is
2974	    changed).
2975
29762010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2977
2978	* Makefile.in (MAKE_VERSION): bump version to 20100524
2979	  Merge with NetBSD make, pick up
2980	  o fix for .info et al being greedy.
2981
29822010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
2983
2984	* Makefile.in (MAKE_VERSION): bump version to 20100520
2985	  Merge with NetBSD make, pick up
2986	  o back to using realpath on argv[0]
2987	    but only if contains '/' and does not start with '/'.
2988
29892010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2990
2991	* boot-strap: use absolute path for bmake when running tests.
2992
2993	* Makefile.in (MAKE_VERSION):  bump version to 20100510
2994	  Merge with NetBSD make, pick up
2995	  o revert use of realpath on argv[0]
2996	    too many corner cases.
2997	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
2998
29992010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3000
3001	* Makefile.in (MAKE_VERSION): bump version to 20100505
3002	  Merge with NetBSD make, pick up
3003	  o fix for missed SIGCHLD when compiled with SunPRO
3004	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
3005	    done the job.
3006
30072010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3008
3009	* Makefile.in (MAKE_VERSION): bump version to 20100430
3010	  Merge with NetBSD make, pick up
3011	  o fflush stdout before writing to stdout
3012
30132010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
3014
3015	* Makefile.in (MAKE_VERSION): bump version to 20100423
3016	  Merge with NetBSD make, pick up
3017	  o updated unit tests for Haiku (this time for sure).
3018	* boot-strap: based on patch from joerg
3019	  honor --with-default-sys-path better.
3020	* boot-strap: remove mention of --with-prefix-sys-path
3021
30222010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3023
3024	* Makefile.in (MAKE_VERSION): bump version to 20100422
3025	* Merge with NetBSD make, pick up
3026	  o fix for vfork() on Darwin.
3027	  o fix for bogus $TMPDIR.
3028	  o set .MAKE.MODE=compat for -B
3029	  o set .MAKE.JOBS=max_jobs for -j max_jobs
3030	  o allow unit-tests to run without any *.mk
3031	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
3032	* boot-strap: ignore /usr/share/mk except on NetBSD.
3033	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
3034	  ensure sort(1) behaves as expected.
3035
30362010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
3037
3038	* boot-strap: add FindHereOrAbove so we can use -m .../mk
3039
30402010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3041
3042	* Makefile.in (MAKE_VERSION): bump version to 20100420
3043	* Merge with NetBSD make, pick up
3044	  o fix for variable realpath() behavior.
3045	    we have to stat(2) the result to be sure.
3046	  o fix for .export (all) when nested vars use :sh
3047
30482010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
3049
3050	* Makefile.in (MAKE_VERSION): bump version to 20100414
3051	* Merge with NetBSD make, pick up
3052	  o use realpath to resolve argv[0] (for .MAKE) if needed.
3053	  o add realpath from libc.
3054	  o add :tA to resolve variable via realpath(3) if possible.
3055
30562010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
3057
3058	* Makefile.in (MAKE_VERSION): bump version to 20100408
3059	* Merge with NetBSD make, pick up
3060	  o unit tests for .ERROR, .error
3061	  o fix for .ERROR to ensure it cannot be default target.
3062
30632010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3064
3065	* Makefile.in (MAKE_VERSION): bump version to 20100406
3066	* Merge with NetBSD make, pick up
3067	  o fix for compat mode "Error code" going to debug_file.
3068	  o fix for .ALLSRC being populated twice.
3069	  o support for .info, .warning and .error directives
3070	  o .MAKE.MODE to control make's operational mode
3071	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
3072	    name(s).
3073	  o .MAKE.DEPENDFILE to control the name of the depend file
3074	  o .ERROR target - run on failure.
3075
30762010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3077
3078	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
3079
3080	* os.sh,arch.c: patch for Haiku from joerg at netbsd
3081
30822010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
3083
3084	* Makefile.in (MAKE_VERSION): bump version to 20100222
3085	* Merge with NetBSD make, pick up
3086	  o better error msg for .for with mutiple inter vars
3087
3088	* boot-strap:
3089	  o use make-bootstrap.sh from joerg at netbsd
3090	    to avoid the need for a native make when bootstrapping.
3091	  o add "" everywhere ;-)
3092	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
3093	    otherwise the pre-formated version.
3094
30952010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3096
3097	* Makefile.in (MAKE_VERSION): bump version to 20100102
3098	* Merge with NetBSD make, pick up:
3099	  o fix for -m .../
3100
31012009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
3102
3103	* Makefile.in (MAKE_VERSION): bump version to 20091118
3104	* Merge with NetBSD make, pick up:
3105	  o .unexport
3106	  o report lines that start with '.' and should have ':'
3107	    (catch typo's of .el*if).
3108
31092009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
3110
3111	* configure.in: Ensure that srcdir and mksrc are absolute paths.
3112
31132009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
3114
3115	* Makefile.in (MAKE_VERSION): fix version to 20091007
3116
31172009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
3118
3119	* Makefile.in (MAKE_VERSION): bump version to 200910007
3120	* Merge with NetBSD make, pick up:
3121	  o fix for parsing of :S;...;...; applied to .for loop iterator
3122	    appearing in a dependency line.
3123
31242009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
3125
3126	* Makefile.in (MAKE_VERSION): bump version to 20090909
3127	* Merge with NetBSD make, pick up:
3128	  o fix for -C, .CURDIR and .OBJDIR
3129	* boot-strap:
3130	  o allow share_dir to be set independent of prefix.
3131	  o select default share_dir better when prefix ends in $HOST_TARGET
3132	  o if FORCE_BSD_MK etc were set, include them in the suggested
3133	    install-mk command.
3134
31352009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
3136
3137	* Makefile.in (MAKE_VERSION): bump version to 20090908
3138	* Merge with NetBSD make, pick up:
3139	  o .MAKE.LEVEL for recursion tracking
3140	  o fix for :M scanning \:
3141
31422009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
3143
3144	* configure.in: Don't -D__EXTENSIONS__ if
3145	AC_USE_SYSTEM_EXTENSIONS says "no".
3146
31472009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
3148
3149	* Makefile.in (MAKE_VERSION): bump version to 20090826
3150	Simplify MAKE_VERSION to just the bare date.
3151	* Merge with NetBSD make, pick up:
3152	  o -C directory support.
3153	  o support for SIGINFO
3154	  o use $TMPDIR for temp files.
3155	  o child of vfork should be careful about modifying parent's state.
3156
3157
31582009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
3159
3160	* Appy some patches for MiNT from David Brownlee
3161
31622009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
3163
3164	* Makefile.in (BMAKE_VERSION): bump version to 20090222
3165	* Merge with NetBSD make, pick up:
3166	  o Possible null pointer de-ref in Var_Set.
3167
31682009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
3169
3170	* Makefile.in (BMAKE_VERSION): bump version to 20090204
3171	* Merge with NetBSD make, pick up:
3172	  o bmake_malloc et al moved to their own .c
3173	  o Count both () and {} when looking for the end of a :M pattern
3174	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
3175	  o strlist.c - functions for processing extendable arrays of pointers to strings.
3176	  o ClientData replaced with void *, so const void * can be used.
3177	  o New debug flag C for DEBUG_CWD
3178
31792008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
3180
3181	* Makefile.in (BMAKE_VERSION): bump version to 20081111
3182	  Apply patch from Joerg Sonnenberge to
3183	  configure.in:
3184	  o remove some redundant checks
3185	  o check for emlloc etc only in libutil and require the whole family.
3186	  util.c:
3187	  o remove [v]asprintf which is no longer used.
3188
31892008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
3190
3191	* Makefile.in (BMAKE_VERSION): bump version to 20081101
3192	* Merge with NetBSD make, pick up:
3193	  o util.c: avoid use of putenv() - christos
3194
31952008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
3196
3197	* Makefile.in (BMAKE_VERSION): bump version to 20081030
3198	  pick up man page tweaks.
3199
32002008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
3201
3202	* Makefile.in: move processing of LIBOBJS to after is definition!
3203	  thus we'll have getenv.c in SRCS only if needed.
3204
3205	* make.1: add examples of how to use :?
3206
3207	* Makefile.in (BMAKE_VERSION): bump version to 20081029
3208	* Merge with NetBSD make, pick up:
3209	  o fix for .END processing with -j
3210	  o segfault from Parse_Error when no makefile is open
3211	  o handle numeric expressions in any variable expansion
3212	  o debug output now defaults to stderr, -dF to change it - apb
3213	  o make now uses bmake_malloc etc so that it can build natively
3214	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
3215
32162008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
3217
3218	* Makefile.in (BMAKE_VERSION): bump version to 20080808
3219	* Merge with NetBSD make, pick up:
3220	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
3221	    long lines in Makefiles
3222	  o optimizations for VarQuote by joerg
3223	  o fix for PR/38756: dominik: make dumps core on invalid makefile
3224
32252008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
3226
3227	* Makefile.in (BMAKE_VERSION): bump version to 20080515
3228	* Merge with NetBSD make, pick up:
3229	  o fix skip setting vars in VAR_GLOBAL context, to handle
3230	    cases where VAR_CMD is used for other than command line vars.
3231
32322008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
3233
3234	* boot-strap (make_version): we may need to look in
3235	$prefix/share/mk for sys.mk
3236
3237	* Makefile.in (BMAKE_VERSION): bump version to 20080514
3238	* Merge with NetBSD make, pick up:
3239	  o skip setting vars in VAR_GLOBAL context, when already set in
3240	  VAR_CMD which takes precedence.
3241
32422008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
3243
3244	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
3245	* Merge with NetBSD make, pick up:
3246	  o fix for ?= when LHS contains variable reference.
3247
32482008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
3249
3250	* merge some patches from NetBSD pkgsrc.
3251
3252	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
3253	the MAKSYSPATH used during bootstrap.
3254
3255	* Makefile.in (BMAKE_VERSION): bump version to 20080215
3256	* Merge with NetBSD make, pick up:
3257	  o warn if non-space chars follow 'empty' in a conditional.
3258
32592008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
3260
3261	* Makefile.in (BMAKE_VERSION): bump version to 20080118
3262	* Merge with NetBSD make, pick up:
3263	  o consider dependencies read from .depend as optional - dsl
3264	  o remember when buffer for reading makefile grows - dsl
3265	  o add -dl (aka LOUD) - David O'Brien
3266
32672007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
3268
3269	* Makefile.in (BMAKE_VERSION): bump version to 20071022
3270	* Merge with NetBSD make, pick up:
3271	  o Allow .PATH<suffix> to be used for .include ""
3272
3273	* boot-strap: source default settings from .bmake-boot-strap.rc
3274
32752007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
3276
3277	* Makefile.in: fix maninstall on various systems
3278	  provided that our man.mk is used.
3279	  For non-BSD systems we install the preformatted page
3280	  into $MANDIR/cat1
3281
32822007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
3283
3284	* boot-strap: make bmake.1 too, so maninstall works.
3285
32862007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
3287
3288	* Makefile.in (BMAKE_VERSION): bump version to 20071014
3289	* Merge with NetBSD make, pick up:
3290	  o revamped handling of defshell - configure no longer needs to
3291	    know the content of the shells array - apb
3292	  o stop Var_Subst modifying its input - apb
3293	  o avoid calling ParseTrackInput too often - dsl
3294
32952007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
3296
3297	* Makefile.in (BMAKE_VERSION): bump version to 20071011
3298	* Merge with NetBSD make, pick up:
3299	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
3300
3301	* sigcompat.c: some tweaks for HP-UX 11.x based on
3302	  patch from Tobias Nygren
3303
3304	* configure.in: update handling of --with-defshell to match
3305	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
3306	  will now do what one might hope - provided the chosen shell
3307	  behaves enough like sh.
3308
33092007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
3310
3311	* Makefile.in (BMAKE_VERSION): bump to 20071008
3312	* Merge with NetBSD make, pick up:
3313	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
3314	  o .export/.MAKE.EXPORTED - export of variables - sjg
3315	  o .MAKE.MAKEFILES - track all makefiles read - sjg
3316	  o performance improvements - dsl
3317	  o revamp parallel job scheduling - dsl
3318
33192006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
3320
3321	* Makefile.in (BMAKE_VERSION): bump to 20060728
3322	* Merge with NetBSD make, pick up:
3323	  o extra debug info during variable and cond processing - sjg
3324	  o shell definition now covers newline - rillig
3325	  o minor mem leak in PrintOnError - sjg
3326
33272006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
3328
3329	* Makefile.in (BMAKE_VERSION):  bump to 20060511
3330	* Merge with NetBSD make, pick up:
3331	  o more memory leaks - coverity
3332	  o possible overflow in ArchFindMember - coverity
3333	  o extract variable modifier code out of Var_Parse()
3334	    so it can be called recursively - sjg
3335	  o unit-tests/moderrs - sjg
3336
33372006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
3338
3339	* Makefile.in (BMAKE_VERSION): bump to 20060412
3340	* Merge with NetBSD make, pick up:
3341	  o fixes for some memory leaks - coverity
3342	  o only read first sys.mk etc when searching sysIncPath - sjg
3343
3344	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
3345	setting ${MAKEFILE} - OBATA Akio
3346
33472006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
3348
3349	* Makefile.in (BMAKE_VERSION): bump to 20060318
3350	* Merge with NetBSD make, pick up:
3351	  o cleanup of job.c to remove remote handling, distcc is more
3352	    useful and this code was likely bit-rotting - dsl
3353	  o fix for :P modifier - sjg
3354	* boot-strap: set default prefix to something reasonable
3355	  (for me anyway).
3356
33572006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
3358
3359	* Makefile.in (BMAKE_VERSION): bump to 20060301
3360	* Merge with NetBSD make, pick up:
3361	  o make .WAIT apply recursively, document and test case - apb
3362	  o allow variable modifiers in a variable appear anywhere in
3363	    modifier list, document and test case - sjg
3364
33652006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
3366
3367	* Makefile.in (BMAKE_VERSION): bump to 20060222
3368	* Merge with NetBSD make, pick up:
3369	  o improved job token handling - dsl
3370	  o SIG_DFL the correct signal before exec - dsl
3371	  o more debug info during parsing - dsl
3372	  o allow variable modifiers to be specified via variable - sjg
3373	* boot-strap: explain why we died if no mksrc
3374
33752005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
3376
3377	* Makefile.in (BMAKE_VERSION): bump to 20051105
3378	* configure.in: always set default_sys_path
3379	  default is ${prefix}/share/mk
3380	  - remove prefix_sys_path, anyone wanting more than above
3381	    needs to set it manually.
3382
33832005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
3384
3385	* boot-strap: make this a bit easier for pkgsrc folk.
3386	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
3387	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
3388
33892005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
3390
3391	* Makefile.in (BMAKE_VERSION): bump to 20051102
3392	* job.c (JobFinish): fix likely ancient merge lossage
3393	fix from Todd Vierling.
3394	* boot-strap (srcdir): allow setting mksrc=none
3395
33962005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
3397
3398	* Makefile.in (BMAKE_VERSION): bump to 20051031
3399	* ranlib.h: skip on OSF too.
3400	  (NetBSD PR 31864)
3401
34022005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
3403
3404	* Makefile.in (BMAKE_VERSION): bump to 20051002
3405	  fix a silly typo
3406
34072005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
3408
3409	* Makefile.in (BMAKE_VERSION): bump to 20051001
3410	  support for UnixWare and some other systems,
3411	  based on patches from pkgsrc/bootstrap
3412
34132005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
3414
3415	* Makefile.in (BMAKE_VERSION): bump to 20050901
3416	* Merge with NetBSD make, pick up:
3417	  o possible parse error causing us to wander off.
3418
34192005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
3420
3421	* Makefile.in (BMAKE_VERSION): bump to 20050606
3422	* Merge with NetBSD make, pick up:
3423	  o :0x modifier for randomizing a list
3424	  o fixes for a number of -Wuninitialized issues.
3425
34262005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
3427
3428	* Makefile.in (BMAKE_VERSION): bump to 20050530
3429	* Merge with NetBSD make, pick up:
3430	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
3431
3432	* README: was seriously out of date.
3433
34342005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
3435
3436	* Important to use .MAKE rather than MAKE.
3437
34382005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
3439
3440	* Makefile.in (BMAKE_VERSION): bump to 20050315
3441	* Merge with NetBSD make, pick up:
3442	  o don't mistake .elsefoo for .else
3443	  o use suffix-specific search path correctly
3444	  o bunch of style nits
3445
34462004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
3447
3448	* boot-strap:
3449	o ensure that args to --src and --with-mksrc
3450	  are resolved before giving them to configure.
3451	o add -o "objdir" so that builder can control it,
3452	  default is $OS as determined by os.sh
3453	o add -q to suppress all the install instructions.
3454
34552004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
3456
3457	* Remove __IDSTRING()
3458
3459	* Makefile.in (BMAKE_VERSION): bump to 20040508
3460	* Merge with NetBSD make, pick up:
3461	  o posix fixes
3462	    - remove '-e' from compat mode
3463	    - add support for '+' command-line prefix.
3464	  o fix for handling '--' on command-line.
3465	  o fix include in lst.lib/lstInt.h to simplify '-I's
3466	  o we also picked up replacement of MAKE_BOOTSTRAP
3467	    with !MAKE_NATIVE which is a noop, but possibly confusing.
3468
34692004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
3470
3471	* Makefile.in (BMAKE_VERSION): bump to 20040414
3472	* Merge with NetBSD make, pick up:
3473	  o allow quoted strings on lhs of conditionals
3474	  o issue warning when extra .else is seen
3475	  o print line numer when errors encountered during parsing from
3476	  string.
3477
34782004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
3479
3480	* Makefile.in (BMAKE_VERSION):  bump to 20040220
3481	* Merge with NetBSD make, pick up:
3482	  o fix for old :M parsing bug.
3483	  o re-jigged unit-tests
3484
34852004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
3486
3487	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
3488	so that './bmake -f Makefile test' works.
3489
34902004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
3491
3492	* Makefile.in: (BMAKE_VERSION): bump to 20040214
3493	* Merge with NetBSD make, pick up:
3494	  o search upwards for *.mk
3495	  o fix for double free of var substitution buffers
3496	  o use of getopt replaced with custom code, since the usage
3497	  (re-scanning) isn't posix compatible.
3498
34992004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
3500
3501	* arch.c: don't include ranlib.h on ELF systems
3502	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
3503
35042004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
3505
3506	* Makefile.in (BMAKE_VERSION): bump to 20040118
3507
3508	* boot-strap (while): export vars we assign to on cmdline
3509	* unit-test/Makefile.in: ternary is .PHONY
3510
35112004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
3512
3513	* Makefile.in (BMAKE_VERSION): bump version to 20040108
3514	* Merge with NetBSD make, pick up:
3515	  o fix for ternary modifier
3516
35172004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
3518
3519	* Makefile.in (BMAKE_VERSION): bump version to 20040105
3520	* Merge with NetBSD make, pick up:
3521	  o fix for cond.c to handle compound expressions better
3522	  o variable expansion within sysV style replacements
3523
35242003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
3525
3526	* Make portable snprintf safer - output to /dev/null first to
3527	check space needed.
3528
3529	* Makefile.in (BMAKE_VERSION): bump version to 20031222
3530	* Merge with NetBSD make, pick up:
3531	  o -dg3 to show input graph when things go wrong.
3532	  o explicitly look for makefiles in objdir if not found in curdir so
3533	    that errors in .depend etc will be reported accurarely.
3534	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
3535	    instead as it more accurately reflects the expected behavior and
3536	    is more consistently implemented.
3537	  o avoid use of asprintf.
3538
35392003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
3540
3541	* util.c: Add asprintf and vasprintf.
3542
3543	* Makefile.in (BMAKE_VERSION): bump version to 20030928
3544	* Merge with NetBSD make, pick up:
3545	:[] modifier - allows picking words from a variable.
3546	:tW modifier - allows treating value as one big word.
3547	W flag for :C and :S - allows treating value as one big word.
3548
35492003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
3550
3551	* Merge with NetBSD make
3552	pick up -de flag to enable printing failed command.
3553	don't skip 1st two dir entries (normally . and ..) since
3554	coda does not have them.
3555
35562003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
3557
3558	* Makefile.in (BMAKE_VERSION): bump version to 20030909
3559	* Merge with NetBSD make, pick up:
3560	- changes for -V '${VAR}' to print fully expanded value
3561	  cf. -V VAR
3562	- CompatRunCommand now prints the command that failed.
3563	- several files got updated 3 clause Berkeley license.
3564
35652003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
3566
3567	* boot-strap: Allow setting configure args on command line.
3568
35692003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
3570
3571	* configure.in: add --with-defshell to allow sh or ksh
3572	to be selected as default shell.
3573
3574	* Makefile.in: bump version to 20030731
3575
3576	* Merge with NetBSD make
3577	Pick up .SHELL spec for ksh and associate man page changes.
3578	Also compat mode now uses the same shell specs.
3579
35802003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
3581
3582	* var.c (Var_Parse): ensure delim is initialized.
3583
3584	* unit-tests/Makefile.in: use single quotes to avoid problems from
3585	some shells.
3586
3587	* makefile.boot.in:
3588	Run the unit-tests as part of the bootstrap procedure.
3589
35902003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
3591
3592	* unit-tests/Makefile.in: always force complaints from
3593	${TEST_MAKE} to be from 'make'.
3594
3595	* configure.in: add check for 'diff -u'
3596	also fix some old autoconf'isms
3597
3598	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
3599	if using GCC add -Wno-cast-qual to CFLAGS for var.o
3600
3601	* Merge with NetBSD make
3602	Pick up fix for :ts parsing error in some cases.
3603	Pick unit-tests.
3604
36052003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
3606
3607	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
3608
3609	* var.c (Var_Parse): fix bug in :ts modifier, after const
3610	correctness fixes, must pass nstr to VarModify.
3611
36122003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
3613
3614	* Makefile.in: BMAKE_VERSION switch to a date based version.
3615	We'll generally use the date of last import from NetBSD.
3616
3617	* Merge with NetBSD make
3618	Pick up fixes for const-correctness, now passes WARNS=3 on
3619	NetBSD.
3620	Pick up :ts modifier, allows controlling the separator used
3621	between words in variable expansion.
3622
36232003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
3624
3625	* FILES: include boot-strap and os.sh
3626
3627	* Makefile.in: only set WARNS if we are NetBSD, the effect on
3628	FreeBSD is known to be bad.
3629
3630	* makefile.boot.in (bootstrap): make this the default target.
3631
3632	* Makefile.in: bump version to 3.1.19
3633
3634	* machine.sh: avoid A-Z with tr as it is bound to lose.
3635
36362003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
3637
3638	* Merge with NetBSD make
3639	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
3640	Plus some doc fixes.
3641
36422003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
3643
3644	* Merge with NetBSD make
3645	Pick up fix for PR/1523 - don't count a library as built, if there
3646	is no way to build it
3647
3648	* Bump version to 3.1.18
3649
36502003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
3651
3652	* Merge with NetBSD make
3653	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
3654	appears in src list.
3655
36562003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
3657
3658	* Merge with NetBSD make (mmm 10th anniversary!)
3659	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
3660	pick up -X which tells us to not export VAR=val via setenv if
3661	we are already doing so via MAKEFLAGS.  This saves valuable env
3662	space on systems like Darwin.
3663	set MAKE_VERSION to 3.1.17
3664
3665	* parse.c: pix up fix for suffix rules
3666
36672003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
3668
3669	* Merge with NetBSD make.
3670	pick up fix for propagating -B via MAKEFLAGS.
3671	set MAKE_VERSION to 3.1.16
3672
3673	* Apply some patches from pkgsrc-bootstrap/bmake
3674	Originally by Grant Beattie <grant@netbsd.org>
3675	I may have missed some - since they are based on bmake-3.1.12
3676
36772002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
3678
3679	* makefile.boot.in (bmake): update install targets for those that
3680	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
3681	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
3682
3683	* bmake.cat1: update the pre-formatted man page!
3684
36852002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
3686
3687	* Merge with NetBSD make.
3688	pick up fix for premature free of pointer used in call
3689	to Dir_InitCur().
3690	set MAKE_VERSION to 3.1.15
3691
36922002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
3693
3694	* configure.in: determine suitable value for MKSRC.
3695	override using --with-mksrc=PATH.
3696
3697	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
3698	configs(8) will use 'sun4' as an alias for 'sparc'.
3699
37002002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
3701
3702	* Merge with NetBSD make.
3703	pick up ${.PATH}
3704	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
3705	set MAKE_VERSION to 3.1.14
3706	add configure checks for killpg and sys/socket.h
3707
37082002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
3709
3710	* tag bmake-3-1-13
3711
3712	* makefile.boot.in (bmake): use install-mk
3713	Also setup ./mk before trying to invoke bmake.boot incase we
3714	needed install-mk to create a sys.mk for us.
3715
3716	* configure.in: If we need to add -I${srcdir}/missing, make it an
3717	absolute path so that it works for lst.lib too.
3718
3719	* make.h: always include sys/cdefs.h since we provide one if the
3720	host does not.
3721
3722	* Makefile.in (install-mk):
3723	use MKSRC/install-mk which will do the right thing.
3724	use uname -p for ARCH if possible.
3725	since install-mk will setup links bsd.prog.mk -> prog.mk if
3726	needed, just .include bsd.prog.mk
3727
3728	* Merge with NetBSD make (NetBSD-1.6)
3729	Code is ansi-C only now.
3730	Bug in handling of dotLast is fixed.
3731	Can now assign .OBJDIR and make will reset its notions of life.
3732	New modifiers :tu :tl for toUpper and toLower.
3733
3734Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
3735
3736	* Merge with NetBSD make
3737	pick up fix for .END failure in compat mode.
3738	pick up fix for extra va_end() in ParseVErrorInternal.
3739
3740Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
3741
3742	* configure.in: for systems that have sys/cdefs.h check if it is
3743	compatible.  If not, include the one under missing, but tell it to
3744	include the native one too - necessary on Linux.
3745
3746	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
3747	include_next (for gcc) to get the native sys/cdefs.h
3748
3749Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3750
3751	* job.c (JobFinish): Fix an earlier merge bug that resulted in
3752	leaking descriptors when using -jN.
3753
3754	* job.c (JobPrintCommand): See if "curdir" exists before
3755	attempting to chdir().  Doing the chdir directly in make (when in
3756	compat mode) fails silently, so let the -jN version do the same.
3757	This can happen when building kernels in an object tree and
3758	playing clever games to reset .CURDIR.
3759
3760	* Merged with NetBSD make
3761	pick up .USEBEFORE
3762
3763Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3764
3765	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
3766
3767Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3768
3769	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
3770	us not to export the iterator variable when using VAR_CMD context.
3771
3772Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3773
3774	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
3775	its the wrong "fix".
3776
3777Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3778
3779	* Redesigned export of VAR_CMD's via MAKEFLAGS.
3780	We now simply append the variable names to .MAKEOVERRIDES, and
3781	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
3782	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
3783	Apart from fixing quoting bugs in previous version, this allows us
3784	to export vars to the environment by simply doing:
3785	.MAKEOVERRIDES+= PATH
3786	Merged again with NetBSD make, but the above is the only change.
3787
3788	* configure.in: added
3789	--disable-pwd-override		disable $PWD overriding getcwd()
3790	--disable-check-make-chdir	disable make trying to guess
3791		when it should automatically cd ${.CURDIR}
3792
3793	* Merge with NetBSD make, changes include:
3794	parse.c (ParseDoDependency): Spot that the syntax error is
3795	caused by an unresolved cvs/rcs conflict and say so.
3796	var.c: most of Var* functions now take a ctxt as 1st arg.
3797	now does variable substituion on rhs of sysv style modifiers.
3798
3799	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
3800	is now done here.  We append the name='value' to .MAKEOVERRIDES
3801	rather than directly into MAKEFLAGS as this allows a Makefile to
3802	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
3803	very similar mechanism.  Note that in adding name='value' to
3804	.MAKEOVERRIDES we do the moral equivalent of:
3805	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
3806
3807Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3808
3809	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
3810
3811	* Merged with NetBSD make
3812	make -dx can now be used to run commands via sh -x
3813	better error messages on exec failures.
3814
3815Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3816
3817	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
3818	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
3819	MACHINE etc otherwise they propagate from the previous bmake.
3820
3821	* configure.in (machine): allow --with-machine=generic to make
3822	configure use machine.sh to set MACHINE.
3823
3824	* job.c (JobInterrupt): convert to using WAIT_T and friends.
3825
3826	* Makefile.in: mention in bmake.1 that we use autoconf.
3827
3828	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
3829
3830Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3831
3832	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
3833	as that rather defeats the usefulness of ${MAKEFILE}.
3834
3835	* main.c (MainParseArgs): append command line variable assignments
3836	to MAKEFLAGS so that they get propagated to child make's.
3837	Apparently this is required POSIX behaviour?  Its useful anyway.
3838
3839Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3840
3841	* compat.c (CompatRunCommand): don't use perror() since stdio may
3842	cause problems in child of vfork().
3843
3844	* compat.c, main.c: Call PrintOnError() when we are going to bail.
3845	This routine prints out the .curdir where we stopped and will also
3846	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
3847
3848	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
3849	:@ expansion.
3850
3851	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
3852
3853	* Added RCSid's for the files we've touched.
3854
3855Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3856
3857	* configure.in:	Thanks to some clues from mdb@juniper.net,
3858	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
3859	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
3860
3861  --with-machine=MACHINE  explicitly set MACHINE
3862  --with-force-machine=MACHINE  set FORCE_MACHINE
3863  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
3864  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
3865  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
3866  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
3867
3868	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
3869
3870	* makefile: added a pathetically simple makefile to drive
3871	bootstrapping.  Running configure by hand is more useful.
3872
3873	* Makefile.in: added MAKE_VERSION, and reworked things to be less
3874	dependent on NetBSD bsd.*.mk
3875
3876	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
3877	_PATH_OBJDIRPREFIX for those that don't want a default.
3878	construct _PATH_DEFSYSPATH from the info we get from configure.
3879
3880	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
3881	if MAKE_VERSION is defined.
3882
3883	* compat.c: when we bail, print out the .CURDIR we were in.
3884
3885Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3886
3887	* Merged with NetBSD make
3888
3889	* var.c: fixed a bug in the handling of the modifier :P
3890	if the node as found but the path was null, we segfault trying to
3891	duplicate it.
3892
3893Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3894
3895	* Merged with NetBSD make
3896
3897	* make.c: Make_OODate's test for a library out of date was using
3898	cmtime where it should have used mtime (my bug).
3899
3900	* compat.c: Use perror() to tell us what really went wrong when we
3901	cannot exec a command.
3902
3903Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3904
3905	* Merged with NetBSD make
3906
3907Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3908
3909	* Merged with NetBSD make
3910
3911Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3912
3913	* Merged with NetBSD make
3914
3915Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3916
3917	* Merged with NetBSD make
3918
3919Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3920
3921	* util.c: don't provide signal() since we use sigcompat.c
3922
3923	* Makefile.in: added a build target.
3924
3925	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
3926	These allow some quite clever magic.
3927
3928	* main.c (main): added support for getenv(MAKESYSPATH).
3929
3930Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3931
3932	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
3933	This avoids objdir having a different value depending on how a
3934	directory was reached (via command line, or subdir.mk).
3935
3936	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
3937
3938Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3939
3940	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
3941	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
3942	I've been testing this in NetBSD's make for some weeks.
3943
3944	* Turn Makefile into Makefile.in and make it useful.
3945
3946Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
3947
3948	* Imported NetBSD's -current make(1) and resolve conflicts.
3949
3950	* Applied autoconf patches from bmake v2
3951
3952	* Imported clean code base from NetBSD-1.0
3953