xref: /freebsd/contrib/bmake/ChangeLog (revision a8c56be47166295d37600ff81fc1857db87b3a9b)
12025-07-07  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* VERSION (_MAKE_VERSION): 20250707
4	Merge with NetBSD make, pick up
5	o cond.c: improve debug log message for 'exists' function.
6	complain about unfinished escape sequences or string literals.
7
82025-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
9
10	* VERSION (_MAKE_VERSION): 20250704
11	Merge with NetBSD make, pick up
12	o make.1: add a DIAGNOSTICS section for make to reference.
13	o main.c: simplify the warning for invalid -J by refering to
14	manual page.
15
162025-06-30  Simon J Gerraty  <sjg@beast.crufty.net>
17
18	* VERSION (_MAKE_VERSION): 20250630
19	Merge with NetBSD make, pick up
20	o consistently use double quotes in error messages
21	o cond.c: if a condition is erroneous, skip the whole .if/.endif
22	o make_malloc.c: in cleanup mode, initialize freshly allocated memory
23	o str.c: error out on an ":M" modifier whose pattern ends with
24	backslash
25	o var.c: fix parsing of modifier parts for :gmtime and :localtime
26	add POSIX $^ support
27
282025-06-18  Simon J Gerraty  <sjg@beast.crufty.net>
29
30	* VERSION (_MAKE_VERSION): 20250618
31	Merge with NetBSD make, pick up
32	o parse.c: in a warning without location information,
33	print the stack trace
34
352025-06-15  Simon J Gerraty  <sjg@beast.crufty.net>
36
37	* VERSION (_MAKE_VERSION): 20250615
38	Merge with NetBSD make, pick up
39	o add on-demand inter-process stack traces
40	o job.c,meta.c: do not discard empty lines in the output of a command
41	o job.c: add job prefix if necessary in non-default filtered mode
42	o parse.c,var.c: skip inter-process stack trace when
43	MAKE_STACK_TRACE=no
44
452025-06-12  Simon J Gerraty  <sjg@beast.crufty.net>
46
47	* VERSION (_MAKE_VERSION): 20250612
48	Merge with NetBSD make, pick up
49	o use a common style for unexpected error messages
50	o parse.c: add program name to stack traces from sub-makes
51	add quotes to "in directory" line in stack traces
52	o var.c: check variable names for invalid characters when there
53	are no modifiers to apply.  This detects and warns about gmake
54	syntax like: $(addprefix -I, $(LIST))
55
562025-06-09  Simon J Gerraty  <sjg@beast.crufty.net>
57
58	* VERSION (_MAKE_VERSION): 20250606
59	Merge with NetBSD make, pick up
60	o main.c: fix bug in handling of output of children in jobs mode
61
622025-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
63
64	* VERSION (_MAKE_VERSION): 20250528
65	Merge with NetBSD make, pick up
66	o show contents of MAKEFLAGS in the stack trace.
67	o main.c: delay warning about bogus -J flag, if we end up in
68	compat mode before the call to InitMaxJobs, the warning isn't
69	necessary.
70
712025-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
72
73	* VERSION (_MAKE_VERSION): 20250525
74	Merge with NetBSD make, pick up
75	o main.c: set .CURDIR earlier so it can be reported in some errors.
76
772025-05-20  Simon J Gerraty  <sjg@beast.crufty.net>
78
79	* VERSION (_MAKE_VERSION): 20250520
80	Merge with NetBSD make, pick up
81	o rename variables, remove now-redundant comments
82	o job.c: clean up building the shell commands in parallel mode
83	remove timeout for polling in parallel mode
84	o main.c: clean up error message for malformed internal -J option
85
862025-05-11  Simon J Gerraty  <sjg@beast.crufty.net>
87
88	* VERSION (_MAKE_VERSION): 20250511
89	Merge with NetBSD make, pick up
90	o job.c: rename token pool variables to be more descriptive
91	move ContinueJobs further up, to eliminate a forward declaration
92	error out if writing to an internal pipe fails
93	clean up constant names and function names
94	use uniform debug log messages for the token pool
95	in the debug log, replace magic numbers with identifiers
96	o main.c: clean up error message for malformed internal -J option
97	o make.c: replace bitset in trace output with descriptive node
98	attributes
99	o targ.c: add end marker for -dg1, -dg2 and -dg3 debug log
100	o var.c: fix order of error messages in the ":?" modifier
101
1022025-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
103
104	* VERSION (_MAKE_VERSION): 20250424
105	Merge with NetBSD make, pick up
106	o cleanup; replace unsigned int with just unsigned
107	Inline the TMPPAT macro, as it is only needed in a single place
108	o move struct Job from job.h to job.c
109	o job.c: group the code for handling the job token pool
110	avoid excessive values of -j
111	o make.c: fix grammar in debug log message
112
1132025-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
114
115	* VERSION (_MAKE_VERSION): 20250414
116	Merge with NetBSD make, pick up
117	o job.c: clean up job and output handling
118	o parse.c: after entering POSIX mode, don't leave it again
119
1202025-04-11  Simon J Gerraty  <sjg@beast.crufty.net>
121
122	* VERSION (_MAKE_VERSION): 20250411
123	Merge with NetBSD make, pick up
124	o convert more messages to file:line: format
125	o for.c: condense code for parsing variable names in .for loops
126
1272025-04-10  Simon J Gerraty  <sjg@beast.crufty.net>
128
129	* VERSION (_MAKE_VERSION): 20250410
130	Merge with NetBSD make, pick up
131	o cond.c: remove redundant error counter when parsing a condition
132
1332025-04-04  Simon J Gerraty  <sjg@beast.crufty.net>
134
135	* VERSION (_MAKE_VERSION): 20250404
136	Merge with NetBSD make, pick up
137	o make.1: better document meta mode.
138	o var.c: fix error message for undefined variable in conditional.
139
1402025-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
141
142	* VERSION (_MAKE_VERSION): 20250330
143	Merge with NetBSD make, pick up
144	o in POSIX compatability mode, give preference to sysV style modifiers.
145	o in stack trace with details and includes, list the current file
146	o parse.c: report file location in more common file:line: format.
147	o var.c: simplify error handling for unknown modifiers
148	let the ":O" and ":t" modifiers fall back to the ":from=to" modifier
149	stop parsing after seeing an unknown modifier in an expression
150	fix error message for unclosed expression and invalid :[...]
151	add details to errors about ::= modifier
152	add details about indirect modifiers to the stack traces
153	in stack traces from target commands, add the command level
154
1552025-03-23  Simon J Gerraty  <sjg@beast.crufty.net>
156
157	* VERSION (_MAKE_VERSION): 20250323
158	Merge with NetBSD make, pick up
159	o var.c: just ignore attempts to override a read-only global with
160	the same value.
161
1622025-03-08  Simon J Gerraty  <sjg@beast.crufty.net>
163
164	* bsd.after-import.mk: by default generate makefiles
165	closer to BSD style.
166
167	* VERSION (_MAKE_VERSION): 20250308
168	Merge with NetBSD make, pick up
169	o clean up comments and code for parallel mode
170	o job.c: avoid SIGPIPE for children, call Job_Wait befor abort.
171
1722025-02-27  Simon J Gerraty  <sjg@beast.crufty.net>
173
174	* VERSION (_MAKE_VERSION): 20250225
175	Merge with NetBSD make, pick up
176	o job.c: reliably remove targets on interrupt,
177	by passing signal to children first.
178
1792025-01-25  Simon J Gerraty  <sjg@beast.crufty.net>
180
181	* VERSION (_MAKE_VERSION): 20250125
182	Merge with NetBSD make, sync up below change.
183
184	* unit-tests/Makefile: remove $TMPDIR via .END
185	to avoid failure in test on NFS - since the temp file for the
186	target script is open and thus gets renamed by the server rather
187	than removed.
188
1892025-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
190
191	* VERSION (_MAKE_VERSION): 20250120
192	Merge with NetBSD make, pick up
193	o use FORK_FUNCTION so it can be forced to fork when doing coverage.
194	o main.c: avoid memory allocation in error path after exec failure.
195
1962025-01-16  Simon J Gerraty  <sjg@beast.crufty.net>
197
198	* VERSION (_MAKE_VERSION): 20250116
199	Merge with NetBSD make, pick up
200	o clarify that undefined expressions are allowed in dependencies
201	o simplify code for evaluating the '!=' variable assignment
202
2032025-01-11  Simon J Gerraty  <sjg@beast.crufty.net>
204
205	* VERSION (_MAKE_VERSION): 20250111
206	Merge with NetBSD make, pick up
207	o replace "Malformed conditional" with "Variable is undefined"
208	when appropriate
209
2102025-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
211
212	* VERSION (_MAKE_VERSION): 20250110
213	Merge with NetBSD make, pick up
214	o job.c: remove some unnecessary layers in job handling
215	o unit-tests: test expressions based on undefined variables
216
2172025-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
218
219	* VERSION (_MAKE_VERSION): 20250101
220	Merge with NetBSD make, pick up
221	o var.c: reduce pointer indirections when unexporting a variable
222
2232024-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
224
225	* VERSION (_MAKE_VERSION): 20241212
226	* mk/ updates
227
2282024-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
229
230	* VERSION (_MAKE_VERSION): 20241124
231	Merge with NetBSD make, pick up
232	o var.c: fix confusing error message when overriding a read-only
233	variable
234
2352024-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
236
237	* VERSION (_MAKE_VERSION): 20241122
238	Merge with NetBSD make, pick up
239	o unit-tests/Makefile: optimize running of tests skip extra cat
240	in 99% of cases.
241
2422024-11-15  Simon J Gerraty  <sjg@beast.crufty.net>
243
244	* VERSION (_MAKE_VERSION): 20241114
245	Merge with NetBSD make, pick up
246	o make.1: note that MAKEOBJPREFIX should be absolute path
247	also that it can be set via makefile if suitable care taken.
248
2492024-11-10  Simon J Gerraty  <sjg@beast.crufty.net>
250
251	* VERSION (_MAKE_VERSION): 20241110
252	Merge with NetBSD make, pick up
253	o make: allow .../ (search here and above) in
254	.MAKE.MAKEFILE_PREFERENCE and -f argument.
255
2562024-11-03  Simon J Gerraty  <sjg@beast.crufty.net>
257
258	* VERSION (_MAKE_VERSION): 20241101
259	Merge with NetBSD make, pick up
260	o parse.c: report filename:linenumber in parse debug output
261
2622024-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
263
264	* VERSION (_MAKE_VERSION): 20240921
265	Merge with NetBSD make, pick up
266	o make.1: Only list the defaults for MAKEFILE_PREFERENCE once.
267
268	* Makefile: use genfiles.mk to generate ${MAN}
269	so that it can be tuned for local site.
270	Ensure MAN  is defined before including Makefile.inc
271
272	* Makefile: use MK_GEN_MAN to make it easier to control whether we
273	generate ${MAN}
274
2752024-09-16  Simon J Gerraty  <sjg@beast.crufty.net>
276
277	* VERSION (_MAKE_VERSION): 20240909
278
279	* arch.c: fix NetBSD PR 58597
280
2812024-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
282
283	* Makefile: use SUBDIR.${MK_TESTS} so that we skip
284	unit-tests for obj and clean when FreeBSD is building WITHOUT_TESTS
285
286	* VERSION (_MAKE_VERSION): 20240901
287	Merge with NetBSD make, pick up
288	o reduce line length in error messages
289	o var.c: simplify printing of an evaluation stack element
290
2912024-08-29  Simon J Gerraty  <sjg@beast.crufty.net>
292
293	* VERSION (_MAKE_VERSION): 20240828
294	Merge with NetBSD make, pick up
295	o add more context to error message about recursive variables
296	o treat recursive variables non-fatally - continue parsing to end
297	of makefile
298
2992024-08-12  Simon J Gerraty  <sjg@beast.crufty.net>
300
301	* VERSION (_MAKE_VERSION): 20240808
302	Merge with NetBSD make, pick up
303	o improve some error messages for better clarify and readability
304
3052024-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
306
307	* VERSION (_MAKE_VERSION): 20240722
308	Merge with NetBSD make, pick up
309	o job.c: remove dead code
310
3112024-07-21  Simon J Gerraty  <sjg@beast.crufty.net>
312
313	* VERSION (_MAKE_VERSION): 20240720
314	Merge with NetBSD make, pick up
315	o compat.c: do not run commands that have parse or evaluation errors.
316	o var.c: remove wrong error message about an undefined variable
317
3182024-07-13  Simon J Gerraty  <sjg@beast.crufty.net>
319
320	* cleanup redundant differences from NetBSD make
321	o parse.c: no longer uses mmap
322	o var.c: check __STDC_VERSION__ not __STDC__
323
3242024-07-12  Simon J Gerraty  <sjg@beast.crufty.net>
325
326	* Apply some patches from NetBSD pkgsrc to reduce divergence
327	o meta.c: requires sys/select.h if available
328	o var.c: ensure SIZE_MAX has a value
329	o util.c: ensure SA_RESTART is defined
330
331	* configure.in: use *ksh* rather than just *ksh to match
332	ksh shell specification.
333
334	* unit-tests/Makefile: expand BROKEN_TESTS for ksh and
335	mksh in particular
336
3372024-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
338
339	* VERSION (_MAKE_VERSION): 20240711
340	Merge with NetBSD make, pick up
341	o compat.c: allow Compat_RunCommand to also handle very long
342	commands by writing to a temp file when needed.
343	o main.c: extract the temp file logic recently added to Cmd_Exec
344	to Cmd_Argv so it can be leveraged by Compat_RunCommand.
345
3462024-07-09  Simon J Gerraty  <sjg@beast.crufty.net>
347
348	* VERSION (_MAKE_VERSION): 20240709
349	Merge with NetBSD make, pick up
350	o error out on parse/evaluation errors in shell commands
351	o var.c: error out on syntax errors in ':M' and ':N' modifiers
352
3532024-07-07  Simon J Gerraty  <sjg@beast.crufty.net>
354
355	* VERSION (_MAKE_VERSION): 20240707
356	Merge with NetBSD make, pick up
357	o only generate code for cleanup functions in CLEANUP mode
358	o hash.c: don't track hash table chain lengths during lookup
359	unless debugging
360	o main.c: move initialization of variable scopes to targ.c
361	o var.c: remove Var_End as it is now unnecessary
362
3632024-07-06  Simon J Gerraty  <sjg@beast.crufty.net>
364
365	* VERSION (_MAKE_VERSION): 20240706
366	Merge with NetBSD make, pick up
367	o reduce lint comments about ARGSUSED
368	o cond.c: error out on conditions containing the operators '&' and '|'
369	o str.c: error out on a matching malformed matching pattern '[['
370	o var.c: in error messages, distinguish parsing from evaluating
371	in error messages for anonymous variables, log the value
372	error out on unclosed expressions during parse time
373
3742024-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
375
376	* VERSION (_MAKE_VERSION): 20240704
377	Merge with NetBSD make, pick up
378	o add more context information to error messages
379	o main.c: on error, print the targets to be made
380	add detailed exit status to message for failed sub-commands
381	o var.c: error out on the "Bad modifier" error message
382
3832024-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
384
385	* VERSION (_MAKE_VERSION): 20240701
386	Merge with NetBSD make, pick up
387	o var.c: add :tt for Title case
388
3892024-06-30  Simon J Gerraty  <sjg@beast.crufty.net>
390
391	* configure.in: 20240630 further refine check for whether
392	TZ=Europe/Berlin works
393
394	* VERSION (_MAKE_VERSION): 20240630
395	Merge with NetBSD make, pick up
396	o job.c: reduce use of UNCONST
397	o main.c: add detailed exit status to message for failed sub-commands
398	o var.c: error out on some more syntax errors
399	add more context to "returned non-zero status" message
400
4012024-06-25  Simon J Gerraty  <sjg@beast.crufty.net>
402
403	* VERSION (_MAKE_VERSION): 20240625
404	Merge with NetBSD make, pick up
405	o job.c: ensure shellPath is always duped, avoid upsetting free()
406
4072024-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
408
409	* VERSION (_MAKE_VERSION): 20240616
410	Merge with NetBSD make, pick up
411	o clean up collection of context information for error messages
412	o in warnings, move the word "warning" to the front
413	o var.c: throw an error on attempt to override an internal
414	read-only variable
415
4162024-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
417
418	* VERSION (_MAKE_VERSION): 20240610
419	Merge with NetBSD make, pick up
420	o for.c: remove redundant shortcut for building the .for loop body
421
4222024-06-02  Simon J Gerraty  <sjg@beast.crufty.net>
423
424	* VERSION (_MAKE_VERSION): 20240602
425	Merge with NetBSD make, pick up
426	o rename some VarEvalMode constants to better match debug names.
427	o var.c: avoid out-of-bounds read when parsing indirect modifiers.
428
4292024-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
430
431	* VERSION (_MAKE_VERSION): 20240601
432	Merge with NetBSD make, pick up
433	o add .export-all rather than allow .export with no argument
434	which can happen accidentally.
435	o if lua is available, run check-expect.lua after unit-tests
436	o main.c: use snprintf rather than strncpy
437	fix memory leak when purging realpath cache.
438
4392024-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
440
441	* VERSION (_MAKE_VERSION): 20240528
442	Merge with NetBSD make, pick up
443	o fix a number of memory leaks
444	o replace magic numbers with POSIX FILENO constants
445	o hash.c: remove dead code from HashTable_DeleteEntry
446	o main.c: when complaining about unusable .OBJDIR
447	call PrintOnError if MAKE_DEBUG_OBJDIR_CHECK_WRITABLE is true.
448	o parse.c: use fewer technical terms in debug message for dependency
449
4502024-05-20  Simon J Gerraty  <sjg@beast.crufty.net>
451
452	* VERSION (_MAKE_VERSION):
453	Merge with NetBSD make, pick up
454	o dir.c: in FindFile restore last search of .CURDIR even for
455	includes, as a number of existing makefiles are broken otherwise.
456
4572024-05-19  Simon J Gerraty  <sjg@beast.crufty.net>
458
459	* VERSION (_MAKE_VERSION): 20240519
460	Merge with NetBSD make, pick up
461	o dir.c: Add Dir_FindInclude, FindFile without looking in .CURDIR.
462	Also fix Dir_SetSYSPATH to use defSysIncPath if sysIncPath is empty.
463	o main.c: no need to set .DOTLAST in sysIncPath
464
4652024-05-07  Simon J Gerraty  <sjg@beast.crufty.net>
466
467	* VERSION (_MAKE_VERSION): 20240508
468	Merge with NetBSD make, pick up
469	o make: ensure variables set on command line get added to
470	.MAKEOVERRIDES (even if they start with '.') so they are passed to
471	sub-makes.
472
4732024-04-30  Simon J Gerraty  <sjg@beast.crufty.net>
474
475	* VERSION (_MAKE_VERSION): 20240430
476	Merge with NetBSD make, pick up
477	o main.c: ensure '.include <makefile>' respects MAKESYSPATH.
478	Dir_FindFile will search .CURDIR first unless ".DOTLAST" is seen.
479
4802024-04-28  Simon J Gerraty  <sjg@beast.crufty.net>
481
482	* VERSION (_MAKE_VERSION): 20240428
483	Merge with NetBSD make, pick up
484	o simplify freeing of lists
485	o arch.c: trim pointless comments
486	o var.c: delay variable assignments until actually needed
487	don't reallocate memory after evaluating an expression, result is
488	almost always short-lived.
489
4902024-04-26  Simon J Gerraty  <sjg@beast.crufty.net>
491
492	* VERSION (_MAKE_VERSION): 20240426
493	Merge with NetBSD make, pick up
494	o job.c: in debug output, print the directory in which a job
495	failed at same time as failed target so it is more easily found in
496	build log.
497
4982024-04-24  Simon J Gerraty  <sjg@beast.crufty.net>
499
500	* VERSION (_MAKE_VERSION): 20240424
501	Merge with NetBSD make, pick up
502	o clean up comments, code and tests
503
5042024-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
505
506	* VERSION (_MAKE_VERSION): 20240422
507	Merge with NetBSD make, pick up
508	o var.c: avoid LazyBuf for :*time modifiers.
509	LazyBuf's are not nul terminated so not suitable for passing to
510	functions that expect that. These modifiers are used sparingly so
511	an extra allocation is not a problem.
512
5132024-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
514
515	* VERSION (_MAKE_VERSION): 20240420
516	Merge with NetBSD make, pick up
517	o provide more context information for parse/evaluate errors
518
5192024-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
520
521	* VERSION (_MAKE_VERSION): 20240414
522	Merge with NetBSD make, pick up
523	o parse.c: print -dp debug info earlier so we see which
524	.if or .for line is being parsed.
525
5262024-04-04  Simon J Gerraty  <sjg@beast.crufty.net>
527
528	* VERSION (_MAKE_VERSION): 20240404
529	Merge with NetBSD make, pick up
530	o fix some unit tests for Cygwin
531	o parse.c: exit immediately after reading a null byte from a makefile
532
533	* fix generation of bmake.cat1
534
5352024-03-19  Simon J Gerraty  <sjg@beast.crufty.net>
536
537	* VERSION (_MAKE_VERSION): 20240314
538	Add/Improve support for Cygwin
539	o uname -s output isn't useful so allow configure to
540	set FORCE_MAKE_OS - to force the value of .MAKE.OS
541	and use Cygwin which matches uname -o
542	o fix some unit-tests for Cygwin
543
5442024-03-10  Simon J Gerraty  <sjg@beast.crufty.net>
545
546	* boot-strap: tests can take a long time; use a cookie to
547	skip them if bmake has not been updated since tests last
548	ran successfully.
549
550	* Makefile: Cygwin handles MANTARGET man
551
552	* unit-tests/Makefile: set BROKEN_TESTS for Cygwin
553
5542024-03-09  Simon J Gerraty  <sjg@beast.crufty.net>
555
556	* VERSION (_MAKE_VERSION): 20240309
557	Merge with NetBSD make, pick up
558	o set .ERROR_EXIT to the exit status of .ERROR_TARGET
559	this allows a .ERROR target to ignore the case of
560	.ERROR_EXIT==6 which just means that the build actually
561	failed somewhere else.
562
5632024-03-04  Simon J Gerraty  <sjg@beast.crufty.net>
564
565	* VERSION (_MAKE_VERSION): 20240303
566
567	* var.c: on IRIX we need both inttypes.h and stdint.h
568
5692024-03-01  Simon J Gerraty  <sjg@beast.crufty.net>
570
571	* VERSION (_MAKE_VERSION): 20240301
572	Merge with NetBSD make, pick up
573	o export variables with value from target scope
574	when appropriate.
575
5762024-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
577
578	* VERSION (_MAKE_VERSION): 20240212
579	Merge with NetBSD make, pick up
580	o remove unneeded conditional-compilation toggles
581	INCLUDES, LIBRARIES, POSIX, SYSVINCLUDE, SYSVVARSUB,
582	GMAKEEXPORT NO_REGEX and SUNSHCMD
583
584	* configure.in: add check for regex.h
585
586	* var.c: replace use of NO_REGEX with HAVE_REGEX_H
587
5882024-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
589
590	* VERSION (_MAKE_VERSION): 20240204
591	Merge with NetBSD make, pick up
592	o var.c: fix some lint (-dL) mode parsing issues
593
5942024-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
595
596	* VERSION: (_MAKE_VERSION): 20240202
597	Merge with NetBSD make, pick up
598	o make.1: note that arg to :D and :U can be empty
599	o var.c: $$ is not a parse error when .MAKE.SAVE_DOLLARS=no
600
6012024-01-08  Simon J Gerraty  <sjg@beast.crufty.net>
602
603	* VERSION (_MAKE_VERSION): 20240108
604	Merge with NetBSD make, pick up
605	o miscellaneous cleanups
606
6072024-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
608
609	* VERSION (_MAKE_VERSION): 20240106
610	Merge with NetBSD make, pick up
611	o fix duplicate progname when reporting an unknown target
612	o unit tests for Cmd_Exec using temp file
613
6142024-01-05  Simon J Gerraty  <sjg@beast.crufty.net>
615
616	* VERSION (_MAKE_VERSION): 20240105
617	Merge with NetBSD make, pick up
618	o main.c: Cmd_Exec write cmd to a file if too big
619	avoid blowing commandline/env limits
620
6212024-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
622
623	* VERSION (_MAKE_VERSION): 20240101
624	o util.c: flesh out more of strftime
625	* configure.in: add --with-bmake-strftime
626	it is not a full implementation but enough to pass all
627	the unit-tests.
628	* parse.c: LoadFile do not append \n to empty buffer.
629
6302023-12-30  Simon J Gerraty  <sjg@beast.crufty.net>
631
632	* VERSION (_MAKE_VERSION): 20231230
633	Merge with NetBSD make, pick up
634	o simplify memory allocation for string buffers
635	o fix declared types of list nodes
636	o suff.c: clean up freeing of suffixes
637	o var.c: simplify debug message for the ':@var@...@' modifier
638	clean up variable handling
639
6402023-12-26  Simon J Gerraty  <sjg@beast.crufty.net>
641
642	* VERSION (_MAKE_VERSION): 20231226
643	Merge with NetBSD make, pick up
644	o compat.c: ensure make's output is correctly ordered with that of
645	the target when not going to a tty
646	o main.c: check for shellPath whether to call Shell_Init()
647
6482023-12-24  Simon J Gerraty  <sjg@beast.crufty.net>
649
650	* VERSION (_MAKE_VERSION): 20231224
651	Merge with NetBSD make, pick up
652	o compat.c: check for shellPath whether to call Shell_Init()
653	tweak the unit test to detect the bug thus fixed.
654	o make.1: do not claim .SHELL is only used by jobs mode.
655
6562023-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
657
658	* VERSION (_MAKE_VERSION): 20231220
659	Merge with NetBSD make, pick up
660	o str.c: speed up pattern matching in the ':M' modifier
661	o var.c: fix confusing debug logging when deleting a variable
662	use consistent debug messages style when ignoring variables
663
6642023-12-10  Simon J Gerraty  <sjg@beast.crufty.net>
665
666	* VERSION (_MAKE_VERSION): 20231210
667	Merge with NetBSD make, pick up
668	o var.c: avoid segfault on empty :C match expression
669	explain in debug log why variable assignment is ignored.
670
6712023-12-08  Simon J Gerraty  <sjg@beast.crufty.net>
672
673	* VERSION (_MAKE_VERSION): 20231208
674	Merge with NetBSD make, pick up
675	o var.c: ensure fromCmd is set correctly for variables set on
676	command line.
677
6782023-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
679
680	* configure.in: disable generation of 'makefile' for
681	Darwin by default.
682
683	* boot-strap: docuement --without-makefile
684
6852023-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
686
687	* VERSION (_MAKE_VERSION): 20231124
688	Merge with NetBSD make, pick up
689	o main.c: cleanup processing of -j
690	fix lint warning about strchr
691	o var.c: more accurate error message for invalid ':mtime' argument
692	cleanup :[...] modifier
693	avoid reading beyond substring when comparing
694	o unit-tests cover all cases of :mtime, test and explain exporting
695	of variables
696	o cleanup comments
697
6982023-09-17  Simon J Gerraty  <sjg@beast.crufty.net>
699
700	* bsd.after-import.mk (ECHO_TAG): FreeBSD no longer uses
701	$FreeBSD$ tag, so avoid adding it.
702
7032023-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
704
705	* VERSION (_MAKE_VERSION): 20230909
706	Merge with NetBSD make, pick up
707	o main.c: allow -j to compute a multiple of ncpu
708	If _SC_NPROCESSORS_ONLN is supported; and -j arg is a floating
709	point number or ends in 'C' compute .MAKE.JOBS as a multiple of
710	_SC_NPROCESSORS_ONLN
711	.MAKE.JOBS.C will be "yes" if -jC is supported
712
7132023-08-20  Simon J Gerraty  <sjg@beast.crufty.net>
714
715	* VERSION (_MAKE_VERSION): 20230820
716	Merge with NetBSD make, pick up
717	o make.1: note that :localtime is better for %s
718	o parse.c: improve error messages for invalid input.
719	o var.c: fix for %s:L:gmtime - set TZ=UTC and use localtime to get
720	correct result, it is still better to use %s:L:localtime.
721
7222023-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
723
724	* VERSION (_MAKE_VERSION): 20230818
725	Merge with NetBSD make, pick up
726	o meta.c: meta_ignore - check raw path against metaIgnorePaths
727	to potentially skip call to realpath.
728	o var.c: be strict when parsing the argument of the ':mtime' modifier
729	o unit-tests/varmod-mtime.mk: document why '${%s:L:localtime}'
730	should be used to get an equivalent value to time(3).
731
7322023-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
733
734	* VERSION (_MAKE_VERSION): 20230816
735	Merge with NetBSD make, pick up
736	o cond.c: clean up multiple-inclusion guards
737
7382023-07-25  Simon J Gerraty  <sjg@beast.crufty.net>
739
740	* unit-tests/Makefile: addd varmod-localtime to BROKEN_TESTS
741	if configure cannot work out how to control TZ.
742	Remove varmod-localtime from BROKEN_TESTS for IRIX*
743
7442023-07-24  Simon J Gerraty  <sjg@beast.crufty.net>
745
746	* VERSION (_MAKE_VERSION): 20230723
747
748	* configure.in: fix the test for wether TZ=Europe/Berlin works.
749	Depending on the time of year, if run between 22:00 and 00:00 UTC
750	the check in configure would fail incorrectly.
751	Take the day into account as well.
752
7532023-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
754
755	* VERSION (_MAKE_VERSION): 20230711
756	Merge with NetBSD make, pick up
757	o make.1: clean up wording, clarify scope of '!' in conditions
758
7592023-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
760
761	* make-bootstrap.sh.in: set prefix
762	If configure is run using ksh we get unexpanded ${prefix} in
763	DEFAULT_SYS_PATH, by ensuring prefix is set we should still get
764	correct result.
765
7662023-07-13  Simon J Gerraty  <sjg@beast.crufty.net>
767
768	* VERSION (_MAKE_VERSION): 20230711
769	bump version for IRIX tweaks
770
771	* make.h: undef OP_NONE if defined
772
773	* unit-tests/Makefile: set BROKEN_TESTS for IRIX
774
775	* configure.in: override INSTALL on IRIX
776
7772023-06-27  Simon J Gerraty  <sjg@beast.crufty.net>
778
779	* boot-strap op_test: ensure we set TEST_MAKE as we want it.
780
7812023-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
782
783	* VERSION (_MAKE_VERSION): 20230622
784	Merge with NetBSD make, pick up
785	o optimize string matching for ':M' and ':N'
786	o warn about malformed patterns in ':M', ':N' and '.if make(...)'
787
7882023-06-21  Simon J Gerraty  <sjg@beast.crufty.net>
789
790	* VERSION (_MAKE_VERSION): 20230621
791	Merge with NetBSD make, pick up
792	o more extensive tests for include guards
793	o parse.c: if a guard is already defined a file that uses the same
794	guard is still guarded by it.
795
7962023-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
797
798	* VERSION (_MAKE_VERSION): 20230620
799	Merge with NetBSD make, pick up
800	o allow guards to be targets as well as variables
801	The guard targets may include variable references like
802	__${.PARSEDIR:tA}/${.PARSEFILE}__
803
8042023-06-19  Simon J Gerraty  <sjg@beast.crufty.net>
805
806	* VERSION (_MAKE_VERSION): 20230619
807	Merge with NetBSD make, pick up
808	o unit test for .undef of readOnly vars
809	o optimization for makefiles protected from multiple-inclusion
810	skip even opening the file after first include.
811	Initially this only handles makefiles guarded by a variable
812	target guards are next.
813
8142023-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
815
816	* VERSION (_MAKE_VERSION): 20230616
817	Merge with NetBSD make, pick up
818	o var.c: do not allow delete of readOnly variable
819
8202023-06-03  Simon J Gerraty  <sjg@beast.crufty.net>
821
822	* VERSION (_MAKE_VERSION): 20230601
823	Merge with NetBSD make, pick up
824	o parse.c: .break takes no args
825	o lots of unit test updates
826
8272023-05-29  Simon J Gerraty  <sjg@beast.crufty.net>
828
829	* unit-tests/Makefile: skip tests that require /dev/filemon
830	if it does not exists - issue a warning.
831
8322023-05-22  Simon J Gerraty  <sjg@beast.crufty.net>
833
834	* VERSION (_MAKE_VERSION): 20230522
835	Fix building on darwin ppc
836
837	* os.sh (MACHINE): Darwin powerpc cannot use `uname -m`
838	also recent NetBSD uses x86_64 for MACHINE_ARCH so conform.
839
8402023-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
841
842	* VERSION (_MAKE_VERSION): 20230515
843
844	* Makefile (COPTS.filemon_ktrace.c): NetBSD 7 needs help to
845	compile filemon_ktrace.c
846
8472023-05-13  Simon J Gerraty  <sjg@beast.crufty.net>
848
849	* VERSION (_MAKE_VERSION): 20230512
850	o sys.dirdeps.mk - broke after-import target
851
8522023-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
853
854	* VERSION (_MAKE_VERSION): 20230510
855	Merge with NetBSD make, pick up
856	o parse.c: don't print null filename in stack traces
857	o var.c: :mtime operate on each word in variable value
858
8592023-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
860
861	* VERSION (_MAKE_VERSION): 20230509
862	Merge with NetBSD make, pick up
863	o for.c: skip syntactically wrong .for loops
864	o var.c: allow for :gmtime=${mtime}
865	add :mtime[=timestamp] where timestamp is used if stat(2)
866	fails, if :mtime=error stat(2) failure causes error.
867
8682023-05-05  Simon J Gerraty  <sjg@beast.crufty.net>
869
870	* VERSION (_MAKE_VERSION): 20230504
871	Merge with NetBSD make, pick up
872	o compat.c: fix compile on NetBSD 7.2
873	o make.1: fix documentation of .PREFIX to match reality and POSIX
874	o unit-tests: improved var-scope-local
875
8762023-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
877
878	* VERSION (_MAKE_VERSION): 20230414
879	Merge with NetBSD make, pick up
880	o minor cleanup
881
8822023-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
883
884	* main.c: on some systems (eg OS/X) setting RLIMIT_NOFILE to
885	unlimited results in an insane number (0x7fffffffffffffff).
886	If BMAKE_NOFILE_MAX is defined, use that instead.
887
8882023-03-22  Simon J Gerraty  <sjg@beast.crufty.net>
889
890	* VERSION (_MAKE_VERSION): 20230321
891	Merge with NetBSD make, pick up
892	* make.1: document seemingly unexplained Error code 6.
893
8942023-03-18  Simon J Gerraty  <sjg@beast.crufty.net>
895
896	* VERSION (_MAKE_VERSION): 20230317
897	Merge with NetBSD make, pick up
898	o compat.c: CompatDeleteTarget skip .PHONY targets to be
899	consistent with JobDeleteTarget.
900	o job.c: fix memory leak in handling sysv :from=to modifiers
901
9022023-03-04  Simon J Gerraty  <sjg@beast.crufty.net>
903
904	* VERSION (_MAKE_VERSION): 20230303
905	Merge with NetBSD make, pick up
906	o several updated unit-tests
907
9082023-02-22  Simon J Gerraty  <sjg@beast.crufty.net>
909
910	* VERSION (_MAKE_VERSION): 20230222
911	Merge with NetBSD make, pick up
912	o unit tests for .MAKE.META.IGNORE_{FILTER,PATHS,PATTERNS}
913
9142023-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
915
916	* VERSION (_MAKE_VERSION): 20230218
917	Merge with NetBSD make, pick up
918	o var.c: fix parsing of unevaluated subexpressions with
919	unbalanced '{}'
920
9212023-02-17  Simon J Gerraty  <sjg@beast.crufty.net>
922
923	* VERSION (_MAKE_VERSION): 20230215
924	Merge with NetBSD make, pick up
925	o inline macros for some variable names
926	o cond.c: reduce complexity of evaluating expressions
927
9282023-02-08  Simon J Gerraty  <sjg@beast.crufty.net>
929
930	* VERSION (_MAKE_VERSION): 20230208
931	Merge with NetBSD make, pick up
932	o var.c: always use SCOPE_GLOBAL for :_ to avoid problems
933	when it has been used within conditional expressions
934
9352023-01-27  Simon J Gerraty  <sjg@beast.crufty.net>
936
937	* VERSION (_MAKE_VERSION): 20230127
938
939	* install-sh: if making directories ensure umask is set
940	to match mode.
941
942	* Makefile: use DIRMODE for directories and
943	NONBINMODE for man pages and mk files
944
9452023-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
946
947	* VERSION (_MAKE_VERSION): 20230126
948	Merge with NetBSD make, pick up
949	o variables like .newline and .MAKE.{GID,PID,PPID,UID}
950	should be read-only.
951
9522023-01-23  Simon J Gerraty  <sjg@beast.crufty.net>
953
954	* VERSION (_MAKE_VERSION): 20230123
955	Merge with NetBSD make, pick up
956	o .[NO]READONLY: for control of read-only variables
957	o .SYSPATH: for controlling the path searched for makefiles
958
9592023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
960
961	* VERSION (_MAKE_VERSION): 20230120
962	Merge with NetBSD make, pick up
963	o allow for white-space between command specifiers @+-
964	o add more details to warning 'Extra targets ignored'
965
9662023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
967
968	* machine.sh: leverage os.sh rather than duplicate
969	also dispence with the $OS.$MACHINE values - we have $HOST_TARGET
970	for that purpose for the past decade or so.
971	We invariably get MACHINE and MACHINE_ARCH at runtime anyway.
972
9732023-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
974
975	* VERSION (_MAKE_VERSION): 20230101
976	Merge with NetBSD make, pick up
977	o cleanup comments, inline some LazyBuf_ methods
978	o unit-tests/ add/improve comments in tests
979	o make.1: sync list of built-in variables with reality
980	sort list of built-in variables
981	reduce indentation of the long list of variable names
982	use consistent markup for boolean flags
983	move description of .MAKE.MODE below the .MAKE.META block
984	clarify in which case an expression may omit braces
985
9862022-11-08  Simon J Gerraty  <sjg@beast.crufty.net>
987
988	* VERSION (_MAKE_VERSION): 20221024
989	Merge with NetBSD make, pick up
990	o change return type of unlink_file back to int
991
9922022-10-07  Simon J Gerraty  <sjg@beast.crufty.net>
993
994	* Makefile: Darwin and Linux can handle MANTARGET=man
995
9962022-09-28  Simon J Gerraty  <sjg@beast.crufty.net>
997
998	* VERSION (_MAKE_VERSION): 20220928
999	Merge with NetBSD make, pick up
1000	o fix more ignored returns from snprintf
1001	o compile with higher warnings
1002
10032022-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
1004
1005	* main.c meta.c: do not ignore return from snprintf
1006
1007	* meta.c strlcpy.c: we need prototype for strlcpy
1008
1009	* sigcompat.c: fix unused function warnings
1010
10112022-09-24  Simon J Gerraty  <sjg@beast.crufty.net>
1012
1013	* VERSION (_MAKE_VERSION): 20220924
1014	Merge with NetBSD make, pick up
1015	o fix bug in .break reset of conditional depth
1016	o overhaul and simplify tracking of conditional depth
1017
10182022-09-17  Simon J Gerraty  <sjg@beast.crufty.net>
1019
1020	* VERSION (_MAKE_VERSION): 20220912
1021	Merge with NetBSD make, pick up
1022	o man page updates
1023
10242022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
1025
1026	* VERSION (_MAKE_VERSION): 20220909
1027	Merge with NetBSD make, pick up
1028	o update unit-tests to handle deprecation of egrep
1029	o cond.c: add more details to error message for numeric comparison
1030
1031	* configure.in: allow for deprecation of egrep
1032
1033	* Makefile: Linux can handle MANTARGET=man
1034
10352022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
1036
1037	* VERSION (_MAKE_VERSION): 20220903
1038	Merge with NetBSD make, pick up
1039	o job.c: fix handling of null bytes in output
1040
10412022-09-02  Simon J Gerraty  <sjg@beast.crufty.net>
1042
1043	* VERSION (_MAKE_VERSION): 20220902
1044	Merge with NetBSD make, pick up
1045	o Allow .break to terminate a .for loop early
1046
10472022-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
1048
1049	* VERSION (_MAKE_VERSION): 20220901
1050	Merge with NetBSD make, pick up
1051	o var.c: fix out-of-bounds errors when parsing
1052
10532022-08-24  Simon J Gerraty  <sjg@beast.crufty.net>
1054
1055	* VERSION (_MAKE_VERSION): 20220824
1056	Merge with NetBSD make, pick up
1057	o var.c: revert change to modifier parsing that breaks
1058	shell variable references within ':@var@body@'
1059	o adjust unit-tests
1060
10612022-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
1062
1063	* VERSION (_MAKE_VERSION): 20220818
1064	Merge with NetBSD make, pick up
1065	o fix exit status for '-q' (since 1994)
1066
10672022-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
1068
1069	* VERSION (_MAKE_VERSION): 20220808
1070	Merge with NetBSD make, pick up
1071	o var.c: fix parsing of modifiers containing unbalanced subexpressions
1072	extract parsing of ':D' and ':U' modifiers into separate function
1073
10742022-07-26  Simon J Gerraty  <sjg@beast.crufty.net>
1075
1076	* VERSION (_MAKE_VERSION): 20220726
1077
1078	* Auto-create objdir for bmake/unit-tests if appropriate
1079
10802022-07-24  Simon J Gerraty  <sjg@beast.crufty.net>
1081
1082	* VERSION (_MAKE_VERSION): 20220724
1083	Merge with NetBSD make, pick up
1084	o make.1: describe variable assignment and evaluation more precisely
1085	o parse.c: fix out-of-bounds read when parsing an invalid line
1086	o var.c: simplify return type of IsShortVarnameValid
1087
10882022-06-12  Simon J Gerraty  <sjg@beast.crufty.net>
1089
1090	* VERSION (_MAKE_VERSION): 20220612
1091	Merge with NetBSD make, pick up
1092	o allow to randomize build order of targets
1093	.MAKE.MODE += randomize-targets can help uncover dependency bugs
1094	within a makefile.
1095	o compat.c: rename Compat_Run to Compat_MakeAll
1096	o make.c: inline MakeBuildParent
1097	inline make_abort, improve error details
1098	o parse.c: reorganize Parse_Error
1099	fix memory leak in wildcard targets and sources
1100	separate cases in HandleDependencyTargetMundane
1101	extract HandleSingleDependencyTargetMundane
1102	rename loadfile to LoadFile
1103	split IncludeFile into separate functions
1104	condense code for searching a file in the paths
1105	fix off-by-one error in buffer for .WAIT nodes
1106	o str.c: condense Str_Match
1107	make code for string matching syntactically more consistent
1108
11092022-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
1110
1111	* VERSION (_MAKE_VERSION): 20220418
1112	Merge with NetBSD make, pick up
1113	o ignore '.POSIX:' if not in first non-comment line
1114	of Makefile as specified by POSIX.
1115	add unit-tests for above.
1116	o meta.c: make it easier to find usage of identifiers
1117	o targ.c: add .USEBEFORE to Targ_PrintType
1118
11192022-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
1120
1121	* VERSION (_MAKE_VERSION): 20220414
1122
1123	* unit-tests/Makefile: simplify checks for shells with
1124	BROKEN_TESTS, this helps with other Linux distros that
1125	use dash.
1126
11272022-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
1128
1129	* VERSION (_MAKE_VERSION): 20220330
1130	Merge with NetBSD make, pick up
1131	o var.c: fix spacing, and a typo in a test
1132
11332022-03-26  Simon J Gerraty  <sjg@beast.crufty.net>
1134
1135	* VERSION (_MAKE_VERSION): 20220326
1136	Merge with NetBSD make, pick up
1137	o parse.c: try to include 'posix.mk' the first time
1138	.POSIX: is encountered, to allow for beter POSIX compliance.
1139	o var.c: make debug logs more readable
1140	prefer 'long long' over 'long' on 32-bit C99 platforms
1141	fix crash on .undef of an environment variable
1142
11432022-03-03  Simon J Gerraty  <sjg@beast.crufty.net>
1144
1145	* VERSION (_MAKE_VERSION): 20220303
1146	Merge with NetBSD make, pick up
1147	o tell meta mode unit tests not to expect filemon
1148	o cond.c: make debug logging for comparisons less technical
1149	o lst.c: fix mem leak in Lst_Remove
1150	o str.c: make code for string matching syntactically more consistent
1151	o var.c: simplify ParseModifier_Match
1152
11532022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
1154
1155	* unit-tests/Makefile: control MAKESYSPATH for deptgt-phony
1156
1157	* VERSION (_MAKE_VERSION): 20220214
1158	Merge with NetBSD make, pick up
1159	o cond.c: simplify control flow in CondParser_Comparison
1160	o job.c: fix echoing of command with '-' in silent target in jobs mode
1161	o main.c: prefix the warning about read-only .OBJDIR with a colon
1162	o parse.c: remove redundant conditions
1163	o var.c: simplify control flow in ModifyWord_SysVSubst
1164
11652022-02-08  Simon J Gerraty  <sjg@beast.crufty.net>
1166
1167	* unit-tests/Makefile: disable opt-debug-x-trace on Linux if there
1168	is any chance we have dash as .SHELL
1169
1170	* VERSION (_MAKE_VERSION): 20220208
1171	Merge with NetBSD make, pick up
1172	o more unit tests
1173	o meta.c: use a variable to hold command line to be filtered
1174	to avoid any side effects from content of command line.
1175
11762022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
1177
1178	* VERSION (_MAKE_VERSION): 20220204
1179	Merge with NetBSD make, pick up
1180	o use unsigned consistently for line numbers, avoid the need for %z
1181	o parse.c: do not step off end of input in Parse_IsVar
1182	when checking for target local variable assignments
1183
11842022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
1185
1186	* VERSION (_MAKE_VERSION): 20220202
1187	Merge with NetBSD make, pick up
1188	o remove redundant declaration of HashIter_Init
1189	o make DEBUG0 simpler
1190
11912022-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
1192
1193	* cast gn->lineno to avoid %z
1194
1195	* VERSION (_MAKE_VERSION): 20220130
1196	Merge with NetBSD make, pick up
1197	o more unit tests
1198	o make GNode lineno unsigned to please lint
1199	o print location of recursive variable references in commands
1200	o print "stack trace" (makefile includes) on fatal errors
1201	o make.1: refine documentation for target local assignments
1202
12032022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
1204
1205	* VERSION (_MAKE_VERSION): 20220128
1206	Merge with NetBSD make, pick up
1207	o inline functions called only once
1208	o for.c: clean up AddEscape for building the body of a .for loop
1209	o hash.c: merge duplicate code for finding an entry in a hash table
1210	replace HashEntry_KeyEquals with strncmp
1211	o make.1: document quirks of target local variable assignments.
1212	o parse.c: cleanup white-space
1213
12142022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
1215
1216	* VERSION (_MAKE_VERSION): 20220126
1217	Merge with NetBSD make, pick up
1218	o allow setting target local variables
1219	o more unit tests
1220	o add missing newline after "cannot continue" message
1221	o meta.c: clean up eat_dots
1222	o parse.c: fix filename in warning about duplicate script
1223	o var.c: when expanding nested variables, check simple things first
1224
12252022-01-16  Simon J Gerraty  <sjg@beast.crufty.net>
1226
1227	* VERSION (_MAKE_VERSION): 20220116
1228	Merge with NetBSD make, pick up
1229	o fix for unit-tests/varname-makeflags on non-BSD systems
1230	o use Var_Exists rather than Var_Value where appropriate
1231	o remove unnecessary functions for expanding variable names
1232	o cond.c: inline EvalBare
1233	o main.c: lint cleanup
1234	o parse.c: condense code in Parse_IsVar
1235	use islower for parsing directives (none have upper case)
1236
12372022-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
1238
1239	* VERSION (_MAKE_VERSION): 20220112
1240	Merge with NetBSD make, pick up
1241	o meta.c: add .MAKE.META.CMP_FILTER for filtering commands before
1242	comparion, rarely needed but useful when it is.
1243
12442022-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
1245
1246	* VERSION (_MAKE_VERSION): 20220110
1247	Merge with NetBSD make, pick up
1248	o inline Buf_Clear
1249	o remove redundant braces
1250	o rename and inline Targ_Precious
1251	o cond.c: remove redundant initializer in CondParser_ComparisonOrLeaf
1252	o for.c: clean up handling of .for loops
1253	fix reported line numbers of continuation lines
1254	add details about .for loop variables to stack traces
1255	o job.c: reduce code for initializing error handling in shell
1256	o main.c: in Cmd_Exec, return error message instead of format string
1257	have as few statements as possible between va_start and va_end
1258	add debug logging for capturing the output of external commands
1259	o make.c: use consistent variable names for varargs
1260	o make_malloc.c: remove duplicate code from bmake_strdup
1261	o parse.c: add missing printflike annotations
1262	remove redundant lines from stack traces
1263	fix stack traces in -dp mode
1264	reduce confusing code in ParseForLoop
1265	fix line number in debug log after returning from a file
1266	rename IFile and its fields to match their actual content
1267	clean up ParseDependencySources
1268	o var.c: shorten ApplyModifier_Assign
1269	rename is_shell_metachar, fix character conversion warning
1270	merge calls to ApplyModifier_Time
1271	merge duplicate code for modifiers 'gmtime' and 'localtime'
1272
12732022-01-04  Simon J Gerraty  <sjg@beast.crufty.net>
1274
1275	* parse.c: loadfile restore extra byte in buffer.
1276
12772022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
1278
1279	* VERSION (_MAKE_VERSION): 20220101
1280	Merge with NetBSD make, pick up
1281	o more unit-tests
1282	o remove unnecessary words from command line options in CmdOpts
1283	o rename eunlink to unlink_file
1284	o cond.c: make ParseWord in condition parser simpler
1285	internally return false for irrelevant leaves in conditions
1286	replace table for function lookup in conditions with simple code
1287	merge duplicate types CondEvalResult and CondResult
1288	o for.c: clean up handling of .for loops and .include directives
1289	o main.c: constify cached_realpath
1290	clean up Cmd_Exec
1291	o parse.c: sync API documentation
1292	fix error message when reading more than 1 GB from stdin
1293	clean up parsing of makefiles
1294	fix line number in error message about open conditionals
1295	unexport types VarAssignOp and VarAssign
1296	clean up function names
1297	remove redundant parameters in dependency parsing functions
1298	reduce scope of the list of wildcard target names
1299	extract OP_NOTARGET into separate function
1300	clean up variable names for parsing dependency lines
1301	make debug logging a bit more human-friendly
1302	o var.c: condense code in ApplyModifier_Assign
1303
13042021-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
1305
1306	* VERSION (_MAKE_VERSION): 20211221
1307	Merge with NetBSD make, pick up
1308	o more unit-tests
1309	o style cleanup
1310	o in CLEANUP mode, free interned strings at the very end
1311	o fix memory leak for filenames in .for loops
1312	o buf.c: avoid memory leak
1313	o cond.c: condense CondParser_ComparisonOp
1314	o hash.c: change return type of HashTable_Set to void
1315	o job.c: change return type of Compat_RunCommand from int to bool
1316	o main.c: remove bmake_free
1317	o parse.c: condense repetetive code in ParseDirective
1318	remove dead code for handling traditional include directives
1319	clean up parsing of variable assignments
1320	remove unreachable code for parsing the dependency operator
1321	clean up loading of files
1322	fix memory leak in IncludeFile
1323	o var.c: fix memory leak when parsing a variable name
1324	fix memory leak from ${.SUFFIXES}
1325	reduce memory allocation in modifier ':?' and ':C'
1326	condense RegexReplace for the modifier ':C' and avoid strlen
1327	merge duplicate code for memory handling in Var_Parse
1328	distinguish between short-lived and environment variables
1329	rename VarFreeEnv to VarFreeShortLived
1330
13312021-12-15  Simon J Gerraty  <sjg@beast.crufty.net>
1332
1333	* cond.c: fix mem leak in CondParser_Leaf
1334
13352021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
1336
1337	* VERSION (_MAKE_VERSION): 20211212
1338	Merge with NetBSD make, pick up
1339	o rename Parse_SetInput to Parse_PushInput
1340	o remove remove period from end of error messages and warnings
1341	to be more consistent
1342	o arch.c: use simpler memory management for parsing archive members
1343	o cond.c: rework and reduce recursion
1344	o for.c: rename some functions to better reflect purpose
1345	o suff.c: add Suff_NamesStr to provide .SUFFIXES as a string.
1346	o var.c: in parse errors, mark whitespace more clearly
1347	inline ParseEmptyArg into CondParser_FuncCallEmpty
1348	minimize calls to LazyBuf_Get in ParseVarnameLong
1349	treat .SUFFIXES as a read-only variable
1350
13512021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
1352
1353	* VERSION (_MAKE_VERSION): 20211207
1354	Merge with NetBSD make, pick up
1355	o inline HashIter_Init
1356	o parse.c: inline common subexpression in ParseRawLine
1357	o var.c: merge branches for modifiers ':D' and ':U'
1358	extract common code into Expr_Words
1359	extract common code into Expr_Str
1360	move low-level implementation details out of Var_Parse
1361
13622021-12-06  Simon J Gerraty  <sjg@beast.crufty.net>
1363
1364	* VERSION (_MAKE_VERSION): 20211206
1365	Merge with NetBSD make, pick up
1366	o add unit-tests/varmod-loop-delete
1367	o for.c: inline Str_Words - reduce memory allocation
1368	o parse.c: do not try to expand fixed variable names
1369	only allocate the name of an included file if necessary
1370	clean up ParseInclude
1371	o var.c: fix use-after-free in modifier ':@'
1372	save a memory allocation in each modifier ':O' and ':u'
1373	save a memory allocation in the modifier ':[...]'
1374	in UnexportVars, replace Str_Words with Substring_Words to
1375	reduce allocations and copying.
1376
13772021-12-04  Simon J Gerraty  <sjg@beast.crufty.net>
1378
1379	* VERSION (_MAKE_VERSION): 20211204
1380	Merge with NetBSD make, pick up
1381	o flesh out a number of tests
1382	o replace enums with bitfields, this simplifies a lot of code.
1383	o var.c: refactor ParseModifierPartSubst
1384
13852021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
1386
1387	* VERSION (_MAKE_VERSION): 20211024
1388	Merge with NetBSD make, pick up
1389	o Punt on write errors - ENOSPC etc.
1390
13912021-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
1392
1393	* configure.in: use_defshell, set both DEFSHELL_INDEX
1394	and defshell_path if appropriate.
1395	This makes it easier to use say the KSH specification with
1396	and alternate path for the shell.
1397
1398	* configure.in compat.c: for SCO we need to force UseShell
1399
1400	* configure.in: SCO /bin/sh is not usable, provide a list of
1401	alternatives for use as .SHELL.
1402	We still have to mark some tests as broken, plus more if we end up
1403	with ksh as .SHELL.
1404	Issue a warning about skipped tests.
1405
1406	* boot-strap: leave TOOL_DIFF to configure
1407
1408	* configure.in: on SCO native cc is not usable,
1409	gcc is to be found in /usr/gnu/bin
1410	and while ancient is at least able to compile bmake.
1411	Thus we add /usr/gnu/bin to PATH if it exists, and later
1412	check if $CC would have been found via $PATH.
1413	If not we set CC to the full path of $CC.
1414	Also gnu diff is known to support -u, so if it exists use it.
1415
1416	* configure.in: move getopt to AC_REPLACE_FUNCS
1417	also add AC_C_INLINE - in an attempt to compile using
1418	native cc on SCO.
1419
1420	* configure.in: check for stresep as well as strsep, since we
1421	define the later to the former if necessary, and if we have to
1422	provide stresep we also need to provide a prototype.
1423
1424	* configure.in: we no longer need to worry about
1425	sys/cdefs.h providing __RCSID which simplifies things quite a bit.
1426
1427	* make.h: make sure we have __RCSID
1428
1429	* unit-tests/Makefile.config.in: add TOOL_DIFF so configure
1430	can control it.
1431
14322021-10-20  Simon J Gerraty  <sjg@beast.crufty.net>
1433
1434	* VERSION: 20211020
1435	Merge with NetBSD make, pick up
1436	o confirm sync of unit-tests
1437
14382021-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
1439
1440	* configure.in: check if timezone Europe/Berlin is supported
1441	if not try UTC-1
1442	* configure.in: if .OBJDIR is $srcdir/obj we need to create a
1443	symlink unit-tests -> ../unit-tests/obj so that
1444	unit-tests/Makefile.config is put in the right place.
1445	* refine filtering of .OBJDIR in unit-tests
1446
14472021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
1448
1449	* Fix unit-tests on Minix 3.2.0
1450	o job.c: do not punt if read of token pipe fails for EAGAIN.
1451	On Minix at least, we are not ready to read the childExitJob pipe
1452	when poll says we are.
1453	There should actually be no reason for this pipe to be
1454	non-blocking, but while that works fine on {Net,Free}BSD it
1455	breaks another test case on Minix.
1456	o unit-tests/Makefile: deal with variants of error messages
1457	  and use of obj as .OBJDIR
1458
14592021-10-14  Simon J Gerraty  <sjg@beast.crufty.net>
1460
1461	* configure.in: add sigaction to AC_REPLACE_FUNCS
1462	we also need to check for sigaddset etc just for the benefit of
1463	sigact.c
1464
1465	* Add sigact.c as sigaction.c so this "just works".
1466	This should have been done back when bmake_signal started using
1467	sigaction (I only just noticed that sigact.c wasn't here ;-)
1468	Note: I no longer have access to any system where this would matter.
1469
14702021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
1471
1472	* VERSION (_MAKE_VERSION): 20211011
1473
1474	* Makefile: cleanup a little
1475
1476	* configure.in: check for sigsetmask
1477
14782021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
1479
1480	* VERSION (_MAKE_VERSION): 20211001
1481	Merge with NetBSD make, pick up
1482	o reduce locations reducing text size
1483	o remove unnecessary const
1484	o cond.c: fix lint warning on i386
1485	do not allow unquoted 'left == right' after modifier ':?'
1486	o hash.c: fix build for DEBUG_HASH_LOOKUP
1487	o var.c: fix memory leak in error case of the ':?' modifier
1488
14892021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
1490
1491	* VERSION (_MAKE_VERSION): 20210911
1492	Merge with NetBSD make, pick up
1493	o var.c: replace remaining ModChain_ShouldEval with Expr_ShouldEval
1494
14952021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
1496
1497	* VERSION (_MAKE_VERSION): 20210906
1498	Merge with NetBSD make, pick up
1499	o more unit tests
1500	o lint cleanup
1501	o rename some functions to better fit purpose
1502	o for.c: cleanup - remove unnecessary optimization
1503	  fix embedded newlines
1504	o parse.c: correct case for CVS/RCS
1505
15062021-08-11  Simon J Gerraty  <sjg@beast.crufty.net>
1507
1508	* VERSION (_MAKE_VERSION): 20210808
1509	Merge with NetBSD make, pick up
1510	o var.c: remove redundant initialization in ApplyModifier_Order
1511
1512	* mk/options.mk: issue warning for incorrect usage
1513
15142021-08-03  Simon J Gerraty  <sjg@beast.crufty.net>
1515
1516	* var.c: use long for :On if we don't have a 64bit int type
1517
1518	* VERSION (_MAKE_VERSION): 20210803
1519	Merge with NetBSD make, pick up
1520	o rework varmod-order tests to avoid qsort instability
1521	o make.1: clarify :On entry
1522
15232021-07-31  Simon J Gerraty  <sjg@beast.crufty.net>
1524
1525	* VERSION (_MAKE_VERSION): 20210731
1526	Merge with NetBSD make, pick up
1527	o fix some lint issues
1528	o more unit tests
1529	o var.c: rework of ApplyModifier_Order
1530
15312021-07-30  Simon J Gerraty  <sjg@beast.crufty.net>
1532
1533	* util.c: add strto*l if HAVE_STRTO*L not defined
1534
1535	* VERSION (_MAKE_VERSION): 20210730
1536	Merge with NetBSD make, pick up
1537	o var.c: add :On and :Orn for numeric sort
1538	  disabled if no 64bit type available.
1539	o _strtol.h: to implement strto*l functions
1540
15412021-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
1542
1543	* VERSION (_MAKE_VERSION): 20210704
1544	Merge with NetBSD make, pick up
1545	o unit-tests: fix some tests to be more portable
1546	- job-output-null not all shells do the same number of write calls
1547	- objdir-writable if TMPDIR is set; /tmp may not be usable
1548
15492021-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
1550
1551	* VERSION (_MAKE_VERSION): 20210701
1552	Merge with NetBSD make, pick up
1553	o unit-tests: allow for BROKEN_TESTS to list TESTS to be skipped;
1554	some tests just cannot work in some environments.
1555	o buf.c: simpler upper bound for length in Buf_AddInt
1556	o cond.c: fix grammar in error message for malformed conditional
1557	o for.c: prevent newline injection (from ${.newline}) in .for loops
1558	o var.c: use more practical data type in RegexReplace
1559	(avoid need for %zu)
1560	extract RegexReplace from ModifyWord_SubstRegex
1561
15622021-06-21  Simon J Gerraty  <sjg@beast.crufty.net>
1563
1564	* VERSION (_MAKE_VERSION): 20210621
1565	Merge with NetBSD make, pick up
1566	o var.c: only report error for unmatched regex subexpression
1567	when linting (-dL) since we cannot tell when an unmatched
1568	subexpression is an expected result.
1569	o move unmatched regex subexpression tests to
1570	varmod-subst-regex.mk and enable strict (lint) mode
1571
15722021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
1573
1574	* VERSION (_MAKE_VERSION): 20210616
1575	Merge with NetBSD make, pick up
1576	o more unit tests
1577	o cond.c: rename If_Eval to EvalBare
1578	improve function names for parsing conditions
1579	o job.c: fix error handling of targets that cannot be made
1580	o var.c: uncompress code in ApplyModifier_Unique
1581
15822021-05-18  Simon J Gerraty  <sjg@beast.crufty.net>
1583
1584	* VERSION (_MAKE_VERSION): 20210518
1585	Merge with NetBSD make, pick up
1586	o fix unit-tests/opt-chdir to cope with /nonexistent existing.
1587	o job.c: Print -de error information when running multiple jobs
1588
15892021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
1590
1591	* VERSION (_MAKE_VERSION): 20210420
1592	Merge with NetBSD make, pick up
1593	o use C99 bool type
1594	o convert VarEvalFlags back into an enum
1595	o cond.c: do not complain when skipping the condition 'no >= 10'
1596	o hash.c: avoid allocating memory for simple variable names
1597	o job.c: use distinct wording for writing to the shell commands file
1598	remove type name for the abort status in job handling
1599	rename PrintOutput to PrintFilteredOutput to avoid confusion
1600	o main.c: avoid double slash in name of temporary directory
1601	o var.c: use straight quotes for error 'Bad conditional expression'
1602	reduce memory allocations in the modifiers ':D' and ':U'
1603	rename members of ModifyWord_LoopArgs
1604	clean up pattern flags for the modifiers ':S' and ':C'
1605	reduce memory allocation and strlen calls in modifier ':from=to'
1606	in the ':Q' modifier, only allocate memory if necessary
1607	improve performance for LazyBuf
1608	remove redundant parameter from ParseVarnameLong
1609	migrate ParseModifierPart to use Substring
1610	avoid unnecessary calls to strlen when evaluating modifiers
1611	migrate ModifyWord functions to use Substring
1612	migrate handling of the modifier ':S,from,to,' to Substring
1613	reduce debug logging and memory allocation for ${:U...}
1614	reduce verbosity of the -dv debug logging for standard cases
1615	clean up debug logging for ':M' and ':N'
1616	disallow '$' in the variable name of the modifier ':@'
1617	simplify access to the name of an expression during evaluation
1618
16192021-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
1620
1621	* VERSION (_MAKE_VERSION): 20210330
1622	Merge with NetBSD make, pick up
1623	o replace enum bit-field with struct bit-field for VarEvalFlags
1624	o rename VARE_NONE to VARE_PARSE_ONLY
1625	o var.c: rename ApplyModifiersState to ModChain
1626	fix double varname expansion in the variable modifier '::='
1627	change debug log for variable evaluation flags to lowercase
1628
16292021-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
1630
1631	* VERSION (_MAKE_VERSION): 20210314
1632	Merge with NetBSD make, pick up
1633	o var.c: avoid evaluating many modifiers in parse only mode
1634	in strict mode (-dL) many variable references are parsed twice,
1635	the first time just to report parse errors early, so we want to
1636	avoid side effects and wasted effort to the extent possible.
1637
16382021-02-26  Simon J Gerraty  <sjg@beast.crufty.net>
1639
1640	* VERSION (_MAKE_VERSION): 20210226
1641	Merge with NetBSD make, pick up
1642	o remove freestanding freeIt variables
1643	link via FStr
1644	o var.c: restructure code in ParseVarname to target human readers
1645	improve error message for;
1646	  bad modifier in variable expression
1647	  unclosed modifier
1648	  unknown modifier
1649	remove redundant parameter of ApplySingleModifier
1650	explain non-obvious code around indirect variable modifiers
1651	quote ':S' in error message about missing delimiter
1652	extract ParseModifier_Match into separate function
1653	add context information to error message about ':range' modifier
1654	add quotes around variable name in an error message
1655	reorder code in ModifyWords
1656	use more common parameter order for VarSelectWords
1657	make ModifyWord_Subst a little easier to understand
1658	do not expand variable name from the command line twice
1659	extract ExistsInCmdline from Var_SetWithFlags
1660	save a hash map lookup when defining a cmdline variable
1661	clean up VarAdd, Var_Delete, Var_ReexportVars
1662	use bit-shift expressions for VarFlags constants
1663	rename constants for VarFlags
1664	rename ExprDefined constants for debug logging
1665	rename ExprStatus to ExprDefined
1666	split parameters for evaluating variable expressions
1667	reduce redundant code around ModifyWords
1668	print error about failed shell command before overwriting variable
1669	clean up ValidShortVarname, ParseVarnameShort
1670	rename VarExprStatus to ExprStatus
1671	add functions for assigning the value of an expression
1672	rename ApplyModifiersState_Define to Expr_Define
1673	condense the code for parsing :S and :C modifiers
1674
16752021-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
1676
1677	* VERSION (_MAKE_VERSION): 20210206
1678	Merge with NetBSD make, pick up
1679	o unit-tests: use private TMPDIR to avoid errors from other users
1680
16812021-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
1682
1683	* VERSION (_MAKE_VERSION): 20210205
1684	Merge with NetBSD make, pick up
1685	o avoid strdup in mkTempFile
1686	o always use vfork
1687	o rename context and ctxt to scope
1688	o rename some VAR constants to SCOPE
1689	o Var_ functions, move the scope to the front
1690	o use shortcut functions Global_Set and Global_Append
1691	o add shortcut Global_Delete for deleting a global variable
1692	o rename Var_Delete to Var_DeleteExpand, Var_DeleteVar to Var_Delete
1693	o compat.c: when exiting due to an error, print graph information
1694	o enum.c: remove overengineered Enum_ValueToString
1695	o make.c: remove unused INTERNAL flag
1696	remove unused return type of MakeBuildParent
1697	o parse.c: replace parse error "Need an operator" with better message
1698	o var.c: improve documentation about variable scopes
1699	rename Var_ValueDirect to GNode_ValueDirect
1700	rename old Var_SetWithFlags to Var_SetExpandWithFlags
1701	merge SetVar into Var_SetWithFlags
1702	split Var_Exists into plain Var_Exists and Var_ExistsExpand
1703	split Var_Append into Var_Append and Var_AppendExpand
1704	replace enum bit-set with bit-field
1705	o unit-tests/var-op-shell: use kill rather than kill -14
1706	which broke on darwin with recent update.
1707
17082021-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
1709
1710	* configure.in: check for sig_atomic_t and define it as 'int'
1711	if missing.
1712
1713	* VERSION (_MAKE_VERSION): 20210201
1714	Merge with NetBSD make, pick up
1715	o use sig_atomic_t for caught_sigchld
1716
17172021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
1718
1719	* VERSION (_MAKE_VERSION): 20210130
1720	Merge with NetBSD make, pick up
1721	o more unit tests
1722	o convert SearchPath to struct
1723	o split Buf_Destroy into Buf_Done and Buf_DoneData
1724	o for.c: split For_Eval into separate functions
1725	rename struct For to struct ForLoop
1726	o job.c: do not create empty shell files in jobs mode
1727	rename JobOpenTmpFile to JobWriteShellCommands
1728	reduce unnecessary calls to waitpid
1729	o parse.c: in -dp mode, print stack trace with each diagnostic
1730
17312021-01-23  Simon J Gerraty  <sjg@beast.crufty.net>
1732
1733	* VERSION (_MAKE_VERSION): 20210123
1734	Merge with NetBSD make, pick up
1735	o rename Dir_Expand to SearchPath_Expand
1736	o rename Dir_AddDir, reorder parameters of SearchPath_ToFlags
1737	o cond.c: fix debug output for comparison operators in conditionals
1738	o dir.c: split Dir_FindFile into separate functions
1739
17402021-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
1741
1742	* VERSION (_MAKE_VERSION): 20210120
1743	Merge with NetBSD make, pick up
1744	o fix some more lint nits
1745	o refine some unit tests for portability
1746	o cond.c: rework parsing
1747
17482021-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
1749
1750	* VERSION (_MAKE_VERSION): 20210110
1751	Merge with NetBSD make, pick up
1752	o fix lint warnings
1753	o consistently use boolean expressions in conditions
1754
17552021-01-08  Simon J Gerraty  <sjg@beast.crufty.net>
1756
1757	* VERSION (_MAKE_VERSION): 20210108
1758	Merge with NetBSD make, pick up
1759	o job.c: back to polling token pipe if we want a token
1760	o main.c: always print 'stopped in' on first call
1761	The execption is if we bail because of an abort token
1762	in which case just exit 6.
1763
17642021-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
1765
1766	* VERSION (_MAKE_VERSION): 20210101
1767	Merge with NetBSD make, pick up
1768	o Happy New Year!
1769	o rename CmdOpts.lint to strict
1770	o exit 2 on technical errors
1771	o replace pointers in controlling conditions with booleans
1772	o replace global preserveUndefined with VARE_KEEP_UNDEF
1773	o compat.c: re-export variables from the actual make process
1774	if using vfork this is the effect anyway
1775	o cond.c: clean up VarParseResult constants
1776	o for.c: fix undefined behavior in SubstVarLong
1777	make control flow in SubstVarLong of .for loops more obvious
1778	clean up SubstVarShort in .for loops
1779	extract ForSubstBody from ForReadMore
1780	clean up ForReadMore
1781	simplify termination condition for .for loop
1782	add error handling for .for loop items
1783	job.c: re-export variables from the actual make process
1784	parse.c: remove mmap for loading files, only allow files < 1 GiB
1785	fix edge case in := with undefined in variable name
1786	skip variable expansion in ParseDependencyTargetWord
1787	var.c: split ExportVar into separate functions
1788	clean up code in extracted ExportVar functions
1789	remove dead code from ApplyModifiersIndirect
1790	split Var_Subst into easily understandable functions
1791	clean up VarParseResult constants
1792
17932020-12-25  Simon J Gerraty  <sjg@beast.crufty.net>
1794
1795	* main.c: use .MAKE.DEPENDFILE as set by makefiles
1796
17972020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
1798
1799	* VERSION (_MAKE_VERSION): 20201222
1800	Merge with NetBSD make, pick up
1801	o make DEBUG macro return boolean
1802	o parse.c: fix assertion failure for files without trailing newline
1803	o var.c: allow .undef to undefine multiple variables at once
1804	remove excess newline from parse errors
1805
18062020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
1807
1808	* VERSION (_MAKE_VERSION): 20201221
1809	Merge with NetBSD make, pick up
1810	o some unit-test updates
1811
18122020-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
1813
1814	* VERSION (_MAKE_VERSION): 20201220
1815	Merge with NetBSD make, pick up
1816	o more unit tests
1817	o return FStr from Var_Parse and Var_Value
1818	o spell nonexistent consistently
1819	o add str_basename to reduce duplicate code
1820	o compat.c: fix .ERROR_TARGET in compat -k mode
1821	extract InitSignals from Compat_Run
1822	extract UseShell from Compat_RunCommand
1823	o cond.c: error out if an '.endif' or '.else' contain extraneous text
1824	o for.c: rename ForIterate to ForReadMore
1825	o hash.c: clean up hash function for HashTable
1826	o lst.c: rename Vector.priv_cap to cap
1827	o main.c: remove constant parameter from MakeMode
1828	o make.c: use symbolic time for 0 in Make_Recheck
1829	extract MakeChildren from MakeStartJobs
1830	o parse.c: clean up memory handling in VarAssign_EvalShell, Parse_DoVar
1831	fix error message for .info/.warning/.error without argument
1832	extract Var_Undef from ParseDirective
1833	extract ParseSkippedBranches, ParseForLoop from ParseReadLine
1834	rename mode constants for ParseGetLine to be more expressive
1835	reduce debugging details in Parse_SetInput
1836	fix line numbers in .for loops
1837	split ParseGetLine into separate functions
1838	fix garbled output for failed shell command
1839	var.c: remove redundant assignment in ApplyModifier_SysV
1840	error out on unknown variable modifiers at parse time
1841	remove wrong error message for indirect modifier in lint mode
1842	extract ApplySingleModifier from ApplyModifiers
1843	use FStr for memory management in Var_SetWithFlags
1844	extract SetVar from Var_SetWithFlags
1845	use FStr in VarNew
1846	extract string functions from ApplyModifier_To
1847	error out if .undef has not exactly 1 argument
1848	extract Var_DeleteVar from Var_Delete
1849	extract Var_Undef from ParseDirective
1850	clean up memory management for expanding variable expressions
1851
18522020-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
1853
1854	* avoid %zu
1855
1856	* lst.c: avoid anonymous union
1857
1858	* VERSION (_MAKE_VERSION): 20201212
1859	Merge with NetBSD make, pick up
1860	o more unit tests
1861	o inline Targ_Ignore and Targ_Silent
1862	o split JobFlags into separate fields
1863	o remove const from function parameters (left overs from refactoring)
1864	o eliminate boolean argument of Var_Export
1865	o make API of Buf_Init simpler
1866	o rename ParseRunOptions to ParseCommandFlags
1867	o replace *line with line[0]
1868	o compat.c: fix wrong exit status for multiple failed main targets
1869	refactor Compat_Run to show the error condition more clearly
1870	don't make .END if the main targets already failed (-k mode)
1871	fix exit status in -k mode if a dependency fails
1872	o for.c: clean up Buf_AddEscaped in .for loops
1873	o job.c: extract ShellWriter_ErrOn from JobPrintCommand
1874	make Job_Touch simpler
1875	refactor JobFinish
1876	rename Shell.exitFlag to errFlag
1877	move Job.xtraced to ShellWriter
1878	make printing of shell commands independent from the job
1879	rename shell flags in struct Shell
1880	extract JobOpenTmpFile from JobStart
1881	rename RunFlags to CommandFlags
1882	split various Job.* into separate fields
1883	rename commandShell to shell
1884	extract InitShellNameAndPath from Shell_Init
1885	replace signal handling macros with local functions
1886	replace macro MESSAGE with local function
1887	parse.c: error out on null bytes in makefiles
1888	error out on misspelled directives
1889	rename IFile.nextbuf to readMore
1890	fix undefined behavior in ParseEOF
1891	str.c: remove redundant call to strlen in Str_Words
1892	var.c: error out on misspelled .unexport-env
1893	error out on misspelled .export directives
1894	extract ExportVars from Var_Export
1895	extract ExportVarsExpand from Var_Export
1896	eliminate boolean argument of Var_Export
1897	fix undefined behavior when exporting ${:U }
1898	rename Var_ExportVars to Var_ReexportVars
1899	rename Var_Export1 to ExportVar
1900
19012020-12-06  Simon J Gerraty  <sjg@beast.crufty.net>
1902
1903	* VERSION (_MAKE_VERSION): 20201206
1904	Merge with NetBSD make, pick up
1905	o more unit tests
1906	o inline macros for debug logging
1907	o use consistent variable names for list nodes
1908	o define constants for enum zero-values
1909	o dir.c: use fixed format for debug output of the directory cache
1910	remove Dir_InitDir
1911	o lst.c: inline Lst_Enqueue, Vector_Done
1912	o meta.c: remove unused parameter from meta_needed
1913	o parse.c: rename parse functions
1914	o suff.c: extract ExpandChildrenRegular from ExpandChildren
1915	o targ.c: don't concatenate identifiers in Targ_PrintType
1916	o var.c: remove comment decoration
1917	extract UnexportVars from Var_UnExport
1918	extract GetVarnamesToUnexport from Var_UnExport
1919	extract UnexportEnv from Var_UnExport
1920	extract UnexportVar from Var_UnExport
1921	move CleanEnv to UnexportVars
1922	replace pointer comparisons with enum
1923	add FStr to var.c to make memory handling simpler
1924	use FStr in Var_UnExport
1925	move type definitions in var.c to the top
1926	extract FreeEnvVar from Var_Parse
1927	extract ShuffleStrings from ApplyModifier_Order
1928
19292020-11-30  Simon J Gerraty  <sjg@beast.crufty.net>
1930
1931	* VERSION (_MAKE_VERSION): 20201130
1932	Merge with NetBSD make, pick up
1933	o add unit tests for META MODE
1934	o reduce memory allocation for dirSearchPath, GNode.parents,
1935	GNode.children, OpenDirs
1936	o reduce pointer indirection for GNode.cohorts and
1937	GNode.implicitParents
1938	o remove pointer indirection from GNode.commands
1939	o inline Lst_ForEachUntil in meta mode
1940	o dir.c: fix memory leak for lstat cache in -DCLEANUP mode
1941	clean up memory management for CachedDirs
1942	fix the reference count of dotLast going negative
1943	add debug logging for OpenDirs_Done
1944	extract CacheNewDir from Dir_AddDir
1945	add debug logging for reference counting of CachedDir
1946	rename some Dir functions to SearchPath
1947	o job.c: rename some global variables
1948	o main.c: reduce memory allocation in ReadBuiltinRules
1949	reduce memory allocation in CmdOpts.create, CmdOpts.variables,
1950	CmdOpts.makefiles
1951	Add .MAKE.UID and .MAKE.GID
1952	o make.c: reduce memory allocation for/in toBeMade,
1953	Make_ProcessWait, Make_ExpandUse
1954	o meta.c: reduce memory allocation in meta_oodate
1955	o parse.c: reduce memory allocations for parsing dependencies and
1956	targets
1957	o suff.c: reduce memory allocation in suffix handling
1958
19592020-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
1960
1961	* VERSION (_MAKE_VERSION): 20201124
1962	Merge with NetBSD make, pick up
1963	o .MAKE.{UID,GID} represent uid and gid running make.
1964	o fix error handling for .BEGIN and .END dependency in -k mode
1965	o fix missing "Stop." after failed .END node in -k mode
1966	o use properly typed comparisons in boolean contexts
1967	o replace a few HashTable_CreateEntry with HashTable_Set
1968	o add HashSet type
1969	o compat.c: split Compat_Make into smaller functions
1970	extract DebugFailedTarget from Compat_RunCommand
1971	o dir.c: refactor Dir_UpdateMTime
1972	migrate CachedDir.files from HashTable to HashSet
1973	o make.c: add high-level API for GNode.made
1974
19752020-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
1976
1977	* VERSION (_MAKE_VERSION): 20201122
1978	Merge with NetBSD make, pick up
1979	o rename GNode.context to vars
1980	o suff.c: cleanup and refactor
1981	rename some functions and vars to better reflect usage
1982	add high-level API for CandidateSearcher
1983	o targ.c: add more debug logging for suffix handling
1984	o more unit tests
1985	o add debug logging for setting and resetting the main target
1986
19872020-11-17  Simon J Gerraty  <sjg@beast.crufty.net>
1988
1989	* VERSION (_MAKE_VERSION): 20201117
1990	Merge with NetBSD make, pick up
1991	o fix some unit-tests when .SHELL is dash
1992	o rename Targ_NewGN to GNode_New
1993	o make some GNode functions const
1994	o main.c: call Targ_Init before Var_Init
1995	cleanup PrintOnError, getTmpdir and ParseBoolean
1996	o var.c: fix error message of failed :!cmd! modifier
1997
19982020-11-14  Simon J Gerraty  <sjg@beast.crufty.net>
1999
2000	* VERSION (_MAKE_VERSION): 20201114
2001	Merge with NetBSD make, pick up
2002	o replace a few HashTable_CreateEntry with HashTable_Set
2003	o clean up cached_stats
2004	o rename DEFAULT to defaultNode
2005	o remove redundant struct make_stat
2006	o cond.c: in lint mode, check for ".else <cond>"
2007	use bitset for IfState
2008	replace large switch with if-else in Cond_EvalLine
2009	o job.c: clean up JobExec, JobStart, JobDoOutput
2010	use stderr for error message about failed touch
2011	clean up Job_Touch
2012	replace macro DBPRINTF with JobPrintln
2013	rename JobState to JobStatus
2014	main.c: switch cache for realpath from GNode to HashTable
2015	clean up Fatal
2016	clean up InitDefSysIncPath
2017	use progname instead of hard-coded 'make' in warning
2018	rename Main_SetVarObjdir to SetVarObjdir
2019	make.1: document the -S option
2020	make.c: fix debug output for GNode details
2021	use symbolic names in debug output of GNodes
2022
20232020-11-12  Simon J Gerraty  <sjg@beast.crufty.net>
2024
2025	* configure.in: fix --with-force-machine-arch
2026
2027	* VERSION (_MAKE_VERSION): 20201112
2028	Merge with NetBSD make, pick up
2029	o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable
2030	checks in InitObjdir.  Explicit .OBJDIR target always allows
2031	read-only directory.
2032	o cond.c: clean up Cond_EvalLine
2033
20342020-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
2035
2036	* VERSION (_MAKE_VERSION): 20201111
2037	Merge with NetBSD make, pick up
2038	o more unit-tests
2039	o style cleanup
2040	remove redundant parentheses from sizeof operator
2041	replace character literal 0 with '\0'.
2042	replace pointer literal 0 with NULL.
2043	remove redundant parentheses.
2044	replace (expr & mask) == 0 with !(expr & mask).
2045	use strict typing in conditions of the form !var
2046	o rename Make_OODate to GNode_IsOODate
2047	o rename Make_TimeStamp to GNode_UpdateYoungestChild
2048	o rename Var_Set_with_flags to Var_SetWithFlags
2049	o rename dieQuietly to shouldDieQuietly
2050	o buf.c: make API of Buf_Init simpler
2051	o compat.c: clean up Compat_Make, Compat_RunCommand,
2052	CompatDeleteTarget and CompatInterrupt
2053	o cond.c: in lint mode, only allow '&&' and '||', not '&' and '|'
2054	clean up CondParser_Comparison
2055	o main.c: rename getBoolean and s2Boolean
2056	rename MAKEFILE_PREFERENCE for consistency
2057	o parse.c: replace strstr in ParseMaybeSubMake with optimized code
2058	o var.c: rename VARE_ASSIGN to VARE_KEEP_DOLLAR
2059	replace emptyString with allocated empty string
2060	error out on unclosed expressions after the colon
2061
20622020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
2063
2064	* VERSION (_MAKE_VERSION): 20201101
2065	Merge with NetBSD make, pick up
2066	o negate NoExecute to GNode_ShouldExecute
2067	o job.c: rename JobMatchShell to FindShellByName
2068	extract EscapeShellDblQuot from JobPrintCommand
2069	extract ParseRunOptions from JobPrintCommand
2070	o var.c: extract ApplyModifiersIndirect from ApplyModifiers
2071	treat malformed :range, :ts and :[...] as errors
2072	add tests for the variable modifiers :[words] and :range
2073
20742020-10-31  Simon J Gerraty  <sjg@beast.crufty.net>
2075
2076	* VERSION (_MAKE_VERSION): 20201031
2077	Merge with NetBSD make, pick up
2078	o format #include directives consistently
2079	o do not look up local variables like .TARGET anywhere else
2080	o main.c: Main_SetObjdir is first called for curdir which may be
2081	readonly
2082	reduce the scope where recursive expressions are detected
2083	remove redundant :tl from getBoolean
2084	clean up mkTempFile
2085	o meta.c: simplify memory allocation in meta_create and meta_oodate
2086	o parse.c: extract loadedfile_mmap from loadfile
2087	o trace.c: document possible undefined behavior with .CURDIR
2088	o var.c: make parsing of the :gmtime and :localtime modifiers stricter
2089	rename ismeta to is_shell_metachar
2090	remove debug logging for the :Q variable modifier
2091	rename VarIsDynamic to VarnameIsDynamic
2092	use consistent parameter order in varname parsing functions
2093	extract ParseVarnameLong from Var_Parse
2094	extract ParseVarnameShort from Var_Parse
2095	fix type of ParseModifierPart parameter delim
2096	extract IsEscapedModifierPart from ParseModifierPart
2097	clean up ModifyWords
2098	add test for combining the :@ and :? variable modifiers
2099
21002020-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
2101
2102	* VERSION (_MAKE_VERSION): 20201030
2103	Merge with NetBSD make, pick up
2104	o change char * to void * in Var_Value
2105	o make iterating over HashTable simpler
2106	o rename VAR_CMD to VAR_CMDLINE
2107	o cond.c: clean up is_separator
2108	fix parse error in string literal in conditional
2109	o main.c: do not use objdir that is not writable
2110	in lint mode, exit with error status on errors
2111	o  parse.c: clean up StrContainsWord
2112	fix out-of-bounds pointer in ParseTrackInput
2113	o var.c: rename Str_SYSVMatch and its parameters
2114	remove unsatisfiable conditions in Var_Set_with_flags
2115	document where the variable name is expanded
2116	fix documentation for VARP_SUB_ONE
2117	rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME
2118	document VAR_READONLY
2119	prevent appending to read-only variables
2120	extract MayExport from Var_Export1
2121	remove redundant evaluations in VarFind
2122	replace VarFindFlags with a simple Boolean
2123	rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE
2124
21252020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
2126
2127	* VERSION (_MAKE_VERSION): 20201028
2128	Merge with NetBSD make, pick up
2129	o rename defIncPath to defSysIncPath
2130	o initialize all CmdOpts fields
2131	o lst.c: inline Vector_Get
2132	o main.c: refactor main extract
2133	InitMaxJobs,InitObjdir,InitVarMake,InitRandom,
2134	ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules,
2135	InitDefIncPath,CmdOpts_Init,UnlimitFiles
2136	o parse.c: merge curFile into includes
2137	rename predecessor to order_pred
2138	sort ParseSpecial alphabetically
2139	remove unused, undocumented .NOEXPORT
2140	rename ParseSpecial enum values consistently
2141	rename some fields of struct IFile
2142
21432020-10-26  Simon J Gerraty  <sjg@beast.crufty.net>
2144
2145	* VERSION (_MAKE_VERSION): 20201026
2146	Merge with NetBSD make, pick up
2147	o group the command line options and arguments into a struct
2148	o rename GNode.cmgn to youngestChild
2149	o rename hash functions to identify the type name
2150	o negate OP_NOP and rename it to GNode_IsTarget
2151	o add GNode_Path to access the path of a GNode
2152	o remove macros MIN and MAX
2153	o remove unused Lst_Find and Lst_FindFrom
2154	o arch.c: and make Arch_FindLib simpler
2155	clean up code layout
2156	make Arch_ParseArchive simpler
2157	o cond.c: inline CondFindStrMatch into FuncMake
2158	o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath
2159	omit trailing space in debug output for expanding file patterns
2160	refactor DirMatchFiles
2161	document that the SearchPath of Dir_FindFile may be NULL
2162	remove UNCONST from Dir_Expand
2163	inline DirFindName
2164	o for.c: clean up code for handling .for loops
2165	o hash.c: print hash in debug log with fixed width
2166	clean up hash table functions
2167	reduce amount of string hashing
2168	o job.c: refactor JobDeleteTarget
2169	use proper enum constants for aborting
2170	convert result of JobStart from macros to enum
2171	convert abort reason macros to enum
2172	rework Job_CheckCommands to reduce indentation
2173	rename Shell fields
2174	add field names in declaration of DEFSHELL_CUSTOM
2175	convert JobState and JobFlags to enum types
2176	move handling of the "..." command to JobPrintCommands
2177	o lst.c: clean up
2178	refactor LstNodeNew
2179	remove Lst_Open, Lst_Next, Lst_Close
2180	remove code for circular lists from Lst_Next
2181	o main.c: do not attempt to read .MAKE.DEPENFILE if set to
2182	/dev/null or anything starting with "no"
2183	convert macros for debug flags into enum
2184	o make.c: inline Lst_Copy in Make_ExpandUse
2185	o meta.c: inline Lst_Find in meta_oodate
2186	make Lst_RemoveIf simpler in meta_oodate
2187	o parse.c: convert error level for Parse_Error to an enum
2188	o suff.c: properly terminate debug output with newline
2189	add more details to DEBUG_SRC log
2190	replace Dir_CopyDir with Dir_CopyDirSearchPath
2191	don't modify GNode name while rebuilding the suffix graph
2192	o var.c: reduce duplicate code in VarFind
2193
21942020-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
2195
2196	* VERSION (_MAKE_VERSION): 20201022
2197	Merge with NetBSD make, pick up
2198	o more refactoring and simplification to reduce code size
2199	o var.c: extract CanonicalVarname from VarFind
2200	o make.c: extract UpdateImplicitParentsVars from Make_Update
2201	o main.c: extract PrintVar from doPrintVars
2202	extract HandlePWD from main
2203	o lst.c: inline simple Lst getters
2204	remove unused Lst_ForEach
2205	o job.c: move struct Shell from job.h to job.c
2206	o more unit tests
2207
22082020-10-19  Simon J Gerraty  <sjg@beast.crufty.net>
2209
2210	* configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT
2211
22122020-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
2213
2214	* VERSION (_MAKE_VERSION): 20201018
2215	Merge with NetBSD make, pick up
2216	o remove USE_IOVEC
2217	o rename some Hash_* apis to Hash*
2218	o replace execError with execDie
2219	o rename Lst_Init to Lst_New
2220	o add tags to enum types
2221	o rename Stack to Vector
2222	o parse.c: more refactoring
2223	o unit-tests: make some tests use line buffered stdout
2224	o unit-tests/Makefile: in meta mode do not make all tests depend on
2225	Makefile, it isn't necessary.
2226
22272020-10-10  Simon J Gerraty  <sjg@beast.crufty.net>
2228
2229	* main.c: check for CTL_HW being defined.
2230	* unit-tests/Makefile: ensure export tests output are POSIX compliant
2231	disable opt-debug-jobs test until it works on ubuntu
2232
2233	* VERSION (_MAKE_VERSION): 20201010
2234	Merge with NetBSD make, pick up
2235	o dir.c: remove pathname limit for Dir_FindHereOrAbove
2236	o hash.c: replace strcpy with memcpy in Hash_CreateEntry
2237	o main.c: extract init_machine and init_machine_arch from main
2238	allow to disable debug logging options
2239	o parse.c: enable format string truncation warnings
2240	extract parsing of sources from ParseDoDependency
2241	split ParseDoSrc into smaller functions
2242	hide implementation details from Parse_DoVar
2243	clean up parsing of variable assignments
2244	split Parse_DoVar into manageable pieces
2245	don't modify the given line during Parse_DoVar
2246	fix out-of-bounds memory access in Parse_DoVar
2247	fix parsing of the :sh assignment modifier
2248	o var.c: rework memory allocation for the name of variables
2249	extract ApplyModifier_Literal into separate function
2250	in lint mode, reject modifiers without delimiter
2251	do not export variable names starting with '-'
2252	o fix double-free bug in -DCLEANUP mode
2253	o more cleanup to enable higher warnings level
2254	o more unit tests
2255
22562020-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
2257
2258	* VERSION (_MAKE_VERSION): 20201002
2259	Merge with NetBSD make, pick up
2260	o dir.c: use hash table for looking up open directories by name
2261	o main.c: clean up option handling
2262	o parse.c: add missing const for Parse_AddIncludeDir
2263	o var.c: ApplyModifier_To, update pp in each branch
2264	o remove redundant function prototypes
2265	o more unit tests
2266
22672020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
2268
2269	* VERSION (_MAKE_VERSION): 20201001
2270	Merge with NetBSD make, pick up
2271	o compat.c: comment about "..."
2272
22732020-09-30  Simon J Gerraty  <sjg@beast.crufty.net>
2274
2275	* VERSION (_MAKE_VERSION): 20200930
2276	Merge with NetBSD make, pick up
2277	o job.c: split Job.jobPipe into 2 separate fields
2278	replace Lst_Open with direct iteration
2279	o lst.c: remove redundant assertions
2280	o targ.c: replace Lst_Open with direct iteration
2281	o var.c: fix bug in evaluation of indirect variable modifiers
2282	extract ApplyModifier_Quote into separate function
2283	o make debug logging simpler
2284
22852020-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
2286
2287	* VERSION (_MAKE_VERSION): 20200927
2288	Merge with NetBSD make, pick up
2289	o parse.c: ensure parse errors result in 'stopped in' message.
2290	o compat.c: make parameter of Compat_RunCommand const
2291	o main.c: extract InitVarTarget from main
2292	o parse.c: rename ParseFinishLine to FinishDependencyGroup
2293	refactor ParseDoDependency
2294	o var.c: Var_Subst no longer returns string result
2295	rename Var_ParsePP back to Var_Parse
2296	in lint mode, improve error handling for undefined variables
2297	extract ParseVarname from Var_Parse
2298	o rename Lst_ForEach to Lst_ForEachUntil
2299	o inline Lst_ForEachUntil in several cases
2300	o clean up API for finding and creating GNodes
2301	o fix assertion failure in -j mode with .END node
2302	o inline and remove LstNode_Prev and LstNode_Next
2303	o use fine-grained type names for lists and their nodes
2304	o more unit tests
2305
23062020-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
2307
2308	* VERSION (_MAKE_VERSION): 20200911
2309	Merge with NetBSD make, pick up
2310	o cond.c: split EvalComparison into smaller functions
2311	reorder parameters of condition parsing functions
2312	reduce code size in CondParser_Eval
2313	rename CondGetString to CondParser_String
2314	add CondLexer_SkipWhitespace
2315	group the condition parsing state into a struct
2316	in CondGetString, replace repeated Buf_Add with Buf_AddStr
2317	o migrate Var_Parse to Var_ParsePP
2318	o add wrappers around ctype.h functions
2319	o lst.c: use a stack instead of a list for the nested include path
2320	o more unit tests
2321
23222020-09-04  Simon J Gerraty  <sjg@beast.crufty.net>
2323
2324	* make-bootstrap.sh.in: adjust object list
2325
23262020-09-02  Simon J Gerraty  <sjg@beast.crufty.net>
2327
2328	* VERSION (_MAKE_VERSION): 20200902
2329	Merge with NetBSD make, pick up
2330	o use make_stat to ensure no confusion over valid fields
2331	returned by cached_stat
2332	o var.c: make VarQuote const-correct
2333	o add unit tests for .for
2334
23352020-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
2336
2337	* VERSION (_MAKE_VERSION): 20200901
2338	Merge with NetBSD make, pick up
2339	o rename Hash_Table fields
2340	o make data types in Dir_HasWildcards more precise
2341
23422020-08-31  Simon J Gerraty  <sjg@beast.crufty.net>
2343
2344	* VERSION (_MAKE_VERSION): 20200831
2345	Merge with NetBSD make, pick up
2346	o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds
2347	o lst.c: Lst_Open renable assert that list isn't open
2348	o unit test for .TARGET dependent flags
2349	o var.c: fix aliasing bug in VarUniq
2350	o more unit tests for :u
2351
23522020-08-30  Simon J Gerraty  <sjg@beast.crufty.net>
2353
2354	* VERSION (_MAKE_VERSION): 20200830
2355	Merge with NetBSD make, pick up
2356	o allow for strict type checking for Boolean
2357	o Var_Parse never returns NULL
2358	o Var_Subst never returns NULL
2359	o Lst_Find now takes boolean match function
2360	o rename Lst_Memeber to Lst_FindDatum
2361	o rename LstNode functions to match their type
2362	o rename GNode.iParents to implicitParents
2363	o fix assertion failure for .SUFFIXES in archives
2364	o compat.c: clean up documentation for CompatInterrupt and Compat_Run
2365	remove unreachable code from CompatRunCommand
2366	o main.c: simplify getBoolean
2367	o stc.c: replace brk_string with simpler Str_Words
2368	o suff.c: add debug macros
2369
23702020-08-28  Simon J Gerraty  <sjg@beast.crufty.net>
2371
2372	* VERSION (_MAKE_VERSION): 20200828
2373	Merge with NetBSD make, pick up
2374	o lst.c: inline LstIsValid and LstNodeIsValid
2375	o remove trailing S from Lst function names after migration complete
2376	o more comment cleanup/clarification
2377	o suff.c: clean up suffix handling
2378	o more unit tests
2379
23802020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
2381
2382	* VERSION (_MAKE_VERSION): 20200826
2383	Merge with NetBSD make, pick up
2384	o enum.c: distinguish between bitsets containing flags and
2385	ordinary enums
2386	o var.c: fix error message for ::!= modifier with shell error
2387	o fix bugs in -DCLEANUP mode
2388
23892020-08-24  Simon J Gerraty  <sjg@beast.crufty.net>
2390
2391	* VERSION (_MAKE_VERSION): 20200824
2392	Merge with NetBSD make, pick up
2393	o in debug mode, print GNode details in symbols
2394
23952020-08-23  Simon J Gerraty  <sjg@beast.crufty.net>
2396
2397	* VERSION (_MAKE_VERSION): 20200823
2398	Merge with NetBSD make, pick up
2399	o lst.c: more asserts,
2400	make args to Lst_Find match others.
2401	o var.c: pass flags to VarAdd
2402	o arch.c: use Buffer
2403	o str.c: brk_string return size_t for nwords
2404	o more unit tests
2405
24062020-08-22  Simon J Gerraty  <sjg@beast.crufty.net>
2407
2408	* VERSION (_MAKE_VERSION):
2409	Merge with NetBSD make, pick up
2410	o var.c: support for read-only variables eg .SHELL
2411	being the shell used to run scripts.
2412	o lst.c: more simplification
2413	o more documentation and style cleanup
2414	o more unit tests
2415	o ensure unit-test/Makefile is run by TEST_MAKE
2416	o reduce duplication of header inclusion
2417
24182020-08-21  Simon J Gerraty  <sjg@beast.crufty.net>
2419
2420	* VERSION (_MAKE_VERSION): 20200821
2421	Merge with NetBSD make, pick up
2422	o lst.c: revert invalid assertion - but document it
2423	o dir.c: split Dir_Init into two functions
2424
24252020-08-20  Simon J Gerraty  <sjg@beast.crufty.net>
2426
2427	* lst.c: needs inttypes.h on Linux
2428
2429	* VERSION (_MAKE_VERSION): 20200820
2430	Merge with NetBSD make, pick up
2431	o make.1: clarify some passages
2432	o var.c: more cleanup, clarify comments
2433	o make_malloc.c: remove unreachable code
2434	o cond.c: make CondGetString easier to debug
2435	o simplify list usage
2436	o unit-tests: more
2437
24382020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
2439
2440	* VERSION (_MAKE_VERSION): 20200816
2441	Merge with NetBSD make, pick up
2442	o refactor unit-tests to be more fine grained
2443	  not all tests moved yet
2444
24452020-08-14  Simon J Gerraty  <sjg@beast.crufty.net>
2446
2447	* VERSION (_MAKE_VERSION): 20200814
2448	Merge with NetBSD make, pick up
2449	o more str_concat variants
2450	o more enums for flags
2451	o var.c: cleanup for higher warnings level
2452
24532020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
2454
2455	* VERSION (_MAKE_VERSION): 20200810
2456	Merge with NetBSD make, pick up
2457	o more unit tests
2458	o general comment and style cleanup
2459
24602020-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
2461
2462	* VERSION (_MAKE_VERSION): 20200808
2463	Merge with NetBSD make, pick up
2464	o enum.[ch]: streamline, enums for use in flags and debug output
2465	o cond.c: cleanup
2466	o var.c: reduce duplicate code for modifiers
2467	debug logging for Var_Parse
2468	more detailed debug output
2469	o more unit tests
2470
24712020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
2472
2473	* unit-tests/Makefile: -r for recursive and include Makefile.inc
2474	so I can run tests in meta mode
2475	supress extra noise if in meta mode
2476
2477	* VERSION (_MAKE_VERSION): 20200806
2478	Merge with NetBSD make, pick up
2479	o parse.c: remove VARE_WANTRES for LINT
2480	we just want to check parsing (for now).
2481
24822020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
2483
2484	* VERSION (_MAKE_VERSION): 20200805
2485	Merge with NetBSD make, pick up
2486	o make.1: Rework the description of dependence operators
2487
24882020-08-03  Simon J Gerraty  <sjg@beast.crufty.net>
2489
2490	* VERSION (_MAKE_VERSION): 20200803
2491	Merge with NetBSD make, pick up
2492	o revert some C99 usage, for max portability
2493	o unit-tests/lint
2494
24952020-08-02  Simon J Gerraty  <sjg@beast.crufty.net>
2496
2497	* VERSION (_MAKE_VERSION): 20200802
2498	Merge with NetBSD make, pick up
2499	o more unit tests
2500
25012020-08-01  Simon J Gerraty  <sjg@beast.crufty.net>
2502
2503	* Remove NetBSD specific plumbing from unit-tests/Makefile
2504
2505	* VERSION (_MAKE_VERSION): 20200801
2506	Merge with NetBSD make, pick up
2507	o make Var_Value return const
2508	o size_t for buf sizes
2509	o optimize some buffer operations - avoid strlen
2510
25112020-07-31  Simon J Gerraty  <sjg@beast.crufty.net>
2512
2513	* VERSION (_MAKE_VERSION): 20200731
2514	Merge with NetBSD make, pick up
2515	o var.c: fix undefinded behavior for incomplete :t modifier
2516	  fixes unit-test/moderrs on Ubuntu
2517	o parse.c: When parsing variable assignments other than :=
2518	  if DEBUG(LINT) test substition of value, so we get a file and
2519	  line number in the resulting error.
2520	o dir.c: fix parsing of nested braces in dependency lines
2521	  add unit-tests
2522
25232020-07-30  Simon J Gerraty  <sjg@beast.crufty.net>
2524
2525	* VERSION (_MAKE_VERSION): 20200730
2526	Merge with NetBSD make, pick up
2527	o var.c: minor cleanup
2528	o unit-tests: more tests to improve code coverage
2529
25302020-07-28  Simon J Gerraty  <sjg@beast.crufty.net>
2531
2532	* VERSION (_MAKE_VERSION): 20200728
2533	Merge with NetBSD make, pick up
2534	o var.c: more optimizations
2535
25362020-07-26  Simon J Gerraty  <sjg@beast.crufty.net>
2537
2538	* VERSION (_MAKE_VERSION): 20200726
2539	Merge with NetBSD make, pick up
2540	o collapse lsd.lib into lst.c - reduce code size and allow inlining
2541	o lots of function comment updates
2542	o var.c: more optimizations
2543	o make return of Var_Parse const
2544
25452020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
2546
2547	* VERSION (_MAKE_VERSION): 20200720
2548	Merge with NetBSD make, pick up
2549	o DEBUG_HASH report stats at end and tone down the noise
2550	o var.c: each flag type gets its own prefix.
2551	move SysV string matching to var.c
2552	make ampersand in ${VAR:from=to&} an ordinary character
2553	cleanup and simplify implementation of modifiers
2554	o make.1: move documentation for assignment modifiers
2555
25562020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
2557
2558	* VERSION (_MAKE_VERSION): 20200718
2559	Merge with NetBSD make, pick up
2560	o DEBUG_HASH to see how well the hash tables are working
2561
25622020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
2563
2564	* bsd.after-import.mk: make sure we update unit-tests/Makefile
2565
25662020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
2567
2568	* configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC
2569
2570	* VERSION (_MAKE_VERSION): 20200710
2571	Merge with NetBSD make, pick up
2572	o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall
2573	o meta.c: target flagged .META is out-of-date if meta file missing
2574
25752020-07-09  Simon J Gerraty  <sjg@beast.crufty.net>
2576
2577	* VERSION (_MAKE_VERSION): 20200709
2578	Merge with NetBSD make, pick up
2579	o cond.c: fix for compare_expression when doEval=0
2580	o unit-tests/Makefile: rework
2581	o filemon/filemon_dev.c: ensure filemon fd is closed on exec.
2582
25832020-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
2584
2585	* VERSION (_MAKE_VERSION): 20200704
2586	Merge with NetBSD make, pick up
2587	(most of this by rillig@)
2588	o lots of style and white-space cleanup
2589	o lots more unit tests for variable modifiers
2590	o simplified description of some functions
2591	o str.c: refactor Str_Match
2592	o var.c: debugging output for :@
2593	  constify VarModify parameter
2594	  fix :hash modifier on 16-bit platforms
2595	  remove unnecessary forward declarations
2596	  refactor ApplyModifier_SysV to have less indentation
2597	  simplify code for :E and :R
2598	  clean up code for :H and :T
2599	  refactor ApplyModifiers
2600
2601	* var.c: we need stdint.h on some platforms to get uint32_t
2602	* unit-test/Makefile: we need to supress the specific error
2603	for RE substitution error in modmisc, since it varies accross
2604	different OS.
2605
26062020-07-02  Simon J Gerraty  <sjg@beast.crufty.net>
2607
2608	* VERSION (_MAKE_VERSION): 20200702
2609	Merge with NetBSD make, pick up
2610	o var.c: more improvements to avoiding unnecessary evaluation
2611	use enums for flags
2612	o remove flags arg to Var_Set which outside of var.c is always 0
2613
26142020-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
2615
2616	* VERSION (_MAKE_VERSION): 20200701
2617	Merge with NetBSD make, pick up
2618	o var.c: with change to cond.c; ensure that nested variables
2619	within a variable name are expanded.
2620	o unit-tests/varmisc.mk: test for nested varname
2621
26222020-06-29  Simon J Gerraty  <sjg@beast.crufty.net>
2623
2624	* VERSION (_MAKE_VERSION): 20200629
2625	Merge with NetBSD make, pick up
2626	o cond.c: do not eval unnecessary terms of conditionals.
2627
26282020-06-25  Simon J Gerraty  <sjg@beast.crufty.net>
2629
2630	* VERSION (_MAKE_VERSION): 20200625
2631	Merge with NetBSD make, pick up
2632	o meta.c: report error if lseek in filemon_read fails
2633
26342020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
2635
2636	* VERSION (_MAKE_VERSION): 20200622
2637	Merge with NetBSD make, pick up
2638	o dieQuietly: ignore OP_SUBMAKE as too aggressive
2639
26402020-06-19  Simon J Gerraty  <sjg@beast.crufty.net>
2641
2642	* VERSION (_MAKE_VERSION): 20200619
2643	Merge with NetBSD make, pick up
2644	o str.c: performance improvement for Str_Match for multiple '*'
2645	o dieQuietly: supress the failure output from make
2646	when failing node is a sub-make or a sibling failed.
2647	This cuts down greatly on unhelpful noise at the end of
2648	build log.  Disabled by -dj or .MAKE.DIE_QUIETLY=no
2649
26502020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
2651
2652	* FILES: add LICENSE to appease some packagers.
2653	This is an attempt to fairly represent the license on almost
2654	200 files, which are almost all BSD-3-Clause
2655	The few exceptions being more liberal.
2656
2657	* VERSION (_MAKE_VERSION): 20200610
2658	Merge with NetBSD make, pick up
2659	o unit test for :Or
2660
26612020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
2662
2663	* VERSION (_MAKE_VERSION): 20200606
2664	Merge with NetBSD make, pick up
2665	o make.1: cleanup
2666
2667	* Makefile: fix depends for main.o which broke MAKE_VERSION
2668
26692020-06-05  Simon J Gerraty  <sjg@beast.crufty.net>
2670
2671	* VERSION (_MAKE_VERSION): 20200605
2672	Merge with NetBSD make, pick up
2673	o dir.c: cached_stats - don't confuse stat and lstat results.
2674	o var.c: add :Or for reverse sort.
2675
26762020-05-24  Simon J Gerraty  <sjg@beast.crufty.net>
2677
2678	* configure.in: add AC_PROG_CC_C99 for mipspro compiler
2679	also if --with-filemon= specifies path to filemon.h
2680	set use_filemon=dev
2681	* dirname.c: remove include of namespace.h
2682
26832020-05-17  Simon J Gerraty  <sjg@beast.crufty.net>
2684
2685	* VERSION (_MAKE_VERSION): 20200517
2686	Merge with NetBSD make, pick up
2687	o modified dollar tests to avoid shell dependencies
2688	o new tests for .INCLUDEFROM
2689
26902020-05-16  Simon J Gerraty  <sjg@beast.crufty.net>
2691
2692	* unit-tests/dollar.mk: tweak  '1 dollar literal' test
2693	to not depend so much on shell behavior
2694
26952020-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
2696
2697	* VERSION (_MAKE_VERSION): 20200510
2698	Merge with NetBSD make, pick up
2699	o unit test for dollar handling
2700
27012020-05-06  Simon J Gerraty  <sjg@beast.crufty.net>
2702
2703	* VERSION (_MAKE_VERSION): 20200506
2704	Merge with NetBSD make, pick up
2705	o str.c: empty string does not match % pattern
2706	  plus unit-test changes
2707
27082020-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
2709
2710	* VERSION (_MAKE_VERSION): 20200504
2711	May the 4th be with you
2712	Merge with NetBSD make, pick up
2713	o var.c: import handling of old sysV style modifier using '%'
2714	o str.c: refactor brk_string
2715	o unit-tests: add test case for lazy conditions
2716
27172020-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
2718
2719	* VERSION (_MAKE_VERSION): 20200418
2720
2721	* configure.in: use_makefile=no for Cygwin et al.
2722	case insensitive filesystems just don't work if both
2723	makefile and Makefile exist.
2724	NOTE: bmake does not support Cygwin and likely never will,
2725	but if brave souls want to try it - help them out.
2726
27272020-04-02  Simon J Gerraty  <sjg@beast.crufty.net>
2728
2729	* VERSION (_MAKE_VERSION): 20200402
2730	Merge with NetBSD make, pick up
2731	o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD
2732	  a blank command is perfectly valid.
2733
27342020-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
2735
2736	* VERSION (_MAKE_VERSION): 20200330
2737	Merge with NetBSD make, pick up
2738	o make.h: extern debug_file
2739
27402020-03-18  Simon J Gerraty  <sjg@beast.crufty.net>
2741
2742	* VERSION (_MAKE_VERSION): 20200318
2743	Merge with NetBSD make, pick up
2744	o meta.c: meta_oodate, check for corrupted meta file
2745	  earlier and more often.
2746
27472020-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
2748
2749	* VERSION (_MAKE_VERSION): 20200220
2750
27512020-02-19  Simon J Gerraty  <sjg@beast.crufty.net>
2752
2753	* boot-strap: unset MAKEFLAGS
2754
27552020-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
2756
2757	* VERSION (_MAKE_VERSION): 20200212
2758	* meta.c: meta_compat_parent check for USE_FILEMON
2759	  patch from Soeren Tempel
2760
27612020-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
2762
2763	* VERSION: 20200205
2764	Merge with NetBSD make, pick up
2765	o meta.c: fix compat mode, need to call meta_job_output()
2766	o job.c: extra fds for meta mode not needed if using filemon_dev
2767
27682020-01-22  Simon J Gerraty  <sjg@beast.crufty.net>
2769
2770	* VERSION: 20200122
2771	Merge with NetBSD make, pick up
2772	o meta.c: avoid passing NULL to filemon_*() when meta_needed()
2773	  returns FALSE.
2774
27752020-01-21  Simon J Gerraty  <sjg@beast.crufty.net>
2776
2777	* VERSION: 20200121
2778	Merge with NetBSD make, pick up
2779	o filemon/filemon_{dev,ktrace}.c: allow selection of
2780	  filemon implementation.  filemon_dev.c uses the kernel module
2781	  while filemon_ktrace.c leverages the fktrace api available in
2782	  NetBSD.  filemon_ktrace.c can hopefully form the basis for
2783	  adding support for other tracing mechanisms such as strace on
2784	  Linux.
2785	o meta.c: when target is out-of-date per normal make rules
2786	  record value of .OODATE in meta file.
2787
27882019-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
2789
2790	* VERSION: 20190926
2791	  Merge with NetBSD make, pick up
2792	  o parse.c: don't pass NULL to realpath(3)
2793	    some versions cannot handle it.
2794
27952019-04-09  Simon J Gerraty  <sjg@beast.crufty.net>
2796
2797	* VERSION: 20190409
2798	  Merge with NetBSD make, pick up
2799	  o parse.c: ParseDoDependency: free paths rather than assert
2800
28012018-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
2802
2803	* VERSION: 20181222
2804
2805	* configure.in: add --without-makefile to avoid generating
2806	  makefile and make-bootstrap.sh
2807
2808	* include Makefile.inc if it exists
2809
2810	* Use Makefile and Makefile.config.in in unit-tests
2811	  so we can use just: make obj && make && make test
2812	  when bmake is already available.
2813	  We add --without-makefile to CONFIGURE_ARGS in this case.
2814
2815	* tweak bsd.after-import.mk (captures Makefile.config etc
2816	  after import to FreeBSD for example) to cope with all the above.
2817
28182018-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
2819
2820	* VERSION: 20181221
2821	  Merge with NetBSD make, pick up
2822	  o parse.c: ParseVErrorInternal use .PARSEDIR
2823	    and apply if relative, and then use .PARSEFILE
2824	    for consistent result.
2825
28262018-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
2827
2828	* VERSION: 20181220
2829	  Merge with NetBSD make, pick up
2830	  o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR
2831	    is relative
2832	  o var.c: avoid SEGFAULT in .unexport-env
2833	    when MAKELEVEL is not set
2834
28352018-12-16  Simon J Gerraty  <sjg@beast.crufty.net>
2836
2837	* VERSION: 20181216
2838	  Merge with NetBSD make, pick up
2839	  o fix for unit-tests/varquote.mk on Debian
2840
28412018-09-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2842
2843	* VERSION: 20180919
2844	  Merge with NetBSD make, pick up
2845	  o var.c: add :q
2846	  o dir.c: cleanup caching of stats
2847
28482018-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
2849
2850	* Makefile.config.in: use += where it makes sense.
2851
28522018-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2853
2854	* VERSION: 20180512
2855	  Merge with NetBSD make, pick up
2856	  o job.c: skip polling job token pipe
2857
28582018-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2859
2860	* VERSION: 20180405
2861	  Merge with NetBSD make, pick up
2862	  o parse.c: be more cautious about detecting depenency line
2863	    rather than sysV style include.
2864
28652018-02-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2866
2867	* VERSION: 20180222
2868	  Merge with NetBSD make, pick up
2869	  o parse.c: avoid calling sysconf for every call to loadfile
2870
28712018-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2872
2873	* VERSION: 20180218
2874	  Merge with NetBSD make, pick up
2875	  o var.c: Var_Set handle NULL value anytime.
2876
28772018-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2878
2879	* VERSION: 20180212
2880	  Merge with NetBSD make, pick up
2881	  o parse.c: do not treat .info as warning with -W
2882
28832017-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2884
2885	* VERSION: 20171207
2886	  Merge with NetBSD make, pick up
2887	  o var.c: Var_Append use Var_Set if var not previously set
2888	    so that VAR_CMD is handled correctly.
2889	    Add a suitable unit-test.
2890
28912017-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2892
2893	* VERSION (_MAKE_VERSION): 20171126
2894
2895	* aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
2896	  since AC_TRY_COMPILE puts input inside main()
2897	  which upsets modern compilers.
2898
28992017-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2900
2901	* VERSION: 20171118
2902	  Merge with NetBSD make, pick up
2903	  o var.c: do not append to variable set on command line
2904	    add unit-test to catch this.
2905
29062017-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2907
2908	* VERSION: 20171028
2909	  Merge with NetBSD make, pick up
2910	  o main.c: ignore empty MAKEOBJDIR
2911
2912	* Makefile.config.in:
2913	  make @prefix@ @machine*@ and @default_sys_path@ defaults.
2914
29152017-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2916
2917	* VERSION: 20171005
2918
2919	* unit-tests/dotwait.mk: redirect stderr through pipe for more
2920	  consistent result on some platforms.
2921
29222017-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2923
2924	* machine.sh: entry for AIX
2925
29262017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2927
2928	* VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
2929	  to a file that can be included by configure as well as make.
2930	  This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
2931
29322017-08-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2933
2934	* Makefile (_MAKE_VERSION): 20170810
2935	  Merge with NetBSD make, pick up
2936	  o meta.c: if target is in subdir we only need subdir name in
2937	    meta_name.
2938
29392017-07-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2940
2941	* Makefile (_MAKE_VERSION): 20170720
2942	  Merge with NetBSD make, pick up
2943	  o compat.c: pass SIGINT etc onto child and wait for it to exit
2944	    before we self-terminate.
2945
29462017-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2947
2948	* Makefile (_MAKE_VERSION): 20170711
2949	  forgot to update after merge on 20170708 ;-)
2950	  o main.c: refactor to reduce size of main function.
2951	    add -v option to always fully expand values.
2952	  o meta.c: ensure command output in meta file has ending newline
2953	    even when filemon not being used.
2954	    When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
2955	    pathname via ':L' since any ':' in pathname breaks that.
2956	    Instead set a '${.p.}' to pathname in the target context and
2957	    use that.
2958
29592017-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2960
2961	* Makefile (_MAKE_VERSION): 20170510
2962	  Merge with NetBSD make, pick up
2963	  o main.c: Main_SetObjdir: ensure buf2 is in scope
2964
29652017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2966
2967	* Makefile (_MAKE_VERSION): 20170505
2968	  see mk/ChangeLog
2969
29702017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2971
2972	* parse.c: not everyone has stdint.h
2973
29742017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2975
2976	* Makefile (_MAKE_VERSION): 20170501
2977	  see mk/ChangeLog
2978
29792017-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2980
2981	* Makefile (_MAKE_VERSION): 20170421
2982	  Merge with NetBSD make, pick up
2983	  o str.c: Str_Match: fix closure tests for [^] and add unit-test.
2984
29852017-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2986
2987	* Makefile (_MAKE_VERSION): 20170420
2988	  Merge with NetBSD make, pick up
2989	  o main.c: only use -C arg "as is" if it contains no
2990	    relative component.
2991
29922017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2993
2994	* Makefile (_MAKE_VERSION): 20170418
2995	  Merge with NetBSD make, pick up
2996	  o main.c: fix Main_SetObjdir() for relative paths (eg obj).
2997
29982017-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
2999
3000	* Makefile (_MAKE_VERSION): 20170417
3001	  Merge with NetBSD make, pick up
3002	  o fixes a number of coverity complaints
3003	    - check return value of fseek, fcntl
3004	    - plug memory leak in Dir_FindFile, Var_LoopExpand,
3005	      JobPrintCommand, ParseTraditionalInclude
3006	    - use bmake_malloc() where NULL is not tollerated
3007	    - use MAKE_ATTR_UNUSED rather that kludges like
3008	      return(unused ? 0 : 0)
3009	    - use purge_cached_realpaths() rather than abuse cached_realpath()
3010
30112017-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3012
3013	* Makefile (_MAKE_VERSION): 20170413
3014	  Merge with NetBSD make, pick up
3015	  o main.c: when setting .OBJDIR ignore '$' in paths.
3016
3017	* job.c: use MALLOC_OPTIONS to set malloc_options.
3018
30192017-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3020
3021	* Makefile (_MAKE_VERSION): 20170411
3022	  Merge with NetBSD make, pick up
3023	  o str.c: Str_Match: allow [^a-z] to behave as expected.
3024
30252017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3026
3027	* Makefile (_MAKE_VERSION): 20170326
3028	  Merge with NetBSD make, pick up
3029	  o main.c: purge relative paths from realpath cache when .OBJDIR
3030	    is changed.
3031
30322017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3033
3034	* Makefile (_MAKE_VERSION): 20170311
3035	  Merge with NetBSD make, pick up
3036          o main.c: only use -C arg "as is" if it starts with '/'.
3037
30382017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3039
3040	* Makefile (_MAKE_VERSION): 20170301
3041	  Merge with NetBSD make, pick up
3042	  o main.c: use -C arg "as is" rather than getcwd()
3043	    if they identify the same directory.
3044	  o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
3045
30462017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3047
3048	* Makefile (_MAKE_VERSION): 20170201
3049	  Merge with NetBSD make, pick up
3050	  o var.c: allow :_=var and avoid use of special context.
3051
30522017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3053
3054	* Makefile (_MAKE_VERSION): 20170130
3055	  Merge with NetBSD make, pick up
3056	  o var.c: add :range and :_
3057	  o main.c: partially initialize Dir_* before MainParseArgs()
3058	    can be called.
3059	    If -V, skip Main_ExportMAKEFLAGS()
3060
30612017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
3062
3063	* Makefile (_MAKE_VERSION): 20170114
3064	  Merge with NetBSD make, pick up
3065	  o var.c: allow specifying the utc value used by :{gm,local}time
3066
30672016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3068
3069	* Makefile (_MAKE_VERSION): 20161212
3070	  Merge with NetBSD make, pick up
3071          o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
3072
30732016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3074
3075	* Makefile (_MAKE_VERSION): 20161209
3076	  Merge with NetBSD make, pick up
3077	  o main.c: cleanup setting of .OBJDIR
3078	  o parse.c: avoid coredump from (var)=val
3079
30802016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3081
3082	* Makefile (_MAKE_VERSION): 20161126
3083	  Merge with NetBSD make, pick up
3084	  o make.c: Make_OODate: report src node name if path not set
3085
30862016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3087
3088	* Makefile (_MAKE_VERSION): 20160926
3089	  Merge with NetBSD make, pick up
3090	  o support for .DELETE_ON_ERROR: (remove targets that fail)
3091
30922016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3093
3094	* Makefile MAN: tweak .Dt to match ${PROG}
3095
30962016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3097
3098	* Makefile (_MAKE_VERSION): 20160818
3099	  its a neater number; pick up whitespace fixes to man page.
3100
31012016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
3102
3103	* Makefile (_MAKE_VERSION): 20160817
3104	  Merge with NetBSD make, pick up
3105	  o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
3106	    so we can call it before adding entries to missingFiles.
3107	    Thus we do not track files we have been told to ignore.
3108
31092016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
3110
3111	* Makefile (_MAKE_VERSION): 20160815
3112	  Merge with NetBSD make, pick up
3113	  o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
3114	    pathnames, and skip if the expansion is empty.
3115	    Useful for dirdeps.mk when checking DIRDEPS_CACHE.
3116
31172016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3118
3119	* Makefile (_MAKE_VERSION): 20160812
3120	  Merge with NetBSD make, pick up
3121	  o meta.c: remove all missingFiles entries that match a deleted
3122	    dir.
3123	  o main.c: set .ERROR_CMD if possible.
3124
31252016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3126
3127	* Makefile (_MAKE_VERSION): 20160606
3128	  Merge with NetBSD make, pick up
3129	  o dir.c: extend mtimes cache to others via cached_stat()
3130
31312016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3132
3133	* Makefile (_MAKE_VERSION): 20160604
3134	  Merge with NetBSD make, pick up
3135	  o meta.c: missing filemon data is only relevant if we read a
3136	    meta file.
3137	    Also do not return oodate for a missing metafile if gn->path
3138	    points to .CURDIR
3139
31402016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3141
3142	* Makefile (_MAKE_VERSION): 20160602
3143	  Merge with NetBSD make, pick up
3144	  o cached_realpath(): avoid hitting filesystem more than necessary.
3145	  o meta.c: refactor need_meta decision, add knobs for
3146	    missing meta file and filemon data wrt out-of-datedness.
3147
31482016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3149
3150	* Makefile (_MAKE_VERSION): 20160528
3151
3152	* boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
3153
31542016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3155
3156	* Makefile (_MAKE_VERSION): 20160512
3157	  Merge with NetBSD make, pick up
3158	  o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
3159	    this is useful for gcov builds.
3160	  o propagate errors from filemon(4).
3161
31622016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3163
3164	* Makefile (_MAKE_VERSION): 20160509
3165	  Merge with NetBSD make, pick up
3166	  o remove use of non-standard types u_int etc.
3167	  o meta.c: apply realpath() before matching against metaIgnorePaths
3168
31692016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3170
3171	* Makefile (_MAKE_VERSION): 20160404
3172	  Merge with NetBSD make, pick up
3173	  o allow makefile to set .MAKE.JOBS
3174
3175	* Makefile (PROG_NAME): use ${_MAKE_VERSION}
3176
31772016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
3178
3179	* Makefile (_MAKE_VERSION): 20160315
3180	  Merge with NetBSD make, pick up
3181	  o fix handling of archive members
3182
31832016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3184
3185	* Makefile (_MAKE_VERSION): rename variable to avoid interference
3186	  with checks for ${MAKE_VERSION}
3187
31882016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3189
3190	* Makefile (MAKE_VERSION): 20160310
3191	  Merge with NetBSD make, pick up
3192	  o meta.c: treat missing Read file same as Write, incase we Delete it.
3193
31942016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3195
3196	* Makefile (MAKE_VERSION): 20160307
3197	  Merge with NetBSD make, pick up
3198	  o var.c: fix :ts\nnn to be octal by default.
3199	  o meta.c: meta_finish() to cleanup memory.
3200
32012016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3202
3203	* Makefile (MAKE_VERSION): 20160226
3204	  Merge with NetBSD make, pick up
3205	  o meta.c: allow meta file for makeDepend if makefiles want it.
3206
32072016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
3208
3209	* var.c: default .MAKE.SAVE_DOLLARS to FALSE
3210	  for backwards compatability.
3211
3212	* Makefile (MAKE_VERSION): 20160220
3213	  Merge with NetBSD make, pick up
3214	  o var.c: add knob to control handling of '$$' in :=
3215
32162016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3217
3218	* Makefile (MAKE_VERSION): 20160218
3219	  Merge with NetBSD make, pick up
3220	  o var.c: add .export-literal allows us to fix sys.clean-env.mk
3221	    post the changes to Var_Subst.
3222	    Var_Subst now takes flags, and does not consume '$$' in :=
3223
32242016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
3225
3226	* Makefile (MAKE_VERSION): 20160217
3227	  Merge with NetBSD make, pick up
3228	  o var.c: preserve '$$' in :=
3229	  o parse.c: add .dinclude for handling included
3230	    makefile like .depend
3231
32322015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3233
3234	* Makefile (MAKE_VERSION): 20151220
3235	  Merge with NetBSD make, pick up
3236	  o suff.c: re-initialize suffNull when clearing suffixes.
3237
32382015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3239
3240	* Makefile (MAKE_VERSION): 20151201
3241	  Merge with NetBSD make, pick up
3242	  o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
3243	  o meta.c: meta_oodate: use lstat(2) for checking link target
3244	    in case it is a symlink.
3245	  o var.c: avoid calling brk_string and Var_Export1 with empty
3246	    strings.
3247
32482015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3249
3250	* Makefile (MAKE_VERSION): 20151126
3251	  Merge with NetBSD make, pick up
3252	  o parse.c: ParseTrackInput don't access beyond
3253	    end of old value.
3254
32552015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3256
3257	* Makefile (MAKE_VERSION): 20151022
3258
3259	* Add support for BSD/OS which lacks inttypes.h
3260	  and really needs sys/param.h for sys/sysctl.h
3261	  also 'type' is not a shell builtin.
3262
3263	* var.c: eliminate uint32_t and need for inttypes.h
3264
3265	* main.c: PrintOnError flush stdout before run .ERROR
3266
3267	* parse.c: cope with _SC_PAGESIZE not being defined.
3268
3269
32702015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3271
3272	* Makefile (MAKE_VERSION): 20151020
3273	  Merge with NetBSD make, pick up
3274	  o var.c: fix uninitialized var
3275
32762015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3277
3278	* var.c: the conditional expressions used with ':?' can be
3279	expensive, if already discarding do not evaluate or expand
3280	anything.
3281
32822015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3283
3284	* Makefile (MAKE_VERSION): 20151010
3285	  Merge with NetBSD make, pick up
3286	  o Add Boolean wantit flag to Var_Subst and Var_Parse
3287	    when FALSE we know we are discarding the result and can
3288	    skip operations like Cmd_Exec.
3289
32902015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3291
3292	* Makefile (MAKE_VERSION): 20151009
3293	  Merge with NetBSD make, pick up
3294	  o var.c: don't check for NULL before free()
3295	  o meta.c: meta_oodate, do not hard code ignore of makeDependfile
3296
32972015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3298
3299	* Makefile (MAKE_VERSION): 20150910
3300	  Merge with NetBSD make, pick up
3301	  o main.c: with -w print Enter/Leaving messages for objdir too
3302	    if necessary.
3303	  o centralize shell metachar handling
3304
3305	* FILES: add metachar.[ch]
3306
33072015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3308
3309	* Makefile (MAKE_VERSION): 20150606
3310	  Merge with NetBSD make, pick up
3311	  o make.1: document .OBJDIR target
3312
33132015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3314
3315	* Makefile (MAKE_VERSION): 20150505
3316	  Merge with NetBSD make, pick up
3317	  o cond.c: be strict about lhs of comparison when evaluating .if
3318	    but less so when called from variable expansion.
3319	  o unit-tests/cond2.mk: test various error conditions
3320
33212015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3322
3323	* machine.sh (MACHINE): Add Bitrig
3324	  patch from joerg@netbsd.org
3325
33262015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3327
3328	* Makefile (MAKE_VERSION): 20150418
3329	  Merge with NetBSD make, pick up
3330	  o job.c: use memmove() rather than memcpy()
3331
3332	* unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
3333	  case, so skip it.
3334
33352015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3336
3337	* Makefile (MAKE_VERSION): 20150411
3338	  bump version - only mk/ changes.
3339
33402015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3341
3342	* Makefile (MAKE_VERSION): 20150410
3343	  Merge with NetBSD make, pick up
3344	  o document different handling of '-' in jobs mode vs compat
3345	  o fix jobs mode so that '-' only applies to whole job
3346	    when shell lacks hasErrCtl
3347	  o meta.c: use separate vars to track lcwd and latestdir (read)
3348	    per process
3349
33502015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3351
3352	* Makefile (MAKE_VERSION): 20150401
3353	  Merge with NetBSD make, pick up
3354	  o meta.c: close meta file in child
3355
3356	* Makefile: use BINDIR.bmake if set.
3357	  Same for MANDIR and SHAREDIR
3358	  Handy for testing release candidates
3359	  in various environments.
3360
33612015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3362
3363	* move initialization of savederr to block where it is used
3364	  to avoid spurious warning from gcc5
3365
33662014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3367
3368	* Makefile (MAKE_VERSION): 20141111
3369	  just a cooler number
3370
33712014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3372
3373	* Makefile (MAKE_VERSION): 20141105
3374	  Merge with NetBSD make, pick up
3375	  o revert major overhaul of suffix handling
3376	    and POSIX compliance - too much breakage
3377	    and impossible to make backwards compatible.
3378	  o we still have the new unit test structure which is ok.
3379	  o meta.c ensure "-- filemon" is at start of line.
3380
33812014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
3382
3383	* configure.in: test that result of getconf PATH_MAX is numeric
3384	  and discard if not.  Apparently needed for Hurd.
3385
33862014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3387
3388	* Makefile (MAKE_VERSION): 20140830
3389	  Merge with NetBSD make, pick up
3390	  o major overhaul of suffix handling
3391	  o improved POSIX compliance
3392	  o overhauled unit-tests
3393
33942014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3395
3396	* Makefile (MAKE_VERSION): 20140620
3397	  Merge with NetBSD make, pick up
3398	  o var.c return varNoError rather than var_Error for ::= modifiers.
3399
34002014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3401
3402	* Makefile (MAKE_VERSION): 20140522
3403	  Merge with NetBSD make, pick up
3404	  o var.c detect some parse errors.
3405
34062014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3407
3408	* Fix spelling errors - patch from Pedro Giffuni
3409
34102014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
3411
3412	* Makefile (MAKE_VERSION): 20140214
3413	  Merge with NetBSD make, pick up
3414	  o .INCLUDEFROM*
3415	  o use Var_Value to get MAKEOBJDIR[PREFIX]
3416	  o reduced realloc'ign in brk_string.
3417	* configure.in: add a check for compiler supporting __func__
3418
34192014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
3420
3421	* boot-strap: ignore mksrc=none
3422
34232014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3424
3425	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
3426
34272014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3428
3429	* Makefile (MAKE_VERSION): 20140101
3430	* configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
3431	* Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
3432	* make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
3433	  Hurd)
3434	* configure.in: Add AC_PREREQ and check for
3435	  sysctl; patch from Andrew Shadura andrewsh at debian.org
3436
34372013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
3438
3439	* Makefile (MAKE_VERSION): 20131010
3440	* lose the const from arg to systcl to avoid problems on older BSDs.
3441
34422013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3443
3444	* Makefile (MAKE_VERSION): 20131001
3445	  Merge with NetBSD make, pick up
3446	  o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
3447	    hw.machine_arch if necessary.
3448	  o meta.c: meta_oodate - need to look at src of Link and target
3449	    of Move as well.
3450	* main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
3451	  provide __arraycount() if needed.
3452
34532013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3454
3455	* Makefile (MAKE_VERSION): 20130904
3456	  Merge with NetBSD make, pick up
3457	  o Add VAR_INTERNAL context, so that internal setting of
3458	    MAKEFILE does not override value set by makefiles.
3459
34602013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3461
3462	* Makefile (MAKE_VERSION): 20130902
3463	  Merge with NetBSD make, pick up
3464	  o CompatRunCommand: only apply shellErrFlag when errCheck is true
3465
34662013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3467
3468	* Makefile (MAKE_VERSION): 20130828
3469	  Merge with NetBSD make, pick up
3470	  o Fix VAR :sh = syntax from Will Andrews at freebsd.org
3471	  o Call Job_SetPrefix() from Job_Init() so makefiles have
3472	    opportunity to set .MAKE.JOB.PREFIX
3473
34742013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3475
3476	* Makefile (MAKE_VERSION): 20130730
3477	  Merge with NetBSD make, pick up
3478	  o Allow suppression of --- job -- tokens by setting
3479	    .MAKE.JOB.PREFIX empty.
3480
34812013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
3482
3483	* Makefile (MAKE_VERSION): 20130716
3484	  Merge with NetBSD make, pick up
3485	  o number of gmake compatibility tweaks
3486	    -w for gmake style entering/leaving messages
3487	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
3488	    handle MAKEFLAGS containing only letters.
3489	  o when overriding a GLOBAL variable on the command line,
3490	    delete it from GLOBAL context so -V doesn't show the wrong
3491	    value.
3492
34932013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3494
3495	* configure.in: We don't need MAKE_LEVEL_SAFE anymore.
3496
3497	* Makefile (MAKE_VERSION): 20130706
3498	  Merge with NetBSD make, pick up
3499	  o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
3500	    true so that CompatRunCommand() can use it, to ensure
3501	    consistent behavior with jobs mode.
3502	  o use MAKE_LEVEL_ENV to define the variable to propagate
3503	    .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
3504	  o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
3505	    paths to ignore.
3506
35072013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3508
3509	* Makefile (MAKE_VERSION): 20130604
3510	  Merge with NetBSD make, pick up
3511	  o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
3512	    to avoid leaking descriptors.
3513
35142013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3515
3516	* Makefile (MAKE_VERSION): 20130528
3517	  Merge with NetBSD make, pick up
3518	  o var.c: cleanup some left-overs in VarHash()
3519
35202013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3521
3522	* Makefile (MAKE_VERSION): 20130520
3523	  generate manifest from component FILES rather than have to
3524	  update FILES when mk/FILES changes.
3525
35262013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3527
3528	* Makefile (MAKE_VERSION): 20130518
3529	  Merge with NetBSD make, pick up
3530	  o suff.c: don't skip all processsing for .PHONY targets
3531	    else wildcard srcs do not get expanded.
3532	  o var.c: expand name of variable to delete if necessary.
3533
35342013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3535
3536	* Makefile (MAKE_VERSION): 20130330
3537	  Merge with NetBSD make, pick up
3538	  o meta.c: refine the handling of .OODATE in commands.
3539	    Rather than suppress command comparison for the entire script
3540	    as though .NOMETA_CMP had been used, only suppress it for the
3541	    one command line.
3542	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
3543	    suppress comparison of a command without otherwise affecting it.
3544	  o make.1: document that
3545
35462013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3547
3548	* Makefile (MAKE_VERSION): 20130321
3549	  yes, not quite right but its a cooler number.
3550	  Merge with NetBSD make, pick up
3551	  o parse.c: fix ParseGmakeExport to be portable
3552	    and add a unit-test.
3553	* meta.c: call meta_init() before makefiles are read and if built
3554	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
3555	  this let's makefiles test for support.
3556	  Call meta_mode_init() to process .MAKE.MODE.
3557
35582013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3559
3560	* Makefile (MAKE_VERSION): 20130305
3561	  Merge with NetBSD make, pick up
3562	  o run .STALE: target when a dependency from .depend is missing.
3563	  o job.c: add Job_RunTarget() for the above and .BEGIN
3564
35652013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
3566
3567	* Makefile (MAKE_VERSION): 20130303
3568	  Merge with NetBSD make, pick up
3569	  o main.c: set .MAKE.OS to utsname.sysname
3570	  o job.c: more checks for read and poll errors
3571	  o var.c: lose VarChangeCase() saves 4% time
3572
35732013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3574
3575	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
3576	  want to use MAKEOBJDIR
3577
35782013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
3579
3580	* Merge with NetBSD make, pick up
3581	  o make.1: more info on how shell commands are handled.
3582	  o job.c,main.c: detect write errors to job pipes.
3583
35842013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3585
3586	* Makefile (MAKE_VERSION): 20130123
3587	  Merge with NetBSD make, pick up
3588	  o meta.c: if script uses .OODATE and meta_oodate() decides
3589	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
3590	  o var.c: in debug output indicate which variabale modifiers
3591	    apply to.
3592	  o remove Check_Cwd logic the makefiles have been fixed.
3593
35942012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3595
3596	* makefile.in: add a simple makefile for folk who insist on
3597	  ./configure; make; make install
3598	  it just runs boot-strap
3599	* include mk/* to accommodate the above
3600	* boot-strap:  re-work to accommodate the above
3601	  mksrc defaults to $Mydir/mk
3602	  allow op={configure,build,install,clean,all}
3603	  add options to facilitate install
3604	* Makefile.config.in: just the bits set by configure
3605	* Makefile: bump version to 20121212
3606	  abandon Makefile.in (NetBSD Makefile)
3607	  leverage mk/* instead
3608	* configure.in: ensure srcdir is absolute
3609
36102012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3611
3612	* Makefile.in (MAKE_VERSION): 20121111
3613	  fix generation of bmake.cat1
3614
36152012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3616
3617	* Makefile.in (MAKE_VERSION): 20121109
3618	  Merge with NetBSD make, pick up
3619	  o make.c: MakeBuildChild: return 0 so search continues if a
3620	    .ORDER dependency is detected.
3621	  o unit-tests/order: test the above
3622
36232012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3624
3625	* Makefile.in (MAKE_VERSION): 20121102
3626	  Merge with NetBSD make, pick up
3627	  o cond.c: allow cond_state[] to grow.
3628	    In meta mode with a very large tree, we can hit the limit
3629	    while processing dirdeps.
3630
36312012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3632
3633	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
3634
36352012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3636
3637	* Makefile.in (MAKE_VERSION): 20121010
3638	  o protect syntax that only bmake parses correctly.
3639	  o remove auto setting of FORCE_MACHINE, use configure's
3640	    --with-force-machine=whatever if that is desired.
3641
36422012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
3643
3644	* Makefile.in: do not lose history from make.1 when generating bmake.1
3645
36462012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3647
3648	* Makefile.in (MAKE_VERSION): 20121007
3649	  Merge with NetBSD make, pick up
3650	  o compat.c: ignore empty commands - same as jobs mode.
3651	  o make.1: document meta chars that cause use of shell
3652
36532012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3654
3655	* Makefile.in (MAKE_VERSION): bump version to 20120911
3656	* bsd.after-import.mk: include Makefile.inc early and allow it to
3657	  override PROG
3658
36592012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
3660
3661	* Makefile.in (MAKE_VERSION): bump version to 20120831
3662	  Merge with NetBSD make, pick up
3663	  o cast sizeof() to int for comparison
3664	  o minor make.1 tweak
3665
36662012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3667
3668	* Makefile.in (MAKE_VERSION): bump version to 20120830
3669	  Merge with NetBSD make, pick up
3670	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
3671	  o debug flag -dV causes -V to show raw value regardless.
3672
36732012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3674
3675	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
3676	  gets SRCTOP set.
3677
36782012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3679
3680	* Makefile.in (MAKE_VERSION): bump version to 20120704
3681	  Merge with NetBSD make, pick up
3682	  o Job_ParseShell should call Shell_Init if it has been
3683	    previously called.
3684	* Makefile.in: set USE_META based on configure result.
3685	  also .PARSEDIR is safer indicator of bmake.
3686
36872012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3688
3689	* Makefile.in: bump version to 20120626
3690	  ensure CPPFLAGS is in CFLAGS
3691	* meta.c: avoid nested externs
3692	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
3693
36942012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3695
3696	* Makefile.in (MAKE_VERSION): bump version to 20120620
3697	  Merge with NetBSD make, pick up
3698	  o make_malloc.c: avoid including make_malloc.h again
3699
3700	* Makefile.in: avoid bmake only syntax or protect with
3701	  .if defined(.MAKE.LEVEL)
3702	* bsd.after-import.mk: replace .-include with .sinclude
3703	  ensure? SRCTOP gets a value
3704	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
3705
37062012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
3707
3708	* Makefile.in (MAKE_VERSION): bump version to 20120612
3709	  Merge with NetBSD make, pick up
3710	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
3711	    for greater portability.
3712	  o unit-tests/forloop: check that .for works as expected wrt
3713	    number of times and with "quoted strings".
3714
37152012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3716
3717	* Makefile.in (MAKE_VERSION): bump version to 20120606
3718	  Merge with NetBSD make, pick up
3719	  o compat.c: use kill(2) rather than raise(3).
3720	* configure.in: look for sys/dev/filemon
3721	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
3722	  and pass BOOTSTRAP_XTRAS to boot-strap.
3723
37242012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3725
3726	* Makefile.in (MAKE_VERSION): bump version to 20120604
3727	  Merge with NetBSD make, pick up
3728	  o util.c and var.c share same var for tracking if environ
3729	    has been reallocated.
3730	  o util.c provide getenv with setenv.
3731	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
3732	  when the shell actively strips .MAKE.* from the environment.
3733	  We still refer to the variable always as .MAKE.LEVEL
3734	* util.c fix bug in findenv() was finding prefix of name.
3735	* compat.c: re-raising SIGINT etc after running .INTERRUPT
3736	  results in more reliable termination of all activity on many
3737	  platforms.
3738
37392012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3740
3741	* Makefile.in (MAKE_VERSION): bump version to 20120602
3742	  Merge with NetBSD make, pick up
3743	  o for.c: handle quoted items in .for list
3744
37452012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3746
3747	* Makefile.in (MAKE_VERSION): bump version to 20120530
3748	  Merge with NetBSD make, pick up
3749	  o compat.c: ignore empty command.
3750
37512012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
3752
3753	* Makefile.in (MAKE_VERSION): bump version to 20120524
3754	* FILES: add bsd.after-import.mk:
3755	  A simple means of integrating bmake into a BSD build system.
3756
37572012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3758
3759	* Makefile.in (MAKE_VERSION): bump version to 20120520
3760	  Merge with NetBSD make, pick up
3761	  o increased limit for nested conditionals.
3762
37632012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3764
3765	* Makefile.in (MAKE_VERSION): bump version to 20120518
3766	  Merge with NetBSD make, pick up
3767	  o use _exit(2) in signal hanlder
3768	  o Don't use the [dir] cache when building nodes that might have
3769	    changed since the last exec.
3770	  o Avoid nested extern declaration warnings.
3771
37722012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
3773
3774	* meta.c (fgetLine): avoid %z - not portable.
3775	* parse.c: Since we moved include of sys/mman.h
3776	  and def's of MAP_COPY etc. we got dups from a merge.
3777
37782012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
3779
3780	* Makefile.in (MAKE_VERSION): bump version to 20120420
3781	  Merge with NetBSD make, pick up
3782	  o restore duplicate supression in .MAKE.MAKEFILES
3783	    runtime saving can be significant.
3784	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
3785	    consumption up to 20%.
3786
37872012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3788
3789	* Makefile.in (MAKE_VERSION): bump version to 20120420
3790          Merge with NetBSD make, pick up
3791	  o remove duplicate supression in .MAKE.MAKEFILES
3792	  o improved dir cache behavior
3793	  o gmake'ish export command
3794
37952012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3796
3797	* Makefile.in (MAKE_VERSION): bump version to 20120325
3798	  Merge with NetBSD make, pick up
3799	  o fix parsing of :[#] in conditionals.
3800
38012012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3802
3803	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
3804	  since some systems cannot cope with .Nx <version>
3805
38062011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
3807
3808	* Makefile.in (MAKE_VERSION): bump version to 20111111
3809	  Merge with NetBSD make, pick up
3810	  o debug output for .PARSEDIR and .PARSEFILE
3811
38122011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3813
3814	* Makefile.in (MAKE_VERSION):  bump version to 20111010
3815
38162011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3817
3818	* boot-strap: check for an expected file in the dirs we look for.
3819	* make-bootstrap.sh: pass on LDSTATIC
3820
38212011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3822
3823	* Makefile.in (MAKE_VERSION): bump version to 20111001
3824	  Merge with NetBSD make, pick up
3825	  o ensure .PREFIX is set for .PHONY
3826	    and .TARGET set for .PHONY run via .END
3827	  o __dead used consistently
3828
38292011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3830
3831	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
3832
38332011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3834
3835	* Makefile.in (MAKE_VERSION): bump version to 20110905
3836	  Merge with NetBSD make, pick up
3837	  o meta_oodate: ignore makeDependfile
3838
38392011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3840
3841	* Makefile.in (MAKE_VERSION): bump version to 20110828
3842	  Merge with NetBSD make, pick up
3843	  o silent=yes in .MAKE.MODE causes meta mode to mark targets
3844	    as SILENT if a .meta file is created
3845
38462011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3847
3848	* Makefile.in (MAKE_VERSION): bump version to 20110818
3849	  Merge with NetBSD make, pick up
3850	  o in meta mode, if target flagged .META a missing .meta file
3851	    means target is out-of-date
3852	  o fixes for gcc 4.5 warnings
3853	  o simplify job printing code
3854
38552011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3856
3857	* Makefile.in (MAKE_VERSION): bump version to 20110808
3858	  Merge with NetBSD make, pick up
3859	  o do not touch OP_SPECIAL targets when doing make -t
3860
38612011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3862
3863	* Makefile.in (MAKE_VERSION): bump version to 20110622
3864	  Merge with NetBSD make, pick up
3865	  o meta_oodate detect corrupted .meta file and declare oodate.
3866	* configure.in: add check for setsid
3867
38682011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3869
3870	* Merge with NetBSD make, pick up
3871	  o unit-tests/modts now works on MirBSD
3872
38732011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3874
3875	* Makefile.in (MAKE_VERSION): bump version to 20110606
3876	  Merge with NetBSD make, pick up
3877	  o ApplyModifiers: when we parse a variable which is not
3878	    the entire modifier string, or not followed by ':', do not
3879	    consider it as containing modifiers.
3880	  o loadfile: ensure newline at end of mapped file.
3881
38822011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3883
3884	* Makefile.in (MAKE_VERSION): bump version to 20110505
3885	  Merge with NetBSD make, pick up
3886	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
3887	    of make's control.  In meta mode, any generated file within
3888	    said bailiwick, which  is found to be missing, causes current
3889	    target to be out-of-date.
3890
38912011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3892
3893	* Makefile.in (MAKE_VERSION): bump version to 20110411
3894	  Merge with NetBSD make, pick up
3895	  o when long modifiers fail to match, check sysV style.
3896	    - add a test case
3897
38982011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3899
3900	* Makefile.in (MAKE_VERSION): bump version to 20110410
3901	  Merge with NetBSD make, pick up
3902	  o :hash - cheap 32bit hash of value
3903	  o :localtime, :gmtime - use value as format string for strftime.
3904
39052011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3906
3907	* Makefile.in (MAKE_VERSION): bump version to 20110330
3908	  mostly because its a cooler version.
3909	  Merge with NetBSD make, pick up
3910	  o NetBSD tags for meta.[ch]
3911	  o job.c call meta_job_finish() after meta_job_error().
3912	  o meta_job_error() should call meta_job_finish() to ensure
3913	    .meta file is closed, and safe to copy - if .ERROR target wants.
3914	   meta_job_finish() is safe to call repeatedly.
3915
39162011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
3917
3918	* unit-tests/modts: use printf if it is a builtin,
3919	  to save us from MirBSD
3920
3921	* Makefile.in (MAKE_VERSION): bump version to 20110329
3922	  Merge with NetBSD make, pick up
3923	  o fix for use after free() in CondDoExists().
3924	  o meta_oodate() report extra commands and return earlier.
3925
39262011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
3927
3928	* Makefile.in (MAKE_VERSION): bump version to 20110327
3929	  Merge with NetBSD make, pick up
3930	  o meta.c, if .MAKE.MODE contains curdirOk=yes
3931	    allow creating .meta files in .CURDIR
3932	* boot-strap (TOOL_DIFF): aparently at least on linux distro
3933	  formats the output of 'type' differently - so eat any "()"
3934
39352011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3936
3937	* Makefile.in (MAKE_VERSION): bump version to 20110306
3938	  Merge with NetBSD make, pick up
3939	  o meta.c, only do getcwd() once
3940
39412011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3942
3943	* Makefile.in (MAKE_VERSION): bump version to 20110305
3944	  Merge with NetBSD make, pick up
3945	  o correct sysV substitution handling of empty lhs and variable
3946	  o correct exists() check for dir with trailing /
3947	  o correct handling of modifiers for non-existant variables
3948	    during evaluation of conditionals.
3949	  o ensure MAP_FILE is defined.
3950	  o meta.c use curdir[] now exported by main.c
3951
39522011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3953
3954	* Makefile.in (MAKE_VERSION): bump version to 20110225
3955	  Merge with NetBSD make, pick up
3956	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
3957	    makefiles have been read.
3958	  o fix example of :? modifier in man page.
3959
39602011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3961
3962	* Makefile.in (MAKE_VERSION): bump version to 20110214
3963	  Merge with NetBSD make, pick up
3964	  o meta.c handle realpath() failing when generating meta file
3965	    name.
3966
3967	* sigcompat.c: convert to ansi so we can use higher warning levels.
3968
3969
39702011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3971
3972	* Makefile.in (MAKE_VERSION): bump version to 20110207
3973	  Merge with NetBSD make, pick up
3974	  o fix for bug in meta mode.
3975
39762011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
3977
3978	* parse.c: SunOS 5.8 at least does not have MAP_FILE
3979
39802011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3981
3982	* Makefile.in (MAKE_VERSION): bump version to 20110101
3983	  Merge with NetBSD make, pick up
3984	  o use mmap(2) if available, for reading makefiles
3985
39862010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
3987
3988	* Makefile.in (MAKE_VERSION): bump version to 20101215
3989	  Merge with NetBSD make, pick up
3990	  o ensure meta_job_error() does not report a previous .meta file
3991	    as being culprit.
3992
39932010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3994
3995	* Makefile.in (MAKE_VERSION): bump version to 20101210
3996	  Merge with NetBSD make, pick up
3997	  o meta_oodate: track cwd per process, and only consider target
3998	    out-of-date if missing file is outside make's CWD.
3999	    Ignore files in /tmp/ etc.
4000	  o to ensure unit-tests results match, need to control LC_ALL
4001	    as well as LANG.
4002	  o fix for parsing bug in var.c
4003
40042010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
4005
4006	* Makefile.in (MAKE_VERSION): bump version to 20101126
4007	  Merge with NetBSD make, pick up
4008	  o if stale dependency is an IMPSRC, search via .PATH
4009	  o meta_oodate: if a referenced file is missing, target is
4010	    out-of-date.
4011	  o meta_oodate: if a target uses .OODATE in its commands,
4012	    it (.OODATE) needs to be recomputed.
4013	  o keep a pointer to youngest child node, rather than just its
4014	    mtime.
4015
40162010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
4017
4018	* Makefile.in (MAKE_VERSION): bump version to 20101101
4019
40202010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
4021
4022	* machine.sh: like os.sh,
4023	allow for uname -p producing useless drivel
4024
40252010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
4026
4027	* boot-strap: document configure knobs for meta and filemon.
4028
4029	* Makefile.in (MAKE_VERSION): bump version to 20100911
4030	  Merge with NetBSD make, pick up
4031	  o meta.c - meta mode
4032
4033	* make-bootstrap.sh.in: handle meta.c
4034	* configure.in: add knobs for use_meta and filemon_h
4035	  also, look for dirname, str[e]sep and strlcpy
4036	* util.c: add simple err[x] and warn[x]
4037
40382010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
4039
4040	* boot-strap (TOOL_DIFF): set this to ensure tests use
4041	  the same version of diff that configure tested
4042
4043	* Makefile.in (MAKE_VERSION): bump version to 20100808
4044	  Merge with NetBSD make, pick up
4045	  o in jobs mode, when we discover we cannot make something,
4046	    call PrintOnError before exit.
4047
40482010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
4049
4050	* Makefile.in (MAKE_VERSION): bump version to 20100806
4051	  Merge with NetBSD make, pick up
4052	  o formatting fixes for ignored errors
4053	  o ensure jobs are cleaned up regardless of where wait() was called.
4054
40552010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
4056
4057	* Makefile.in (MAKE_VERSION): bump version to 20100618
4058	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
4059
40602010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
4061
4062	* Makefile.in (MAKE_VERSION): bump version to 20100616
4063	  Merge with NetBSD make, pick up
4064	  o man page update
4065	  o call PrintOnError from JobFinish when we detect an error we
4066	    are not ignoring.
4067
40682010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
4069
4070	* Makefile.in (MAKE_VERSION): bump version to 20100606
4071	  Merge with NetBSD make, pick up
4072	  o man page update
4073
40742010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
4075
4076	* Makefile.in (MAKE_VERSION): bump version to 20100605
4077	  Merge with NetBSD make, pick up
4078	  o use bmake_signal() which is a wrapper around sigaction()
4079	    in place of signal()
4080	  o add .export-env to allow exporting variables to environment
4081	    without tracking (so no re-export when the internal value is
4082	    changed).
4083
40842010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
4085
4086	* Makefile.in (MAKE_VERSION): bump version to 20100524
4087	  Merge with NetBSD make, pick up
4088	  o fix for .info et al being greedy.
4089
40902010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
4091
4092	* Makefile.in (MAKE_VERSION): bump version to 20100520
4093	  Merge with NetBSD make, pick up
4094	  o back to using realpath on argv[0]
4095	    but only if contains '/' and does not start with '/'.
4096
40972010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
4098
4099	* boot-strap: use absolute path for bmake when running tests.
4100
4101	* Makefile.in (MAKE_VERSION):  bump version to 20100510
4102	  Merge with NetBSD make, pick up
4103	  o revert use of realpath on argv[0]
4104	    too many corner cases.
4105	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
4106
41072010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
4108
4109	* Makefile.in (MAKE_VERSION): bump version to 20100505
4110	  Merge with NetBSD make, pick up
4111	  o fix for missed SIGCHLD when compiled with SunPRO
4112	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
4113	    done the job.
4114
41152010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
4116
4117	* Makefile.in (MAKE_VERSION): bump version to 20100430
4118	  Merge with NetBSD make, pick up
4119	  o fflush stdout before writing to stdout
4120
41212010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
4122
4123	* Makefile.in (MAKE_VERSION): bump version to 20100423
4124	  Merge with NetBSD make, pick up
4125	  o updated unit tests for Haiku (this time for sure).
4126	* boot-strap: based on patch from joerg
4127	  honor --with-default-sys-path better.
4128	* boot-strap: remove mention of --with-prefix-sys-path
4129
41302010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
4131
4132	* Makefile.in (MAKE_VERSION): bump version to 20100422
4133	* Merge with NetBSD make, pick up
4134	  o fix for vfork() on Darwin.
4135	  o fix for bogus $TMPDIR.
4136	  o set .MAKE.MODE=compat for -B
4137	  o set .MAKE.JOBS=max_jobs for -j max_jobs
4138	  o allow unit-tests to run without any *.mk
4139	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
4140	* boot-strap: ignore /usr/share/mk except on NetBSD.
4141	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
4142	  ensure sort(1) behaves as expected.
4143
41442010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
4145
4146	* boot-strap: add FindHereOrAbove so we can use -m .../mk
4147
41482010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
4149
4150	* Makefile.in (MAKE_VERSION): bump version to 20100420
4151	* Merge with NetBSD make, pick up
4152	  o fix for variable realpath() behavior.
4153	    we have to stat(2) the result to be sure.
4154	  o fix for .export (all) when nested vars use :sh
4155
41562010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
4157
4158	* Makefile.in (MAKE_VERSION): bump version to 20100414
4159	* Merge with NetBSD make, pick up
4160	  o use realpath to resolve argv[0] (for .MAKE) if needed.
4161	  o add realpath from libc.
4162	  o add :tA to resolve variable via realpath(3) if possible.
4163
41642010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
4165
4166	* Makefile.in (MAKE_VERSION): bump version to 20100408
4167	* Merge with NetBSD make, pick up
4168	  o unit tests for .ERROR, .error
4169	  o fix for .ERROR to ensure it cannot be default target.
4170
41712010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
4172
4173	* Makefile.in (MAKE_VERSION): bump version to 20100406
4174	* Merge with NetBSD make, pick up
4175	  o fix for compat mode "Error code" going to debug_file.
4176	  o fix for .ALLSRC being populated twice.
4177	  o support for .info, .warning and .error directives
4178	  o .MAKE.MODE to control make's operational mode
4179	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
4180	    name(s).
4181	  o .MAKE.DEPENDFILE to control the name of the depend file
4182	  o .ERROR target - run on failure.
4183
41842010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
4185
4186	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
4187
4188	* os.sh,arch.c: patch for Haiku from joerg at netbsd
4189
41902010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
4191
4192	* Makefile.in (MAKE_VERSION): bump version to 20100222
4193	* Merge with NetBSD make, pick up
4194	  o better error msg for .for with mutiple inter vars
4195
4196	* boot-strap:
4197	  o use make-bootstrap.sh from joerg at netbsd
4198	    to avoid the need for a native make when bootstrapping.
4199	  o add "" everywhere ;-)
4200	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
4201	    otherwise the pre-formated version.
4202
42032010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
4204
4205	* Makefile.in (MAKE_VERSION): bump version to 20100102
4206	* Merge with NetBSD make, pick up:
4207	  o fix for -m .../
4208
42092009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
4210
4211	* Makefile.in (MAKE_VERSION): bump version to 20091118
4212	* Merge with NetBSD make, pick up:
4213	  o .unexport
4214	  o report lines that start with '.' and should have ':'
4215	    (catch typo's of .el*if).
4216
42172009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
4218
4219	* configure.in: Ensure that srcdir and mksrc are absolute paths.
4220
42212009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
4222
4223	* Makefile.in (MAKE_VERSION): fix version to 20091007
4224
42252009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
4226
4227	* Makefile.in (MAKE_VERSION): bump version to 200910007
4228	* Merge with NetBSD make, pick up:
4229	  o fix for parsing of :S;...;...; applied to .for loop iterator
4230	    appearing in a dependency line.
4231
42322009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
4233
4234	* Makefile.in (MAKE_VERSION): bump version to 20090909
4235	* Merge with NetBSD make, pick up:
4236	  o fix for -C, .CURDIR and .OBJDIR
4237	* boot-strap:
4238	  o allow share_dir to be set independent of prefix.
4239	  o select default share_dir better when prefix ends in $HOST_TARGET
4240	  o if FORCE_BSD_MK etc were set, include them in the suggested
4241	    install-mk command.
4242
42432009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
4244
4245	* Makefile.in (MAKE_VERSION): bump version to 20090908
4246	* Merge with NetBSD make, pick up:
4247	  o .MAKE.LEVEL for recursion tracking
4248	  o fix for :M scanning \:
4249
42502009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
4251
4252	* configure.in: Don't -D__EXTENSIONS__ if
4253	AC_USE_SYSTEM_EXTENSIONS says "no".
4254
42552009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
4256
4257	* Makefile.in (MAKE_VERSION): bump version to 20090826
4258	Simplify MAKE_VERSION to just the bare date.
4259	* Merge with NetBSD make, pick up:
4260	  o -C directory support.
4261	  o support for SIGINFO
4262	  o use $TMPDIR for temp files.
4263	  o child of vfork should be careful about modifying parent's state.
4264
4265
42662009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
4267
4268	* Appy some patches for MiNT from David Brownlee
4269
42702009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
4271
4272	* Makefile.in (BMAKE_VERSION): bump version to 20090222
4273	* Merge with NetBSD make, pick up:
4274	  o Possible null pointer de-ref in Var_Set.
4275
42762009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
4277
4278	* Makefile.in (BMAKE_VERSION): bump version to 20090204
4279	* Merge with NetBSD make, pick up:
4280	  o bmake_malloc et al moved to their own .c
4281	  o Count both () and {} when looking for the end of a :M pattern
4282	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
4283	  o strlist.c - functions for processing extendable arrays of pointers to strings.
4284	  o ClientData replaced with void *, so const void * can be used.
4285	  o New debug flag C for DEBUG_CWD
4286
42872008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
4288
4289	* Makefile.in (BMAKE_VERSION): bump version to 20081111
4290	  Apply patch from Joerg Sonnenberge to
4291	  configure.in:
4292	  o remove some redundant checks
4293	  o check for emlloc etc only in libutil and require the whole family.
4294	  util.c:
4295	  o remove [v]asprintf which is no longer used.
4296
42972008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
4298
4299	* Makefile.in (BMAKE_VERSION): bump version to 20081101
4300	* Merge with NetBSD make, pick up:
4301	  o util.c: avoid use of putenv() - christos
4302
43032008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
4304
4305	* Makefile.in (BMAKE_VERSION): bump version to 20081030
4306	  pick up man page tweaks.
4307
43082008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
4309
4310	* Makefile.in: move processing of LIBOBJS to after is definition!
4311	  thus we'll have getenv.c in SRCS only if needed.
4312
4313	* make.1: add examples of how to use :?
4314
4315	* Makefile.in (BMAKE_VERSION): bump version to 20081029
4316	* Merge with NetBSD make, pick up:
4317	  o fix for .END processing with -j
4318	  o segfault from Parse_Error when no makefile is open
4319	  o handle numeric expressions in any variable expansion
4320	  o debug output now defaults to stderr, -dF to change it - apb
4321	  o make now uses bmake_malloc etc so that it can build natively
4322	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
4323
43242008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
4325
4326	* Makefile.in (BMAKE_VERSION): bump version to 20080808
4327	* Merge with NetBSD make, pick up:
4328	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
4329	    long lines in Makefiles
4330	  o optimizations for VarQuote by joerg
4331	  o fix for PR/38756: dominik: make dumps core on invalid makefile
4332
43332008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
4334
4335	* Makefile.in (BMAKE_VERSION): bump version to 20080515
4336	* Merge with NetBSD make, pick up:
4337	  o fix skip setting vars in VAR_GLOBAL context, to handle
4338	    cases where VAR_CMD is used for other than command line vars.
4339
43402008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
4341
4342	* boot-strap (make_version): we may need to look in
4343	$prefix/share/mk for sys.mk
4344
4345	* Makefile.in (BMAKE_VERSION): bump version to 20080514
4346	* Merge with NetBSD make, pick up:
4347	  o skip setting vars in VAR_GLOBAL context, when already set in
4348	  VAR_CMD which takes precedence.
4349
43502008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
4351
4352	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
4353	* Merge with NetBSD make, pick up:
4354	  o fix for ?= when LHS contains variable reference.
4355
43562008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
4357
4358	* merge some patches from NetBSD pkgsrc.
4359
4360	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
4361	the MAKSYSPATH used during bootstrap.
4362
4363	* Makefile.in (BMAKE_VERSION): bump version to 20080215
4364	* Merge with NetBSD make, pick up:
4365	  o warn if non-space chars follow 'empty' in a conditional.
4366
43672008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
4368
4369	* Makefile.in (BMAKE_VERSION): bump version to 20080118
4370	* Merge with NetBSD make, pick up:
4371	  o consider dependencies read from .depend as optional - dsl
4372	  o remember when buffer for reading makefile grows - dsl
4373	  o add -dl (aka LOUD) - David O'Brien
4374
43752007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
4376
4377	* Makefile.in (BMAKE_VERSION): bump version to 20071022
4378	* Merge with NetBSD make, pick up:
4379	  o Allow .PATH<suffix> to be used for .include ""
4380
4381	* boot-strap: source default settings from .bmake-boot-strap.rc
4382
43832007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
4384
4385	* Makefile.in: fix maninstall on various systems
4386	  provided that our man.mk is used.
4387	  For non-BSD systems we install the preformatted page
4388	  into $MANDIR/cat1
4389
43902007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
4391
4392	* boot-strap: make bmake.1 too, so maninstall works.
4393
43942007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
4395
4396	* Makefile.in (BMAKE_VERSION): bump version to 20071014
4397	* Merge with NetBSD make, pick up:
4398	  o revamped handling of defshell - configure no longer needs to
4399	    know the content of the shells array - apb
4400	  o stop Var_Subst modifying its input - apb
4401	  o avoid calling ParseTrackInput too often - dsl
4402
44032007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
4404
4405	* Makefile.in (BMAKE_VERSION): bump version to 20071011
4406	* Merge with NetBSD make, pick up:
4407	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
4408
4409	* sigcompat.c: some tweaks for HP-UX 11.x based on
4410	  patch from Tobias Nygren
4411
4412	* configure.in: update handling of --with-defshell to match
4413	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
4414	  will now do what one might hope - provided the chosen shell
4415	  behaves enough like sh.
4416
44172007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
4418
4419	* Makefile.in (BMAKE_VERSION): bump to 20071008
4420	* Merge with NetBSD make, pick up:
4421	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
4422	  o .export/.MAKE.EXPORTED - export of variables - sjg
4423	  o .MAKE.MAKEFILES - track all makefiles read - sjg
4424	  o performance improvements - dsl
4425	  o revamp parallel job scheduling - dsl
4426
44272006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
4428
4429	* Makefile.in (BMAKE_VERSION): bump to 20060728
4430	* Merge with NetBSD make, pick up:
4431	  o extra debug info during variable and cond processing - sjg
4432	  o shell definition now covers newline - rillig
4433	  o minor mem leak in PrintOnError - sjg
4434
44352006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
4436
4437	* Makefile.in (BMAKE_VERSION):  bump to 20060511
4438	* Merge with NetBSD make, pick up:
4439	  o more memory leaks - coverity
4440	  o possible overflow in ArchFindMember - coverity
4441	  o extract variable modifier code out of Var_Parse()
4442	    so it can be called recursively - sjg
4443	  o unit-tests/moderrs - sjg
4444
44452006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
4446
4447	* Makefile.in (BMAKE_VERSION): bump to 20060412
4448	* Merge with NetBSD make, pick up:
4449	  o fixes for some memory leaks - coverity
4450	  o only read first sys.mk etc when searching sysIncPath - sjg
4451
4452	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
4453	setting ${MAKEFILE} - OBATA Akio
4454
44552006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
4456
4457	* Makefile.in (BMAKE_VERSION): bump to 20060318
4458	* Merge with NetBSD make, pick up:
4459	  o cleanup of job.c to remove remote handling, distcc is more
4460	    useful and this code was likely bit-rotting - dsl
4461	  o fix for :P modifier - sjg
4462	* boot-strap: set default prefix to something reasonable
4463	  (for me anyway).
4464
44652006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
4466
4467	* Makefile.in (BMAKE_VERSION): bump to 20060301
4468	* Merge with NetBSD make, pick up:
4469	  o make .WAIT apply recursively, document and test case - apb
4470	  o allow variable modifiers in a variable appear anywhere in
4471	    modifier list, document and test case - sjg
4472
44732006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
4474
4475	* Makefile.in (BMAKE_VERSION): bump to 20060222
4476	* Merge with NetBSD make, pick up:
4477	  o improved job token handling - dsl
4478	  o SIG_DFL the correct signal before exec - dsl
4479	  o more debug info during parsing - dsl
4480	  o allow variable modifiers to be specified via variable - sjg
4481	* boot-strap: explain why we died if no mksrc
4482
44832005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
4484
4485	* Makefile.in (BMAKE_VERSION): bump to 20051105
4486	* configure.in: always set default_sys_path
4487	  default is ${prefix}/share/mk
4488	  - remove prefix_sys_path, anyone wanting more than above
4489	    needs to set it manually.
4490
44912005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
4492
4493	* boot-strap: make this a bit easier for pkgsrc folk.
4494	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
4495	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
4496
44972005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
4498
4499	* Makefile.in (BMAKE_VERSION): bump to 20051102
4500	* job.c (JobFinish): fix likely ancient merge lossage
4501	fix from Todd Vierling.
4502	* boot-strap (srcdir): allow setting mksrc=none
4503
45042005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
4505
4506	* Makefile.in (BMAKE_VERSION): bump to 20051031
4507	* ranlib.h: skip on OSF too.
4508	  (NetBSD PR 31864)
4509
45102005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
4511
4512	* Makefile.in (BMAKE_VERSION): bump to 20051002
4513	  fix a silly typo
4514
45152005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
4516
4517	* Makefile.in (BMAKE_VERSION): bump to 20051001
4518	  support for UnixWare and some other systems,
4519	  based on patches from pkgsrc/bootstrap
4520
45212005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
4522
4523	* Makefile.in (BMAKE_VERSION): bump to 20050901
4524	* Merge with NetBSD make, pick up:
4525	  o possible parse error causing us to wander off.
4526
45272005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
4528
4529	* Makefile.in (BMAKE_VERSION): bump to 20050606
4530	* Merge with NetBSD make, pick up:
4531	  o :0x modifier for randomizing a list
4532	  o fixes for a number of -Wuninitialized issues.
4533
45342005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
4535
4536	* Makefile.in (BMAKE_VERSION): bump to 20050530
4537	* Merge with NetBSD make, pick up:
4538	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
4539
4540	* README: was seriously out of date.
4541
45422005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
4543
4544	* Important to use .MAKE rather than MAKE.
4545
45462005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
4547
4548	* Makefile.in (BMAKE_VERSION): bump to 20050315
4549	* Merge with NetBSD make, pick up:
4550	  o don't mistake .elsefoo for .else
4551	  o use suffix-specific search path correctly
4552	  o bunch of style nits
4553
45542004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
4555
4556	* boot-strap:
4557	o ensure that args to --src and --with-mksrc
4558	  are resolved before giving them to configure.
4559	o add -o "objdir" so that builder can control it,
4560	  default is $OS as determined by os.sh
4561	o add -q to suppress all the install instructions.
4562
45632004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
4564
4565	* Remove __IDSTRING()
4566
4567	* Makefile.in (BMAKE_VERSION): bump to 20040508
4568	* Merge with NetBSD make, pick up:
4569	  o posix fixes
4570	    - remove '-e' from compat mode
4571	    - add support for '+' command-line prefix.
4572	  o fix for handling '--' on command-line.
4573	  o fix include in lst.lib/lstInt.h to simplify '-I's
4574	  o we also picked up replacement of MAKE_BOOTSTRAP
4575	    with !MAKE_NATIVE which is a noop, but possibly confusing.
4576
45772004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
4578
4579	* Makefile.in (BMAKE_VERSION): bump to 20040414
4580	* Merge with NetBSD make, pick up:
4581	  o allow quoted strings on lhs of conditionals
4582	  o issue warning when extra .else is seen
4583	  o print line numer when errors encountered during parsing from
4584	  string.
4585
45862004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
4587
4588	* Makefile.in (BMAKE_VERSION):  bump to 20040220
4589	* Merge with NetBSD make, pick up:
4590	  o fix for old :M parsing bug.
4591	  o re-jigged unit-tests
4592
45932004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
4594
4595	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
4596	so that './bmake -f Makefile test' works.
4597
45982004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
4599
4600	* Makefile.in: (BMAKE_VERSION): bump to 20040214
4601	* Merge with NetBSD make, pick up:
4602	  o search upwards for *.mk
4603	  o fix for double free of var substitution buffers
4604	  o use of getopt replaced with custom code, since the usage
4605	  (re-scanning) isn't posix compatible.
4606
46072004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
4608
4609	* arch.c: don't include ranlib.h on ELF systems
4610	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
4611
46122004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
4613
4614	* Makefile.in (BMAKE_VERSION): bump to 20040118
4615
4616	* boot-strap (while): export vars we assign to on cmdline
4617	* unit-test/Makefile.in: ternary is .PHONY
4618
46192004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
4620
4621	* Makefile.in (BMAKE_VERSION): bump version to 20040108
4622	* Merge with NetBSD make, pick up:
4623	  o fix for ternary modifier
4624
46252004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
4626
4627	* Makefile.in (BMAKE_VERSION): bump version to 20040105
4628	* Merge with NetBSD make, pick up:
4629	  o fix for cond.c to handle compound expressions better
4630	  o variable expansion within sysV style replacements
4631
46322003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
4633
4634	* Make portable snprintf safer - output to /dev/null first to
4635	check space needed.
4636
4637	* Makefile.in (BMAKE_VERSION): bump version to 20031222
4638	* Merge with NetBSD make, pick up:
4639	  o -dg3 to show input graph when things go wrong.
4640	  o explicitly look for makefiles in objdir if not found in curdir so
4641	    that errors in .depend etc will be reported accurarely.
4642	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
4643	    instead as it more accurately reflects the expected behavior and
4644	    is more consistently implemented.
4645	  o avoid use of asprintf.
4646
46472003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
4648
4649	* util.c: Add asprintf and vasprintf.
4650
4651	* Makefile.in (BMAKE_VERSION): bump version to 20030928
4652	* Merge with NetBSD make, pick up:
4653	:[] modifier - allows picking words from a variable.
4654	:tW modifier - allows treating value as one big word.
4655	W flag for :C and :S - allows treating value as one big word.
4656
46572003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
4658
4659	* Merge with NetBSD make
4660	pick up -de flag to enable printing failed command.
4661	don't skip 1st two dir entries (normally . and ..) since
4662	coda does not have them.
4663
46642003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
4665
4666	* Makefile.in (BMAKE_VERSION): bump version to 20030909
4667	* Merge with NetBSD make, pick up:
4668	- changes for -V '${VAR}' to print fully expanded value
4669	  cf. -V VAR
4670	- CompatRunCommand now prints the command that failed.
4671	- several files got updated 3 clause Berkeley license.
4672
46732003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
4674
4675	* boot-strap: Allow setting configure args on command line.
4676
46772003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
4678
4679	* configure.in: add --with-defshell to allow sh or ksh
4680	to be selected as default shell.
4681
4682	* Makefile.in: bump version to 20030731
4683
4684	* Merge with NetBSD make
4685	Pick up .SHELL spec for ksh and associate man page changes.
4686	Also compat mode now uses the same shell specs.
4687
46882003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
4689
4690	* var.c (Var_Parse): ensure delim is initialized.
4691
4692	* unit-tests/Makefile.in: use single quotes to avoid problems from
4693	some shells.
4694
4695	* makefile.boot.in:
4696	Run the unit-tests as part of the bootstrap procedure.
4697
46982003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
4699
4700	* unit-tests/Makefile.in: always force complaints from
4701	${TEST_MAKE} to be from 'make'.
4702
4703	* configure.in: add check for 'diff -u'
4704	also fix some old autoconf'isms
4705
4706	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
4707	if using GCC add -Wno-cast-qual to CFLAGS for var.o
4708
4709	* Merge with NetBSD make
4710	Pick up fix for :ts parsing error in some cases.
4711	Pick unit-tests.
4712
47132003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
4714
4715	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
4716
4717	* var.c (Var_Parse): fix bug in :ts modifier, after const
4718	correctness fixes, must pass nstr to VarModify.
4719
47202003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
4721
4722	* Makefile.in: BMAKE_VERSION switch to a date based version.
4723	We'll generally use the date of last import from NetBSD.
4724
4725	* Merge with NetBSD make
4726	Pick up fixes for const-correctness, now passes WARNS=3 on
4727	NetBSD.
4728	Pick up :ts modifier, allows controlling the separator used
4729	between words in variable expansion.
4730
47312003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
4732
4733	* FILES: include boot-strap and os.sh
4734
4735	* Makefile.in: only set WARNS if we are NetBSD, the effect on
4736	FreeBSD is known to be bad.
4737
4738	* makefile.boot.in (bootstrap): make this the default target.
4739
4740	* Makefile.in: bump version to 3.1.19
4741
4742	* machine.sh: avoid A-Z with tr as it is bound to lose.
4743
47442003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
4745
4746	* Merge with NetBSD make
4747	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
4748	Plus some doc fixes.
4749
47502003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
4751
4752	* Merge with NetBSD make
4753	Pick up fix for PR/1523 - don't count a library as built, if there
4754	is no way to build it
4755
4756	* Bump version to 3.1.18
4757
47582003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
4759
4760	* Merge with NetBSD make
4761	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
4762	appears in src list.
4763
47642003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
4765
4766	* Merge with NetBSD make (mmm 10th anniversary!)
4767	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
4768	pick up -X which tells us to not export VAR=val via setenv if
4769	we are already doing so via MAKEFLAGS.  This saves valuable env
4770	space on systems like Darwin.
4771	set MAKE_VERSION to 3.1.17
4772
4773	* parse.c: pix up fix for suffix rules
4774
47752003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
4776
4777	* Merge with NetBSD make.
4778	pick up fix for propagating -B via MAKEFLAGS.
4779	set MAKE_VERSION to 3.1.16
4780
4781	* Apply some patches from pkgsrc-bootstrap/bmake
4782	Originally by Grant Beattie <grant@netbsd.org>
4783	I may have missed some - since they are based on bmake-3.1.12
4784
47852002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
4786
4787	* makefile.boot.in (bmake): update install targets for those that
4788	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
4789	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
4790
4791	* bmake.cat1: update the pre-formatted man page!
4792
47932002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
4794
4795	* Merge with NetBSD make.
4796	pick up fix for premature free of pointer used in call
4797	to Dir_InitCur().
4798	set MAKE_VERSION to 3.1.15
4799
48002002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
4801
4802	* configure.in: determine suitable value for MKSRC.
4803	override using --with-mksrc=PATH.
4804
4805	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
4806	configs(8) will use 'sun4' as an alias for 'sparc'.
4807
48082002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
4809
4810	* Merge with NetBSD make.
4811	pick up ${.PATH}
4812	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
4813	set MAKE_VERSION to 3.1.14
4814	add configure checks for killpg and sys/socket.h
4815
48162002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
4817
4818	* tag bmake-3-1-13
4819
4820	* makefile.boot.in (bmake): use install-mk
4821	Also setup ./mk before trying to invoke bmake.boot incase we
4822	needed install-mk to create a sys.mk for us.
4823
4824	* configure.in: If we need to add -I${srcdir}/missing, make it an
4825	absolute path so that it works for lst.lib too.
4826
4827	* make.h: always include sys/cdefs.h since we provide one if the
4828	host does not.
4829
4830	* Makefile.in (install-mk):
4831	use MKSRC/install-mk which will do the right thing.
4832	use uname -p for ARCH if possible.
4833	since install-mk will setup links bsd.prog.mk -> prog.mk if
4834	needed, just .include bsd.prog.mk
4835
4836	* Merge with NetBSD make (NetBSD-1.6)
4837	Code is ansi-C only now.
4838	Bug in handling of dotLast is fixed.
4839	Can now assign .OBJDIR and make will reset its notions of life.
4840	New modifiers :tu :tl for toUpper and toLower.
4841
4842Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
4843
4844	* Merge with NetBSD make
4845	pick up fix for .END failure in compat mode.
4846	pick up fix for extra va_end() in ParseVErrorInternal.
4847
4848Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
4849
4850	* configure.in: for systems that have sys/cdefs.h check if it is
4851	compatible.  If not, include the one under missing, but tell it to
4852	include the native one too - necessary on Linux.
4853
4854	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
4855	include_next (for gcc) to get the native sys/cdefs.h
4856
4857Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4858
4859	* job.c (JobFinish): Fix an earlier merge bug that resulted in
4860	leaking descriptors when using -jN.
4861
4862	* job.c (JobPrintCommand): See if "curdir" exists before
4863	attempting to chdir().  Doing the chdir directly in make (when in
4864	compat mode) fails silently, so let the -jN version do the same.
4865	This can happen when building kernels in an object tree and
4866	playing clever games to reset .CURDIR.
4867
4868	* Merged with NetBSD make
4869	pick up .USEBEFORE
4870
4871Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4872
4873	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
4874
4875Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4876
4877	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
4878	us not to export the iterator variable when using VAR_CMD context.
4879
4880Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4881
4882	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
4883	its the wrong "fix".
4884
4885Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4886
4887	* Redesigned export of VAR_CMD's via MAKEFLAGS.
4888	We now simply append the variable names to .MAKEOVERRIDES, and
4889	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
4890	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
4891	Apart from fixing quoting bugs in previous version, this allows us
4892	to export vars to the environment by simply doing:
4893	.MAKEOVERRIDES+= PATH
4894	Merged again with NetBSD make, but the above is the only change.
4895
4896	* configure.in: added
4897	--disable-pwd-override		disable $PWD overriding getcwd()
4898	--disable-check-make-chdir	disable make trying to guess
4899		when it should automatically cd ${.CURDIR}
4900
4901	* Merge with NetBSD make, changes include:
4902	parse.c (ParseDoDependency): Spot that the syntax error is
4903	caused by an unresolved cvs/rcs conflict and say so.
4904	var.c: most of Var* functions now take a ctxt as 1st arg.
4905	now does variable substituion on rhs of sysv style modifiers.
4906
4907	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
4908	is now done here.  We append the name='value' to .MAKEOVERRIDES
4909	rather than directly into MAKEFLAGS as this allows a Makefile to
4910	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
4911	very similar mechanism.  Note that in adding name='value' to
4912	.MAKEOVERRIDES we do the moral equivalent of:
4913	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
4914
4915Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4916
4917	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
4918
4919	* Merged with NetBSD make
4920	make -dx can now be used to run commands via sh -x
4921	better error messages on exec failures.
4922
4923Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4924
4925	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
4926	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
4927	MACHINE etc otherwise they propagate from the previous bmake.
4928
4929	* configure.in (machine): allow --with-machine=generic to make
4930	configure use machine.sh to set MACHINE.
4931
4932	* job.c (JobInterrupt): convert to using WAIT_T and friends.
4933
4934	* Makefile.in: mention in bmake.1 that we use autoconf.
4935
4936	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
4937
4938Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4939
4940	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
4941	as that rather defeats the usefulness of ${MAKEFILE}.
4942
4943	* main.c (MainParseArgs): append command line variable assignments
4944	to MAKEFLAGS so that they get propagated to child make's.
4945	Apparently this is required POSIX behaviour?  Its useful anyway.
4946
4947Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4948
4949	* compat.c (CompatRunCommand): don't use perror() since stdio may
4950	cause problems in child of vfork().
4951
4952	* compat.c, main.c: Call PrintOnError() when we are going to bail.
4953	This routine prints out the .curdir where we stopped and will also
4954	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
4955
4956	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
4957	:@ expansion.
4958
4959	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
4960
4961	* Added RCSid's for the files we've touched.
4962
4963Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4964
4965	* configure.in:	Thanks to some clues from mdb@juniper.net,
4966	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
4967	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
4968
4969  --with-machine=MACHINE  explicitly set MACHINE
4970  --with-force-machine=MACHINE  set FORCE_MACHINE
4971  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
4972  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
4973  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
4974  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
4975
4976	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
4977
4978	* makefile: added a pathetically simple makefile to drive
4979	bootstrapping.  Running configure by hand is more useful.
4980
4981	* Makefile.in: added MAKE_VERSION, and reworked things to be less
4982	dependent on NetBSD bsd.*.mk
4983
4984	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
4985	_PATH_OBJDIRPREFIX for those that don't want a default.
4986	construct _PATH_DEFSYSPATH from the info we get from configure.
4987
4988	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
4989	if MAKE_VERSION is defined.
4990
4991	* compat.c: when we bail, print out the .CURDIR we were in.
4992
4993Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4994
4995	* Merged with NetBSD make
4996
4997	* var.c: fixed a bug in the handling of the modifier :P
4998	if the node as found but the path was null, we segfault trying to
4999	duplicate it.
5000
5001Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5002
5003	* Merged with NetBSD make
5004
5005	* make.c: Make_OODate's test for a library out of date was using
5006	cmtime where it should have used mtime (my bug).
5007
5008	* compat.c: Use perror() to tell us what really went wrong when we
5009	cannot exec a command.
5010
5011Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5012
5013	* Merged with NetBSD make
5014
5015Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5016
5017	* Merged with NetBSD make
5018
5019Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5020
5021	* Merged with NetBSD make
5022
5023Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5024
5025	* Merged with NetBSD make
5026
5027Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5028
5029	* util.c: don't provide signal() since we use sigcompat.c
5030
5031	* Makefile.in: added a build target.
5032
5033	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
5034	These allow some quite clever magic.
5035
5036	* main.c (main): added support for getenv(MAKESYSPATH).
5037
5038Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5039
5040	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
5041	This avoids objdir having a different value depending on how a
5042	directory was reached (via command line, or subdir.mk).
5043
5044	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
5045
5046Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5047
5048	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
5049	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
5050	I've been testing this in NetBSD's make for some weeks.
5051
5052	* Turn Makefile into Makefile.in and make it useful.
5053
5054Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
5055
5056	* Imported NetBSD's -current make(1) and resolve conflicts.
5057
5058	* Applied autoconf patches from bmake v2
5059
5060	* Imported clean code base from NetBSD-1.0
5061