xref: /freebsd/contrib/bmake/ChangeLog (revision d7d962ead0b6e5e8a39202d0590022082bf5bfb6)
12021-06-21  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* VERSION (_MAKE_VERSION): 20210621
4	Merge with NetBSD make, pick up
5	o var.c: only report error for unmatched regex subexpression
6	when linting (-dL) since we cannot tell when an unmatched
7	subexpression is an expected result.
8	o move unmatched regex subexpression tests to
9	varmod-subst-regex.mk and enable strict (lint) mode
10
112021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
12
13	* VERSION (_MAKE_VERSION): 20210616
14	Merge with NetBSD make, pick up
15	o more unit tests
16	o cond.c: rename If_Eval to EvalBare
17	improve function names for parsing conditions
18	o job.c: fix error handling of targets that cannot be made
19	o var.c: uncompress code in ApplyModifier_Unique
20
212021-05-18  Simon J Gerraty  <sjg@beast.crufty.net>
22
23	* VERSION (_MAKE_VERSION): 20210518
24	Merge with NetBSD make, pick up
25	o fix unit-tests/opt-chdir to cope with /nonexistent existing.
26	o job.c: Print -de error information when running multiple jobs
27
282021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
29
30	* VERSION (_MAKE_VERSION): 20210420
31	Merge with NetBSD make, pick up
32	o use C99 bool type
33	o convert VarEvalFlags back into an enum
34	o cond.c: do not complain when skipping the condition 'no >= 10'
35	o hash.c: avoid allocating memory for simple variable names
36	o job.c: use distinct wording for writing to the shell commands file
37	remove type name for the abort status in job handling
38	rename PrintOutput to PrintFilteredOutput to avoid confusion
39	o main.c: avoid double slash in name of temporary directory
40	o var.c: use straight quotes for error 'Bad conditional expression'
41	reduce memory allocations in the modifiers ':D' and ':U'
42	rename members of ModifyWord_LoopArgs
43	clean up pattern flags for the modifiers ':S' and ':C'
44	reduce memory allocation and strlen calls in modifier ':from=to'
45	in the ':Q' modifier, only allocate memory if necessary
46	improve performance for LazyBuf
47	remove redundant parameter from ParseVarnameLong
48	migrate ParseModifierPart to use Substring
49	avoid unnecessary calls to strlen when evaluating modifiers
50	migrate ModifyWord functions to use Substring
51	migrate handling of the modifier ':S,from,to,' to Substring
52	reduce debug logging and memory allocation for ${:U...}
53	reduce verbosity of the -dv debug logging for standard cases
54	clean up debug logging for ':M' and ':N'
55	disallow '$' in the variable name of the modifier ':@'
56	simplify access to the name of an expression during evaluation
57
582021-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
59
60	* VERSION (_MAKE_VERSION): 20210330
61	Merge with NetBSD make, pick up
62	o replace enum bit-field with struct bit-field for VarEvalFlags
63	o rename VARE_NONE to VARE_PARSE_ONLY
64	o var.c: rename ApplyModifiersState to ModChain
65	fix double varname expansion in the variable modifier '::='
66	change debug log for variable evaluation flags to lowercase
67
682021-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
69
70	* VERSION (_MAKE_VERSION): 20210314
71	Merge with NetBSD make, pick up
72	o var.c: avoid evaluating many modifiers in parse only mode
73	in strict mode (-dL) many variable references are parsed twice,
74	the first time just to report parse errors early, so we want to
75	avoid side effects and wasted effort to the extent possible.
76
772021-02-26  Simon J Gerraty  <sjg@beast.crufty.net>
78
79	* VERSION (_MAKE_VERSION): 20210226
80	Merge with NetBSD make, pick up
81	o remove freestanding freeIt variables
82	link via FStr
83	o var.c: restructure code in ParseVarname to target human readers
84	improve error message for;
85	  bad modifier in variable expression
86	  unclosed modifier
87	  unknown modifier
88	remove redundant parameter of ApplySingleModifier
89	explain non-obvious code around indirect variable modifiers
90	quote ':S' in error message about missing delimiter
91	extract ParseModifier_Match into separate function
92	add context information to error message about ':range' modifier
93	add quotes around variable name in an error message
94	reorder code in ModifyWords
95	use more common parameter order for VarSelectWords
96	make ModifyWord_Subst a little easier to understand
97	do not expand variable name from the command line twice
98	extract ExistsInCmdline from Var_SetWithFlags
99	save a hash map lookup when defining a cmdline variable
100	clean up VarAdd, Var_Delete, Var_ReexportVars
101	use bit-shift expressions for VarFlags constants
102	rename constants for VarFlags
103	rename ExprDefined constants for debug logging
104	rename ExprStatus to ExprDefined
105	split parameters for evaluating variable expressions
106	reduce redundant code around ModifyWords
107	print error about failed shell command before overwriting variable
108	clean up ValidShortVarname, ParseVarnameShort
109	rename VarExprStatus to ExprStatus
110	add functions for assigning the value of an expression
111	rename ApplyModifiersState_Define to Expr_Define
112	condense the code for parsing :S and :C modifiers
113
1142021-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
115
116	* VERSION (_MAKE_VERSION): 20210206
117	Merge with NetBSD make, pick up
118	o unit-tests: use private TMPDIR to avoid errors from other users
119
1202021-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
121
122	* VERSION (_MAKE_VERSION): 20210205
123	Merge with NetBSD make, pick up
124	o avoid strdup in mkTempFile
125	o always use vfork
126	o rename context and ctxt to scope
127	o rename some VAR constants to SCOPE
128	o Var_ functions, move the scope to the front
129	o use shortcut functions Global_Set and Global_Append
130	o add shortcut Global_Delete for deleting a global variable
131	o rename Var_Delete to Var_DeleteExpand, Var_DeleteVar to Var_Delete
132	o compat.c: when exiting due to an error, print graph information
133	o enum.c: remove overengineered Enum_ValueToString
134	o make.c: remove unused INTERNAL flag
135	remove unused return type of MakeBuildParent
136	o parse.c: replace parse error "Need an operator" with better message
137	o var.c: improve documentation about variable scopes
138	rename Var_ValueDirect to GNode_ValueDirect
139	rename old Var_SetWithFlags to Var_SetExpandWithFlags
140	merge SetVar into Var_SetWithFlags
141	split Var_Exists into plain Var_Exists and Var_ExistsExpand
142	split Var_Append into Var_Append and Var_AppendExpand
143	replace enum bit-set with bit-field
144	o unit-tests/var-op-shell: use kill rather than kill -14
145	which broke on darwin with recent update.
146
1472021-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
148
149	* configure.in: check for sig_atomic_t and define it as 'int'
150	if missing.
151
152	* VERSION (_MAKE_VERSION): 20210201
153	Merge with NetBSD make, pick up
154	o use sig_atomic_t for caught_sigchld
155
1562021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
157
158	* VERSION (_MAKE_VERSION): 20210130
159	Merge with NetBSD make, pick up
160	o more unit tests
161	o convert SearchPath to struct
162	o split Buf_Destroy into Buf_Done and Buf_DoneData
163	o for.c: split For_Eval into separate functions
164	rename struct For to struct ForLoop
165	o job.c: do not create empty shell files in jobs mode
166	rename JobOpenTmpFile to JobWriteShellCommands
167	reduce unnecessary calls to waitpid
168	o parse.c: in -dp mode, print stack trace with each diagnostic
169
1702021-01-23  Simon J Gerraty  <sjg@beast.crufty.net>
171
172	* VERSION (_MAKE_VERSION): 20210123
173	Merge with NetBSD make, pick up
174	o rename Dir_Expand to SearchPath_Expand
175	o rename Dir_AddDir, reorder parameters of SearchPath_ToFlags
176	o cond.c: fix debug output for comparison operators in conditionals
177	o dir.c: split Dir_FindFile into separate functions
178
1792021-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
180
181	* VERSION (_MAKE_VERSION): 20210120
182	Merge with NetBSD make, pick up
183	o fix some more lint nits
184	o refine some unit tests for portability
185	o cond.c: rework parsing
186
1872021-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
188
189	* VERSION (_MAKE_VERSION): 20210110
190	Merge with NetBSD make, pick up
191	o fix lint warnings
192	o consistently use boolean expressions in conditions
193
1942021-01-08  Simon J Gerraty  <sjg@beast.crufty.net>
195
196	* VERSION (_MAKE_VERSION): 20210108
197	Merge with NetBSD make, pick up
198	o job.c: back to polling token pipe if we want a token
199	o main.c: always print 'stopped in' on first call
200	The execption is if we bail because of an abort token
201	in which case just exit 6.
202
2032021-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
204
205	* VERSION (_MAKE_VERSION): 20210101
206	Merge with NetBSD make, pick up
207	o Happy New Year!
208	o rename CmdOpts.lint to strict
209	o exit 2 on technical errors
210	o replace pointers in controlling conditions with booleans
211	o replace global preserveUndefined with VARE_KEEP_UNDEF
212	o compat.c: re-export variables from the actual make process
213	if using vfork this is the effect anyway
214	o cond.c: clean up VarParseResult constants
215	o for.c: fix undefined behavior in SubstVarLong
216	make control flow in SubstVarLong of .for loops more obvious
217	clean up SubstVarShort in .for loops
218	extract ForSubstBody from ForReadMore
219	clean up ForReadMore
220	simplify termination condition for .for loop
221	add error handling for .for loop items
222	job.c: re-export variables from the actual make process
223	parse.c: remove mmap for loading files, only allow files < 1 GiB
224	fix edge case in := with undefined in variable name
225	skip variable expansion in ParseDependencyTargetWord
226	var.c: split ExportVar into separate functions
227	clean up code in extracted ExportVar functions
228	remove dead code from ApplyModifiersIndirect
229	split Var_Subst into easily understandable functions
230	clean up VarParseResult constants
231
2322020-12-25  Simon J Gerraty  <sjg@beast.crufty.net>
233
234	* main.c: use .MAKE.DEPENDFILE as set by makefiles
235
2362020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
237
238	* VERSION (_MAKE_VERSION): 20201222
239	Merge with NetBSD make, pick up
240	o make DEBUG macro return boolean
241	o parse.c: fix assertion failure for files without trailing newline
242	o var.c: allow .undef to undefine multiple variables at once
243	remove excess newline from parse errors
244
2452020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
246
247	* VERSION (_MAKE_VERSION): 20201221
248	Merge with NetBSD make, pick up
249	o some unit-test updates
250
2512020-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
252
253	* VERSION (_MAKE_VERSION): 20201220
254	Merge with NetBSD make, pick up
255	o more unit tests
256	o return FStr from Var_Parse and Var_Value
257	o spell nonexistent consistently
258	o add str_basename to reduce duplicate code
259	o compat.c: fix .ERROR_TARGET in compat -k mode
260	extract InitSignals from Compat_Run
261	extract UseShell from Compat_RunCommand
262	o cond.c: error out if an '.endif' or '.else' contain extraneous text
263	o for.c: rename ForIterate to ForReadMore
264	o hash.c: clean up hash function for HashTable
265	o lst.c: rename Vector.priv_cap to cap
266	o main.c: remove constant parameter from MakeMode
267	o make.c: use symbolic time for 0 in Make_Recheck
268	extract MakeChildren from MakeStartJobs
269	o parse.c: clean up memory handling in VarAssign_EvalShell, Parse_DoVar
270	fix error message for .info/.warning/.error without argument
271	extract Var_Undef from ParseDirective
272	extract ParseSkippedBranches, ParseForLoop from ParseReadLine
273	rename mode constants for ParseGetLine to be more expressive
274	reduce debugging details in Parse_SetInput
275	fix line numbers in .for loops
276	split ParseGetLine into separate functions
277	fix garbled output for failed shell command
278	var.c: remove redundant assignment in ApplyModifier_SysV
279	error out on unknown variable modifiers at parse time
280	remove wrong error message for indirect modifier in lint mode
281	extract ApplySingleModifier from ApplyModifiers
282	use FStr for memory management in Var_SetWithFlags
283	extract SetVar from Var_SetWithFlags
284	use FStr in VarNew
285	extract string functions from ApplyModifier_To
286	error out if .undef has not exactly 1 argument
287	extract Var_DeleteVar from Var_Delete
288	extract Var_Undef from ParseDirective
289	clean up memory management for expanding variable expressions
290
2912020-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
292
293	* avoid %zu
294
295	* lst.c: avoid anonymous union
296
297	* VERSION (_MAKE_VERSION): 20201212
298	Merge with NetBSD make, pick up
299	o more unit tests
300	o inline Targ_Ignore and Targ_Silent
301	o split JobFlags into separate fields
302	o remove const from function parameters (left overs from refactoring)
303	o eliminate boolean argument of Var_Export
304	o make API of Buf_Init simpler
305	o rename ParseRunOptions to ParseCommandFlags
306	o replace *line with line[0]
307	o compat.c: fix wrong exit status for multiple failed main targets
308	refactor Compat_Run to show the error condition more clearly
309	don't make .END if the main targets already failed (-k mode)
310	fix exit status in -k mode if a dependency fails
311	o for.c: clean up Buf_AddEscaped in .for loops
312	o job.c: extract ShellWriter_ErrOn from JobPrintCommand
313	make Job_Touch simpler
314	refactor JobFinish
315	rename Shell.exitFlag to errFlag
316	move Job.xtraced to ShellWriter
317	make printing of shell commands independent from the job
318	rename shell flags in struct Shell
319	extract JobOpenTmpFile from JobStart
320	rename RunFlags to CommandFlags
321	split various Job.* into separate fields
322	rename commandShell to shell
323	extract InitShellNameAndPath from Shell_Init
324	replace signal handling macros with local functions
325	replace macro MESSAGE with local function
326	parse.c: error out on null bytes in makefiles
327	error out on misspelled directives
328	rename IFile.nextbuf to readMore
329	fix undefined behavior in ParseEOF
330	str.c: remove redundant call to strlen in Str_Words
331	var.c: error out on misspelled .unexport-env
332	error out on misspelled .export directives
333	extract ExportVars from Var_Export
334	extract ExportVarsExpand from Var_Export
335	eliminate boolean argument of Var_Export
336	fix undefined behavior when exporting ${:U }
337	rename Var_ExportVars to Var_ReexportVars
338	rename Var_Export1 to ExportVar
339
3402020-12-06  Simon J Gerraty  <sjg@beast.crufty.net>
341
342	* VERSION (_MAKE_VERSION): 20201206
343	Merge with NetBSD make, pick up
344	o more unit tests
345	o inline macros for debug logging
346	o use consistent variable names for list nodes
347	o define constants for enum zero-values
348	o dir.c: use fixed format for debug output of the directory cache
349	remove Dir_InitDir
350	o lst.c: inline Lst_Enqueue, Vector_Done
351	o meta.c: remove unused parameter from meta_needed
352	o parse.c: rename parse functions
353	o suff.c: extract ExpandChildrenRegular from ExpandChildren
354	o targ.c: don't concatenate identifiers in Targ_PrintType
355	o var.c: remove comment decoration
356	extract UnexportVars from Var_UnExport
357	extract GetVarnamesToUnexport from Var_UnExport
358	extract UnexportEnv from Var_UnExport
359	extract UnexportVar from Var_UnExport
360	move CleanEnv to UnexportVars
361	replace pointer comparisons with enum
362	add FStr to var.c to make memory handling simpler
363	use FStr in Var_UnExport
364	move type definitions in var.c to the top
365	extract FreeEnvVar from Var_Parse
366	extract ShuffleStrings from ApplyModifier_Order
367
3682020-11-30  Simon J Gerraty  <sjg@beast.crufty.net>
369
370	* VERSION (_MAKE_VERSION): 20201130
371	Merge with NetBSD make, pick up
372	o add unit tests for META MODE
373	o reduce memory allocation for dirSearchPath, GNode.parents,
374	GNode.children, OpenDirs
375	o reduce pointer indirection for GNode.cohorts and
376	GNode.implicitParents
377	o remove pointer indirection from GNode.commands
378	o inline Lst_ForEachUntil in meta mode
379	o dir.c: fix memory leak for lstat cache in -DCLEANUP mode
380	clean up memory management for CachedDirs
381	fix the reference count of dotLast going negative
382	add debug logging for OpenDirs_Done
383	extract CacheNewDir from Dir_AddDir
384	add debug logging for reference counting of CachedDir
385	rename some Dir functions to SearchPath
386	o job.c: rename some global variables
387	o main.c: reduce memory allocation in ReadBuiltinRules
388	reduce memory allocation in CmdOpts.create, CmdOpts.variables,
389	CmdOpts.makefiles
390	Add .MAKE.UID and .MAKE.GID
391	o make.c: reduce memory allocation for/in toBeMade,
392	Make_ProcessWait, Make_ExpandUse
393	o meta.c: reduce memory allocation in meta_oodate
394	o parse.c: reduce memory allocations for parsing dependencies and
395	targets
396	o suff.c: reduce memory allocation in suffix handling
397
3982020-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
399
400	* VERSION (_MAKE_VERSION): 20201124
401	Merge with NetBSD make, pick up
402	o .MAKE.{UID,GID} represent uid and gid running make.
403	o fix error handling for .BEGIN and .END dependency in -k mode
404	o fix missing "Stop." after failed .END node in -k mode
405	o use properly typed comparisons in boolean contexts
406	o replace a few HashTable_CreateEntry with HashTable_Set
407	o add HashSet type
408	o compat.c: split Compat_Make into smaller functions
409	extract DebugFailedTarget from Compat_RunCommand
410	o dir.c: refactor Dir_UpdateMTime
411	migrate CachedDir.files from HashTable to HashSet
412	o make.c: add high-level API for GNode.made
413
4142020-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
415
416	* VERSION (_MAKE_VERSION): 20201122
417	Merge with NetBSD make, pick up
418	o rename GNode.context to vars
419	o suff.c: cleanup and refactor
420	rename some functions and vars to better reflect usage
421	add high-level API for CandidateSearcher
422	o targ.c: add more debug logging for suffix handling
423	o more unit tests
424	o add debug logging for setting and resetting the main target
425
4262020-11-17  Simon J Gerraty  <sjg@beast.crufty.net>
427
428	* VERSION (_MAKE_VERSION): 20201117
429	Merge with NetBSD make, pick up
430	o fix some unit-tests when .SHELL is dash
431	o rename Targ_NewGN to GNode_New
432	o make some GNode functions const
433	o main.c: call Targ_Init before Var_Init
434	cleanup PrintOnError, getTmpdir and ParseBoolean
435	o var.c: fix error message of failed :!cmd! modifier
436
4372020-11-14  Simon J Gerraty  <sjg@beast.crufty.net>
438
439	* VERSION (_MAKE_VERSION): 20201114
440	Merge with NetBSD make, pick up
441	o replace a few HashTable_CreateEntry with HashTable_Set
442	o clean up cached_stats
443	o rename DEFAULT to defaultNode
444	o remove redundant struct make_stat
445	o cond.c: in lint mode, check for ".else <cond>"
446	use bitset for IfState
447	replace large switch with if-else in Cond_EvalLine
448	o job.c: clean up JobExec, JobStart, JobDoOutput
449	use stderr for error message about failed touch
450	clean up Job_Touch
451	replace macro DBPRINTF with JobPrintln
452	rename JobState to JobStatus
453	main.c: switch cache for realpath from GNode to HashTable
454	clean up Fatal
455	clean up InitDefSysIncPath
456	use progname instead of hard-coded 'make' in warning
457	rename Main_SetVarObjdir to SetVarObjdir
458	make.1: document the -S option
459	make.c: fix debug output for GNode details
460	use symbolic names in debug output of GNodes
461
4622020-11-12  Simon J Gerraty  <sjg@beast.crufty.net>
463
464	* configure.in: fix --with-force-machine-arch
465
466	* VERSION (_MAKE_VERSION): 20201112
467	Merge with NetBSD make, pick up
468	o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable
469	checks in InitObjdir.  Explicit .OBJDIR target always allows
470	read-only directory.
471	o cond.c: clean up Cond_EvalLine
472
4732020-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
474
475	* VERSION (_MAKE_VERSION): 20201111
476	Merge with NetBSD make, pick up
477	o more unit-tests
478	o style cleanup
479	remove redundant parentheses from sizeof operator
480	replace character literal 0 with '\0'.
481	replace pointer literal 0 with NULL.
482	remove redundant parentheses.
483	replace (expr & mask) == 0 with !(expr & mask).
484	use strict typing in conditions of the form !var
485	o rename Make_OODate to GNode_IsOODate
486	o rename Make_TimeStamp to GNode_UpdateYoungestChild
487	o rename Var_Set_with_flags to Var_SetWithFlags
488	o rename dieQuietly to shouldDieQuietly
489	o buf.c: make API of Buf_Init simpler
490	o compat.c: clean up Compat_Make, Compat_RunCommand,
491	CompatDeleteTarget and CompatInterrupt
492	o cond.c: in lint mode, only allow '&&' and '||', not '&' and '|'
493	clean up CondParser_Comparison
494	o main.c: rename getBoolean and s2Boolean
495	rename MAKEFILE_PREFERENCE for consistency
496	o parse.c: replace strstr in ParseMaybeSubMake with optimized code
497	o var.c: rename VARE_ASSIGN to VARE_KEEP_DOLLAR
498	replace emptyString with allocated empty string
499	error out on unclosed expressions after the colon
500
5012020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
502
503	* VERSION (_MAKE_VERSION): 20201101
504	Merge with NetBSD make, pick up
505	o negate NoExecute to GNode_ShouldExecute
506	o job.c: rename JobMatchShell to FindShellByName
507	extract EscapeShellDblQuot from JobPrintCommand
508	extract ParseRunOptions from JobPrintCommand
509	o var.c: extract ApplyModifiersIndirect from ApplyModifiers
510	treat malformed :range, :ts and :[...] as errors
511	add tests for the variable modifiers :[words] and :range
512
5132020-10-31  Simon J Gerraty  <sjg@beast.crufty.net>
514
515	* VERSION (_MAKE_VERSION): 20201031
516	Merge with NetBSD make, pick up
517	o format #include directives consistently
518	o do not look up local variables like .TARGET anywhere else
519	o main.c: Main_SetObjdir is first called for curdir which may be
520	readonly
521	reduce the scope where recursive expressions are detected
522	remove redundant :tl from getBoolean
523	clean up mkTempFile
524	o meta.c: simplify memory allocation in meta_create and meta_oodate
525	o parse.c: extract loadedfile_mmap from loadfile
526	o trace.c: document possible undefined behavior with .CURDIR
527	o var.c: make parsing of the :gmtime and :localtime modifiers stricter
528	rename ismeta to is_shell_metachar
529	remove debug logging for the :Q variable modifier
530	rename VarIsDynamic to VarnameIsDynamic
531	use consistent parameter order in varname parsing functions
532	extract ParseVarnameLong from Var_Parse
533	extract ParseVarnameShort from Var_Parse
534	fix type of ParseModifierPart parameter delim
535	extract IsEscapedModifierPart from ParseModifierPart
536	clean up ModifyWords
537	add test for combining the :@ and :? variable modifiers
538
5392020-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
540
541	* VERSION (_MAKE_VERSION): 20201030
542	Merge with NetBSD make, pick up
543	o change char * to void * in Var_Value
544	o make iterating over HashTable simpler
545	o rename VAR_CMD to VAR_CMDLINE
546	o cond.c: clean up is_separator
547	fix parse error in string literal in conditional
548	o main.c: do not use objdir that is not writable
549	in lint mode, exit with error status on errors
550	o  parse.c: clean up StrContainsWord
551	fix out-of-bounds pointer in ParseTrackInput
552	o var.c: rename Str_SYSVMatch and its parameters
553	remove unsatisfiable conditions in Var_Set_with_flags
554	document where the variable name is expanded
555	fix documentation for VARP_SUB_ONE
556	rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME
557	document VAR_READONLY
558	prevent appending to read-only variables
559	extract MayExport from Var_Export1
560	remove redundant evaluations in VarFind
561	replace VarFindFlags with a simple Boolean
562	rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE
563
5642020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
565
566	* VERSION (_MAKE_VERSION): 20201028
567	Merge with NetBSD make, pick up
568	o rename defIncPath to defSysIncPath
569	o initialize all CmdOpts fields
570	o lst.c: inline Vector_Get
571	o main.c: refactor main extract
572	InitMaxJobs,InitObjdir,InitVarMake,InitRandom,
573	ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules,
574	InitDefIncPath,CmdOpts_Init,UnlimitFiles
575	o parse.c: merge curFile into includes
576	rename predecessor to order_pred
577	sort ParseSpecial alphabetically
578	remove unused, undocumented .NOEXPORT
579	rename ParseSpecial enum values consistently
580	rename some fields of struct IFile
581
5822020-10-26  Simon J Gerraty  <sjg@beast.crufty.net>
583
584	* VERSION (_MAKE_VERSION): 20201026
585	Merge with NetBSD make, pick up
586	o group the command line options and arguments into a struct
587	o rename GNode.cmgn to youngestChild
588	o rename hash functions to identify the type name
589	o negate OP_NOP and rename it to GNode_IsTarget
590	o add GNode_Path to access the path of a GNode
591	o remove macros MIN and MAX
592	o remove unused Lst_Find and Lst_FindFrom
593	o arch.c: and make Arch_FindLib simpler
594	clean up code layout
595	make Arch_ParseArchive simpler
596	o cond.c: inline CondFindStrMatch into FuncMake
597	o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath
598	omit trailing space in debug output for expanding file patterns
599	refactor DirMatchFiles
600	document that the SearchPath of Dir_FindFile may be NULL
601	remove UNCONST from Dir_Expand
602	inline DirFindName
603	o for.c: clean up code for handling .for loops
604	o hash.c: print hash in debug log with fixed width
605	clean up hash table functions
606	reduce amount of string hashing
607	o job.c: refactor JobDeleteTarget
608	use proper enum constants for aborting
609	convert result of JobStart from macros to enum
610	convert abort reason macros to enum
611	rework Job_CheckCommands to reduce indentation
612	rename Shell fields
613	add field names in declaration of DEFSHELL_CUSTOM
614	convert JobState and JobFlags to enum types
615	move handling of the "..." command to JobPrintCommands
616	o lst.c: clean up
617	refactor LstNodeNew
618	remove Lst_Open, Lst_Next, Lst_Close
619	remove code for circular lists from Lst_Next
620	o main.c: do not attempt to read .MAKE.DEPENFILE if set to
621	/dev/null or anything starting with "no"
622	convert macros for debug flags into enum
623	o make.c: inline Lst_Copy in Make_ExpandUse
624	o meta.c: inline Lst_Find in meta_oodate
625	make Lst_RemoveIf simpler in meta_oodate
626	o parse.c: convert error level for Parse_Error to an enum
627	o suff.c: properly terminate debug output with newline
628	add more details to DEBUG_SRC log
629	replace Dir_CopyDir with Dir_CopyDirSearchPath
630	don't modify GNode name while rebuilding the suffix graph
631	o var.c: reduce duplicate code in VarFind
632
6332020-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
634
635	* VERSION (_MAKE_VERSION): 20201022
636	Merge with NetBSD make, pick up
637	o more refactoring and simplification to reduce code size
638	o var.c: extract CanonicalVarname from VarFind
639	o make.c: extract UpdateImplicitParentsVars from Make_Update
640	o main.c: extract PrintVar from doPrintVars
641	extract HandlePWD from main
642	o lst.c: inline simple Lst getters
643	remove unused Lst_ForEach
644	o job.c: move struct Shell from job.h to job.c
645	o more unit tests
646
6472020-10-19  Simon J Gerraty  <sjg@beast.crufty.net>
648
649	* configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT
650
6512020-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
652
653	* VERSION (_MAKE_VERSION): 20201018
654	Merge with NetBSD make, pick up
655	o remove USE_IOVEC
656	o rename some Hash_* apis to Hash*
657	o replace execError with execDie
658	o rename Lst_Init to Lst_New
659	o add tags to enum types
660	o rename Stack to Vector
661	o parse.c: more refactoring
662	o unit-tests: make some tests use line buffered stdout
663	o unit-tests/Makefile: in meta mode do not make all tests depend on
664	Makefile, it isn't necessary.
665
6662020-10-10  Simon J Gerraty  <sjg@beast.crufty.net>
667
668	* main.c: check for CTL_HW being defined.
669	* unit-tests/Makefile: ensure export tests output are POSIX compliant
670	disable opt-debug-jobs test until it works on ubuntu
671
672	* VERSION (_MAKE_VERSION): 20201010
673	Merge with NetBSD make, pick up
674	o dir.c: remove pathname limit for Dir_FindHereOrAbove
675	o hash.c: replace strcpy with memcpy in Hash_CreateEntry
676	o main.c: extract init_machine and init_machine_arch from main
677	allow to disable debug logging options
678	o parse.c: enable format string truncation warnings
679	extract parsing of sources from ParseDoDependency
680	split ParseDoSrc into smaller functions
681	hide implementation details from Parse_DoVar
682	clean up parsing of variable assignments
683	split Parse_DoVar into manageable pieces
684	don't modify the given line during Parse_DoVar
685	fix out-of-bounds memory access in Parse_DoVar
686	fix parsing of the :sh assignment modifier
687	o var.c: rework memory allocation for the name of variables
688	extract ApplyModifier_Literal into separate function
689	in lint mode, reject modifiers without delimiter
690	do not export variable names starting with '-'
691	o fix double-free bug in -DCLEANUP mode
692	o more cleanup to enable higher warnings level
693	o more unit tests
694
6952020-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
696
697	* VERSION (_MAKE_VERSION): 20201002
698	Merge with NetBSD make, pick up
699	o dir.c: use hash table for looking up open directories by name
700	o main.c: clean up option handling
701	o parse.c: add missing const for Parse_AddIncludeDir
702	o var.c: ApplyModifier_To, update pp in each branch
703	o remove redundant function prototypes
704	o more unit tests
705
7062020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
707
708	* VERSION (_MAKE_VERSION): 20201001
709	Merge with NetBSD make, pick up
710	o compat.c: comment about "..."
711
7122020-09-30  Simon J Gerraty  <sjg@beast.crufty.net>
713
714	* VERSION (_MAKE_VERSION): 20200930
715	Merge with NetBSD make, pick up
716	o job.c: split Job.jobPipe into 2 separate fields
717	replace Lst_Open with direct iteration
718	o lst.c: remove redundant assertions
719	o targ.c: replace Lst_Open with direct iteration
720	o var.c: fix bug in evaluation of indirect variable modifiers
721	extract ApplyModifier_Quote into separate function
722	o make debug logging simpler
723
7242020-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
725
726	* VERSION (_MAKE_VERSION): 20200927
727	Merge with NetBSD make, pick up
728	o parse.c: ensure parse errors result in 'stopped in' message.
729	o compat.c: make parameter of Compat_RunCommand const
730	o main.c: extract InitVarTarget from main
731	o parse.c: rename ParseFinishLine to FinishDependencyGroup
732	refactor ParseDoDependency
733	o var.c: Var_Subst no longer returns string result
734	rename Var_ParsePP back to Var_Parse
735	in lint mode, improve error handling for undefined variables
736	extract ParseVarname from Var_Parse
737	o rename Lst_ForEach to Lst_ForEachUntil
738	o inline Lst_ForEachUntil in several cases
739	o clean up API for finding and creating GNodes
740	o fix assertion failure in -j mode with .END node
741	o inline and remove LstNode_Prev and LstNode_Next
742	o use fine-grained type names for lists and their nodes
743	o more unit tests
744
7452020-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
746
747	* VERSION (_MAKE_VERSION): 20200911
748	Merge with NetBSD make, pick up
749	o cond.c: split EvalComparison into smaller functions
750	reorder parameters of condition parsing functions
751	reduce code size in CondParser_Eval
752	rename CondGetString to CondParser_String
753	add CondLexer_SkipWhitespace
754	group the condition parsing state into a struct
755	in CondGetString, replace repeated Buf_Add with Buf_AddStr
756	o migrate Var_Parse to Var_ParsePP
757	o add wrappers around ctype.h functions
758	o lst.c: use a stack instead of a list for the nested include path
759	o more unit tests
760
7612020-09-04  Simon J Gerraty  <sjg@beast.crufty.net>
762
763	* make-bootstrap.sh.in: adjust object list
764
7652020-09-02  Simon J Gerraty  <sjg@beast.crufty.net>
766
767	* VERSION (_MAKE_VERSION): 20200902
768	Merge with NetBSD make, pick up
769	o use make_stat to ensure no confusion over valid fields
770	returned by cached_stat
771	o var.c: make VarQuote const-correct
772	o add unit tests for .for
773
7742020-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
775
776	* VERSION (_MAKE_VERSION): 20200901
777	Merge with NetBSD make, pick up
778	o rename Hash_Table fields
779	o make data types in Dir_HasWildcards more precise
780
7812020-08-31  Simon J Gerraty  <sjg@beast.crufty.net>
782
783	* VERSION (_MAKE_VERSION): 20200831
784	Merge with NetBSD make, pick up
785	o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds
786	o lst.c: Lst_Open renable assert that list isn't open
787	o unit test for .TARGET dependent flags
788	o var.c: fix aliasing bug in VarUniq
789	o more unit tests for :u
790
7912020-08-30  Simon J Gerraty  <sjg@beast.crufty.net>
792
793	* VERSION (_MAKE_VERSION): 20200830
794	Merge with NetBSD make, pick up
795	o allow for strict type checking for Boolean
796	o Var_Parse never returns NULL
797	o Var_Subst never returns NULL
798	o Lst_Find now takes boolean match function
799	o rename Lst_Memeber to Lst_FindDatum
800	o rename LstNode functions to match their type
801	o rename GNode.iParents to implicitParents
802	o fix assertion failure for .SUFFIXES in archives
803	o compat.c: clean up documentation for CompatInterrupt and Compat_Run
804	remove unreachable code from CompatRunCommand
805	o main.c: simplify getBoolean
806	o stc.c: replace brk_string with simpler Str_Words
807	o suff.c: add debug macros
808
8092020-08-28  Simon J Gerraty  <sjg@beast.crufty.net>
810
811	* VERSION (_MAKE_VERSION): 20200828
812	Merge with NetBSD make, pick up
813	o lst.c: inline LstIsValid and LstNodeIsValid
814	o remove trailing S from Lst function names after migration complete
815	o more comment cleanup/clarification
816	o suff.c: clean up suffix handling
817	o more unit tests
818
8192020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
820
821	* VERSION (_MAKE_VERSION): 20200826
822	Merge with NetBSD make, pick up
823	o enum.c: distinguish between bitsets containing flags and
824	ordinary enums
825	o var.c: fix error message for ::!= modifier with shell error
826	o fix bugs in -DCLEANUP mode
827
8282020-08-24  Simon J Gerraty  <sjg@beast.crufty.net>
829
830	* VERSION (_MAKE_VERSION): 20200824
831	Merge with NetBSD make, pick up
832	o in debug mode, print GNode details in symbols
833
8342020-08-23  Simon J Gerraty  <sjg@beast.crufty.net>
835
836	* VERSION (_MAKE_VERSION): 20200823
837	Merge with NetBSD make, pick up
838	o lst.c: more asserts,
839	make args to Lst_Find match others.
840	o var.c: pass flags to VarAdd
841	o arch.c: use Buffer
842	o str.c: brk_string return size_t for nwords
843	o more unit tests
844
8452020-08-22  Simon J Gerraty  <sjg@beast.crufty.net>
846
847	* VERSION (_MAKE_VERSION):
848	Merge with NetBSD make, pick up
849	o var.c: support for read-only variables eg .SHELL
850	being the shell used to run scripts.
851	o lst.c: more simplification
852	o more documentation and style cleanup
853	o more unit tests
854	o ensure unit-test/Makefile is run by TEST_MAKE
855	o reduce duplication of header inclusion
856
8572020-08-21  Simon J Gerraty  <sjg@beast.crufty.net>
858
859	* VERSION (_MAKE_VERSION): 20200821
860	Merge with NetBSD make, pick up
861	o lst.c: revert invalid assertion - but document it
862	o dir.c: split Dir_Init into two functions
863
8642020-08-20  Simon J Gerraty  <sjg@beast.crufty.net>
865
866	* lst.c: needs inttypes.h on Linux
867
868	* VERSION (_MAKE_VERSION): 20200820
869	Merge with NetBSD make, pick up
870	o make.1: clarify some passages
871	o var.c: more cleanup, clarify comments
872	o make_malloc.c: remove unreachable code
873	o cond.c: make CondGetString easier to debug
874	o simplify list usage
875	o unit-tests: more
876
8772020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
878
879	* VERSION (_MAKE_VERSION): 20200816
880	Merge with NetBSD make, pick up
881	o refactor unit-tests to be more fine grained
882	  not all tests moved yet
883
8842020-08-14  Simon J Gerraty  <sjg@beast.crufty.net>
885
886	* VERSION (_MAKE_VERSION): 20200814
887	Merge with NetBSD make, pick up
888	o more str_concat variants
889	o more enums for flags
890	o var.c: cleanup for higher warnings level
891
8922020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
893
894	* VERSION (_MAKE_VERSION): 20200810
895	Merge with NetBSD make, pick up
896	o more unit tests
897	o general comment and style cleanup
898
8992020-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
900
901	* VERSION (_MAKE_VERSION): 20200808
902	Merge with NetBSD make, pick up
903	o enum.[ch]: streamline, enums for use in flags and debug output
904	o cond.c: cleanup
905	o var.c: reduce duplicate code for modifiers
906	debug logging for Var_Parse
907	more detailed debug output
908	o more unit tests
909
9102020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
911
912	* unit-tests/Makefile: -r for recursive and include Makefile.inc
913	so I can run tests in meta mode
914	supress extra noise if in meta mode
915
916	* VERSION (_MAKE_VERSION): 20200806
917	Merge with NetBSD make, pick up
918	o parse.c: remove VARE_WANTRES for LINT
919	we just want to check parsing (for now).
920
9212020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
922
923	* VERSION (_MAKE_VERSION): 20200805
924	Merge with NetBSD make, pick up
925	o make.1: Rework the description of dependence operators
926
9272020-08-03  Simon J Gerraty  <sjg@beast.crufty.net>
928
929	* VERSION (_MAKE_VERSION): 20200803
930	Merge with NetBSD make, pick up
931	o revert some C99 usage, for max portability
932	o unit-tests/lint
933
9342020-08-02  Simon J Gerraty  <sjg@beast.crufty.net>
935
936	* VERSION (_MAKE_VERSION): 20200802
937	Merge with NetBSD make, pick up
938	o more unit tests
939
9402020-08-01  Simon J Gerraty  <sjg@beast.crufty.net>
941
942	* Remove NetBSD specific plumbing from unit-tests/Makefile
943
944	* VERSION (_MAKE_VERSION): 20200801
945	Merge with NetBSD make, pick up
946	o make Var_Value return const
947	o size_t for buf sizes
948	o optimize some buffer operations - avoid strlen
949
9502020-07-31  Simon J Gerraty  <sjg@beast.crufty.net>
951
952	* VERSION (_MAKE_VERSION): 20200731
953	Merge with NetBSD make, pick up
954	o var.c: fix undefinded behavior for incomplete :t modifier
955	  fixes unit-test/moderrs on Ubuntu
956	o parse.c: When parsing variable assignments other than :=
957	  if DEBUG(LINT) test substition of value, so we get a file and
958	  line number in the resulting error.
959	o dir.c: fix parsing of nested braces in dependency lines
960	  add unit-tests
961
9622020-07-30  Simon J Gerraty  <sjg@beast.crufty.net>
963
964	* VERSION (_MAKE_VERSION): 20200730
965	Merge with NetBSD make, pick up
966	o var.c: minor cleanup
967	o unit-tests: more tests to improve code coverage
968
9692020-07-28  Simon J Gerraty  <sjg@beast.crufty.net>
970
971	* VERSION (_MAKE_VERSION): 20200728
972	Merge with NetBSD make, pick up
973	o var.c: more optimizations
974
9752020-07-26  Simon J Gerraty  <sjg@beast.crufty.net>
976
977	* VERSION (_MAKE_VERSION): 20200726
978	Merge with NetBSD make, pick up
979	o collapse lsd.lib into lst.c - reduce code size and allow inlining
980	o lots of function comment updates
981	o var.c: more optimizations
982	o make return of Var_Parse const
983
9842020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
985
986	* VERSION (_MAKE_VERSION): 20200720
987	Merge with NetBSD make, pick up
988	o DEBUG_HASH report stats at end and tone down the noise
989	o var.c: each flag type gets its own prefix.
990	move SysV string matching to var.c
991	make ampersand in ${VAR:from=to&} an ordinary character
992	cleanup and simplify implementation of modifiers
993	o make.1: move documentation for assignment modifiers
994
9952020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
996
997	* VERSION (_MAKE_VERSION): 20200718
998	Merge with NetBSD make, pick up
999	o DEBUG_HASH to see how well the hash tables are working
1000
10012020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
1002
1003	* bsd.after-import.mk: make sure we update unit-tests/Makefile
1004
10052020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
1006
1007	* configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC
1008
1009	* VERSION (_MAKE_VERSION): 20200710
1010	Merge with NetBSD make, pick up
1011	o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall
1012	o meta.c: target flagged .META is out-of-date if meta file missing
1013
10142020-07-09  Simon J Gerraty  <sjg@beast.crufty.net>
1015
1016	* VERSION (_MAKE_VERSION): 20200709
1017	Merge with NetBSD make, pick up
1018	o cond.c: fix for compare_expression when doEval=0
1019	o unit-tests/Makefile: rework
1020	o filemon/filemon_dev.c: ensure filemon fd is closed on exec.
1021
10222020-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
1023
1024	* VERSION (_MAKE_VERSION): 20200704
1025	Merge with NetBSD make, pick up
1026	(most of this by rillig@)
1027	o lots of style and white-space cleanup
1028	o lots more unit tests for variable modifiers
1029	o simplified description of some functions
1030	o str.c: refactor Str_Match
1031	o var.c: debugging output for :@
1032	  constify VarModify parameter
1033	  fix :hash modifier on 16-bit platforms
1034	  remove unnecessary forward declarations
1035	  refactor ApplyModifier_SysV to have less indentation
1036	  simplify code for :E and :R
1037	  clean up code for :H and :T
1038	  refactor ApplyModifiers
1039
1040	* var.c: we need stdint.h on some platforms to get uint32_t
1041	* unit-test/Makefile: we need to supress the specific error
1042	for RE substitution error in modmisc, since it varies accross
1043	different OS.
1044
10452020-07-02  Simon J Gerraty  <sjg@beast.crufty.net>
1046
1047	* VERSION (_MAKE_VERSION): 20200702
1048	Merge with NetBSD make, pick up
1049	o var.c: more improvements to avoiding unnecessary evaluation
1050	use enums for flags
1051	o remove flags arg to Var_Set which outside of var.c is always 0
1052
10532020-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
1054
1055	* VERSION (_MAKE_VERSION): 20200701
1056	Merge with NetBSD make, pick up
1057	o var.c: with change to cond.c; ensure that nested variables
1058	within a variable name are expanded.
1059	o unit-tests/varmisc.mk: test for nested varname
1060
10612020-06-29  Simon J Gerraty  <sjg@beast.crufty.net>
1062
1063	* VERSION (_MAKE_VERSION): 20200629
1064	Merge with NetBSD make, pick up
1065	o cond.c: do not eval unnecessary terms of conditionals.
1066
10672020-06-25  Simon J Gerraty  <sjg@beast.crufty.net>
1068
1069	* VERSION (_MAKE_VERSION): 20200625
1070	Merge with NetBSD make, pick up
1071	o meta.c: report error if lseek in filemon_read fails
1072
10732020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
1074
1075	* VERSION (_MAKE_VERSION): 20200622
1076	Merge with NetBSD make, pick up
1077	o dieQuietly: ignore OP_SUBMAKE as too aggressive
1078
10792020-06-19  Simon J Gerraty  <sjg@beast.crufty.net>
1080
1081	* VERSION (_MAKE_VERSION): 20200619
1082	Merge with NetBSD make, pick up
1083	o str.c: performance improvement for Str_Match for multiple '*'
1084	o dieQuietly: supress the failure output from make
1085	when failing node is a sub-make or a sibling failed.
1086	This cuts down greatly on unhelpful noise at the end of
1087	build log.  Disabled by -dj or .MAKE.DIE_QUIETLY=no
1088
10892020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
1090
1091	* FILES: add LICENSE to appease some packagers.
1092	This is an attempt to fairly represent the license on almost
1093	200 files, which are almost all BSD-3-Clause
1094	The few exceptions being more liberal.
1095
1096	* VERSION (_MAKE_VERSION): 20200610
1097	Merge with NetBSD make, pick up
1098	o unit test for :Or
1099
11002020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
1101
1102	* VERSION (_MAKE_VERSION): 20200606
1103	Merge with NetBSD make, pick up
1104	o make.1: cleanup
1105
1106	* Makefile: fix depends for main.o which broke MAKE_VERSION
1107
11082020-06-05  Simon J Gerraty  <sjg@beast.crufty.net>
1109
1110	* VERSION (_MAKE_VERSION): 20200605
1111	Merge with NetBSD make, pick up
1112	o dir.c: cached_stats - don't confuse stat and lstat results.
1113	o var.c: add :Or for reverse sort.
1114
11152020-05-24  Simon J Gerraty  <sjg@beast.crufty.net>
1116
1117	* configure.in: add AC_PROG_CC_C99 for mipspro compiler
1118	also if --with-filemon= specifies path to filemon.h
1119	set use_filemon=dev
1120	* dirname.c: remove include of namespace.h
1121
11222020-05-17  Simon J Gerraty  <sjg@beast.crufty.net>
1123
1124	* VERSION (_MAKE_VERSION): 20200517
1125	Merge with NetBSD make, pick up
1126	o modified dollar tests to avoid shell dependencies
1127	o new tests for .INCLUDEFROM
1128
11292020-05-16  Simon J Gerraty  <sjg@beast.crufty.net>
1130
1131	* unit-tests/dollar.mk: tweak  '1 dollar literal' test
1132	to not depend so much on shell behavior
1133
11342020-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
1135
1136	* VERSION (_MAKE_VERSION): 20200510
1137	Merge with NetBSD make, pick up
1138	o unit test for dollar handling
1139
11402020-05-06  Simon J Gerraty  <sjg@beast.crufty.net>
1141
1142	* VERSION (_MAKE_VERSION): 20200506
1143	Merge with NetBSD make, pick up
1144	o str.c: empty string does not match % pattern
1145	  plus unit-test changes
1146
11472020-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
1148
1149	* VERSION (_MAKE_VERSION): 20200504
1150	May the 4th be with you
1151	Merge with NetBSD make, pick up
1152	o var.c: import handling of old sysV style modifier using '%'
1153	o str.c: refactor brk_string
1154	o unit-tests: add test case for lazy conditions
1155
11562020-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
1157
1158	* VERSION (_MAKE_VERSION): 20200418
1159
1160	* configure.in: use_makefile=no for cygwin et al.
1161	case insensitive filesystems just don't work if both
1162	makefile and Makefile exist.
1163	NOTE: bmake does not support cygwin and likely never will,
1164	but if brave souls want to try it - help them out.
1165
11662020-04-02  Simon J Gerraty  <sjg@beast.crufty.net>
1167
1168	* VERSION (_MAKE_VERSION): 20200402
1169	Merge with NetBSD make, pick up
1170	o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD
1171	  a blank command is perfectly valid.
1172
11732020-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
1174
1175	* VERSION (_MAKE_VERSION): 20200330
1176	Merge with NetBSD make, pick up
1177	o make.h: extern debug_file
1178
11792020-03-18  Simon J Gerraty  <sjg@beast.crufty.net>
1180
1181	* VERSION (_MAKE_VERSION): 20200318
1182	Merge with NetBSD make, pick up
1183	o meta.c: meta_oodate, check for corrupted meta file
1184	  earlier and more often.
1185
11862020-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
1187
1188	* VERSION (_MAKE_VERSION): 20200220
1189
11902020-02-19  Simon J Gerraty  <sjg@beast.crufty.net>
1191
1192	* boot-strap: unset MAKEFLAGS
1193
11942020-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
1195
1196	* VERSION (_MAKE_VERSION): 20200212
1197	* meta.c: meta_compat_parent check for USE_FILEMON
1198	  patch from Soeren Tempel
1199
12002020-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
1201
1202	* VERSION: 20200205
1203	Merge with NetBSD make, pick up
1204	o meta.c: fix compat mode, need to call meta_job_output()
1205	o job.c: extra fds for meta mode not needed if using filemon_dev
1206
12072020-01-22  Simon J Gerraty  <sjg@beast.crufty.net>
1208
1209	* VERSION: 20200122
1210	Merge with NetBSD make, pick up
1211	o meta.c: avoid passing NULL to filemon_*() when meta_needed()
1212	  returns FALSE.
1213
12142020-01-21  Simon J Gerraty  <sjg@beast.crufty.net>
1215
1216	* VERSION: 20200121
1217	Merge with NetBSD make, pick up
1218	o filemon/filemon_{dev,ktrace}.c: allow selection of
1219	  filemon implementation.  filemon_dev.c uses the kernel module
1220	  while filemon_ktrace.c leverages the fktrace api available in
1221	  NetBSD.  filemon_ktrace.c can hopefully form the basis for
1222	  adding support for other tracing mechanisms such as strace on
1223	  Linux.
1224	o meta.c: when target is out-of-date per normal make rules
1225	  record value of .OODATE in meta file.
1226
12272019-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
1228
1229	* VERSION: 20190926
1230	  Merge with NetBSD make, pick up
1231	  o parse.c: don't pass NULL to realpath(3)
1232	    some versions cannot handle it.
1233
12342019-04-09  Simon J Gerraty  <sjg@beast.crufty.net>
1235
1236	* VERSION: 20190409
1237	  Merge with NetBSD make, pick up
1238	  o parse.c: ParseDoDependency: free paths rather than assert
1239
12402018-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
1241
1242	* VERSION: 20181222
1243
1244	* configure.in: add --without-makefile to avoid generating
1245	  makefile and make-bootstrap.sh
1246
1247	* include Makefile.inc if it exists
1248
1249	* Use Makefile and Makefile.config.in in unit-tests
1250	  so we can use just: make obj && make && make test
1251	  when bmake is already available.
1252	  We add --without-makefile to CONFIGURE_ARGS in this case.
1253
1254	* tweak bsd.after-import.mk (captures Makefile.config etc
1255	  after import to FreeBSD for example) to cope with all the above.
1256
12572018-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
1258
1259	* VERSION: 20181221
1260	  Merge with NetBSD make, pick up
1261	  o parse.c: ParseVErrorInternal use .PARSEDIR
1262	    and apply if relative, and then use .PARSEFILE
1263	    for consistent result.
1264
12652018-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
1266
1267	* VERSION: 20181220
1268	  Merge with NetBSD make, pick up
1269	  o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR
1270	    is relative
1271	  o var.c: avoid SEGFAULT in .unexport-env
1272	    when MAKELEVEL is not set
1273
12742018-12-16  Simon J Gerraty  <sjg@beast.crufty.net>
1275
1276	* VERSION: 20181216
1277	  Merge with NetBSD make, pick up
1278	  o fix for unit-tests/varquote.mk on Debian
1279
12802018-09-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1281
1282	* VERSION: 20180919
1283	  Merge with NetBSD make, pick up
1284	  o var.c: add :q
1285	  o dir.c: cleanup caching of stats
1286
12872018-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
1288
1289	* Makefile.config.in: use += where it makes sense.
1290
12912018-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1292
1293	* VERSION: 20180512
1294	  Merge with NetBSD make, pick up
1295	  o job.c: skip polling job token pipe
1296
12972018-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1298
1299	* VERSION: 20180405
1300	  Merge with NetBSD make, pick up
1301	  o parse.c: be more cautious about detecting depenency line
1302	    rather than sysV style include.
1303
13042018-02-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1305
1306	* VERSION: 20180222
1307	  Merge with NetBSD make, pick up
1308	  o parse.c: avoid calling sysconf for every call to loadfile
1309
13102018-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1311
1312	* VERSION: 20180218
1313	  Merge with NetBSD make, pick up
1314	  o var.c: Var_Set handle NULL value anytime.
1315
13162018-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1317
1318	* VERSION: 20180212
1319	  Merge with NetBSD make, pick up
1320	  o parse.c: do not treat .info as warning with -W
1321
13222017-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1323
1324	* VERSION: 20171207
1325	  Merge with NetBSD make, pick up
1326	  o var.c: Var_Append use Var_Set if var not previously set
1327	    so that VAR_CMD is handled correctly.
1328	    Add a suitable unit-test.
1329
13302017-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1331
1332	* VERSION (_MAKE_VERSION): 20171126
1333
1334	* aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
1335	  since AC_TRY_COMPILE puts input inside main()
1336	  which upsets modern compilers.
1337
13382017-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1339
1340	* VERSION: 20171118
1341	  Merge with NetBSD make, pick up
1342	  o var.c: do not append to variable set on command line
1343	    add unit-test to catch this.
1344
13452017-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1346
1347	* VERSION: 20171028
1348	  Merge with NetBSD make, pick up
1349	  o main.c: ignore empty MAKEOBJDIR
1350
1351	* Makefile.config.in:
1352	  make @prefix@ @machine*@ and @default_sys_path@ defaults.
1353
13542017-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1355
1356	* VERSION: 20171005
1357
1358	* unit-tests/dotwait.mk: redirect stderr through pipe for more
1359	  consistent result on some platforms.
1360
13612017-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1362
1363	* machine.sh: entry for AIX
1364
13652017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1366
1367	* VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
1368	  to a file that can be included by configure as well as make.
1369	  This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
1370
13712017-08-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1372
1373	* Makefile (_MAKE_VERSION): 20170810
1374	  Merge with NetBSD make, pick up
1375	  o meta.c: if target is in subdir we only need subdir name in
1376	    meta_name.
1377
13782017-07-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1379
1380	* Makefile (_MAKE_VERSION): 20170720
1381	  Merge with NetBSD make, pick up
1382	  o compat.c: pass SIGINT etc onto child and wait for it to exit
1383	    before we self-terminate.
1384
13852017-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1386
1387	* Makefile (_MAKE_VERSION): 20170711
1388	  forgot to update after merge on 20170708 ;-)
1389	  o main.c: refactor to reduce size of main function.
1390	    add -v option to always fully expand values.
1391	  o meta.c: ensure command output in meta file has ending newline
1392	    even when filemon not being used.
1393	    When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
1394	    pathname via ':L' since any ':' in pathname breaks that.
1395	    Instead set a '${.p.}' to pathname in the target context and
1396	    use that.
1397
13982017-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1399
1400	* Makefile (_MAKE_VERSION): 20170510
1401	  Merge with NetBSD make, pick up
1402	  o main.c: Main_SetObjdir: ensure buf2 is in scope
1403
14042017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1405
1406	* Makefile (_MAKE_VERSION): 20170505
1407	  see mk/ChangeLog
1408
14092017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1410
1411	* parse.c: not everyone has stdint.h
1412
14132017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1414
1415	* Makefile (_MAKE_VERSION): 20170501
1416	  see mk/ChangeLog
1417
14182017-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1419
1420	* Makefile (_MAKE_VERSION): 20170421
1421	  Merge with NetBSD make, pick up
1422	  o str.c: Str_Match: fix closure tests for [^] and add unit-test.
1423
14242017-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1425
1426	* Makefile (_MAKE_VERSION): 20170420
1427	  Merge with NetBSD make, pick up
1428	  o main.c: only use -C arg "as is" if it contains no
1429	    relative component.
1430
14312017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1432
1433	* Makefile (_MAKE_VERSION): 20170418
1434	  Merge with NetBSD make, pick up
1435	  o main.c: fix Main_SetObjdir() for relative paths (eg obj).
1436
14372017-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1438
1439	* Makefile (_MAKE_VERSION): 20170417
1440	  Merge with NetBSD make, pick up
1441	  o fixes a number of coverity complaints
1442	    - check return value of fseek, fcntl
1443	    - plug memory leak in Dir_FindFile, Var_LoopExpand,
1444	      JobPrintCommand, ParseTraditionalInclude
1445	    - use bmake_malloc() where NULL is not tollerated
1446	    - use MAKE_ATTR_UNUSED rather that kludges like
1447	      return(unused ? 0 : 0)
1448	    - use purge_cached_realpaths() rather than abuse cached_realpath()
1449
14502017-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1451
1452	* Makefile (_MAKE_VERSION): 20170413
1453	  Merge with NetBSD make, pick up
1454	  o main.c: when setting .OBJDIR ignore '$' in paths.
1455
1456	* job.c: use MALLOC_OPTIONS to set malloc_options.
1457
14582017-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1459
1460	* Makefile (_MAKE_VERSION): 20170411
1461	  Merge with NetBSD make, pick up
1462	  o str.c: Str_Match: allow [^a-z] to behave as expected.
1463
14642017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1465
1466	* Makefile (_MAKE_VERSION): 20170326
1467	  Merge with NetBSD make, pick up
1468	  o main.c: purge relative paths from realpath cache when .OBJDIR
1469	    is changed.
1470
14712017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1472
1473	* Makefile (_MAKE_VERSION): 20170311
1474	  Merge with NetBSD make, pick up
1475          o main.c: only use -C arg "as is" if it starts with '/'.
1476
14772017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1478
1479	* Makefile (_MAKE_VERSION): 20170301
1480	  Merge with NetBSD make, pick up
1481	  o main.c: use -C arg "as is" rather than getcwd()
1482	    if they identify the same directory.
1483	  o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
1484
14852017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1486
1487	* Makefile (_MAKE_VERSION): 20170201
1488	  Merge with NetBSD make, pick up
1489	  o var.c: allow :_=var and avoid use of special context.
1490
14912017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1492
1493	* Makefile (_MAKE_VERSION): 20170130
1494	  Merge with NetBSD make, pick up
1495	  o var.c: add :range and :_
1496	  o main.c: partially initialize Dir_* before MainParseArgs()
1497	    can be called.
1498	    If -V, skip Main_ExportMAKEFLAGS()
1499
15002017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1501
1502	* Makefile (_MAKE_VERSION): 20170114
1503	  Merge with NetBSD make, pick up
1504	  o var.c: allow specifying the utc value used by :{gm,local}time
1505
15062016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1507
1508	* Makefile (_MAKE_VERSION): 20161212
1509	  Merge with NetBSD make, pick up
1510          o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
1511
15122016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1513
1514	* Makefile (_MAKE_VERSION): 20161209
1515	  Merge with NetBSD make, pick up
1516	  o main.c: cleanup setting of .OBJDIR
1517	  o parse.c: avoid coredump from (var)=val
1518
15192016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1520
1521	* Makefile (_MAKE_VERSION): 20161126
1522	  Merge with NetBSD make, pick up
1523	  o make.c: Make_OODate: report src node name if path not set
1524
15252016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1526
1527	* Makefile (_MAKE_VERSION): 20160926
1528	  Merge with NetBSD make, pick up
1529	  o support for .DELETE_ON_ERROR: (remove targets that fail)
1530
15312016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1532
1533	* Makefile MAN: tweak .Dt to match ${PROG}
1534
15352016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1536
1537	* Makefile (_MAKE_VERSION): 20160818
1538	  its a neater number; pick up whitespace fixes to man page.
1539
15402016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1541
1542	* Makefile (_MAKE_VERSION): 20160817
1543	  Merge with NetBSD make, pick up
1544	  o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
1545	    so we can call it before adding entries to missingFiles.
1546	    Thus we do not track files we have been told to ignore.
1547
15482016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1549
1550	* Makefile (_MAKE_VERSION): 20160815
1551	  Merge with NetBSD make, pick up
1552	  o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
1553	    pathnames, and skip if the expansion is empty.
1554	    Useful for dirdeps.mk when checking DIRDEPS_CACHE.
1555
15562016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1557
1558	* Makefile (_MAKE_VERSION): 20160812
1559	  Merge with NetBSD make, pick up
1560	  o meta.c: remove all missingFiles entries that match a deleted
1561	    dir.
1562	  o main.c: set .ERROR_CMD if possible.
1563
15642016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1565
1566	* Makefile (_MAKE_VERSION): 20160606
1567	  Merge with NetBSD make, pick up
1568	  o dir.c: extend mtimes cache to others via cached_stat()
1569
15702016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1571
1572	* Makefile (_MAKE_VERSION): 20160604
1573	  Merge with NetBSD make, pick up
1574	  o meta.c: missing filemon data is only relevant if we read a
1575	    meta file.
1576	    Also do not return oodate for a missing metafile if gn->path
1577	    points to .CURDIR
1578
15792016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1580
1581	* Makefile (_MAKE_VERSION): 20160602
1582	  Merge with NetBSD make, pick up
1583	  o cached_realpath(): avoid hitting filesystem more than necessary.
1584	  o meta.c: refactor need_meta decision, add knobs for
1585	    missing meta file and filemon data wrt out-of-datedness.
1586
15872016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1588
1589	* Makefile (_MAKE_VERSION): 20160528
1590
1591	* boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
1592
15932016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1594
1595	* Makefile (_MAKE_VERSION): 20160512
1596	  Merge with NetBSD make, pick up
1597	  o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
1598	    this is useful for gcov builds.
1599	  o propagate errors from filemon(4).
1600
16012016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1602
1603	* Makefile (_MAKE_VERSION): 20160509
1604	  Merge with NetBSD make, pick up
1605	  o remove use of non-standard types u_int etc.
1606	  o meta.c: apply realpath() before matching against metaIgnorePaths
1607
16082016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1609
1610	* Makefile (_MAKE_VERSION): 20160404
1611	  Merge with NetBSD make, pick up
1612	  o allow makefile to set .MAKE.JOBS
1613
1614	* Makefile (PROG_NAME): use ${_MAKE_VERSION}
1615
16162016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1617
1618	* Makefile (_MAKE_VERSION): 20160315
1619	  Merge with NetBSD make, pick up
1620	  o fix handling of archive members
1621
16222016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1623
1624	* Makefile (_MAKE_VERSION): rename variable to avoid interference
1625	  with checks for ${MAKE_VERSION}
1626
16272016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1628
1629	* Makefile (MAKE_VERSION): 20160310
1630	  Merge with NetBSD make, pick up
1631	  o meta.c: treat missing Read file same as Write, incase we Delete it.
1632
16332016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1634
1635	* Makefile (MAKE_VERSION): 20160307
1636	  Merge with NetBSD make, pick up
1637	  o var.c: fix :ts\nnn to be octal by default.
1638	  o meta.c: meta_finish() to cleanup memory.
1639
16402016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1641
1642	* Makefile (MAKE_VERSION): 20160226
1643	  Merge with NetBSD make, pick up
1644	  o meta.c: allow meta file for makeDepend if makefiles want it.
1645
16462016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1647
1648	* var.c: default .MAKE.SAVE_DOLLARS to FALSE
1649	  for backwards compatability.
1650
1651	* Makefile (MAKE_VERSION): 20160220
1652	  Merge with NetBSD make, pick up
1653	  o var.c: add knob to control handling of '$$' in :=
1654
16552016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1656
1657	* Makefile (MAKE_VERSION): 20160218
1658	  Merge with NetBSD make, pick up
1659	  o var.c: add .export-literal allows us to fix sys.clean-env.mk
1660	    post the changes to Var_Subst.
1661	    Var_Subst now takes flags, and does not consume '$$' in :=
1662
16632016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1664
1665	* Makefile (MAKE_VERSION): 20160217
1666	  Merge with NetBSD make, pick up
1667	  o var.c: preserve '$$' in :=
1668	  o parse.c: add .dinclude for handling included
1669	    makefile like .depend
1670
16712015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1672
1673	* Makefile (MAKE_VERSION): 20151220
1674	  Merge with NetBSD make, pick up
1675	  o suff.c: re-initialize suffNull when clearing suffixes.
1676
16772015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1678
1679	* Makefile (MAKE_VERSION): 20151201
1680	  Merge with NetBSD make, pick up
1681	  o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
1682	  o meta.c: meta_oodate: use lstat(2) for checking link target
1683	    in case it is a symlink.
1684	  o var.c: avoid calling brk_string and Var_Export1 with empty
1685	    strings.
1686
16872015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1688
1689	* Makefile (MAKE_VERSION): 20151126
1690	  Merge with NetBSD make, pick up
1691	  o parse.c: ParseTrackInput don't access beyond
1692	    end of old value.
1693
16942015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1695
1696	* Makefile (MAKE_VERSION): 20151022
1697
1698	* Add support for BSD/OS which lacks inttypes.h
1699	  and really needs sys/param.h for sys/sysctl.h
1700	  also 'type' is not a shell builtin.
1701
1702	* var.c: eliminate uint32_t and need for inttypes.h
1703
1704	* main.c: PrintOnError flush stdout before run .ERROR
1705
1706	* parse.c: cope with _SC_PAGESIZE not being defined.
1707
1708
17092015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1710
1711	* Makefile (MAKE_VERSION): 20151020
1712	  Merge with NetBSD make, pick up
1713	  o var.c: fix uninitialized var
1714
17152015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1716
1717	* var.c: the conditional expressions used with ':?' can be
1718	expensive, if already discarding do not evaluate or expand
1719	anything.
1720
17212015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1722
1723	* Makefile (MAKE_VERSION): 20151010
1724	  Merge with NetBSD make, pick up
1725	  o Add Boolean wantit flag to Var_Subst and Var_Parse
1726	    when FALSE we know we are discarding the result and can
1727	    skip operations like Cmd_Exec.
1728
17292015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1730
1731	* Makefile (MAKE_VERSION): 20151009
1732	  Merge with NetBSD make, pick up
1733	  o var.c: don't check for NULL before free()
1734	  o meta.c: meta_oodate, do not hard code ignore of makeDependfile
1735
17362015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1737
1738	* Makefile (MAKE_VERSION): 20150910
1739	  Merge with NetBSD make, pick up
1740	  o main.c: with -w print Enter/Leaving messages for objdir too
1741	    if necessary.
1742	  o centralize shell metachar handling
1743
1744	* FILES: add metachar.[ch]
1745
17462015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1747
1748	* Makefile (MAKE_VERSION): 20150606
1749	  Merge with NetBSD make, pick up
1750	  o make.1: document .OBJDIR target
1751
17522015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1753
1754	* Makefile (MAKE_VERSION): 20150505
1755	  Merge with NetBSD make, pick up
1756	  o cond.c: be strict about lhs of comparison when evaluating .if
1757	    but less so when called from variable expansion.
1758	  o unit-tests/cond2.mk: test various error conditions
1759
17602015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1761
1762	* machine.sh (MACHINE): Add Bitrig
1763	  patch from joerg@netbsd.org
1764
17652015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1766
1767	* Makefile (MAKE_VERSION): 20150418
1768	  Merge with NetBSD make, pick up
1769	  o job.c: use memmove() rather than memcpy()
1770
1771	* unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
1772	  case, so skip it.
1773
17742015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1775
1776	* Makefile (MAKE_VERSION): 20150411
1777	  bump version - only mk/ changes.
1778
17792015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1780
1781	* Makefile (MAKE_VERSION): 20150410
1782	  Merge with NetBSD make, pick up
1783	  o document different handling of '-' in jobs mode vs compat
1784	  o fix jobs mode so that '-' only applies to whole job
1785	    when shell lacks hasErrCtl
1786	  o meta.c: use separate vars to track lcwd and latestdir (read)
1787	    per process
1788
17892015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1790
1791	* Makefile (MAKE_VERSION): 20150401
1792	  Merge with NetBSD make, pick up
1793	  o meta.c: close meta file in child
1794
1795	* Makefile: use BINDIR.bmake if set.
1796	  Same for MANDIR and SHAREDIR
1797	  Handy for testing release candidates
1798	  in various environments.
1799
18002015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1801
1802	* move initialization of savederr to block where it is used
1803	  to avoid spurious warning from gcc5
1804
18052014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1806
1807	* Makefile (MAKE_VERSION): 20141111
1808	  just a cooler number
1809
18102014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1811
1812	* Makefile (MAKE_VERSION): 20141105
1813	  Merge with NetBSD make, pick up
1814	  o revert major overhaul of suffix handling
1815	    and POSIX compliance - too much breakage
1816	    and impossible to make backwards compatible.
1817	  o we still have the new unit test structure which is ok.
1818	  o meta.c ensure "-- filemon" is at start of line.
1819
18202014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1821
1822	* configure.in: test that result of getconf PATH_MAX is numeric
1823	  and discard if not.  Apparently needed for Hurd.
1824
18252014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1826
1827	* Makefile (MAKE_VERSION): 20140830
1828	  Merge with NetBSD make, pick up
1829	  o major overhaul of suffix handling
1830	  o improved POSIX compliance
1831	  o overhauled unit-tests
1832
18332014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1834
1835	* Makefile (MAKE_VERSION): 20140620
1836	  Merge with NetBSD make, pick up
1837	  o var.c return varNoError rather than var_Error for ::= modifiers.
1838
18392014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1840
1841	* Makefile (MAKE_VERSION): 20140522
1842	  Merge with NetBSD make, pick up
1843	  o var.c detect some parse errors.
1844
18452014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1846
1847	* Fix spelling errors - patch from Pedro Giffuni
1848
18492014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1850
1851	* Makefile (MAKE_VERSION): 20140214
1852	  Merge with NetBSD make, pick up
1853	  o .INCLUDEFROM*
1854	  o use Var_Value to get MAKEOBJDIR[PREFIX]
1855	  o reduced realloc'ign in brk_string.
1856	* configure.in: add a check for compiler supporting __func__
1857
18582014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1859
1860	* boot-strap: ignore mksrc=none
1861
18622014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1863
1864	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
1865
18662014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1867
1868	* Makefile (MAKE_VERSION): 20140101
1869	* configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
1870	* Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
1871	* make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
1872	  Hurd)
1873	* configure.in: Add AC_PREREQ and check for
1874	  sysctl; patch from Andrew Shadura andrewsh at debian.org
1875
18762013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1877
1878	* Makefile (MAKE_VERSION): 20131010
1879	* lose the const from arg to systcl to avoid problems on older BSDs.
1880
18812013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1882
1883	* Makefile (MAKE_VERSION): 20131001
1884	  Merge with NetBSD make, pick up
1885	  o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
1886	    hw.machine_arch if necessary.
1887	  o meta.c: meta_oodate - need to look at src of Link and target
1888	    of Move as well.
1889	* main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
1890	  provide __arraycount() if needed.
1891
18922013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1893
1894	* Makefile (MAKE_VERSION): 20130904
1895	  Merge with NetBSD make, pick up
1896	  o Add VAR_INTERNAL context, so that internal setting of
1897	    MAKEFILE does not override value set by makefiles.
1898
18992013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1900
1901	* Makefile (MAKE_VERSION): 20130902
1902	  Merge with NetBSD make, pick up
1903	  o CompatRunCommand: only apply shellErrFlag when errCheck is true
1904
19052013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1906
1907	* Makefile (MAKE_VERSION): 20130828
1908	  Merge with NetBSD make, pick up
1909	  o Fix VAR :sh = syntax from Will Andrews at freebsd.org
1910	  o Call Job_SetPrefix() from Job_Init() so makefiles have
1911	    opportunity to set .MAKE.JOB.PREFIX
1912
19132013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1914
1915	* Makefile (MAKE_VERSION): 20130730
1916	  Merge with NetBSD make, pick up
1917	  o Allow suppression of --- job -- tokens by setting
1918	    .MAKE.JOB.PREFIX empty.
1919
19202013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1921
1922	* Makefile (MAKE_VERSION): 20130716
1923	  Merge with NetBSD make, pick up
1924	  o number of gmake compatibility tweaks
1925	    -w for gmake style entering/leaving messages
1926	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
1927	    handle MAKEFLAGS containing only letters.
1928	  o when overriding a GLOBAL variable on the command line,
1929	    delete it from GLOBAL context so -V doesn't show the wrong
1930	    value.
1931
19322013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1933
1934	* configure.in: We don't need MAKE_LEVEL_SAFE anymore.
1935
1936	* Makefile (MAKE_VERSION): 20130706
1937	  Merge with NetBSD make, pick up
1938	  o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
1939	    true so that CompatRunCommand() can use it, to ensure
1940	    consistent behavior with jobs mode.
1941	  o use MAKE_LEVEL_ENV to define the variable to propagate
1942	    .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
1943	  o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
1944	    paths to ignore.
1945
19462013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1947
1948	* Makefile (MAKE_VERSION): 20130604
1949	  Merge with NetBSD make, pick up
1950	  o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
1951	    to avoid leaking descriptors.
1952
19532013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1954
1955	* Makefile (MAKE_VERSION): 20130528
1956	  Merge with NetBSD make, pick up
1957	  o var.c: cleanup some left-overs in VarHash()
1958
19592013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1960
1961	* Makefile (MAKE_VERSION): 20130520
1962	  generate manifest from component FILES rather than have to
1963	  update FILES when mk/FILES changes.
1964
19652013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1966
1967	* Makefile (MAKE_VERSION): 20130518
1968	  Merge with NetBSD make, pick up
1969	  o suff.c: don't skip all processsing for .PHONY targets
1970	    else wildcard srcs do not get expanded.
1971	  o var.c: expand name of variable to delete if necessary.
1972
19732013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1974
1975	* Makefile (MAKE_VERSION): 20130330
1976	  Merge with NetBSD make, pick up
1977	  o meta.c: refine the handling of .OODATE in commands.
1978	    Rather than suppress command comparison for the entire script
1979	    as though .NOMETA_CMP had been used, only suppress it for the
1980	    one command line.
1981	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
1982	    suppress comparison of a command without otherwise affecting it.
1983	  o make.1: document that
1984
19852013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1986
1987	* Makefile (MAKE_VERSION): 20130321
1988	  yes, not quite right but its a cooler number.
1989	  Merge with NetBSD make, pick up
1990	  o parse.c: fix ParseGmakeExport to be portable
1991	    and add a unit-test.
1992	* meta.c: call meta_init() before makefiles are read and if built
1993	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
1994	  this let's makefiles test for support.
1995	  Call meta_mode_init() to process .MAKE.MODE.
1996
19972013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1998
1999	* Makefile (MAKE_VERSION): 20130305
2000	  Merge with NetBSD make, pick up
2001	  o run .STALE: target when a dependency from .depend is missing.
2002	  o job.c: add Job_RunTarget() for the above and .BEGIN
2003
20042013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2005
2006	* Makefile (MAKE_VERSION): 20130303
2007	  Merge with NetBSD make, pick up
2008	  o main.c: set .MAKE.OS to utsname.sysname
2009	  o job.c: more checks for read and poll errors
2010	  o var.c: lose VarChangeCase() saves 4% time
2011
20122013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2013
2014	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
2015	  want to use MAKEOBJDIR
2016
20172013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
2018
2019	* Merge with NetBSD make, pick up
2020	  o make.1: more info on how shell commands are handled.
2021	  o job.c,main.c: detect write errors to job pipes.
2022
20232013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2024
2025	* Makefile (MAKE_VERSION): 20130123
2026	  Merge with NetBSD make, pick up
2027	  o meta.c: if script uses .OODATE and meta_oodate() decides
2028	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
2029	  o var.c: in debug output indicate which variabale modifiers
2030	    apply to.
2031	  o remove Check_Cwd logic the makefiles have been fixed.
2032
20332012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2034
2035	* makefile.in: add a simple makefile for folk who insist on
2036	  ./configure; make; make install
2037	  it just runs boot-strap
2038	* include mk/* to accommodate the above
2039	* boot-strap:  re-work to accommodate the above
2040	  mksrc defaults to $Mydir/mk
2041	  allow op={configure,build,install,clean,all}
2042	  add options to facilitate install
2043	* Makefile.config.in: just the bits set by configure
2044	* Makefile: bump version to 20121212
2045	  abandon Makefile.in (NetBSD Makefile)
2046	  leverage mk/* instead
2047	* configure.in: ensure srcdir is absolute
2048
20492012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2050
2051	* Makefile.in (MAKE_VERSION): 20121111
2052	  fix generation of bmake.cat1
2053
20542012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2055
2056	* Makefile.in (MAKE_VERSION): 20121109
2057	  Merge with NetBSD make, pick up
2058	  o make.c: MakeBuildChild: return 0 so search continues if a
2059	    .ORDER dependency is detected.
2060	  o unit-tests/order: test the above
2061
20622012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2063
2064	* Makefile.in (MAKE_VERSION): 20121102
2065	  Merge with NetBSD make, pick up
2066	  o cond.c: allow cond_state[] to grow.
2067	    In meta mode with a very large tree, we can hit the limit
2068	    while processing dirdeps.
2069
20702012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2071
2072	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
2073
20742012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2075
2076	* Makefile.in (MAKE_VERSION): 20121010
2077	  o protect syntax that only bmake parses correctly.
2078	  o remove auto setting of FORCE_MACHINE, use configure's
2079	    --with-force-machine=whatever if that is desired.
2080
20812012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2082
2083	* Makefile.in: do not lose history from make.1 when generating bmake.1
2084
20852012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2086
2087	* Makefile.in (MAKE_VERSION): 20121007
2088	  Merge with NetBSD make, pick up
2089	  o compat.c: ignore empty commands - same as jobs mode.
2090	  o make.1: document meta chars that cause use of shell
2091
20922012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2093
2094	* Makefile.in (MAKE_VERSION): bump version to 20120911
2095	* bsd.after-import.mk: include Makefile.inc early and allow it to
2096	  override PROG
2097
20982012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
2099
2100	* Makefile.in (MAKE_VERSION): bump version to 20120831
2101	  Merge with NetBSD make, pick up
2102	  o cast sizeof() to int for comparison
2103	  o minor make.1 tweak
2104
21052012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2106
2107	* Makefile.in (MAKE_VERSION): bump version to 20120830
2108	  Merge with NetBSD make, pick up
2109	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
2110	  o debug flag -dV causes -V to show raw value regardless.
2111
21122012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2113
2114	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
2115	  gets SRCTOP set.
2116
21172012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2118
2119	* Makefile.in (MAKE_VERSION): bump version to 20120704
2120	  Merge with NetBSD make, pick up
2121	  o Job_ParseShell should call Shell_Init if it has been
2122	    previously called.
2123	* Makefile.in: set USE_META based on configure result.
2124	  also .PARSEDIR is safer indicator of bmake.
2125
21262012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2127
2128	* Makefile.in: bump version to 20120626
2129	  ensure CPPFLAGS is in CFLAGS
2130	* meta.c: avoid nested externs
2131	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
2132
21332012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2134
2135	* Makefile.in (MAKE_VERSION): bump version to 20120620
2136	  Merge with NetBSD make, pick up
2137	  o make_malloc.c: avoid including make_malloc.h again
2138
2139	* Makefile.in: avoid bmake only syntax or protect with
2140	  .if defined(.MAKE.LEVEL)
2141	* bsd.after-import.mk: replace .-include with .sinclude
2142	  ensure? SRCTOP gets a value
2143	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
2144
21452012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2146
2147	* Makefile.in (MAKE_VERSION): bump version to 20120612
2148	  Merge with NetBSD make, pick up
2149	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
2150	    for greater portability.
2151	  o unit-tests/forloop: check that .for works as expected wrt
2152	    number of times and with "quoted strings".
2153
21542012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2155
2156	* Makefile.in (MAKE_VERSION): bump version to 20120606
2157	  Merge with NetBSD make, pick up
2158	  o compat.c: use kill(2) rather than raise(3).
2159	* configure.in: look for sys/dev/filemon
2160	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
2161	  and pass BOOTSTRAP_XTRAS to boot-strap.
2162
21632012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2164
2165	* Makefile.in (MAKE_VERSION): bump version to 20120604
2166	  Merge with NetBSD make, pick up
2167	  o util.c and var.c share same var for tracking if environ
2168	    has been reallocated.
2169	  o util.c provide getenv with setenv.
2170	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
2171	  when the shell actively strips .MAKE.* from the environment.
2172	  We still refer to the variable always as .MAKE.LEVEL
2173	* util.c fix bug in findenv() was finding prefix of name.
2174	* compat.c: re-raising SIGINT etc after running .INTERRUPT
2175	  results in more reliable termination of all activity on many
2176	  platforms.
2177
21782012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2179
2180	* Makefile.in (MAKE_VERSION): bump version to 20120602
2181	  Merge with NetBSD make, pick up
2182	  o for.c: handle quoted items in .for list
2183
21842012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2185
2186	* Makefile.in (MAKE_VERSION): bump version to 20120530
2187	  Merge with NetBSD make, pick up
2188	  o compat.c: ignore empty command.
2189
21902012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2191
2192	* Makefile.in (MAKE_VERSION): bump version to 20120524
2193	* FILES: add bsd.after-import.mk:
2194	  A simple means of integrating bmake into a BSD build system.
2195
21962012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2197
2198	* Makefile.in (MAKE_VERSION): bump version to 20120520
2199	  Merge with NetBSD make, pick up
2200	  o increased limit for nested conditionals.
2201
22022012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2203
2204	* Makefile.in (MAKE_VERSION): bump version to 20120518
2205	  Merge with NetBSD make, pick up
2206	  o use _exit(2) in signal hanlder
2207	  o Don't use the [dir] cache when building nodes that might have
2208	    changed since the last exec.
2209	  o Avoid nested extern declaration warnings.
2210
22112012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
2212
2213	* meta.c (fgetLine): avoid %z - not portable.
2214	* parse.c: Since we moved include of sys/mman.h
2215	  and def's of MAP_COPY etc. we got dups from a merge.
2216
22172012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2218
2219	* Makefile.in (MAKE_VERSION): bump version to 20120420
2220	  Merge with NetBSD make, pick up
2221	  o restore duplicate supression in .MAKE.MAKEFILES
2222	    runtime saving can be significant.
2223	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
2224	    consumption up to 20%.
2225
22262012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2227
2228	* Makefile.in (MAKE_VERSION): bump version to 20120420
2229          Merge with NetBSD make, pick up
2230	  o remove duplicate supression in .MAKE.MAKEFILES
2231	  o improved dir cache behavior
2232	  o gmake'ish export command
2233
22342012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2235
2236	* Makefile.in (MAKE_VERSION): bump version to 20120325
2237	  Merge with NetBSD make, pick up
2238	  o fix parsing of :[#] in conditionals.
2239
22402012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2241
2242	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
2243	  since some systems cannot cope with .Nx <version>
2244
22452011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2246
2247	* Makefile.in (MAKE_VERSION): bump version to 20111111
2248	  Merge with NetBSD make, pick up
2249	  o debug output for .PARSEDIR and .PARSEFILE
2250
22512011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2252
2253	* Makefile.in (MAKE_VERSION):  bump version to 20111010
2254
22552011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2256
2257	* boot-strap: check for an expected file in the dirs we look for.
2258	* make-bootstrap.sh: pass on LDSTATIC
2259
22602011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2261
2262	* Makefile.in (MAKE_VERSION): bump version to 20111001
2263	  Merge with NetBSD make, pick up
2264	  o ensure .PREFIX is set for .PHONY
2265	    and .TARGET set for .PHONY run via .END
2266	  o __dead used consistently
2267
22682011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2269
2270	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
2271
22722011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2273
2274	* Makefile.in (MAKE_VERSION): bump version to 20110905
2275	  Merge with NetBSD make, pick up
2276	  o meta_oodate: ignore makeDependfile
2277
22782011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2279
2280	* Makefile.in (MAKE_VERSION): bump version to 20110828
2281	  Merge with NetBSD make, pick up
2282	  o silent=yes in .MAKE.MODE causes meta mode to mark targets
2283	    as SILENT if a .meta file is created
2284
22852011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2286
2287	* Makefile.in (MAKE_VERSION): bump version to 20110818
2288	  Merge with NetBSD make, pick up
2289	  o in meta mode, if target flagged .META a missing .meta file
2290	    means target is out-of-date
2291	  o fixes for gcc 4.5 warnings
2292	  o simplify job printing code
2293
22942011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2295
2296	* Makefile.in (MAKE_VERSION): bump version to 20110808
2297	  Merge with NetBSD make, pick up
2298	  o do not touch OP_SPECIAL targets when doing make -t
2299
23002011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2301
2302	* Makefile.in (MAKE_VERSION): bump version to 20110622
2303	  Merge with NetBSD make, pick up
2304	  o meta_oodate detect corrupted .meta file and declare oodate.
2305	* configure.in: add check for setsid
2306
23072011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2308
2309	* Merge with NetBSD make, pick up
2310	  o unit-tests/modts now works on MirBSD
2311
23122011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2313
2314	* Makefile.in (MAKE_VERSION): bump version to 20110606
2315	  Merge with NetBSD make, pick up
2316	  o ApplyModifiers: when we parse a variable which is not
2317	    the entire modifier string, or not followed by ':', do not
2318	    consider it as containing modifiers.
2319	  o loadfile: ensure newline at end of mapped file.
2320
23212011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2322
2323	* Makefile.in (MAKE_VERSION): bump version to 20110505
2324	  Merge with NetBSD make, pick up
2325	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
2326	    of make's control.  In meta mode, any generated file within
2327	    said bailiwick, which  is found to be missing, causes current
2328	    target to be out-of-date.
2329
23302011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2331
2332	* Makefile.in (MAKE_VERSION): bump version to 20110411
2333	  Merge with NetBSD make, pick up
2334	  o when long modifiers fail to match, check sysV style.
2335	    - add a test case
2336
23372011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2338
2339	* Makefile.in (MAKE_VERSION): bump version to 20110410
2340	  Merge with NetBSD make, pick up
2341	  o :hash - cheap 32bit hash of value
2342	  o :localtime, :gmtime - use value as format string for strftime.
2343
23442011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2345
2346	* Makefile.in (MAKE_VERSION): bump version to 20110330
2347	  mostly because its a cooler version.
2348	  Merge with NetBSD make, pick up
2349	  o NetBSD tags for meta.[ch]
2350	  o job.c call meta_job_finish() after meta_job_error().
2351	  o meta_job_error() should call meta_job_finish() to ensure
2352	    .meta file is closed, and safe to copy - if .ERROR target wants.
2353	   meta_job_finish() is safe to call repeatedly.
2354
23552011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
2356
2357	* unit-tests/modts: use printf if it is a builtin,
2358	  to save us from MirBSD
2359
2360	* Makefile.in (MAKE_VERSION): bump version to 20110329
2361	  Merge with NetBSD make, pick up
2362	  o fix for use after free() in CondDoExists().
2363	  o meta_oodate() report extra commands and return earlier.
2364
23652011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
2366
2367	* Makefile.in (MAKE_VERSION): bump version to 20110327
2368	  Merge with NetBSD make, pick up
2369	  o meta.c, if .MAKE.MODE contains curdirOk=yes
2370	    allow creating .meta files in .CURDIR
2371	* boot-strap (TOOL_DIFF): aparently at least on linux distro
2372	  formats the output of 'type' differently - so eat any "()"
2373
23742011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2375
2376	* Makefile.in (MAKE_VERSION): bump version to 20110306
2377	  Merge with NetBSD make, pick up
2378	  o meta.c, only do getcwd() once
2379
23802011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2381
2382	* Makefile.in (MAKE_VERSION): bump version to 20110305
2383	  Merge with NetBSD make, pick up
2384	  o correct sysV substitution handling of empty lhs and variable
2385	  o correct exists() check for dir with trailing /
2386	  o correct handling of modifiers for non-existant variables
2387	    during evaluation of conditionals.
2388	  o ensure MAP_FILE is defined.
2389	  o meta.c use curdir[] now exported by main.c
2390
23912011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2392
2393	* Makefile.in (MAKE_VERSION): bump version to 20110225
2394	  Merge with NetBSD make, pick up
2395	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
2396	    makefiles have been read.
2397	  o fix example of :? modifier in man page.
2398
23992011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2400
2401	* Makefile.in (MAKE_VERSION): bump version to 20110214
2402	  Merge with NetBSD make, pick up
2403	  o meta.c handle realpath() failing when generating meta file
2404	    name.
2405
2406	* sigcompat.c: convert to ansi so we can use higher warning levels.
2407
2408
24092011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2410
2411	* Makefile.in (MAKE_VERSION): bump version to 20110207
2412	  Merge with NetBSD make, pick up
2413	  o fix for bug in meta mode.
2414
24152011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2416
2417	* parse.c: SunOS 5.8 at least does not have MAP_FILE
2418
24192011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2420
2421	* Makefile.in (MAKE_VERSION): bump version to 20110101
2422	  Merge with NetBSD make, pick up
2423	  o use mmap(2) if available, for reading makefiles
2424
24252010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2426
2427	* Makefile.in (MAKE_VERSION): bump version to 20101215
2428	  Merge with NetBSD make, pick up
2429	  o ensure meta_job_error() does not report a previous .meta file
2430	    as being culprit.
2431
24322010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2433
2434	* Makefile.in (MAKE_VERSION): bump version to 20101210
2435	  Merge with NetBSD make, pick up
2436	  o meta_oodate: track cwd per process, and only consider target
2437	    out-of-date if missing file is outside make's CWD.
2438	    Ignore files in /tmp/ etc.
2439	  o to ensure unit-tests results match, need to control LC_ALL
2440	    as well as LANG.
2441	  o fix for parsing bug in var.c
2442
24432010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2444
2445	* Makefile.in (MAKE_VERSION): bump version to 20101126
2446	  Merge with NetBSD make, pick up
2447	  o if stale dependency is an IMPSRC, search via .PATH
2448	  o meta_oodate: if a referenced file is missing, target is
2449	    out-of-date.
2450	  o meta_oodate: if a target uses .OODATE in its commands,
2451	    it (.OODATE) needs to be recomputed.
2452	  o keep a pointer to youngest child node, rather than just its
2453	    mtime.
2454
24552010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2456
2457	* Makefile.in (MAKE_VERSION): bump version to 20101101
2458
24592010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2460
2461	* machine.sh: like os.sh,
2462	allow for uname -p producing useless drivel
2463
24642010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2465
2466	* boot-strap: document configure knobs for meta and filemon.
2467
2468	* Makefile.in (MAKE_VERSION): bump version to 20100911
2469	  Merge with NetBSD make, pick up
2470	  o meta.c - meta mode
2471
2472	* make-bootstrap.sh.in: handle meta.c
2473	* configure.in: add knobs for use_meta and filemon_h
2474	  also, look for dirname, str[e]sep and strlcpy
2475	* util.c: add simple err[x] and warn[x]
2476
24772010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2478
2479	* boot-strap (TOOL_DIFF): set this to ensure tests use
2480	  the same version of diff that configure tested
2481
2482	* Makefile.in (MAKE_VERSION): bump version to 20100808
2483	  Merge with NetBSD make, pick up
2484	  o in jobs mode, when we discover we cannot make something,
2485	    call PrintOnError before exit.
2486
24872010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2488
2489	* Makefile.in (MAKE_VERSION): bump version to 20100806
2490	  Merge with NetBSD make, pick up
2491	  o formatting fixes for ignored errors
2492	  o ensure jobs are cleaned up regardless of where wait() was called.
2493
24942010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2495
2496	* Makefile.in (MAKE_VERSION): bump version to 20100618
2497	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
2498
24992010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2500
2501	* Makefile.in (MAKE_VERSION): bump version to 20100616
2502	  Merge with NetBSD make, pick up
2503	  o man page update
2504	  o call PrintOnError from JobFinish when we detect an error we
2505	    are not ignoring.
2506
25072010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2508
2509	* Makefile.in (MAKE_VERSION): bump version to 20100606
2510	  Merge with NetBSD make, pick up
2511	  o man page update
2512
25132010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2514
2515	* Makefile.in (MAKE_VERSION): bump version to 20100605
2516	  Merge with NetBSD make, pick up
2517	  o use bmake_signal() which is a wrapper around sigaction()
2518	    in place of signal()
2519	  o add .export-env to allow exporting variables to environment
2520	    without tracking (so no re-export when the internal value is
2521	    changed).
2522
25232010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2524
2525	* Makefile.in (MAKE_VERSION): bump version to 20100524
2526	  Merge with NetBSD make, pick up
2527	  o fix for .info et al being greedy.
2528
25292010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
2530
2531	* Makefile.in (MAKE_VERSION): bump version to 20100520
2532	  Merge with NetBSD make, pick up
2533	  o back to using realpath on argv[0]
2534	    but only if contains '/' and does not start with '/'.
2535
25362010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2537
2538	* boot-strap: use absolute path for bmake when running tests.
2539
2540	* Makefile.in (MAKE_VERSION):  bump version to 20100510
2541	  Merge with NetBSD make, pick up
2542	  o revert use of realpath on argv[0]
2543	    too many corner cases.
2544	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
2545
25462010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2547
2548	* Makefile.in (MAKE_VERSION): bump version to 20100505
2549	  Merge with NetBSD make, pick up
2550	  o fix for missed SIGCHLD when compiled with SunPRO
2551	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
2552	    done the job.
2553
25542010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2555
2556	* Makefile.in (MAKE_VERSION): bump version to 20100430
2557	  Merge with NetBSD make, pick up
2558	  o fflush stdout before writing to stdout
2559
25602010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
2561
2562	* Makefile.in (MAKE_VERSION): bump version to 20100423
2563	  Merge with NetBSD make, pick up
2564	  o updated unit tests for Haiku (this time for sure).
2565	* boot-strap: based on patch from joerg
2566	  honor --with-default-sys-path better.
2567	* boot-strap: remove mention of --with-prefix-sys-path
2568
25692010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2570
2571	* Makefile.in (MAKE_VERSION): bump version to 20100422
2572	* Merge with NetBSD make, pick up
2573	  o fix for vfork() on Darwin.
2574	  o fix for bogus $TMPDIR.
2575	  o set .MAKE.MODE=compat for -B
2576	  o set .MAKE.JOBS=max_jobs for -j max_jobs
2577	  o allow unit-tests to run without any *.mk
2578	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
2579	* boot-strap: ignore /usr/share/mk except on NetBSD.
2580	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
2581	  ensure sort(1) behaves as expected.
2582
25832010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2584
2585	* boot-strap: add FindHereOrAbove so we can use -m .../mk
2586
25872010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2588
2589	* Makefile.in (MAKE_VERSION): bump version to 20100420
2590	* Merge with NetBSD make, pick up
2591	  o fix for variable realpath() behavior.
2592	    we have to stat(2) the result to be sure.
2593	  o fix for .export (all) when nested vars use :sh
2594
25952010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2596
2597	* Makefile.in (MAKE_VERSION): bump version to 20100414
2598	* Merge with NetBSD make, pick up
2599	  o use realpath to resolve argv[0] (for .MAKE) if needed.
2600	  o add realpath from libc.
2601	  o add :tA to resolve variable via realpath(3) if possible.
2602
26032010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2604
2605	* Makefile.in (MAKE_VERSION): bump version to 20100408
2606	* Merge with NetBSD make, pick up
2607	  o unit tests for .ERROR, .error
2608	  o fix for .ERROR to ensure it cannot be default target.
2609
26102010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2611
2612	* Makefile.in (MAKE_VERSION): bump version to 20100406
2613	* Merge with NetBSD make, pick up
2614	  o fix for compat mode "Error code" going to debug_file.
2615	  o fix for .ALLSRC being populated twice.
2616	  o support for .info, .warning and .error directives
2617	  o .MAKE.MODE to control make's operational mode
2618	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
2619	    name(s).
2620	  o .MAKE.DEPENDFILE to control the name of the depend file
2621	  o .ERROR target - run on failure.
2622
26232010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2624
2625	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
2626
2627	* os.sh,arch.c: patch for Haiku from joerg at netbsd
2628
26292010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
2630
2631	* Makefile.in (MAKE_VERSION): bump version to 20100222
2632	* Merge with NetBSD make, pick up
2633	  o better error msg for .for with mutiple inter vars
2634
2635	* boot-strap:
2636	  o use make-bootstrap.sh from joerg at netbsd
2637	    to avoid the need for a native make when bootstrapping.
2638	  o add "" everywhere ;-)
2639	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
2640	    otherwise the pre-formated version.
2641
26422010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2643
2644	* Makefile.in (MAKE_VERSION): bump version to 20100102
2645	* Merge with NetBSD make, pick up:
2646	  o fix for -m .../
2647
26482009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
2649
2650	* Makefile.in (MAKE_VERSION): bump version to 20091118
2651	* Merge with NetBSD make, pick up:
2652	  o .unexport
2653	  o report lines that start with '.' and should have ':'
2654	    (catch typo's of .el*if).
2655
26562009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
2657
2658	* configure.in: Ensure that srcdir and mksrc are absolute paths.
2659
26602009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2661
2662	* Makefile.in (MAKE_VERSION): fix version to 20091007
2663
26642009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
2665
2666	* Makefile.in (MAKE_VERSION): bump version to 200910007
2667	* Merge with NetBSD make, pick up:
2668	  o fix for parsing of :S;...;...; applied to .for loop iterator
2669	    appearing in a dependency line.
2670
26712009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
2672
2673	* Makefile.in (MAKE_VERSION): bump version to 20090909
2674	* Merge with NetBSD make, pick up:
2675	  o fix for -C, .CURDIR and .OBJDIR
2676	* boot-strap:
2677	  o allow share_dir to be set independent of prefix.
2678	  o select default share_dir better when prefix ends in $HOST_TARGET
2679	  o if FORCE_BSD_MK etc were set, include them in the suggested
2680	    install-mk command.
2681
26822009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
2683
2684	* Makefile.in (MAKE_VERSION): bump version to 20090908
2685	* Merge with NetBSD make, pick up:
2686	  o .MAKE.LEVEL for recursion tracking
2687	  o fix for :M scanning \:
2688
26892009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
2690
2691	* configure.in: Don't -D__EXTENSIONS__ if
2692	AC_USE_SYSTEM_EXTENSIONS says "no".
2693
26942009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
2695
2696	* Makefile.in (MAKE_VERSION): bump version to 20090826
2697	Simplify MAKE_VERSION to just the bare date.
2698	* Merge with NetBSD make, pick up:
2699	  o -C directory support.
2700	  o support for SIGINFO
2701	  o use $TMPDIR for temp files.
2702	  o child of vfork should be careful about modifying parent's state.
2703
2704
27052009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
2706
2707	* Appy some patches for MiNT from David Brownlee
2708
27092009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
2710
2711	* Makefile.in (BMAKE_VERSION): bump version to 20090222
2712	* Merge with NetBSD make, pick up:
2713	  o Possible null pointer de-ref in Var_Set.
2714
27152009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
2716
2717	* Makefile.in (BMAKE_VERSION): bump version to 20090204
2718	* Merge with NetBSD make, pick up:
2719	  o bmake_malloc et al moved to their own .c
2720	  o Count both () and {} when looking for the end of a :M pattern
2721	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
2722	  o strlist.c - functions for processing extendable arrays of pointers to strings.
2723	  o ClientData replaced with void *, so const void * can be used.
2724	  o New debug flag C for DEBUG_CWD
2725
27262008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
2727
2728	* Makefile.in (BMAKE_VERSION): bump version to 20081111
2729	  Apply patch from Joerg Sonnenberge to
2730	  configure.in:
2731	  o remove some redundant checks
2732	  o check for emlloc etc only in libutil and require the whole family.
2733	  util.c:
2734	  o remove [v]asprintf which is no longer used.
2735
27362008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
2737
2738	* Makefile.in (BMAKE_VERSION): bump version to 20081101
2739	* Merge with NetBSD make, pick up:
2740	  o util.c: avoid use of putenv() - christos
2741
27422008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
2743
2744	* Makefile.in (BMAKE_VERSION): bump version to 20081030
2745	  pick up man page tweaks.
2746
27472008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
2748
2749	* Makefile.in: move processing of LIBOBJS to after is definition!
2750	  thus we'll have getenv.c in SRCS only if needed.
2751
2752	* make.1: add examples of how to use :?
2753
2754	* Makefile.in (BMAKE_VERSION): bump version to 20081029
2755	* Merge with NetBSD make, pick up:
2756	  o fix for .END processing with -j
2757	  o segfault from Parse_Error when no makefile is open
2758	  o handle numeric expressions in any variable expansion
2759	  o debug output now defaults to stderr, -dF to change it - apb
2760	  o make now uses bmake_malloc etc so that it can build natively
2761	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
2762
27632008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
2764
2765	* Makefile.in (BMAKE_VERSION): bump version to 20080808
2766	* Merge with NetBSD make, pick up:
2767	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
2768	    long lines in Makefiles
2769	  o optimizations for VarQuote by joerg
2770	  o fix for PR/38756: dominik: make dumps core on invalid makefile
2771
27722008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
2773
2774	* Makefile.in (BMAKE_VERSION): bump version to 20080515
2775	* Merge with NetBSD make, pick up:
2776	  o fix skip setting vars in VAR_GLOBAL context, to handle
2777	    cases where VAR_CMD is used for other than command line vars.
2778
27792008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
2780
2781	* boot-strap (make_version): we may need to look in
2782	$prefix/share/mk for sys.mk
2783
2784	* Makefile.in (BMAKE_VERSION): bump version to 20080514
2785	* Merge with NetBSD make, pick up:
2786	  o skip setting vars in VAR_GLOBAL context, when already set in
2787	  VAR_CMD which takes precedence.
2788
27892008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
2790
2791	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
2792	* Merge with NetBSD make, pick up:
2793	  o fix for ?= when LHS contains variable reference.
2794
27952008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
2796
2797	* merge some patches from NetBSD pkgsrc.
2798
2799	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
2800	the MAKSYSPATH used during bootstrap.
2801
2802	* Makefile.in (BMAKE_VERSION): bump version to 20080215
2803	* Merge with NetBSD make, pick up:
2804	  o warn if non-space chars follow 'empty' in a conditional.
2805
28062008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
2807
2808	* Makefile.in (BMAKE_VERSION): bump version to 20080118
2809	* Merge with NetBSD make, pick up:
2810	  o consider dependencies read from .depend as optional - dsl
2811	  o remember when buffer for reading makefile grows - dsl
2812	  o add -dl (aka LOUD) - David O'Brien
2813
28142007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
2815
2816	* Makefile.in (BMAKE_VERSION): bump version to 20071022
2817	* Merge with NetBSD make, pick up:
2818	  o Allow .PATH<suffix> to be used for .include ""
2819
2820	* boot-strap: source default settings from .bmake-boot-strap.rc
2821
28222007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
2823
2824	* Makefile.in: fix maninstall on various systems
2825	  provided that our man.mk is used.
2826	  For non-BSD systems we install the preformatted page
2827	  into $MANDIR/cat1
2828
28292007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
2830
2831	* boot-strap: make bmake.1 too, so maninstall works.
2832
28332007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
2834
2835	* Makefile.in (BMAKE_VERSION): bump version to 20071014
2836	* Merge with NetBSD make, pick up:
2837	  o revamped handling of defshell - configure no longer needs to
2838	    know the content of the shells array - apb
2839	  o stop Var_Subst modifying its input - apb
2840	  o avoid calling ParseTrackInput too often - dsl
2841
28422007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
2843
2844	* Makefile.in (BMAKE_VERSION): bump version to 20071011
2845	* Merge with NetBSD make, pick up:
2846	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
2847
2848	* sigcompat.c: some tweaks for HP-UX 11.x based on
2849	  patch from Tobias Nygren
2850
2851	* configure.in: update handling of --with-defshell to match
2852	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
2853	  will now do what one might hope - provided the chosen shell
2854	  behaves enough like sh.
2855
28562007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
2857
2858	* Makefile.in (BMAKE_VERSION): bump to 20071008
2859	* Merge with NetBSD make, pick up:
2860	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
2861	  o .export/.MAKE.EXPORTED - export of variables - sjg
2862	  o .MAKE.MAKEFILES - track all makefiles read - sjg
2863	  o performance improvements - dsl
2864	  o revamp parallel job scheduling - dsl
2865
28662006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
2867
2868	* Makefile.in (BMAKE_VERSION): bump to 20060728
2869	* Merge with NetBSD make, pick up:
2870	  o extra debug info during variable and cond processing - sjg
2871	  o shell definition now covers newline - rillig
2872	  o minor mem leak in PrintOnError - sjg
2873
28742006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
2875
2876	* Makefile.in (BMAKE_VERSION):  bump to 20060511
2877	* Merge with NetBSD make, pick up:
2878	  o more memory leaks - coverity
2879	  o possible overflow in ArchFindMember - coverity
2880	  o extract variable modifier code out of Var_Parse()
2881	    so it can be called recursively - sjg
2882	  o unit-tests/moderrs - sjg
2883
28842006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
2885
2886	* Makefile.in (BMAKE_VERSION): bump to 20060412
2887	* Merge with NetBSD make, pick up:
2888	  o fixes for some memory leaks - coverity
2889	  o only read first sys.mk etc when searching sysIncPath - sjg
2890
2891	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
2892	setting ${MAKEFILE} - OBATA Akio
2893
28942006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
2895
2896	* Makefile.in (BMAKE_VERSION): bump to 20060318
2897	* Merge with NetBSD make, pick up:
2898	  o cleanup of job.c to remove remote handling, distcc is more
2899	    useful and this code was likely bit-rotting - dsl
2900	  o fix for :P modifier - sjg
2901	* boot-strap: set default prefix to something reasonable
2902	  (for me anyway).
2903
29042006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
2905
2906	* Makefile.in (BMAKE_VERSION): bump to 20060301
2907	* Merge with NetBSD make, pick up:
2908	  o make .WAIT apply recursively, document and test case - apb
2909	  o allow variable modifiers in a variable appear anywhere in
2910	    modifier list, document and test case - sjg
2911
29122006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
2913
2914	* Makefile.in (BMAKE_VERSION): bump to 20060222
2915	* Merge with NetBSD make, pick up:
2916	  o improved job token handling - dsl
2917	  o SIG_DFL the correct signal before exec - dsl
2918	  o more debug info during parsing - dsl
2919	  o allow variable modifiers to be specified via variable - sjg
2920	* boot-strap: explain why we died if no mksrc
2921
29222005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
2923
2924	* Makefile.in (BMAKE_VERSION): bump to 20051105
2925	* configure.in: always set default_sys_path
2926	  default is ${prefix}/share/mk
2927	  - remove prefix_sys_path, anyone wanting more than above
2928	    needs to set it manually.
2929
29302005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
2931
2932	* boot-strap: make this a bit easier for pkgsrc folk.
2933	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
2934	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
2935
29362005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
2937
2938	* Makefile.in (BMAKE_VERSION): bump to 20051102
2939	* job.c (JobFinish): fix likely ancient merge lossage
2940	fix from Todd Vierling.
2941	* boot-strap (srcdir): allow setting mksrc=none
2942
29432005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
2944
2945	* Makefile.in (BMAKE_VERSION): bump to 20051031
2946	* ranlib.h: skip on OSF too.
2947	  (NetBSD PR 31864)
2948
29492005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
2950
2951	* Makefile.in (BMAKE_VERSION): bump to 20051002
2952	  fix a silly typo
2953
29542005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2955
2956	* Makefile.in (BMAKE_VERSION): bump to 20051001
2957	  support for UnixWare and some other systems,
2958	  based on patches from pkgsrc/bootstrap
2959
29602005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
2961
2962	* Makefile.in (BMAKE_VERSION): bump to 20050901
2963	* Merge with NetBSD make, pick up:
2964	  o possible parse error causing us to wander off.
2965
29662005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
2967
2968	* Makefile.in (BMAKE_VERSION): bump to 20050606
2969	* Merge with NetBSD make, pick up:
2970	  o :0x modifier for randomizing a list
2971	  o fixes for a number of -Wuninitialized issues.
2972
29732005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
2974
2975	* Makefile.in (BMAKE_VERSION): bump to 20050530
2976	* Merge with NetBSD make, pick up:
2977	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
2978
2979	* README: was seriously out of date.
2980
29812005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2982
2983	* Important to use .MAKE rather than MAKE.
2984
29852005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
2986
2987	* Makefile.in (BMAKE_VERSION): bump to 20050315
2988	* Merge with NetBSD make, pick up:
2989	  o don't mistake .elsefoo for .else
2990	  o use suffix-specific search path correctly
2991	  o bunch of style nits
2992
29932004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
2994
2995	* boot-strap:
2996	o ensure that args to --src and --with-mksrc
2997	  are resolved before giving them to configure.
2998	o add -o "objdir" so that builder can control it,
2999	  default is $OS as determined by os.sh
3000	o add -q to suppress all the install instructions.
3001
30022004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
3003
3004	* Remove __IDSTRING()
3005
3006	* Makefile.in (BMAKE_VERSION): bump to 20040508
3007	* Merge with NetBSD make, pick up:
3008	  o posix fixes
3009	    - remove '-e' from compat mode
3010	    - add support for '+' command-line prefix.
3011	  o fix for handling '--' on command-line.
3012	  o fix include in lst.lib/lstInt.h to simplify '-I's
3013	  o we also picked up replacement of MAKE_BOOTSTRAP
3014	    with !MAKE_NATIVE which is a noop, but possibly confusing.
3015
30162004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
3017
3018	* Makefile.in (BMAKE_VERSION): bump to 20040414
3019	* Merge with NetBSD make, pick up:
3020	  o allow quoted strings on lhs of conditionals
3021	  o issue warning when extra .else is seen
3022	  o print line numer when errors encountered during parsing from
3023	  string.
3024
30252004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
3026
3027	* Makefile.in (BMAKE_VERSION):  bump to 20040220
3028	* Merge with NetBSD make, pick up:
3029	  o fix for old :M parsing bug.
3030	  o re-jigged unit-tests
3031
30322004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
3033
3034	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
3035	so that './bmake -f Makefile test' works.
3036
30372004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
3038
3039	* Makefile.in: (BMAKE_VERSION): bump to 20040214
3040	* Merge with NetBSD make, pick up:
3041	  o search upwards for *.mk
3042	  o fix for double free of var substitution buffers
3043	  o use of getopt replaced with custom code, since the usage
3044	  (re-scanning) isn't posix compatible.
3045
30462004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
3047
3048	* arch.c: don't include ranlib.h on ELF systems
3049	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
3050
30512004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
3052
3053	* Makefile.in (BMAKE_VERSION): bump to 20040118
3054
3055	* boot-strap (while): export vars we assign to on cmdline
3056	* unit-test/Makefile.in: ternary is .PHONY
3057
30582004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
3059
3060	* Makefile.in (BMAKE_VERSION): bump version to 20040108
3061	* Merge with NetBSD make, pick up:
3062	  o fix for ternary modifier
3063
30642004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
3065
3066	* Makefile.in (BMAKE_VERSION): bump version to 20040105
3067	* Merge with NetBSD make, pick up:
3068	  o fix for cond.c to handle compound expressions better
3069	  o variable expansion within sysV style replacements
3070
30712003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
3072
3073	* Make portable snprintf safer - output to /dev/null first to
3074	check space needed.
3075
3076	* Makefile.in (BMAKE_VERSION): bump version to 20031222
3077	* Merge with NetBSD make, pick up:
3078	  o -dg3 to show input graph when things go wrong.
3079	  o explicitly look for makefiles in objdir if not found in curdir so
3080	    that errors in .depend etc will be reported accurarely.
3081	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
3082	    instead as it more accurately reflects the expected behavior and
3083	    is more consistently implemented.
3084	  o avoid use of asprintf.
3085
30862003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
3087
3088	* util.c: Add asprintf and vasprintf.
3089
3090	* Makefile.in (BMAKE_VERSION): bump version to 20030928
3091	* Merge with NetBSD make, pick up:
3092	:[] modifier - allows picking words from a variable.
3093	:tW modifier - allows treating value as one big word.
3094	W flag for :C and :S - allows treating value as one big word.
3095
30962003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
3097
3098	* Merge with NetBSD make
3099	pick up -de flag to enable printing failed command.
3100	don't skip 1st two dir entries (normally . and ..) since
3101	coda does not have them.
3102
31032003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
3104
3105	* Makefile.in (BMAKE_VERSION): bump version to 20030909
3106	* Merge with NetBSD make, pick up:
3107	- changes for -V '${VAR}' to print fully expanded value
3108	  cf. -V VAR
3109	- CompatRunCommand now prints the command that failed.
3110	- several files got updated 3 clause Berkeley license.
3111
31122003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
3113
3114	* boot-strap: Allow setting configure args on command line.
3115
31162003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
3117
3118	* configure.in: add --with-defshell to allow sh or ksh
3119	to be selected as default shell.
3120
3121	* Makefile.in: bump version to 20030731
3122
3123	* Merge with NetBSD make
3124	Pick up .SHELL spec for ksh and associate man page changes.
3125	Also compat mode now uses the same shell specs.
3126
31272003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
3128
3129	* var.c (Var_Parse): ensure delim is initialized.
3130
3131	* unit-tests/Makefile.in: use single quotes to avoid problems from
3132	some shells.
3133
3134	* makefile.boot.in:
3135	Run the unit-tests as part of the bootstrap procedure.
3136
31372003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
3138
3139	* unit-tests/Makefile.in: always force complaints from
3140	${TEST_MAKE} to be from 'make'.
3141
3142	* configure.in: add check for 'diff -u'
3143	also fix some old autoconf'isms
3144
3145	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
3146	if using GCC add -Wno-cast-qual to CFLAGS for var.o
3147
3148	* Merge with NetBSD make
3149	Pick up fix for :ts parsing error in some cases.
3150	Pick unit-tests.
3151
31522003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
3153
3154	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
3155
3156	* var.c (Var_Parse): fix bug in :ts modifier, after const
3157	correctness fixes, must pass nstr to VarModify.
3158
31592003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
3160
3161	* Makefile.in: BMAKE_VERSION switch to a date based version.
3162	We'll generally use the date of last import from NetBSD.
3163
3164	* Merge with NetBSD make
3165	Pick up fixes for const-correctness, now passes WARNS=3 on
3166	NetBSD.
3167	Pick up :ts modifier, allows controlling the separator used
3168	between words in variable expansion.
3169
31702003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
3171
3172	* FILES: include boot-strap and os.sh
3173
3174	* Makefile.in: only set WARNS if we are NetBSD, the effect on
3175	FreeBSD is known to be bad.
3176
3177	* makefile.boot.in (bootstrap): make this the default target.
3178
3179	* Makefile.in: bump version to 3.1.19
3180
3181	* machine.sh: avoid A-Z with tr as it is bound to lose.
3182
31832003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
3184
3185	* Merge with NetBSD make
3186	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
3187	Plus some doc fixes.
3188
31892003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
3190
3191	* Merge with NetBSD make
3192	Pick up fix for PR/1523 - don't count a library as built, if there
3193	is no way to build it
3194
3195	* Bump version to 3.1.18
3196
31972003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
3198
3199	* Merge with NetBSD make
3200	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
3201	appears in src list.
3202
32032003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
3204
3205	* Merge with NetBSD make (mmm 10th anniversary!)
3206	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
3207	pick up -X which tells us to not export VAR=val via setenv if
3208	we are already doing so via MAKEFLAGS.  This saves valuable env
3209	space on systems like Darwin.
3210	set MAKE_VERSION to 3.1.17
3211
3212	* parse.c: pix up fix for suffix rules
3213
32142003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
3215
3216	* Merge with NetBSD make.
3217	pick up fix for propagating -B via MAKEFLAGS.
3218	set MAKE_VERSION to 3.1.16
3219
3220	* Apply some patches from pkgsrc-bootstrap/bmake
3221	Originally by Grant Beattie <grant@netbsd.org>
3222	I may have missed some - since they are based on bmake-3.1.12
3223
32242002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
3225
3226	* makefile.boot.in (bmake): update install targets for those that
3227	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
3228	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
3229
3230	* bmake.cat1: update the pre-formatted man page!
3231
32322002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
3233
3234	* Merge with NetBSD make.
3235	pick up fix for premature free of pointer used in call
3236	to Dir_InitCur().
3237	set MAKE_VERSION to 3.1.15
3238
32392002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
3240
3241	* configure.in: determine suitable value for MKSRC.
3242	override using --with-mksrc=PATH.
3243
3244	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
3245	configs(8) will use 'sun4' as an alias for 'sparc'.
3246
32472002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
3248
3249	* Merge with NetBSD make.
3250	pick up ${.PATH}
3251	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
3252	set MAKE_VERSION to 3.1.14
3253	add configure checks for killpg and sys/socket.h
3254
32552002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
3256
3257	* tag bmake-3-1-13
3258
3259	* makefile.boot.in (bmake): use install-mk
3260	Also setup ./mk before trying to invoke bmake.boot incase we
3261	needed install-mk to create a sys.mk for us.
3262
3263	* configure.in: If we need to add -I${srcdir}/missing, make it an
3264	absolute path so that it works for lst.lib too.
3265
3266	* make.h: always include sys/cdefs.h since we provide one if the
3267	host does not.
3268
3269	* Makefile.in (install-mk):
3270	use MKSRC/install-mk which will do the right thing.
3271	use uname -p for ARCH if possible.
3272	since install-mk will setup links bsd.prog.mk -> prog.mk if
3273	needed, just .include bsd.prog.mk
3274
3275	* Merge with NetBSD make (NetBSD-1.6)
3276	Code is ansi-C only now.
3277	Bug in handling of dotLast is fixed.
3278	Can now assign .OBJDIR and make will reset its notions of life.
3279	New modifiers :tu :tl for toUpper and toLower.
3280
3281Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
3282
3283	* Merge with NetBSD make
3284	pick up fix for .END failure in compat mode.
3285	pick up fix for extra va_end() in ParseVErrorInternal.
3286
3287Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
3288
3289	* configure.in: for systems that have sys/cdefs.h check if it is
3290	compatible.  If not, include the one under missing, but tell it to
3291	include the native one too - necessary on Linux.
3292
3293	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
3294	include_next (for gcc) to get the native sys/cdefs.h
3295
3296Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3297
3298	* job.c (JobFinish): Fix an earlier merge bug that resulted in
3299	leaking descriptors when using -jN.
3300
3301	* job.c (JobPrintCommand): See if "curdir" exists before
3302	attempting to chdir().  Doing the chdir directly in make (when in
3303	compat mode) fails silently, so let the -jN version do the same.
3304	This can happen when building kernels in an object tree and
3305	playing clever games to reset .CURDIR.
3306
3307	* Merged with NetBSD make
3308	pick up .USEBEFORE
3309
3310Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3311
3312	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
3313
3314Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3315
3316	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
3317	us not to export the iterator variable when using VAR_CMD context.
3318
3319Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3320
3321	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
3322	its the wrong "fix".
3323
3324Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3325
3326	* Redesigned export of VAR_CMD's via MAKEFLAGS.
3327	We now simply append the variable names to .MAKEOVERRIDES, and
3328	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
3329	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
3330	Apart from fixing quoting bugs in previous version, this allows us
3331	to export vars to the environment by simply doing:
3332	.MAKEOVERRIDES+= PATH
3333	Merged again with NetBSD make, but the above is the only change.
3334
3335	* configure.in: added
3336	--disable-pwd-override		disable $PWD overriding getcwd()
3337	--disable-check-make-chdir	disable make trying to guess
3338		when it should automatically cd ${.CURDIR}
3339
3340	* Merge with NetBSD make, changes include:
3341	parse.c (ParseDoDependency): Spot that the syntax error is
3342	caused by an unresolved cvs/rcs conflict and say so.
3343	var.c: most of Var* functions now take a ctxt as 1st arg.
3344	now does variable substituion on rhs of sysv style modifiers.
3345
3346	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
3347	is now done here.  We append the name='value' to .MAKEOVERRIDES
3348	rather than directly into MAKEFLAGS as this allows a Makefile to
3349	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
3350	very similar mechanism.  Note that in adding name='value' to
3351	.MAKEOVERRIDES we do the moral equivalent of:
3352	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
3353
3354Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3355
3356	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
3357
3358	* Merged with NetBSD make
3359	make -dx can now be used to run commands via sh -x
3360	better error messages on exec failures.
3361
3362Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3363
3364	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
3365	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
3366	MACHINE etc otherwise they propagate from the previous bmake.
3367
3368	* configure.in (machine): allow --with-machine=generic to make
3369	configure use machine.sh to set MACHINE.
3370
3371	* job.c (JobInterrupt): convert to using WAIT_T and friends.
3372
3373	* Makefile.in: mention in bmake.1 that we use autoconf.
3374
3375	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
3376
3377Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3378
3379	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
3380	as that rather defeats the usefulness of ${MAKEFILE}.
3381
3382	* main.c (MainParseArgs): append command line variable assignments
3383	to MAKEFLAGS so that they get propagated to child make's.
3384	Apparently this is required POSIX behaviour?  Its useful anyway.
3385
3386Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3387
3388	* compat.c (CompatRunCommand): don't use perror() since stdio may
3389	cause problems in child of vfork().
3390
3391	* compat.c, main.c: Call PrintOnError() when we are going to bail.
3392	This routine prints out the .curdir where we stopped and will also
3393	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
3394
3395	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
3396	:@ expansion.
3397
3398	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
3399
3400	* Added RCSid's for the files we've touched.
3401
3402Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3403
3404	* configure.in:	Thanks to some clues from mdb@juniper.net,
3405	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
3406	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
3407
3408  --with-machine=MACHINE  explicitly set MACHINE
3409  --with-force-machine=MACHINE  set FORCE_MACHINE
3410  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
3411  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
3412  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
3413  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
3414
3415	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
3416
3417	* makefile: added a pathetically simple makefile to drive
3418	bootstrapping.  Running configure by hand is more useful.
3419
3420	* Makefile.in: added MAKE_VERSION, and reworked things to be less
3421	dependent on NetBSD bsd.*.mk
3422
3423	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
3424	_PATH_OBJDIRPREFIX for those that don't want a default.
3425	construct _PATH_DEFSYSPATH from the info we get from configure.
3426
3427	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
3428	if MAKE_VERSION is defined.
3429
3430	* compat.c: when we bail, print out the .CURDIR we were in.
3431
3432Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3433
3434	* Merged with NetBSD make
3435
3436	* var.c: fixed a bug in the handling of the modifier :P
3437	if the node as found but the path was null, we segfault trying to
3438	duplicate it.
3439
3440Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3441
3442	* Merged with NetBSD make
3443
3444	* make.c: Make_OODate's test for a library out of date was using
3445	cmtime where it should have used mtime (my bug).
3446
3447	* compat.c: Use perror() to tell us what really went wrong when we
3448	cannot exec a command.
3449
3450Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3451
3452	* Merged with NetBSD make
3453
3454Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3455
3456	* Merged with NetBSD make
3457
3458Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3459
3460	* Merged with NetBSD make
3461
3462Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3463
3464	* Merged with NetBSD make
3465
3466Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3467
3468	* util.c: don't provide signal() since we use sigcompat.c
3469
3470	* Makefile.in: added a build target.
3471
3472	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
3473	These allow some quite clever magic.
3474
3475	* main.c (main): added support for getenv(MAKESYSPATH).
3476
3477Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3478
3479	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
3480	This avoids objdir having a different value depending on how a
3481	directory was reached (via command line, or subdir.mk).
3482
3483	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
3484
3485Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3486
3487	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
3488	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
3489	I've been testing this in NetBSD's make for some weeks.
3490
3491	* Turn Makefile into Makefile.in and make it useful.
3492
3493Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
3494
3495	* Imported NetBSD's -current make(1) and resolve conflicts.
3496
3497	* Applied autoconf patches from bmake v2
3498
3499	* Imported clean code base from NetBSD-1.0
3500