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