xref: /dragonfly/contrib/bmake/ChangeLog (revision 631c21f2)
12021-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* VERSION (_MAKE_VERSION): 20210314
4	Merge with NetBSD make, pick up
5	o var.c: avoid evaluating many modifiers in parse only mode
6	in strict mode (-dL) many variable references are parsed twice,
7	the first time just to report parse errors early, so we want to
8	avoid side effects and wasted effort to the extent possible.
9
102021-02-26  Simon J Gerraty  <sjg@beast.crufty.net>
11
12	* VERSION (_MAKE_VERSION): 20210226
13	Merge with NetBSD make, pick up
14	o remove freestanding freeIt variables
15	link via FStr
16	o var.c: restructure code in ParseVarname to target human readers
17	improve error message for;
18	  bad modifier in variable expression
19	  unclosed modifier
20	  unknown modifier
21	remove redundant parameter of ApplySingleModifier
22	explain non-obvious code around indirect variable modifiers
23	quote ':S' in error message about missing delimiter
24	extract ParseModifier_Match into separate function
25	add context information to error message about ':range' modifier
26	add quotes around variable name in an error message
27	reorder code in ModifyWords
28	use more common parameter order for VarSelectWords
29	make ModifyWord_Subst a little easier to understand
30	do not expand variable name from the command line twice
31	extract ExistsInCmdline from Var_SetWithFlags
32	save a hash map lookup when defining a cmdline variable
33	clean up VarAdd, Var_Delete, Var_ReexportVars
34	use bit-shift expressions for VarFlags constants
35	rename constants for VarFlags
36	rename ExprDefined constants for debug logging
37	rename ExprStatus to ExprDefined
38	split parameters for evaluating variable expressions
39	reduce redundant code around ModifyWords
40	print error about failed shell command before overwriting variable
41	clean up ValidShortVarname, ParseVarnameShort
42	rename VarExprStatus to ExprStatus
43	add functions for assigning the value of an expression
44	rename ApplyModifiersState_Define to Expr_Define
45	condense the code for parsing :S and :C modifiers
46
472021-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
48
49	* VERSION (_MAKE_VERSION): 20210206
50	Merge with NetBSD make, pick up
51	o unit-tests: use private TMPDIR to avoid errors from other users
52
532021-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
54
55	* VERSION (_MAKE_VERSION): 20210205
56	Merge with NetBSD make, pick up
57	o avoid strdup in mkTempFile
58	o always use vfork
59	o rename context and ctxt to scope
60	o rename some VAR constants to SCOPE
61	o Var_ functions, move the scope to the front
62	o use shortcut functions Global_Set and Global_Append
63	o add shortcut Global_Delete for deleting a global variable
64	o rename Var_Delete to Var_DeleteExpand, Var_DeleteVar to Var_Delete
65	o compat.c: when exiting due to an error, print graph information
66	o enum.c: remove overengineered Enum_ValueToString
67	o make.c: remove unused INTERNAL flag
68	remove unused return type of MakeBuildParent
69	o parse.c: replace parse error "Need an operator" with better message
70	o var.c: improve documentation about variable scopes
71	rename Var_ValueDirect to GNode_ValueDirect
72	rename old Var_SetWithFlags to Var_SetExpandWithFlags
73	merge SetVar into Var_SetWithFlags
74	split Var_Exists into plain Var_Exists and Var_ExistsExpand
75	split Var_Append into Var_Append and Var_AppendExpand
76	replace enum bit-set with bit-field
77	o unit-tests/var-op-shell: use kill rather than kill -14
78	which broke on darwin with recent update.
79
802021-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
81
82	* configure.in: check for sig_atomic_t and define it as 'int'
83	if missing.
84
85	* VERSION (_MAKE_VERSION): 20210201
86	Merge with NetBSD make, pick up
87	o use sig_atomic_t for caught_sigchld
88
892021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
90
91	* VERSION (_MAKE_VERSION): 20210130
92	Merge with NetBSD make, pick up
93	o more unit tests
94	o convert SearchPath to struct
95	o split Buf_Destroy into Buf_Done and Buf_DoneData
96	o for.c: split For_Eval into separate functions
97	rename struct For to struct ForLoop
98	o job.c: do not create empty shell files in jobs mode
99	rename JobOpenTmpFile to JobWriteShellCommands
100	reduce unnecessary calls to waitpid
101	o parse.c: in -dp mode, print stack trace with each diagnostic
102
1032021-01-23  Simon J Gerraty  <sjg@beast.crufty.net>
104
105	* VERSION (_MAKE_VERSION): 20210123
106	Merge with NetBSD make, pick up
107	o rename Dir_Expand to SearchPath_Expand
108	o rename Dir_AddDir, reorder parameters of SearchPath_ToFlags
109	o cond.c: fix debug output for comparison operators in conditionals
110	o dir.c: split Dir_FindFile into separate functions
111
1122021-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
113
114	* VERSION (_MAKE_VERSION): 20210120
115	Merge with NetBSD make, pick up
116	o fix some more lint nits
117	o refine some unit tests for portability
118	o cond.c: rework parsing
119
1202021-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
121
122	* VERSION (_MAKE_VERSION): 20210110
123	Merge with NetBSD make, pick up
124	o fix lint warnings
125	o consistently use boolean expressions in conditions
126
1272021-01-08  Simon J Gerraty  <sjg@beast.crufty.net>
128
129	* VERSION (_MAKE_VERSION): 20210108
130	Merge with NetBSD make, pick up
131	o job.c: back to polling token pipe if we want a token
132	o main.c: always print 'stopped in' on first call
133	The execption is if we bail because of an abort token
134	in which case just exit 6.
135
1362021-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
137
138	* VERSION (_MAKE_VERSION): 20210101
139	Merge with NetBSD make, pick up
140	o Happy New Year!
141	o rename CmdOpts.lint to strict
142	o exit 2 on technical errors
143	o replace pointers in controlling conditions with booleans
144	o replace global preserveUndefined with VARE_KEEP_UNDEF
145	o compat.c: re-export variables from the actual make process
146	if using vfork this is the effect anyway
147	o cond.c: clean up VarParseResult constants
148	o for.c: fix undefined behavior in SubstVarLong
149	make control flow in SubstVarLong of .for loops more obvious
150	clean up SubstVarShort in .for loops
151	extract ForSubstBody from ForReadMore
152	clean up ForReadMore
153	simplify termination condition for .for loop
154	add error handling for .for loop items
155	job.c: re-export variables from the actual make process
156	parse.c: remove mmap for loading files, only allow files < 1 GiB
157	fix edge case in := with undefined in variable name
158	skip variable expansion in ParseDependencyTargetWord
159	var.c: split ExportVar into separate functions
160	clean up code in extracted ExportVar functions
161	remove dead code from ApplyModifiersIndirect
162	split Var_Subst into easily understandable functions
163	clean up VarParseResult constants
164
1652020-12-25  Simon J Gerraty  <sjg@beast.crufty.net>
166
167	* main.c: use .MAKE.DEPENDFILE as set by makefiles
168
1692020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
170
171	* VERSION (_MAKE_VERSION): 20201222
172	Merge with NetBSD make, pick up
173	o make DEBUG macro return boolean
174	o parse.c: fix assertion failure for files without trailing newline
175	o var.c: allow .undef to undefine multiple variables at once
176	remove excess newline from parse errors
177
1782020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
179
180	* VERSION (_MAKE_VERSION): 20201221
181	Merge with NetBSD make, pick up
182	o some unit-test updates
183
1842020-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
185
186	* VERSION (_MAKE_VERSION): 20201220
187	Merge with NetBSD make, pick up
188	o more unit tests
189	o return FStr from Var_Parse and Var_Value
190	o spell nonexistent consistently
191	o add str_basename to reduce duplicate code
192	o compat.c: fix .ERROR_TARGET in compat -k mode
193	extract InitSignals from Compat_Run
194	extract UseShell from Compat_RunCommand
195	o cond.c: error out if an '.endif' or '.else' contain extraneous text
196	o for.c: rename ForIterate to ForReadMore
197	o hash.c: clean up hash function for HashTable
198	o lst.c: rename Vector.priv_cap to cap
199	o main.c: remove constant parameter from MakeMode
200	o make.c: use symbolic time for 0 in Make_Recheck
201	extract MakeChildren from MakeStartJobs
202	o parse.c: clean up memory handling in VarAssign_EvalShell, Parse_DoVar
203	fix error message for .info/.warning/.error without argument
204	extract Var_Undef from ParseDirective
205	extract ParseSkippedBranches, ParseForLoop from ParseReadLine
206	rename mode constants for ParseGetLine to be more expressive
207	reduce debugging details in Parse_SetInput
208	fix line numbers in .for loops
209	split ParseGetLine into separate functions
210	fix garbled output for failed shell command
211	var.c: remove redundant assignment in ApplyModifier_SysV
212	error out on unknown variable modifiers at parse time
213	remove wrong error message for indirect modifier in lint mode
214	extract ApplySingleModifier from ApplyModifiers
215	use FStr for memory management in Var_SetWithFlags
216	extract SetVar from Var_SetWithFlags
217	use FStr in VarNew
218	extract string functions from ApplyModifier_To
219	error out if .undef has not exactly 1 argument
220	extract Var_DeleteVar from Var_Delete
221	extract Var_Undef from ParseDirective
222	clean up memory management for expanding variable expressions
223
2242020-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
225
226	* avoid %zu
227
228	* lst.c: avoid anonymous union
229
230	* VERSION (_MAKE_VERSION): 20201212
231	Merge with NetBSD make, pick up
232	o more unit tests
233	o inline Targ_Ignore and Targ_Silent
234	o split JobFlags into separate fields
235	o remove const from function parameters (left overs from refactoring)
236	o eliminate boolean argument of Var_Export
237	o make API of Buf_Init simpler
238	o rename ParseRunOptions to ParseCommandFlags
239	o replace *line with line[0]
240	o compat.c: fix wrong exit status for multiple failed main targets
241	refactor Compat_Run to show the error condition more clearly
242	don't make .END if the main targets already failed (-k mode)
243	fix exit status in -k mode if a dependency fails
244	o for.c: clean up Buf_AddEscaped in .for loops
245	o job.c: extract ShellWriter_ErrOn from JobPrintCommand
246	make Job_Touch simpler
247	refactor JobFinish
248	rename Shell.exitFlag to errFlag
249	move Job.xtraced to ShellWriter
250	make printing of shell commands independent from the job
251	rename shell flags in struct Shell
252	extract JobOpenTmpFile from JobStart
253	rename RunFlags to CommandFlags
254	split various Job.* into separate fields
255	rename commandShell to shell
256	extract InitShellNameAndPath from Shell_Init
257	replace signal handling macros with local functions
258	replace macro MESSAGE with local function
259	parse.c: error out on null bytes in makefiles
260	error out on misspelled directives
261	rename IFile.nextbuf to readMore
262	fix undefined behavior in ParseEOF
263	str.c: remove redundant call to strlen in Str_Words
264	var.c: error out on misspelled .unexport-env
265	error out on misspelled .export directives
266	extract ExportVars from Var_Export
267	extract ExportVarsExpand from Var_Export
268	eliminate boolean argument of Var_Export
269	fix undefined behavior when exporting ${:U }
270	rename Var_ExportVars to Var_ReexportVars
271	rename Var_Export1 to ExportVar
272
2732020-12-06  Simon J Gerraty  <sjg@beast.crufty.net>
274
275	* VERSION (_MAKE_VERSION): 20201206
276	Merge with NetBSD make, pick up
277	o more unit tests
278	o inline macros for debug logging
279	o use consistent variable names for list nodes
280	o define constants for enum zero-values
281	o dir.c: use fixed format for debug output of the directory cache
282	remove Dir_InitDir
283	o lst.c: inline Lst_Enqueue, Vector_Done
284	o meta.c: remove unused parameter from meta_needed
285	o parse.c: rename parse functions
286	o suff.c: extract ExpandChildrenRegular from ExpandChildren
287	o targ.c: don't concatenate identifiers in Targ_PrintType
288	o var.c: remove comment decoration
289	extract UnexportVars from Var_UnExport
290	extract GetVarnamesToUnexport from Var_UnExport
291	extract UnexportEnv from Var_UnExport
292	extract UnexportVar from Var_UnExport
293	move CleanEnv to UnexportVars
294	replace pointer comparisons with enum
295	add FStr to var.c to make memory handling simpler
296	use FStr in Var_UnExport
297	move type definitions in var.c to the top
298	extract FreeEnvVar from Var_Parse
299	extract ShuffleStrings from ApplyModifier_Order
300
3012020-11-30  Simon J Gerraty  <sjg@beast.crufty.net>
302
303	* VERSION (_MAKE_VERSION): 20201130
304	Merge with NetBSD make, pick up
305	o add unit tests for META MODE
306	o reduce memory allocation for dirSearchPath, GNode.parents,
307	GNode.children, OpenDirs
308	o reduce pointer indirection for GNode.cohorts and
309	GNode.implicitParents
310	o remove pointer indirection from GNode.commands
311	o inline Lst_ForEachUntil in meta mode
312	o dir.c: fix memory leak for lstat cache in -DCLEANUP mode
313	clean up memory management for CachedDirs
314	fix the reference count of dotLast going negative
315	add debug logging for OpenDirs_Done
316	extract CacheNewDir from Dir_AddDir
317	add debug logging for reference counting of CachedDir
318	rename some Dir functions to SearchPath
319	o job.c: rename some global variables
320	o main.c: reduce memory allocation in ReadBuiltinRules
321	reduce memory allocation in CmdOpts.create, CmdOpts.variables,
322	CmdOpts.makefiles
323	Add .MAKE.UID and .MAKE.GID
324	o make.c: reduce memory allocation for/in toBeMade,
325	Make_ProcessWait, Make_ExpandUse
326	o meta.c: reduce memory allocation in meta_oodate
327	o parse.c: reduce memory allocations for parsing dependencies and
328	targets
329	o suff.c: reduce memory allocation in suffix handling
330
3312020-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
332
333	* VERSION (_MAKE_VERSION): 20201124
334	Merge with NetBSD make, pick up
335	o .MAKE.{UID,GID} represent uid and gid running make.
336	o fix error handling for .BEGIN and .END dependency in -k mode
337	o fix missing "Stop." after failed .END node in -k mode
338	o use properly typed comparisons in boolean contexts
339	o replace a few HashTable_CreateEntry with HashTable_Set
340	o add HashSet type
341	o compat.c: split Compat_Make into smaller functions
342	extract DebugFailedTarget from Compat_RunCommand
343	o dir.c: refactor Dir_UpdateMTime
344	migrate CachedDir.files from HashTable to HashSet
345	o make.c: add high-level API for GNode.made
346
3472020-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
348
349	* VERSION (_MAKE_VERSION): 20201122
350	Merge with NetBSD make, pick up
351	o rename GNode.context to vars
352	o suff.c: cleanup and refactor
353	rename some functions and vars to better reflect usage
354	add high-level API for CandidateSearcher
355	o targ.c: add more debug logging for suffix handling
356	o more unit tests
357	o add debug logging for setting and resetting the main target
358
3592020-11-17  Simon J Gerraty  <sjg@beast.crufty.net>
360
361	* VERSION (_MAKE_VERSION): 20201117
362	Merge with NetBSD make, pick up
363	o fix some unit-tests when .SHELL is dash
364	o rename Targ_NewGN to GNode_New
365	o make some GNode functions const
366	o main.c: call Targ_Init before Var_Init
367	cleanup PrintOnError, getTmpdir and ParseBoolean
368	o var.c: fix error message of failed :!cmd! modifier
369
3702020-11-14  Simon J Gerraty  <sjg@beast.crufty.net>
371
372	* VERSION (_MAKE_VERSION): 20201114
373	Merge with NetBSD make, pick up
374	o replace a few HashTable_CreateEntry with HashTable_Set
375	o clean up cached_stats
376	o rename DEFAULT to defaultNode
377	o remove redundant struct make_stat
378	o cond.c: in lint mode, check for ".else <cond>"
379	use bitset for IfState
380	replace large switch with if-else in Cond_EvalLine
381	o job.c: clean up JobExec, JobStart, JobDoOutput
382	use stderr for error message about failed touch
383	clean up Job_Touch
384	replace macro DBPRINTF with JobPrintln
385	rename JobState to JobStatus
386	main.c: switch cache for realpath from GNode to HashTable
387	clean up Fatal
388	clean up InitDefSysIncPath
389	use progname instead of hard-coded 'make' in warning
390	rename Main_SetVarObjdir to SetVarObjdir
391	make.1: document the -S option
392	make.c: fix debug output for GNode details
393	use symbolic names in debug output of GNodes
394
3952020-11-12  Simon J Gerraty  <sjg@beast.crufty.net>
396
397	* configure.in: fix --with-force-machine-arch
398
399	* VERSION (_MAKE_VERSION): 20201112
400	Merge with NetBSD make, pick up
401	o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable
402	checks in InitObjdir.  Explicit .OBJDIR target always allows
403	read-only directory.
404	o cond.c: clean up Cond_EvalLine
405
4062020-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
407
408	* VERSION (_MAKE_VERSION): 20201111
409	Merge with NetBSD make, pick up
410	o more unit-tests
411	o style cleanup
412	remove redundant parentheses from sizeof operator
413	replace character literal 0 with '\0'.
414	replace pointer literal 0 with NULL.
415	remove redundant parentheses.
416	replace (expr & mask) == 0 with !(expr & mask).
417	use strict typing in conditions of the form !var
418	o rename Make_OODate to GNode_IsOODate
419	o rename Make_TimeStamp to GNode_UpdateYoungestChild
420	o rename Var_Set_with_flags to Var_SetWithFlags
421	o rename dieQuietly to shouldDieQuietly
422	o buf.c: make API of Buf_Init simpler
423	o compat.c: clean up Compat_Make, Compat_RunCommand,
424	CompatDeleteTarget and CompatInterrupt
425	o cond.c: in lint mode, only allow '&&' and '||', not '&' and '|'
426	clean up CondParser_Comparison
427	o main.c: rename getBoolean and s2Boolean
428	rename MAKEFILE_PREFERENCE for consistency
429	o parse.c: replace strstr in ParseMaybeSubMake with optimized code
430	o var.c: rename VARE_ASSIGN to VARE_KEEP_DOLLAR
431	replace emptyString with allocated empty string
432	error out on unclosed expressions after the colon
433
4342020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
435
436	* VERSION (_MAKE_VERSION): 20201101
437	Merge with NetBSD make, pick up
438	o negate NoExecute to GNode_ShouldExecute
439	o job.c: rename JobMatchShell to FindShellByName
440	extract EscapeShellDblQuot from JobPrintCommand
441	extract ParseRunOptions from JobPrintCommand
442	o var.c: extract ApplyModifiersIndirect from ApplyModifiers
443	treat malformed :range, :ts and :[...] as errors
444	add tests for the variable modifiers :[words] and :range
445
4462020-10-31  Simon J Gerraty  <sjg@beast.crufty.net>
447
448	* VERSION (_MAKE_VERSION): 20201031
449	Merge with NetBSD make, pick up
450	o format #include directives consistently
451	o do not look up local variables like .TARGET anywhere else
452	o main.c: Main_SetObjdir is first called for curdir which may be
453	readonly
454	reduce the scope where recursive expressions are detected
455	remove redundant :tl from getBoolean
456	clean up mkTempFile
457	o meta.c: simplify memory allocation in meta_create and meta_oodate
458	o parse.c: extract loadedfile_mmap from loadfile
459	o trace.c: document possible undefined behavior with .CURDIR
460	o var.c: make parsing of the :gmtime and :localtime modifiers stricter
461	rename ismeta to is_shell_metachar
462	remove debug logging for the :Q variable modifier
463	rename VarIsDynamic to VarnameIsDynamic
464	use consistent parameter order in varname parsing functions
465	extract ParseVarnameLong from Var_Parse
466	extract ParseVarnameShort from Var_Parse
467	fix type of ParseModifierPart parameter delim
468	extract IsEscapedModifierPart from ParseModifierPart
469	clean up ModifyWords
470	add test for combining the :@ and :? variable modifiers
471
4722020-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
473
474	* VERSION (_MAKE_VERSION): 20201030
475	Merge with NetBSD make, pick up
476	o change char * to void * in Var_Value
477	o make iterating over HashTable simpler
478	o rename VAR_CMD to VAR_CMDLINE
479	o cond.c: clean up is_separator
480	fix parse error in string literal in conditional
481	o main.c: do not use objdir that is not writable
482	in lint mode, exit with error status on errors
483	o  parse.c: clean up StrContainsWord
484	fix out-of-bounds pointer in ParseTrackInput
485	o var.c: rename Str_SYSVMatch and its parameters
486	remove unsatisfiable conditions in Var_Set_with_flags
487	document where the variable name is expanded
488	fix documentation for VARP_SUB_ONE
489	rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME
490	document VAR_READONLY
491	prevent appending to read-only variables
492	extract MayExport from Var_Export1
493	remove redundant evaluations in VarFind
494	replace VarFindFlags with a simple Boolean
495	rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE
496
4972020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
498
499	* VERSION (_MAKE_VERSION): 20201028
500	Merge with NetBSD make, pick up
501	o rename defIncPath to defSysIncPath
502	o initialize all CmdOpts fields
503	o lst.c: inline Vector_Get
504	o main.c: refactor main extract
505	InitMaxJobs,InitObjdir,InitVarMake,InitRandom,
506	ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules,
507	InitDefIncPath,CmdOpts_Init,UnlimitFiles
508	o parse.c: merge curFile into includes
509	rename predecessor to order_pred
510	sort ParseSpecial alphabetically
511	remove unused, undocumented .NOEXPORT
512	rename ParseSpecial enum values consistently
513	rename some fields of struct IFile
514
5152020-10-26  Simon J Gerraty  <sjg@beast.crufty.net>
516
517	* VERSION (_MAKE_VERSION): 20201026
518	Merge with NetBSD make, pick up
519	o group the command line options and arguments into a struct
520	o rename GNode.cmgn to youngestChild
521	o rename hash functions to identify the type name
522	o negate OP_NOP and rename it to GNode_IsTarget
523	o add GNode_Path to access the path of a GNode
524	o remove macros MIN and MAX
525	o remove unused Lst_Find and Lst_FindFrom
526	o arch.c: and make Arch_FindLib simpler
527	clean up code layout
528	make Arch_ParseArchive simpler
529	o cond.c: inline CondFindStrMatch into FuncMake
530	o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath
531	omit trailing space in debug output for expanding file patterns
532	refactor DirMatchFiles
533	document that the SearchPath of Dir_FindFile may be NULL
534	remove UNCONST from Dir_Expand
535	inline DirFindName
536	o for.c: clean up code for handling .for loops
537	o hash.c: print hash in debug log with fixed width
538	clean up hash table functions
539	reduce amount of string hashing
540	o job.c: refactor JobDeleteTarget
541	use proper enum constants for aborting
542	convert result of JobStart from macros to enum
543	convert abort reason macros to enum
544	rework Job_CheckCommands to reduce indentation
545	rename Shell fields
546	add field names in declaration of DEFSHELL_CUSTOM
547	convert JobState and JobFlags to enum types
548	move handling of the "..." command to JobPrintCommands
549	o lst.c: clean up
550	refactor LstNodeNew
551	remove Lst_Open, Lst_Next, Lst_Close
552	remove code for circular lists from Lst_Next
553	o main.c: do not attempt to read .MAKE.DEPENFILE if set to
554	/dev/null or anything starting with "no"
555	convert macros for debug flags into enum
556	o make.c: inline Lst_Copy in Make_ExpandUse
557	o meta.c: inline Lst_Find in meta_oodate
558	make Lst_RemoveIf simpler in meta_oodate
559	o parse.c: convert error level for Parse_Error to an enum
560	o suff.c: properly terminate debug output with newline
561	add more details to DEBUG_SRC log
562	replace Dir_CopyDir with Dir_CopyDirSearchPath
563	don't modify GNode name while rebuilding the suffix graph
564	o var.c: reduce duplicate code in VarFind
565
5662020-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
567
568	* VERSION (_MAKE_VERSION): 20201022
569	Merge with NetBSD make, pick up
570	o more refactoring and simplification to reduce code size
571	o var.c: extract CanonicalVarname from VarFind
572	o make.c: extract UpdateImplicitParentsVars from Make_Update
573	o main.c: extract PrintVar from doPrintVars
574	extract HandlePWD from main
575	o lst.c: inline simple Lst getters
576	remove unused Lst_ForEach
577	o job.c: move struct Shell from job.h to job.c
578	o more unit tests
579
5802020-10-19  Simon J Gerraty  <sjg@beast.crufty.net>
581
582	* configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT
583
5842020-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
585
586	* VERSION (_MAKE_VERSION): 20201018
587	Merge with NetBSD make, pick up
588	o remove USE_IOVEC
589	o rename some Hash_* apis to Hash*
590	o replace execError with execDie
591	o rename Lst_Init to Lst_New
592	o add tags to enum types
593	o rename Stack to Vector
594	o parse.c: more refactoring
595	o unit-tests: make some tests use line buffered stdout
596	o unit-tests/Makefile: in meta mode do not make all tests depend on
597	Makefile, it isn't necessary.
598
5992020-10-10  Simon J Gerraty  <sjg@beast.crufty.net>
600
601	* main.c: check for CTL_HW being defined.
602	* unit-tests/Makefile: ensure export tests output are POSIX compliant
603	disable opt-debug-jobs test until it works on ubuntu
604
605	* VERSION (_MAKE_VERSION): 20201010
606	Merge with NetBSD make, pick up
607	o dir.c: remove pathname limit for Dir_FindHereOrAbove
608	o hash.c: replace strcpy with memcpy in Hash_CreateEntry
609	o main.c: extract init_machine and init_machine_arch from main
610	allow to disable debug logging options
611	o parse.c: enable format string truncation warnings
612	extract parsing of sources from ParseDoDependency
613	split ParseDoSrc into smaller functions
614	hide implementation details from Parse_DoVar
615	clean up parsing of variable assignments
616	split Parse_DoVar into manageable pieces
617	don't modify the given line during Parse_DoVar
618	fix out-of-bounds memory access in Parse_DoVar
619	fix parsing of the :sh assignment modifier
620	o var.c: rework memory allocation for the name of variables
621	extract ApplyModifier_Literal into separate function
622	in lint mode, reject modifiers without delimiter
623	do not export variable names starting with '-'
624	o fix double-free bug in -DCLEANUP mode
625	o more cleanup to enable higher warnings level
626	o more unit tests
627
6282020-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
629
630	* VERSION (_MAKE_VERSION): 20201002
631	Merge with NetBSD make, pick up
632	o dir.c: use hash table for looking up open directories by name
633	o main.c: clean up option handling
634	o parse.c: add missing const for Parse_AddIncludeDir
635	o var.c: ApplyModifier_To, update pp in each branch
636	o remove redundant function prototypes
637	o more unit tests
638
6392020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
640
641	* VERSION (_MAKE_VERSION): 20201001
642	Merge with NetBSD make, pick up
643	o compat.c: comment about "..."
644
6452020-09-30  Simon J Gerraty  <sjg@beast.crufty.net>
646
647	* VERSION (_MAKE_VERSION): 20200930
648	Merge with NetBSD make, pick up
649	o job.c: split Job.jobPipe into 2 separate fields
650	replace Lst_Open with direct iteration
651	o lst.c: remove redundant assertions
652	o targ.c: replace Lst_Open with direct iteration
653	o var.c: fix bug in evaluation of indirect variable modifiers
654	extract ApplyModifier_Quote into separate function
655	o make debug logging simpler
656
6572020-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
658
659	* VERSION (_MAKE_VERSION): 20200927
660	Merge with NetBSD make, pick up
661	o parse.c: ensure parse errors result in 'stopped in' message.
662	o compat.c: make parameter of Compat_RunCommand const
663	o main.c: extract InitVarTarget from main
664	o parse.c: rename ParseFinishLine to FinishDependencyGroup
665	refactor ParseDoDependency
666	o var.c: Var_Subst no longer returns string result
667	rename Var_ParsePP back to Var_Parse
668	in lint mode, improve error handling for undefined variables
669	extract ParseVarname from Var_Parse
670	o rename Lst_ForEach to Lst_ForEachUntil
671	o inline Lst_ForEachUntil in several cases
672	o clean up API for finding and creating GNodes
673	o fix assertion failure in -j mode with .END node
674	o inline and remove LstNode_Prev and LstNode_Next
675	o use fine-grained type names for lists and their nodes
676	o more unit tests
677
6782020-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
679
680	* VERSION (_MAKE_VERSION): 20200911
681	Merge with NetBSD make, pick up
682	o cond.c: split EvalComparison into smaller functions
683	reorder parameters of condition parsing functions
684	reduce code size in CondParser_Eval
685	rename CondGetString to CondParser_String
686	add CondLexer_SkipWhitespace
687	group the condition parsing state into a struct
688	in CondGetString, replace repeated Buf_Add with Buf_AddStr
689	o migrate Var_Parse to Var_ParsePP
690	o add wrappers around ctype.h functions
691	o lst.c: use a stack instead of a list for the nested include path
692	o more unit tests
693
6942020-09-04  Simon J Gerraty  <sjg@beast.crufty.net>
695
696	* make-bootstrap.sh.in: adjust object list
697
6982020-09-02  Simon J Gerraty  <sjg@beast.crufty.net>
699
700	* VERSION (_MAKE_VERSION): 20200902
701	Merge with NetBSD make, pick up
702	o use make_stat to ensure no confusion over valid fields
703	returned by cached_stat
704	o var.c: make VarQuote const-correct
705	o add unit tests for .for
706
7072020-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
708
709	* VERSION (_MAKE_VERSION): 20200901
710	Merge with NetBSD make, pick up
711	o rename Hash_Table fields
712	o make data types in Dir_HasWildcards more precise
713
7142020-08-31  Simon J Gerraty  <sjg@beast.crufty.net>
715
716	* VERSION (_MAKE_VERSION): 20200831
717	Merge with NetBSD make, pick up
718	o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds
719	o lst.c: Lst_Open renable assert that list isn't open
720	o unit test for .TARGET dependent flags
721	o var.c: fix aliasing bug in VarUniq
722	o more unit tests for :u
723
7242020-08-30  Simon J Gerraty  <sjg@beast.crufty.net>
725
726	* VERSION (_MAKE_VERSION): 20200830
727	Merge with NetBSD make, pick up
728	o allow for strict type checking for Boolean
729	o Var_Parse never returns NULL
730	o Var_Subst never returns NULL
731	o Lst_Find now takes boolean match function
732	o rename Lst_Memeber to Lst_FindDatum
733	o rename LstNode functions to match their type
734	o rename GNode.iParents to implicitParents
735	o fix assertion failure for .SUFFIXES in archives
736	o compat.c: clean up documentation for CompatInterrupt and Compat_Run
737	remove unreachable code from CompatRunCommand
738	o main.c: simplify getBoolean
739	o stc.c: replace brk_string with simpler Str_Words
740	o suff.c: add debug macros
741
7422020-08-28  Simon J Gerraty  <sjg@beast.crufty.net>
743
744	* VERSION (_MAKE_VERSION): 20200828
745	Merge with NetBSD make, pick up
746	o lst.c: inline LstIsValid and LstNodeIsValid
747	o remove trailing S from Lst function names after migration complete
748	o more comment cleanup/clarification
749	o suff.c: clean up suffix handling
750	o more unit tests
751
7522020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
753
754	* VERSION (_MAKE_VERSION): 20200826
755	Merge with NetBSD make, pick up
756	o enum.c: distinguish between bitsets containing flags and
757	ordinary enums
758	o var.c: fix error message for ::!= modifier with shell error
759	o fix bugs in -DCLEANUP mode
760
7612020-08-24  Simon J Gerraty  <sjg@beast.crufty.net>
762
763	* VERSION (_MAKE_VERSION): 20200824
764	Merge with NetBSD make, pick up
765	o in debug mode, print GNode details in symbols
766
7672020-08-23  Simon J Gerraty  <sjg@beast.crufty.net>
768
769	* VERSION (_MAKE_VERSION): 20200823
770	Merge with NetBSD make, pick up
771	o lst.c: more asserts,
772	make args to Lst_Find match others.
773	o var.c: pass flags to VarAdd
774	o arch.c: use Buffer
775	o str.c: brk_string return size_t for nwords
776	o more unit tests
777
7782020-08-22  Simon J Gerraty  <sjg@beast.crufty.net>
779
780	* VERSION (_MAKE_VERSION):
781	Merge with NetBSD make, pick up
782	o var.c: support for read-only variables eg .SHELL
783	being the shell used to run scripts.
784	o lst.c: more simplification
785	o more documentation and style cleanup
786	o more unit tests
787	o ensure unit-test/Makefile is run by TEST_MAKE
788	o reduce duplication of header inclusion
789
7902020-08-21  Simon J Gerraty  <sjg@beast.crufty.net>
791
792	* VERSION (_MAKE_VERSION): 20200821
793	Merge with NetBSD make, pick up
794	o lst.c: revert invalid assertion - but document it
795	o dir.c: split Dir_Init into two functions
796
7972020-08-20  Simon J Gerraty  <sjg@beast.crufty.net>
798
799	* lst.c: needs inttypes.h on Linux
800
801	* VERSION (_MAKE_VERSION): 20200820
802	Merge with NetBSD make, pick up
803	o make.1: clarify some passages
804	o var.c: more cleanup, clarify comments
805	o make_malloc.c: remove unreachable code
806	o cond.c: make CondGetString easier to debug
807	o simplify list usage
808	o unit-tests: more
809
8102020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
811
812	* VERSION (_MAKE_VERSION): 20200816
813	Merge with NetBSD make, pick up
814	o refactor unit-tests to be more fine grained
815	  not all tests moved yet
816
8172020-08-14  Simon J Gerraty  <sjg@beast.crufty.net>
818
819	* VERSION (_MAKE_VERSION): 20200814
820	Merge with NetBSD make, pick up
821	o more str_concat variants
822	o more enums for flags
823	o var.c: cleanup for higher warnings level
824
8252020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
826
827	* VERSION (_MAKE_VERSION): 20200810
828	Merge with NetBSD make, pick up
829	o more unit tests
830	o general comment and style cleanup
831
8322020-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
833
834	* VERSION (_MAKE_VERSION): 20200808
835	Merge with NetBSD make, pick up
836	o enum.[ch]: streamline, enums for use in flags and debug output
837	o cond.c: cleanup
838	o var.c: reduce duplicate code for modifiers
839	debug logging for Var_Parse
840	more detailed debug output
841	o more unit tests
842
8432020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
844
845	* unit-tests/Makefile: -r for recursive and include Makefile.inc
846	so I can run tests in meta mode
847	supress extra noise if in meta mode
848
849	* VERSION (_MAKE_VERSION): 20200806
850	Merge with NetBSD make, pick up
851	o parse.c: remove VARE_WANTRES for LINT
852	we just want to check parsing (for now).
853
8542020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
855
856	* VERSION (_MAKE_VERSION): 20200805
857	Merge with NetBSD make, pick up
858	o make.1: Rework the description of dependence operators
859
8602020-08-03  Simon J Gerraty  <sjg@beast.crufty.net>
861
862	* VERSION (_MAKE_VERSION): 20200803
863	Merge with NetBSD make, pick up
864	o revert some C99 usage, for max portability
865	o unit-tests/lint
866
8672020-08-02  Simon J Gerraty  <sjg@beast.crufty.net>
868
869	* VERSION (_MAKE_VERSION): 20200802
870	Merge with NetBSD make, pick up
871	o more unit tests
872
8732020-08-01  Simon J Gerraty  <sjg@beast.crufty.net>
874
875	* Remove NetBSD specific plumbing from unit-tests/Makefile
876
877	* VERSION (_MAKE_VERSION): 20200801
878	Merge with NetBSD make, pick up
879	o make Var_Value return const
880	o size_t for buf sizes
881	o optimize some buffer operations - avoid strlen
882
8832020-07-31  Simon J Gerraty  <sjg@beast.crufty.net>
884
885	* VERSION (_MAKE_VERSION): 20200731
886	Merge with NetBSD make, pick up
887	o var.c: fix undefinded behavior for incomplete :t modifier
888	  fixes unit-test/moderrs on Ubuntu
889	o parse.c: When parsing variable assignments other than :=
890	  if DEBUG(LINT) test substition of value, so we get a file and
891	  line number in the resulting error.
892	o dir.c: fix parsing of nested braces in dependency lines
893	  add unit-tests
894
8952020-07-30  Simon J Gerraty  <sjg@beast.crufty.net>
896
897	* VERSION (_MAKE_VERSION): 20200730
898	Merge with NetBSD make, pick up
899	o var.c: minor cleanup
900	o unit-tests: more tests to improve code coverage
901
9022020-07-28  Simon J Gerraty  <sjg@beast.crufty.net>
903
904	* VERSION (_MAKE_VERSION): 20200728
905	Merge with NetBSD make, pick up
906	o var.c: more optimizations
907
9082020-07-26  Simon J Gerraty  <sjg@beast.crufty.net>
909
910	* VERSION (_MAKE_VERSION): 20200726
911	Merge with NetBSD make, pick up
912	o collapse lsd.lib into lst.c - reduce code size and allow inlining
913	o lots of function comment updates
914	o var.c: more optimizations
915	o make return of Var_Parse const
916
9172020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
918
919	* VERSION (_MAKE_VERSION): 20200720
920	Merge with NetBSD make, pick up
921	o DEBUG_HASH report stats at end and tone down the noise
922	o var.c: each flag type gets its own prefix.
923	move SysV string matching to var.c
924	make ampersand in ${VAR:from=to&} an ordinary character
925	cleanup and simplify implementation of modifiers
926	o make.1: move documentation for assignment modifiers
927
9282020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
929
930	* VERSION (_MAKE_VERSION): 20200718
931	Merge with NetBSD make, pick up
932	o DEBUG_HASH to see how well the hash tables are working
933
9342020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
935
936	* bsd.after-import.mk: make sure we update unit-tests/Makefile
937
9382020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
939
940	* configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC
941
942	* VERSION (_MAKE_VERSION): 20200710
943	Merge with NetBSD make, pick up
944	o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall
945	o meta.c: target flagged .META is out-of-date if meta file missing
946
9472020-07-09  Simon J Gerraty  <sjg@beast.crufty.net>
948
949	* VERSION (_MAKE_VERSION): 20200709
950	Merge with NetBSD make, pick up
951	o cond.c: fix for compare_expression when doEval=0
952	o unit-tests/Makefile: rework
953	o filemon/filemon_dev.c: ensure filemon fd is closed on exec.
954
9552020-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
956
957	* VERSION (_MAKE_VERSION): 20200704
958	Merge with NetBSD make, pick up
959	(most of this by rillig@)
960	o lots of style and white-space cleanup
961	o lots more unit tests for variable modifiers
962	o simplified description of some functions
963	o str.c: refactor Str_Match
964	o var.c: debugging output for :@
965	  constify VarModify parameter
966	  fix :hash modifier on 16-bit platforms
967	  remove unnecessary forward declarations
968	  refactor ApplyModifier_SysV to have less indentation
969	  simplify code for :E and :R
970	  clean up code for :H and :T
971	  refactor ApplyModifiers
972
973	* var.c: we need stdint.h on some platforms to get uint32_t
974	* unit-test/Makefile: we need to supress the specific error
975	for RE substitution error in modmisc, since it varies accross
976	different OS.
977
9782020-07-02  Simon J Gerraty  <sjg@beast.crufty.net>
979
980	* VERSION (_MAKE_VERSION): 20200702
981	Merge with NetBSD make, pick up
982	o var.c: more improvements to avoiding unnecessary evaluation
983	use enums for flags
984	o remove flags arg to Var_Set which outside of var.c is always 0
985
9862020-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
987
988	* VERSION (_MAKE_VERSION): 20200701
989	Merge with NetBSD make, pick up
990	o var.c: with change to cond.c; ensure that nested variables
991	within a variable name are expanded.
992	o unit-tests/varmisc.mk: test for nested varname
993
9942020-06-29  Simon J Gerraty  <sjg@beast.crufty.net>
995
996	* VERSION (_MAKE_VERSION): 20200629
997	Merge with NetBSD make, pick up
998	o cond.c: do not eval unnecessary terms of conditionals.
999
10002020-06-25  Simon J Gerraty  <sjg@beast.crufty.net>
1001
1002	* VERSION (_MAKE_VERSION): 20200625
1003	Merge with NetBSD make, pick up
1004	o meta.c: report error if lseek in filemon_read fails
1005
10062020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
1007
1008	* VERSION (_MAKE_VERSION): 20200622
1009	Merge with NetBSD make, pick up
1010	o dieQuietly: ignore OP_SUBMAKE as too aggressive
1011
10122020-06-19  Simon J Gerraty  <sjg@beast.crufty.net>
1013
1014	* VERSION (_MAKE_VERSION): 20200619
1015	Merge with NetBSD make, pick up
1016	o str.c: performance improvement for Str_Match for multiple '*'
1017	o dieQuietly: supress the failure output from make
1018	when failing node is a sub-make or a sibling failed.
1019	This cuts down greatly on unhelpful noise at the end of
1020	build log.  Disabled by -dj or .MAKE.DIE_QUIETLY=no
1021
10222020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
1023
1024	* FILES: add LICENSE to appease some packagers.
1025	This is an attempt to fairly represent the license on almost
1026	200 files, which are almost all BSD-3-Clause
1027	The few exceptions being more liberal.
1028
1029	* VERSION (_MAKE_VERSION): 20200610
1030	Merge with NetBSD make, pick up
1031	o unit test for :Or
1032
10332020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
1034
1035	* VERSION (_MAKE_VERSION): 20200606
1036	Merge with NetBSD make, pick up
1037	o make.1: cleanup
1038
1039	* Makefile: fix depends for main.o which broke MAKE_VERSION
1040
10412020-06-05  Simon J Gerraty  <sjg@beast.crufty.net>
1042
1043	* VERSION (_MAKE_VERSION): 20200605
1044	Merge with NetBSD make, pick up
1045	o dir.c: cached_stats - don't confuse stat and lstat results.
1046	o var.c: add :Or for reverse sort.
1047
10482020-05-24  Simon J Gerraty  <sjg@beast.crufty.net>
1049
1050	* configure.in: add AC_PROG_CC_C99 for mipspro compiler
1051	also if --with-filemon= specifies path to filemon.h
1052	set use_filemon=dev
1053	* dirname.c: remove include of namespace.h
1054
10552020-05-17  Simon J Gerraty  <sjg@beast.crufty.net>
1056
1057	* VERSION (_MAKE_VERSION): 20200517
1058	Merge with NetBSD make, pick up
1059	o modified dollar tests to avoid shell dependencies
1060	o new tests for .INCLUDEFROM
1061
10622020-05-16  Simon J Gerraty  <sjg@beast.crufty.net>
1063
1064	* unit-tests/dollar.mk: tweak  '1 dollar literal' test
1065	to not depend so much on shell behavior
1066
10672020-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
1068
1069	* VERSION (_MAKE_VERSION): 20200510
1070	Merge with NetBSD make, pick up
1071	o unit test for dollar handling
1072
10732020-05-06  Simon J Gerraty  <sjg@beast.crufty.net>
1074
1075	* VERSION (_MAKE_VERSION): 20200506
1076	Merge with NetBSD make, pick up
1077	o str.c: empty string does not match % pattern
1078	  plus unit-test changes
1079
10802020-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
1081
1082	* VERSION (_MAKE_VERSION): 20200504
1083	May the 4th be with you
1084	Merge with NetBSD make, pick up
1085	o var.c: import handling of old sysV style modifier using '%'
1086	o str.c: refactor brk_string
1087	o unit-tests: add test case for lazy conditions
1088
10892020-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
1090
1091	* VERSION (_MAKE_VERSION): 20200418
1092
1093	* configure.in: use_makefile=no for cygwin et al.
1094	case insensitive filesystems just don't work if both
1095	makefile and Makefile exist.
1096	NOTE: bmake does not support cygwin and likely never will,
1097	but if brave souls want to try it - help them out.
1098
10992020-04-02  Simon J Gerraty  <sjg@beast.crufty.net>
1100
1101	* VERSION (_MAKE_VERSION): 20200402
1102	Merge with NetBSD make, pick up
1103	o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD
1104	  a blank command is perfectly valid.
1105
11062020-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
1107
1108	* VERSION (_MAKE_VERSION): 20200330
1109	Merge with NetBSD make, pick up
1110	o make.h: extern debug_file
1111
11122020-03-18  Simon J Gerraty  <sjg@beast.crufty.net>
1113
1114	* VERSION (_MAKE_VERSION): 20200318
1115	Merge with NetBSD make, pick up
1116	o meta.c: meta_oodate, check for corrupted meta file
1117	  earlier and more often.
1118
11192020-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
1120
1121	* VERSION (_MAKE_VERSION): 20200220
1122
11232020-02-19  Simon J Gerraty  <sjg@beast.crufty.net>
1124
1125	* boot-strap: unset MAKEFLAGS
1126
11272020-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
1128
1129	* VERSION (_MAKE_VERSION): 20200212
1130	* meta.c: meta_compat_parent check for USE_FILEMON
1131	  patch from Soeren Tempel
1132
11332020-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
1134
1135	* VERSION: 20200205
1136	Merge with NetBSD make, pick up
1137	o meta.c: fix compat mode, need to call meta_job_output()
1138	o job.c: extra fds for meta mode not needed if using filemon_dev
1139
11402020-01-22  Simon J Gerraty  <sjg@beast.crufty.net>
1141
1142	* VERSION: 20200122
1143	Merge with NetBSD make, pick up
1144	o meta.c: avoid passing NULL to filemon_*() when meta_needed()
1145	  returns FALSE.
1146
11472020-01-21  Simon J Gerraty  <sjg@beast.crufty.net>
1148
1149	* VERSION: 20200121
1150	Merge with NetBSD make, pick up
1151	o filemon/filemon_{dev,ktrace}.c: allow selection of
1152	  filemon implementation.  filemon_dev.c uses the kernel module
1153	  while filemon_ktrace.c leverages the fktrace api available in
1154	  NetBSD.  filemon_ktrace.c can hopefully form the basis for
1155	  adding support for other tracing mechanisms such as strace on
1156	  Linux.
1157	o meta.c: when target is out-of-date per normal make rules
1158	  record value of .OODATE in meta file.
1159
11602019-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
1161
1162	* VERSION: 20190926
1163	  Merge with NetBSD make, pick up
1164	  o parse.c: don't pass NULL to realpath(3)
1165	    some versions cannot handle it.
1166
11672019-04-09  Simon J Gerraty  <sjg@beast.crufty.net>
1168
1169	* VERSION: 20190409
1170	  Merge with NetBSD make, pick up
1171	  o parse.c: ParseDoDependency: free paths rather than assert
1172
11732018-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
1174
1175	* VERSION: 20181222
1176
1177	* configure.in: add --without-makefile to avoid generating
1178	  makefile and make-bootstrap.sh
1179
1180	* include Makefile.inc if it exists
1181
1182	* Use Makefile and Makefile.config.in in unit-tests
1183	  so we can use just: make obj && make && make test
1184	  when bmake is already available.
1185	  We add --without-makefile to CONFIGURE_ARGS in this case.
1186
1187	* tweak bsd.after-import.mk (captures Makefile.config etc
1188	  after import to FreeBSD for example) to cope with all the above.
1189
11902018-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
1191
1192	* VERSION: 20181221
1193	  Merge with NetBSD make, pick up
1194	  o parse.c: ParseVErrorInternal use .PARSEDIR
1195	    and apply if relative, and then use .PARSEFILE
1196	    for consistent result.
1197
11982018-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
1199
1200	* VERSION: 20181220
1201	  Merge with NetBSD make, pick up
1202	  o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR
1203	    is relative
1204	  o var.c: avoid SEGFAULT in .unexport-env
1205	    when MAKELEVEL is not set
1206
12072018-12-16  Simon J Gerraty  <sjg@beast.crufty.net>
1208
1209	* VERSION: 20181216
1210	  Merge with NetBSD make, pick up
1211	  o fix for unit-tests/varquote.mk on Debian
1212
12132018-09-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1214
1215	* VERSION: 20180919
1216	  Merge with NetBSD make, pick up
1217	  o var.c: add :q
1218	  o dir.c: cleanup caching of stats
1219
12202018-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
1221
1222	* Makefile.config.in: use += where it makes sense.
1223
12242018-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1225
1226	* VERSION: 20180512
1227	  Merge with NetBSD make, pick up
1228	  o job.c: skip polling job token pipe
1229
12302018-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1231
1232	* VERSION: 20180405
1233	  Merge with NetBSD make, pick up
1234	  o parse.c: be more cautious about detecting depenency line
1235	    rather than sysV style include.
1236
12372018-02-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1238
1239	* VERSION: 20180222
1240	  Merge with NetBSD make, pick up
1241	  o parse.c: avoid calling sysconf for every call to loadfile
1242
12432018-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1244
1245	* VERSION: 20180218
1246	  Merge with NetBSD make, pick up
1247	  o var.c: Var_Set handle NULL value anytime.
1248
12492018-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1250
1251	* VERSION: 20180212
1252	  Merge with NetBSD make, pick up
1253	  o parse.c: do not treat .info as warning with -W
1254
12552017-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1256
1257	* VERSION: 20171207
1258	  Merge with NetBSD make, pick up
1259	  o var.c: Var_Append use Var_Set if var not previously set
1260	    so that VAR_CMD is handled correctly.
1261	    Add a suitable unit-test.
1262
12632017-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1264
1265	* VERSION (_MAKE_VERSION): 20171126
1266
1267	* aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
1268	  since AC_TRY_COMPILE puts input inside main()
1269	  which upsets modern compilers.
1270
12712017-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1272
1273	* VERSION: 20171118
1274	  Merge with NetBSD make, pick up
1275	  o var.c: do not append to variable set on command line
1276	    add unit-test to catch this.
1277
12782017-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1279
1280	* VERSION: 20171028
1281	  Merge with NetBSD make, pick up
1282	  o main.c: ignore empty MAKEOBJDIR
1283
1284	* Makefile.config.in:
1285	  make @prefix@ @machine*@ and @default_sys_path@ defaults.
1286
12872017-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1288
1289	* VERSION: 20171005
1290
1291	* unit-tests/dotwait.mk: redirect stderr through pipe for more
1292	  consistent result on some platforms.
1293
12942017-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1295
1296	* machine.sh: entry for AIX
1297
12982017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1299
1300	* VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
1301	  to a file that can be included by configure as well as make.
1302	  This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
1303
13042017-08-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1305
1306	* Makefile (_MAKE_VERSION): 20170810
1307	  Merge with NetBSD make, pick up
1308	  o meta.c: if target is in subdir we only need subdir name in
1309	    meta_name.
1310
13112017-07-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1312
1313	* Makefile (_MAKE_VERSION): 20170720
1314	  Merge with NetBSD make, pick up
1315	  o compat.c: pass SIGINT etc onto child and wait for it to exit
1316	    before we self-terminate.
1317
13182017-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1319
1320	* Makefile (_MAKE_VERSION): 20170711
1321	  forgot to update after merge on 20170708 ;-)
1322	  o main.c: refactor to reduce size of main function.
1323	    add -v option to always fully expand values.
1324	  o meta.c: ensure command output in meta file has ending newline
1325	    even when filemon not being used.
1326	    When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
1327	    pathname via ':L' since any ':' in pathname breaks that.
1328	    Instead set a '${.p.}' to pathname in the target context and
1329	    use that.
1330
13312017-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1332
1333	* Makefile (_MAKE_VERSION): 20170510
1334	  Merge with NetBSD make, pick up
1335	  o main.c: Main_SetObjdir: ensure buf2 is in scope
1336
13372017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1338
1339	* Makefile (_MAKE_VERSION): 20170505
1340	  see mk/ChangeLog
1341
13422017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1343
1344	* parse.c: not everyone has stdint.h
1345
13462017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1347
1348	* Makefile (_MAKE_VERSION): 20170501
1349	  see mk/ChangeLog
1350
13512017-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1352
1353	* Makefile (_MAKE_VERSION): 20170421
1354	  Merge with NetBSD make, pick up
1355	  o str.c: Str_Match: fix closure tests for [^] and add unit-test.
1356
13572017-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1358
1359	* Makefile (_MAKE_VERSION): 20170420
1360	  Merge with NetBSD make, pick up
1361	  o main.c: only use -C arg "as is" if it contains no
1362	    relative component.
1363
13642017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1365
1366	* Makefile (_MAKE_VERSION): 20170418
1367	  Merge with NetBSD make, pick up
1368	  o main.c: fix Main_SetObjdir() for relative paths (eg obj).
1369
13702017-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1371
1372	* Makefile (_MAKE_VERSION): 20170417
1373	  Merge with NetBSD make, pick up
1374	  o fixes a number of coverity complaints
1375	    - check return value of fseek, fcntl
1376	    - plug memory leak in Dir_FindFile, Var_LoopExpand,
1377	      JobPrintCommand, ParseTraditionalInclude
1378	    - use bmake_malloc() where NULL is not tollerated
1379	    - use MAKE_ATTR_UNUSED rather that kludges like
1380	      return(unused ? 0 : 0)
1381	    - use purge_cached_realpaths() rather than abuse cached_realpath()
1382
13832017-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1384
1385	* Makefile (_MAKE_VERSION): 20170413
1386	  Merge with NetBSD make, pick up
1387	  o main.c: when setting .OBJDIR ignore '$' in paths.
1388
1389	* job.c: use MALLOC_OPTIONS to set malloc_options.
1390
13912017-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1392
1393	* Makefile (_MAKE_VERSION): 20170411
1394	  Merge with NetBSD make, pick up
1395	  o str.c: Str_Match: allow [^a-z] to behave as expected.
1396
13972017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1398
1399	* Makefile (_MAKE_VERSION): 20170326
1400	  Merge with NetBSD make, pick up
1401	  o main.c: purge relative paths from realpath cache when .OBJDIR
1402	    is changed.
1403
14042017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1405
1406	* Makefile (_MAKE_VERSION): 20170311
1407	  Merge with NetBSD make, pick up
1408          o main.c: only use -C arg "as is" if it starts with '/'.
1409
14102017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1411
1412	* Makefile (_MAKE_VERSION): 20170301
1413	  Merge with NetBSD make, pick up
1414	  o main.c: use -C arg "as is" rather than getcwd()
1415	    if they identify the same directory.
1416	  o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
1417
14182017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1419
1420	* Makefile (_MAKE_VERSION): 20170201
1421	  Merge with NetBSD make, pick up
1422	  o var.c: allow :_=var and avoid use of special context.
1423
14242017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1425
1426	* Makefile (_MAKE_VERSION): 20170130
1427	  Merge with NetBSD make, pick up
1428	  o var.c: add :range and :_
1429	  o main.c: partially initialize Dir_* before MainParseArgs()
1430	    can be called.
1431	    If -V, skip Main_ExportMAKEFLAGS()
1432
14332017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1434
1435	* Makefile (_MAKE_VERSION): 20170114
1436	  Merge with NetBSD make, pick up
1437	  o var.c: allow specifying the utc value used by :{gm,local}time
1438
14392016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1440
1441	* Makefile (_MAKE_VERSION): 20161212
1442	  Merge with NetBSD make, pick up
1443          o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
1444
14452016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1446
1447	* Makefile (_MAKE_VERSION): 20161209
1448	  Merge with NetBSD make, pick up
1449	  o main.c: cleanup setting of .OBJDIR
1450	  o parse.c: avoid coredump from (var)=val
1451
14522016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1453
1454	* Makefile (_MAKE_VERSION): 20161126
1455	  Merge with NetBSD make, pick up
1456	  o make.c: Make_OODate: report src node name if path not set
1457
14582016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1459
1460	* Makefile (_MAKE_VERSION): 20160926
1461	  Merge with NetBSD make, pick up
1462	  o support for .DELETE_ON_ERROR: (remove targets that fail)
1463
14642016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1465
1466	* Makefile MAN: tweak .Dt to match ${PROG}
1467
14682016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1469
1470	* Makefile (_MAKE_VERSION): 20160818
1471	  its a neater number; pick up whitespace fixes to man page.
1472
14732016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1474
1475	* Makefile (_MAKE_VERSION): 20160817
1476	  Merge with NetBSD make, pick up
1477	  o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
1478	    so we can call it before adding entries to missingFiles.
1479	    Thus we do not track files we have been told to ignore.
1480
14812016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1482
1483	* Makefile (_MAKE_VERSION): 20160815
1484	  Merge with NetBSD make, pick up
1485	  o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
1486	    pathnames, and skip if the expansion is empty.
1487	    Useful for dirdeps.mk when checking DIRDEPS_CACHE.
1488
14892016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1490
1491	* Makefile (_MAKE_VERSION): 20160812
1492	  Merge with NetBSD make, pick up
1493	  o meta.c: remove all missingFiles entries that match a deleted
1494	    dir.
1495	  o main.c: set .ERROR_CMD if possible.
1496
14972016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1498
1499	* Makefile (_MAKE_VERSION): 20160606
1500	  Merge with NetBSD make, pick up
1501	  o dir.c: extend mtimes cache to others via cached_stat()
1502
15032016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1504
1505	* Makefile (_MAKE_VERSION): 20160604
1506	  Merge with NetBSD make, pick up
1507	  o meta.c: missing filemon data is only relevant if we read a
1508	    meta file.
1509	    Also do not return oodate for a missing metafile if gn->path
1510	    points to .CURDIR
1511
15122016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1513
1514	* Makefile (_MAKE_VERSION): 20160602
1515	  Merge with NetBSD make, pick up
1516	  o cached_realpath(): avoid hitting filesystem more than necessary.
1517	  o meta.c: refactor need_meta decision, add knobs for
1518	    missing meta file and filemon data wrt out-of-datedness.
1519
15202016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1521
1522	* Makefile (_MAKE_VERSION): 20160528
1523
1524	* boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
1525
15262016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1527
1528	* Makefile (_MAKE_VERSION): 20160512
1529	  Merge with NetBSD make, pick up
1530	  o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
1531	    this is useful for gcov builds.
1532	  o propagate errors from filemon(4).
1533
15342016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1535
1536	* Makefile (_MAKE_VERSION): 20160509
1537	  Merge with NetBSD make, pick up
1538	  o remove use of non-standard types u_int etc.
1539	  o meta.c: apply realpath() before matching against metaIgnorePaths
1540
15412016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1542
1543	* Makefile (_MAKE_VERSION): 20160404
1544	  Merge with NetBSD make, pick up
1545	  o allow makefile to set .MAKE.JOBS
1546
1547	* Makefile (PROG_NAME): use ${_MAKE_VERSION}
1548
15492016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1550
1551	* Makefile (_MAKE_VERSION): 20160315
1552	  Merge with NetBSD make, pick up
1553	  o fix handling of archive members
1554
15552016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1556
1557	* Makefile (_MAKE_VERSION): rename variable to avoid interference
1558	  with checks for ${MAKE_VERSION}
1559
15602016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1561
1562	* Makefile (MAKE_VERSION): 20160310
1563	  Merge with NetBSD make, pick up
1564	  o meta.c: treat missing Read file same as Write, incase we Delete it.
1565
15662016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1567
1568	* Makefile (MAKE_VERSION): 20160307
1569	  Merge with NetBSD make, pick up
1570	  o var.c: fix :ts\nnn to be octal by default.
1571	  o meta.c: meta_finish() to cleanup memory.
1572
15732016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1574
1575	* Makefile (MAKE_VERSION): 20160226
1576	  Merge with NetBSD make, pick up
1577	  o meta.c: allow meta file for makeDepend if makefiles want it.
1578
15792016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
1580
1581	* var.c: default .MAKE.SAVE_DOLLARS to FALSE
1582	  for backwards compatability.
1583
1584	* Makefile (MAKE_VERSION): 20160220
1585	  Merge with NetBSD make, pick up
1586	  o var.c: add knob to control handling of '$$' in :=
1587
15882016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1589
1590	* Makefile (MAKE_VERSION): 20160218
1591	  Merge with NetBSD make, pick up
1592	  o var.c: add .export-literal allows us to fix sys.clean-env.mk
1593	    post the changes to Var_Subst.
1594	    Var_Subst now takes flags, and does not consume '$$' in :=
1595
15962016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1597
1598	* Makefile (MAKE_VERSION): 20160217
1599	  Merge with NetBSD make, pick up
1600	  o var.c: preserve '$$' in :=
1601	  o parse.c: add .dinclude for handling included
1602	    makefile like .depend
1603
16042015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1605
1606	* Makefile (MAKE_VERSION): 20151220
1607	  Merge with NetBSD make, pick up
1608	  o suff.c: re-initialize suffNull when clearing suffixes.
1609
16102015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1611
1612	* Makefile (MAKE_VERSION): 20151201
1613	  Merge with NetBSD make, pick up
1614	  o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
1615	  o meta.c: meta_oodate: use lstat(2) for checking link target
1616	    in case it is a symlink.
1617	  o var.c: avoid calling brk_string and Var_Export1 with empty
1618	    strings.
1619
16202015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1621
1622	* Makefile (MAKE_VERSION): 20151126
1623	  Merge with NetBSD make, pick up
1624	  o parse.c: ParseTrackInput don't access beyond
1625	    end of old value.
1626
16272015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1628
1629	* Makefile (MAKE_VERSION): 20151022
1630
1631	* Add support for BSD/OS which lacks inttypes.h
1632	  and really needs sys/param.h for sys/sysctl.h
1633	  also 'type' is not a shell builtin.
1634
1635	* var.c: eliminate uint32_t and need for inttypes.h
1636
1637	* main.c: PrintOnError flush stdout before run .ERROR
1638
1639	* parse.c: cope with _SC_PAGESIZE not being defined.
1640
1641
16422015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1643
1644	* Makefile (MAKE_VERSION): 20151020
1645	  Merge with NetBSD make, pick up
1646	  o var.c: fix uninitialized var
1647
16482015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1649
1650	* var.c: the conditional expressions used with ':?' can be
1651	expensive, if already discarding do not evaluate or expand
1652	anything.
1653
16542015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1655
1656	* Makefile (MAKE_VERSION): 20151010
1657	  Merge with NetBSD make, pick up
1658	  o Add Boolean wantit flag to Var_Subst and Var_Parse
1659	    when FALSE we know we are discarding the result and can
1660	    skip operations like Cmd_Exec.
1661
16622015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1663
1664	* Makefile (MAKE_VERSION): 20151009
1665	  Merge with NetBSD make, pick up
1666	  o var.c: don't check for NULL before free()
1667	  o meta.c: meta_oodate, do not hard code ignore of makeDependfile
1668
16692015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1670
1671	* Makefile (MAKE_VERSION): 20150910
1672	  Merge with NetBSD make, pick up
1673	  o main.c: with -w print Enter/Leaving messages for objdir too
1674	    if necessary.
1675	  o centralize shell metachar handling
1676
1677	* FILES: add metachar.[ch]
1678
16792015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1680
1681	* Makefile (MAKE_VERSION): 20150606
1682	  Merge with NetBSD make, pick up
1683	  o make.1: document .OBJDIR target
1684
16852015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1686
1687	* Makefile (MAKE_VERSION): 20150505
1688	  Merge with NetBSD make, pick up
1689	  o cond.c: be strict about lhs of comparison when evaluating .if
1690	    but less so when called from variable expansion.
1691	  o unit-tests/cond2.mk: test various error conditions
1692
16932015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1694
1695	* machine.sh (MACHINE): Add Bitrig
1696	  patch from joerg@netbsd.org
1697
16982015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1699
1700	* Makefile (MAKE_VERSION): 20150418
1701	  Merge with NetBSD make, pick up
1702	  o job.c: use memmove() rather than memcpy()
1703
1704	* unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
1705	  case, so skip it.
1706
17072015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1708
1709	* Makefile (MAKE_VERSION): 20150411
1710	  bump version - only mk/ changes.
1711
17122015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1713
1714	* Makefile (MAKE_VERSION): 20150410
1715	  Merge with NetBSD make, pick up
1716	  o document different handling of '-' in jobs mode vs compat
1717	  o fix jobs mode so that '-' only applies to whole job
1718	    when shell lacks hasErrCtl
1719	  o meta.c: use separate vars to track lcwd and latestdir (read)
1720	    per process
1721
17222015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1723
1724	* Makefile (MAKE_VERSION): 20150401
1725	  Merge with NetBSD make, pick up
1726	  o meta.c: close meta file in child
1727
1728	* Makefile: use BINDIR.bmake if set.
1729	  Same for MANDIR and SHAREDIR
1730	  Handy for testing release candidates
1731	  in various environments.
1732
17332015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1734
1735	* move initialization of savederr to block where it is used
1736	  to avoid spurious warning from gcc5
1737
17382014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1739
1740	* Makefile (MAKE_VERSION): 20141111
1741	  just a cooler number
1742
17432014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1744
1745	* Makefile (MAKE_VERSION): 20141105
1746	  Merge with NetBSD make, pick up
1747	  o revert major overhaul of suffix handling
1748	    and POSIX compliance - too much breakage
1749	    and impossible to make backwards compatible.
1750	  o we still have the new unit test structure which is ok.
1751	  o meta.c ensure "-- filemon" is at start of line.
1752
17532014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1754
1755	* configure.in: test that result of getconf PATH_MAX is numeric
1756	  and discard if not.  Apparently needed for Hurd.
1757
17582014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1759
1760	* Makefile (MAKE_VERSION): 20140830
1761	  Merge with NetBSD make, pick up
1762	  o major overhaul of suffix handling
1763	  o improved POSIX compliance
1764	  o overhauled unit-tests
1765
17662014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1767
1768	* Makefile (MAKE_VERSION): 20140620
1769	  Merge with NetBSD make, pick up
1770	  o var.c return varNoError rather than var_Error for ::= modifiers.
1771
17722014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1773
1774	* Makefile (MAKE_VERSION): 20140522
1775	  Merge with NetBSD make, pick up
1776	  o var.c detect some parse errors.
1777
17782014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1779
1780	* Fix spelling errors - patch from Pedro Giffuni
1781
17822014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1783
1784	* Makefile (MAKE_VERSION): 20140214
1785	  Merge with NetBSD make, pick up
1786	  o .INCLUDEFROM*
1787	  o use Var_Value to get MAKEOBJDIR[PREFIX]
1788	  o reduced realloc'ign in brk_string.
1789	* configure.in: add a check for compiler supporting __func__
1790
17912014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1792
1793	* boot-strap: ignore mksrc=none
1794
17952014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1796
1797	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
1798
17992014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1800
1801	* Makefile (MAKE_VERSION): 20140101
1802	* configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
1803	* Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
1804	* make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
1805	  Hurd)
1806	* configure.in: Add AC_PREREQ and check for
1807	  sysctl; patch from Andrew Shadura andrewsh at debian.org
1808
18092013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1810
1811	* Makefile (MAKE_VERSION): 20131010
1812	* lose the const from arg to systcl to avoid problems on older BSDs.
1813
18142013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1815
1816	* Makefile (MAKE_VERSION): 20131001
1817	  Merge with NetBSD make, pick up
1818	  o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
1819	    hw.machine_arch if necessary.
1820	  o meta.c: meta_oodate - need to look at src of Link and target
1821	    of Move as well.
1822	* main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
1823	  provide __arraycount() if needed.
1824
18252013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1826
1827	* Makefile (MAKE_VERSION): 20130904
1828	  Merge with NetBSD make, pick up
1829	  o Add VAR_INTERNAL context, so that internal setting of
1830	    MAKEFILE does not override value set by makefiles.
1831
18322013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1833
1834	* Makefile (MAKE_VERSION): 20130902
1835	  Merge with NetBSD make, pick up
1836	  o CompatRunCommand: only apply shellErrFlag when errCheck is true
1837
18382013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1839
1840	* Makefile (MAKE_VERSION): 20130828
1841	  Merge with NetBSD make, pick up
1842	  o Fix VAR :sh = syntax from Will Andrews at freebsd.org
1843	  o Call Job_SetPrefix() from Job_Init() so makefiles have
1844	    opportunity to set .MAKE.JOB.PREFIX
1845
18462013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1847
1848	* Makefile (MAKE_VERSION): 20130730
1849	  Merge with NetBSD make, pick up
1850	  o Allow suppression of --- job -- tokens by setting
1851	    .MAKE.JOB.PREFIX empty.
1852
18532013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1854
1855	* Makefile (MAKE_VERSION): 20130716
1856	  Merge with NetBSD make, pick up
1857	  o number of gmake compatibility tweaks
1858	    -w for gmake style entering/leaving messages
1859	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
1860	    handle MAKEFLAGS containing only letters.
1861	  o when overriding a GLOBAL variable on the command line,
1862	    delete it from GLOBAL context so -V doesn't show the wrong
1863	    value.
1864
18652013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1866
1867	* configure.in: We don't need MAKE_LEVEL_SAFE anymore.
1868
1869	* Makefile (MAKE_VERSION): 20130706
1870	  Merge with NetBSD make, pick up
1871	  o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
1872	    true so that CompatRunCommand() can use it, to ensure
1873	    consistent behavior with jobs mode.
1874	  o use MAKE_LEVEL_ENV to define the variable to propagate
1875	    .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
1876	  o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
1877	    paths to ignore.
1878
18792013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1880
1881	* Makefile (MAKE_VERSION): 20130604
1882	  Merge with NetBSD make, pick up
1883	  o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
1884	    to avoid leaking descriptors.
1885
18862013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1887
1888	* Makefile (MAKE_VERSION): 20130528
1889	  Merge with NetBSD make, pick up
1890	  o var.c: cleanup some left-overs in VarHash()
1891
18922013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1893
1894	* Makefile (MAKE_VERSION): 20130520
1895	  generate manifest from component FILES rather than have to
1896	  update FILES when mk/FILES changes.
1897
18982013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1899
1900	* Makefile (MAKE_VERSION): 20130518
1901	  Merge with NetBSD make, pick up
1902	  o suff.c: don't skip all processsing for .PHONY targets
1903	    else wildcard srcs do not get expanded.
1904	  o var.c: expand name of variable to delete if necessary.
1905
19062013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1907
1908	* Makefile (MAKE_VERSION): 20130330
1909	  Merge with NetBSD make, pick up
1910	  o meta.c: refine the handling of .OODATE in commands.
1911	    Rather than suppress command comparison for the entire script
1912	    as though .NOMETA_CMP had been used, only suppress it for the
1913	    one command line.
1914	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
1915	    suppress comparison of a command without otherwise affecting it.
1916	  o make.1: document that
1917
19182013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1919
1920	* Makefile (MAKE_VERSION): 20130321
1921	  yes, not quite right but its a cooler number.
1922	  Merge with NetBSD make, pick up
1923	  o parse.c: fix ParseGmakeExport to be portable
1924	    and add a unit-test.
1925	* meta.c: call meta_init() before makefiles are read and if built
1926	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
1927	  this let's makefiles test for support.
1928	  Call meta_mode_init() to process .MAKE.MODE.
1929
19302013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1931
1932	* Makefile (MAKE_VERSION): 20130305
1933	  Merge with NetBSD make, pick up
1934	  o run .STALE: target when a dependency from .depend is missing.
1935	  o job.c: add Job_RunTarget() for the above and .BEGIN
1936
19372013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1938
1939	* Makefile (MAKE_VERSION): 20130303
1940	  Merge with NetBSD make, pick up
1941	  o main.c: set .MAKE.OS to utsname.sysname
1942	  o job.c: more checks for read and poll errors
1943	  o var.c: lose VarChangeCase() saves 4% time
1944
19452013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1946
1947	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
1948	  want to use MAKEOBJDIR
1949
19502013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
1951
1952	* Merge with NetBSD make, pick up
1953	  o make.1: more info on how shell commands are handled.
1954	  o job.c,main.c: detect write errors to job pipes.
1955
19562013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1957
1958	* Makefile (MAKE_VERSION): 20130123
1959	  Merge with NetBSD make, pick up
1960	  o meta.c: if script uses .OODATE and meta_oodate() decides
1961	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
1962	  o var.c: in debug output indicate which variabale modifiers
1963	    apply to.
1964	  o remove Check_Cwd logic the makefiles have been fixed.
1965
19662012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
1967
1968	* makefile.in: add a simple makefile for folk who insist on
1969	  ./configure; make; make install
1970	  it just runs boot-strap
1971	* include mk/* to accommodate the above
1972	* boot-strap:  re-work to accommodate the above
1973	  mksrc defaults to $Mydir/mk
1974	  allow op={configure,build,install,clean,all}
1975	  add options to facilitate install
1976	* Makefile.config.in: just the bits set by configure
1977	* Makefile: bump version to 20121212
1978	  abandon Makefile.in (NetBSD Makefile)
1979	  leverage mk/* instead
1980	* configure.in: ensure srcdir is absolute
1981
19822012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1983
1984	* Makefile.in (MAKE_VERSION): 20121111
1985	  fix generation of bmake.cat1
1986
19872012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1988
1989	* Makefile.in (MAKE_VERSION): 20121109
1990	  Merge with NetBSD make, pick up
1991	  o make.c: MakeBuildChild: return 0 so search continues if a
1992	    .ORDER dependency is detected.
1993	  o unit-tests/order: test the above
1994
19952012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1996
1997	* Makefile.in (MAKE_VERSION): 20121102
1998	  Merge with NetBSD make, pick up
1999	  o cond.c: allow cond_state[] to grow.
2000	    In meta mode with a very large tree, we can hit the limit
2001	    while processing dirdeps.
2002
20032012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2004
2005	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
2006
20072012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2008
2009	* Makefile.in (MAKE_VERSION): 20121010
2010	  o protect syntax that only bmake parses correctly.
2011	  o remove auto setting of FORCE_MACHINE, use configure's
2012	    --with-force-machine=whatever if that is desired.
2013
20142012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2015
2016	* Makefile.in: do not lose history from make.1 when generating bmake.1
2017
20182012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2019
2020	* Makefile.in (MAKE_VERSION): 20121007
2021	  Merge with NetBSD make, pick up
2022	  o compat.c: ignore empty commands - same as jobs mode.
2023	  o make.1: document meta chars that cause use of shell
2024
20252012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2026
2027	* Makefile.in (MAKE_VERSION): bump version to 20120911
2028	* bsd.after-import.mk: include Makefile.inc early and allow it to
2029	  override PROG
2030
20312012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
2032
2033	* Makefile.in (MAKE_VERSION): bump version to 20120831
2034	  Merge with NetBSD make, pick up
2035	  o cast sizeof() to int for comparison
2036	  o minor make.1 tweak
2037
20382012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2039
2040	* Makefile.in (MAKE_VERSION): bump version to 20120830
2041	  Merge with NetBSD make, pick up
2042	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
2043	  o debug flag -dV causes -V to show raw value regardless.
2044
20452012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2046
2047	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
2048	  gets SRCTOP set.
2049
20502012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2051
2052	* Makefile.in (MAKE_VERSION): bump version to 20120704
2053	  Merge with NetBSD make, pick up
2054	  o Job_ParseShell should call Shell_Init if it has been
2055	    previously called.
2056	* Makefile.in: set USE_META based on configure result.
2057	  also .PARSEDIR is safer indicator of bmake.
2058
20592012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2060
2061	* Makefile.in: bump version to 20120626
2062	  ensure CPPFLAGS is in CFLAGS
2063	* meta.c: avoid nested externs
2064	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
2065
20662012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2067
2068	* Makefile.in (MAKE_VERSION): bump version to 20120620
2069	  Merge with NetBSD make, pick up
2070	  o make_malloc.c: avoid including make_malloc.h again
2071
2072	* Makefile.in: avoid bmake only syntax or protect with
2073	  .if defined(.MAKE.LEVEL)
2074	* bsd.after-import.mk: replace .-include with .sinclude
2075	  ensure? SRCTOP gets a value
2076	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
2077
20782012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2079
2080	* Makefile.in (MAKE_VERSION): bump version to 20120612
2081	  Merge with NetBSD make, pick up
2082	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
2083	    for greater portability.
2084	  o unit-tests/forloop: check that .for works as expected wrt
2085	    number of times and with "quoted strings".
2086
20872012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2088
2089	* Makefile.in (MAKE_VERSION): bump version to 20120606
2090	  Merge with NetBSD make, pick up
2091	  o compat.c: use kill(2) rather than raise(3).
2092	* configure.in: look for sys/dev/filemon
2093	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
2094	  and pass BOOTSTRAP_XTRAS to boot-strap.
2095
20962012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2097
2098	* Makefile.in (MAKE_VERSION): bump version to 20120604
2099	  Merge with NetBSD make, pick up
2100	  o util.c and var.c share same var for tracking if environ
2101	    has been reallocated.
2102	  o util.c provide getenv with setenv.
2103	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
2104	  when the shell actively strips .MAKE.* from the environment.
2105	  We still refer to the variable always as .MAKE.LEVEL
2106	* util.c fix bug in findenv() was finding prefix of name.
2107	* compat.c: re-raising SIGINT etc after running .INTERRUPT
2108	  results in more reliable termination of all activity on many
2109	  platforms.
2110
21112012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2112
2113	* Makefile.in (MAKE_VERSION): bump version to 20120602
2114	  Merge with NetBSD make, pick up
2115	  o for.c: handle quoted items in .for list
2116
21172012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2118
2119	* Makefile.in (MAKE_VERSION): bump version to 20120530
2120	  Merge with NetBSD make, pick up
2121	  o compat.c: ignore empty command.
2122
21232012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2124
2125	* Makefile.in (MAKE_VERSION): bump version to 20120524
2126	* FILES: add bsd.after-import.mk:
2127	  A simple means of integrating bmake into a BSD build system.
2128
21292012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2130
2131	* Makefile.in (MAKE_VERSION): bump version to 20120520
2132	  Merge with NetBSD make, pick up
2133	  o increased limit for nested conditionals.
2134
21352012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2136
2137	* Makefile.in (MAKE_VERSION): bump version to 20120518
2138	  Merge with NetBSD make, pick up
2139	  o use _exit(2) in signal hanlder
2140	  o Don't use the [dir] cache when building nodes that might have
2141	    changed since the last exec.
2142	  o Avoid nested extern declaration warnings.
2143
21442012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
2145
2146	* meta.c (fgetLine): avoid %z - not portable.
2147	* parse.c: Since we moved include of sys/mman.h
2148	  and def's of MAP_COPY etc. we got dups from a merge.
2149
21502012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2151
2152	* Makefile.in (MAKE_VERSION): bump version to 20120420
2153	  Merge with NetBSD make, pick up
2154	  o restore duplicate supression in .MAKE.MAKEFILES
2155	    runtime saving can be significant.
2156	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
2157	    consumption up to 20%.
2158
21592012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2160
2161	* Makefile.in (MAKE_VERSION): bump version to 20120420
2162          Merge with NetBSD make, pick up
2163	  o remove duplicate supression in .MAKE.MAKEFILES
2164	  o improved dir cache behavior
2165	  o gmake'ish export command
2166
21672012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2168
2169	* Makefile.in (MAKE_VERSION): bump version to 20120325
2170	  Merge with NetBSD make, pick up
2171	  o fix parsing of :[#] in conditionals.
2172
21732012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2174
2175	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
2176	  since some systems cannot cope with .Nx <version>
2177
21782011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2179
2180	* Makefile.in (MAKE_VERSION): bump version to 20111111
2181	  Merge with NetBSD make, pick up
2182	  o debug output for .PARSEDIR and .PARSEFILE
2183
21842011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2185
2186	* Makefile.in (MAKE_VERSION):  bump version to 20111010
2187
21882011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2189
2190	* boot-strap: check for an expected file in the dirs we look for.
2191	* make-bootstrap.sh: pass on LDSTATIC
2192
21932011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2194
2195	* Makefile.in (MAKE_VERSION): bump version to 20111001
2196	  Merge with NetBSD make, pick up
2197	  o ensure .PREFIX is set for .PHONY
2198	    and .TARGET set for .PHONY run via .END
2199	  o __dead used consistently
2200
22012011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2202
2203	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
2204
22052011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2206
2207	* Makefile.in (MAKE_VERSION): bump version to 20110905
2208	  Merge with NetBSD make, pick up
2209	  o meta_oodate: ignore makeDependfile
2210
22112011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2212
2213	* Makefile.in (MAKE_VERSION): bump version to 20110828
2214	  Merge with NetBSD make, pick up
2215	  o silent=yes in .MAKE.MODE causes meta mode to mark targets
2216	    as SILENT if a .meta file is created
2217
22182011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2219
2220	* Makefile.in (MAKE_VERSION): bump version to 20110818
2221	  Merge with NetBSD make, pick up
2222	  o in meta mode, if target flagged .META a missing .meta file
2223	    means target is out-of-date
2224	  o fixes for gcc 4.5 warnings
2225	  o simplify job printing code
2226
22272011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2228
2229	* Makefile.in (MAKE_VERSION): bump version to 20110808
2230	  Merge with NetBSD make, pick up
2231	  o do not touch OP_SPECIAL targets when doing make -t
2232
22332011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2234
2235	* Makefile.in (MAKE_VERSION): bump version to 20110622
2236	  Merge with NetBSD make, pick up
2237	  o meta_oodate detect corrupted .meta file and declare oodate.
2238	* configure.in: add check for setsid
2239
22402011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2241
2242	* Merge with NetBSD make, pick up
2243	  o unit-tests/modts now works on MirBSD
2244
22452011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2246
2247	* Makefile.in (MAKE_VERSION): bump version to 20110606
2248	  Merge with NetBSD make, pick up
2249	  o ApplyModifiers: when we parse a variable which is not
2250	    the entire modifier string, or not followed by ':', do not
2251	    consider it as containing modifiers.
2252	  o loadfile: ensure newline at end of mapped file.
2253
22542011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2255
2256	* Makefile.in (MAKE_VERSION): bump version to 20110505
2257	  Merge with NetBSD make, pick up
2258	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
2259	    of make's control.  In meta mode, any generated file within
2260	    said bailiwick, which  is found to be missing, causes current
2261	    target to be out-of-date.
2262
22632011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2264
2265	* Makefile.in (MAKE_VERSION): bump version to 20110411
2266	  Merge with NetBSD make, pick up
2267	  o when long modifiers fail to match, check sysV style.
2268	    - add a test case
2269
22702011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2271
2272	* Makefile.in (MAKE_VERSION): bump version to 20110410
2273	  Merge with NetBSD make, pick up
2274	  o :hash - cheap 32bit hash of value
2275	  o :localtime, :gmtime - use value as format string for strftime.
2276
22772011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2278
2279	* Makefile.in (MAKE_VERSION): bump version to 20110330
2280	  mostly because its a cooler version.
2281	  Merge with NetBSD make, pick up
2282	  o NetBSD tags for meta.[ch]
2283	  o job.c call meta_job_finish() after meta_job_error().
2284	  o meta_job_error() should call meta_job_finish() to ensure
2285	    .meta file is closed, and safe to copy - if .ERROR target wants.
2286	   meta_job_finish() is safe to call repeatedly.
2287
22882011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
2289
2290	* unit-tests/modts: use printf if it is a builtin,
2291	  to save us from MirBSD
2292
2293	* Makefile.in (MAKE_VERSION): bump version to 20110329
2294	  Merge with NetBSD make, pick up
2295	  o fix for use after free() in CondDoExists().
2296	  o meta_oodate() report extra commands and return earlier.
2297
22982011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
2299
2300	* Makefile.in (MAKE_VERSION): bump version to 20110327
2301	  Merge with NetBSD make, pick up
2302	  o meta.c, if .MAKE.MODE contains curdirOk=yes
2303	    allow creating .meta files in .CURDIR
2304	* boot-strap (TOOL_DIFF): aparently at least on linux distro
2305	  formats the output of 'type' differently - so eat any "()"
2306
23072011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2308
2309	* Makefile.in (MAKE_VERSION): bump version to 20110306
2310	  Merge with NetBSD make, pick up
2311	  o meta.c, only do getcwd() once
2312
23132011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2314
2315	* Makefile.in (MAKE_VERSION): bump version to 20110305
2316	  Merge with NetBSD make, pick up
2317	  o correct sysV substitution handling of empty lhs and variable
2318	  o correct exists() check for dir with trailing /
2319	  o correct handling of modifiers for non-existant variables
2320	    during evaluation of conditionals.
2321	  o ensure MAP_FILE is defined.
2322	  o meta.c use curdir[] now exported by main.c
2323
23242011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2325
2326	* Makefile.in (MAKE_VERSION): bump version to 20110225
2327	  Merge with NetBSD make, pick up
2328	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
2329	    makefiles have been read.
2330	  o fix example of :? modifier in man page.
2331
23322011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2333
2334	* Makefile.in (MAKE_VERSION): bump version to 20110214
2335	  Merge with NetBSD make, pick up
2336	  o meta.c handle realpath() failing when generating meta file
2337	    name.
2338
2339	* sigcompat.c: convert to ansi so we can use higher warning levels.
2340
2341
23422011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2343
2344	* Makefile.in (MAKE_VERSION): bump version to 20110207
2345	  Merge with NetBSD make, pick up
2346	  o fix for bug in meta mode.
2347
23482011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2349
2350	* parse.c: SunOS 5.8 at least does not have MAP_FILE
2351
23522011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2353
2354	* Makefile.in (MAKE_VERSION): bump version to 20110101
2355	  Merge with NetBSD make, pick up
2356	  o use mmap(2) if available, for reading makefiles
2357
23582010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2359
2360	* Makefile.in (MAKE_VERSION): bump version to 20101215
2361	  Merge with NetBSD make, pick up
2362	  o ensure meta_job_error() does not report a previous .meta file
2363	    as being culprit.
2364
23652010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2366
2367	* Makefile.in (MAKE_VERSION): bump version to 20101210
2368	  Merge with NetBSD make, pick up
2369	  o meta_oodate: track cwd per process, and only consider target
2370	    out-of-date if missing file is outside make's CWD.
2371	    Ignore files in /tmp/ etc.
2372	  o to ensure unit-tests results match, need to control LC_ALL
2373	    as well as LANG.
2374	  o fix for parsing bug in var.c
2375
23762010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2377
2378	* Makefile.in (MAKE_VERSION): bump version to 20101126
2379	  Merge with NetBSD make, pick up
2380	  o if stale dependency is an IMPSRC, search via .PATH
2381	  o meta_oodate: if a referenced file is missing, target is
2382	    out-of-date.
2383	  o meta_oodate: if a target uses .OODATE in its commands,
2384	    it (.OODATE) needs to be recomputed.
2385	  o keep a pointer to youngest child node, rather than just its
2386	    mtime.
2387
23882010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2389
2390	* Makefile.in (MAKE_VERSION): bump version to 20101101
2391
23922010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2393
2394	* machine.sh: like os.sh,
2395	allow for uname -p producing useless drivel
2396
23972010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2398
2399	* boot-strap: document configure knobs for meta and filemon.
2400
2401	* Makefile.in (MAKE_VERSION): bump version to 20100911
2402	  Merge with NetBSD make, pick up
2403	  o meta.c - meta mode
2404
2405	* make-bootstrap.sh.in: handle meta.c
2406	* configure.in: add knobs for use_meta and filemon_h
2407	  also, look for dirname, str[e]sep and strlcpy
2408	* util.c: add simple err[x] and warn[x]
2409
24102010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2411
2412	* boot-strap (TOOL_DIFF): set this to ensure tests use
2413	  the same version of diff that configure tested
2414
2415	* Makefile.in (MAKE_VERSION): bump version to 20100808
2416	  Merge with NetBSD make, pick up
2417	  o in jobs mode, when we discover we cannot make something,
2418	    call PrintOnError before exit.
2419
24202010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2421
2422	* Makefile.in (MAKE_VERSION): bump version to 20100806
2423	  Merge with NetBSD make, pick up
2424	  o formatting fixes for ignored errors
2425	  o ensure jobs are cleaned up regardless of where wait() was called.
2426
24272010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2428
2429	* Makefile.in (MAKE_VERSION): bump version to 20100618
2430	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
2431
24322010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2433
2434	* Makefile.in (MAKE_VERSION): bump version to 20100616
2435	  Merge with NetBSD make, pick up
2436	  o man page update
2437	  o call PrintOnError from JobFinish when we detect an error we
2438	    are not ignoring.
2439
24402010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2441
2442	* Makefile.in (MAKE_VERSION): bump version to 20100606
2443	  Merge with NetBSD make, pick up
2444	  o man page update
2445
24462010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2447
2448	* Makefile.in (MAKE_VERSION): bump version to 20100605
2449	  Merge with NetBSD make, pick up
2450	  o use bmake_signal() which is a wrapper around sigaction()
2451	    in place of signal()
2452	  o add .export-env to allow exporting variables to environment
2453	    without tracking (so no re-export when the internal value is
2454	    changed).
2455
24562010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
2457
2458	* Makefile.in (MAKE_VERSION): bump version to 20100524
2459	  Merge with NetBSD make, pick up
2460	  o fix for .info et al being greedy.
2461
24622010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
2463
2464	* Makefile.in (MAKE_VERSION): bump version to 20100520
2465	  Merge with NetBSD make, pick up
2466	  o back to using realpath on argv[0]
2467	    but only if contains '/' and does not start with '/'.
2468
24692010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2470
2471	* boot-strap: use absolute path for bmake when running tests.
2472
2473	* Makefile.in (MAKE_VERSION):  bump version to 20100510
2474	  Merge with NetBSD make, pick up
2475	  o revert use of realpath on argv[0]
2476	    too many corner cases.
2477	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
2478
24792010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2480
2481	* Makefile.in (MAKE_VERSION): bump version to 20100505
2482	  Merge with NetBSD make, pick up
2483	  o fix for missed SIGCHLD when compiled with SunPRO
2484	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
2485	    done the job.
2486
24872010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2488
2489	* Makefile.in (MAKE_VERSION): bump version to 20100430
2490	  Merge with NetBSD make, pick up
2491	  o fflush stdout before writing to stdout
2492
24932010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
2494
2495	* Makefile.in (MAKE_VERSION): bump version to 20100423
2496	  Merge with NetBSD make, pick up
2497	  o updated unit tests for Haiku (this time for sure).
2498	* boot-strap: based on patch from joerg
2499	  honor --with-default-sys-path better.
2500	* boot-strap: remove mention of --with-prefix-sys-path
2501
25022010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2503
2504	* Makefile.in (MAKE_VERSION): bump version to 20100422
2505	* Merge with NetBSD make, pick up
2506	  o fix for vfork() on Darwin.
2507	  o fix for bogus $TMPDIR.
2508	  o set .MAKE.MODE=compat for -B
2509	  o set .MAKE.JOBS=max_jobs for -j max_jobs
2510	  o allow unit-tests to run without any *.mk
2511	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
2512	* boot-strap: ignore /usr/share/mk except on NetBSD.
2513	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
2514	  ensure sort(1) behaves as expected.
2515
25162010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2517
2518	* boot-strap: add FindHereOrAbove so we can use -m .../mk
2519
25202010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2521
2522	* Makefile.in (MAKE_VERSION): bump version to 20100420
2523	* Merge with NetBSD make, pick up
2524	  o fix for variable realpath() behavior.
2525	    we have to stat(2) the result to be sure.
2526	  o fix for .export (all) when nested vars use :sh
2527
25282010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2529
2530	* Makefile.in (MAKE_VERSION): bump version to 20100414
2531	* Merge with NetBSD make, pick up
2532	  o use realpath to resolve argv[0] (for .MAKE) if needed.
2533	  o add realpath from libc.
2534	  o add :tA to resolve variable via realpath(3) if possible.
2535
25362010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2537
2538	* Makefile.in (MAKE_VERSION): bump version to 20100408
2539	* Merge with NetBSD make, pick up
2540	  o unit tests for .ERROR, .error
2541	  o fix for .ERROR to ensure it cannot be default target.
2542
25432010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2544
2545	* Makefile.in (MAKE_VERSION): bump version to 20100406
2546	* Merge with NetBSD make, pick up
2547	  o fix for compat mode "Error code" going to debug_file.
2548	  o fix for .ALLSRC being populated twice.
2549	  o support for .info, .warning and .error directives
2550	  o .MAKE.MODE to control make's operational mode
2551	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
2552	    name(s).
2553	  o .MAKE.DEPENDFILE to control the name of the depend file
2554	  o .ERROR target - run on failure.
2555
25562010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2557
2558	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
2559
2560	* os.sh,arch.c: patch for Haiku from joerg at netbsd
2561
25622010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
2563
2564	* Makefile.in (MAKE_VERSION): bump version to 20100222
2565	* Merge with NetBSD make, pick up
2566	  o better error msg for .for with mutiple inter vars
2567
2568	* boot-strap:
2569	  o use make-bootstrap.sh from joerg at netbsd
2570	    to avoid the need for a native make when bootstrapping.
2571	  o add "" everywhere ;-)
2572	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
2573	    otherwise the pre-formated version.
2574
25752010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2576
2577	* Makefile.in (MAKE_VERSION): bump version to 20100102
2578	* Merge with NetBSD make, pick up:
2579	  o fix for -m .../
2580
25812009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
2582
2583	* Makefile.in (MAKE_VERSION): bump version to 20091118
2584	* Merge with NetBSD make, pick up:
2585	  o .unexport
2586	  o report lines that start with '.' and should have ':'
2587	    (catch typo's of .el*if).
2588
25892009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
2590
2591	* configure.in: Ensure that srcdir and mksrc are absolute paths.
2592
25932009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2594
2595	* Makefile.in (MAKE_VERSION): fix version to 20091007
2596
25972009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
2598
2599	* Makefile.in (MAKE_VERSION): bump version to 200910007
2600	* Merge with NetBSD make, pick up:
2601	  o fix for parsing of :S;...;...; applied to .for loop iterator
2602	    appearing in a dependency line.
2603
26042009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
2605
2606	* Makefile.in (MAKE_VERSION): bump version to 20090909
2607	* Merge with NetBSD make, pick up:
2608	  o fix for -C, .CURDIR and .OBJDIR
2609	* boot-strap:
2610	  o allow share_dir to be set independent of prefix.
2611	  o select default share_dir better when prefix ends in $HOST_TARGET
2612	  o if FORCE_BSD_MK etc were set, include them in the suggested
2613	    install-mk command.
2614
26152009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
2616
2617	* Makefile.in (MAKE_VERSION): bump version to 20090908
2618	* Merge with NetBSD make, pick up:
2619	  o .MAKE.LEVEL for recursion tracking
2620	  o fix for :M scanning \:
2621
26222009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
2623
2624	* configure.in: Don't -D__EXTENSIONS__ if
2625	AC_USE_SYSTEM_EXTENSIONS says "no".
2626
26272009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
2628
2629	* Makefile.in (MAKE_VERSION): bump version to 20090826
2630	Simplify MAKE_VERSION to just the bare date.
2631	* Merge with NetBSD make, pick up:
2632	  o -C directory support.
2633	  o support for SIGINFO
2634	  o use $TMPDIR for temp files.
2635	  o child of vfork should be careful about modifying parent's state.
2636
2637
26382009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
2639
2640	* Appy some patches for MiNT from David Brownlee
2641
26422009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
2643
2644	* Makefile.in (BMAKE_VERSION): bump version to 20090222
2645	* Merge with NetBSD make, pick up:
2646	  o Possible null pointer de-ref in Var_Set.
2647
26482009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
2649
2650	* Makefile.in (BMAKE_VERSION): bump version to 20090204
2651	* Merge with NetBSD make, pick up:
2652	  o bmake_malloc et al moved to their own .c
2653	  o Count both () and {} when looking for the end of a :M pattern
2654	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
2655	  o strlist.c - functions for processing extendable arrays of pointers to strings.
2656	  o ClientData replaced with void *, so const void * can be used.
2657	  o New debug flag C for DEBUG_CWD
2658
26592008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
2660
2661	* Makefile.in (BMAKE_VERSION): bump version to 20081111
2662	  Apply patch from Joerg Sonnenberge to
2663	  configure.in:
2664	  o remove some redundant checks
2665	  o check for emlloc etc only in libutil and require the whole family.
2666	  util.c:
2667	  o remove [v]asprintf which is no longer used.
2668
26692008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
2670
2671	* Makefile.in (BMAKE_VERSION): bump version to 20081101
2672	* Merge with NetBSD make, pick up:
2673	  o util.c: avoid use of putenv() - christos
2674
26752008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
2676
2677	* Makefile.in (BMAKE_VERSION): bump version to 20081030
2678	  pick up man page tweaks.
2679
26802008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
2681
2682	* Makefile.in: move processing of LIBOBJS to after is definition!
2683	  thus we'll have getenv.c in SRCS only if needed.
2684
2685	* make.1: add examples of how to use :?
2686
2687	* Makefile.in (BMAKE_VERSION): bump version to 20081029
2688	* Merge with NetBSD make, pick up:
2689	  o fix for .END processing with -j
2690	  o segfault from Parse_Error when no makefile is open
2691	  o handle numeric expressions in any variable expansion
2692	  o debug output now defaults to stderr, -dF to change it - apb
2693	  o make now uses bmake_malloc etc so that it can build natively
2694	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
2695
26962008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
2697
2698	* Makefile.in (BMAKE_VERSION): bump version to 20080808
2699	* Merge with NetBSD make, pick up:
2700	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
2701	    long lines in Makefiles
2702	  o optimizations for VarQuote by joerg
2703	  o fix for PR/38756: dominik: make dumps core on invalid makefile
2704
27052008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
2706
2707	* Makefile.in (BMAKE_VERSION): bump version to 20080515
2708	* Merge with NetBSD make, pick up:
2709	  o fix skip setting vars in VAR_GLOBAL context, to handle
2710	    cases where VAR_CMD is used for other than command line vars.
2711
27122008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
2713
2714	* boot-strap (make_version): we may need to look in
2715	$prefix/share/mk for sys.mk
2716
2717	* Makefile.in (BMAKE_VERSION): bump version to 20080514
2718	* Merge with NetBSD make, pick up:
2719	  o skip setting vars in VAR_GLOBAL context, when already set in
2720	  VAR_CMD which takes precedence.
2721
27222008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
2723
2724	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
2725	* Merge with NetBSD make, pick up:
2726	  o fix for ?= when LHS contains variable reference.
2727
27282008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
2729
2730	* merge some patches from NetBSD pkgsrc.
2731
2732	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
2733	the MAKSYSPATH used during bootstrap.
2734
2735	* Makefile.in (BMAKE_VERSION): bump version to 20080215
2736	* Merge with NetBSD make, pick up:
2737	  o warn if non-space chars follow 'empty' in a conditional.
2738
27392008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
2740
2741	* Makefile.in (BMAKE_VERSION): bump version to 20080118
2742	* Merge with NetBSD make, pick up:
2743	  o consider dependencies read from .depend as optional - dsl
2744	  o remember when buffer for reading makefile grows - dsl
2745	  o add -dl (aka LOUD) - David O'Brien
2746
27472007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
2748
2749	* Makefile.in (BMAKE_VERSION): bump version to 20071022
2750	* Merge with NetBSD make, pick up:
2751	  o Allow .PATH<suffix> to be used for .include ""
2752
2753	* boot-strap: source default settings from .bmake-boot-strap.rc
2754
27552007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
2756
2757	* Makefile.in: fix maninstall on various systems
2758	  provided that our man.mk is used.
2759	  For non-BSD systems we install the preformatted page
2760	  into $MANDIR/cat1
2761
27622007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
2763
2764	* boot-strap: make bmake.1 too, so maninstall works.
2765
27662007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
2767
2768	* Makefile.in (BMAKE_VERSION): bump version to 20071014
2769	* Merge with NetBSD make, pick up:
2770	  o revamped handling of defshell - configure no longer needs to
2771	    know the content of the shells array - apb
2772	  o stop Var_Subst modifying its input - apb
2773	  o avoid calling ParseTrackInput too often - dsl
2774
27752007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
2776
2777	* Makefile.in (BMAKE_VERSION): bump version to 20071011
2778	* Merge with NetBSD make, pick up:
2779	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
2780
2781	* sigcompat.c: some tweaks for HP-UX 11.x based on
2782	  patch from Tobias Nygren
2783
2784	* configure.in: update handling of --with-defshell to match
2785	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
2786	  will now do what one might hope - provided the chosen shell
2787	  behaves enough like sh.
2788
27892007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
2790
2791	* Makefile.in (BMAKE_VERSION): bump to 20071008
2792	* Merge with NetBSD make, pick up:
2793	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
2794	  o .export/.MAKE.EXPORTED - export of variables - sjg
2795	  o .MAKE.MAKEFILES - track all makefiles read - sjg
2796	  o performance improvements - dsl
2797	  o revamp parallel job scheduling - dsl
2798
27992006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
2800
2801	* Makefile.in (BMAKE_VERSION): bump to 20060728
2802	* Merge with NetBSD make, pick up:
2803	  o extra debug info during variable and cond processing - sjg
2804	  o shell definition now covers newline - rillig
2805	  o minor mem leak in PrintOnError - sjg
2806
28072006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
2808
2809	* Makefile.in (BMAKE_VERSION):  bump to 20060511
2810	* Merge with NetBSD make, pick up:
2811	  o more memory leaks - coverity
2812	  o possible overflow in ArchFindMember - coverity
2813	  o extract variable modifier code out of Var_Parse()
2814	    so it can be called recursively - sjg
2815	  o unit-tests/moderrs - sjg
2816
28172006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
2818
2819	* Makefile.in (BMAKE_VERSION): bump to 20060412
2820	* Merge with NetBSD make, pick up:
2821	  o fixes for some memory leaks - coverity
2822	  o only read first sys.mk etc when searching sysIncPath - sjg
2823
2824	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
2825	setting ${MAKEFILE} - OBATA Akio
2826
28272006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
2828
2829	* Makefile.in (BMAKE_VERSION): bump to 20060318
2830	* Merge with NetBSD make, pick up:
2831	  o cleanup of job.c to remove remote handling, distcc is more
2832	    useful and this code was likely bit-rotting - dsl
2833	  o fix for :P modifier - sjg
2834	* boot-strap: set default prefix to something reasonable
2835	  (for me anyway).
2836
28372006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
2838
2839	* Makefile.in (BMAKE_VERSION): bump to 20060301
2840	* Merge with NetBSD make, pick up:
2841	  o make .WAIT apply recursively, document and test case - apb
2842	  o allow variable modifiers in a variable appear anywhere in
2843	    modifier list, document and test case - sjg
2844
28452006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
2846
2847	* Makefile.in (BMAKE_VERSION): bump to 20060222
2848	* Merge with NetBSD make, pick up:
2849	  o improved job token handling - dsl
2850	  o SIG_DFL the correct signal before exec - dsl
2851	  o more debug info during parsing - dsl
2852	  o allow variable modifiers to be specified via variable - sjg
2853	* boot-strap: explain why we died if no mksrc
2854
28552005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
2856
2857	* Makefile.in (BMAKE_VERSION): bump to 20051105
2858	* configure.in: always set default_sys_path
2859	  default is ${prefix}/share/mk
2860	  - remove prefix_sys_path, anyone wanting more than above
2861	    needs to set it manually.
2862
28632005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
2864
2865	* boot-strap: make this a bit easier for pkgsrc folk.
2866	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
2867	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
2868
28692005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
2870
2871	* Makefile.in (BMAKE_VERSION): bump to 20051102
2872	* job.c (JobFinish): fix likely ancient merge lossage
2873	fix from Todd Vierling.
2874	* boot-strap (srcdir): allow setting mksrc=none
2875
28762005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
2877
2878	* Makefile.in (BMAKE_VERSION): bump to 20051031
2879	* ranlib.h: skip on OSF too.
2880	  (NetBSD PR 31864)
2881
28822005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
2883
2884	* Makefile.in (BMAKE_VERSION): bump to 20051002
2885	  fix a silly typo
2886
28872005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2888
2889	* Makefile.in (BMAKE_VERSION): bump to 20051001
2890	  support for UnixWare and some other systems,
2891	  based on patches from pkgsrc/bootstrap
2892
28932005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
2894
2895	* Makefile.in (BMAKE_VERSION): bump to 20050901
2896	* Merge with NetBSD make, pick up:
2897	  o possible parse error causing us to wander off.
2898
28992005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
2900
2901	* Makefile.in (BMAKE_VERSION): bump to 20050606
2902	* Merge with NetBSD make, pick up:
2903	  o :0x modifier for randomizing a list
2904	  o fixes for a number of -Wuninitialized issues.
2905
29062005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
2907
2908	* Makefile.in (BMAKE_VERSION): bump to 20050530
2909	* Merge with NetBSD make, pick up:
2910	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
2911
2912	* README: was seriously out of date.
2913
29142005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2915
2916	* Important to use .MAKE rather than MAKE.
2917
29182005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
2919
2920	* Makefile.in (BMAKE_VERSION): bump to 20050315
2921	* Merge with NetBSD make, pick up:
2922	  o don't mistake .elsefoo for .else
2923	  o use suffix-specific search path correctly
2924	  o bunch of style nits
2925
29262004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
2927
2928	* boot-strap:
2929	o ensure that args to --src and --with-mksrc
2930	  are resolved before giving them to configure.
2931	o add -o "objdir" so that builder can control it,
2932	  default is $OS as determined by os.sh
2933	o add -q to suppress all the install instructions.
2934
29352004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
2936
2937	* Remove __IDSTRING()
2938
2939	* Makefile.in (BMAKE_VERSION): bump to 20040508
2940	* Merge with NetBSD make, pick up:
2941	  o posix fixes
2942	    - remove '-e' from compat mode
2943	    - add support for '+' command-line prefix.
2944	  o fix for handling '--' on command-line.
2945	  o fix include in lst.lib/lstInt.h to simplify '-I's
2946	  o we also picked up replacement of MAKE_BOOTSTRAP
2947	    with !MAKE_NATIVE which is a noop, but possibly confusing.
2948
29492004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
2950
2951	* Makefile.in (BMAKE_VERSION): bump to 20040414
2952	* Merge with NetBSD make, pick up:
2953	  o allow quoted strings on lhs of conditionals
2954	  o issue warning when extra .else is seen
2955	  o print line numer when errors encountered during parsing from
2956	  string.
2957
29582004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
2959
2960	* Makefile.in (BMAKE_VERSION):  bump to 20040220
2961	* Merge with NetBSD make, pick up:
2962	  o fix for old :M parsing bug.
2963	  o re-jigged unit-tests
2964
29652004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
2966
2967	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
2968	so that './bmake -f Makefile test' works.
2969
29702004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
2971
2972	* Makefile.in: (BMAKE_VERSION): bump to 20040214
2973	* Merge with NetBSD make, pick up:
2974	  o search upwards for *.mk
2975	  o fix for double free of var substitution buffers
2976	  o use of getopt replaced with custom code, since the usage
2977	  (re-scanning) isn't posix compatible.
2978
29792004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
2980
2981	* arch.c: don't include ranlib.h on ELF systems
2982	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
2983
29842004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
2985
2986	* Makefile.in (BMAKE_VERSION): bump to 20040118
2987
2988	* boot-strap (while): export vars we assign to on cmdline
2989	* unit-test/Makefile.in: ternary is .PHONY
2990
29912004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
2992
2993	* Makefile.in (BMAKE_VERSION): bump version to 20040108
2994	* Merge with NetBSD make, pick up:
2995	  o fix for ternary modifier
2996
29972004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
2998
2999	* Makefile.in (BMAKE_VERSION): bump version to 20040105
3000	* Merge with NetBSD make, pick up:
3001	  o fix for cond.c to handle compound expressions better
3002	  o variable expansion within sysV style replacements
3003
30042003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
3005
3006	* Make portable snprintf safer - output to /dev/null first to
3007	check space needed.
3008
3009	* Makefile.in (BMAKE_VERSION): bump version to 20031222
3010	* Merge with NetBSD make, pick up:
3011	  o -dg3 to show input graph when things go wrong.
3012	  o explicitly look for makefiles in objdir if not found in curdir so
3013	    that errors in .depend etc will be reported accurarely.
3014	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
3015	    instead as it more accurately reflects the expected behavior and
3016	    is more consistently implemented.
3017	  o avoid use of asprintf.
3018
30192003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
3020
3021	* util.c: Add asprintf and vasprintf.
3022
3023	* Makefile.in (BMAKE_VERSION): bump version to 20030928
3024	* Merge with NetBSD make, pick up:
3025	:[] modifier - allows picking words from a variable.
3026	:tW modifier - allows treating value as one big word.
3027	W flag for :C and :S - allows treating value as one big word.
3028
30292003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
3030
3031	* Merge with NetBSD make
3032	pick up -de flag to enable printing failed command.
3033	don't skip 1st two dir entries (normally . and ..) since
3034	coda does not have them.
3035
30362003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
3037
3038	* Makefile.in (BMAKE_VERSION): bump version to 20030909
3039	* Merge with NetBSD make, pick up:
3040	- changes for -V '${VAR}' to print fully expanded value
3041	  cf. -V VAR
3042	- CompatRunCommand now prints the command that failed.
3043	- several files got updated 3 clause Berkeley license.
3044
30452003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
3046
3047	* boot-strap: Allow setting configure args on command line.
3048
30492003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
3050
3051	* configure.in: add --with-defshell to allow sh or ksh
3052	to be selected as default shell.
3053
3054	* Makefile.in: bump version to 20030731
3055
3056	* Merge with NetBSD make
3057	Pick up .SHELL spec for ksh and associate man page changes.
3058	Also compat mode now uses the same shell specs.
3059
30602003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
3061
3062	* var.c (Var_Parse): ensure delim is initialized.
3063
3064	* unit-tests/Makefile.in: use single quotes to avoid problems from
3065	some shells.
3066
3067	* makefile.boot.in:
3068	Run the unit-tests as part of the bootstrap procedure.
3069
30702003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
3071
3072	* unit-tests/Makefile.in: always force complaints from
3073	${TEST_MAKE} to be from 'make'.
3074
3075	* configure.in: add check for 'diff -u'
3076	also fix some old autoconf'isms
3077
3078	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
3079	if using GCC add -Wno-cast-qual to CFLAGS for var.o
3080
3081	* Merge with NetBSD make
3082	Pick up fix for :ts parsing error in some cases.
3083	Pick unit-tests.
3084
30852003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
3086
3087	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
3088
3089	* var.c (Var_Parse): fix bug in :ts modifier, after const
3090	correctness fixes, must pass nstr to VarModify.
3091
30922003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
3093
3094	* Makefile.in: BMAKE_VERSION switch to a date based version.
3095	We'll generally use the date of last import from NetBSD.
3096
3097	* Merge with NetBSD make
3098	Pick up fixes for const-correctness, now passes WARNS=3 on
3099	NetBSD.
3100	Pick up :ts modifier, allows controlling the separator used
3101	between words in variable expansion.
3102
31032003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
3104
3105	* FILES: include boot-strap and os.sh
3106
3107	* Makefile.in: only set WARNS if we are NetBSD, the effect on
3108	FreeBSD is known to be bad.
3109
3110	* makefile.boot.in (bootstrap): make this the default target.
3111
3112	* Makefile.in: bump version to 3.1.19
3113
3114	* machine.sh: avoid A-Z with tr as it is bound to lose.
3115
31162003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
3117
3118	* Merge with NetBSD make
3119	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
3120	Plus some doc fixes.
3121
31222003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
3123
3124	* Merge with NetBSD make
3125	Pick up fix for PR/1523 - don't count a library as built, if there
3126	is no way to build it
3127
3128	* Bump version to 3.1.18
3129
31302003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
3131
3132	* Merge with NetBSD make
3133	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
3134	appears in src list.
3135
31362003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
3137
3138	* Merge with NetBSD make (mmm 10th anniversary!)
3139	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
3140	pick up -X which tells us to not export VAR=val via setenv if
3141	we are already doing so via MAKEFLAGS.  This saves valuable env
3142	space on systems like Darwin.
3143	set MAKE_VERSION to 3.1.17
3144
3145	* parse.c: pix up fix for suffix rules
3146
31472003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
3148
3149	* Merge with NetBSD make.
3150	pick up fix for propagating -B via MAKEFLAGS.
3151	set MAKE_VERSION to 3.1.16
3152
3153	* Apply some patches from pkgsrc-bootstrap/bmake
3154	Originally by Grant Beattie <grant@netbsd.org>
3155	I may have missed some - since they are based on bmake-3.1.12
3156
31572002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
3158
3159	* makefile.boot.in (bmake): update install targets for those that
3160	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
3161	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
3162
3163	* bmake.cat1: update the pre-formatted man page!
3164
31652002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
3166
3167	* Merge with NetBSD make.
3168	pick up fix for premature free of pointer used in call
3169	to Dir_InitCur().
3170	set MAKE_VERSION to 3.1.15
3171
31722002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
3173
3174	* configure.in: determine suitable value for MKSRC.
3175	override using --with-mksrc=PATH.
3176
3177	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
3178	configs(8) will use 'sun4' as an alias for 'sparc'.
3179
31802002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
3181
3182	* Merge with NetBSD make.
3183	pick up ${.PATH}
3184	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
3185	set MAKE_VERSION to 3.1.14
3186	add configure checks for killpg and sys/socket.h
3187
31882002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
3189
3190	* tag bmake-3-1-13
3191
3192	* makefile.boot.in (bmake): use install-mk
3193	Also setup ./mk before trying to invoke bmake.boot incase we
3194	needed install-mk to create a sys.mk for us.
3195
3196	* configure.in: If we need to add -I${srcdir}/missing, make it an
3197	absolute path so that it works for lst.lib too.
3198
3199	* make.h: always include sys/cdefs.h since we provide one if the
3200	host does not.
3201
3202	* Makefile.in (install-mk):
3203	use MKSRC/install-mk which will do the right thing.
3204	use uname -p for ARCH if possible.
3205	since install-mk will setup links bsd.prog.mk -> prog.mk if
3206	needed, just .include bsd.prog.mk
3207
3208	* Merge with NetBSD make (NetBSD-1.6)
3209	Code is ansi-C only now.
3210	Bug in handling of dotLast is fixed.
3211	Can now assign .OBJDIR and make will reset its notions of life.
3212	New modifiers :tu :tl for toUpper and toLower.
3213
3214Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
3215
3216	* Merge with NetBSD make
3217	pick up fix for .END failure in compat mode.
3218	pick up fix for extra va_end() in ParseVErrorInternal.
3219
3220Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
3221
3222	* configure.in: for systems that have sys/cdefs.h check if it is
3223	compatible.  If not, include the one under missing, but tell it to
3224	include the native one too - necessary on Linux.
3225
3226	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
3227	include_next (for gcc) to get the native sys/cdefs.h
3228
3229Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3230
3231	* job.c (JobFinish): Fix an earlier merge bug that resulted in
3232	leaking descriptors when using -jN.
3233
3234	* job.c (JobPrintCommand): See if "curdir" exists before
3235	attempting to chdir().  Doing the chdir directly in make (when in
3236	compat mode) fails silently, so let the -jN version do the same.
3237	This can happen when building kernels in an object tree and
3238	playing clever games to reset .CURDIR.
3239
3240	* Merged with NetBSD make
3241	pick up .USEBEFORE
3242
3243Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3244
3245	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
3246
3247Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3248
3249	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
3250	us not to export the iterator variable when using VAR_CMD context.
3251
3252Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3253
3254	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
3255	its the wrong "fix".
3256
3257Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3258
3259	* Redesigned export of VAR_CMD's via MAKEFLAGS.
3260	We now simply append the variable names to .MAKEOVERRIDES, and
3261	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
3262	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
3263	Apart from fixing quoting bugs in previous version, this allows us
3264	to export vars to the environment by simply doing:
3265	.MAKEOVERRIDES+= PATH
3266	Merged again with NetBSD make, but the above is the only change.
3267
3268	* configure.in: added
3269	--disable-pwd-override		disable $PWD overriding getcwd()
3270	--disable-check-make-chdir	disable make trying to guess
3271		when it should automatically cd ${.CURDIR}
3272
3273	* Merge with NetBSD make, changes include:
3274	parse.c (ParseDoDependency): Spot that the syntax error is
3275	caused by an unresolved cvs/rcs conflict and say so.
3276	var.c: most of Var* functions now take a ctxt as 1st arg.
3277	now does variable substituion on rhs of sysv style modifiers.
3278
3279	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
3280	is now done here.  We append the name='value' to .MAKEOVERRIDES
3281	rather than directly into MAKEFLAGS as this allows a Makefile to
3282	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
3283	very similar mechanism.  Note that in adding name='value' to
3284	.MAKEOVERRIDES we do the moral equivalent of:
3285	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
3286
3287Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3288
3289	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
3290
3291	* Merged with NetBSD make
3292	make -dx can now be used to run commands via sh -x
3293	better error messages on exec failures.
3294
3295Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3296
3297	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
3298	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
3299	MACHINE etc otherwise they propagate from the previous bmake.
3300
3301	* configure.in (machine): allow --with-machine=generic to make
3302	configure use machine.sh to set MACHINE.
3303
3304	* job.c (JobInterrupt): convert to using WAIT_T and friends.
3305
3306	* Makefile.in: mention in bmake.1 that we use autoconf.
3307
3308	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
3309
3310Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3311
3312	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
3313	as that rather defeats the usefulness of ${MAKEFILE}.
3314
3315	* main.c (MainParseArgs): append command line variable assignments
3316	to MAKEFLAGS so that they get propagated to child make's.
3317	Apparently this is required POSIX behaviour?  Its useful anyway.
3318
3319Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3320
3321	* compat.c (CompatRunCommand): don't use perror() since stdio may
3322	cause problems in child of vfork().
3323
3324	* compat.c, main.c: Call PrintOnError() when we are going to bail.
3325	This routine prints out the .curdir where we stopped and will also
3326	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
3327
3328	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
3329	:@ expansion.
3330
3331	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
3332
3333	* Added RCSid's for the files we've touched.
3334
3335Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3336
3337	* configure.in:	Thanks to some clues from mdb@juniper.net,
3338	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
3339	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
3340
3341  --with-machine=MACHINE  explicitly set MACHINE
3342  --with-force-machine=MACHINE  set FORCE_MACHINE
3343  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
3344  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
3345  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
3346  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
3347
3348	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
3349
3350	* makefile: added a pathetically simple makefile to drive
3351	bootstrapping.  Running configure by hand is more useful.
3352
3353	* Makefile.in: added MAKE_VERSION, and reworked things to be less
3354	dependent on NetBSD bsd.*.mk
3355
3356	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
3357	_PATH_OBJDIRPREFIX for those that don't want a default.
3358	construct _PATH_DEFSYSPATH from the info we get from configure.
3359
3360	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
3361	if MAKE_VERSION is defined.
3362
3363	* compat.c: when we bail, print out the .CURDIR we were in.
3364
3365Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3366
3367	* Merged with NetBSD make
3368
3369	* var.c: fixed a bug in the handling of the modifier :P
3370	if the node as found but the path was null, we segfault trying to
3371	duplicate it.
3372
3373Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
3374
3375	* Merged with NetBSD make
3376
3377	* make.c: Make_OODate's test for a library out of date was using
3378	cmtime where it should have used mtime (my bug).
3379
3380	* compat.c: Use perror() to tell us what really went wrong when we
3381	cannot exec a command.
3382
3383Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3384
3385	* Merged with NetBSD make
3386
3387Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3388
3389	* Merged with NetBSD make
3390
3391Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3392
3393	* Merged with NetBSD make
3394
3395Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3396
3397	* Merged with NetBSD make
3398
3399Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3400
3401	* util.c: don't provide signal() since we use sigcompat.c
3402
3403	* Makefile.in: added a build target.
3404
3405	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
3406	These allow some quite clever magic.
3407
3408	* main.c (main): added support for getenv(MAKESYSPATH).
3409
3410Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3411
3412	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
3413	This avoids objdir having a different value depending on how a
3414	directory was reached (via command line, or subdir.mk).
3415
3416	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
3417
3418Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3419
3420	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
3421	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
3422	I've been testing this in NetBSD's make for some weeks.
3423
3424	* Turn Makefile into Makefile.in and make it useful.
3425
3426Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
3427
3428	* Imported NetBSD's -current make(1) and resolve conflicts.
3429
3430	* Applied autoconf patches from bmake v2
3431
3432	* Imported clean code base from NetBSD-1.0
3433