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