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