xref: /freebsd/contrib/bmake/ChangeLog (revision dba7640e44c5ec148a84b0d58c6c9a3c9e5147f3)
12020-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
122020-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
372020-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
482020-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
762020-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
882020-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
1142020-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
1392020-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
1572020-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
2082020-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
2222020-10-19  Simon J Gerraty  <sjg@beast.crufty.net>
223
224	* configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT
225
2262020-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
2412020-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
2702020-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
2812020-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
2872020-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
2992020-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
3202020-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
3362020-09-04  Simon J Gerraty  <sjg@beast.crufty.net>
337
338	* make-bootstrap.sh.in: adjust object list
339
3402020-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
3492020-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
3562020-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
3662020-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
3842020-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
3942020-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
4032020-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
4092020-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
4202020-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
4322020-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
4392020-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
4522020-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
4592020-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
4672020-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
4742020-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
4852020-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
4962020-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
5022020-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
5092020-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
5152020-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
5252020-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
5372020-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
5442020-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
5502020-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
5592020-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
5702020-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
5762020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
577
578	* bsd.after-import.mk: make sure we update unit-tests/Makefile
579
5802020-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
5892020-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
5972020-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
6202020-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
6282020-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
6362020-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
6422020-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
6482020-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
6542020-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
6642020-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
6752020-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
6832020-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
6902020-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
6972020-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
7042020-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
7092020-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
7152020-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
7222020-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
7312020-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
7412020-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
7482020-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
7542020-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
7612020-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
762
763	* VERSION (_MAKE_VERSION): 20200220
764
7652020-02-19  Simon J Gerraty  <sjg@beast.crufty.net>
766
767	* boot-strap: unset MAKEFLAGS
768
7692020-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
7752020-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
7822020-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
7892020-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
8022019-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
8092019-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
8152018-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
8322018-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
8402018-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
8492018-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
8552018-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
8622018-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
863
864	* Makefile.config.in: use += where it makes sense.
865
8662018-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
8722018-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
8792018-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
8852018-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
8912018-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
8972017-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
9052017-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
9132017-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
9202017-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
9292017-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
9362017-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
937
938	* machine.sh: entry for AIX
939
9402017-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
9462017-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
9532017-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
9602017-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
9732017-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
9792017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
980
981	* Makefile (_MAKE_VERSION): 20170505
982	  see mk/ChangeLog
983
9842017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
985
986	* parse.c: not everyone has stdint.h
987
9882017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
989
990	* Makefile (_MAKE_VERSION): 20170501
991	  see mk/ChangeLog
992
9932017-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
9992017-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
10062017-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
10122017-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
10252017-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
10332017-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
10392017-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
10462017-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
10522017-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
10602017-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
10662017-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
10752017-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
10812016-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
10872016-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
10942016-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
11002016-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
11062016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1107
1108	* Makefile MAN: tweak .Dt to match ${PROG}
1109
11102016-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
11152016-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
11232016-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
11312016-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
11392016-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
11452016-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
11542016-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
11622016-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
11682016-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
11762016-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
11832016-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
11912016-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
11972016-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
12022016-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
12082016-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
12152016-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
12212016-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
12302016-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
12382016-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
12462015-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
12522015-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
12622015-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
12692015-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
12842015-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
12902015-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
12962015-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
13042015-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
13112015-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
13212015-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
13272015-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
13352015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1336
1337	* machine.sh (MACHINE): Add Bitrig
1338	  patch from joerg@netbsd.org
1339
13402015-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
13492015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1350
1351	* Makefile (MAKE_VERSION): 20150411
1352	  bump version - only mk/ changes.
1353
13542015-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
13642015-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
13752015-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
13802014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1381
1382	* Makefile (MAKE_VERSION): 20141111
1383	  just a cooler number
1384
13852014-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
13952014-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
14002014-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
14082014-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
14142014-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
14202014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1421
1422	* Fix spelling errors - patch from Pedro Giffuni
1423
14242014-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
14332014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1434
1435	* boot-strap: ignore mksrc=none
1436
14372014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1438
1439	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
1440
14412014-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
14512013-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
14562013-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
14672013-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
14742013-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
14802013-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
14882013-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
14952013-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
15072013-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
15212013-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
15282013-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
15342013-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
15402013-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
15482013-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
15602013-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
15722013-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
15792013-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
15872013-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
15922013-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
15982013-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
16082012-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
16242012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1625
1626	* Makefile.in (MAKE_VERSION): 20121111
1627	  fix generation of bmake.cat1
1628
16292012-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
16372012-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
16452012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1646
1647	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
1648
16492012-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
16562012-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
16602012-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
16672012-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
16732012-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
16802012-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
16872012-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
16922012-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
17012012-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
17082012-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
17202012-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
17292012-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
17382012-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
17532012-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
17592012-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
17652012-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
17712012-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
17772012-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
17862012-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
17922012-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
18012012-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
18092012-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
18152012-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
18202011-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
18262011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1827
1828	* Makefile.in (MAKE_VERSION):  bump version to 20111010
1829
18302011-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
18352011-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
18432011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1844
1845	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
1846
18472011-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
18532011-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
18602011-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
18692011-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
18752011-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
18822011-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
18872011-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
18962011-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
19052011-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
19122011-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
19192011-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
19302011-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
19402011-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
19492011-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
19552011-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
19662011-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
19742011-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
19842011-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
19902011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1991
1992	* parse.c: SunOS 5.8 at least does not have MAP_FILE
1993
19942011-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
20002010-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
20072010-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
20182010-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
20302010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2031
2032	* Makefile.in (MAKE_VERSION): bump version to 20101101
2033
20342010-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
20392010-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
20522010-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
20622010-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
20692010-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
20742010-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
20822010-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
20882010-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
20982010-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
21042010-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
21112010-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
21212010-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
21292010-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
21352010-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
21442010-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
21582010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2159
2160	* boot-strap: add FindHereOrAbove so we can use -m .../mk
2161
21622010-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
21702010-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
21782010-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
21852010-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
21982010-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
22042010-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
22172010-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
22232009-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
22312009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
2232
2233	* configure.in: Ensure that srcdir and mksrc are absolute paths.
2234
22352009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
2236
2237	* Makefile.in (MAKE_VERSION): fix version to 20091007
2238
22392009-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
22462009-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
22572009-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
22642009-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
22692009-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
22802009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
2281
2282	* Appy some patches for MiNT from David Brownlee
2283
22842009-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
22902009-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
23012008-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
23112008-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
23172008-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
23222008-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
23382008-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
23472008-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
23542008-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
23642008-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
23702008-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
23812008-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
23892007-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
23972007-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
24042007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
2405
2406	* boot-strap: make bmake.1 too, so maninstall works.
2407
24082007-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
24172007-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
24312007-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
24412006-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
24492006-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
24592006-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
24692006-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
24792006-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
24872006-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
24972005-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
25052005-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
25112005-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
25182005-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
25242005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
2525
2526	* Makefile.in (BMAKE_VERSION): bump to 20051002
2527	  fix a silly typo
2528
25292005-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
25352005-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
25412005-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
25482005-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
25562005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2557
2558	* Important to use .MAKE rather than MAKE.
2559
25602005-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
25682004-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
25772004-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
25912004-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
26002004-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
26072004-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
26122004-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
26212004-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
26262004-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
26332004-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
26392004-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
26462003-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
26612003-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
26712003-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
26782003-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
26872003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
2688
2689	* boot-strap: Allow setting configure args on command line.
2690
26912003-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
27022003-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
27122003-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
27272003-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
27342003-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
27452003-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
27582003-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
27642003-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
27722003-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
27782003-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
27892003-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
27992002-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
28072002-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
28142002-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
28222002-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
28302002-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
2856Tue 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
2862Thu 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
2871Tue 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
2885Tue 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
2889Tue 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
2894Sun 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
2899Sat 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
2929Fri 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
2937Thu 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
2952Wed 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
2961Tue 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
2977Thu 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
3007Sat 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
3015Mon 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
3025Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3026
3027	* Merged with NetBSD make
3028
3029Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3030
3031	* Merged with NetBSD make
3032
3033Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3034
3035	* Merged with NetBSD make
3036
3037Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
3038
3039	* Merged with NetBSD make
3040
3041Thu 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
3052Mon 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
3060Mon 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
3068Tue 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
3075