xref: /src/contrib/bmake/ChangeLog (revision 34a3834eadd03bec7703b8fbf9123f27b1114986)
12026-03-12  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* VERSION (_MAKE_VERSION): 20260313
4	Merge with NetBSD make, pick up
5	o make: ensure .MAKE.SAVE_DOLLARS is initialized so makefiles like
6	sys.vars.mk can test its value to know how to deal with macros
7	that need to save '$' during ':='.
8
9	* Makefile: default MAKE_SAVE_DOLLARS_DEFAULT to "no"
10	for traditional behavior.
11
122026-03-10  Simon J Gerraty  <sjg@beast.crufty.net>
13
14	* VERSION (_MAKE_VERSION): 20260310
15	Merge with NetBSD make, pick up
16	o unit-tests ensure TEST_MAKE is absolute path
17	and tests that make symlink for ${MAKE} can run in parallel.
18
192026-03-03  Simon J Gerraty  <sjg@beast.crufty.net>
20
21	* VERSION (_MAKE_VERSION): 20260303
22	Merge with NetBSD make, pick up
23	o job.c: MaybeSubMake: Look for expansion of ${.MAKE}
24	and if necessary its basename, and only match if at start of line
25	or preceded by space.
26
272026-02-28  Simon J Gerraty  <sjg@beast.crufty.net>
28
29	* Makefile: mark ${PROG} and ${OBJS} as .META
30	MaybeSubMake will otherwise mistake them for sub-makes
31
32	* VERSION (_MAKE_VERSION): 20260301
33	Merge with NetBSD make, pick up
34	o job.c: MaybeSubMake: skip control chars [@+-] at start of line
35	when checking for ${MAKE}
36
372026-02-22  Simon J Gerraty  <sjg@beast.crufty.net>
38
39	* VERSION (_MAKE_VERSION): 20260222
40	o mk file update
41
422026-02-16  Simon J Gerraty  <sjg@beast.crufty.net>
43
44	* VERSION (_MAKE_VERSION): 20260216
45	Merge with NetBSD make, pick up
46	o minor cleanups
47
482026-02-10  Simon J Gerraty  <sjg@beast.crufty.net>
49
50	* VERSION (_MAKE_VERSION): 20260210
51	Merge with NetBSD make, pick up
52	o document that multiple variables can be set on command line.
53	o move MaybeSubMake to job.c so it can be called on expanded
54	commands for more accuracy and less overhead.
55	o main.c: set .MAKE.VERSION as read-only.
56
57	* unit-tests/opt-{chdir,where-am-i}.mk: use MAKEOBJDIRPREFIX=/
58	to avoid tripping over an unreadable /usr/obj
59
602026-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
61
62	* unit-tests/varname-make_stack_trace.mk: for
63	FreeBSD and similar set .MAKE.ALWAYS_PASS_JOB_QUEUE=no
64	to ensure we get the expected errors.
65
66	* VERSION (_MAKE_VERSION): 20260202
67	Merge with NetBSD make, pick up
68	o on error avoid duplicate stack trace to stderr
69
702026-01-11  Simon J Gerraty  <sjg@beast.crufty.net>
71
72	* VERSION (_MAKE_VERSION): 20260111
73	Merge with NetBSD make, pick up
74	o var.c: add explicit check for empty re as not all
75	regex libs throw an error as expected, in this case.
76
772026-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
78
79	* VERSION (_MAKE_VERSION): 20260110
80	Merge with NetBSD make, pick up
81	o minor cleanups
82
832025-11-15  Simon J Gerraty  <sjg@beast.crufty.net>
84
85	* boot-strap: unset more things from env and save a copy
86	to env.out for debugging.
87
882025-11-12  Simon J Gerraty  <sjg@beast.crufty.net>
89
90	* VERSION (_MAKE_VERSION): 20251111
91	Merge with NetBSD make, pick up
92	o var.c: add :sh1 which only evaluates command on first reference.
93
942025-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
95
96	* configure.in: Force filemon=no for Cygwin and MINGW64_NT
97
982025-11-10  Simon J Gerraty  <sjg@beast.crufty.net>
99
100	* unit-tests/Makefile: handle MINGW64_NT
101	mark some tests broken, filter others as per Cygwin.
102
1032025-10-23  Simon J Gerraty  <sjg@beast.crufty.net>
104
105	* make.1: document MAKE_VERSION.
106
1072025-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
108
109	* VERSION (_MAKE_VERSION): 20251022
110
111	* configure.in: Add a check that lua is version 5.2 or later
112	if not we want to skip running check-expect.lua
113
1142025-09-16  Simon J Gerraty  <sjg@beast.crufty.net>
115
116	* VERSION (_MAKE_VERSION): 20250916
117	Merge with NetBSD make, pick up
118	o var.c: avoid compiler warning from hexdigits
119
1202025-08-04  Simon J Gerraty  <sjg@beast.crufty.net>
121
122	* VERSION (_MAKE_VERSION): 20250804
123	Merge with NetBSD make, pick up
124	o meta.c: allow printing only partial string to meta file
125	in jobs mode, otherwise we end up with duplicated output when
126	buffer does not end in newline.
127	Add a suitable unit test.
128
1292025-07-07  Simon J Gerraty  <sjg@beast.crufty.net>
130
131	* VERSION (_MAKE_VERSION): 20250707
132	Merge with NetBSD make, pick up
133	o cond.c: improve debug log message for 'exists' function.
134	complain about unfinished escape sequences or string literals.
135
1362025-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
137
138	* VERSION (_MAKE_VERSION): 20250704
139	Merge with NetBSD make, pick up
140	o make.1: add a DIAGNOSTICS section for make to reference.
141	o main.c: simplify the warning for invalid -J by refering to
142	manual page.
143
1442025-06-30  Simon J Gerraty  <sjg@beast.crufty.net>
145
146	* VERSION (_MAKE_VERSION): 20250630
147	Merge with NetBSD make, pick up
148	o consistently use double quotes in error messages
149	o cond.c: if a condition is erroneous, skip the whole .if/.endif
150	o make_malloc.c: in cleanup mode, initialize freshly allocated memory
151	o str.c: error out on an ":M" modifier whose pattern ends with
152	backslash
153	o var.c: fix parsing of modifier parts for :gmtime and :localtime
154	add POSIX $^ support
155
1562025-06-18  Simon J Gerraty  <sjg@beast.crufty.net>
157
158	* VERSION (_MAKE_VERSION): 20250618
159	Merge with NetBSD make, pick up
160	o parse.c: in a warning without location information,
161	print the stack trace
162
1632025-06-15  Simon J Gerraty  <sjg@beast.crufty.net>
164
165	* VERSION (_MAKE_VERSION): 20250615
166	Merge with NetBSD make, pick up
167	o add on-demand inter-process stack traces
168	o job.c,meta.c: do not discard empty lines in the output of a command
169	o job.c: add job prefix if necessary in non-default filtered mode
170	o parse.c,var.c: skip inter-process stack trace when
171	MAKE_STACK_TRACE=no
172
1732025-06-12  Simon J Gerraty  <sjg@beast.crufty.net>
174
175	* VERSION (_MAKE_VERSION): 20250612
176	Merge with NetBSD make, pick up
177	o use a common style for unexpected error messages
178	o parse.c: add program name to stack traces from sub-makes
179	add quotes to "in directory" line in stack traces
180	o var.c: check variable names for invalid characters when there
181	are no modifiers to apply.  This detects and warns about gmake
182	syntax like: $(addprefix -I, $(LIST))
183
1842025-06-09  Simon J Gerraty  <sjg@beast.crufty.net>
185
186	* VERSION (_MAKE_VERSION): 20250606
187	Merge with NetBSD make, pick up
188	o main.c: fix bug in handling of output of children in jobs mode
189
1902025-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
191
192	* VERSION (_MAKE_VERSION): 20250528
193	Merge with NetBSD make, pick up
194	o show contents of MAKEFLAGS in the stack trace.
195	o main.c: delay warning about bogus -J flag, if we end up in
196	compat mode before the call to InitMaxJobs, the warning isn't
197	necessary.
198
1992025-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
200
201	* VERSION (_MAKE_VERSION): 20250525
202	Merge with NetBSD make, pick up
203	o main.c: set .CURDIR earlier so it can be reported in some errors.
204
2052025-05-20  Simon J Gerraty  <sjg@beast.crufty.net>
206
207	* VERSION (_MAKE_VERSION): 20250520
208	Merge with NetBSD make, pick up
209	o rename variables, remove now-redundant comments
210	o job.c: clean up building the shell commands in parallel mode
211	remove timeout for polling in parallel mode
212	o main.c: clean up error message for malformed internal -J option
213
2142025-05-11  Simon J Gerraty  <sjg@beast.crufty.net>
215
216	* VERSION (_MAKE_VERSION): 20250511
217	Merge with NetBSD make, pick up
218	o job.c: rename token pool variables to be more descriptive
219	move ContinueJobs further up, to eliminate a forward declaration
220	error out if writing to an internal pipe fails
221	clean up constant names and function names
222	use uniform debug log messages for the token pool
223	in the debug log, replace magic numbers with identifiers
224	o main.c: clean up error message for malformed internal -J option
225	o make.c: replace bitset in trace output with descriptive node
226	attributes
227	o targ.c: add end marker for -dg1, -dg2 and -dg3 debug log
228	o var.c: fix order of error messages in the ":?" modifier
229
2302025-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
231
232	* VERSION (_MAKE_VERSION): 20250424
233	Merge with NetBSD make, pick up
234	o cleanup; replace unsigned int with just unsigned
235	Inline the TMPPAT macro, as it is only needed in a single place
236	o move struct Job from job.h to job.c
237	o job.c: group the code for handling the job token pool
238	avoid excessive values of -j
239	o make.c: fix grammar in debug log message
240
2412025-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
242
243	* VERSION (_MAKE_VERSION): 20250414
244	Merge with NetBSD make, pick up
245	o job.c: clean up job and output handling
246	o parse.c: after entering POSIX mode, don't leave it again
247
2482025-04-11  Simon J Gerraty  <sjg@beast.crufty.net>
249
250	* VERSION (_MAKE_VERSION): 20250411
251	Merge with NetBSD make, pick up
252	o convert more messages to file:line: format
253	o for.c: condense code for parsing variable names in .for loops
254
2552025-04-10  Simon J Gerraty  <sjg@beast.crufty.net>
256
257	* VERSION (_MAKE_VERSION): 20250410
258	Merge with NetBSD make, pick up
259	o cond.c: remove redundant error counter when parsing a condition
260
2612025-04-04  Simon J Gerraty  <sjg@beast.crufty.net>
262
263	* VERSION (_MAKE_VERSION): 20250404
264	Merge with NetBSD make, pick up
265	o make.1: better document meta mode.
266	o var.c: fix error message for undefined variable in conditional.
267
2682025-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
269
270	* VERSION (_MAKE_VERSION): 20250330
271	Merge with NetBSD make, pick up
272	o in POSIX compatability mode, give preference to sysV style modifiers.
273	o in stack trace with details and includes, list the current file
274	o parse.c: report file location in more common file:line: format.
275	o var.c: simplify error handling for unknown modifiers
276	let the ":O" and ":t" modifiers fall back to the ":from=to" modifier
277	stop parsing after seeing an unknown modifier in an expression
278	fix error message for unclosed expression and invalid :[...]
279	add details to errors about ::= modifier
280	add details about indirect modifiers to the stack traces
281	in stack traces from target commands, add the command level
282
2832025-03-23  Simon J Gerraty  <sjg@beast.crufty.net>
284
285	* VERSION (_MAKE_VERSION): 20250323
286	Merge with NetBSD make, pick up
287	o var.c: just ignore attempts to override a read-only global with
288	the same value.
289
2902025-03-08  Simon J Gerraty  <sjg@beast.crufty.net>
291
292	* bsd.after-import.mk: by default generate makefiles
293	closer to BSD style.
294
295	* VERSION (_MAKE_VERSION): 20250308
296	Merge with NetBSD make, pick up
297	o clean up comments and code for parallel mode
298	o job.c: avoid SIGPIPE for children, call Job_Wait befor abort.
299
3002025-02-27  Simon J Gerraty  <sjg@beast.crufty.net>
301
302	* VERSION (_MAKE_VERSION): 20250225
303	Merge with NetBSD make, pick up
304	o job.c: reliably remove targets on interrupt,
305	by passing signal to children first.
306
3072025-01-25  Simon J Gerraty  <sjg@beast.crufty.net>
308
309	* VERSION (_MAKE_VERSION): 20250125
310	Merge with NetBSD make, sync up below change.
311
312	* unit-tests/Makefile: remove $TMPDIR via .END
313	to avoid failure in test on NFS - since the temp file for the
314	target script is open and thus gets renamed by the server rather
315	than removed.
316
3172025-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
318
319	* VERSION (_MAKE_VERSION): 20250120
320	Merge with NetBSD make, pick up
321	o use FORK_FUNCTION so it can be forced to fork when doing coverage.
322	o main.c: avoid memory allocation in error path after exec failure.
323
3242025-01-16  Simon J Gerraty  <sjg@beast.crufty.net>
325
326	* VERSION (_MAKE_VERSION): 20250116
327	Merge with NetBSD make, pick up
328	o clarify that undefined expressions are allowed in dependencies
329	o simplify code for evaluating the '!=' variable assignment
330
3312025-01-11  Simon J Gerraty  <sjg@beast.crufty.net>
332
333	* VERSION (_MAKE_VERSION): 20250111
334	Merge with NetBSD make, pick up
335	o replace "Malformed conditional" with "Variable is undefined"
336	when appropriate
337
3382025-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
339
340	* VERSION (_MAKE_VERSION): 20250110
341	Merge with NetBSD make, pick up
342	o job.c: remove some unnecessary layers in job handling
343	o unit-tests: test expressions based on undefined variables
344
3452025-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
346
347	* VERSION (_MAKE_VERSION): 20250101
348	Merge with NetBSD make, pick up
349	o var.c: reduce pointer indirections when unexporting a variable
350
3512024-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
352
353	* VERSION (_MAKE_VERSION): 20241212
354	* mk/ updates
355
3562024-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
357
358	* VERSION (_MAKE_VERSION): 20241124
359	Merge with NetBSD make, pick up
360	o var.c: fix confusing error message when overriding a read-only
361	variable
362
3632024-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
364
365	* VERSION (_MAKE_VERSION): 20241122
366	Merge with NetBSD make, pick up
367	o unit-tests/Makefile: optimize running of tests skip extra cat
368	in 99% of cases.
369
3702024-11-15  Simon J Gerraty  <sjg@beast.crufty.net>
371
372	* VERSION (_MAKE_VERSION): 20241114
373	Merge with NetBSD make, pick up
374	o make.1: note that MAKEOBJPREFIX should be absolute path
375	also that it can be set via makefile if suitable care taken.
376
3772024-11-10  Simon J Gerraty  <sjg@beast.crufty.net>
378
379	* VERSION (_MAKE_VERSION): 20241110
380	Merge with NetBSD make, pick up
381	o make: allow .../ (search here and above) in
382	.MAKE.MAKEFILE_PREFERENCE and -f argument.
383
3842024-11-03  Simon J Gerraty  <sjg@beast.crufty.net>
385
386	* VERSION (_MAKE_VERSION): 20241101
387	Merge with NetBSD make, pick up
388	o parse.c: report filename:linenumber in parse debug output
389
3902024-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
391
392	* VERSION (_MAKE_VERSION): 20240921
393	Merge with NetBSD make, pick up
394	o make.1: Only list the defaults for MAKEFILE_PREFERENCE once.
395
396	* Makefile: use genfiles.mk to generate ${MAN}
397	so that it can be tuned for local site.
398	Ensure MAN  is defined before including Makefile.inc
399
400	* Makefile: use MK_GEN_MAN to make it easier to control whether we
401	generate ${MAN}
402
4032024-09-16  Simon J Gerraty  <sjg@beast.crufty.net>
404
405	* VERSION (_MAKE_VERSION): 20240909
406
407	* arch.c: fix NetBSD PR 58597
408
4092024-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
410
411	* Makefile: use SUBDIR.${MK_TESTS} so that we skip
412	unit-tests for obj and clean when FreeBSD is building WITHOUT_TESTS
413
414	* VERSION (_MAKE_VERSION): 20240901
415	Merge with NetBSD make, pick up
416	o reduce line length in error messages
417	o var.c: simplify printing of an evaluation stack element
418
4192024-08-29  Simon J Gerraty  <sjg@beast.crufty.net>
420
421	* VERSION (_MAKE_VERSION): 20240828
422	Merge with NetBSD make, pick up
423	o add more context to error message about recursive variables
424	o treat recursive variables non-fatally - continue parsing to end
425	of makefile
426
4272024-08-12  Simon J Gerraty  <sjg@beast.crufty.net>
428
429	* VERSION (_MAKE_VERSION): 20240808
430	Merge with NetBSD make, pick up
431	o improve some error messages for better clarify and readability
432
4332024-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
434
435	* VERSION (_MAKE_VERSION): 20240722
436	Merge with NetBSD make, pick up
437	o job.c: remove dead code
438
4392024-07-21  Simon J Gerraty  <sjg@beast.crufty.net>
440
441	* VERSION (_MAKE_VERSION): 20240720
442	Merge with NetBSD make, pick up
443	o compat.c: do not run commands that have parse or evaluation errors.
444	o var.c: remove wrong error message about an undefined variable
445
4462024-07-13  Simon J Gerraty  <sjg@beast.crufty.net>
447
448	* cleanup redundant differences from NetBSD make
449	o parse.c: no longer uses mmap
450	o var.c: check __STDC_VERSION__ not __STDC__
451
4522024-07-12  Simon J Gerraty  <sjg@beast.crufty.net>
453
454	* Apply some patches from NetBSD pkgsrc to reduce divergence
455	o meta.c: requires sys/select.h if available
456	o var.c: ensure SIZE_MAX has a value
457	o util.c: ensure SA_RESTART is defined
458
459	* configure.in: use *ksh* rather than just *ksh to match
460	ksh shell specification.
461
462	* unit-tests/Makefile: expand BROKEN_TESTS for ksh and
463	mksh in particular
464
4652024-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
466
467	* VERSION (_MAKE_VERSION): 20240711
468	Merge with NetBSD make, pick up
469	o compat.c: allow Compat_RunCommand to also handle very long
470	commands by writing to a temp file when needed.
471	o main.c: extract the temp file logic recently added to Cmd_Exec
472	to Cmd_Argv so it can be leveraged by Compat_RunCommand.
473
4742024-07-09  Simon J Gerraty  <sjg@beast.crufty.net>
475
476	* VERSION (_MAKE_VERSION): 20240709
477	Merge with NetBSD make, pick up
478	o error out on parse/evaluation errors in shell commands
479	o var.c: error out on syntax errors in ':M' and ':N' modifiers
480
4812024-07-07  Simon J Gerraty  <sjg@beast.crufty.net>
482
483	* VERSION (_MAKE_VERSION): 20240707
484	Merge with NetBSD make, pick up
485	o only generate code for cleanup functions in CLEANUP mode
486	o hash.c: don't track hash table chain lengths during lookup
487	unless debugging
488	o main.c: move initialization of variable scopes to targ.c
489	o var.c: remove Var_End as it is now unnecessary
490
4912024-07-06  Simon J Gerraty  <sjg@beast.crufty.net>
492
493	* VERSION (_MAKE_VERSION): 20240706
494	Merge with NetBSD make, pick up
495	o reduce lint comments about ARGSUSED
496	o cond.c: error out on conditions containing the operators '&' and '|'
497	o str.c: error out on a matching malformed matching pattern '[['
498	o var.c: in error messages, distinguish parsing from evaluating
499	in error messages for anonymous variables, log the value
500	error out on unclosed expressions during parse time
501
5022024-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
503
504	* VERSION (_MAKE_VERSION): 20240704
505	Merge with NetBSD make, pick up
506	o add more context information to error messages
507	o main.c: on error, print the targets to be made
508	add detailed exit status to message for failed sub-commands
509	o var.c: error out on the "Bad modifier" error message
510
5112024-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
512
513	* VERSION (_MAKE_VERSION): 20240701
514	Merge with NetBSD make, pick up
515	o var.c: add :tt for Title case
516
5172024-06-30  Simon J Gerraty  <sjg@beast.crufty.net>
518
519	* configure.in: 20240630 further refine check for whether
520	TZ=Europe/Berlin works
521
522	* VERSION (_MAKE_VERSION): 20240630
523	Merge with NetBSD make, pick up
524	o job.c: reduce use of UNCONST
525	o main.c: add detailed exit status to message for failed sub-commands
526	o var.c: error out on some more syntax errors
527	add more context to "returned non-zero status" message
528
5292024-06-25  Simon J Gerraty  <sjg@beast.crufty.net>
530
531	* VERSION (_MAKE_VERSION): 20240625
532	Merge with NetBSD make, pick up
533	o job.c: ensure shellPath is always duped, avoid upsetting free()
534
5352024-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
536
537	* VERSION (_MAKE_VERSION): 20240616
538	Merge with NetBSD make, pick up
539	o clean up collection of context information for error messages
540	o in warnings, move the word "warning" to the front
541	o var.c: throw an error on attempt to override an internal
542	read-only variable
543
5442024-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
545
546	* VERSION (_MAKE_VERSION): 20240610
547	Merge with NetBSD make, pick up
548	o for.c: remove redundant shortcut for building the .for loop body
549
5502024-06-02  Simon J Gerraty  <sjg@beast.crufty.net>
551
552	* VERSION (_MAKE_VERSION): 20240602
553	Merge with NetBSD make, pick up
554	o rename some VarEvalMode constants to better match debug names.
555	o var.c: avoid out-of-bounds read when parsing indirect modifiers.
556
5572024-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
558
559	* VERSION (_MAKE_VERSION): 20240601
560	Merge with NetBSD make, pick up
561	o add .export-all rather than allow .export with no argument
562	which can happen accidentally.
563	o if lua is available, run check-expect.lua after unit-tests
564	o main.c: use snprintf rather than strncpy
565	fix memory leak when purging realpath cache.
566
5672024-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
568
569	* VERSION (_MAKE_VERSION): 20240528
570	Merge with NetBSD make, pick up
571	o fix a number of memory leaks
572	o replace magic numbers with POSIX FILENO constants
573	o hash.c: remove dead code from HashTable_DeleteEntry
574	o main.c: when complaining about unusable .OBJDIR
575	call PrintOnError if MAKE_DEBUG_OBJDIR_CHECK_WRITABLE is true.
576	o parse.c: use fewer technical terms in debug message for dependency
577
5782024-05-20  Simon J Gerraty  <sjg@beast.crufty.net>
579
580	* VERSION (_MAKE_VERSION):
581	Merge with NetBSD make, pick up
582	o dir.c: in FindFile restore last search of .CURDIR even for
583	includes, as a number of existing makefiles are broken otherwise.
584
5852024-05-19  Simon J Gerraty  <sjg@beast.crufty.net>
586
587	* VERSION (_MAKE_VERSION): 20240519
588	Merge with NetBSD make, pick up
589	o dir.c: Add Dir_FindInclude, FindFile without looking in .CURDIR.
590	Also fix Dir_SetSYSPATH to use defSysIncPath if sysIncPath is empty.
591	o main.c: no need to set .DOTLAST in sysIncPath
592
5932024-05-07  Simon J Gerraty  <sjg@beast.crufty.net>
594
595	* VERSION (_MAKE_VERSION): 20240508
596	Merge with NetBSD make, pick up
597	o make: ensure variables set on command line get added to
598	.MAKEOVERRIDES (even if they start with '.') so they are passed to
599	sub-makes.
600
6012024-04-30  Simon J Gerraty  <sjg@beast.crufty.net>
602
603	* VERSION (_MAKE_VERSION): 20240430
604	Merge with NetBSD make, pick up
605	o main.c: ensure '.include <makefile>' respects MAKESYSPATH.
606	Dir_FindFile will search .CURDIR first unless ".DOTLAST" is seen.
607
6082024-04-28  Simon J Gerraty  <sjg@beast.crufty.net>
609
610	* VERSION (_MAKE_VERSION): 20240428
611	Merge with NetBSD make, pick up
612	o simplify freeing of lists
613	o arch.c: trim pointless comments
614	o var.c: delay variable assignments until actually needed
615	don't reallocate memory after evaluating an expression, result is
616	almost always short-lived.
617
6182024-04-26  Simon J Gerraty  <sjg@beast.crufty.net>
619
620	* VERSION (_MAKE_VERSION): 20240426
621	Merge with NetBSD make, pick up
622	o job.c: in debug output, print the directory in which a job
623	failed at same time as failed target so it is more easily found in
624	build log.
625
6262024-04-24  Simon J Gerraty  <sjg@beast.crufty.net>
627
628	* VERSION (_MAKE_VERSION): 20240424
629	Merge with NetBSD make, pick up
630	o clean up comments, code and tests
631
6322024-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
633
634	* VERSION (_MAKE_VERSION): 20240422
635	Merge with NetBSD make, pick up
636	o var.c: avoid LazyBuf for :*time modifiers.
637	LazyBuf's are not nul terminated so not suitable for passing to
638	functions that expect that. These modifiers are used sparingly so
639	an extra allocation is not a problem.
640
6412024-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
642
643	* VERSION (_MAKE_VERSION): 20240420
644	Merge with NetBSD make, pick up
645	o provide more context information for parse/evaluate errors
646
6472024-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
648
649	* VERSION (_MAKE_VERSION): 20240414
650	Merge with NetBSD make, pick up
651	o parse.c: print -dp debug info earlier so we see which
652	.if or .for line is being parsed.
653
6542024-04-04  Simon J Gerraty  <sjg@beast.crufty.net>
655
656	* VERSION (_MAKE_VERSION): 20240404
657	Merge with NetBSD make, pick up
658	o fix some unit tests for Cygwin
659	o parse.c: exit immediately after reading a null byte from a makefile
660
661	* fix generation of bmake.cat1
662
6632024-03-19  Simon J Gerraty  <sjg@beast.crufty.net>
664
665	* VERSION (_MAKE_VERSION): 20240314
666	Add/Improve support for Cygwin
667	o uname -s output isn't useful so allow configure to
668	set FORCE_MAKE_OS - to force the value of .MAKE.OS
669	and use Cygwin which matches uname -o
670	o fix some unit-tests for Cygwin
671
6722024-03-10  Simon J Gerraty  <sjg@beast.crufty.net>
673
674	* boot-strap: tests can take a long time; use a cookie to
675	skip them if bmake has not been updated since tests last
676	ran successfully.
677
678	* Makefile: Cygwin handles MANTARGET man
679
680	* unit-tests/Makefile: set BROKEN_TESTS for Cygwin
681
6822024-03-09  Simon J Gerraty  <sjg@beast.crufty.net>
683
684	* VERSION (_MAKE_VERSION): 20240309
685	Merge with NetBSD make, pick up
686	o set .ERROR_EXIT to the exit status of .ERROR_TARGET
687	this allows a .ERROR target to ignore the case of
688	.ERROR_EXIT==6 which just means that the build actually
689	failed somewhere else.
690
6912024-03-04  Simon J Gerraty  <sjg@beast.crufty.net>
692
693	* VERSION (_MAKE_VERSION): 20240303
694
695	* var.c: on IRIX we need both inttypes.h and stdint.h
696
6972024-03-01  Simon J Gerraty  <sjg@beast.crufty.net>
698
699	* VERSION (_MAKE_VERSION): 20240301
700	Merge with NetBSD make, pick up
701	o export variables with value from target scope
702	when appropriate.
703
7042024-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
705
706	* VERSION (_MAKE_VERSION): 20240212
707	Merge with NetBSD make, pick up
708	o remove unneeded conditional-compilation toggles
709	INCLUDES, LIBRARIES, POSIX, SYSVINCLUDE, SYSVVARSUB,
710	GMAKEEXPORT NO_REGEX and SUNSHCMD
711
712	* configure.in: add check for regex.h
713
714	* var.c: replace use of NO_REGEX with HAVE_REGEX_H
715
7162024-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
717
718	* VERSION (_MAKE_VERSION): 20240204
719	Merge with NetBSD make, pick up
720	o var.c: fix some lint (-dL) mode parsing issues
721
7222024-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
723
724	* VERSION: (_MAKE_VERSION): 20240202
725	Merge with NetBSD make, pick up
726	o make.1: note that arg to :D and :U can be empty
727	o var.c: $$ is not a parse error when .MAKE.SAVE_DOLLARS=no
728
7292024-01-08  Simon J Gerraty  <sjg@beast.crufty.net>
730
731	* VERSION (_MAKE_VERSION): 20240108
732	Merge with NetBSD make, pick up
733	o miscellaneous cleanups
734
7352024-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
736
737	* VERSION (_MAKE_VERSION): 20240106
738	Merge with NetBSD make, pick up
739	o fix duplicate progname when reporting an unknown target
740	o unit tests for Cmd_Exec using temp file
741
7422024-01-05  Simon J Gerraty  <sjg@beast.crufty.net>
743
744	* VERSION (_MAKE_VERSION): 20240105
745	Merge with NetBSD make, pick up
746	o main.c: Cmd_Exec write cmd to a file if too big
747	avoid blowing commandline/env limits
748
7492024-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
750
751	* VERSION (_MAKE_VERSION): 20240101
752	o util.c: flesh out more of strftime
753	* configure.in: add --with-bmake-strftime
754	it is not a full implementation but enough to pass all
755	the unit-tests.
756	* parse.c: LoadFile do not append \n to empty buffer.
757
7582023-12-30  Simon J Gerraty  <sjg@beast.crufty.net>
759
760	* VERSION (_MAKE_VERSION): 20231230
761	Merge with NetBSD make, pick up
762	o simplify memory allocation for string buffers
763	o fix declared types of list nodes
764	o suff.c: clean up freeing of suffixes
765	o var.c: simplify debug message for the ':@var@...@' modifier
766	clean up variable handling
767
7682023-12-26  Simon J Gerraty  <sjg@beast.crufty.net>
769
770	* VERSION (_MAKE_VERSION): 20231226
771	Merge with NetBSD make, pick up
772	o compat.c: ensure make's output is correctly ordered with that of
773	the target when not going to a tty
774	o main.c: check for shellPath whether to call Shell_Init()
775
7762023-12-24  Simon J Gerraty  <sjg@beast.crufty.net>
777
778	* VERSION (_MAKE_VERSION): 20231224
779	Merge with NetBSD make, pick up
780	o compat.c: check for shellPath whether to call Shell_Init()
781	tweak the unit test to detect the bug thus fixed.
782	o make.1: do not claim .SHELL is only used by jobs mode.
783
7842023-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
785
786	* VERSION (_MAKE_VERSION): 20231220
787	Merge with NetBSD make, pick up
788	o str.c: speed up pattern matching in the ':M' modifier
789	o var.c: fix confusing debug logging when deleting a variable
790	use consistent debug messages style when ignoring variables
791
7922023-12-10  Simon J Gerraty  <sjg@beast.crufty.net>
793
794	* VERSION (_MAKE_VERSION): 20231210
795	Merge with NetBSD make, pick up
796	o var.c: avoid segfault on empty :C match expression
797	explain in debug log why variable assignment is ignored.
798
7992023-12-08  Simon J Gerraty  <sjg@beast.crufty.net>
800
801	* VERSION (_MAKE_VERSION): 20231208
802	Merge with NetBSD make, pick up
803	o var.c: ensure fromCmd is set correctly for variables set on
804	command line.
805
8062023-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
807
808	* configure.in: disable generation of 'makefile' for
809	Darwin by default.
810
811	* boot-strap: docuement --without-makefile
812
8132023-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
814
815	* VERSION (_MAKE_VERSION): 20231124
816	Merge with NetBSD make, pick up
817	o main.c: cleanup processing of -j
818	fix lint warning about strchr
819	o var.c: more accurate error message for invalid ':mtime' argument
820	cleanup :[...] modifier
821	avoid reading beyond substring when comparing
822	o unit-tests cover all cases of :mtime, test and explain exporting
823	of variables
824	o cleanup comments
825
8262023-09-17  Simon J Gerraty  <sjg@beast.crufty.net>
827
828	* bsd.after-import.mk (ECHO_TAG): FreeBSD no longer uses
829	$FreeBSD$ tag, so avoid adding it.
830
8312023-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
832
833	* VERSION (_MAKE_VERSION): 20230909
834	Merge with NetBSD make, pick up
835	o main.c: allow -j to compute a multiple of ncpu
836	If _SC_NPROCESSORS_ONLN is supported; and -j arg is a floating
837	point number or ends in 'C' compute .MAKE.JOBS as a multiple of
838	_SC_NPROCESSORS_ONLN
839	.MAKE.JOBS.C will be "yes" if -jC is supported
840
8412023-08-20  Simon J Gerraty  <sjg@beast.crufty.net>
842
843	* VERSION (_MAKE_VERSION): 20230820
844	Merge with NetBSD make, pick up
845	o make.1: note that :localtime is better for %s
846	o parse.c: improve error messages for invalid input.
847	o var.c: fix for %s:L:gmtime - set TZ=UTC and use localtime to get
848	correct result, it is still better to use %s:L:localtime.
849
8502023-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
851
852	* VERSION (_MAKE_VERSION): 20230818
853	Merge with NetBSD make, pick up
854	o meta.c: meta_ignore - check raw path against metaIgnorePaths
855	to potentially skip call to realpath.
856	o var.c: be strict when parsing the argument of the ':mtime' modifier
857	o unit-tests/varmod-mtime.mk: document why '${%s:L:localtime}'
858	should be used to get an equivalent value to time(3).
859
8602023-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
861
862	* VERSION (_MAKE_VERSION): 20230816
863	Merge with NetBSD make, pick up
864	o cond.c: clean up multiple-inclusion guards
865
8662023-07-25  Simon J Gerraty  <sjg@beast.crufty.net>
867
868	* unit-tests/Makefile: addd varmod-localtime to BROKEN_TESTS
869	if configure cannot work out how to control TZ.
870	Remove varmod-localtime from BROKEN_TESTS for IRIX*
871
8722023-07-24  Simon J Gerraty  <sjg@beast.crufty.net>
873
874	* VERSION (_MAKE_VERSION): 20230723
875
876	* configure.in: fix the test for wether TZ=Europe/Berlin works.
877	Depending on the time of year, if run between 22:00 and 00:00 UTC
878	the check in configure would fail incorrectly.
879	Take the day into account as well.
880
8812023-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
882
883	* VERSION (_MAKE_VERSION): 20230711
884	Merge with NetBSD make, pick up
885	o make.1: clean up wording, clarify scope of '!' in conditions
886
8872023-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
888
889	* make-bootstrap.sh.in: set prefix
890	If configure is run using ksh we get unexpanded ${prefix} in
891	DEFAULT_SYS_PATH, by ensuring prefix is set we should still get
892	correct result.
893
8942023-07-13  Simon J Gerraty  <sjg@beast.crufty.net>
895
896	* VERSION (_MAKE_VERSION): 20230711
897	bump version for IRIX tweaks
898
899	* make.h: undef OP_NONE if defined
900
901	* unit-tests/Makefile: set BROKEN_TESTS for IRIX
902
903	* configure.in: override INSTALL on IRIX
904
9052023-06-27  Simon J Gerraty  <sjg@beast.crufty.net>
906
907	* boot-strap op_test: ensure we set TEST_MAKE as we want it.
908
9092023-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
910
911	* VERSION (_MAKE_VERSION): 20230622
912	Merge with NetBSD make, pick up
913	o optimize string matching for ':M' and ':N'
914	o warn about malformed patterns in ':M', ':N' and '.if make(...)'
915
9162023-06-21  Simon J Gerraty  <sjg@beast.crufty.net>
917
918	* VERSION (_MAKE_VERSION): 20230621
919	Merge with NetBSD make, pick up
920	o more extensive tests for include guards
921	o parse.c: if a guard is already defined a file that uses the same
922	guard is still guarded by it.
923
9242023-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
925
926	* VERSION (_MAKE_VERSION): 20230620
927	Merge with NetBSD make, pick up
928	o allow guards to be targets as well as variables
929	The guard targets may include variable references like
930	__${.PARSEDIR:tA}/${.PARSEFILE}__
931
9322023-06-19  Simon J Gerraty  <sjg@beast.crufty.net>
933
934	* VERSION (_MAKE_VERSION): 20230619
935	Merge with NetBSD make, pick up
936	o unit test for .undef of readOnly vars
937	o optimization for makefiles protected from multiple-inclusion
938	skip even opening the file after first include.
939	Initially this only handles makefiles guarded by a variable
940	target guards are next.
941
9422023-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
943
944	* VERSION (_MAKE_VERSION): 20230616
945	Merge with NetBSD make, pick up
946	o var.c: do not allow delete of readOnly variable
947
9482023-06-03  Simon J Gerraty  <sjg@beast.crufty.net>
949
950	* VERSION (_MAKE_VERSION): 20230601
951	Merge with NetBSD make, pick up
952	o parse.c: .break takes no args
953	o lots of unit test updates
954
9552023-05-29  Simon J Gerraty  <sjg@beast.crufty.net>
956
957	* unit-tests/Makefile: skip tests that require /dev/filemon
958	if it does not exists - issue a warning.
959
9602023-05-22  Simon J Gerraty  <sjg@beast.crufty.net>
961
962	* VERSION (_MAKE_VERSION): 20230522
963	Fix building on darwin ppc
964
965	* os.sh (MACHINE): Darwin powerpc cannot use `uname -m`
966	also recent NetBSD uses x86_64 for MACHINE_ARCH so conform.
967
9682023-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
969
970	* VERSION (_MAKE_VERSION): 20230515
971
972	* Makefile (COPTS.filemon_ktrace.c): NetBSD 7 needs help to
973	compile filemon_ktrace.c
974
9752023-05-13  Simon J Gerraty  <sjg@beast.crufty.net>
976
977	* VERSION (_MAKE_VERSION): 20230512
978	o sys.dirdeps.mk - broke after-import target
979
9802023-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
981
982	* VERSION (_MAKE_VERSION): 20230510
983	Merge with NetBSD make, pick up
984	o parse.c: don't print null filename in stack traces
985	o var.c: :mtime operate on each word in variable value
986
9872023-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
988
989	* VERSION (_MAKE_VERSION): 20230509
990	Merge with NetBSD make, pick up
991	o for.c: skip syntactically wrong .for loops
992	o var.c: allow for :gmtime=${mtime}
993	add :mtime[=timestamp] where timestamp is used if stat(2)
994	fails, if :mtime=error stat(2) failure causes error.
995
9962023-05-05  Simon J Gerraty  <sjg@beast.crufty.net>
997
998	* VERSION (_MAKE_VERSION): 20230504
999	Merge with NetBSD make, pick up
1000	o compat.c: fix compile on NetBSD 7.2
1001	o make.1: fix documentation of .PREFIX to match reality and POSIX
1002	o unit-tests: improved var-scope-local
1003
10042023-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
1005
1006	* VERSION (_MAKE_VERSION): 20230414
1007	Merge with NetBSD make, pick up
1008	o minor cleanup
1009
10102023-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
1011
1012	* main.c: on some systems (eg OS/X) setting RLIMIT_NOFILE to
1013	unlimited results in an insane number (0x7fffffffffffffff).
1014	If BMAKE_NOFILE_MAX is defined, use that instead.
1015
10162023-03-22  Simon J Gerraty  <sjg@beast.crufty.net>
1017
1018	* VERSION (_MAKE_VERSION): 20230321
1019	Merge with NetBSD make, pick up
1020	* make.1: document seemingly unexplained Error code 6.
1021
10222023-03-18  Simon J Gerraty  <sjg@beast.crufty.net>
1023
1024	* VERSION (_MAKE_VERSION): 20230317
1025	Merge with NetBSD make, pick up
1026	o compat.c: CompatDeleteTarget skip .PHONY targets to be
1027	consistent with JobDeleteTarget.
1028	o job.c: fix memory leak in handling sysv :from=to modifiers
1029
10302023-03-04  Simon J Gerraty  <sjg@beast.crufty.net>
1031
1032	* VERSION (_MAKE_VERSION): 20230303
1033	Merge with NetBSD make, pick up
1034	o several updated unit-tests
1035
10362023-02-22  Simon J Gerraty  <sjg@beast.crufty.net>
1037
1038	* VERSION (_MAKE_VERSION): 20230222
1039	Merge with NetBSD make, pick up
1040	o unit tests for .MAKE.META.IGNORE_{FILTER,PATHS,PATTERNS}
1041
10422023-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
1043
1044	* VERSION (_MAKE_VERSION): 20230218
1045	Merge with NetBSD make, pick up
1046	o var.c: fix parsing of unevaluated subexpressions with
1047	unbalanced '{}'
1048
10492023-02-17  Simon J Gerraty  <sjg@beast.crufty.net>
1050
1051	* VERSION (_MAKE_VERSION): 20230215
1052	Merge with NetBSD make, pick up
1053	o inline macros for some variable names
1054	o cond.c: reduce complexity of evaluating expressions
1055
10562023-02-08  Simon J Gerraty  <sjg@beast.crufty.net>
1057
1058	* VERSION (_MAKE_VERSION): 20230208
1059	Merge with NetBSD make, pick up
1060	o var.c: always use SCOPE_GLOBAL for :_ to avoid problems
1061	when it has been used within conditional expressions
1062
10632023-01-27  Simon J Gerraty  <sjg@beast.crufty.net>
1064
1065	* VERSION (_MAKE_VERSION): 20230127
1066
1067	* install-sh: if making directories ensure umask is set
1068	to match mode.
1069
1070	* Makefile: use DIRMODE for directories and
1071	NONBINMODE for man pages and mk files
1072
10732023-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
1074
1075	* VERSION (_MAKE_VERSION): 20230126
1076	Merge with NetBSD make, pick up
1077	o variables like .newline and .MAKE.{GID,PID,PPID,UID}
1078	should be read-only.
1079
10802023-01-23  Simon J Gerraty  <sjg@beast.crufty.net>
1081
1082	* VERSION (_MAKE_VERSION): 20230123
1083	Merge with NetBSD make, pick up
1084	o .[NO]READONLY: for control of read-only variables
1085	o .SYSPATH: for controlling the path searched for makefiles
1086
10872023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
1088
1089	* VERSION (_MAKE_VERSION): 20230120
1090	Merge with NetBSD make, pick up
1091	o allow for white-space between command specifiers @+-
1092	o add more details to warning 'Extra targets ignored'
1093
10942023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
1095
1096	* machine.sh: leverage os.sh rather than duplicate
1097	also dispence with the $OS.$MACHINE values - we have $HOST_TARGET
1098	for that purpose for the past decade or so.
1099	We invariably get MACHINE and MACHINE_ARCH at runtime anyway.
1100
11012023-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
1102
1103	* VERSION (_MAKE_VERSION): 20230101
1104	Merge with NetBSD make, pick up
1105	o cleanup comments, inline some LazyBuf_ methods
1106	o unit-tests/ add/improve comments in tests
1107	o make.1: sync list of built-in variables with reality
1108	sort list of built-in variables
1109	reduce indentation of the long list of variable names
1110	use consistent markup for boolean flags
1111	move description of .MAKE.MODE below the .MAKE.META block
1112	clarify in which case an expression may omit braces
1113
11142022-11-08  Simon J Gerraty  <sjg@beast.crufty.net>
1115
1116	* VERSION (_MAKE_VERSION): 20221024
1117	Merge with NetBSD make, pick up
1118	o change return type of unlink_file back to int
1119
11202022-10-07  Simon J Gerraty  <sjg@beast.crufty.net>
1121
1122	* Makefile: Darwin and Linux can handle MANTARGET=man
1123
11242022-09-28  Simon J Gerraty  <sjg@beast.crufty.net>
1125
1126	* VERSION (_MAKE_VERSION): 20220928
1127	Merge with NetBSD make, pick up
1128	o fix more ignored returns from snprintf
1129	o compile with higher warnings
1130
11312022-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
1132
1133	* main.c meta.c: do not ignore return from snprintf
1134
1135	* meta.c strlcpy.c: we need prototype for strlcpy
1136
1137	* sigcompat.c: fix unused function warnings
1138
11392022-09-24  Simon J Gerraty  <sjg@beast.crufty.net>
1140
1141	* VERSION (_MAKE_VERSION): 20220924
1142	Merge with NetBSD make, pick up
1143	o fix bug in .break reset of conditional depth
1144	o overhaul and simplify tracking of conditional depth
1145
11462022-09-17  Simon J Gerraty  <sjg@beast.crufty.net>
1147
1148	* VERSION (_MAKE_VERSION): 20220912
1149	Merge with NetBSD make, pick up
1150	o man page updates
1151
11522022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
1153
1154	* VERSION (_MAKE_VERSION): 20220909
1155	Merge with NetBSD make, pick up
1156	o update unit-tests to handle deprecation of egrep
1157	o cond.c: add more details to error message for numeric comparison
1158
1159	* configure.in: allow for deprecation of egrep
1160
1161	* Makefile: Linux can handle MANTARGET=man
1162
11632022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
1164
1165	* VERSION (_MAKE_VERSION): 20220903
1166	Merge with NetBSD make, pick up
1167	o job.c: fix handling of null bytes in output
1168
11692022-09-02  Simon J Gerraty  <sjg@beast.crufty.net>
1170
1171	* VERSION (_MAKE_VERSION): 20220902
1172	Merge with NetBSD make, pick up
1173	o Allow .break to terminate a .for loop early
1174
11752022-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
1176
1177	* VERSION (_MAKE_VERSION): 20220901
1178	Merge with NetBSD make, pick up
1179	o var.c: fix out-of-bounds errors when parsing
1180
11812022-08-24  Simon J Gerraty  <sjg@beast.crufty.net>
1182
1183	* VERSION (_MAKE_VERSION): 20220824
1184	Merge with NetBSD make, pick up
1185	o var.c: revert change to modifier parsing that breaks
1186	shell variable references within ':@var@body@'
1187	o adjust unit-tests
1188
11892022-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
1190
1191	* VERSION (_MAKE_VERSION): 20220818
1192	Merge with NetBSD make, pick up
1193	o fix exit status for '-q' (since 1994)
1194
11952022-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
1196
1197	* VERSION (_MAKE_VERSION): 20220808
1198	Merge with NetBSD make, pick up
1199	o var.c: fix parsing of modifiers containing unbalanced subexpressions
1200	extract parsing of ':D' and ':U' modifiers into separate function
1201
12022022-07-26  Simon J Gerraty  <sjg@beast.crufty.net>
1203
1204	* VERSION (_MAKE_VERSION): 20220726
1205
1206	* Auto-create objdir for bmake/unit-tests if appropriate
1207
12082022-07-24  Simon J Gerraty  <sjg@beast.crufty.net>
1209
1210	* VERSION (_MAKE_VERSION): 20220724
1211	Merge with NetBSD make, pick up
1212	o make.1: describe variable assignment and evaluation more precisely
1213	o parse.c: fix out-of-bounds read when parsing an invalid line
1214	o var.c: simplify return type of IsShortVarnameValid
1215
12162022-06-12  Simon J Gerraty  <sjg@beast.crufty.net>
1217
1218	* VERSION (_MAKE_VERSION): 20220612
1219	Merge with NetBSD make, pick up
1220	o allow to randomize build order of targets
1221	.MAKE.MODE += randomize-targets can help uncover dependency bugs
1222	within a makefile.
1223	o compat.c: rename Compat_Run to Compat_MakeAll
1224	o make.c: inline MakeBuildParent
1225	inline make_abort, improve error details
1226	o parse.c: reorganize Parse_Error
1227	fix memory leak in wildcard targets and sources
1228	separate cases in HandleDependencyTargetMundane
1229	extract HandleSingleDependencyTargetMundane
1230	rename loadfile to LoadFile
1231	split IncludeFile into separate functions
1232	condense code for searching a file in the paths
1233	fix off-by-one error in buffer for .WAIT nodes
1234	o str.c: condense Str_Match
1235	make code for string matching syntactically more consistent
1236
12372022-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
1238
1239	* VERSION (_MAKE_VERSION): 20220418
1240	Merge with NetBSD make, pick up
1241	o ignore '.POSIX:' if not in first non-comment line
1242	of Makefile as specified by POSIX.
1243	add unit-tests for above.
1244	o meta.c: make it easier to find usage of identifiers
1245	o targ.c: add .USEBEFORE to Targ_PrintType
1246
12472022-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
1248
1249	* VERSION (_MAKE_VERSION): 20220414
1250
1251	* unit-tests/Makefile: simplify checks for shells with
1252	BROKEN_TESTS, this helps with other Linux distros that
1253	use dash.
1254
12552022-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
1256
1257	* VERSION (_MAKE_VERSION): 20220330
1258	Merge with NetBSD make, pick up
1259	o var.c: fix spacing, and a typo in a test
1260
12612022-03-26  Simon J Gerraty  <sjg@beast.crufty.net>
1262
1263	* VERSION (_MAKE_VERSION): 20220326
1264	Merge with NetBSD make, pick up
1265	o parse.c: try to include 'posix.mk' the first time
1266	.POSIX: is encountered, to allow for beter POSIX compliance.
1267	o var.c: make debug logs more readable
1268	prefer 'long long' over 'long' on 32-bit C99 platforms
1269	fix crash on .undef of an environment variable
1270
12712022-03-03  Simon J Gerraty  <sjg@beast.crufty.net>
1272
1273	* VERSION (_MAKE_VERSION): 20220303
1274	Merge with NetBSD make, pick up
1275	o tell meta mode unit tests not to expect filemon
1276	o cond.c: make debug logging for comparisons less technical
1277	o lst.c: fix mem leak in Lst_Remove
1278	o str.c: make code for string matching syntactically more consistent
1279	o var.c: simplify ParseModifier_Match
1280
12812022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
1282
1283	* unit-tests/Makefile: control MAKESYSPATH for deptgt-phony
1284
1285	* VERSION (_MAKE_VERSION): 20220214
1286	Merge with NetBSD make, pick up
1287	o cond.c: simplify control flow in CondParser_Comparison
1288	o job.c: fix echoing of command with '-' in silent target in jobs mode
1289	o main.c: prefix the warning about read-only .OBJDIR with a colon
1290	o parse.c: remove redundant conditions
1291	o var.c: simplify control flow in ModifyWord_SysVSubst
1292
12932022-02-08  Simon J Gerraty  <sjg@beast.crufty.net>
1294
1295	* unit-tests/Makefile: disable opt-debug-x-trace on Linux if there
1296	is any chance we have dash as .SHELL
1297
1298	* VERSION (_MAKE_VERSION): 20220208
1299	Merge with NetBSD make, pick up
1300	o more unit tests
1301	o meta.c: use a variable to hold command line to be filtered
1302	to avoid any side effects from content of command line.
1303
13042022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
1305
1306	* VERSION (_MAKE_VERSION): 20220204
1307	Merge with NetBSD make, pick up
1308	o use unsigned consistently for line numbers, avoid the need for %z
1309	o parse.c: do not step off end of input in Parse_IsVar
1310	when checking for target local variable assignments
1311
13122022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
1313
1314	* VERSION (_MAKE_VERSION): 20220202
1315	Merge with NetBSD make, pick up
1316	o remove redundant declaration of HashIter_Init
1317	o make DEBUG0 simpler
1318
13192022-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
1320
1321	* cast gn->lineno to avoid %z
1322
1323	* VERSION (_MAKE_VERSION): 20220130
1324	Merge with NetBSD make, pick up
1325	o more unit tests
1326	o make GNode lineno unsigned to please lint
1327	o print location of recursive variable references in commands
1328	o print "stack trace" (makefile includes) on fatal errors
1329	o make.1: refine documentation for target local assignments
1330
13312022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
1332
1333	* VERSION (_MAKE_VERSION): 20220128
1334	Merge with NetBSD make, pick up
1335	o inline functions called only once
1336	o for.c: clean up AddEscape for building the body of a .for loop
1337	o hash.c: merge duplicate code for finding an entry in a hash table
1338	replace HashEntry_KeyEquals with strncmp
1339	o make.1: document quirks of target local variable assignments.
1340	o parse.c: cleanup white-space
1341
13422022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
1343
1344	* VERSION (_MAKE_VERSION): 20220126
1345	Merge with NetBSD make, pick up
1346	o allow setting target local variables
1347	o more unit tests
1348	o add missing newline after "cannot continue" message
1349	o meta.c: clean up eat_dots
1350	o parse.c: fix filename in warning about duplicate script
1351	o var.c: when expanding nested variables, check simple things first
1352
13532022-01-16  Simon J Gerraty  <sjg@beast.crufty.net>
1354
1355	* VERSION (_MAKE_VERSION): 20220116
1356	Merge with NetBSD make, pick up
1357	o fix for unit-tests/varname-makeflags on non-BSD systems
1358	o use Var_Exists rather than Var_Value where appropriate
1359	o remove unnecessary functions for expanding variable names
1360	o cond.c: inline EvalBare
1361	o main.c: lint cleanup
1362	o parse.c: condense code in Parse_IsVar
1363	use islower for parsing directives (none have upper case)
1364
13652022-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
1366
1367	* VERSION (_MAKE_VERSION): 20220112
1368	Merge with NetBSD make, pick up
1369	o meta.c: add .MAKE.META.CMP_FILTER for filtering commands before
1370	comparion, rarely needed but useful when it is.
1371
13722022-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
1373
1374	* VERSION (_MAKE_VERSION): 20220110
1375	Merge with NetBSD make, pick up
1376	o inline Buf_Clear
1377	o remove redundant braces
1378	o rename and inline Targ_Precious
1379	o cond.c: remove redundant initializer in CondParser_ComparisonOrLeaf
1380	o for.c: clean up handling of .for loops
1381	fix reported line numbers of continuation lines
1382	add details about .for loop variables to stack traces
1383	o job.c: reduce code for initializing error handling in shell
1384	o main.c: in Cmd_Exec, return error message instead of format string
1385	have as few statements as possible between va_start and va_end
1386	add debug logging for capturing the output of external commands
1387	o make.c: use consistent variable names for varargs
1388	o make_malloc.c: remove duplicate code from bmake_strdup
1389	o parse.c: add missing printflike annotations
1390	remove redundant lines from stack traces
1391	fix stack traces in -dp mode
1392	reduce confusing code in ParseForLoop
1393	fix line number in debug log after returning from a file
1394	rename IFile and its fields to match their actual content
1395	clean up ParseDependencySources
1396	o var.c: shorten ApplyModifier_Assign
1397	rename is_shell_metachar, fix character conversion warning
1398	merge calls to ApplyModifier_Time
1399	merge duplicate code for modifiers 'gmtime' and 'localtime'
1400
14012022-01-04  Simon J Gerraty  <sjg@beast.crufty.net>
1402
1403	* parse.c: loadfile restore extra byte in buffer.
1404
14052022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
1406
1407	* VERSION (_MAKE_VERSION): 20220101
1408	Merge with NetBSD make, pick up
1409	o more unit-tests
1410	o remove unnecessary words from command line options in CmdOpts
1411	o rename eunlink to unlink_file
1412	o cond.c: make ParseWord in condition parser simpler
1413	internally return false for irrelevant leaves in conditions
1414	replace table for function lookup in conditions with simple code
1415	merge duplicate types CondEvalResult and CondResult
1416	o for.c: clean up handling of .for loops and .include directives
1417	o main.c: constify cached_realpath
1418	clean up Cmd_Exec
1419	o parse.c: sync API documentation
1420	fix error message when reading more than 1 GB from stdin
1421	clean up parsing of makefiles
1422	fix line number in error message about open conditionals
1423	unexport types VarAssignOp and VarAssign
1424	clean up function names
1425	remove redundant parameters in dependency parsing functions
1426	reduce scope of the list of wildcard target names
1427	extract OP_NOTARGET into separate function
1428	clean up variable names for parsing dependency lines
1429	make debug logging a bit more human-friendly
1430	o var.c: condense code in ApplyModifier_Assign
1431
14322021-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
1433
1434	* VERSION (_MAKE_VERSION): 20211221
1435	Merge with NetBSD make, pick up
1436	o more unit-tests
1437	o style cleanup
1438	o in CLEANUP mode, free interned strings at the very end
1439	o fix memory leak for filenames in .for loops
1440	o buf.c: avoid memory leak
1441	o cond.c: condense CondParser_ComparisonOp
1442	o hash.c: change return type of HashTable_Set to void
1443	o job.c: change return type of Compat_RunCommand from int to bool
1444	o main.c: remove bmake_free
1445	o parse.c: condense repetetive code in ParseDirective
1446	remove dead code for handling traditional include directives
1447	clean up parsing of variable assignments
1448	remove unreachable code for parsing the dependency operator
1449	clean up loading of files
1450	fix memory leak in IncludeFile
1451	o var.c: fix memory leak when parsing a variable name
1452	fix memory leak from ${.SUFFIXES}
1453	reduce memory allocation in modifier ':?' and ':C'
1454	condense RegexReplace for the modifier ':C' and avoid strlen
1455	merge duplicate code for memory handling in Var_Parse
1456	distinguish between short-lived and environment variables
1457	rename VarFreeEnv to VarFreeShortLived
1458
14592021-12-15  Simon J Gerraty  <sjg@beast.crufty.net>
1460
1461	* cond.c: fix mem leak in CondParser_Leaf
1462
14632021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
1464
1465	* VERSION (_MAKE_VERSION): 20211212
1466	Merge with NetBSD make, pick up
1467	o rename Parse_SetInput to Parse_PushInput
1468	o remove remove period from end of error messages and warnings
1469	to be more consistent
1470	o arch.c: use simpler memory management for parsing archive members
1471	o cond.c: rework and reduce recursion
1472	o for.c: rename some functions to better reflect purpose
1473	o suff.c: add Suff_NamesStr to provide .SUFFIXES as a string.
1474	o var.c: in parse errors, mark whitespace more clearly
1475	inline ParseEmptyArg into CondParser_FuncCallEmpty
1476	minimize calls to LazyBuf_Get in ParseVarnameLong
1477	treat .SUFFIXES as a read-only variable
1478
14792021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
1480
1481	* VERSION (_MAKE_VERSION): 20211207
1482	Merge with NetBSD make, pick up
1483	o inline HashIter_Init
1484	o parse.c: inline common subexpression in ParseRawLine
1485	o var.c: merge branches for modifiers ':D' and ':U'
1486	extract common code into Expr_Words
1487	extract common code into Expr_Str
1488	move low-level implementation details out of Var_Parse
1489
14902021-12-06  Simon J Gerraty  <sjg@beast.crufty.net>
1491
1492	* VERSION (_MAKE_VERSION): 20211206
1493	Merge with NetBSD make, pick up
1494	o add unit-tests/varmod-loop-delete
1495	o for.c: inline Str_Words - reduce memory allocation
1496	o parse.c: do not try to expand fixed variable names
1497	only allocate the name of an included file if necessary
1498	clean up ParseInclude
1499	o var.c: fix use-after-free in modifier ':@'
1500	save a memory allocation in each modifier ':O' and ':u'
1501	save a memory allocation in the modifier ':[...]'
1502	in UnexportVars, replace Str_Words with Substring_Words to
1503	reduce allocations and copying.
1504
15052021-12-04  Simon J Gerraty  <sjg@beast.crufty.net>
1506
1507	* VERSION (_MAKE_VERSION): 20211204
1508	Merge with NetBSD make, pick up
1509	o flesh out a number of tests
1510	o replace enums with bitfields, this simplifies a lot of code.
1511	o var.c: refactor ParseModifierPartSubst
1512
15132021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
1514
1515	* VERSION (_MAKE_VERSION): 20211024
1516	Merge with NetBSD make, pick up
1517	o Punt on write errors - ENOSPC etc.
1518
15192021-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
1520
1521	* configure.in: use_defshell, set both DEFSHELL_INDEX
1522	and defshell_path if appropriate.
1523	This makes it easier to use say the KSH specification with
1524	and alternate path for the shell.
1525
1526	* configure.in compat.c: for SCO we need to force UseShell
1527
1528	* configure.in: SCO /bin/sh is not usable, provide a list of
1529	alternatives for use as .SHELL.
1530	We still have to mark some tests as broken, plus more if we end up
1531	with ksh as .SHELL.
1532	Issue a warning about skipped tests.
1533
1534	* boot-strap: leave TOOL_DIFF to configure
1535
1536	* configure.in: on SCO native cc is not usable,
1537	gcc is to be found in /usr/gnu/bin
1538	and while ancient is at least able to compile bmake.
1539	Thus we add /usr/gnu/bin to PATH if it exists, and later
1540	check if $CC would have been found via $PATH.
1541	If not we set CC to the full path of $CC.
1542	Also gnu diff is known to support -u, so if it exists use it.
1543
1544	* configure.in: move getopt to AC_REPLACE_FUNCS
1545	also add AC_C_INLINE - in an attempt to compile using
1546	native cc on SCO.
1547
1548	* configure.in: check for stresep as well as strsep, since we
1549	define the later to the former if necessary, and if we have to
1550	provide stresep we also need to provide a prototype.
1551
1552	* configure.in: we no longer need to worry about
1553	sys/cdefs.h providing __RCSID which simplifies things quite a bit.
1554
1555	* make.h: make sure we have __RCSID
1556
1557	* unit-tests/Makefile.config.in: add TOOL_DIFF so configure
1558	can control it.
1559
15602021-10-20  Simon J Gerraty  <sjg@beast.crufty.net>
1561
1562	* VERSION: 20211020
1563	Merge with NetBSD make, pick up
1564	o confirm sync of unit-tests
1565
15662021-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
1567
1568	* configure.in: check if timezone Europe/Berlin is supported
1569	if not try UTC-1
1570	* configure.in: if .OBJDIR is $srcdir/obj we need to create a
1571	symlink unit-tests -> ../unit-tests/obj so that
1572	unit-tests/Makefile.config is put in the right place.
1573	* refine filtering of .OBJDIR in unit-tests
1574
15752021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
1576
1577	* Fix unit-tests on Minix 3.2.0
1578	o job.c: do not punt if read of token pipe fails for EAGAIN.
1579	On Minix at least, we are not ready to read the childExitJob pipe
1580	when poll says we are.
1581	There should actually be no reason for this pipe to be
1582	non-blocking, but while that works fine on {Net,Free}BSD it
1583	breaks another test case on Minix.
1584	o unit-tests/Makefile: deal with variants of error messages
1585	  and use of obj as .OBJDIR
1586
15872021-10-14  Simon J Gerraty  <sjg@beast.crufty.net>
1588
1589	* configure.in: add sigaction to AC_REPLACE_FUNCS
1590	we also need to check for sigaddset etc just for the benefit of
1591	sigact.c
1592
1593	* Add sigact.c as sigaction.c so this "just works".
1594	This should have been done back when bmake_signal started using
1595	sigaction (I only just noticed that sigact.c wasn't here ;-)
1596	Note: I no longer have access to any system where this would matter.
1597
15982021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
1599
1600	* VERSION (_MAKE_VERSION): 20211011
1601
1602	* Makefile: cleanup a little
1603
1604	* configure.in: check for sigsetmask
1605
16062021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
1607
1608	* VERSION (_MAKE_VERSION): 20211001
1609	Merge with NetBSD make, pick up
1610	o reduce locations reducing text size
1611	o remove unnecessary const
1612	o cond.c: fix lint warning on i386
1613	do not allow unquoted 'left == right' after modifier ':?'
1614	o hash.c: fix build for DEBUG_HASH_LOOKUP
1615	o var.c: fix memory leak in error case of the ':?' modifier
1616
16172021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
1618
1619	* VERSION (_MAKE_VERSION): 20210911
1620	Merge with NetBSD make, pick up
1621	o var.c: replace remaining ModChain_ShouldEval with Expr_ShouldEval
1622
16232021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
1624
1625	* VERSION (_MAKE_VERSION): 20210906
1626	Merge with NetBSD make, pick up
1627	o more unit tests
1628	o lint cleanup
1629	o rename some functions to better fit purpose
1630	o for.c: cleanup - remove unnecessary optimization
1631	  fix embedded newlines
1632	o parse.c: correct case for CVS/RCS
1633
16342021-08-11  Simon J Gerraty  <sjg@beast.crufty.net>
1635
1636	* VERSION (_MAKE_VERSION): 20210808
1637	Merge with NetBSD make, pick up
1638	o var.c: remove redundant initialization in ApplyModifier_Order
1639
1640	* mk/options.mk: issue warning for incorrect usage
1641
16422021-08-03  Simon J Gerraty  <sjg@beast.crufty.net>
1643
1644	* var.c: use long for :On if we don't have a 64bit int type
1645
1646	* VERSION (_MAKE_VERSION): 20210803
1647	Merge with NetBSD make, pick up
1648	o rework varmod-order tests to avoid qsort instability
1649	o make.1: clarify :On entry
1650
16512021-07-31  Simon J Gerraty  <sjg@beast.crufty.net>
1652
1653	* VERSION (_MAKE_VERSION): 20210731
1654	Merge with NetBSD make, pick up
1655	o fix some lint issues
1656	o more unit tests
1657	o var.c: rework of ApplyModifier_Order
1658
16592021-07-30  Simon J Gerraty  <sjg@beast.crufty.net>
1660
1661	* util.c: add strto*l if HAVE_STRTO*L not defined
1662
1663	* VERSION (_MAKE_VERSION): 20210730
1664	Merge with NetBSD make, pick up
1665	o var.c: add :On and :Orn for numeric sort
1666	  disabled if no 64bit type available.
1667	o _strtol.h: to implement strto*l functions
1668
16692021-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
1670
1671	* VERSION (_MAKE_VERSION): 20210704
1672	Merge with NetBSD make, pick up
1673	o unit-tests: fix some tests to be more portable
1674	- job-output-null not all shells do the same number of write calls
1675	- objdir-writable if TMPDIR is set; /tmp may not be usable
1676
16772021-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
1678
1679	* VERSION (_MAKE_VERSION): 20210701
1680	Merge with NetBSD make, pick up
1681	o unit-tests: allow for BROKEN_TESTS to list TESTS to be skipped;
1682	some tests just cannot work in some environments.
1683	o buf.c: simpler upper bound for length in Buf_AddInt
1684	o cond.c: fix grammar in error message for malformed conditional
1685	o for.c: prevent newline injection (from ${.newline}) in .for loops
1686	o var.c: use more practical data type in RegexReplace
1687	(avoid need for %zu)
1688	extract RegexReplace from ModifyWord_SubstRegex
1689
16902021-06-21  Simon J Gerraty  <sjg@beast.crufty.net>
1691
1692	* VERSION (_MAKE_VERSION): 20210621
1693	Merge with NetBSD make, pick up
1694	o var.c: only report error for unmatched regex subexpression
1695	when linting (-dL) since we cannot tell when an unmatched
1696	subexpression is an expected result.
1697	o move unmatched regex subexpression tests to
1698	varmod-subst-regex.mk and enable strict (lint) mode
1699
17002021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
1701
1702	* VERSION (_MAKE_VERSION): 20210616
1703	Merge with NetBSD make, pick up
1704	o more unit tests
1705	o cond.c: rename If_Eval to EvalBare
1706	improve function names for parsing conditions
1707	o job.c: fix error handling of targets that cannot be made
1708	o var.c: uncompress code in ApplyModifier_Unique
1709
17102021-05-18  Simon J Gerraty  <sjg@beast.crufty.net>
1711
1712	* VERSION (_MAKE_VERSION): 20210518
1713	Merge with NetBSD make, pick up
1714	o fix unit-tests/opt-chdir to cope with /nonexistent existing.
1715	o job.c: Print -de error information when running multiple jobs
1716
17172021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
1718
1719	* VERSION (_MAKE_VERSION): 20210420
1720	Merge with NetBSD make, pick up
1721	o use C99 bool type
1722	o convert VarEvalFlags back into an enum
1723	o cond.c: do not complain when skipping the condition 'no >= 10'
1724	o hash.c: avoid allocating memory for simple variable names
1725	o job.c: use distinct wording for writing to the shell commands file
1726	remove type name for the abort status in job handling
1727	rename PrintOutput to PrintFilteredOutput to avoid confusion
1728	o main.c: avoid double slash in name of temporary directory
1729	o var.c: use straight quotes for error 'Bad conditional expression'
1730	reduce memory allocations in the modifiers ':D' and ':U'
1731	rename members of ModifyWord_LoopArgs
1732	clean up pattern flags for the modifiers ':S' and ':C'
1733	reduce memory allocation and strlen calls in modifier ':from=to'
1734	in the ':Q' modifier, only allocate memory if necessary
1735	improve performance for LazyBuf
1736	remove redundant parameter from ParseVarnameLong
1737	migrate ParseModifierPart to use Substring
1738	avoid unnecessary calls to strlen when evaluating modifiers
1739	migrate ModifyWord functions to use Substring
1740	migrate handling of the modifier ':S,from,to,' to Substring
1741	reduce debug logging and memory allocation for ${:U...}
1742	reduce verbosity of the -dv debug logging for standard cases
1743	clean up debug logging for ':M' and ':N'
1744	disallow '$' in the variable name of the modifier ':@'
1745	simplify access to the name of an expression during evaluation
1746
17472021-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
1748
1749	* VERSION (_MAKE_VERSION): 20210330
1750	Merge with NetBSD make, pick up
1751	o replace enum bit-field with struct bit-field for VarEvalFlags
1752	o rename VARE_NONE to VARE_PARSE_ONLY
1753	o var.c: rename ApplyModifiersState to ModChain
1754	fix double varname expansion in the variable modifier '::='
1755	change debug log for variable evaluation flags to lowercase
1756
17572021-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
1758
1759	* VERSION (_MAKE_VERSION): 20210314
1760	Merge with NetBSD make, pick up
1761	o var.c: avoid evaluating many modifiers in parse only mode
1762	in strict mode (-dL) many variable references are parsed twice,
1763	the first time just to report parse errors early, so we want to
1764	avoid side effects and wasted effort to the extent possible.
1765
17662021-02-26  Simon J Gerraty  <sjg@beast.crufty.net>
1767
1768	* VERSION (_MAKE_VERSION): 20210226
1769	Merge with NetBSD make, pick up
1770	o remove freestanding freeIt variables
1771	link via FStr
1772	o var.c: restructure code in ParseVarname to target human readers
1773	improve error message for;
1774	  bad modifier in variable expression
1775	  unclosed modifier
1776	  unknown modifier
1777	remove redundant parameter of ApplySingleModifier
1778	explain non-obvious code around indirect variable modifiers
1779	quote ':S' in error message about missing delimiter
1780	extract ParseModifier_Match into separate function
1781	add context information to error message about ':range' modifier
1782	add quotes around variable name in an error message
1783	reorder code in ModifyWords
1784	use more common parameter order for VarSelectWords
1785	make ModifyWord_Subst a little easier to understand
1786	do not expand variable name from the command line twice
1787	extract ExistsInCmdline from Var_SetWithFlags
1788	save a hash map lookup when defining a cmdline variable
1789	clean up VarAdd, Var_Delete, Var_ReexportVars
1790	use bit-shift expressions for VarFlags constants
1791	rename constants for VarFlags
1792	rename ExprDefined constants for debug logging
1793	rename ExprStatus to ExprDefined
1794	split parameters for evaluating variable expressions
1795	reduce redundant code around ModifyWords
1796	print error about failed shell command before overwriting variable
1797	clean up ValidShortVarname, ParseVarnameShort
1798	rename VarExprStatus to ExprStatus
1799	add functions for assigning the value of an expression
1800	rename ApplyModifiersState_Define to Expr_Define
1801	condense the code for parsing :S and :C modifiers
1802
18032021-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
1804
1805	* VERSION (_MAKE_VERSION): 20210206
1806	Merge with NetBSD make, pick up
1807	o unit-tests: use private TMPDIR to avoid errors from other users
1808
18092021-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
1810
1811	* VERSION (_MAKE_VERSION): 20210205
1812	Merge with NetBSD make, pick up
1813	o avoid strdup in mkTempFile
1814	o always use vfork
1815	o rename context and ctxt to scope
1816	o rename some VAR constants to SCOPE
1817	o Var_ functions, move the scope to the front
1818	o use shortcut functions Global_Set and Global_Append
1819	o add shortcut Global_Delete for deleting a global variable
1820	o rename Var_Delete to Var_DeleteExpand, Var_DeleteVar to Var_Delete
1821	o compat.c: when exiting due to an error, print graph information
1822	o enum.c: remove overengineered Enum_ValueToString
1823	o make.c: remove unused INTERNAL flag
1824	remove unused return type of MakeBuildParent
1825	o parse.c: replace parse error "Need an operator" with better message
1826	o var.c: improve documentation about variable scopes
1827	rename Var_ValueDirect to GNode_ValueDirect
1828	rename old Var_SetWithFlags to Var_SetExpandWithFlags
1829	merge SetVar into Var_SetWithFlags
1830	split Var_Exists into plain Var_Exists and Var_ExistsExpand
1831	split Var_Append into Var_Append and Var_AppendExpand
1832	replace enum bit-set with bit-field
1833	o unit-tests/var-op-shell: use kill rather than kill -14
1834	which broke on darwin with recent update.
1835
18362021-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
1837
1838	* configure.in: check for sig_atomic_t and define it as 'int'
1839	if missing.
1840
1841	* VERSION (_MAKE_VERSION): 20210201
1842	Merge with NetBSD make, pick up
1843	o use sig_atomic_t for caught_sigchld
1844
18452021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
1846
1847	* VERSION (_MAKE_VERSION): 20210130
1848	Merge with NetBSD make, pick up
1849	o more unit tests
1850	o convert SearchPath to struct
1851	o split Buf_Destroy into Buf_Done and Buf_DoneData
1852	o for.c: split For_Eval into separate functions
1853	rename struct For to struct ForLoop
1854	o job.c: do not create empty shell files in jobs mode
1855	rename JobOpenTmpFile to JobWriteShellCommands
1856	reduce unnecessary calls to waitpid
1857	o parse.c: in -dp mode, print stack trace with each diagnostic
1858
18592021-01-23  Simon J Gerraty  <sjg@beast.crufty.net>
1860
1861	* VERSION (_MAKE_VERSION): 20210123
1862	Merge with NetBSD make, pick up
1863	o rename Dir_Expand to SearchPath_Expand
1864	o rename Dir_AddDir, reorder parameters of SearchPath_ToFlags
1865	o cond.c: fix debug output for comparison operators in conditionals
1866	o dir.c: split Dir_FindFile into separate functions
1867
18682021-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
1869
1870	* VERSION (_MAKE_VERSION): 20210120
1871	Merge with NetBSD make, pick up
1872	o fix some more lint nits
1873	o refine some unit tests for portability
1874	o cond.c: rework parsing
1875
18762021-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
1877
1878	* VERSION (_MAKE_VERSION): 20210110
1879	Merge with NetBSD make, pick up
1880	o fix lint warnings
1881	o consistently use boolean expressions in conditions
1882
18832021-01-08  Simon J Gerraty  <sjg@beast.crufty.net>
1884
1885	* VERSION (_MAKE_VERSION): 20210108
1886	Merge with NetBSD make, pick up
1887	o job.c: back to polling token pipe if we want a token
1888	o main.c: always print 'stopped in' on first call
1889	The execption is if we bail because of an abort token
1890	in which case just exit 6.
1891
18922021-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
1893
1894	* VERSION (_MAKE_VERSION): 20210101
1895	Merge with NetBSD make, pick up
1896	o Happy New Year!
1897	o rename CmdOpts.lint to strict
1898	o exit 2 on technical errors
1899	o replace pointers in controlling conditions with booleans
1900	o replace global preserveUndefined with VARE_KEEP_UNDEF
1901	o compat.c: re-export variables from the actual make process
1902	if using vfork this is the effect anyway
1903	o cond.c: clean up VarParseResult constants
1904	o for.c: fix undefined behavior in SubstVarLong
1905	make control flow in SubstVarLong of .for loops more obvious
1906	clean up SubstVarShort in .for loops
1907	extract ForSubstBody from ForReadMore
1908	clean up ForReadMore
1909	simplify termination condition for .for loop
1910	add error handling for .for loop items
1911	job.c: re-export variables from the actual make process
1912	parse.c: remove mmap for loading files, only allow files < 1 GiB
1913	fix edge case in := with undefined in variable name
1914	skip variable expansion in ParseDependencyTargetWord
1915	var.c: split ExportVar into separate functions
1916	clean up code in extracted ExportVar functions
1917	remove dead code from ApplyModifiersIndirect
1918	split Var_Subst into easily understandable functions
1919	clean up VarParseResult constants
1920
19212020-12-25  Simon J Gerraty  <sjg@beast.crufty.net>
1922
1923	* main.c: use .MAKE.DEPENDFILE as set by makefiles
1924
19252020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
1926
1927	* VERSION (_MAKE_VERSION): 20201222
1928	Merge with NetBSD make, pick up
1929	o make DEBUG macro return boolean
1930	o parse.c: fix assertion failure for files without trailing newline
1931	o var.c: allow .undef to undefine multiple variables at once
1932	remove excess newline from parse errors
1933
19342020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
1935
1936	* VERSION (_MAKE_VERSION): 20201221
1937	Merge with NetBSD make, pick up
1938	o some unit-test updates
1939
19402020-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
1941
1942	* VERSION (_MAKE_VERSION): 20201220
1943	Merge with NetBSD make, pick up
1944	o more unit tests
1945	o return FStr from Var_Parse and Var_Value
1946	o spell nonexistent consistently
1947	o add str_basename to reduce duplicate code
1948	o compat.c: fix .ERROR_TARGET in compat -k mode
1949	extract InitSignals from Compat_Run
1950	extract UseShell from Compat_RunCommand
1951	o cond.c: error out if an '.endif' or '.else' contain extraneous text
1952	o for.c: rename ForIterate to ForReadMore
1953	o hash.c: clean up hash function for HashTable
1954	o lst.c: rename Vector.priv_cap to cap
1955	o main.c: remove constant parameter from MakeMode
1956	o make.c: use symbolic time for 0 in Make_Recheck
1957	extract MakeChildren from MakeStartJobs
1958	o parse.c: clean up memory handling in VarAssign_EvalShell, Parse_DoVar
1959	fix error message for .info/.warning/.error without argument
1960	extract Var_Undef from ParseDirective
1961	extract ParseSkippedBranches, ParseForLoop from ParseReadLine
1962	rename mode constants for ParseGetLine to be more expressive
1963	reduce debugging details in Parse_SetInput
1964	fix line numbers in .for loops
1965	split ParseGetLine into separate functions
1966	fix garbled output for failed shell command
1967	var.c: remove redundant assignment in ApplyModifier_SysV
1968	error out on unknown variable modifiers at parse time
1969	remove wrong error message for indirect modifier in lint mode
1970	extract ApplySingleModifier from ApplyModifiers
1971	use FStr for memory management in Var_SetWithFlags
1972	extract SetVar from Var_SetWithFlags
1973	use FStr in VarNew
1974	extract string functions from ApplyModifier_To
1975	error out if .undef has not exactly 1 argument
1976	extract Var_DeleteVar from Var_Delete
1977	extract Var_Undef from ParseDirective
1978	clean up memory management for expanding variable expressions
1979
19802020-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
1981
1982	* avoid %zu
1983
1984	* lst.c: avoid anonymous union
1985
1986	* VERSION (_MAKE_VERSION): 20201212
1987	Merge with NetBSD make, pick up
1988	o more unit tests
1989	o inline Targ_Ignore and Targ_Silent
1990	o split JobFlags into separate fields
1991	o remove const from function parameters (left overs from refactoring)
1992	o eliminate boolean argument of Var_Export
1993	o make API of Buf_Init simpler
1994	o rename ParseRunOptions to ParseCommandFlags
1995	o replace *line with line[0]
1996	o compat.c: fix wrong exit status for multiple failed main targets
1997	refactor Compat_Run to show the error condition more clearly
1998	don't make .END if the main targets already failed (-k mode)
1999	fix exit status in -k mode if a dependency fails
2000	o for.c: clean up Buf_AddEscaped in .for loops
2001	o job.c: extract ShellWriter_ErrOn from JobPrintCommand
2002	make Job_Touch simpler
2003	refactor JobFinish
2004	rename Shell.exitFlag to errFlag
2005	move Job.xtraced to ShellWriter
2006	make printing of shell commands independent from the job
2007	rename shell flags in struct Shell
2008	extract JobOpenTmpFile from JobStart
2009	rename RunFlags to CommandFlags
2010	split various Job.* into separate fields
2011	rename commandShell to shell
2012	extract InitShellNameAndPath from Shell_Init
2013	replace signal handling macros with local functions
2014	replace macro MESSAGE with local function
2015	parse.c: error out on null bytes in makefiles
2016	error out on misspelled directives
2017	rename IFile.nextbuf to readMore
2018	fix undefined behavior in ParseEOF
2019	str.c: remove redundant call to strlen in Str_Words
2020	var.c: error out on misspelled .unexport-env
2021	error out on misspelled .export directives
2022	extract ExportVars from Var_Export
2023	extract ExportVarsExpand from Var_Export
2024	eliminate boolean argument of Var_Export
2025	fix undefined behavior when exporting ${:U }
2026	rename Var_ExportVars to Var_ReexportVars
2027	rename Var_Export1 to ExportVar
2028
20292020-12-06  Simon J Gerraty  <sjg@beast.crufty.net>
2030
2031	* VERSION (_MAKE_VERSION): 20201206
2032	Merge with NetBSD make, pick up
2033	o more unit tests
2034	o inline macros for debug logging
2035	o use consistent variable names for list nodes
2036	o define constants for enum zero-values
2037	o dir.c: use fixed format for debug output of the directory cache
2038	remove Dir_InitDir
2039	o lst.c: inline Lst_Enqueue, Vector_Done
2040	o meta.c: remove unused parameter from meta_needed
2041	o parse.c: rename parse functions
2042	o suff.c: extract ExpandChildrenRegular from ExpandChildren
2043	o targ.c: don't concatenate identifiers in Targ_PrintType
2044	o var.c: remove comment decoration
2045	extract UnexportVars from Var_UnExport
2046	extract GetVarnamesToUnexport from Var_UnExport
2047	extract UnexportEnv from Var_UnExport
2048	extract UnexportVar from Var_UnExport
2049	move CleanEnv to UnexportVars
2050	replace pointer comparisons with enum
2051	add FStr to var.c to make memory handling simpler
2052	use FStr in Var_UnExport
2053	move type definitions in var.c to the top
2054	extract FreeEnvVar from Var_Parse
2055	extract ShuffleStrings from ApplyModifier_Order
2056
20572020-11-30  Simon J Gerraty  <sjg@beast.crufty.net>
2058
2059	* VERSION (_MAKE_VERSION): 20201130
2060	Merge with NetBSD make, pick up
2061	o add unit tests for META MODE
2062	o reduce memory allocation for dirSearchPath, GNode.parents,
2063	GNode.children, OpenDirs
2064	o reduce pointer indirection for GNode.cohorts and
2065	GNode.implicitParents
2066	o remove pointer indirection from GNode.commands
2067	o inline Lst_ForEachUntil in meta mode
2068	o dir.c: fix memory leak for lstat cache in -DCLEANUP mode
2069	clean up memory management for CachedDirs
2070	fix the reference count of dotLast going negative
2071	add debug logging for OpenDirs_Done
2072	extract CacheNewDir from Dir_AddDir
2073	add debug logging for reference counting of CachedDir
2074	rename some Dir functions to SearchPath
2075	o job.c: rename some global variables
2076	o main.c: reduce memory allocation in ReadBuiltinRules
2077	reduce memory allocation in CmdOpts.create, CmdOpts.variables,
2078	CmdOpts.makefiles
2079	Add .MAKE.UID and .MAKE.GID
2080	o make.c: reduce memory allocation for/in toBeMade,
2081	Make_ProcessWait, Make_ExpandUse
2082	o meta.c: reduce memory allocation in meta_oodate
2083	o parse.c: reduce memory allocations for parsing dependencies and
2084	targets
2085	o suff.c: reduce memory allocation in suffix handling
2086
20872020-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
2088
2089	* VERSION (_MAKE_VERSION): 20201124
2090	Merge with NetBSD make, pick up
2091	o .MAKE.{UID,GID} represent uid and gid running make.
2092	o fix error handling for .BEGIN and .END dependency in -k mode
2093	o fix missing "Stop." after failed .END node in -k mode
2094	o use properly typed comparisons in boolean contexts
2095	o replace a few HashTable_CreateEntry with HashTable_Set
2096	o add HashSet type
2097	o compat.c: split Compat_Make into smaller functions
2098	extract DebugFailedTarget from Compat_RunCommand
2099	o dir.c: refactor Dir_UpdateMTime
2100	migrate CachedDir.files from HashTable to HashSet
2101	o make.c: add high-level API for GNode.made
2102
21032020-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
2104
2105	* VERSION (_MAKE_VERSION): 20201122
2106	Merge with NetBSD make, pick up
2107	o rename GNode.context to vars
2108	o suff.c: cleanup and refactor
2109	rename some functions and vars to better reflect usage
2110	add high-level API for CandidateSearcher
2111	o targ.c: add more debug logging for suffix handling
2112	o more unit tests
2113	o add debug logging for setting and resetting the main target
2114
21152020-11-17  Simon J Gerraty  <sjg@beast.crufty.net>
2116
2117	* VERSION (_MAKE_VERSION): 20201117
2118	Merge with NetBSD make, pick up
2119	o fix some unit-tests when .SHELL is dash
2120	o rename Targ_NewGN to GNode_New
2121	o make some GNode functions const
2122	o main.c: call Targ_Init before Var_Init
2123	cleanup PrintOnError, getTmpdir and ParseBoolean
2124	o var.c: fix error message of failed :!cmd! modifier
2125
21262020-11-14  Simon J Gerraty  <sjg@beast.crufty.net>
2127
2128	* VERSION (_MAKE_VERSION): 20201114
2129	Merge with NetBSD make, pick up
2130	o replace a few HashTable_CreateEntry with HashTable_Set
2131	o clean up cached_stats
2132	o rename DEFAULT to defaultNode
2133	o remove redundant struct make_stat
2134	o cond.c: in lint mode, check for ".else <cond>"
2135	use bitset for IfState
2136	replace large switch with if-else in Cond_EvalLine
2137	o job.c: clean up JobExec, JobStart, JobDoOutput
2138	use stderr for error message about failed touch
2139	clean up Job_Touch
2140	replace macro DBPRINTF with JobPrintln
2141	rename JobState to JobStatus
2142	main.c: switch cache for realpath from GNode to HashTable
2143	clean up Fatal
2144	clean up InitDefSysIncPath
2145	use progname instead of hard-coded 'make' in warning
2146	rename Main_SetVarObjdir to SetVarObjdir
2147	make.1: document the -S option
2148	make.c: fix debug output for GNode details
2149	use symbolic names in debug output of GNodes
2150
21512020-11-12  Simon J Gerraty  <sjg@beast.crufty.net>
2152
2153	* configure.in: fix --with-force-machine-arch
2154
2155	* VERSION (_MAKE_VERSION): 20201112
2156	Merge with NetBSD make, pick up
2157	o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable
2158	checks in InitObjdir.  Explicit .OBJDIR target always allows
2159	read-only directory.
2160	o cond.c: clean up Cond_EvalLine
2161
21622020-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
2163
2164	* VERSION (_MAKE_VERSION): 20201111
2165	Merge with NetBSD make, pick up
2166	o more unit-tests
2167	o style cleanup
2168	remove redundant parentheses from sizeof operator
2169	replace character literal 0 with '\0'.
2170	replace pointer literal 0 with NULL.
2171	remove redundant parentheses.
2172	replace (expr & mask) == 0 with !(expr & mask).
2173	use strict typing in conditions of the form !var
2174	o rename Make_OODate to GNode_IsOODate
2175	o rename Make_TimeStamp to GNode_UpdateYoungestChild
2176	o rename Var_Set_with_flags to Var_SetWithFlags
2177	o rename dieQuietly to shouldDieQuietly
2178	o buf.c: make API of Buf_Init simpler
2179	o compat.c: clean up Compat_Make, Compat_RunCommand,
2180	CompatDeleteTarget and CompatInterrupt
2181	o cond.c: in lint mode, only allow '&&' and '||', not '&' and '|'
2182	clean up CondParser_Comparison
2183	o main.c: rename getBoolean and s2Boolean
2184	rename MAKEFILE_PREFERENCE for consistency
2185	o parse.c: replace strstr in ParseMaybeSubMake with optimized code
2186	o var.c: rename VARE_ASSIGN to VARE_KEEP_DOLLAR
2187	replace emptyString with allocated empty string
2188	error out on unclosed expressions after the colon
2189
21902020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
2191
2192	* VERSION (_MAKE_VERSION): 20201101
2193	Merge with NetBSD make, pick up
2194	o negate NoExecute to GNode_ShouldExecute
2195	o job.c: rename JobMatchShell to FindShellByName
2196	extract EscapeShellDblQuot from JobPrintCommand
2197	extract ParseRunOptions from JobPrintCommand
2198	o var.c: extract ApplyModifiersIndirect from ApplyModifiers
2199	treat malformed :range, :ts and :[...] as errors
2200	add tests for the variable modifiers :[words] and :range
2201
22022020-10-31  Simon J Gerraty  <sjg@beast.crufty.net>
2203
2204	* VERSION (_MAKE_VERSION): 20201031
2205	Merge with NetBSD make, pick up
2206	o format #include directives consistently
2207	o do not look up local variables like .TARGET anywhere else
2208	o main.c: Main_SetObjdir is first called for curdir which may be
2209	readonly
2210	reduce the scope where recursive expressions are detected
2211	remove redundant :tl from getBoolean
2212	clean up mkTempFile
2213	o meta.c: simplify memory allocation in meta_create and meta_oodate
2214	o parse.c: extract loadedfile_mmap from loadfile
2215	o trace.c: document possible undefined behavior with .CURDIR
2216	o var.c: make parsing of the :gmtime and :localtime modifiers stricter
2217	rename ismeta to is_shell_metachar
2218	remove debug logging for the :Q variable modifier
2219	rename VarIsDynamic to VarnameIsDynamic
2220	use consistent parameter order in varname parsing functions
2221	extract ParseVarnameLong from Var_Parse
2222	extract ParseVarnameShort from Var_Parse
2223	fix type of ParseModifierPart parameter delim
2224	extract IsEscapedModifierPart from ParseModifierPart
2225	clean up ModifyWords
2226	add test for combining the :@ and :? variable modifiers
2227
22282020-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
2229
2230	* VERSION (_MAKE_VERSION): 20201030
2231	Merge with NetBSD make, pick up
2232	o change char * to void * in Var_Value
2233	o make iterating over HashTable simpler
2234	o rename VAR_CMD to VAR_CMDLINE
2235	o cond.c: clean up is_separator
2236	fix parse error in string literal in conditional
2237	o main.c: do not use objdir that is not writable
2238	in lint mode, exit with error status on errors
2239	o  parse.c: clean up StrContainsWord
2240	fix out-of-bounds pointer in ParseTrackInput
2241	o var.c: rename Str_SYSVMatch and its parameters
2242	remove unsatisfiable conditions in Var_Set_with_flags
2243	document where the variable name is expanded
2244	fix documentation for VARP_SUB_ONE
2245	rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME
2246	document VAR_READONLY
2247	prevent appending to read-only variables
2248	extract MayExport from Var_Export1
2249	remove redundant evaluations in VarFind
2250	replace VarFindFlags with a simple Boolean
2251	rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE
2252
22532020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
2254
2255	* VERSION (_MAKE_VERSION): 20201028
2256	Merge with NetBSD make, pick up
2257	o rename defIncPath to defSysIncPath
2258	o initialize all CmdOpts fields
2259	o lst.c: inline Vector_Get
2260	o main.c: refactor main extract
2261	InitMaxJobs,InitObjdir,InitVarMake,InitRandom,
2262	ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules,
2263	InitDefIncPath,CmdOpts_Init,UnlimitFiles
2264	o parse.c: merge curFile into includes
2265	rename predecessor to order_pred
2266	sort ParseSpecial alphabetically
2267	remove unused, undocumented .NOEXPORT
2268	rename ParseSpecial enum values consistently
2269	rename some fields of struct IFile
2270
22712020-10-26  Simon J Gerraty  <sjg@beast.crufty.net>
2272
2273	* VERSION (_MAKE_VERSION): 20201026
2274	Merge with NetBSD make, pick up
2275	o group the command line options and arguments into a struct
2276	o rename GNode.cmgn to youngestChild
2277	o rename hash functions to identify the type name
2278	o negate OP_NOP and rename it to GNode_IsTarget
2279	o add GNode_Path to access the path of a GNode
2280	o remove macros MIN and MAX
2281	o remove unused Lst_Find and Lst_FindFrom
2282	o arch.c: and make Arch_FindLib simpler
2283	clean up code layout
2284	make Arch_ParseArchive simpler
2285	o cond.c: inline CondFindStrMatch into FuncMake
2286	o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath
2287	omit trailing space in debug output for expanding file patterns
2288	refactor DirMatchFiles
2289	document that the SearchPath of Dir_FindFile may be NULL
2290	remove UNCONST from Dir_Expand
2291	inline DirFindName
2292	o for.c: clean up code for handling .for loops
2293	o hash.c: print hash in debug log with fixed width
2294	clean up hash table functions
2295	reduce amount of string hashing
2296	o job.c: refactor JobDeleteTarget
2297	use proper enum constants for aborting
2298	convert result of JobStart from macros to enum
2299	convert abort reason macros to enum
2300	rework Job_CheckCommands to reduce indentation
2301	rename Shell fields
2302	add field names in declaration of DEFSHELL_CUSTOM
2303	convert JobState and JobFlags to enum types
2304	move handling of the "..." command to JobPrintCommands
2305	o lst.c: clean up
2306	refactor LstNodeNew
2307	remove Lst_Open, Lst_Next, Lst_Close
2308	remove code for circular lists from Lst_Next
2309	o main.c: do not attempt to read .MAKE.DEPENFILE if set to
2310	/dev/null or anything starting with "no"
2311	convert macros for debug flags into enum
2312	o make.c: inline Lst_Copy in Make_ExpandUse
2313	o meta.c: inline Lst_Find in meta_oodate
2314	make Lst_RemoveIf simpler in meta_oodate
2315	o parse.c: convert error level for Parse_Error to an enum
2316	o suff.c: properly terminate debug output with newline
2317	add more details to DEBUG_SRC log
2318	replace Dir_CopyDir with Dir_CopyDirSearchPath
2319	don't modify GNode name while rebuilding the suffix graph
2320	o var.c: reduce duplicate code in VarFind
2321
23222020-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
2323
2324	* VERSION (_MAKE_VERSION): 20201022
2325	Merge with NetBSD make, pick up
2326	o more refactoring and simplification to reduce code size
2327	o var.c: extract CanonicalVarname from VarFind
2328	o make.c: extract UpdateImplicitParentsVars from Make_Update
2329	o main.c: extract PrintVar from doPrintVars
2330	extract HandlePWD from main
2331	o lst.c: inline simple Lst getters
2332	remove unused Lst_ForEach
2333	o job.c: move struct Shell from job.h to job.c
2334	o more unit tests
2335
23362020-10-19  Simon J Gerraty  <sjg@beast.crufty.net>
2337
2338	* configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT
2339
23402020-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
2341
2342	* VERSION (_MAKE_VERSION): 20201018
2343	Merge with NetBSD make, pick up
2344	o remove USE_IOVEC
2345	o rename some Hash_* apis to Hash*
2346	o replace execError with execDie
2347	o rename Lst_Init to Lst_New
2348	o add tags to enum types
2349	o rename Stack to Vector
2350	o parse.c: more refactoring
2351	o unit-tests: make some tests use line buffered stdout
2352	o unit-tests/Makefile: in meta mode do not make all tests depend on
2353	Makefile, it isn't necessary.
2354
23552020-10-10  Simon J Gerraty  <sjg@beast.crufty.net>
2356
2357	* main.c: check for CTL_HW being defined.
2358	* unit-tests/Makefile: ensure export tests output are POSIX compliant
2359	disable opt-debug-jobs test until it works on ubuntu
2360
2361	* VERSION (_MAKE_VERSION): 20201010
2362	Merge with NetBSD make, pick up
2363	o dir.c: remove pathname limit for Dir_FindHereOrAbove
2364	o hash.c: replace strcpy with memcpy in Hash_CreateEntry
2365	o main.c: extract init_machine and init_machine_arch from main
2366	allow to disable debug logging options
2367	o parse.c: enable format string truncation warnings
2368	extract parsing of sources from ParseDoDependency
2369	split ParseDoSrc into smaller functions
2370	hide implementation details from Parse_DoVar
2371	clean up parsing of variable assignments
2372	split Parse_DoVar into manageable pieces
2373	don't modify the given line during Parse_DoVar
2374	fix out-of-bounds memory access in Parse_DoVar
2375	fix parsing of the :sh assignment modifier
2376	o var.c: rework memory allocation for the name of variables
2377	extract ApplyModifier_Literal into separate function
2378	in lint mode, reject modifiers without delimiter
2379	do not export variable names starting with '-'
2380	o fix double-free bug in -DCLEANUP mode
2381	o more cleanup to enable higher warnings level
2382	o more unit tests
2383
23842020-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
2385
2386	* VERSION (_MAKE_VERSION): 20201002
2387	Merge with NetBSD make, pick up
2388	o dir.c: use hash table for looking up open directories by name
2389	o main.c: clean up option handling
2390	o parse.c: add missing const for Parse_AddIncludeDir
2391	o var.c: ApplyModifier_To, update pp in each branch
2392	o remove redundant function prototypes
2393	o more unit tests
2394
23952020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
2396
2397	* VERSION (_MAKE_VERSION): 20201001
2398	Merge with NetBSD make, pick up
2399	o compat.c: comment about "..."
2400
24012020-09-30  Simon J Gerraty  <sjg@beast.crufty.net>
2402
2403	* VERSION (_MAKE_VERSION): 20200930
2404	Merge with NetBSD make, pick up
2405	o job.c: split Job.jobPipe into 2 separate fields
2406	replace Lst_Open with direct iteration
2407	o lst.c: remove redundant assertions
2408	o targ.c: replace Lst_Open with direct iteration
2409	o var.c: fix bug in evaluation of indirect variable modifiers
2410	extract ApplyModifier_Quote into separate function
2411	o make debug logging simpler
2412
24132020-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
2414
2415	* VERSION (_MAKE_VERSION): 20200927
2416	Merge with NetBSD make, pick up
2417	o parse.c: ensure parse errors result in 'stopped in' message.
2418	o compat.c: make parameter of Compat_RunCommand const
2419	o main.c: extract InitVarTarget from main
2420	o parse.c: rename ParseFinishLine to FinishDependencyGroup
2421	refactor ParseDoDependency
2422	o var.c: Var_Subst no longer returns string result
2423	rename Var_ParsePP back to Var_Parse
2424	in lint mode, improve error handling for undefined variables
2425	extract ParseVarname from Var_Parse
2426	o rename Lst_ForEach to Lst_ForEachUntil
2427	o inline Lst_ForEachUntil in several cases
2428	o clean up API for finding and creating GNodes
2429	o fix assertion failure in -j mode with .END node
2430	o inline and remove LstNode_Prev and LstNode_Next
2431	o use fine-grained type names for lists and their nodes
2432	o more unit tests
2433
24342020-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
2435
2436	* VERSION (_MAKE_VERSION): 20200911
2437	Merge with NetBSD make, pick up
2438	o cond.c: split EvalComparison into smaller functions
2439	reorder parameters of condition parsing functions
2440	reduce code size in CondParser_Eval
2441	rename CondGetString to CondParser_String
2442	add CondLexer_SkipWhitespace
2443	group the condition parsing state into a struct
2444	in CondGetString, replace repeated Buf_Add with Buf_AddStr
2445	o migrate Var_Parse to Var_ParsePP
2446	o add wrappers around ctype.h functions
2447	o lst.c: use a stack instead of a list for the nested include path
2448	o more unit tests
2449
24502020-09-04  Simon J Gerraty  <sjg@beast.crufty.net>
2451
2452	* make-bootstrap.sh.in: adjust object list
2453
24542020-09-02  Simon J Gerraty  <sjg@beast.crufty.net>
2455
2456	* VERSION (_MAKE_VERSION): 20200902
2457	Merge with NetBSD make, pick up
2458	o use make_stat to ensure no confusion over valid fields
2459	returned by cached_stat
2460	o var.c: make VarQuote const-correct
2461	o add unit tests for .for
2462
24632020-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
2464
2465	* VERSION (_MAKE_VERSION): 20200901
2466	Merge with NetBSD make, pick up
2467	o rename Hash_Table fields
2468	o make data types in Dir_HasWildcards more precise
2469
24702020-08-31  Simon J Gerraty  <sjg@beast.crufty.net>
2471
2472	* VERSION (_MAKE_VERSION): 20200831
2473	Merge with NetBSD make, pick up
2474	o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds
2475	o lst.c: Lst_Open renable assert that list isn't open
2476	o unit test for .TARGET dependent flags
2477	o var.c: fix aliasing bug in VarUniq
2478	o more unit tests for :u
2479
24802020-08-30  Simon J Gerraty  <sjg@beast.crufty.net>
2481
2482	* VERSION (_MAKE_VERSION): 20200830
2483	Merge with NetBSD make, pick up
2484	o allow for strict type checking for Boolean
2485	o Var_Parse never returns NULL
2486	o Var_Subst never returns NULL
2487	o Lst_Find now takes boolean match function
2488	o rename Lst_Memeber to Lst_FindDatum
2489	o rename LstNode functions to match their type
2490	o rename GNode.iParents to implicitParents
2491	o fix assertion failure for .SUFFIXES in archives
2492	o compat.c: clean up documentation for CompatInterrupt and Compat_Run
2493	remove unreachable code from CompatRunCommand
2494	o main.c: simplify getBoolean
2495	o stc.c: replace brk_string with simpler Str_Words
2496	o suff.c: add debug macros
2497
24982020-08-28  Simon J Gerraty  <sjg@beast.crufty.net>
2499
2500	* VERSION (_MAKE_VERSION): 20200828
2501	Merge with NetBSD make, pick up
2502	o lst.c: inline LstIsValid and LstNodeIsValid
2503	o remove trailing S from Lst function names after migration complete
2504	o more comment cleanup/clarification
2505	o suff.c: clean up suffix handling
2506	o more unit tests
2507
25082020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
2509
2510	* VERSION (_MAKE_VERSION): 20200826
2511	Merge with NetBSD make, pick up
2512	o enum.c: distinguish between bitsets containing flags and
2513	ordinary enums
2514	o var.c: fix error message for ::!= modifier with shell error
2515	o fix bugs in -DCLEANUP mode
2516
25172020-08-24  Simon J Gerraty  <sjg@beast.crufty.net>
2518
2519	* VERSION (_MAKE_VERSION): 20200824
2520	Merge with NetBSD make, pick up
2521	o in debug mode, print GNode details in symbols
2522
25232020-08-23  Simon J Gerraty  <sjg@beast.crufty.net>
2524
2525	* VERSION (_MAKE_VERSION): 20200823
2526	Merge with NetBSD make, pick up
2527	o lst.c: more asserts,
2528	make args to Lst_Find match others.
2529	o var.c: pass flags to VarAdd
2530	o arch.c: use Buffer
2531	o str.c: brk_string return size_t for nwords
2532	o more unit tests
2533
25342020-08-22  Simon J Gerraty  <sjg@beast.crufty.net>
2535
2536	* VERSION (_MAKE_VERSION):
2537	Merge with NetBSD make, pick up
2538	o var.c: support for read-only variables eg .SHELL
2539	being the shell used to run scripts.
2540	o lst.c: more simplification
2541	o more documentation and style cleanup
2542	o more unit tests
2543	o ensure unit-test/Makefile is run by TEST_MAKE
2544	o reduce duplication of header inclusion
2545
25462020-08-21  Simon J Gerraty  <sjg@beast.crufty.net>
2547
2548	* VERSION (_MAKE_VERSION): 20200821
2549	Merge with NetBSD make, pick up
2550	o lst.c: revert invalid assertion - but document it
2551	o dir.c: split Dir_Init into two functions
2552
25532020-08-20  Simon J Gerraty  <sjg@beast.crufty.net>
2554
2555	* lst.c: needs inttypes.h on Linux
2556
2557	* VERSION (_MAKE_VERSION): 20200820
2558	Merge with NetBSD make, pick up
2559	o make.1: clarify some passages
2560	o var.c: more cleanup, clarify comments
2561	o make_malloc.c: remove unreachable code
2562	o cond.c: make CondGetString easier to debug
2563	o simplify list usage
2564	o unit-tests: more
2565
25662020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
2567
2568	* VERSION (_MAKE_VERSION): 20200816
2569	Merge with NetBSD make, pick up
2570	o refactor unit-tests to be more fine grained
2571	  not all tests moved yet
2572
25732020-08-14  Simon J Gerraty  <sjg@beast.crufty.net>
2574
2575	* VERSION (_MAKE_VERSION): 20200814
2576	Merge with NetBSD make, pick up
2577	o more str_concat variants
2578	o more enums for flags
2579	o var.c: cleanup for higher warnings level
2580
25812020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
2582
2583	* VERSION (_MAKE_VERSION): 20200810
2584	Merge with NetBSD make, pick up
2585	o more unit tests
2586	o general comment and style cleanup
2587
25882020-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
2589
2590	* VERSION (_MAKE_VERSION): 20200808
2591	Merge with NetBSD make, pick up
2592	o enum.[ch]: streamline, enums for use in flags and debug output
2593	o cond.c: cleanup
2594	o var.c: reduce duplicate code for modifiers
2595	debug logging for Var_Parse
2596	more detailed debug output
2597	o more unit tests
2598
25992020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
2600
2601	* unit-tests/Makefile: -r for recursive and include Makefile.inc
2602	so I can run tests in meta mode
2603	supress extra noise if in meta mode
2604
2605	* VERSION (_MAKE_VERSION): 20200806
2606	Merge with NetBSD make, pick up
2607	o parse.c: remove VARE_WANTRES for LINT
2608	we just want to check parsing (for now).
2609
26102020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
2611
2612	* VERSION (_MAKE_VERSION): 20200805
2613	Merge with NetBSD make, pick up
2614	o make.1: Rework the description of dependence operators
2615
26162020-08-03  Simon J Gerraty  <sjg@beast.crufty.net>
2617
2618	* VERSION (_MAKE_VERSION): 20200803
2619	Merge with NetBSD make, pick up
2620	o revert some C99 usage, for max portability
2621	o unit-tests/lint
2622
26232020-08-02  Simon J Gerraty  <sjg@beast.crufty.net>
2624
2625	* VERSION (_MAKE_VERSION): 20200802
2626	Merge with NetBSD make, pick up
2627	o more unit tests
2628
26292020-08-01  Simon J Gerraty  <sjg@beast.crufty.net>
2630
2631	* Remove NetBSD specific plumbing from unit-tests/Makefile
2632
2633	* VERSION (_MAKE_VERSION): 20200801
2634	Merge with NetBSD make, pick up
2635	o make Var_Value return const
2636	o size_t for buf sizes
2637	o optimize some buffer operations - avoid strlen
2638
26392020-07-31  Simon J Gerraty  <sjg@beast.crufty.net>
2640
2641	* VERSION (_MAKE_VERSION): 20200731
2642	Merge with NetBSD make, pick up
2643	o var.c: fix undefinded behavior for incomplete :t modifier
2644	  fixes unit-test/moderrs on Ubuntu
2645	o parse.c: When parsing variable assignments other than :=
2646	  if DEBUG(LINT) test substition of value, so we get a file and
2647	  line number in the resulting error.
2648	o dir.c: fix parsing of nested braces in dependency lines
2649	  add unit-tests
2650
26512020-07-30  Simon J Gerraty  <sjg@beast.crufty.net>
2652
2653	* VERSION (_MAKE_VERSION): 20200730
2654	Merge with NetBSD make, pick up
2655	o var.c: minor cleanup
2656	o unit-tests: more tests to improve code coverage
2657
26582020-07-28  Simon J Gerraty  <sjg@beast.crufty.net>
2659
2660	* VERSION (_MAKE_VERSION): 20200728
2661	Merge with NetBSD make, pick up
2662	o var.c: more optimizations
2663
26642020-07-26  Simon J Gerraty  <sjg@beast.crufty.net>
2665
2666	* VERSION (_MAKE_VERSION): 20200726
2667	Merge with NetBSD make, pick up
2668	o collapse lsd.lib into lst.c - reduce code size and allow inlining
2669	o lots of function comment updates
2670	o var.c: more optimizations
2671	o make return of Var_Parse const
2672
26732020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
2674
2675	* VERSION (_MAKE_VERSION): 20200720
2676	Merge with NetBSD make, pick up
2677	o DEBUG_HASH report stats at end and tone down the noise
2678	o var.c: each flag type gets its own prefix.
2679	move SysV string matching to var.c
2680	make ampersand in ${VAR:from=to&} an ordinary character
2681	cleanup and simplify implementation of modifiers
2682	o make.1: move documentation for assignment modifiers
2683
26842020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
2685
2686	* VERSION (_MAKE_VERSION): 20200718
2687	Merge with NetBSD make, pick up
2688	o DEBUG_HASH to see how well the hash tables are working
2689
26902020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
2691
2692	* bsd.after-import.mk: make sure we update unit-tests/Makefile
2693
26942020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
2695
2696	* configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC
2697
2698	* VERSION (_MAKE_VERSION): 20200710
2699	Merge with NetBSD make, pick up
2700	o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall
2701	o meta.c: target flagged .META is out-of-date if meta file missing
2702
27032020-07-09  Simon J Gerraty  <sjg@beast.crufty.net>
2704
2705	* VERSION (_MAKE_VERSION): 20200709
2706	Merge with NetBSD make, pick up
2707	o cond.c: fix for compare_expression when doEval=0
2708	o unit-tests/Makefile: rework
2709	o filemon/filemon_dev.c: ensure filemon fd is closed on exec.
2710
27112020-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
2712
2713	* VERSION (_MAKE_VERSION): 20200704
2714	Merge with NetBSD make, pick up
2715	(most of this by rillig@)
2716	o lots of style and white-space cleanup
2717	o lots more unit tests for variable modifiers
2718	o simplified description of some functions
2719	o str.c: refactor Str_Match
2720	o var.c: debugging output for :@
2721	  constify VarModify parameter
2722	  fix :hash modifier on 16-bit platforms
2723	  remove unnecessary forward declarations
2724	  refactor ApplyModifier_SysV to have less indentation
2725	  simplify code for :E and :R
2726	  clean up code for :H and :T
2727	  refactor ApplyModifiers
2728
2729	* var.c: we need stdint.h on some platforms to get uint32_t
2730	* unit-test/Makefile: we need to supress the specific error
2731	for RE substitution error in modmisc, since it varies accross
2732	different OS.
2733
27342020-07-02  Simon J Gerraty  <sjg@beast.crufty.net>
2735
2736	* VERSION (_MAKE_VERSION): 20200702
2737	Merge with NetBSD make, pick up
2738	o var.c: more improvements to avoiding unnecessary evaluation
2739	use enums for flags
2740	o remove flags arg to Var_Set which outside of var.c is always 0
2741
27422020-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
2743
2744	* VERSION (_MAKE_VERSION): 20200701
2745	Merge with NetBSD make, pick up
2746	o var.c: with change to cond.c; ensure that nested variables
2747	within a variable name are expanded.
2748	o unit-tests/varmisc.mk: test for nested varname
2749
27502020-06-29  Simon J Gerraty  <sjg@beast.crufty.net>
2751
2752	* VERSION (_MAKE_VERSION): 20200629
2753	Merge with NetBSD make, pick up
2754	o cond.c: do not eval unnecessary terms of conditionals.
2755
27562020-06-25  Simon J Gerraty  <sjg@beast.crufty.net>
2757
2758	* VERSION (_MAKE_VERSION): 20200625
2759	Merge with NetBSD make, pick up
2760	o meta.c: report error if lseek in filemon_read fails
2761
27622020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
2763
2764	* VERSION (_MAKE_VERSION): 20200622
2765	Merge with NetBSD make, pick up
2766	o dieQuietly: ignore OP_SUBMAKE as too aggressive
2767
27682020-06-19  Simon J Gerraty  <sjg@beast.crufty.net>
2769
2770	* VERSION (_MAKE_VERSION): 20200619
2771	Merge with NetBSD make, pick up
2772	o str.c: performance improvement for Str_Match for multiple '*'
2773	o dieQuietly: supress the failure output from make
2774	when failing node is a sub-make or a sibling failed.
2775	This cuts down greatly on unhelpful noise at the end of
2776	build log.  Disabled by -dj or .MAKE.DIE_QUIETLY=no
2777
27782020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
2779
2780	* FILES: add LICENSE to appease some packagers.
2781	This is an attempt to fairly represent the license on almost
2782	200 files, which are almost all BSD-3-Clause
2783	The few exceptions being more liberal.
2784
2785	* VERSION (_MAKE_VERSION): 20200610
2786	Merge with NetBSD make, pick up
2787	o unit test for :Or
2788
27892020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
2790
2791	* VERSION (_MAKE_VERSION): 20200606
2792	Merge with NetBSD make, pick up
2793	o make.1: cleanup
2794
2795	* Makefile: fix depends for main.o which broke MAKE_VERSION
2796
27972020-06-05  Simon J Gerraty  <sjg@beast.crufty.net>
2798
2799	* VERSION (_MAKE_VERSION): 20200605
2800	Merge with NetBSD make, pick up
2801	o dir.c: cached_stats - don't confuse stat and lstat results.
2802	o var.c: add :Or for reverse sort.
2803
28042020-05-24  Simon J Gerraty  <sjg@beast.crufty.net>
2805
2806	* configure.in: add AC_PROG_CC_C99 for mipspro compiler
2807	also if --with-filemon= specifies path to filemon.h
2808	set use_filemon=dev
2809	* dirname.c: remove include of namespace.h
2810
28112020-05-17  Simon J Gerraty  <sjg@beast.crufty.net>
2812
2813	* VERSION (_MAKE_VERSION): 20200517
2814	Merge with NetBSD make, pick up
2815	o modified dollar tests to avoid shell dependencies
2816	o new tests for .INCLUDEFROM
2817
28182020-05-16  Simon J Gerraty  <sjg@beast.crufty.net>
2819
2820	* unit-tests/dollar.mk: tweak  '1 dollar literal' test
2821	to not depend so much on shell behavior
2822
28232020-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
2824
2825	* VERSION (_MAKE_VERSION): 20200510
2826	Merge with NetBSD make, pick up
2827	o unit test for dollar handling
2828
28292020-05-06  Simon J Gerraty  <sjg@beast.crufty.net>
2830
2831	* VERSION (_MAKE_VERSION): 20200506
2832	Merge with NetBSD make, pick up
2833	o str.c: empty string does not match % pattern
2834	  plus unit-test changes
2835
28362020-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
2837
2838	* VERSION (_MAKE_VERSION): 20200504
2839	May the 4th be with you
2840	Merge with NetBSD make, pick up
2841	o var.c: import handling of old sysV style modifier using '%'
2842	o str.c: refactor brk_string
2843	o unit-tests: add test case for lazy conditions
2844
28452020-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
2846
2847	* VERSION (_MAKE_VERSION): 20200418
2848
2849	* configure.in: use_makefile=no for Cygwin et al.
2850	case insensitive filesystems just don't work if both
2851	makefile and Makefile exist.
2852	NOTE: bmake does not support Cygwin and likely never will,
2853	but if brave souls want to try it - help them out.
2854
28552020-04-02  Simon J Gerraty  <sjg@beast.crufty.net>
2856
2857	* VERSION (_MAKE_VERSION): 20200402
2858	Merge with NetBSD make, pick up
2859	o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD
2860	  a blank command is perfectly valid.
2861
28622020-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
2863
2864	* VERSION (_MAKE_VERSION): 20200330
2865	Merge with NetBSD make, pick up
2866	o make.h: extern debug_file
2867
28682020-03-18  Simon J Gerraty  <sjg@beast.crufty.net>
2869
2870	* VERSION (_MAKE_VERSION): 20200318
2871	Merge with NetBSD make, pick up
2872	o meta.c: meta_oodate, check for corrupted meta file
2873	  earlier and more often.
2874
28752020-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
2876
2877	* VERSION (_MAKE_VERSION): 20200220
2878
28792020-02-19  Simon J Gerraty  <sjg@beast.crufty.net>
2880
2881	* boot-strap: unset MAKEFLAGS
2882
28832020-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
2884
2885	* VERSION (_MAKE_VERSION): 20200212
2886	* meta.c: meta_compat_parent check for USE_FILEMON
2887	  patch from Soeren Tempel
2888
28892020-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
2890
2891	* VERSION: 20200205
2892	Merge with NetBSD make, pick up
2893	o meta.c: fix compat mode, need to call meta_job_output()
2894	o job.c: extra fds for meta mode not needed if using filemon_dev
2895
28962020-01-22  Simon J Gerraty  <sjg@beast.crufty.net>
2897
2898	* VERSION: 20200122
2899	Merge with NetBSD make, pick up
2900	o meta.c: avoid passing NULL to filemon_*() when meta_needed()
2901	  returns FALSE.
2902
29032020-01-21  Simon J Gerraty  <sjg@beast.crufty.net>
2904
2905	* VERSION: 20200121
2906	Merge with NetBSD make, pick up
2907	o filemon/filemon_{dev,ktrace}.c: allow selection of
2908	  filemon implementation.  filemon_dev.c uses the kernel module
2909	  while filemon_ktrace.c leverages the fktrace api available in
2910	  NetBSD.  filemon_ktrace.c can hopefully form the basis for
2911	  adding support for other tracing mechanisms such as strace on
2912	  Linux.
2913	o meta.c: when target is out-of-date per normal make rules
2914	  record value of .OODATE in meta file.
2915
29162019-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
2917
2918	* VERSION: 20190926
2919	  Merge with NetBSD make, pick up
2920	  o parse.c: don't pass NULL to realpath(3)
2921	    some versions cannot handle it.
2922
29232019-04-09  Simon J Gerraty  <sjg@beast.crufty.net>
2924
2925	* VERSION: 20190409
2926	  Merge with NetBSD make, pick up
2927	  o parse.c: ParseDoDependency: free paths rather than assert
2928
29292018-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
2930
2931	* VERSION: 20181222
2932
2933	* configure.in: add --without-makefile to avoid generating
2934	  makefile and make-bootstrap.sh
2935
2936	* include Makefile.inc if it exists
2937
2938	* Use Makefile and Makefile.config.in in unit-tests
2939	  so we can use just: make obj && make && make test
2940	  when bmake is already available.
2941	  We add --without-makefile to CONFIGURE_ARGS in this case.
2942
2943	* tweak bsd.after-import.mk (captures Makefile.config etc
2944	  after import to FreeBSD for example) to cope with all the above.
2945
29462018-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
2947
2948	* VERSION: 20181221
2949	  Merge with NetBSD make, pick up
2950	  o parse.c: ParseVErrorInternal use .PARSEDIR
2951	    and apply if relative, and then use .PARSEFILE
2952	    for consistent result.
2953
29542018-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
2955
2956	* VERSION: 20181220
2957	  Merge with NetBSD make, pick up
2958	  o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR
2959	    is relative
2960	  o var.c: avoid SEGFAULT in .unexport-env
2961	    when MAKELEVEL is not set
2962
29632018-12-16  Simon J Gerraty  <sjg@beast.crufty.net>
2964
2965	* VERSION: 20181216
2966	  Merge with NetBSD make, pick up
2967	  o fix for unit-tests/varquote.mk on Debian
2968
29692018-09-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2970
2971	* VERSION: 20180919
2972	  Merge with NetBSD make, pick up
2973	  o var.c: add :q
2974	  o dir.c: cleanup caching of stats
2975
29762018-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
2977
2978	* Makefile.config.in: use += where it makes sense.
2979
29802018-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2981
2982	* VERSION: 20180512
2983	  Merge with NetBSD make, pick up
2984	  o job.c: skip polling job token pipe
2985
29862018-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2987
2988	* VERSION: 20180405
2989	  Merge with NetBSD make, pick up
2990	  o parse.c: be more cautious about detecting depenency line
2991	    rather than sysV style include.
2992
29932018-02-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2994
2995	* VERSION: 20180222
2996	  Merge with NetBSD make, pick up
2997	  o parse.c: avoid calling sysconf for every call to loadfile
2998
29992018-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3000
3001	* VERSION: 20180218
3002	  Merge with NetBSD make, pick up
3003	  o var.c: Var_Set handle NULL value anytime.
3004
30052018-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3006
3007	* VERSION: 20180212
3008	  Merge with NetBSD make, pick up
3009	  o parse.c: do not treat .info as warning with -W
3010
30112017-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3012
3013	* VERSION: 20171207
3014	  Merge with NetBSD make, pick up
3015	  o var.c: Var_Append use Var_Set if var not previously set
3016	    so that VAR_CMD is handled correctly.
3017	    Add a suitable unit-test.
3018
30192017-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3020
3021	* VERSION (_MAKE_VERSION): 20171126
3022
3023	* aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
3024	  since AC_TRY_COMPILE puts input inside main()
3025	  which upsets modern compilers.
3026
30272017-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3028
3029	* VERSION: 20171118
3030	  Merge with NetBSD make, pick up
3031	  o var.c: do not append to variable set on command line
3032	    add unit-test to catch this.
3033
30342017-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3035
3036	* VERSION: 20171028
3037	  Merge with NetBSD make, pick up
3038	  o main.c: ignore empty MAKEOBJDIR
3039
3040	* Makefile.config.in:
3041	  make @prefix@ @machine*@ and @default_sys_path@ defaults.
3042
30432017-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3044
3045	* VERSION: 20171005
3046
3047	* unit-tests/dotwait.mk: redirect stderr through pipe for more
3048	  consistent result on some platforms.
3049
30502017-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3051
3052	* machine.sh: entry for AIX
3053
30542017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3055
3056	* VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
3057	  to a file that can be included by configure as well as make.
3058	  This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
3059
30602017-08-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3061
3062	* Makefile (_MAKE_VERSION): 20170810
3063	  Merge with NetBSD make, pick up
3064	  o meta.c: if target is in subdir we only need subdir name in
3065	    meta_name.
3066
30672017-07-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3068
3069	* Makefile (_MAKE_VERSION): 20170720
3070	  Merge with NetBSD make, pick up
3071	  o compat.c: pass SIGINT etc onto child and wait for it to exit
3072	    before we self-terminate.
3073
30742017-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3075
3076	* Makefile (_MAKE_VERSION): 20170711
3077	  forgot to update after merge on 20170708 ;-)
3078	  o main.c: refactor to reduce size of main function.
3079	    add -v option to always fully expand values.
3080	  o meta.c: ensure command output in meta file has ending newline
3081	    even when filemon not being used.
3082	    When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
3083	    pathname via ':L' since any ':' in pathname breaks that.
3084	    Instead set a '${.p.}' to pathname in the target context and
3085	    use that.
3086
30872017-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3088
3089	* Makefile (_MAKE_VERSION): 20170510
3090	  Merge with NetBSD make, pick up
3091	  o main.c: Main_SetObjdir: ensure buf2 is in scope
3092
30932017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
3094
3095	* Makefile (_MAKE_VERSION): 20170505
3096	  see mk/ChangeLog
3097
30982017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3099
3100	* parse.c: not everyone has stdint.h
3101
31022017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3103
3104	* Makefile (_MAKE_VERSION): 20170501
3105	  see mk/ChangeLog
3106
31072017-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
3108
3109	* Makefile (_MAKE_VERSION): 20170421
3110	  Merge with NetBSD make, pick up
3111	  o str.c: Str_Match: fix closure tests for [^] and add unit-test.
3112
31132017-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3114
3115	* Makefile (_MAKE_VERSION): 20170420
3116	  Merge with NetBSD make, pick up
3117	  o main.c: only use -C arg "as is" if it contains no
3118	    relative component.
3119
31202017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3121
3122	* Makefile (_MAKE_VERSION): 20170418
3123	  Merge with NetBSD make, pick up
3124	  o main.c: fix Main_SetObjdir() for relative paths (eg obj).
3125
31262017-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
3127
3128	* Makefile (_MAKE_VERSION): 20170417
3129	  Merge with NetBSD make, pick up
3130	  o fixes a number of coverity complaints
3131	    - check return value of fseek, fcntl
3132	    - plug memory leak in Dir_FindFile, Var_LoopExpand,
3133	      JobPrintCommand, ParseTraditionalInclude
3134	    - use bmake_malloc() where NULL is not tollerated
3135	    - use MAKE_ATTR_UNUSED rather that kludges like
3136	      return(unused ? 0 : 0)
3137	    - use purge_cached_realpaths() rather than abuse cached_realpath()
3138
31392017-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3140
3141	* Makefile (_MAKE_VERSION): 20170413
3142	  Merge with NetBSD make, pick up
3143	  o main.c: when setting .OBJDIR ignore '$' in paths.
3144
3145	* job.c: use MALLOC_OPTIONS to set malloc_options.
3146
31472017-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3148
3149	* Makefile (_MAKE_VERSION): 20170411
3150	  Merge with NetBSD make, pick up
3151	  o str.c: Str_Match: allow [^a-z] to behave as expected.
3152
31532017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3154
3155	* Makefile (_MAKE_VERSION): 20170326
3156	  Merge with NetBSD make, pick up
3157	  o main.c: purge relative paths from realpath cache when .OBJDIR
3158	    is changed.
3159
31602017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3161
3162	* Makefile (_MAKE_VERSION): 20170311
3163	  Merge with NetBSD make, pick up
3164          o main.c: only use -C arg "as is" if it starts with '/'.
3165
31662017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3167
3168	* Makefile (_MAKE_VERSION): 20170301
3169	  Merge with NetBSD make, pick up
3170	  o main.c: use -C arg "as is" rather than getcwd()
3171	    if they identify the same directory.
3172	  o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
3173
31742017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3175
3176	* Makefile (_MAKE_VERSION): 20170201
3177	  Merge with NetBSD make, pick up
3178	  o var.c: allow :_=var and avoid use of special context.
3179
31802017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3181
3182	* Makefile (_MAKE_VERSION): 20170130
3183	  Merge with NetBSD make, pick up
3184	  o var.c: add :range and :_
3185	  o main.c: partially initialize Dir_* before MainParseArgs()
3186	    can be called.
3187	    If -V, skip Main_ExportMAKEFLAGS()
3188
31892017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
3190
3191	* Makefile (_MAKE_VERSION): 20170114
3192	  Merge with NetBSD make, pick up
3193	  o var.c: allow specifying the utc value used by :{gm,local}time
3194
31952016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3196
3197	* Makefile (_MAKE_VERSION): 20161212
3198	  Merge with NetBSD make, pick up
3199          o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
3200
32012016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3202
3203	* Makefile (_MAKE_VERSION): 20161209
3204	  Merge with NetBSD make, pick up
3205	  o main.c: cleanup setting of .OBJDIR
3206	  o parse.c: avoid coredump from (var)=val
3207
32082016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3209
3210	* Makefile (_MAKE_VERSION): 20161126
3211	  Merge with NetBSD make, pick up
3212	  o make.c: Make_OODate: report src node name if path not set
3213
32142016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3215
3216	* Makefile (_MAKE_VERSION): 20160926
3217	  Merge with NetBSD make, pick up
3218	  o support for .DELETE_ON_ERROR: (remove targets that fail)
3219
32202016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3221
3222	* Makefile MAN: tweak .Dt to match ${PROG}
3223
32242016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3225
3226	* Makefile (_MAKE_VERSION): 20160818
3227	  its a neater number; pick up whitespace fixes to man page.
3228
32292016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
3230
3231	* Makefile (_MAKE_VERSION): 20160817
3232	  Merge with NetBSD make, pick up
3233	  o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
3234	    so we can call it before adding entries to missingFiles.
3235	    Thus we do not track files we have been told to ignore.
3236
32372016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
3238
3239	* Makefile (_MAKE_VERSION): 20160815
3240	  Merge with NetBSD make, pick up
3241	  o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
3242	    pathnames, and skip if the expansion is empty.
3243	    Useful for dirdeps.mk when checking DIRDEPS_CACHE.
3244
32452016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3246
3247	* Makefile (_MAKE_VERSION): 20160812
3248	  Merge with NetBSD make, pick up
3249	  o meta.c: remove all missingFiles entries that match a deleted
3250	    dir.
3251	  o main.c: set .ERROR_CMD if possible.
3252
32532016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3254
3255	* Makefile (_MAKE_VERSION): 20160606
3256	  Merge with NetBSD make, pick up
3257	  o dir.c: extend mtimes cache to others via cached_stat()
3258
32592016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3260
3261	* Makefile (_MAKE_VERSION): 20160604
3262	  Merge with NetBSD make, pick up
3263	  o meta.c: missing filemon data is only relevant if we read a
3264	    meta file.
3265	    Also do not return oodate for a missing metafile if gn->path
3266	    points to .CURDIR
3267
32682016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3269
3270	* Makefile (_MAKE_VERSION): 20160602
3271	  Merge with NetBSD make, pick up
3272	  o cached_realpath(): avoid hitting filesystem more than necessary.
3273	  o meta.c: refactor need_meta decision, add knobs for
3274	    missing meta file and filemon data wrt out-of-datedness.
3275
32762016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3277
3278	* Makefile (_MAKE_VERSION): 20160528
3279
3280	* boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
3281
32822016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3283
3284	* Makefile (_MAKE_VERSION): 20160512
3285	  Merge with NetBSD make, pick up
3286	  o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
3287	    this is useful for gcov builds.
3288	  o propagate errors from filemon(4).
3289
32902016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3291
3292	* Makefile (_MAKE_VERSION): 20160509
3293	  Merge with NetBSD make, pick up
3294	  o remove use of non-standard types u_int etc.
3295	  o meta.c: apply realpath() before matching against metaIgnorePaths
3296
32972016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3298
3299	* Makefile (_MAKE_VERSION): 20160404
3300	  Merge with NetBSD make, pick up
3301	  o allow makefile to set .MAKE.JOBS
3302
3303	* Makefile (PROG_NAME): use ${_MAKE_VERSION}
3304
33052016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
3306
3307	* Makefile (_MAKE_VERSION): 20160315
3308	  Merge with NetBSD make, pick up
3309	  o fix handling of archive members
3310
33112016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3312
3313	* Makefile (_MAKE_VERSION): rename variable to avoid interference
3314	  with checks for ${MAKE_VERSION}
3315
33162016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3317
3318	* Makefile (MAKE_VERSION): 20160310
3319	  Merge with NetBSD make, pick up
3320	  o meta.c: treat missing Read file same as Write, incase we Delete it.
3321
33222016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3323
3324	* Makefile (MAKE_VERSION): 20160307
3325	  Merge with NetBSD make, pick up
3326	  o var.c: fix :ts\nnn to be octal by default.
3327	  o meta.c: meta_finish() to cleanup memory.
3328
33292016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3330
3331	* Makefile (MAKE_VERSION): 20160226
3332	  Merge with NetBSD make, pick up
3333	  o meta.c: allow meta file for makeDepend if makefiles want it.
3334
33352016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
3336
3337	* var.c: default .MAKE.SAVE_DOLLARS to FALSE
3338	  for backwards compatability.
3339
3340	* Makefile (MAKE_VERSION): 20160220
3341	  Merge with NetBSD make, pick up
3342	  o var.c: add knob to control handling of '$$' in :=
3343
33442016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3345
3346	* Makefile (MAKE_VERSION): 20160218
3347	  Merge with NetBSD make, pick up
3348	  o var.c: add .export-literal allows us to fix sys.clean-env.mk
3349	    post the changes to Var_Subst.
3350	    Var_Subst now takes flags, and does not consume '$$' in :=
3351
33522016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
3353
3354	* Makefile (MAKE_VERSION): 20160217
3355	  Merge with NetBSD make, pick up
3356	  o var.c: preserve '$$' in :=
3357	  o parse.c: add .dinclude for handling included
3358	    makefile like .depend
3359
33602015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3361
3362	* Makefile (MAKE_VERSION): 20151220
3363	  Merge with NetBSD make, pick up
3364	  o suff.c: re-initialize suffNull when clearing suffixes.
3365
33662015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3367
3368	* Makefile (MAKE_VERSION): 20151201
3369	  Merge with NetBSD make, pick up
3370	  o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
3371	  o meta.c: meta_oodate: use lstat(2) for checking link target
3372	    in case it is a symlink.
3373	  o var.c: avoid calling brk_string and Var_Export1 with empty
3374	    strings.
3375
33762015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3377
3378	* Makefile (MAKE_VERSION): 20151126
3379	  Merge with NetBSD make, pick up
3380	  o parse.c: ParseTrackInput don't access beyond
3381	    end of old value.
3382
33832015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3384
3385	* Makefile (MAKE_VERSION): 20151022
3386
3387	* Add support for BSD/OS which lacks inttypes.h
3388	  and really needs sys/param.h for sys/sysctl.h
3389	  also 'type' is not a shell builtin.
3390
3391	* var.c: eliminate uint32_t and need for inttypes.h
3392
3393	* main.c: PrintOnError flush stdout before run .ERROR
3394
3395	* parse.c: cope with _SC_PAGESIZE not being defined.
3396
3397
33982015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3399
3400	* Makefile (MAKE_VERSION): 20151020
3401	  Merge with NetBSD make, pick up
3402	  o var.c: fix uninitialized var
3403
34042015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3405
3406	* var.c: the conditional expressions used with ':?' can be
3407	expensive, if already discarding do not evaluate or expand
3408	anything.
3409
34102015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3411
3412	* Makefile (MAKE_VERSION): 20151010
3413	  Merge with NetBSD make, pick up
3414	  o Add Boolean wantit flag to Var_Subst and Var_Parse
3415	    when FALSE we know we are discarding the result and can
3416	    skip operations like Cmd_Exec.
3417
34182015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3419
3420	* Makefile (MAKE_VERSION): 20151009
3421	  Merge with NetBSD make, pick up
3422	  o var.c: don't check for NULL before free()
3423	  o meta.c: meta_oodate, do not hard code ignore of makeDependfile
3424
34252015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3426
3427	* Makefile (MAKE_VERSION): 20150910
3428	  Merge with NetBSD make, pick up
3429	  o main.c: with -w print Enter/Leaving messages for objdir too
3430	    if necessary.
3431	  o centralize shell metachar handling
3432
3433	* FILES: add metachar.[ch]
3434
34352015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3436
3437	* Makefile (MAKE_VERSION): 20150606
3438	  Merge with NetBSD make, pick up
3439	  o make.1: document .OBJDIR target
3440
34412015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3442
3443	* Makefile (MAKE_VERSION): 20150505
3444	  Merge with NetBSD make, pick up
3445	  o cond.c: be strict about lhs of comparison when evaluating .if
3446	    but less so when called from variable expansion.
3447	  o unit-tests/cond2.mk: test various error conditions
3448
34492015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3450
3451	* machine.sh (MACHINE): Add Bitrig
3452	  patch from joerg@netbsd.org
3453
34542015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3455
3456	* Makefile (MAKE_VERSION): 20150418
3457	  Merge with NetBSD make, pick up
3458	  o job.c: use memmove() rather than memcpy()
3459
3460	* unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
3461	  case, so skip it.
3462
34632015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3464
3465	* Makefile (MAKE_VERSION): 20150411
3466	  bump version - only mk/ changes.
3467
34682015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3469
3470	* Makefile (MAKE_VERSION): 20150410
3471	  Merge with NetBSD make, pick up
3472	  o document different handling of '-' in jobs mode vs compat
3473	  o fix jobs mode so that '-' only applies to whole job
3474	    when shell lacks hasErrCtl
3475	  o meta.c: use separate vars to track lcwd and latestdir (read)
3476	    per process
3477
34782015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3479
3480	* Makefile (MAKE_VERSION): 20150401
3481	  Merge with NetBSD make, pick up
3482	  o meta.c: close meta file in child
3483
3484	* Makefile: use BINDIR.bmake if set.
3485	  Same for MANDIR and SHAREDIR
3486	  Handy for testing release candidates
3487	  in various environments.
3488
34892015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3490
3491	* move initialization of savederr to block where it is used
3492	  to avoid spurious warning from gcc5
3493
34942014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3495
3496	* Makefile (MAKE_VERSION): 20141111
3497	  just a cooler number
3498
34992014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3500
3501	* Makefile (MAKE_VERSION): 20141105
3502	  Merge with NetBSD make, pick up
3503	  o revert major overhaul of suffix handling
3504	    and POSIX compliance - too much breakage
3505	    and impossible to make backwards compatible.
3506	  o we still have the new unit test structure which is ok.
3507	  o meta.c ensure "-- filemon" is at start of line.
3508
35092014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
3510
3511	* configure.in: test that result of getconf PATH_MAX is numeric
3512	  and discard if not.  Apparently needed for Hurd.
3513
35142014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3515
3516	* Makefile (MAKE_VERSION): 20140830
3517	  Merge with NetBSD make, pick up
3518	  o major overhaul of suffix handling
3519	  o improved POSIX compliance
3520	  o overhauled unit-tests
3521
35222014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3523
3524	* Makefile (MAKE_VERSION): 20140620
3525	  Merge with NetBSD make, pick up
3526	  o var.c return varNoError rather than var_Error for ::= modifiers.
3527
35282014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3529
3530	* Makefile (MAKE_VERSION): 20140522
3531	  Merge with NetBSD make, pick up
3532	  o var.c detect some parse errors.
3533
35342014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3535
3536	* Fix spelling errors - patch from Pedro Giffuni
3537
35382014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
3539
3540	* Makefile (MAKE_VERSION): 20140214
3541	  Merge with NetBSD make, pick up
3542	  o .INCLUDEFROM*
3543	  o use Var_Value to get MAKEOBJDIR[PREFIX]
3544	  o reduced realloc'ign in brk_string.
3545	* configure.in: add a check for compiler supporting __func__
3546
35472014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
3548
3549	* boot-strap: ignore mksrc=none
3550
35512014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3552
3553	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
3554
35552014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3556
3557	* Makefile (MAKE_VERSION): 20140101
3558	* configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
3559	* Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
3560	* make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
3561	  Hurd)
3562	* configure.in: Add AC_PREREQ and check for
3563	  sysctl; patch from Andrew Shadura andrewsh at debian.org
3564
35652013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
3566
3567	* Makefile (MAKE_VERSION): 20131010
3568	* lose the const from arg to systcl to avoid problems on older BSDs.
3569
35702013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3571
3572	* Makefile (MAKE_VERSION): 20131001
3573	  Merge with NetBSD make, pick up
3574	  o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
3575	    hw.machine_arch if necessary.
3576	  o meta.c: meta_oodate - need to look at src of Link and target
3577	    of Move as well.
3578	* main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
3579	  provide __arraycount() if needed.
3580
35812013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3582
3583	* Makefile (MAKE_VERSION): 20130904
3584	  Merge with NetBSD make, pick up
3585	  o Add VAR_INTERNAL context, so that internal setting of
3586	    MAKEFILE does not override value set by makefiles.
3587
35882013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3589
3590	* Makefile (MAKE_VERSION): 20130902
3591	  Merge with NetBSD make, pick up
3592	  o CompatRunCommand: only apply shellErrFlag when errCheck is true
3593
35942013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3595
3596	* Makefile (MAKE_VERSION): 20130828
3597	  Merge with NetBSD make, pick up
3598	  o Fix VAR :sh = syntax from Will Andrews at freebsd.org
3599	  o Call Job_SetPrefix() from Job_Init() so makefiles have
3600	    opportunity to set .MAKE.JOB.PREFIX
3601
36022013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3603
3604	* Makefile (MAKE_VERSION): 20130730
3605	  Merge with NetBSD make, pick up
3606	  o Allow suppression of --- job -- tokens by setting
3607	    .MAKE.JOB.PREFIX empty.
3608
36092013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
3610
3611	* Makefile (MAKE_VERSION): 20130716
3612	  Merge with NetBSD make, pick up
3613	  o number of gmake compatibility tweaks
3614	    -w for gmake style entering/leaving messages
3615	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
3616	    handle MAKEFLAGS containing only letters.
3617	  o when overriding a GLOBAL variable on the command line,
3618	    delete it from GLOBAL context so -V doesn't show the wrong
3619	    value.
3620
36212013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3622
3623	* configure.in: We don't need MAKE_LEVEL_SAFE anymore.
3624
3625	* Makefile (MAKE_VERSION): 20130706
3626	  Merge with NetBSD make, pick up
3627	  o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
3628	    true so that CompatRunCommand() can use it, to ensure
3629	    consistent behavior with jobs mode.
3630	  o use MAKE_LEVEL_ENV to define the variable to propagate
3631	    .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
3632	  o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
3633	    paths to ignore.
3634
36352013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3636
3637	* Makefile (MAKE_VERSION): 20130604
3638	  Merge with NetBSD make, pick up
3639	  o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
3640	    to avoid leaking descriptors.
3641
36422013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3643
3644	* Makefile (MAKE_VERSION): 20130528
3645	  Merge with NetBSD make, pick up
3646	  o var.c: cleanup some left-overs in VarHash()
3647
36482013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3649
3650	* Makefile (MAKE_VERSION): 20130520
3651	  generate manifest from component FILES rather than have to
3652	  update FILES when mk/FILES changes.
3653
36542013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3655
3656	* Makefile (MAKE_VERSION): 20130518
3657	  Merge with NetBSD make, pick up
3658	  o suff.c: don't skip all processsing for .PHONY targets
3659	    else wildcard srcs do not get expanded.
3660	  o var.c: expand name of variable to delete if necessary.
3661
36622013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3663
3664	* Makefile (MAKE_VERSION): 20130330
3665	  Merge with NetBSD make, pick up
3666	  o meta.c: refine the handling of .OODATE in commands.
3667	    Rather than suppress command comparison for the entire script
3668	    as though .NOMETA_CMP had been used, only suppress it for the
3669	    one command line.
3670	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
3671	    suppress comparison of a command without otherwise affecting it.
3672	  o make.1: document that
3673
36742013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3675
3676	* Makefile (MAKE_VERSION): 20130321
3677	  yes, not quite right but its a cooler number.
3678	  Merge with NetBSD make, pick up
3679	  o parse.c: fix ParseGmakeExport to be portable
3680	    and add a unit-test.
3681	* meta.c: call meta_init() before makefiles are read and if built
3682	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
3683	  this let's makefiles test for support.
3684	  Call meta_mode_init() to process .MAKE.MODE.
3685
36862013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3687
3688	* Makefile (MAKE_VERSION): 20130305
3689	  Merge with NetBSD make, pick up
3690	  o run .STALE: target when a dependency from .depend is missing.
3691	  o job.c: add Job_RunTarget() for the above and .BEGIN
3692
36932013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
3694
3695	* Makefile (MAKE_VERSION): 20130303
3696	  Merge with NetBSD make, pick up
3697	  o main.c: set .MAKE.OS to utsname.sysname
3698	  o job.c: more checks for read and poll errors
3699	  o var.c: lose VarChangeCase() saves 4% time
3700
37012013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3702
3703	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
3704	  want to use MAKEOBJDIR
3705
37062013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
3707
3708	* Merge with NetBSD make, pick up
3709	  o make.1: more info on how shell commands are handled.
3710	  o job.c,main.c: detect write errors to job pipes.
3711
37122013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3713
3714	* Makefile (MAKE_VERSION): 20130123
3715	  Merge with NetBSD make, pick up
3716	  o meta.c: if script uses .OODATE and meta_oodate() decides
3717	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
3718	  o var.c: in debug output indicate which variabale modifiers
3719	    apply to.
3720	  o remove Check_Cwd logic the makefiles have been fixed.
3721
37222012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3723
3724	* makefile.in: add a simple makefile for folk who insist on
3725	  ./configure; make; make install
3726	  it just runs boot-strap
3727	* include mk/* to accommodate the above
3728	* boot-strap:  re-work to accommodate the above
3729	  mksrc defaults to $Mydir/mk
3730	  allow op={configure,build,install,clean,all}
3731	  add options to facilitate install
3732	* Makefile.config.in: just the bits set by configure
3733	* Makefile: bump version to 20121212
3734	  abandon Makefile.in (NetBSD Makefile)
3735	  leverage mk/* instead
3736	* configure.in: ensure srcdir is absolute
3737
37382012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3739
3740	* Makefile.in (MAKE_VERSION): 20121111
3741	  fix generation of bmake.cat1
3742
37432012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3744
3745	* Makefile.in (MAKE_VERSION): 20121109
3746	  Merge with NetBSD make, pick up
3747	  o make.c: MakeBuildChild: return 0 so search continues if a
3748	    .ORDER dependency is detected.
3749	  o unit-tests/order: test the above
3750
37512012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3752
3753	* Makefile.in (MAKE_VERSION): 20121102
3754	  Merge with NetBSD make, pick up
3755	  o cond.c: allow cond_state[] to grow.
3756	    In meta mode with a very large tree, we can hit the limit
3757	    while processing dirdeps.
3758
37592012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3760
3761	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
3762
37632012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3764
3765	* Makefile.in (MAKE_VERSION): 20121010
3766	  o protect syntax that only bmake parses correctly.
3767	  o remove auto setting of FORCE_MACHINE, use configure's
3768	    --with-force-machine=whatever if that is desired.
3769
37702012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
3771
3772	* Makefile.in: do not lose history from make.1 when generating bmake.1
3773
37742012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3775
3776	* Makefile.in (MAKE_VERSION): 20121007
3777	  Merge with NetBSD make, pick up
3778	  o compat.c: ignore empty commands - same as jobs mode.
3779	  o make.1: document meta chars that cause use of shell
3780
37812012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3782
3783	* Makefile.in (MAKE_VERSION): bump version to 20120911
3784	* bsd.after-import.mk: include Makefile.inc early and allow it to
3785	  override PROG
3786
37872012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
3788
3789	* Makefile.in (MAKE_VERSION): bump version to 20120831
3790	  Merge with NetBSD make, pick up
3791	  o cast sizeof() to int for comparison
3792	  o minor make.1 tweak
3793
37942012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3795
3796	* Makefile.in (MAKE_VERSION): bump version to 20120830
3797	  Merge with NetBSD make, pick up
3798	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
3799	  o debug flag -dV causes -V to show raw value regardless.
3800
38012012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3802
3803	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
3804	  gets SRCTOP set.
3805
38062012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3807
3808	* Makefile.in (MAKE_VERSION): bump version to 20120704
3809	  Merge with NetBSD make, pick up
3810	  o Job_ParseShell should call Shell_Init if it has been
3811	    previously called.
3812	* Makefile.in: set USE_META based on configure result.
3813	  also .PARSEDIR is safer indicator of bmake.
3814
38152012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3816
3817	* Makefile.in: bump version to 20120626
3818	  ensure CPPFLAGS is in CFLAGS
3819	* meta.c: avoid nested externs
3820	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
3821
38222012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3823
3824	* Makefile.in (MAKE_VERSION): bump version to 20120620
3825	  Merge with NetBSD make, pick up
3826	  o make_malloc.c: avoid including make_malloc.h again
3827
3828	* Makefile.in: avoid bmake only syntax or protect with
3829	  .if defined(.MAKE.LEVEL)
3830	* bsd.after-import.mk: replace .-include with .sinclude
3831	  ensure? SRCTOP gets a value
3832	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
3833
38342012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
3835
3836	* Makefile.in (MAKE_VERSION): bump version to 20120612
3837	  Merge with NetBSD make, pick up
3838	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
3839	    for greater portability.
3840	  o unit-tests/forloop: check that .for works as expected wrt
3841	    number of times and with "quoted strings".
3842
38432012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3844
3845	* Makefile.in (MAKE_VERSION): bump version to 20120606
3846	  Merge with NetBSD make, pick up
3847	  o compat.c: use kill(2) rather than raise(3).
3848	* configure.in: look for sys/dev/filemon
3849	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
3850	  and pass BOOTSTRAP_XTRAS to boot-strap.
3851
38522012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3853
3854	* Makefile.in (MAKE_VERSION): bump version to 20120604
3855	  Merge with NetBSD make, pick up
3856	  o util.c and var.c share same var for tracking if environ
3857	    has been reallocated.
3858	  o util.c provide getenv with setenv.
3859	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
3860	  when the shell actively strips .MAKE.* from the environment.
3861	  We still refer to the variable always as .MAKE.LEVEL
3862	* util.c fix bug in findenv() was finding prefix of name.
3863	* compat.c: re-raising SIGINT etc after running .INTERRUPT
3864	  results in more reliable termination of all activity on many
3865	  platforms.
3866
38672012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3868
3869	* Makefile.in (MAKE_VERSION): bump version to 20120602
3870	  Merge with NetBSD make, pick up
3871	  o for.c: handle quoted items in .for list
3872
38732012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3874
3875	* Makefile.in (MAKE_VERSION): bump version to 20120530
3876	  Merge with NetBSD make, pick up
3877	  o compat.c: ignore empty command.
3878
38792012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
3880
3881	* Makefile.in (MAKE_VERSION): bump version to 20120524
3882	* FILES: add bsd.after-import.mk:
3883	  A simple means of integrating bmake into a BSD build system.
3884
38852012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3886
3887	* Makefile.in (MAKE_VERSION): bump version to 20120520
3888	  Merge with NetBSD make, pick up
3889	  o increased limit for nested conditionals.
3890
38912012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3892
3893	* Makefile.in (MAKE_VERSION): bump version to 20120518
3894	  Merge with NetBSD make, pick up
3895	  o use _exit(2) in signal hanlder
3896	  o Don't use the [dir] cache when building nodes that might have
3897	    changed since the last exec.
3898	  o Avoid nested extern declaration warnings.
3899
39002012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
3901
3902	* meta.c (fgetLine): avoid %z - not portable.
3903	* parse.c: Since we moved include of sys/mman.h
3904	  and def's of MAP_COPY etc. we got dups from a merge.
3905
39062012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
3907
3908	* Makefile.in (MAKE_VERSION): bump version to 20120420
3909	  Merge with NetBSD make, pick up
3910	  o restore duplicate supression in .MAKE.MAKEFILES
3911	    runtime saving can be significant.
3912	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
3913	    consumption up to 20%.
3914
39152012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3916
3917	* Makefile.in (MAKE_VERSION): bump version to 20120420
3918          Merge with NetBSD make, pick up
3919	  o remove duplicate supression in .MAKE.MAKEFILES
3920	  o improved dir cache behavior
3921	  o gmake'ish export command
3922
39232012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3924
3925	* Makefile.in (MAKE_VERSION): bump version to 20120325
3926	  Merge with NetBSD make, pick up
3927	  o fix parsing of :[#] in conditionals.
3928
39292012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3930
3931	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
3932	  since some systems cannot cope with .Nx <version>
3933
39342011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
3935
3936	* Makefile.in (MAKE_VERSION): bump version to 20111111
3937	  Merge with NetBSD make, pick up
3938	  o debug output for .PARSEDIR and .PARSEFILE
3939
39402011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3941
3942	* Makefile.in (MAKE_VERSION):  bump version to 20111010
3943
39442011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3945
3946	* boot-strap: check for an expected file in the dirs we look for.
3947	* make-bootstrap.sh: pass on LDSTATIC
3948
39492011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3950
3951	* Makefile.in (MAKE_VERSION): bump version to 20111001
3952	  Merge with NetBSD make, pick up
3953	  o ensure .PREFIX is set for .PHONY
3954	    and .TARGET set for .PHONY run via .END
3955	  o __dead used consistently
3956
39572011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3958
3959	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
3960
39612011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3962
3963	* Makefile.in (MAKE_VERSION): bump version to 20110905
3964	  Merge with NetBSD make, pick up
3965	  o meta_oodate: ignore makeDependfile
3966
39672011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3968
3969	* Makefile.in (MAKE_VERSION): bump version to 20110828
3970	  Merge with NetBSD make, pick up
3971	  o silent=yes in .MAKE.MODE causes meta mode to mark targets
3972	    as SILENT if a .meta file is created
3973
39742011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3975
3976	* Makefile.in (MAKE_VERSION): bump version to 20110818
3977	  Merge with NetBSD make, pick up
3978	  o in meta mode, if target flagged .META a missing .meta file
3979	    means target is out-of-date
3980	  o fixes for gcc 4.5 warnings
3981	  o simplify job printing code
3982
39832011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3984
3985	* Makefile.in (MAKE_VERSION): bump version to 20110808
3986	  Merge with NetBSD make, pick up
3987	  o do not touch OP_SPECIAL targets when doing make -t
3988
39892011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3990
3991	* Makefile.in (MAKE_VERSION): bump version to 20110622
3992	  Merge with NetBSD make, pick up
3993	  o meta_oodate detect corrupted .meta file and declare oodate.
3994	* configure.in: add check for setsid
3995
39962011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3997
3998	* Merge with NetBSD make, pick up
3999	  o unit-tests/modts now works on MirBSD
4000
40012011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
4002
4003	* Makefile.in (MAKE_VERSION): bump version to 20110606
4004	  Merge with NetBSD make, pick up
4005	  o ApplyModifiers: when we parse a variable which is not
4006	    the entire modifier string, or not followed by ':', do not
4007	    consider it as containing modifiers.
4008	  o loadfile: ensure newline at end of mapped file.
4009
40102011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
4011
4012	* Makefile.in (MAKE_VERSION): bump version to 20110505
4013	  Merge with NetBSD make, pick up
4014	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
4015	    of make's control.  In meta mode, any generated file within
4016	    said bailiwick, which  is found to be missing, causes current
4017	    target to be out-of-date.
4018
40192011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
4020
4021	* Makefile.in (MAKE_VERSION): bump version to 20110411
4022	  Merge with NetBSD make, pick up
4023	  o when long modifiers fail to match, check sysV style.
4024	    - add a test case
4025
40262011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
4027
4028	* Makefile.in (MAKE_VERSION): bump version to 20110410
4029	  Merge with NetBSD make, pick up
4030	  o :hash - cheap 32bit hash of value
4031	  o :localtime, :gmtime - use value as format string for strftime.
4032
40332011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
4034
4035	* Makefile.in (MAKE_VERSION): bump version to 20110330
4036	  mostly because its a cooler version.
4037	  Merge with NetBSD make, pick up
4038	  o NetBSD tags for meta.[ch]
4039	  o job.c call meta_job_finish() after meta_job_error().
4040	  o meta_job_error() should call meta_job_finish() to ensure
4041	    .meta file is closed, and safe to copy - if .ERROR target wants.
4042	   meta_job_finish() is safe to call repeatedly.
4043
40442011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
4045
4046	* unit-tests/modts: use printf if it is a builtin,
4047	  to save us from MirBSD
4048
4049	* Makefile.in (MAKE_VERSION): bump version to 20110329
4050	  Merge with NetBSD make, pick up
4051	  o fix for use after free() in CondDoExists().
4052	  o meta_oodate() report extra commands and return earlier.
4053
40542011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
4055
4056	* Makefile.in (MAKE_VERSION): bump version to 20110327
4057	  Merge with NetBSD make, pick up
4058	  o meta.c, if .MAKE.MODE contains curdirOk=yes
4059	    allow creating .meta files in .CURDIR
4060	* boot-strap (TOOL_DIFF): aparently at least on linux distro
4061	  formats the output of 'type' differently - so eat any "()"
4062
40632011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
4064
4065	* Makefile.in (MAKE_VERSION): bump version to 20110306
4066	  Merge with NetBSD make, pick up
4067	  o meta.c, only do getcwd() once
4068
40692011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
4070
4071	* Makefile.in (MAKE_VERSION): bump version to 20110305
4072	  Merge with NetBSD make, pick up
4073	  o correct sysV substitution handling of empty lhs and variable
4074	  o correct exists() check for dir with trailing /
4075	  o correct handling of modifiers for non-existant variables
4076	    during evaluation of conditionals.
4077	  o ensure MAP_FILE is defined.
4078	  o meta.c use curdir[] now exported by main.c
4079
40802011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
4081
4082	* Makefile.in (MAKE_VERSION): bump version to 20110225
4083	  Merge with NetBSD make, pick up
4084	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
4085	    makefiles have been read.
4086	  o fix example of :? modifier in man page.
4087
40882011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
4089
4090	* Makefile.in (MAKE_VERSION): bump version to 20110214
4091	  Merge with NetBSD make, pick up
4092	  o meta.c handle realpath() failing when generating meta file
4093	    name.
4094
4095	* sigcompat.c: convert to ansi so we can use higher warning levels.
4096
4097
40982011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
4099
4100	* Makefile.in (MAKE_VERSION): bump version to 20110207
4101	  Merge with NetBSD make, pick up
4102	  o fix for bug in meta mode.
4103
41042011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
4105
4106	* parse.c: SunOS 5.8 at least does not have MAP_FILE
4107
41082011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
4109
4110	* Makefile.in (MAKE_VERSION): bump version to 20110101
4111	  Merge with NetBSD make, pick up
4112	  o use mmap(2) if available, for reading makefiles
4113
41142010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
4115
4116	* Makefile.in (MAKE_VERSION): bump version to 20101215
4117	  Merge with NetBSD make, pick up
4118	  o ensure meta_job_error() does not report a previous .meta file
4119	    as being culprit.
4120
41212010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
4122
4123	* Makefile.in (MAKE_VERSION): bump version to 20101210
4124	  Merge with NetBSD make, pick up
4125	  o meta_oodate: track cwd per process, and only consider target
4126	    out-of-date if missing file is outside make's CWD.
4127	    Ignore files in /tmp/ etc.
4128	  o to ensure unit-tests results match, need to control LC_ALL
4129	    as well as LANG.
4130	  o fix for parsing bug in var.c
4131
41322010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
4133
4134	* Makefile.in (MAKE_VERSION): bump version to 20101126
4135	  Merge with NetBSD make, pick up
4136	  o if stale dependency is an IMPSRC, search via .PATH
4137	  o meta_oodate: if a referenced file is missing, target is
4138	    out-of-date.
4139	  o meta_oodate: if a target uses .OODATE in its commands,
4140	    it (.OODATE) needs to be recomputed.
4141	  o keep a pointer to youngest child node, rather than just its
4142	    mtime.
4143
41442010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
4145
4146	* Makefile.in (MAKE_VERSION): bump version to 20101101
4147
41482010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
4149
4150	* machine.sh: like os.sh,
4151	allow for uname -p producing useless drivel
4152
41532010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
4154
4155	* boot-strap: document configure knobs for meta and filemon.
4156
4157	* Makefile.in (MAKE_VERSION): bump version to 20100911
4158	  Merge with NetBSD make, pick up
4159	  o meta.c - meta mode
4160
4161	* make-bootstrap.sh.in: handle meta.c
4162	* configure.in: add knobs for use_meta and filemon_h
4163	  also, look for dirname, str[e]sep and strlcpy
4164	* util.c: add simple err[x] and warn[x]
4165
41662010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
4167
4168	* boot-strap (TOOL_DIFF): set this to ensure tests use
4169	  the same version of diff that configure tested
4170
4171	* Makefile.in (MAKE_VERSION): bump version to 20100808
4172	  Merge with NetBSD make, pick up
4173	  o in jobs mode, when we discover we cannot make something,
4174	    call PrintOnError before exit.
4175
41762010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
4177
4178	* Makefile.in (MAKE_VERSION): bump version to 20100806
4179	  Merge with NetBSD make, pick up
4180	  o formatting fixes for ignored errors
4181	  o ensure jobs are cleaned up regardless of where wait() was called.
4182
41832010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
4184
4185	* Makefile.in (MAKE_VERSION): bump version to 20100618
4186	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
4187
41882010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
4189
4190	* Makefile.in (MAKE_VERSION): bump version to 20100616
4191	  Merge with NetBSD make, pick up
4192	  o man page update
4193	  o call PrintOnError from JobFinish when we detect an error we
4194	    are not ignoring.
4195
41962010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
4197
4198	* Makefile.in (MAKE_VERSION): bump version to 20100606
4199	  Merge with NetBSD make, pick up
4200	  o man page update
4201
42022010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
4203
4204	* Makefile.in (MAKE_VERSION): bump version to 20100605
4205	  Merge with NetBSD make, pick up
4206	  o use bmake_signal() which is a wrapper around sigaction()
4207	    in place of signal()
4208	  o add .export-env to allow exporting variables to environment
4209	    without tracking (so no re-export when the internal value is
4210	    changed).
4211
42122010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
4213
4214	* Makefile.in (MAKE_VERSION): bump version to 20100524
4215	  Merge with NetBSD make, pick up
4216	  o fix for .info et al being greedy.
4217
42182010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
4219
4220	* Makefile.in (MAKE_VERSION): bump version to 20100520
4221	  Merge with NetBSD make, pick up
4222	  o back to using realpath on argv[0]
4223	    but only if contains '/' and does not start with '/'.
4224
42252010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
4226
4227	* boot-strap: use absolute path for bmake when running tests.
4228
4229	* Makefile.in (MAKE_VERSION):  bump version to 20100510
4230	  Merge with NetBSD make, pick up
4231	  o revert use of realpath on argv[0]
4232	    too many corner cases.
4233	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
4234
42352010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
4236
4237	* Makefile.in (MAKE_VERSION): bump version to 20100505
4238	  Merge with NetBSD make, pick up
4239	  o fix for missed SIGCHLD when compiled with SunPRO
4240	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
4241	    done the job.
4242
42432010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
4244
4245	* Makefile.in (MAKE_VERSION): bump version to 20100430
4246	  Merge with NetBSD make, pick up
4247	  o fflush stdout before writing to stdout
4248
42492010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
4250
4251	* Makefile.in (MAKE_VERSION): bump version to 20100423
4252	  Merge with NetBSD make, pick up
4253	  o updated unit tests for Haiku (this time for sure).
4254	* boot-strap: based on patch from joerg
4255	  honor --with-default-sys-path better.
4256	* boot-strap: remove mention of --with-prefix-sys-path
4257
42582010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
4259
4260	* Makefile.in (MAKE_VERSION): bump version to 20100422
4261	* Merge with NetBSD make, pick up
4262	  o fix for vfork() on Darwin.
4263	  o fix for bogus $TMPDIR.
4264	  o set .MAKE.MODE=compat for -B
4265	  o set .MAKE.JOBS=max_jobs for -j max_jobs
4266	  o allow unit-tests to run without any *.mk
4267	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
4268	* boot-strap: ignore /usr/share/mk except on NetBSD.
4269	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
4270	  ensure sort(1) behaves as expected.
4271
42722010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
4273
4274	* boot-strap: add FindHereOrAbove so we can use -m .../mk
4275
42762010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
4277
4278	* Makefile.in (MAKE_VERSION): bump version to 20100420
4279	* Merge with NetBSD make, pick up
4280	  o fix for variable realpath() behavior.
4281	    we have to stat(2) the result to be sure.
4282	  o fix for .export (all) when nested vars use :sh
4283
42842010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
4285
4286	* Makefile.in (MAKE_VERSION): bump version to 20100414
4287	* Merge with NetBSD make, pick up
4288	  o use realpath to resolve argv[0] (for .MAKE) if needed.
4289	  o add realpath from libc.
4290	  o add :tA to resolve variable via realpath(3) if possible.
4291
42922010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
4293
4294	* Makefile.in (MAKE_VERSION): bump version to 20100408
4295	* Merge with NetBSD make, pick up
4296	  o unit tests for .ERROR, .error
4297	  o fix for .ERROR to ensure it cannot be default target.
4298
42992010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
4300
4301	* Makefile.in (MAKE_VERSION): bump version to 20100406
4302	* Merge with NetBSD make, pick up
4303	  o fix for compat mode "Error code" going to debug_file.
4304	  o fix for .ALLSRC being populated twice.
4305	  o support for .info, .warning and .error directives
4306	  o .MAKE.MODE to control make's operational mode
4307	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
4308	    name(s).
4309	  o .MAKE.DEPENDFILE to control the name of the depend file
4310	  o .ERROR target - run on failure.
4311
43122010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
4313
4314	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
4315
4316	* os.sh,arch.c: patch for Haiku from joerg at netbsd
4317
43182010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
4319
4320	* Makefile.in (MAKE_VERSION): bump version to 20100222
4321	* Merge with NetBSD make, pick up
4322	  o better error msg for .for with mutiple inter vars
4323
4324	* boot-strap:
4325	  o use make-bootstrap.sh from joerg at netbsd
4326	    to avoid the need for a native make when bootstrapping.
4327	  o add "" everywhere ;-)
4328	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
4329	    otherwise the pre-formated version.
4330
43312010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
4332
4333	* Makefile.in (MAKE_VERSION): bump version to 20100102
4334	* Merge with NetBSD make, pick up:
4335	  o fix for -m .../
4336
43372009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
4338
4339	* Makefile.in (MAKE_VERSION): bump version to 20091118
4340	* Merge with NetBSD make, pick up:
4341	  o .unexport
4342	  o report lines that start with '.' and should have ':'
4343	    (catch typo's of .el*if).
4344
43452009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
4346
4347	* configure.in: Ensure that srcdir and mksrc are absolute paths.
4348
43492009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
4350
4351	* Makefile.in (MAKE_VERSION): fix version to 20091007
4352
43532009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
4354
4355	* Makefile.in (MAKE_VERSION): bump version to 200910007
4356	* Merge with NetBSD make, pick up:
4357	  o fix for parsing of :S;...;...; applied to .for loop iterator
4358	    appearing in a dependency line.
4359
43602009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
4361
4362	* Makefile.in (MAKE_VERSION): bump version to 20090909
4363	* Merge with NetBSD make, pick up:
4364	  o fix for -C, .CURDIR and .OBJDIR
4365	* boot-strap:
4366	  o allow share_dir to be set independent of prefix.
4367	  o select default share_dir better when prefix ends in $HOST_TARGET
4368	  o if FORCE_BSD_MK etc were set, include them in the suggested
4369	    install-mk command.
4370
43712009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
4372
4373	* Makefile.in (MAKE_VERSION): bump version to 20090908
4374	* Merge with NetBSD make, pick up:
4375	  o .MAKE.LEVEL for recursion tracking
4376	  o fix for :M scanning \:
4377
43782009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
4379
4380	* configure.in: Don't -D__EXTENSIONS__ if
4381	AC_USE_SYSTEM_EXTENSIONS says "no".
4382
43832009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
4384
4385	* Makefile.in (MAKE_VERSION): bump version to 20090826
4386	Simplify MAKE_VERSION to just the bare date.
4387	* Merge with NetBSD make, pick up:
4388	  o -C directory support.
4389	  o support for SIGINFO
4390	  o use $TMPDIR for temp files.
4391	  o child of vfork should be careful about modifying parent's state.
4392
4393
43942009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
4395
4396	* Appy some patches for MiNT from David Brownlee
4397
43982009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
4399
4400	* Makefile.in (BMAKE_VERSION): bump version to 20090222
4401	* Merge with NetBSD make, pick up:
4402	  o Possible null pointer de-ref in Var_Set.
4403
44042009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
4405
4406	* Makefile.in (BMAKE_VERSION): bump version to 20090204
4407	* Merge with NetBSD make, pick up:
4408	  o bmake_malloc et al moved to their own .c
4409	  o Count both () and {} when looking for the end of a :M pattern
4410	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
4411	  o strlist.c - functions for processing extendable arrays of pointers to strings.
4412	  o ClientData replaced with void *, so const void * can be used.
4413	  o New debug flag C for DEBUG_CWD
4414
44152008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
4416
4417	* Makefile.in (BMAKE_VERSION): bump version to 20081111
4418	  Apply patch from Joerg Sonnenberge to
4419	  configure.in:
4420	  o remove some redundant checks
4421	  o check for emlloc etc only in libutil and require the whole family.
4422	  util.c:
4423	  o remove [v]asprintf which is no longer used.
4424
44252008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
4426
4427	* Makefile.in (BMAKE_VERSION): bump version to 20081101
4428	* Merge with NetBSD make, pick up:
4429	  o util.c: avoid use of putenv() - christos
4430
44312008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
4432
4433	* Makefile.in (BMAKE_VERSION): bump version to 20081030
4434	  pick up man page tweaks.
4435
44362008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
4437
4438	* Makefile.in: move processing of LIBOBJS to after is definition!
4439	  thus we'll have getenv.c in SRCS only if needed.
4440
4441	* make.1: add examples of how to use :?
4442
4443	* Makefile.in (BMAKE_VERSION): bump version to 20081029
4444	* Merge with NetBSD make, pick up:
4445	  o fix for .END processing with -j
4446	  o segfault from Parse_Error when no makefile is open
4447	  o handle numeric expressions in any variable expansion
4448	  o debug output now defaults to stderr, -dF to change it - apb
4449	  o make now uses bmake_malloc etc so that it can build natively
4450	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
4451
44522008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
4453
4454	* Makefile.in (BMAKE_VERSION): bump version to 20080808
4455	* Merge with NetBSD make, pick up:
4456	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
4457	    long lines in Makefiles
4458	  o optimizations for VarQuote by joerg
4459	  o fix for PR/38756: dominik: make dumps core on invalid makefile
4460
44612008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
4462
4463	* Makefile.in (BMAKE_VERSION): bump version to 20080515
4464	* Merge with NetBSD make, pick up:
4465	  o fix skip setting vars in VAR_GLOBAL context, to handle
4466	    cases where VAR_CMD is used for other than command line vars.
4467
44682008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
4469
4470	* boot-strap (make_version): we may need to look in
4471	$prefix/share/mk for sys.mk
4472
4473	* Makefile.in (BMAKE_VERSION): bump version to 20080514
4474	* Merge with NetBSD make, pick up:
4475	  o skip setting vars in VAR_GLOBAL context, when already set in
4476	  VAR_CMD which takes precedence.
4477
44782008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
4479
4480	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
4481	* Merge with NetBSD make, pick up:
4482	  o fix for ?= when LHS contains variable reference.
4483
44842008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
4485
4486	* merge some patches from NetBSD pkgsrc.
4487
4488	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
4489	the MAKSYSPATH used during bootstrap.
4490
4491	* Makefile.in (BMAKE_VERSION): bump version to 20080215
4492	* Merge with NetBSD make, pick up:
4493	  o warn if non-space chars follow 'empty' in a conditional.
4494
44952008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
4496
4497	* Makefile.in (BMAKE_VERSION): bump version to 20080118
4498	* Merge with NetBSD make, pick up:
4499	  o consider dependencies read from .depend as optional - dsl
4500	  o remember when buffer for reading makefile grows - dsl
4501	  o add -dl (aka LOUD) - David O'Brien
4502
45032007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
4504
4505	* Makefile.in (BMAKE_VERSION): bump version to 20071022
4506	* Merge with NetBSD make, pick up:
4507	  o Allow .PATH<suffix> to be used for .include ""
4508
4509	* boot-strap: source default settings from .bmake-boot-strap.rc
4510
45112007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
4512
4513	* Makefile.in: fix maninstall on various systems
4514	  provided that our man.mk is used.
4515	  For non-BSD systems we install the preformatted page
4516	  into $MANDIR/cat1
4517
45182007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
4519
4520	* boot-strap: make bmake.1 too, so maninstall works.
4521
45222007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
4523
4524	* Makefile.in (BMAKE_VERSION): bump version to 20071014
4525	* Merge with NetBSD make, pick up:
4526	  o revamped handling of defshell - configure no longer needs to
4527	    know the content of the shells array - apb
4528	  o stop Var_Subst modifying its input - apb
4529	  o avoid calling ParseTrackInput too often - dsl
4530
45312007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
4532
4533	* Makefile.in (BMAKE_VERSION): bump version to 20071011
4534	* Merge with NetBSD make, pick up:
4535	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
4536
4537	* sigcompat.c: some tweaks for HP-UX 11.x based on
4538	  patch from Tobias Nygren
4539
4540	* configure.in: update handling of --with-defshell to match
4541	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
4542	  will now do what one might hope - provided the chosen shell
4543	  behaves enough like sh.
4544
45452007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
4546
4547	* Makefile.in (BMAKE_VERSION): bump to 20071008
4548	* Merge with NetBSD make, pick up:
4549	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
4550	  o .export/.MAKE.EXPORTED - export of variables - sjg
4551	  o .MAKE.MAKEFILES - track all makefiles read - sjg
4552	  o performance improvements - dsl
4553	  o revamp parallel job scheduling - dsl
4554
45552006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
4556
4557	* Makefile.in (BMAKE_VERSION): bump to 20060728
4558	* Merge with NetBSD make, pick up:
4559	  o extra debug info during variable and cond processing - sjg
4560	  o shell definition now covers newline - rillig
4561	  o minor mem leak in PrintOnError - sjg
4562
45632006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
4564
4565	* Makefile.in (BMAKE_VERSION):  bump to 20060511
4566	* Merge with NetBSD make, pick up:
4567	  o more memory leaks - coverity
4568	  o possible overflow in ArchFindMember - coverity
4569	  o extract variable modifier code out of Var_Parse()
4570	    so it can be called recursively - sjg
4571	  o unit-tests/moderrs - sjg
4572
45732006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
4574
4575	* Makefile.in (BMAKE_VERSION): bump to 20060412
4576	* Merge with NetBSD make, pick up:
4577	  o fixes for some memory leaks - coverity
4578	  o only read first sys.mk etc when searching sysIncPath - sjg
4579
4580	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
4581	setting ${MAKEFILE} - OBATA Akio
4582
45832006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
4584
4585	* Makefile.in (BMAKE_VERSION): bump to 20060318
4586	* Merge with NetBSD make, pick up:
4587	  o cleanup of job.c to remove remote handling, distcc is more
4588	    useful and this code was likely bit-rotting - dsl
4589	  o fix for :P modifier - sjg
4590	* boot-strap: set default prefix to something reasonable
4591	  (for me anyway).
4592
45932006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
4594
4595	* Makefile.in (BMAKE_VERSION): bump to 20060301
4596	* Merge with NetBSD make, pick up:
4597	  o make .WAIT apply recursively, document and test case - apb
4598	  o allow variable modifiers in a variable appear anywhere in
4599	    modifier list, document and test case - sjg
4600
46012006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
4602
4603	* Makefile.in (BMAKE_VERSION): bump to 20060222
4604	* Merge with NetBSD make, pick up:
4605	  o improved job token handling - dsl
4606	  o SIG_DFL the correct signal before exec - dsl
4607	  o more debug info during parsing - dsl
4608	  o allow variable modifiers to be specified via variable - sjg
4609	* boot-strap: explain why we died if no mksrc
4610
46112005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
4612
4613	* Makefile.in (BMAKE_VERSION): bump to 20051105
4614	* configure.in: always set default_sys_path
4615	  default is ${prefix}/share/mk
4616	  - remove prefix_sys_path, anyone wanting more than above
4617	    needs to set it manually.
4618
46192005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
4620
4621	* boot-strap: make this a bit easier for pkgsrc folk.
4622	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
4623	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
4624
46252005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
4626
4627	* Makefile.in (BMAKE_VERSION): bump to 20051102
4628	* job.c (JobFinish): fix likely ancient merge lossage
4629	fix from Todd Vierling.
4630	* boot-strap (srcdir): allow setting mksrc=none
4631
46322005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
4633
4634	* Makefile.in (BMAKE_VERSION): bump to 20051031
4635	* ranlib.h: skip on OSF too.
4636	  (NetBSD PR 31864)
4637
46382005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
4639
4640	* Makefile.in (BMAKE_VERSION): bump to 20051002
4641	  fix a silly typo
4642
46432005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
4644
4645	* Makefile.in (BMAKE_VERSION): bump to 20051001
4646	  support for UnixWare and some other systems,
4647	  based on patches from pkgsrc/bootstrap
4648
46492005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
4650
4651	* Makefile.in (BMAKE_VERSION): bump to 20050901
4652	* Merge with NetBSD make, pick up:
4653	  o possible parse error causing us to wander off.
4654
46552005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
4656
4657	* Makefile.in (BMAKE_VERSION): bump to 20050606
4658	* Merge with NetBSD make, pick up:
4659	  o :0x modifier for randomizing a list
4660	  o fixes for a number of -Wuninitialized issues.
4661
46622005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
4663
4664	* Makefile.in (BMAKE_VERSION): bump to 20050530
4665	* Merge with NetBSD make, pick up:
4666	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
4667
4668	* README: was seriously out of date.
4669
46702005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
4671
4672	* Important to use .MAKE rather than MAKE.
4673
46742005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
4675
4676	* Makefile.in (BMAKE_VERSION): bump to 20050315
4677	* Merge with NetBSD make, pick up:
4678	  o don't mistake .elsefoo for .else
4679	  o use suffix-specific search path correctly
4680	  o bunch of style nits
4681
46822004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
4683
4684	* boot-strap:
4685	o ensure that args to --src and --with-mksrc
4686	  are resolved before giving them to configure.
4687	o add -o "objdir" so that builder can control it,
4688	  default is $OS as determined by os.sh
4689	o add -q to suppress all the install instructions.
4690
46912004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
4692
4693	* Remove __IDSTRING()
4694
4695	* Makefile.in (BMAKE_VERSION): bump to 20040508
4696	* Merge with NetBSD make, pick up:
4697	  o posix fixes
4698	    - remove '-e' from compat mode
4699	    - add support for '+' command-line prefix.
4700	  o fix for handling '--' on command-line.
4701	  o fix include in lst.lib/lstInt.h to simplify '-I's
4702	  o we also picked up replacement of MAKE_BOOTSTRAP
4703	    with !MAKE_NATIVE which is a noop, but possibly confusing.
4704
47052004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
4706
4707	* Makefile.in (BMAKE_VERSION): bump to 20040414
4708	* Merge with NetBSD make, pick up:
4709	  o allow quoted strings on lhs of conditionals
4710	  o issue warning when extra .else is seen
4711	  o print line numer when errors encountered during parsing from
4712	  string.
4713
47142004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
4715
4716	* Makefile.in (BMAKE_VERSION):  bump to 20040220
4717	* Merge with NetBSD make, pick up:
4718	  o fix for old :M parsing bug.
4719	  o re-jigged unit-tests
4720
47212004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
4722
4723	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
4724	so that './bmake -f Makefile test' works.
4725
47262004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
4727
4728	* Makefile.in: (BMAKE_VERSION): bump to 20040214
4729	* Merge with NetBSD make, pick up:
4730	  o search upwards for *.mk
4731	  o fix for double free of var substitution buffers
4732	  o use of getopt replaced with custom code, since the usage
4733	  (re-scanning) isn't posix compatible.
4734
47352004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
4736
4737	* arch.c: don't include ranlib.h on ELF systems
4738	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
4739
47402004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
4741
4742	* Makefile.in (BMAKE_VERSION): bump to 20040118
4743
4744	* boot-strap (while): export vars we assign to on cmdline
4745	* unit-test/Makefile.in: ternary is .PHONY
4746
47472004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
4748
4749	* Makefile.in (BMAKE_VERSION): bump version to 20040108
4750	* Merge with NetBSD make, pick up:
4751	  o fix for ternary modifier
4752
47532004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
4754
4755	* Makefile.in (BMAKE_VERSION): bump version to 20040105
4756	* Merge with NetBSD make, pick up:
4757	  o fix for cond.c to handle compound expressions better
4758	  o variable expansion within sysV style replacements
4759
47602003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
4761
4762	* Make portable snprintf safer - output to /dev/null first to
4763	check space needed.
4764
4765	* Makefile.in (BMAKE_VERSION): bump version to 20031222
4766	* Merge with NetBSD make, pick up:
4767	  o -dg3 to show input graph when things go wrong.
4768	  o explicitly look for makefiles in objdir if not found in curdir so
4769	    that errors in .depend etc will be reported accurarely.
4770	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
4771	    instead as it more accurately reflects the expected behavior and
4772	    is more consistently implemented.
4773	  o avoid use of asprintf.
4774
47752003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
4776
4777	* util.c: Add asprintf and vasprintf.
4778
4779	* Makefile.in (BMAKE_VERSION): bump version to 20030928
4780	* Merge with NetBSD make, pick up:
4781	:[] modifier - allows picking words from a variable.
4782	:tW modifier - allows treating value as one big word.
4783	W flag for :C and :S - allows treating value as one big word.
4784
47852003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
4786
4787	* Merge with NetBSD make
4788	pick up -de flag to enable printing failed command.
4789	don't skip 1st two dir entries (normally . and ..) since
4790	coda does not have them.
4791
47922003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
4793
4794	* Makefile.in (BMAKE_VERSION): bump version to 20030909
4795	* Merge with NetBSD make, pick up:
4796	- changes for -V '${VAR}' to print fully expanded value
4797	  cf. -V VAR
4798	- CompatRunCommand now prints the command that failed.
4799	- several files got updated 3 clause Berkeley license.
4800
48012003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
4802
4803	* boot-strap: Allow setting configure args on command line.
4804
48052003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
4806
4807	* configure.in: add --with-defshell to allow sh or ksh
4808	to be selected as default shell.
4809
4810	* Makefile.in: bump version to 20030731
4811
4812	* Merge with NetBSD make
4813	Pick up .SHELL spec for ksh and associate man page changes.
4814	Also compat mode now uses the same shell specs.
4815
48162003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
4817
4818	* var.c (Var_Parse): ensure delim is initialized.
4819
4820	* unit-tests/Makefile.in: use single quotes to avoid problems from
4821	some shells.
4822
4823	* makefile.boot.in:
4824	Run the unit-tests as part of the bootstrap procedure.
4825
48262003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
4827
4828	* unit-tests/Makefile.in: always force complaints from
4829	${TEST_MAKE} to be from 'make'.
4830
4831	* configure.in: add check for 'diff -u'
4832	also fix some old autoconf'isms
4833
4834	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
4835	if using GCC add -Wno-cast-qual to CFLAGS for var.o
4836
4837	* Merge with NetBSD make
4838	Pick up fix for :ts parsing error in some cases.
4839	Pick unit-tests.
4840
48412003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
4842
4843	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
4844
4845	* var.c (Var_Parse): fix bug in :ts modifier, after const
4846	correctness fixes, must pass nstr to VarModify.
4847
48482003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
4849
4850	* Makefile.in: BMAKE_VERSION switch to a date based version.
4851	We'll generally use the date of last import from NetBSD.
4852
4853	* Merge with NetBSD make
4854	Pick up fixes for const-correctness, now passes WARNS=3 on
4855	NetBSD.
4856	Pick up :ts modifier, allows controlling the separator used
4857	between words in variable expansion.
4858
48592003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
4860
4861	* FILES: include boot-strap and os.sh
4862
4863	* Makefile.in: only set WARNS if we are NetBSD, the effect on
4864	FreeBSD is known to be bad.
4865
4866	* makefile.boot.in (bootstrap): make this the default target.
4867
4868	* Makefile.in: bump version to 3.1.19
4869
4870	* machine.sh: avoid A-Z with tr as it is bound to lose.
4871
48722003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
4873
4874	* Merge with NetBSD make
4875	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
4876	Plus some doc fixes.
4877
48782003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
4879
4880	* Merge with NetBSD make
4881	Pick up fix for PR/1523 - don't count a library as built, if there
4882	is no way to build it
4883
4884	* Bump version to 3.1.18
4885
48862003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
4887
4888	* Merge with NetBSD make
4889	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
4890	appears in src list.
4891
48922003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
4893
4894	* Merge with NetBSD make (mmm 10th anniversary!)
4895	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
4896	pick up -X which tells us to not export VAR=val via setenv if
4897	we are already doing so via MAKEFLAGS.  This saves valuable env
4898	space on systems like Darwin.
4899	set MAKE_VERSION to 3.1.17
4900
4901	* parse.c: pix up fix for suffix rules
4902
49032003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
4904
4905	* Merge with NetBSD make.
4906	pick up fix for propagating -B via MAKEFLAGS.
4907	set MAKE_VERSION to 3.1.16
4908
4909	* Apply some patches from pkgsrc-bootstrap/bmake
4910	Originally by Grant Beattie <grant@netbsd.org>
4911	I may have missed some - since they are based on bmake-3.1.12
4912
49132002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
4914
4915	* makefile.boot.in (bmake): update install targets for those that
4916	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
4917	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
4918
4919	* bmake.cat1: update the pre-formatted man page!
4920
49212002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
4922
4923	* Merge with NetBSD make.
4924	pick up fix for premature free of pointer used in call
4925	to Dir_InitCur().
4926	set MAKE_VERSION to 3.1.15
4927
49282002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
4929
4930	* configure.in: determine suitable value for MKSRC.
4931	override using --with-mksrc=PATH.
4932
4933	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
4934	configs(8) will use 'sun4' as an alias for 'sparc'.
4935
49362002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
4937
4938	* Merge with NetBSD make.
4939	pick up ${.PATH}
4940	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
4941	set MAKE_VERSION to 3.1.14
4942	add configure checks for killpg and sys/socket.h
4943
49442002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
4945
4946	* tag bmake-3-1-13
4947
4948	* makefile.boot.in (bmake): use install-mk
4949	Also setup ./mk before trying to invoke bmake.boot incase we
4950	needed install-mk to create a sys.mk for us.
4951
4952	* configure.in: If we need to add -I${srcdir}/missing, make it an
4953	absolute path so that it works for lst.lib too.
4954
4955	* make.h: always include sys/cdefs.h since we provide one if the
4956	host does not.
4957
4958	* Makefile.in (install-mk):
4959	use MKSRC/install-mk which will do the right thing.
4960	use uname -p for ARCH if possible.
4961	since install-mk will setup links bsd.prog.mk -> prog.mk if
4962	needed, just .include bsd.prog.mk
4963
4964	* Merge with NetBSD make (NetBSD-1.6)
4965	Code is ansi-C only now.
4966	Bug in handling of dotLast is fixed.
4967	Can now assign .OBJDIR and make will reset its notions of life.
4968	New modifiers :tu :tl for toUpper and toLower.
4969
4970Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
4971
4972	* Merge with NetBSD make
4973	pick up fix for .END failure in compat mode.
4974	pick up fix for extra va_end() in ParseVErrorInternal.
4975
4976Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
4977
4978	* configure.in: for systems that have sys/cdefs.h check if it is
4979	compatible.  If not, include the one under missing, but tell it to
4980	include the native one too - necessary on Linux.
4981
4982	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
4983	include_next (for gcc) to get the native sys/cdefs.h
4984
4985Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4986
4987	* job.c (JobFinish): Fix an earlier merge bug that resulted in
4988	leaking descriptors when using -jN.
4989
4990	* job.c (JobPrintCommand): See if "curdir" exists before
4991	attempting to chdir().  Doing the chdir directly in make (when in
4992	compat mode) fails silently, so let the -jN version do the same.
4993	This can happen when building kernels in an object tree and
4994	playing clever games to reset .CURDIR.
4995
4996	* Merged with NetBSD make
4997	pick up .USEBEFORE
4998
4999Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5000
5001	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
5002
5003Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5004
5005	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
5006	us not to export the iterator variable when using VAR_CMD context.
5007
5008Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5009
5010	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
5011	its the wrong "fix".
5012
5013Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5014
5015	* Redesigned export of VAR_CMD's via MAKEFLAGS.
5016	We now simply append the variable names to .MAKEOVERRIDES, and
5017	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
5018	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
5019	Apart from fixing quoting bugs in previous version, this allows us
5020	to export vars to the environment by simply doing:
5021	.MAKEOVERRIDES+= PATH
5022	Merged again with NetBSD make, but the above is the only change.
5023
5024	* configure.in: added
5025	--disable-pwd-override		disable $PWD overriding getcwd()
5026	--disable-check-make-chdir	disable make trying to guess
5027		when it should automatically cd ${.CURDIR}
5028
5029	* Merge with NetBSD make, changes include:
5030	parse.c (ParseDoDependency): Spot that the syntax error is
5031	caused by an unresolved cvs/rcs conflict and say so.
5032	var.c: most of Var* functions now take a ctxt as 1st arg.
5033	now does variable substituion on rhs of sysv style modifiers.
5034
5035	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
5036	is now done here.  We append the name='value' to .MAKEOVERRIDES
5037	rather than directly into MAKEFLAGS as this allows a Makefile to
5038	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
5039	very similar mechanism.  Note that in adding name='value' to
5040	.MAKEOVERRIDES we do the moral equivalent of:
5041	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
5042
5043Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5044
5045	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
5046
5047	* Merged with NetBSD make
5048	make -dx can now be used to run commands via sh -x
5049	better error messages on exec failures.
5050
5051Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5052
5053	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
5054	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
5055	MACHINE etc otherwise they propagate from the previous bmake.
5056
5057	* configure.in (machine): allow --with-machine=generic to make
5058	configure use machine.sh to set MACHINE.
5059
5060	* job.c (JobInterrupt): convert to using WAIT_T and friends.
5061
5062	* Makefile.in: mention in bmake.1 that we use autoconf.
5063
5064	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
5065
5066Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5067
5068	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
5069	as that rather defeats the usefulness of ${MAKEFILE}.
5070
5071	* main.c (MainParseArgs): append command line variable assignments
5072	to MAKEFLAGS so that they get propagated to child make's.
5073	Apparently this is required POSIX behaviour?  Its useful anyway.
5074
5075Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5076
5077	* compat.c (CompatRunCommand): don't use perror() since stdio may
5078	cause problems in child of vfork().
5079
5080	* compat.c, main.c: Call PrintOnError() when we are going to bail.
5081	This routine prints out the .curdir where we stopped and will also
5082	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
5083
5084	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
5085	:@ expansion.
5086
5087	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
5088
5089	* Added RCSid's for the files we've touched.
5090
5091Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5092
5093	* configure.in:	Thanks to some clues from mdb@juniper.net,
5094	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
5095	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
5096
5097  --with-machine=MACHINE  explicitly set MACHINE
5098  --with-force-machine=MACHINE  set FORCE_MACHINE
5099  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
5100  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
5101  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
5102  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
5103
5104	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
5105
5106	* makefile: added a pathetically simple makefile to drive
5107	bootstrapping.  Running configure by hand is more useful.
5108
5109	* Makefile.in: added MAKE_VERSION, and reworked things to be less
5110	dependent on NetBSD bsd.*.mk
5111
5112	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
5113	_PATH_OBJDIRPREFIX for those that don't want a default.
5114	construct _PATH_DEFSYSPATH from the info we get from configure.
5115
5116	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
5117	if MAKE_VERSION is defined.
5118
5119	* compat.c: when we bail, print out the .CURDIR we were in.
5120
5121Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5122
5123	* Merged with NetBSD make
5124
5125	* var.c: fixed a bug in the handling of the modifier :P
5126	if the node as found but the path was null, we segfault trying to
5127	duplicate it.
5128
5129Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5130
5131	* Merged with NetBSD make
5132
5133	* make.c: Make_OODate's test for a library out of date was using
5134	cmtime where it should have used mtime (my bug).
5135
5136	* compat.c: Use perror() to tell us what really went wrong when we
5137	cannot exec a command.
5138
5139Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5140
5141	* Merged with NetBSD make
5142
5143Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5144
5145	* Merged with NetBSD make
5146
5147Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5148
5149	* Merged with NetBSD make
5150
5151Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5152
5153	* Merged with NetBSD make
5154
5155Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5156
5157	* util.c: don't provide signal() since we use sigcompat.c
5158
5159	* Makefile.in: added a build target.
5160
5161	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
5162	These allow some quite clever magic.
5163
5164	* main.c (main): added support for getenv(MAKESYSPATH).
5165
5166Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5167
5168	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
5169	This avoids objdir having a different value depending on how a
5170	directory was reached (via command line, or subdir.mk).
5171
5172	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
5173
5174Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5175
5176	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
5177	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
5178	I've been testing this in NetBSD's make for some weeks.
5179
5180	* Turn Makefile into Makefile.in and make it useful.
5181
5182Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
5183
5184	* Imported NetBSD's -current make(1) and resolve conflicts.
5185
5186	* Applied autoconf patches from bmake v2
5187
5188	* Imported clean code base from NetBSD-1.0
5189