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