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