Merge branch 'vendor/WPA_SUPPLICANT'
[dragonfly.git] / contrib / bmake / ChangeLog
1 2021-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
10 2021-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
47 2021-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
53 2021-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
80 2021-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
89 2021-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
103 2021-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
112 2021-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
120 2021-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
127 2021-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
136 2021-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
165 2020-12-25  Simon J Gerraty  <sjg@beast.crufty.net>
166
167         * main.c: use .MAKE.DEPENDFILE as set by makefiles
168
169 2020-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
178 2020-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
184 2020-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
224 2020-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
273 2020-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
301 2020-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
331 2020-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
347 2020-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
359 2020-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
370 2020-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
395 2020-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
406 2020-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
434 2020-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
446 2020-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         
472 2020-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
497 2020-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
515 2020-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         
566 2020-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
580 2020-10-19  Simon J Gerraty  <sjg@beast.crufty.net>
581
582         * configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT
583
584 2020-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
599 2020-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
628 2020-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
639 2020-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
645 2020-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
657 2020-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
678 2020-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
694 2020-09-04  Simon J Gerraty  <sjg@beast.crufty.net>
695
696         * make-bootstrap.sh.in: adjust object list
697
698 2020-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
707 2020-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
714 2020-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
724 2020-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
742 2020-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
752 2020-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
761 2020-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
767 2020-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
778 2020-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
790 2020-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
797 2020-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
810 2020-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
817 2020-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
825 2020-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
832 2020-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
843 2020-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
854 2020-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
860 2020-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
867 2020-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
873 2020-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
883 2020-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
895 2020-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
902 2020-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
908 2020-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
917 2020-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
928 2020-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
934 2020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
935
936         * bsd.after-import.mk: make sure we update unit-tests/Makefile
937
938 2020-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
947 2020-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
955 2020-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
978 2020-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
986 2020-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
994 2020-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
1000 2020-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
1006 2020-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
1012 2020-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
1022 2020-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
1033 2020-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
1041 2020-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
1048 2020-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
1055 2020-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
1062 2020-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
1067 2020-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
1073 2020-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
1080 2020-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
1089 2020-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
1099 2020-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
1106 2020-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
1112 2020-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
1119 2020-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
1120
1121         * VERSION (_MAKE_VERSION): 20200220
1122
1123 2020-02-19  Simon J Gerraty  <sjg@beast.crufty.net>
1124
1125         * boot-strap: unset MAKEFLAGS
1126
1127 2020-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
1133 2020-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
1140 2020-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
1147 2020-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
1160 2019-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
1167 2019-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
1173 2018-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
1190 2018-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
1198 2018-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
1207 2018-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
1213 2018-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
1220 2018-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
1221
1222         * Makefile.config.in: use += where it makes sense.
1223
1224 2018-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
1230 2018-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
1237 2018-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
1243 2018-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
1249 2018-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
1255 2017-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
1263 2017-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
1271 2017-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
1278 2017-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
1287 2017-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
1294 2017-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1295
1296         * machine.sh: entry for AIX
1297
1298 2017-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
1304 2017-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
1311 2017-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
1318 2017-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
1331 2017-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
1337 2017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1338
1339         * Makefile (_MAKE_VERSION): 20170505
1340           see mk/ChangeLog
1341
1342 2017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1343
1344         * parse.c: not everyone has stdint.h
1345
1346 2017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1347
1348         * Makefile (_MAKE_VERSION): 20170501
1349           see mk/ChangeLog
1350
1351 2017-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
1357 2017-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
1364 2017-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
1370 2017-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
1383 2017-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
1391 2017-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
1397 2017-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
1404 2017-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
1410 2017-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
1418 2017-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
1424 2017-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
1433 2017-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
1439 2016-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
1445 2016-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
1452 2016-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
1458 2016-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         
1464 2016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1465
1466         * Makefile MAN: tweak .Dt to match ${PROG}
1467
1468 2016-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
1473 2016-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
1481 2016-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
1489 2016-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           
1497 2016-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
1503 2016-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         
1512 2016-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
1520 2016-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
1526 2016-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         
1534 2016-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
1541 2016-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
1549 2016-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
1555 2016-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
1560 2016-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
1566 2016-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
1573 2016-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
1579 2016-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
1588 2016-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
1596 2016-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
1604 2015-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
1610 2015-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         
1620 2015-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         
1627 2015-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         
1642 2015-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
1648 2015-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
1654 2015-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
1662 2015-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
1669 2015-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
1679 2015-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
1685 2015-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
1693 2015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1694
1695         * machine.sh (MACHINE): Add Bitrig 
1696           patch from joerg@netbsd.org
1697
1698 2015-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
1707 2015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1708
1709         * Makefile (MAKE_VERSION): 20150411
1710           bump version - only mk/ changes.
1711         
1712 2015-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         
1722 2015-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         
1733 2015-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
1738 2014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1739
1740         * Makefile (MAKE_VERSION): 20141111
1741           just a cooler number
1742
1743 2014-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
1753 2014-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
1758 2014-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
1766 2014-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
1772 2014-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
1778 2014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1779
1780         * Fix spelling errors - patch from Pedro Giffuni
1781
1782 2014-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
1791 2014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1792
1793         * boot-strap: ignore mksrc=none
1794
1795 2014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1796
1797         * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
1798
1799 2014-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
1809 2013-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
1814 2013-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
1825 2013-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
1832 2013-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
1838 2013-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
1846 2013-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
1853 2013-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         
1865 2013-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
1879 2013-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
1886 2013-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
1892 2013-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
1898 2013-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
1906 2013-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
1918 2013-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
1930 2013-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
1937 2013-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
1945 2013-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
1950 2013-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
1956 2013-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         
1966 2012-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
1982 2012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1983
1984         * Makefile.in (MAKE_VERSION): 20121111
1985           fix generation of bmake.cat1
1986
1987 2012-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         
1995 2012-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         
2003 2012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
2004
2005         * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
2006
2007 2012-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         
2014 2012-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
2018 2012-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
2025 2012-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
2031 2012-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
2038 2012-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         
2045 2012-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
2050 2012-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
2059 2012-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         
2066 2012-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
2078 2012-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         
2087 2012-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
2096 2012-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
2111 2012-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
2117 2012-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
2123 2012-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
2129 2012-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         
2135 2012-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
2144 2012-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
2150 2012-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
2159 2012-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         
2167 2012-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
2173 2012-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
2178 2011-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
2184 2011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2185
2186         * Makefile.in (MAKE_VERSION):  bump version to 20111010
2187
2188 2011-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
2193 2011-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         
2201 2011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2202
2203         * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
2204
2205 2011-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         
2211 2011-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
2218 2011-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         
2227 2011-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         
2233 2011-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         
2240 2011-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
2245 2011-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
2254 2011-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         
2263 2011-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         
2270 2011-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         
2277 2011-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         
2288 2011-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         
2298 2011-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
2307 2011-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         
2313 2011-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         
2324 2011-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         
2332 2011-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
2342 2011-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         
2348 2011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2349
2350         * parse.c: SunOS 5.8 at least does not have MAP_FILE
2351
2352 2011-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
2358 2010-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
2365 2010-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
2376 2010-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         
2388 2010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2389
2390         * Makefile.in (MAKE_VERSION): bump version to 20101101
2391
2392 2010-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
2397 2010-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
2410 2010-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         
2420 2010-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
2427 2010-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
2432 2010-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         
2440 2010-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
2446 2010-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         
2456 2010-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
2462 2010-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
2469 2010-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
2479 2010-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
2487 2010-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         
2493 2010-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         
2502 2010-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         
2516 2010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2517
2518         * boot-strap: add FindHereOrAbove so we can use -m .../mk
2519
2520 2010-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         
2528 2010-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
2536 2010-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
2543 2010-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         
2556 2010-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
2562 2010-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
2575 2010-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
2581 2009-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         
2589 2009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
2590
2591         * configure.in: Ensure that srcdir and mksrc are absolute paths.
2592
2593 2009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2594
2595         * Makefile.in (MAKE_VERSION): fix version to 20091007
2596
2597 2009-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         
2604 2009-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
2615 2009-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
2622 2009-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
2627 2009-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
2638 2009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
2639
2640         * Appy some patches for MiNT from David Brownlee
2641
2642 2009-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
2648 2009-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
2659 2008-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         
2669 2008-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
2675 2008-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
2680 2008-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
2696 2008-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         
2705 2008-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
2712 2008-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
2722 2008-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
2728 2008-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
2739 2008-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
2747 2007-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
2755 2007-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
2762 2007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
2763
2764         * boot-strap: make bmake.1 too, so maninstall works.
2765
2766 2007-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
2775 2007-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
2789 2007-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         
2799 2006-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
2807 2006-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
2817 2006-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
2827 2006-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
2837 2006-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
2845 2006-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
2855 2005-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
2863 2005-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
2869 2005-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
2876 2005-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
2882 2005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
2883
2884         * Makefile.in (BMAKE_VERSION): bump to 20051002
2885           fix a silly typo
2886
2887 2005-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
2893 2005-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
2899 2005-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
2906 2005-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         
2914 2005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2915
2916         * Important to use .MAKE rather than MAKE.
2917
2918 2005-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
2926 2004-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
2935 2004-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
2949 2004-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
2958 2004-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
2965 2004-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         
2970 2004-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
2979 2004-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
2984 2004-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
2991 2004-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
2997 2004-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           
3004 2003-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
3019 2003-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         
3029 2003-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
3036 2003-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         
3045 2003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
3046
3047         * boot-strap: Allow setting configure args on command line.
3048
3049 2003-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
3060 2003-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
3070 2003-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
3085 2003-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
3092 2003-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
3103 2003-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
3116 2003-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         
3122 2003-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
3130 2003-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
3136 2003-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
3147 2003-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         
3157 2002-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
3165 2002-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
3172 2002-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
3180 2002-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
3188 2002-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
3214 Tue 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
3220 Thu 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
3229 Tue 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
3243 Tue 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
3247 Tue 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
3252 Sun 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
3257 Sat 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
3287 Fri 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
3295 Thu 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
3310 Wed 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
3319 Tue 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         
3335 Thu 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         
3365 Sat 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
3373 Mon 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         
3383 Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3384
3385         * Merged with NetBSD make
3386         
3387 Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3388
3389         * Merged with NetBSD make
3390         
3391 Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3392
3393         * Merged with NetBSD make
3394         
3395 Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3396
3397         * Merged with NetBSD make
3398         
3399 Thu 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
3410 Mon 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         
3418 Mon 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         
3426 Tue 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