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