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