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