xref: /freebsd/contrib/bmake/ChangeLog (revision c60f6422ffae3ea85e7b10bad950ad27c463af18)
12025-11-15  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* boot-strap: unset more things from env and save a copy
4	to env.out for debugging.
5
62025-11-12  Simon J Gerraty  <sjg@beast.crufty.net>
7
8	* VERSION (_MAKE_VERSION): 20251111
9	Merge with NetBSD make, pick up
10	o var.c: add :sh1 which only evaluates command on first reference.
11
122025-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
13
14	* configure.in: Force filemon=no for Cygwin and MINGW64_NT
15
162025-11-10  Simon J Gerraty  <sjg@beast.crufty.net>
17
18	* unit-tests/Makefile: handle MINGW64_NT
19	mark some tests broken, filter others as per Cygwin.
20
212025-10-23  Simon J Gerraty  <sjg@beast.crufty.net>
22
23	* make.1: document MAKE_VERSION.
24
252025-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
26
27	* VERSION (_MAKE_VERSION): 20251022
28
29	* configure.in: Add a check that lua is version 5.2 or later
30	if not we want to skip running check-expect.lua
31
322025-09-16  Simon J Gerraty  <sjg@beast.crufty.net>
33
34	* VERSION (_MAKE_VERSION): 20250916
35	Merge with NetBSD make, pick up
36	o var.c: avoid compiler warning from hexdigits
37
382025-08-04  Simon J Gerraty  <sjg@beast.crufty.net>
39
40	* VERSION (_MAKE_VERSION): 20250804
41	Merge with NetBSD make, pick up
42	o meta.c: allow printing only partial string to meta file
43	in jobs mode, otherwise we end up with duplicated output when
44	buffer does not end in newline.
45	Add a suitable unit test.
46
472025-07-07  Simon J Gerraty  <sjg@beast.crufty.net>
48
49	* VERSION (_MAKE_VERSION): 20250707
50	Merge with NetBSD make, pick up
51	o cond.c: improve debug log message for 'exists' function.
52	complain about unfinished escape sequences or string literals.
53
542025-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
55
56	* VERSION (_MAKE_VERSION): 20250704
57	Merge with NetBSD make, pick up
58	o make.1: add a DIAGNOSTICS section for make to reference.
59	o main.c: simplify the warning for invalid -J by refering to
60	manual page.
61
622025-06-30  Simon J Gerraty  <sjg@beast.crufty.net>
63
64	* VERSION (_MAKE_VERSION): 20250630
65	Merge with NetBSD make, pick up
66	o consistently use double quotes in error messages
67	o cond.c: if a condition is erroneous, skip the whole .if/.endif
68	o make_malloc.c: in cleanup mode, initialize freshly allocated memory
69	o str.c: error out on an ":M" modifier whose pattern ends with
70	backslash
71	o var.c: fix parsing of modifier parts for :gmtime and :localtime
72	add POSIX $^ support
73
742025-06-18  Simon J Gerraty  <sjg@beast.crufty.net>
75
76	* VERSION (_MAKE_VERSION): 20250618
77	Merge with NetBSD make, pick up
78	o parse.c: in a warning without location information,
79	print the stack trace
80
812025-06-15  Simon J Gerraty  <sjg@beast.crufty.net>
82
83	* VERSION (_MAKE_VERSION): 20250615
84	Merge with NetBSD make, pick up
85	o add on-demand inter-process stack traces
86	o job.c,meta.c: do not discard empty lines in the output of a command
87	o job.c: add job prefix if necessary in non-default filtered mode
88	o parse.c,var.c: skip inter-process stack trace when
89	MAKE_STACK_TRACE=no
90
912025-06-12  Simon J Gerraty  <sjg@beast.crufty.net>
92
93	* VERSION (_MAKE_VERSION): 20250612
94	Merge with NetBSD make, pick up
95	o use a common style for unexpected error messages
96	o parse.c: add program name to stack traces from sub-makes
97	add quotes to "in directory" line in stack traces
98	o var.c: check variable names for invalid characters when there
99	are no modifiers to apply.  This detects and warns about gmake
100	syntax like: $(addprefix -I, $(LIST))
101
1022025-06-09  Simon J Gerraty  <sjg@beast.crufty.net>
103
104	* VERSION (_MAKE_VERSION): 20250606
105	Merge with NetBSD make, pick up
106	o main.c: fix bug in handling of output of children in jobs mode
107
1082025-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
109
110	* VERSION (_MAKE_VERSION): 20250528
111	Merge with NetBSD make, pick up
112	o show contents of MAKEFLAGS in the stack trace.
113	o main.c: delay warning about bogus -J flag, if we end up in
114	compat mode before the call to InitMaxJobs, the warning isn't
115	necessary.
116
1172025-05-25  Simon J Gerraty  <sjg@beast.crufty.net>
118
119	* VERSION (_MAKE_VERSION): 20250525
120	Merge with NetBSD make, pick up
121	o main.c: set .CURDIR earlier so it can be reported in some errors.
122
1232025-05-20  Simon J Gerraty  <sjg@beast.crufty.net>
124
125	* VERSION (_MAKE_VERSION): 20250520
126	Merge with NetBSD make, pick up
127	o rename variables, remove now-redundant comments
128	o job.c: clean up building the shell commands in parallel mode
129	remove timeout for polling in parallel mode
130	o main.c: clean up error message for malformed internal -J option
131
1322025-05-11  Simon J Gerraty  <sjg@beast.crufty.net>
133
134	* VERSION (_MAKE_VERSION): 20250511
135	Merge with NetBSD make, pick up
136	o job.c: rename token pool variables to be more descriptive
137	move ContinueJobs further up, to eliminate a forward declaration
138	error out if writing to an internal pipe fails
139	clean up constant names and function names
140	use uniform debug log messages for the token pool
141	in the debug log, replace magic numbers with identifiers
142	o main.c: clean up error message for malformed internal -J option
143	o make.c: replace bitset in trace output with descriptive node
144	attributes
145	o targ.c: add end marker for -dg1, -dg2 and -dg3 debug log
146	o var.c: fix order of error messages in the ":?" modifier
147
1482025-04-25  Simon J Gerraty  <sjg@beast.crufty.net>
149
150	* VERSION (_MAKE_VERSION): 20250424
151	Merge with NetBSD make, pick up
152	o cleanup; replace unsigned int with just unsigned
153	Inline the TMPPAT macro, as it is only needed in a single place
154	o move struct Job from job.h to job.c
155	o job.c: group the code for handling the job token pool
156	avoid excessive values of -j
157	o make.c: fix grammar in debug log message
158
1592025-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
160
161	* VERSION (_MAKE_VERSION): 20250414
162	Merge with NetBSD make, pick up
163	o job.c: clean up job and output handling
164	o parse.c: after entering POSIX mode, don't leave it again
165
1662025-04-11  Simon J Gerraty  <sjg@beast.crufty.net>
167
168	* VERSION (_MAKE_VERSION): 20250411
169	Merge with NetBSD make, pick up
170	o convert more messages to file:line: format
171	o for.c: condense code for parsing variable names in .for loops
172
1732025-04-10  Simon J Gerraty  <sjg@beast.crufty.net>
174
175	* VERSION (_MAKE_VERSION): 20250410
176	Merge with NetBSD make, pick up
177	o cond.c: remove redundant error counter when parsing a condition
178
1792025-04-04  Simon J Gerraty  <sjg@beast.crufty.net>
180
181	* VERSION (_MAKE_VERSION): 20250404
182	Merge with NetBSD make, pick up
183	o make.1: better document meta mode.
184	o var.c: fix error message for undefined variable in conditional.
185
1862025-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
187
188	* VERSION (_MAKE_VERSION): 20250330
189	Merge with NetBSD make, pick up
190	o in POSIX compatability mode, give preference to sysV style modifiers.
191	o in stack trace with details and includes, list the current file
192	o parse.c: report file location in more common file:line: format.
193	o var.c: simplify error handling for unknown modifiers
194	let the ":O" and ":t" modifiers fall back to the ":from=to" modifier
195	stop parsing after seeing an unknown modifier in an expression
196	fix error message for unclosed expression and invalid :[...]
197	add details to errors about ::= modifier
198	add details about indirect modifiers to the stack traces
199	in stack traces from target commands, add the command level
200
2012025-03-23  Simon J Gerraty  <sjg@beast.crufty.net>
202
203	* VERSION (_MAKE_VERSION): 20250323
204	Merge with NetBSD make, pick up
205	o var.c: just ignore attempts to override a read-only global with
206	the same value.
207
2082025-03-08  Simon J Gerraty  <sjg@beast.crufty.net>
209
210	* bsd.after-import.mk: by default generate makefiles
211	closer to BSD style.
212
213	* VERSION (_MAKE_VERSION): 20250308
214	Merge with NetBSD make, pick up
215	o clean up comments and code for parallel mode
216	o job.c: avoid SIGPIPE for children, call Job_Wait befor abort.
217
2182025-02-27  Simon J Gerraty  <sjg@beast.crufty.net>
219
220	* VERSION (_MAKE_VERSION): 20250225
221	Merge with NetBSD make, pick up
222	o job.c: reliably remove targets on interrupt,
223	by passing signal to children first.
224
2252025-01-25  Simon J Gerraty  <sjg@beast.crufty.net>
226
227	* VERSION (_MAKE_VERSION): 20250125
228	Merge with NetBSD make, sync up below change.
229
230	* unit-tests/Makefile: remove $TMPDIR via .END
231	to avoid failure in test on NFS - since the temp file for the
232	target script is open and thus gets renamed by the server rather
233	than removed.
234
2352025-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
236
237	* VERSION (_MAKE_VERSION): 20250120
238	Merge with NetBSD make, pick up
239	o use FORK_FUNCTION so it can be forced to fork when doing coverage.
240	o main.c: avoid memory allocation in error path after exec failure.
241
2422025-01-16  Simon J Gerraty  <sjg@beast.crufty.net>
243
244	* VERSION (_MAKE_VERSION): 20250116
245	Merge with NetBSD make, pick up
246	o clarify that undefined expressions are allowed in dependencies
247	o simplify code for evaluating the '!=' variable assignment
248
2492025-01-11  Simon J Gerraty  <sjg@beast.crufty.net>
250
251	* VERSION (_MAKE_VERSION): 20250111
252	Merge with NetBSD make, pick up
253	o replace "Malformed conditional" with "Variable is undefined"
254	when appropriate
255
2562025-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
257
258	* VERSION (_MAKE_VERSION): 20250110
259	Merge with NetBSD make, pick up
260	o job.c: remove some unnecessary layers in job handling
261	o unit-tests: test expressions based on undefined variables
262
2632025-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
264
265	* VERSION (_MAKE_VERSION): 20250101
266	Merge with NetBSD make, pick up
267	o var.c: reduce pointer indirections when unexporting a variable
268
2692024-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
270
271	* VERSION (_MAKE_VERSION): 20241212
272	* mk/ updates
273
2742024-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
275
276	* VERSION (_MAKE_VERSION): 20241124
277	Merge with NetBSD make, pick up
278	o var.c: fix confusing error message when overriding a read-only
279	variable
280
2812024-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
282
283	* VERSION (_MAKE_VERSION): 20241122
284	Merge with NetBSD make, pick up
285	o unit-tests/Makefile: optimize running of tests skip extra cat
286	in 99% of cases.
287
2882024-11-15  Simon J Gerraty  <sjg@beast.crufty.net>
289
290	* VERSION (_MAKE_VERSION): 20241114
291	Merge with NetBSD make, pick up
292	o make.1: note that MAKEOBJPREFIX should be absolute path
293	also that it can be set via makefile if suitable care taken.
294
2952024-11-10  Simon J Gerraty  <sjg@beast.crufty.net>
296
297	* VERSION (_MAKE_VERSION): 20241110
298	Merge with NetBSD make, pick up
299	o make: allow .../ (search here and above) in
300	.MAKE.MAKEFILE_PREFERENCE and -f argument.
301
3022024-11-03  Simon J Gerraty  <sjg@beast.crufty.net>
303
304	* VERSION (_MAKE_VERSION): 20241101
305	Merge with NetBSD make, pick up
306	o parse.c: report filename:linenumber in parse debug output
307
3082024-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
309
310	* VERSION (_MAKE_VERSION): 20240921
311	Merge with NetBSD make, pick up
312	o make.1: Only list the defaults for MAKEFILE_PREFERENCE once.
313
314	* Makefile: use genfiles.mk to generate ${MAN}
315	so that it can be tuned for local site.
316	Ensure MAN  is defined before including Makefile.inc
317
318	* Makefile: use MK_GEN_MAN to make it easier to control whether we
319	generate ${MAN}
320
3212024-09-16  Simon J Gerraty  <sjg@beast.crufty.net>
322
323	* VERSION (_MAKE_VERSION): 20240909
324
325	* arch.c: fix NetBSD PR 58597
326
3272024-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
328
329	* Makefile: use SUBDIR.${MK_TESTS} so that we skip
330	unit-tests for obj and clean when FreeBSD is building WITHOUT_TESTS
331
332	* VERSION (_MAKE_VERSION): 20240901
333	Merge with NetBSD make, pick up
334	o reduce line length in error messages
335	o var.c: simplify printing of an evaluation stack element
336
3372024-08-29  Simon J Gerraty  <sjg@beast.crufty.net>
338
339	* VERSION (_MAKE_VERSION): 20240828
340	Merge with NetBSD make, pick up
341	o add more context to error message about recursive variables
342	o treat recursive variables non-fatally - continue parsing to end
343	of makefile
344
3452024-08-12  Simon J Gerraty  <sjg@beast.crufty.net>
346
347	* VERSION (_MAKE_VERSION): 20240808
348	Merge with NetBSD make, pick up
349	o improve some error messages for better clarify and readability
350
3512024-07-22  Simon J Gerraty  <sjg@beast.crufty.net>
352
353	* VERSION (_MAKE_VERSION): 20240722
354	Merge with NetBSD make, pick up
355	o job.c: remove dead code
356
3572024-07-21  Simon J Gerraty  <sjg@beast.crufty.net>
358
359	* VERSION (_MAKE_VERSION): 20240720
360	Merge with NetBSD make, pick up
361	o compat.c: do not run commands that have parse or evaluation errors.
362	o var.c: remove wrong error message about an undefined variable
363
3642024-07-13  Simon J Gerraty  <sjg@beast.crufty.net>
365
366	* cleanup redundant differences from NetBSD make
367	o parse.c: no longer uses mmap
368	o var.c: check __STDC_VERSION__ not __STDC__
369
3702024-07-12  Simon J Gerraty  <sjg@beast.crufty.net>
371
372	* Apply some patches from NetBSD pkgsrc to reduce divergence
373	o meta.c: requires sys/select.h if available
374	o var.c: ensure SIZE_MAX has a value
375	o util.c: ensure SA_RESTART is defined
376
377	* configure.in: use *ksh* rather than just *ksh to match
378	ksh shell specification.
379
380	* unit-tests/Makefile: expand BROKEN_TESTS for ksh and
381	mksh in particular
382
3832024-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
384
385	* VERSION (_MAKE_VERSION): 20240711
386	Merge with NetBSD make, pick up
387	o compat.c: allow Compat_RunCommand to also handle very long
388	commands by writing to a temp file when needed.
389	o main.c: extract the temp file logic recently added to Cmd_Exec
390	to Cmd_Argv so it can be leveraged by Compat_RunCommand.
391
3922024-07-09  Simon J Gerraty  <sjg@beast.crufty.net>
393
394	* VERSION (_MAKE_VERSION): 20240709
395	Merge with NetBSD make, pick up
396	o error out on parse/evaluation errors in shell commands
397	o var.c: error out on syntax errors in ':M' and ':N' modifiers
398
3992024-07-07  Simon J Gerraty  <sjg@beast.crufty.net>
400
401	* VERSION (_MAKE_VERSION): 20240707
402	Merge with NetBSD make, pick up
403	o only generate code for cleanup functions in CLEANUP mode
404	o hash.c: don't track hash table chain lengths during lookup
405	unless debugging
406	o main.c: move initialization of variable scopes to targ.c
407	o var.c: remove Var_End as it is now unnecessary
408
4092024-07-06  Simon J Gerraty  <sjg@beast.crufty.net>
410
411	* VERSION (_MAKE_VERSION): 20240706
412	Merge with NetBSD make, pick up
413	o reduce lint comments about ARGSUSED
414	o cond.c: error out on conditions containing the operators '&' and '|'
415	o str.c: error out on a matching malformed matching pattern '[['
416	o var.c: in error messages, distinguish parsing from evaluating
417	in error messages for anonymous variables, log the value
418	error out on unclosed expressions during parse time
419
4202024-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
421
422	* VERSION (_MAKE_VERSION): 20240704
423	Merge with NetBSD make, pick up
424	o add more context information to error messages
425	o main.c: on error, print the targets to be made
426	add detailed exit status to message for failed sub-commands
427	o var.c: error out on the "Bad modifier" error message
428
4292024-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
430
431	* VERSION (_MAKE_VERSION): 20240701
432	Merge with NetBSD make, pick up
433	o var.c: add :tt for Title case
434
4352024-06-30  Simon J Gerraty  <sjg@beast.crufty.net>
436
437	* configure.in: 20240630 further refine check for whether
438	TZ=Europe/Berlin works
439
440	* VERSION (_MAKE_VERSION): 20240630
441	Merge with NetBSD make, pick up
442	o job.c: reduce use of UNCONST
443	o main.c: add detailed exit status to message for failed sub-commands
444	o var.c: error out on some more syntax errors
445	add more context to "returned non-zero status" message
446
4472024-06-25  Simon J Gerraty  <sjg@beast.crufty.net>
448
449	* VERSION (_MAKE_VERSION): 20240625
450	Merge with NetBSD make, pick up
451	o job.c: ensure shellPath is always duped, avoid upsetting free()
452
4532024-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
454
455	* VERSION (_MAKE_VERSION): 20240616
456	Merge with NetBSD make, pick up
457	o clean up collection of context information for error messages
458	o in warnings, move the word "warning" to the front
459	o var.c: throw an error on attempt to override an internal
460	read-only variable
461
4622024-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
463
464	* VERSION (_MAKE_VERSION): 20240610
465	Merge with NetBSD make, pick up
466	o for.c: remove redundant shortcut for building the .for loop body
467
4682024-06-02  Simon J Gerraty  <sjg@beast.crufty.net>
469
470	* VERSION (_MAKE_VERSION): 20240602
471	Merge with NetBSD make, pick up
472	o rename some VarEvalMode constants to better match debug names.
473	o var.c: avoid out-of-bounds read when parsing indirect modifiers.
474
4752024-06-01  Simon J Gerraty  <sjg@beast.crufty.net>
476
477	* VERSION (_MAKE_VERSION): 20240601
478	Merge with NetBSD make, pick up
479	o add .export-all rather than allow .export with no argument
480	which can happen accidentally.
481	o if lua is available, run check-expect.lua after unit-tests
482	o main.c: use snprintf rather than strncpy
483	fix memory leak when purging realpath cache.
484
4852024-05-28  Simon J Gerraty  <sjg@beast.crufty.net>
486
487	* VERSION (_MAKE_VERSION): 20240528
488	Merge with NetBSD make, pick up
489	o fix a number of memory leaks
490	o replace magic numbers with POSIX FILENO constants
491	o hash.c: remove dead code from HashTable_DeleteEntry
492	o main.c: when complaining about unusable .OBJDIR
493	call PrintOnError if MAKE_DEBUG_OBJDIR_CHECK_WRITABLE is true.
494	o parse.c: use fewer technical terms in debug message for dependency
495
4962024-05-20  Simon J Gerraty  <sjg@beast.crufty.net>
497
498	* VERSION (_MAKE_VERSION):
499	Merge with NetBSD make, pick up
500	o dir.c: in FindFile restore last search of .CURDIR even for
501	includes, as a number of existing makefiles are broken otherwise.
502
5032024-05-19  Simon J Gerraty  <sjg@beast.crufty.net>
504
505	* VERSION (_MAKE_VERSION): 20240519
506	Merge with NetBSD make, pick up
507	o dir.c: Add Dir_FindInclude, FindFile without looking in .CURDIR.
508	Also fix Dir_SetSYSPATH to use defSysIncPath if sysIncPath is empty.
509	o main.c: no need to set .DOTLAST in sysIncPath
510
5112024-05-07  Simon J Gerraty  <sjg@beast.crufty.net>
512
513	* VERSION (_MAKE_VERSION): 20240508
514	Merge with NetBSD make, pick up
515	o make: ensure variables set on command line get added to
516	.MAKEOVERRIDES (even if they start with '.') so they are passed to
517	sub-makes.
518
5192024-04-30  Simon J Gerraty  <sjg@beast.crufty.net>
520
521	* VERSION (_MAKE_VERSION): 20240430
522	Merge with NetBSD make, pick up
523	o main.c: ensure '.include <makefile>' respects MAKESYSPATH.
524	Dir_FindFile will search .CURDIR first unless ".DOTLAST" is seen.
525
5262024-04-28  Simon J Gerraty  <sjg@beast.crufty.net>
527
528	* VERSION (_MAKE_VERSION): 20240428
529	Merge with NetBSD make, pick up
530	o simplify freeing of lists
531	o arch.c: trim pointless comments
532	o var.c: delay variable assignments until actually needed
533	don't reallocate memory after evaluating an expression, result is
534	almost always short-lived.
535
5362024-04-26  Simon J Gerraty  <sjg@beast.crufty.net>
537
538	* VERSION (_MAKE_VERSION): 20240426
539	Merge with NetBSD make, pick up
540	o job.c: in debug output, print the directory in which a job
541	failed at same time as failed target so it is more easily found in
542	build log.
543
5442024-04-24  Simon J Gerraty  <sjg@beast.crufty.net>
545
546	* VERSION (_MAKE_VERSION): 20240424
547	Merge with NetBSD make, pick up
548	o clean up comments, code and tests
549
5502024-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
551
552	* VERSION (_MAKE_VERSION): 20240422
553	Merge with NetBSD make, pick up
554	o var.c: avoid LazyBuf for :*time modifiers.
555	LazyBuf's are not nul terminated so not suitable for passing to
556	functions that expect that. These modifiers are used sparingly so
557	an extra allocation is not a problem.
558
5592024-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
560
561	* VERSION (_MAKE_VERSION): 20240420
562	Merge with NetBSD make, pick up
563	o provide more context information for parse/evaluate errors
564
5652024-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
566
567	* VERSION (_MAKE_VERSION): 20240414
568	Merge with NetBSD make, pick up
569	o parse.c: print -dp debug info earlier so we see which
570	.if or .for line is being parsed.
571
5722024-04-04  Simon J Gerraty  <sjg@beast.crufty.net>
573
574	* VERSION (_MAKE_VERSION): 20240404
575	Merge with NetBSD make, pick up
576	o fix some unit tests for Cygwin
577	o parse.c: exit immediately after reading a null byte from a makefile
578
579	* fix generation of bmake.cat1
580
5812024-03-19  Simon J Gerraty  <sjg@beast.crufty.net>
582
583	* VERSION (_MAKE_VERSION): 20240314
584	Add/Improve support for Cygwin
585	o uname -s output isn't useful so allow configure to
586	set FORCE_MAKE_OS - to force the value of .MAKE.OS
587	and use Cygwin which matches uname -o
588	o fix some unit-tests for Cygwin
589
5902024-03-10  Simon J Gerraty  <sjg@beast.crufty.net>
591
592	* boot-strap: tests can take a long time; use a cookie to
593	skip them if bmake has not been updated since tests last
594	ran successfully.
595
596	* Makefile: Cygwin handles MANTARGET man
597
598	* unit-tests/Makefile: set BROKEN_TESTS for Cygwin
599
6002024-03-09  Simon J Gerraty  <sjg@beast.crufty.net>
601
602	* VERSION (_MAKE_VERSION): 20240309
603	Merge with NetBSD make, pick up
604	o set .ERROR_EXIT to the exit status of .ERROR_TARGET
605	this allows a .ERROR target to ignore the case of
606	.ERROR_EXIT==6 which just means that the build actually
607	failed somewhere else.
608
6092024-03-04  Simon J Gerraty  <sjg@beast.crufty.net>
610
611	* VERSION (_MAKE_VERSION): 20240303
612
613	* var.c: on IRIX we need both inttypes.h and stdint.h
614
6152024-03-01  Simon J Gerraty  <sjg@beast.crufty.net>
616
617	* VERSION (_MAKE_VERSION): 20240301
618	Merge with NetBSD make, pick up
619	o export variables with value from target scope
620	when appropriate.
621
6222024-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
623
624	* VERSION (_MAKE_VERSION): 20240212
625	Merge with NetBSD make, pick up
626	o remove unneeded conditional-compilation toggles
627	INCLUDES, LIBRARIES, POSIX, SYSVINCLUDE, SYSVVARSUB,
628	GMAKEEXPORT NO_REGEX and SUNSHCMD
629
630	* configure.in: add check for regex.h
631
632	* var.c: replace use of NO_REGEX with HAVE_REGEX_H
633
6342024-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
635
636	* VERSION (_MAKE_VERSION): 20240204
637	Merge with NetBSD make, pick up
638	o var.c: fix some lint (-dL) mode parsing issues
639
6402024-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
641
642	* VERSION: (_MAKE_VERSION): 20240202
643	Merge with NetBSD make, pick up
644	o make.1: note that arg to :D and :U can be empty
645	o var.c: $$ is not a parse error when .MAKE.SAVE_DOLLARS=no
646
6472024-01-08  Simon J Gerraty  <sjg@beast.crufty.net>
648
649	* VERSION (_MAKE_VERSION): 20240108
650	Merge with NetBSD make, pick up
651	o miscellaneous cleanups
652
6532024-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
654
655	* VERSION (_MAKE_VERSION): 20240106
656	Merge with NetBSD make, pick up
657	o fix duplicate progname when reporting an unknown target
658	o unit tests for Cmd_Exec using temp file
659
6602024-01-05  Simon J Gerraty  <sjg@beast.crufty.net>
661
662	* VERSION (_MAKE_VERSION): 20240105
663	Merge with NetBSD make, pick up
664	o main.c: Cmd_Exec write cmd to a file if too big
665	avoid blowing commandline/env limits
666
6672024-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
668
669	* VERSION (_MAKE_VERSION): 20240101
670	o util.c: flesh out more of strftime
671	* configure.in: add --with-bmake-strftime
672	it is not a full implementation but enough to pass all
673	the unit-tests.
674	* parse.c: LoadFile do not append \n to empty buffer.
675
6762023-12-30  Simon J Gerraty  <sjg@beast.crufty.net>
677
678	* VERSION (_MAKE_VERSION): 20231230
679	Merge with NetBSD make, pick up
680	o simplify memory allocation for string buffers
681	o fix declared types of list nodes
682	o suff.c: clean up freeing of suffixes
683	o var.c: simplify debug message for the ':@var@...@' modifier
684	clean up variable handling
685
6862023-12-26  Simon J Gerraty  <sjg@beast.crufty.net>
687
688	* VERSION (_MAKE_VERSION): 20231226
689	Merge with NetBSD make, pick up
690	o compat.c: ensure make's output is correctly ordered with that of
691	the target when not going to a tty
692	o main.c: check for shellPath whether to call Shell_Init()
693
6942023-12-24  Simon J Gerraty  <sjg@beast.crufty.net>
695
696	* VERSION (_MAKE_VERSION): 20231224
697	Merge with NetBSD make, pick up
698	o compat.c: check for shellPath whether to call Shell_Init()
699	tweak the unit test to detect the bug thus fixed.
700	o make.1: do not claim .SHELL is only used by jobs mode.
701
7022023-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
703
704	* VERSION (_MAKE_VERSION): 20231220
705	Merge with NetBSD make, pick up
706	o str.c: speed up pattern matching in the ':M' modifier
707	o var.c: fix confusing debug logging when deleting a variable
708	use consistent debug messages style when ignoring variables
709
7102023-12-10  Simon J Gerraty  <sjg@beast.crufty.net>
711
712	* VERSION (_MAKE_VERSION): 20231210
713	Merge with NetBSD make, pick up
714	o var.c: avoid segfault on empty :C match expression
715	explain in debug log why variable assignment is ignored.
716
7172023-12-08  Simon J Gerraty  <sjg@beast.crufty.net>
718
719	* VERSION (_MAKE_VERSION): 20231208
720	Merge with NetBSD make, pick up
721	o var.c: ensure fromCmd is set correctly for variables set on
722	command line.
723
7242023-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
725
726	* configure.in: disable generation of 'makefile' for
727	Darwin by default.
728
729	* boot-strap: docuement --without-makefile
730
7312023-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
732
733	* VERSION (_MAKE_VERSION): 20231124
734	Merge with NetBSD make, pick up
735	o main.c: cleanup processing of -j
736	fix lint warning about strchr
737	o var.c: more accurate error message for invalid ':mtime' argument
738	cleanup :[...] modifier
739	avoid reading beyond substring when comparing
740	o unit-tests cover all cases of :mtime, test and explain exporting
741	of variables
742	o cleanup comments
743
7442023-09-17  Simon J Gerraty  <sjg@beast.crufty.net>
745
746	* bsd.after-import.mk (ECHO_TAG): FreeBSD no longer uses
747	$FreeBSD$ tag, so avoid adding it.
748
7492023-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
750
751	* VERSION (_MAKE_VERSION): 20230909
752	Merge with NetBSD make, pick up
753	o main.c: allow -j to compute a multiple of ncpu
754	If _SC_NPROCESSORS_ONLN is supported; and -j arg is a floating
755	point number or ends in 'C' compute .MAKE.JOBS as a multiple of
756	_SC_NPROCESSORS_ONLN
757	.MAKE.JOBS.C will be "yes" if -jC is supported
758
7592023-08-20  Simon J Gerraty  <sjg@beast.crufty.net>
760
761	* VERSION (_MAKE_VERSION): 20230820
762	Merge with NetBSD make, pick up
763	o make.1: note that :localtime is better for %s
764	o parse.c: improve error messages for invalid input.
765	o var.c: fix for %s:L:gmtime - set TZ=UTC and use localtime to get
766	correct result, it is still better to use %s:L:localtime.
767
7682023-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
769
770	* VERSION (_MAKE_VERSION): 20230818
771	Merge with NetBSD make, pick up
772	o meta.c: meta_ignore - check raw path against metaIgnorePaths
773	to potentially skip call to realpath.
774	o var.c: be strict when parsing the argument of the ':mtime' modifier
775	o unit-tests/varmod-mtime.mk: document why '${%s:L:localtime}'
776	should be used to get an equivalent value to time(3).
777
7782023-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
779
780	* VERSION (_MAKE_VERSION): 20230816
781	Merge with NetBSD make, pick up
782	o cond.c: clean up multiple-inclusion guards
783
7842023-07-25  Simon J Gerraty  <sjg@beast.crufty.net>
785
786	* unit-tests/Makefile: addd varmod-localtime to BROKEN_TESTS
787	if configure cannot work out how to control TZ.
788	Remove varmod-localtime from BROKEN_TESTS for IRIX*
789
7902023-07-24  Simon J Gerraty  <sjg@beast.crufty.net>
791
792	* VERSION (_MAKE_VERSION): 20230723
793
794	* configure.in: fix the test for wether TZ=Europe/Berlin works.
795	Depending on the time of year, if run between 22:00 and 00:00 UTC
796	the check in configure would fail incorrectly.
797	Take the day into account as well.
798
7992023-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
800
801	* VERSION (_MAKE_VERSION): 20230711
802	Merge with NetBSD make, pick up
803	o make.1: clean up wording, clarify scope of '!' in conditions
804
8052023-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
806
807	* make-bootstrap.sh.in: set prefix
808	If configure is run using ksh we get unexpanded ${prefix} in
809	DEFAULT_SYS_PATH, by ensuring prefix is set we should still get
810	correct result.
811
8122023-07-13  Simon J Gerraty  <sjg@beast.crufty.net>
813
814	* VERSION (_MAKE_VERSION): 20230711
815	bump version for IRIX tweaks
816
817	* make.h: undef OP_NONE if defined
818
819	* unit-tests/Makefile: set BROKEN_TESTS for IRIX
820
821	* configure.in: override INSTALL on IRIX
822
8232023-06-27  Simon J Gerraty  <sjg@beast.crufty.net>
824
825	* boot-strap op_test: ensure we set TEST_MAKE as we want it.
826
8272023-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
828
829	* VERSION (_MAKE_VERSION): 20230622
830	Merge with NetBSD make, pick up
831	o optimize string matching for ':M' and ':N'
832	o warn about malformed patterns in ':M', ':N' and '.if make(...)'
833
8342023-06-21  Simon J Gerraty  <sjg@beast.crufty.net>
835
836	* VERSION (_MAKE_VERSION): 20230621
837	Merge with NetBSD make, pick up
838	o more extensive tests for include guards
839	o parse.c: if a guard is already defined a file that uses the same
840	guard is still guarded by it.
841
8422023-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
843
844	* VERSION (_MAKE_VERSION): 20230620
845	Merge with NetBSD make, pick up
846	o allow guards to be targets as well as variables
847	The guard targets may include variable references like
848	__${.PARSEDIR:tA}/${.PARSEFILE}__
849
8502023-06-19  Simon J Gerraty  <sjg@beast.crufty.net>
851
852	* VERSION (_MAKE_VERSION): 20230619
853	Merge with NetBSD make, pick up
854	o unit test for .undef of readOnly vars
855	o optimization for makefiles protected from multiple-inclusion
856	skip even opening the file after first include.
857	Initially this only handles makefiles guarded by a variable
858	target guards are next.
859
8602023-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
861
862	* VERSION (_MAKE_VERSION): 20230616
863	Merge with NetBSD make, pick up
864	o var.c: do not allow delete of readOnly variable
865
8662023-06-03  Simon J Gerraty  <sjg@beast.crufty.net>
867
868	* VERSION (_MAKE_VERSION): 20230601
869	Merge with NetBSD make, pick up
870	o parse.c: .break takes no args
871	o lots of unit test updates
872
8732023-05-29  Simon J Gerraty  <sjg@beast.crufty.net>
874
875	* unit-tests/Makefile: skip tests that require /dev/filemon
876	if it does not exists - issue a warning.
877
8782023-05-22  Simon J Gerraty  <sjg@beast.crufty.net>
879
880	* VERSION (_MAKE_VERSION): 20230522
881	Fix building on darwin ppc
882
883	* os.sh (MACHINE): Darwin powerpc cannot use `uname -m`
884	also recent NetBSD uses x86_64 for MACHINE_ARCH so conform.
885
8862023-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
887
888	* VERSION (_MAKE_VERSION): 20230515
889
890	* Makefile (COPTS.filemon_ktrace.c): NetBSD 7 needs help to
891	compile filemon_ktrace.c
892
8932023-05-13  Simon J Gerraty  <sjg@beast.crufty.net>
894
895	* VERSION (_MAKE_VERSION): 20230512
896	o sys.dirdeps.mk - broke after-import target
897
8982023-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
899
900	* VERSION (_MAKE_VERSION): 20230510
901	Merge with NetBSD make, pick up
902	o parse.c: don't print null filename in stack traces
903	o var.c: :mtime operate on each word in variable value
904
9052023-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
906
907	* VERSION (_MAKE_VERSION): 20230509
908	Merge with NetBSD make, pick up
909	o for.c: skip syntactically wrong .for loops
910	o var.c: allow for :gmtime=${mtime}
911	add :mtime[=timestamp] where timestamp is used if stat(2)
912	fails, if :mtime=error stat(2) failure causes error.
913
9142023-05-05  Simon J Gerraty  <sjg@beast.crufty.net>
915
916	* VERSION (_MAKE_VERSION): 20230504
917	Merge with NetBSD make, pick up
918	o compat.c: fix compile on NetBSD 7.2
919	o make.1: fix documentation of .PREFIX to match reality and POSIX
920	o unit-tests: improved var-scope-local
921
9222023-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
923
924	* VERSION (_MAKE_VERSION): 20230414
925	Merge with NetBSD make, pick up
926	o minor cleanup
927
9282023-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
929
930	* main.c: on some systems (eg OS/X) setting RLIMIT_NOFILE to
931	unlimited results in an insane number (0x7fffffffffffffff).
932	If BMAKE_NOFILE_MAX is defined, use that instead.
933
9342023-03-22  Simon J Gerraty  <sjg@beast.crufty.net>
935
936	* VERSION (_MAKE_VERSION): 20230321
937	Merge with NetBSD make, pick up
938	* make.1: document seemingly unexplained Error code 6.
939
9402023-03-18  Simon J Gerraty  <sjg@beast.crufty.net>
941
942	* VERSION (_MAKE_VERSION): 20230317
943	Merge with NetBSD make, pick up
944	o compat.c: CompatDeleteTarget skip .PHONY targets to be
945	consistent with JobDeleteTarget.
946	o job.c: fix memory leak in handling sysv :from=to modifiers
947
9482023-03-04  Simon J Gerraty  <sjg@beast.crufty.net>
949
950	* VERSION (_MAKE_VERSION): 20230303
951	Merge with NetBSD make, pick up
952	o several updated unit-tests
953
9542023-02-22  Simon J Gerraty  <sjg@beast.crufty.net>
955
956	* VERSION (_MAKE_VERSION): 20230222
957	Merge with NetBSD make, pick up
958	o unit tests for .MAKE.META.IGNORE_{FILTER,PATHS,PATTERNS}
959
9602023-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
961
962	* VERSION (_MAKE_VERSION): 20230218
963	Merge with NetBSD make, pick up
964	o var.c: fix parsing of unevaluated subexpressions with
965	unbalanced '{}'
966
9672023-02-17  Simon J Gerraty  <sjg@beast.crufty.net>
968
969	* VERSION (_MAKE_VERSION): 20230215
970	Merge with NetBSD make, pick up
971	o inline macros for some variable names
972	o cond.c: reduce complexity of evaluating expressions
973
9742023-02-08  Simon J Gerraty  <sjg@beast.crufty.net>
975
976	* VERSION (_MAKE_VERSION): 20230208
977	Merge with NetBSD make, pick up
978	o var.c: always use SCOPE_GLOBAL for :_ to avoid problems
979	when it has been used within conditional expressions
980
9812023-01-27  Simon J Gerraty  <sjg@beast.crufty.net>
982
983	* VERSION (_MAKE_VERSION): 20230127
984
985	* install-sh: if making directories ensure umask is set
986	to match mode.
987
988	* Makefile: use DIRMODE for directories and
989	NONBINMODE for man pages and mk files
990
9912023-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
992
993	* VERSION (_MAKE_VERSION): 20230126
994	Merge with NetBSD make, pick up
995	o variables like .newline and .MAKE.{GID,PID,PPID,UID}
996	should be read-only.
997
9982023-01-23  Simon J Gerraty  <sjg@beast.crufty.net>
999
1000	* VERSION (_MAKE_VERSION): 20230123
1001	Merge with NetBSD make, pick up
1002	o .[NO]READONLY: for control of read-only variables
1003	o .SYSPATH: for controlling the path searched for makefiles
1004
10052023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
1006
1007	* VERSION (_MAKE_VERSION): 20230120
1008	Merge with NetBSD make, pick up
1009	o allow for white-space between command specifiers @+-
1010	o add more details to warning 'Extra targets ignored'
1011
10122023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
1013
1014	* machine.sh: leverage os.sh rather than duplicate
1015	also dispence with the $OS.$MACHINE values - we have $HOST_TARGET
1016	for that purpose for the past decade or so.
1017	We invariably get MACHINE and MACHINE_ARCH at runtime anyway.
1018
10192023-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
1020
1021	* VERSION (_MAKE_VERSION): 20230101
1022	Merge with NetBSD make, pick up
1023	o cleanup comments, inline some LazyBuf_ methods
1024	o unit-tests/ add/improve comments in tests
1025	o make.1: sync list of built-in variables with reality
1026	sort list of built-in variables
1027	reduce indentation of the long list of variable names
1028	use consistent markup for boolean flags
1029	move description of .MAKE.MODE below the .MAKE.META block
1030	clarify in which case an expression may omit braces
1031
10322022-11-08  Simon J Gerraty  <sjg@beast.crufty.net>
1033
1034	* VERSION (_MAKE_VERSION): 20221024
1035	Merge with NetBSD make, pick up
1036	o change return type of unlink_file back to int
1037
10382022-10-07  Simon J Gerraty  <sjg@beast.crufty.net>
1039
1040	* Makefile: Darwin and Linux can handle MANTARGET=man
1041
10422022-09-28  Simon J Gerraty  <sjg@beast.crufty.net>
1043
1044	* VERSION (_MAKE_VERSION): 20220928
1045	Merge with NetBSD make, pick up
1046	o fix more ignored returns from snprintf
1047	o compile with higher warnings
1048
10492022-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
1050
1051	* main.c meta.c: do not ignore return from snprintf
1052
1053	* meta.c strlcpy.c: we need prototype for strlcpy
1054
1055	* sigcompat.c: fix unused function warnings
1056
10572022-09-24  Simon J Gerraty  <sjg@beast.crufty.net>
1058
1059	* VERSION (_MAKE_VERSION): 20220924
1060	Merge with NetBSD make, pick up
1061	o fix bug in .break reset of conditional depth
1062	o overhaul and simplify tracking of conditional depth
1063
10642022-09-17  Simon J Gerraty  <sjg@beast.crufty.net>
1065
1066	* VERSION (_MAKE_VERSION): 20220912
1067	Merge with NetBSD make, pick up
1068	o man page updates
1069
10702022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
1071
1072	* VERSION (_MAKE_VERSION): 20220909
1073	Merge with NetBSD make, pick up
1074	o update unit-tests to handle deprecation of egrep
1075	o cond.c: add more details to error message for numeric comparison
1076
1077	* configure.in: allow for deprecation of egrep
1078
1079	* Makefile: Linux can handle MANTARGET=man
1080
10812022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
1082
1083	* VERSION (_MAKE_VERSION): 20220903
1084	Merge with NetBSD make, pick up
1085	o job.c: fix handling of null bytes in output
1086
10872022-09-02  Simon J Gerraty  <sjg@beast.crufty.net>
1088
1089	* VERSION (_MAKE_VERSION): 20220902
1090	Merge with NetBSD make, pick up
1091	o Allow .break to terminate a .for loop early
1092
10932022-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
1094
1095	* VERSION (_MAKE_VERSION): 20220901
1096	Merge with NetBSD make, pick up
1097	o var.c: fix out-of-bounds errors when parsing
1098
10992022-08-24  Simon J Gerraty  <sjg@beast.crufty.net>
1100
1101	* VERSION (_MAKE_VERSION): 20220824
1102	Merge with NetBSD make, pick up
1103	o var.c: revert change to modifier parsing that breaks
1104	shell variable references within ':@var@body@'
1105	o adjust unit-tests
1106
11072022-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
1108
1109	* VERSION (_MAKE_VERSION): 20220818
1110	Merge with NetBSD make, pick up
1111	o fix exit status for '-q' (since 1994)
1112
11132022-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
1114
1115	* VERSION (_MAKE_VERSION): 20220808
1116	Merge with NetBSD make, pick up
1117	o var.c: fix parsing of modifiers containing unbalanced subexpressions
1118	extract parsing of ':D' and ':U' modifiers into separate function
1119
11202022-07-26  Simon J Gerraty  <sjg@beast.crufty.net>
1121
1122	* VERSION (_MAKE_VERSION): 20220726
1123
1124	* Auto-create objdir for bmake/unit-tests if appropriate
1125
11262022-07-24  Simon J Gerraty  <sjg@beast.crufty.net>
1127
1128	* VERSION (_MAKE_VERSION): 20220724
1129	Merge with NetBSD make, pick up
1130	o make.1: describe variable assignment and evaluation more precisely
1131	o parse.c: fix out-of-bounds read when parsing an invalid line
1132	o var.c: simplify return type of IsShortVarnameValid
1133
11342022-06-12  Simon J Gerraty  <sjg@beast.crufty.net>
1135
1136	* VERSION (_MAKE_VERSION): 20220612
1137	Merge with NetBSD make, pick up
1138	o allow to randomize build order of targets
1139	.MAKE.MODE += randomize-targets can help uncover dependency bugs
1140	within a makefile.
1141	o compat.c: rename Compat_Run to Compat_MakeAll
1142	o make.c: inline MakeBuildParent
1143	inline make_abort, improve error details
1144	o parse.c: reorganize Parse_Error
1145	fix memory leak in wildcard targets and sources
1146	separate cases in HandleDependencyTargetMundane
1147	extract HandleSingleDependencyTargetMundane
1148	rename loadfile to LoadFile
1149	split IncludeFile into separate functions
1150	condense code for searching a file in the paths
1151	fix off-by-one error in buffer for .WAIT nodes
1152	o str.c: condense Str_Match
1153	make code for string matching syntactically more consistent
1154
11552022-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
1156
1157	* VERSION (_MAKE_VERSION): 20220418
1158	Merge with NetBSD make, pick up
1159	o ignore '.POSIX:' if not in first non-comment line
1160	of Makefile as specified by POSIX.
1161	add unit-tests for above.
1162	o meta.c: make it easier to find usage of identifiers
1163	o targ.c: add .USEBEFORE to Targ_PrintType
1164
11652022-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
1166
1167	* VERSION (_MAKE_VERSION): 20220414
1168
1169	* unit-tests/Makefile: simplify checks for shells with
1170	BROKEN_TESTS, this helps with other Linux distros that
1171	use dash.
1172
11732022-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
1174
1175	* VERSION (_MAKE_VERSION): 20220330
1176	Merge with NetBSD make, pick up
1177	o var.c: fix spacing, and a typo in a test
1178
11792022-03-26  Simon J Gerraty  <sjg@beast.crufty.net>
1180
1181	* VERSION (_MAKE_VERSION): 20220326
1182	Merge with NetBSD make, pick up
1183	o parse.c: try to include 'posix.mk' the first time
1184	.POSIX: is encountered, to allow for beter POSIX compliance.
1185	o var.c: make debug logs more readable
1186	prefer 'long long' over 'long' on 32-bit C99 platforms
1187	fix crash on .undef of an environment variable
1188
11892022-03-03  Simon J Gerraty  <sjg@beast.crufty.net>
1190
1191	* VERSION (_MAKE_VERSION): 20220303
1192	Merge with NetBSD make, pick up
1193	o tell meta mode unit tests not to expect filemon
1194	o cond.c: make debug logging for comparisons less technical
1195	o lst.c: fix mem leak in Lst_Remove
1196	o str.c: make code for string matching syntactically more consistent
1197	o var.c: simplify ParseModifier_Match
1198
11992022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
1200
1201	* unit-tests/Makefile: control MAKESYSPATH for deptgt-phony
1202
1203	* VERSION (_MAKE_VERSION): 20220214
1204	Merge with NetBSD make, pick up
1205	o cond.c: simplify control flow in CondParser_Comparison
1206	o job.c: fix echoing of command with '-' in silent target in jobs mode
1207	o main.c: prefix the warning about read-only .OBJDIR with a colon
1208	o parse.c: remove redundant conditions
1209	o var.c: simplify control flow in ModifyWord_SysVSubst
1210
12112022-02-08  Simon J Gerraty  <sjg@beast.crufty.net>
1212
1213	* unit-tests/Makefile: disable opt-debug-x-trace on Linux if there
1214	is any chance we have dash as .SHELL
1215
1216	* VERSION (_MAKE_VERSION): 20220208
1217	Merge with NetBSD make, pick up
1218	o more unit tests
1219	o meta.c: use a variable to hold command line to be filtered
1220	to avoid any side effects from content of command line.
1221
12222022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
1223
1224	* VERSION (_MAKE_VERSION): 20220204
1225	Merge with NetBSD make, pick up
1226	o use unsigned consistently for line numbers, avoid the need for %z
1227	o parse.c: do not step off end of input in Parse_IsVar
1228	when checking for target local variable assignments
1229
12302022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
1231
1232	* VERSION (_MAKE_VERSION): 20220202
1233	Merge with NetBSD make, pick up
1234	o remove redundant declaration of HashIter_Init
1235	o make DEBUG0 simpler
1236
12372022-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
1238
1239	* cast gn->lineno to avoid %z
1240
1241	* VERSION (_MAKE_VERSION): 20220130
1242	Merge with NetBSD make, pick up
1243	o more unit tests
1244	o make GNode lineno unsigned to please lint
1245	o print location of recursive variable references in commands
1246	o print "stack trace" (makefile includes) on fatal errors
1247	o make.1: refine documentation for target local assignments
1248
12492022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
1250
1251	* VERSION (_MAKE_VERSION): 20220128
1252	Merge with NetBSD make, pick up
1253	o inline functions called only once
1254	o for.c: clean up AddEscape for building the body of a .for loop
1255	o hash.c: merge duplicate code for finding an entry in a hash table
1256	replace HashEntry_KeyEquals with strncmp
1257	o make.1: document quirks of target local variable assignments.
1258	o parse.c: cleanup white-space
1259
12602022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
1261
1262	* VERSION (_MAKE_VERSION): 20220126
1263	Merge with NetBSD make, pick up
1264	o allow setting target local variables
1265	o more unit tests
1266	o add missing newline after "cannot continue" message
1267	o meta.c: clean up eat_dots
1268	o parse.c: fix filename in warning about duplicate script
1269	o var.c: when expanding nested variables, check simple things first
1270
12712022-01-16  Simon J Gerraty  <sjg@beast.crufty.net>
1272
1273	* VERSION (_MAKE_VERSION): 20220116
1274	Merge with NetBSD make, pick up
1275	o fix for unit-tests/varname-makeflags on non-BSD systems
1276	o use Var_Exists rather than Var_Value where appropriate
1277	o remove unnecessary functions for expanding variable names
1278	o cond.c: inline EvalBare
1279	o main.c: lint cleanup
1280	o parse.c: condense code in Parse_IsVar
1281	use islower for parsing directives (none have upper case)
1282
12832022-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
1284
1285	* VERSION (_MAKE_VERSION): 20220112
1286	Merge with NetBSD make, pick up
1287	o meta.c: add .MAKE.META.CMP_FILTER for filtering commands before
1288	comparion, rarely needed but useful when it is.
1289
12902022-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
1291
1292	* VERSION (_MAKE_VERSION): 20220110
1293	Merge with NetBSD make, pick up
1294	o inline Buf_Clear
1295	o remove redundant braces
1296	o rename and inline Targ_Precious
1297	o cond.c: remove redundant initializer in CondParser_ComparisonOrLeaf
1298	o for.c: clean up handling of .for loops
1299	fix reported line numbers of continuation lines
1300	add details about .for loop variables to stack traces
1301	o job.c: reduce code for initializing error handling in shell
1302	o main.c: in Cmd_Exec, return error message instead of format string
1303	have as few statements as possible between va_start and va_end
1304	add debug logging for capturing the output of external commands
1305	o make.c: use consistent variable names for varargs
1306	o make_malloc.c: remove duplicate code from bmake_strdup
1307	o parse.c: add missing printflike annotations
1308	remove redundant lines from stack traces
1309	fix stack traces in -dp mode
1310	reduce confusing code in ParseForLoop
1311	fix line number in debug log after returning from a file
1312	rename IFile and its fields to match their actual content
1313	clean up ParseDependencySources
1314	o var.c: shorten ApplyModifier_Assign
1315	rename is_shell_metachar, fix character conversion warning
1316	merge calls to ApplyModifier_Time
1317	merge duplicate code for modifiers 'gmtime' and 'localtime'
1318
13192022-01-04  Simon J Gerraty  <sjg@beast.crufty.net>
1320
1321	* parse.c: loadfile restore extra byte in buffer.
1322
13232022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
1324
1325	* VERSION (_MAKE_VERSION): 20220101
1326	Merge with NetBSD make, pick up
1327	o more unit-tests
1328	o remove unnecessary words from command line options in CmdOpts
1329	o rename eunlink to unlink_file
1330	o cond.c: make ParseWord in condition parser simpler
1331	internally return false for irrelevant leaves in conditions
1332	replace table for function lookup in conditions with simple code
1333	merge duplicate types CondEvalResult and CondResult
1334	o for.c: clean up handling of .for loops and .include directives
1335	o main.c: constify cached_realpath
1336	clean up Cmd_Exec
1337	o parse.c: sync API documentation
1338	fix error message when reading more than 1 GB from stdin
1339	clean up parsing of makefiles
1340	fix line number in error message about open conditionals
1341	unexport types VarAssignOp and VarAssign
1342	clean up function names
1343	remove redundant parameters in dependency parsing functions
1344	reduce scope of the list of wildcard target names
1345	extract OP_NOTARGET into separate function
1346	clean up variable names for parsing dependency lines
1347	make debug logging a bit more human-friendly
1348	o var.c: condense code in ApplyModifier_Assign
1349
13502021-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
1351
1352	* VERSION (_MAKE_VERSION): 20211221
1353	Merge with NetBSD make, pick up
1354	o more unit-tests
1355	o style cleanup
1356	o in CLEANUP mode, free interned strings at the very end
1357	o fix memory leak for filenames in .for loops
1358	o buf.c: avoid memory leak
1359	o cond.c: condense CondParser_ComparisonOp
1360	o hash.c: change return type of HashTable_Set to void
1361	o job.c: change return type of Compat_RunCommand from int to bool
1362	o main.c: remove bmake_free
1363	o parse.c: condense repetetive code in ParseDirective
1364	remove dead code for handling traditional include directives
1365	clean up parsing of variable assignments
1366	remove unreachable code for parsing the dependency operator
1367	clean up loading of files
1368	fix memory leak in IncludeFile
1369	o var.c: fix memory leak when parsing a variable name
1370	fix memory leak from ${.SUFFIXES}
1371	reduce memory allocation in modifier ':?' and ':C'
1372	condense RegexReplace for the modifier ':C' and avoid strlen
1373	merge duplicate code for memory handling in Var_Parse
1374	distinguish between short-lived and environment variables
1375	rename VarFreeEnv to VarFreeShortLived
1376
13772021-12-15  Simon J Gerraty  <sjg@beast.crufty.net>
1378
1379	* cond.c: fix mem leak in CondParser_Leaf
1380
13812021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
1382
1383	* VERSION (_MAKE_VERSION): 20211212
1384	Merge with NetBSD make, pick up
1385	o rename Parse_SetInput to Parse_PushInput
1386	o remove remove period from end of error messages and warnings
1387	to be more consistent
1388	o arch.c: use simpler memory management for parsing archive members
1389	o cond.c: rework and reduce recursion
1390	o for.c: rename some functions to better reflect purpose
1391	o suff.c: add Suff_NamesStr to provide .SUFFIXES as a string.
1392	o var.c: in parse errors, mark whitespace more clearly
1393	inline ParseEmptyArg into CondParser_FuncCallEmpty
1394	minimize calls to LazyBuf_Get in ParseVarnameLong
1395	treat .SUFFIXES as a read-only variable
1396
13972021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
1398
1399	* VERSION (_MAKE_VERSION): 20211207
1400	Merge with NetBSD make, pick up
1401	o inline HashIter_Init
1402	o parse.c: inline common subexpression in ParseRawLine
1403	o var.c: merge branches for modifiers ':D' and ':U'
1404	extract common code into Expr_Words
1405	extract common code into Expr_Str
1406	move low-level implementation details out of Var_Parse
1407
14082021-12-06  Simon J Gerraty  <sjg@beast.crufty.net>
1409
1410	* VERSION (_MAKE_VERSION): 20211206
1411	Merge with NetBSD make, pick up
1412	o add unit-tests/varmod-loop-delete
1413	o for.c: inline Str_Words - reduce memory allocation
1414	o parse.c: do not try to expand fixed variable names
1415	only allocate the name of an included file if necessary
1416	clean up ParseInclude
1417	o var.c: fix use-after-free in modifier ':@'
1418	save a memory allocation in each modifier ':O' and ':u'
1419	save a memory allocation in the modifier ':[...]'
1420	in UnexportVars, replace Str_Words with Substring_Words to
1421	reduce allocations and copying.
1422
14232021-12-04  Simon J Gerraty  <sjg@beast.crufty.net>
1424
1425	* VERSION (_MAKE_VERSION): 20211204
1426	Merge with NetBSD make, pick up
1427	o flesh out a number of tests
1428	o replace enums with bitfields, this simplifies a lot of code.
1429	o var.c: refactor ParseModifierPartSubst
1430
14312021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
1432
1433	* VERSION (_MAKE_VERSION): 20211024
1434	Merge with NetBSD make, pick up
1435	o Punt on write errors - ENOSPC etc.
1436
14372021-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
1438
1439	* configure.in: use_defshell, set both DEFSHELL_INDEX
1440	and defshell_path if appropriate.
1441	This makes it easier to use say the KSH specification with
1442	and alternate path for the shell.
1443
1444	* configure.in compat.c: for SCO we need to force UseShell
1445
1446	* configure.in: SCO /bin/sh is not usable, provide a list of
1447	alternatives for use as .SHELL.
1448	We still have to mark some tests as broken, plus more if we end up
1449	with ksh as .SHELL.
1450	Issue a warning about skipped tests.
1451
1452	* boot-strap: leave TOOL_DIFF to configure
1453
1454	* configure.in: on SCO native cc is not usable,
1455	gcc is to be found in /usr/gnu/bin
1456	and while ancient is at least able to compile bmake.
1457	Thus we add /usr/gnu/bin to PATH if it exists, and later
1458	check if $CC would have been found via $PATH.
1459	If not we set CC to the full path of $CC.
1460	Also gnu diff is known to support -u, so if it exists use it.
1461
1462	* configure.in: move getopt to AC_REPLACE_FUNCS
1463	also add AC_C_INLINE - in an attempt to compile using
1464	native cc on SCO.
1465
1466	* configure.in: check for stresep as well as strsep, since we
1467	define the later to the former if necessary, and if we have to
1468	provide stresep we also need to provide a prototype.
1469
1470	* configure.in: we no longer need to worry about
1471	sys/cdefs.h providing __RCSID which simplifies things quite a bit.
1472
1473	* make.h: make sure we have __RCSID
1474
1475	* unit-tests/Makefile.config.in: add TOOL_DIFF so configure
1476	can control it.
1477
14782021-10-20  Simon J Gerraty  <sjg@beast.crufty.net>
1479
1480	* VERSION: 20211020
1481	Merge with NetBSD make, pick up
1482	o confirm sync of unit-tests
1483
14842021-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
1485
1486	* configure.in: check if timezone Europe/Berlin is supported
1487	if not try UTC-1
1488	* configure.in: if .OBJDIR is $srcdir/obj we need to create a
1489	symlink unit-tests -> ../unit-tests/obj so that
1490	unit-tests/Makefile.config is put in the right place.
1491	* refine filtering of .OBJDIR in unit-tests
1492
14932021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
1494
1495	* Fix unit-tests on Minix 3.2.0
1496	o job.c: do not punt if read of token pipe fails for EAGAIN.
1497	On Minix at least, we are not ready to read the childExitJob pipe
1498	when poll says we are.
1499	There should actually be no reason for this pipe to be
1500	non-blocking, but while that works fine on {Net,Free}BSD it
1501	breaks another test case on Minix.
1502	o unit-tests/Makefile: deal with variants of error messages
1503	  and use of obj as .OBJDIR
1504
15052021-10-14  Simon J Gerraty  <sjg@beast.crufty.net>
1506
1507	* configure.in: add sigaction to AC_REPLACE_FUNCS
1508	we also need to check for sigaddset etc just for the benefit of
1509	sigact.c
1510
1511	* Add sigact.c as sigaction.c so this "just works".
1512	This should have been done back when bmake_signal started using
1513	sigaction (I only just noticed that sigact.c wasn't here ;-)
1514	Note: I no longer have access to any system where this would matter.
1515
15162021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
1517
1518	* VERSION (_MAKE_VERSION): 20211011
1519
1520	* Makefile: cleanup a little
1521
1522	* configure.in: check for sigsetmask
1523
15242021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
1525
1526	* VERSION (_MAKE_VERSION): 20211001
1527	Merge with NetBSD make, pick up
1528	o reduce locations reducing text size
1529	o remove unnecessary const
1530	o cond.c: fix lint warning on i386
1531	do not allow unquoted 'left == right' after modifier ':?'
1532	o hash.c: fix build for DEBUG_HASH_LOOKUP
1533	o var.c: fix memory leak in error case of the ':?' modifier
1534
15352021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
1536
1537	* VERSION (_MAKE_VERSION): 20210911
1538	Merge with NetBSD make, pick up
1539	o var.c: replace remaining ModChain_ShouldEval with Expr_ShouldEval
1540
15412021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
1542
1543	* VERSION (_MAKE_VERSION): 20210906
1544	Merge with NetBSD make, pick up
1545	o more unit tests
1546	o lint cleanup
1547	o rename some functions to better fit purpose
1548	o for.c: cleanup - remove unnecessary optimization
1549	  fix embedded newlines
1550	o parse.c: correct case for CVS/RCS
1551
15522021-08-11  Simon J Gerraty  <sjg@beast.crufty.net>
1553
1554	* VERSION (_MAKE_VERSION): 20210808
1555	Merge with NetBSD make, pick up
1556	o var.c: remove redundant initialization in ApplyModifier_Order
1557
1558	* mk/options.mk: issue warning for incorrect usage
1559
15602021-08-03  Simon J Gerraty  <sjg@beast.crufty.net>
1561
1562	* var.c: use long for :On if we don't have a 64bit int type
1563
1564	* VERSION (_MAKE_VERSION): 20210803
1565	Merge with NetBSD make, pick up
1566	o rework varmod-order tests to avoid qsort instability
1567	o make.1: clarify :On entry
1568
15692021-07-31  Simon J Gerraty  <sjg@beast.crufty.net>
1570
1571	* VERSION (_MAKE_VERSION): 20210731
1572	Merge with NetBSD make, pick up
1573	o fix some lint issues
1574	o more unit tests
1575	o var.c: rework of ApplyModifier_Order
1576
15772021-07-30  Simon J Gerraty  <sjg@beast.crufty.net>
1578
1579	* util.c: add strto*l if HAVE_STRTO*L not defined
1580
1581	* VERSION (_MAKE_VERSION): 20210730
1582	Merge with NetBSD make, pick up
1583	o var.c: add :On and :Orn for numeric sort
1584	  disabled if no 64bit type available.
1585	o _strtol.h: to implement strto*l functions
1586
15872021-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
1588
1589	* VERSION (_MAKE_VERSION): 20210704
1590	Merge with NetBSD make, pick up
1591	o unit-tests: fix some tests to be more portable
1592	- job-output-null not all shells do the same number of write calls
1593	- objdir-writable if TMPDIR is set; /tmp may not be usable
1594
15952021-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
1596
1597	* VERSION (_MAKE_VERSION): 20210701
1598	Merge with NetBSD make, pick up
1599	o unit-tests: allow for BROKEN_TESTS to list TESTS to be skipped;
1600	some tests just cannot work in some environments.
1601	o buf.c: simpler upper bound for length in Buf_AddInt
1602	o cond.c: fix grammar in error message for malformed conditional
1603	o for.c: prevent newline injection (from ${.newline}) in .for loops
1604	o var.c: use more practical data type in RegexReplace
1605	(avoid need for %zu)
1606	extract RegexReplace from ModifyWord_SubstRegex
1607
16082021-06-21  Simon J Gerraty  <sjg@beast.crufty.net>
1609
1610	* VERSION (_MAKE_VERSION): 20210621
1611	Merge with NetBSD make, pick up
1612	o var.c: only report error for unmatched regex subexpression
1613	when linting (-dL) since we cannot tell when an unmatched
1614	subexpression is an expected result.
1615	o move unmatched regex subexpression tests to
1616	varmod-subst-regex.mk and enable strict (lint) mode
1617
16182021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
1619
1620	* VERSION (_MAKE_VERSION): 20210616
1621	Merge with NetBSD make, pick up
1622	o more unit tests
1623	o cond.c: rename If_Eval to EvalBare
1624	improve function names for parsing conditions
1625	o job.c: fix error handling of targets that cannot be made
1626	o var.c: uncompress code in ApplyModifier_Unique
1627
16282021-05-18  Simon J Gerraty  <sjg@beast.crufty.net>
1629
1630	* VERSION (_MAKE_VERSION): 20210518
1631	Merge with NetBSD make, pick up
1632	o fix unit-tests/opt-chdir to cope with /nonexistent existing.
1633	o job.c: Print -de error information when running multiple jobs
1634
16352021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
1636
1637	* VERSION (_MAKE_VERSION): 20210420
1638	Merge with NetBSD make, pick up
1639	o use C99 bool type
1640	o convert VarEvalFlags back into an enum
1641	o cond.c: do not complain when skipping the condition 'no >= 10'
1642	o hash.c: avoid allocating memory for simple variable names
1643	o job.c: use distinct wording for writing to the shell commands file
1644	remove type name for the abort status in job handling
1645	rename PrintOutput to PrintFilteredOutput to avoid confusion
1646	o main.c: avoid double slash in name of temporary directory
1647	o var.c: use straight quotes for error 'Bad conditional expression'
1648	reduce memory allocations in the modifiers ':D' and ':U'
1649	rename members of ModifyWord_LoopArgs
1650	clean up pattern flags for the modifiers ':S' and ':C'
1651	reduce memory allocation and strlen calls in modifier ':from=to'
1652	in the ':Q' modifier, only allocate memory if necessary
1653	improve performance for LazyBuf
1654	remove redundant parameter from ParseVarnameLong
1655	migrate ParseModifierPart to use Substring
1656	avoid unnecessary calls to strlen when evaluating modifiers
1657	migrate ModifyWord functions to use Substring
1658	migrate handling of the modifier ':S,from,to,' to Substring
1659	reduce debug logging and memory allocation for ${:U...}
1660	reduce verbosity of the -dv debug logging for standard cases
1661	clean up debug logging for ':M' and ':N'
1662	disallow '$' in the variable name of the modifier ':@'
1663	simplify access to the name of an expression during evaluation
1664
16652021-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
1666
1667	* VERSION (_MAKE_VERSION): 20210330
1668	Merge with NetBSD make, pick up
1669	o replace enum bit-field with struct bit-field for VarEvalFlags
1670	o rename VARE_NONE to VARE_PARSE_ONLY
1671	o var.c: rename ApplyModifiersState to ModChain
1672	fix double varname expansion in the variable modifier '::='
1673	change debug log for variable evaluation flags to lowercase
1674
16752021-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
1676
1677	* VERSION (_MAKE_VERSION): 20210314
1678	Merge with NetBSD make, pick up
1679	o var.c: avoid evaluating many modifiers in parse only mode
1680	in strict mode (-dL) many variable references are parsed twice,
1681	the first time just to report parse errors early, so we want to
1682	avoid side effects and wasted effort to the extent possible.
1683
16842021-02-26  Simon J Gerraty  <sjg@beast.crufty.net>
1685
1686	* VERSION (_MAKE_VERSION): 20210226
1687	Merge with NetBSD make, pick up
1688	o remove freestanding freeIt variables
1689	link via FStr
1690	o var.c: restructure code in ParseVarname to target human readers
1691	improve error message for;
1692	  bad modifier in variable expression
1693	  unclosed modifier
1694	  unknown modifier
1695	remove redundant parameter of ApplySingleModifier
1696	explain non-obvious code around indirect variable modifiers
1697	quote ':S' in error message about missing delimiter
1698	extract ParseModifier_Match into separate function
1699	add context information to error message about ':range' modifier
1700	add quotes around variable name in an error message
1701	reorder code in ModifyWords
1702	use more common parameter order for VarSelectWords
1703	make ModifyWord_Subst a little easier to understand
1704	do not expand variable name from the command line twice
1705	extract ExistsInCmdline from Var_SetWithFlags
1706	save a hash map lookup when defining a cmdline variable
1707	clean up VarAdd, Var_Delete, Var_ReexportVars
1708	use bit-shift expressions for VarFlags constants
1709	rename constants for VarFlags
1710	rename ExprDefined constants for debug logging
1711	rename ExprStatus to ExprDefined
1712	split parameters for evaluating variable expressions
1713	reduce redundant code around ModifyWords
1714	print error about failed shell command before overwriting variable
1715	clean up ValidShortVarname, ParseVarnameShort
1716	rename VarExprStatus to ExprStatus
1717	add functions for assigning the value of an expression
1718	rename ApplyModifiersState_Define to Expr_Define
1719	condense the code for parsing :S and :C modifiers
1720
17212021-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
1722
1723	* VERSION (_MAKE_VERSION): 20210206
1724	Merge with NetBSD make, pick up
1725	o unit-tests: use private TMPDIR to avoid errors from other users
1726
17272021-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
1728
1729	* VERSION (_MAKE_VERSION): 20210205
1730	Merge with NetBSD make, pick up
1731	o avoid strdup in mkTempFile
1732	o always use vfork
1733	o rename context and ctxt to scope
1734	o rename some VAR constants to SCOPE
1735	o Var_ functions, move the scope to the front
1736	o use shortcut functions Global_Set and Global_Append
1737	o add shortcut Global_Delete for deleting a global variable
1738	o rename Var_Delete to Var_DeleteExpand, Var_DeleteVar to Var_Delete
1739	o compat.c: when exiting due to an error, print graph information
1740	o enum.c: remove overengineered Enum_ValueToString
1741	o make.c: remove unused INTERNAL flag
1742	remove unused return type of MakeBuildParent
1743	o parse.c: replace parse error "Need an operator" with better message
1744	o var.c: improve documentation about variable scopes
1745	rename Var_ValueDirect to GNode_ValueDirect
1746	rename old Var_SetWithFlags to Var_SetExpandWithFlags
1747	merge SetVar into Var_SetWithFlags
1748	split Var_Exists into plain Var_Exists and Var_ExistsExpand
1749	split Var_Append into Var_Append and Var_AppendExpand
1750	replace enum bit-set with bit-field
1751	o unit-tests/var-op-shell: use kill rather than kill -14
1752	which broke on darwin with recent update.
1753
17542021-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
1755
1756	* configure.in: check for sig_atomic_t and define it as 'int'
1757	if missing.
1758
1759	* VERSION (_MAKE_VERSION): 20210201
1760	Merge with NetBSD make, pick up
1761	o use sig_atomic_t for caught_sigchld
1762
17632021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
1764
1765	* VERSION (_MAKE_VERSION): 20210130
1766	Merge with NetBSD make, pick up
1767	o more unit tests
1768	o convert SearchPath to struct
1769	o split Buf_Destroy into Buf_Done and Buf_DoneData
1770	o for.c: split For_Eval into separate functions
1771	rename struct For to struct ForLoop
1772	o job.c: do not create empty shell files in jobs mode
1773	rename JobOpenTmpFile to JobWriteShellCommands
1774	reduce unnecessary calls to waitpid
1775	o parse.c: in -dp mode, print stack trace with each diagnostic
1776
17772021-01-23  Simon J Gerraty  <sjg@beast.crufty.net>
1778
1779	* VERSION (_MAKE_VERSION): 20210123
1780	Merge with NetBSD make, pick up
1781	o rename Dir_Expand to SearchPath_Expand
1782	o rename Dir_AddDir, reorder parameters of SearchPath_ToFlags
1783	o cond.c: fix debug output for comparison operators in conditionals
1784	o dir.c: split Dir_FindFile into separate functions
1785
17862021-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
1787
1788	* VERSION (_MAKE_VERSION): 20210120
1789	Merge with NetBSD make, pick up
1790	o fix some more lint nits
1791	o refine some unit tests for portability
1792	o cond.c: rework parsing
1793
17942021-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
1795
1796	* VERSION (_MAKE_VERSION): 20210110
1797	Merge with NetBSD make, pick up
1798	o fix lint warnings
1799	o consistently use boolean expressions in conditions
1800
18012021-01-08  Simon J Gerraty  <sjg@beast.crufty.net>
1802
1803	* VERSION (_MAKE_VERSION): 20210108
1804	Merge with NetBSD make, pick up
1805	o job.c: back to polling token pipe if we want a token
1806	o main.c: always print 'stopped in' on first call
1807	The execption is if we bail because of an abort token
1808	in which case just exit 6.
1809
18102021-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
1811
1812	* VERSION (_MAKE_VERSION): 20210101
1813	Merge with NetBSD make, pick up
1814	o Happy New Year!
1815	o rename CmdOpts.lint to strict
1816	o exit 2 on technical errors
1817	o replace pointers in controlling conditions with booleans
1818	o replace global preserveUndefined with VARE_KEEP_UNDEF
1819	o compat.c: re-export variables from the actual make process
1820	if using vfork this is the effect anyway
1821	o cond.c: clean up VarParseResult constants
1822	o for.c: fix undefined behavior in SubstVarLong
1823	make control flow in SubstVarLong of .for loops more obvious
1824	clean up SubstVarShort in .for loops
1825	extract ForSubstBody from ForReadMore
1826	clean up ForReadMore
1827	simplify termination condition for .for loop
1828	add error handling for .for loop items
1829	job.c: re-export variables from the actual make process
1830	parse.c: remove mmap for loading files, only allow files < 1 GiB
1831	fix edge case in := with undefined in variable name
1832	skip variable expansion in ParseDependencyTargetWord
1833	var.c: split ExportVar into separate functions
1834	clean up code in extracted ExportVar functions
1835	remove dead code from ApplyModifiersIndirect
1836	split Var_Subst into easily understandable functions
1837	clean up VarParseResult constants
1838
18392020-12-25  Simon J Gerraty  <sjg@beast.crufty.net>
1840
1841	* main.c: use .MAKE.DEPENDFILE as set by makefiles
1842
18432020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
1844
1845	* VERSION (_MAKE_VERSION): 20201222
1846	Merge with NetBSD make, pick up
1847	o make DEBUG macro return boolean
1848	o parse.c: fix assertion failure for files without trailing newline
1849	o var.c: allow .undef to undefine multiple variables at once
1850	remove excess newline from parse errors
1851
18522020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
1853
1854	* VERSION (_MAKE_VERSION): 20201221
1855	Merge with NetBSD make, pick up
1856	o some unit-test updates
1857
18582020-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
1859
1860	* VERSION (_MAKE_VERSION): 20201220
1861	Merge with NetBSD make, pick up
1862	o more unit tests
1863	o return FStr from Var_Parse and Var_Value
1864	o spell nonexistent consistently
1865	o add str_basename to reduce duplicate code
1866	o compat.c: fix .ERROR_TARGET in compat -k mode
1867	extract InitSignals from Compat_Run
1868	extract UseShell from Compat_RunCommand
1869	o cond.c: error out if an '.endif' or '.else' contain extraneous text
1870	o for.c: rename ForIterate to ForReadMore
1871	o hash.c: clean up hash function for HashTable
1872	o lst.c: rename Vector.priv_cap to cap
1873	o main.c: remove constant parameter from MakeMode
1874	o make.c: use symbolic time for 0 in Make_Recheck
1875	extract MakeChildren from MakeStartJobs
1876	o parse.c: clean up memory handling in VarAssign_EvalShell, Parse_DoVar
1877	fix error message for .info/.warning/.error without argument
1878	extract Var_Undef from ParseDirective
1879	extract ParseSkippedBranches, ParseForLoop from ParseReadLine
1880	rename mode constants for ParseGetLine to be more expressive
1881	reduce debugging details in Parse_SetInput
1882	fix line numbers in .for loops
1883	split ParseGetLine into separate functions
1884	fix garbled output for failed shell command
1885	var.c: remove redundant assignment in ApplyModifier_SysV
1886	error out on unknown variable modifiers at parse time
1887	remove wrong error message for indirect modifier in lint mode
1888	extract ApplySingleModifier from ApplyModifiers
1889	use FStr for memory management in Var_SetWithFlags
1890	extract SetVar from Var_SetWithFlags
1891	use FStr in VarNew
1892	extract string functions from ApplyModifier_To
1893	error out if .undef has not exactly 1 argument
1894	extract Var_DeleteVar from Var_Delete
1895	extract Var_Undef from ParseDirective
1896	clean up memory management for expanding variable expressions
1897
18982020-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
1899
1900	* avoid %zu
1901
1902	* lst.c: avoid anonymous union
1903
1904	* VERSION (_MAKE_VERSION): 20201212
1905	Merge with NetBSD make, pick up
1906	o more unit tests
1907	o inline Targ_Ignore and Targ_Silent
1908	o split JobFlags into separate fields
1909	o remove const from function parameters (left overs from refactoring)
1910	o eliminate boolean argument of Var_Export
1911	o make API of Buf_Init simpler
1912	o rename ParseRunOptions to ParseCommandFlags
1913	o replace *line with line[0]
1914	o compat.c: fix wrong exit status for multiple failed main targets
1915	refactor Compat_Run to show the error condition more clearly
1916	don't make .END if the main targets already failed (-k mode)
1917	fix exit status in -k mode if a dependency fails
1918	o for.c: clean up Buf_AddEscaped in .for loops
1919	o job.c: extract ShellWriter_ErrOn from JobPrintCommand
1920	make Job_Touch simpler
1921	refactor JobFinish
1922	rename Shell.exitFlag to errFlag
1923	move Job.xtraced to ShellWriter
1924	make printing of shell commands independent from the job
1925	rename shell flags in struct Shell
1926	extract JobOpenTmpFile from JobStart
1927	rename RunFlags to CommandFlags
1928	split various Job.* into separate fields
1929	rename commandShell to shell
1930	extract InitShellNameAndPath from Shell_Init
1931	replace signal handling macros with local functions
1932	replace macro MESSAGE with local function
1933	parse.c: error out on null bytes in makefiles
1934	error out on misspelled directives
1935	rename IFile.nextbuf to readMore
1936	fix undefined behavior in ParseEOF
1937	str.c: remove redundant call to strlen in Str_Words
1938	var.c: error out on misspelled .unexport-env
1939	error out on misspelled .export directives
1940	extract ExportVars from Var_Export
1941	extract ExportVarsExpand from Var_Export
1942	eliminate boolean argument of Var_Export
1943	fix undefined behavior when exporting ${:U }
1944	rename Var_ExportVars to Var_ReexportVars
1945	rename Var_Export1 to ExportVar
1946
19472020-12-06  Simon J Gerraty  <sjg@beast.crufty.net>
1948
1949	* VERSION (_MAKE_VERSION): 20201206
1950	Merge with NetBSD make, pick up
1951	o more unit tests
1952	o inline macros for debug logging
1953	o use consistent variable names for list nodes
1954	o define constants for enum zero-values
1955	o dir.c: use fixed format for debug output of the directory cache
1956	remove Dir_InitDir
1957	o lst.c: inline Lst_Enqueue, Vector_Done
1958	o meta.c: remove unused parameter from meta_needed
1959	o parse.c: rename parse functions
1960	o suff.c: extract ExpandChildrenRegular from ExpandChildren
1961	o targ.c: don't concatenate identifiers in Targ_PrintType
1962	o var.c: remove comment decoration
1963	extract UnexportVars from Var_UnExport
1964	extract GetVarnamesToUnexport from Var_UnExport
1965	extract UnexportEnv from Var_UnExport
1966	extract UnexportVar from Var_UnExport
1967	move CleanEnv to UnexportVars
1968	replace pointer comparisons with enum
1969	add FStr to var.c to make memory handling simpler
1970	use FStr in Var_UnExport
1971	move type definitions in var.c to the top
1972	extract FreeEnvVar from Var_Parse
1973	extract ShuffleStrings from ApplyModifier_Order
1974
19752020-11-30  Simon J Gerraty  <sjg@beast.crufty.net>
1976
1977	* VERSION (_MAKE_VERSION): 20201130
1978	Merge with NetBSD make, pick up
1979	o add unit tests for META MODE
1980	o reduce memory allocation for dirSearchPath, GNode.parents,
1981	GNode.children, OpenDirs
1982	o reduce pointer indirection for GNode.cohorts and
1983	GNode.implicitParents
1984	o remove pointer indirection from GNode.commands
1985	o inline Lst_ForEachUntil in meta mode
1986	o dir.c: fix memory leak for lstat cache in -DCLEANUP mode
1987	clean up memory management for CachedDirs
1988	fix the reference count of dotLast going negative
1989	add debug logging for OpenDirs_Done
1990	extract CacheNewDir from Dir_AddDir
1991	add debug logging for reference counting of CachedDir
1992	rename some Dir functions to SearchPath
1993	o job.c: rename some global variables
1994	o main.c: reduce memory allocation in ReadBuiltinRules
1995	reduce memory allocation in CmdOpts.create, CmdOpts.variables,
1996	CmdOpts.makefiles
1997	Add .MAKE.UID and .MAKE.GID
1998	o make.c: reduce memory allocation for/in toBeMade,
1999	Make_ProcessWait, Make_ExpandUse
2000	o meta.c: reduce memory allocation in meta_oodate
2001	o parse.c: reduce memory allocations for parsing dependencies and
2002	targets
2003	o suff.c: reduce memory allocation in suffix handling
2004
20052020-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
2006
2007	* VERSION (_MAKE_VERSION): 20201124
2008	Merge with NetBSD make, pick up
2009	o .MAKE.{UID,GID} represent uid and gid running make.
2010	o fix error handling for .BEGIN and .END dependency in -k mode
2011	o fix missing "Stop." after failed .END node in -k mode
2012	o use properly typed comparisons in boolean contexts
2013	o replace a few HashTable_CreateEntry with HashTable_Set
2014	o add HashSet type
2015	o compat.c: split Compat_Make into smaller functions
2016	extract DebugFailedTarget from Compat_RunCommand
2017	o dir.c: refactor Dir_UpdateMTime
2018	migrate CachedDir.files from HashTable to HashSet
2019	o make.c: add high-level API for GNode.made
2020
20212020-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
2022
2023	* VERSION (_MAKE_VERSION): 20201122
2024	Merge with NetBSD make, pick up
2025	o rename GNode.context to vars
2026	o suff.c: cleanup and refactor
2027	rename some functions and vars to better reflect usage
2028	add high-level API for CandidateSearcher
2029	o targ.c: add more debug logging for suffix handling
2030	o more unit tests
2031	o add debug logging for setting and resetting the main target
2032
20332020-11-17  Simon J Gerraty  <sjg@beast.crufty.net>
2034
2035	* VERSION (_MAKE_VERSION): 20201117
2036	Merge with NetBSD make, pick up
2037	o fix some unit-tests when .SHELL is dash
2038	o rename Targ_NewGN to GNode_New
2039	o make some GNode functions const
2040	o main.c: call Targ_Init before Var_Init
2041	cleanup PrintOnError, getTmpdir and ParseBoolean
2042	o var.c: fix error message of failed :!cmd! modifier
2043
20442020-11-14  Simon J Gerraty  <sjg@beast.crufty.net>
2045
2046	* VERSION (_MAKE_VERSION): 20201114
2047	Merge with NetBSD make, pick up
2048	o replace a few HashTable_CreateEntry with HashTable_Set
2049	o clean up cached_stats
2050	o rename DEFAULT to defaultNode
2051	o remove redundant struct make_stat
2052	o cond.c: in lint mode, check for ".else <cond>"
2053	use bitset for IfState
2054	replace large switch with if-else in Cond_EvalLine
2055	o job.c: clean up JobExec, JobStart, JobDoOutput
2056	use stderr for error message about failed touch
2057	clean up Job_Touch
2058	replace macro DBPRINTF with JobPrintln
2059	rename JobState to JobStatus
2060	main.c: switch cache for realpath from GNode to HashTable
2061	clean up Fatal
2062	clean up InitDefSysIncPath
2063	use progname instead of hard-coded 'make' in warning
2064	rename Main_SetVarObjdir to SetVarObjdir
2065	make.1: document the -S option
2066	make.c: fix debug output for GNode details
2067	use symbolic names in debug output of GNodes
2068
20692020-11-12  Simon J Gerraty  <sjg@beast.crufty.net>
2070
2071	* configure.in: fix --with-force-machine-arch
2072
2073	* VERSION (_MAKE_VERSION): 20201112
2074	Merge with NetBSD make, pick up
2075	o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable
2076	checks in InitObjdir.  Explicit .OBJDIR target always allows
2077	read-only directory.
2078	o cond.c: clean up Cond_EvalLine
2079
20802020-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
2081
2082	* VERSION (_MAKE_VERSION): 20201111
2083	Merge with NetBSD make, pick up
2084	o more unit-tests
2085	o style cleanup
2086	remove redundant parentheses from sizeof operator
2087	replace character literal 0 with '\0'.
2088	replace pointer literal 0 with NULL.
2089	remove redundant parentheses.
2090	replace (expr & mask) == 0 with !(expr & mask).
2091	use strict typing in conditions of the form !var
2092	o rename Make_OODate to GNode_IsOODate
2093	o rename Make_TimeStamp to GNode_UpdateYoungestChild
2094	o rename Var_Set_with_flags to Var_SetWithFlags
2095	o rename dieQuietly to shouldDieQuietly
2096	o buf.c: make API of Buf_Init simpler
2097	o compat.c: clean up Compat_Make, Compat_RunCommand,
2098	CompatDeleteTarget and CompatInterrupt
2099	o cond.c: in lint mode, only allow '&&' and '||', not '&' and '|'
2100	clean up CondParser_Comparison
2101	o main.c: rename getBoolean and s2Boolean
2102	rename MAKEFILE_PREFERENCE for consistency
2103	o parse.c: replace strstr in ParseMaybeSubMake with optimized code
2104	o var.c: rename VARE_ASSIGN to VARE_KEEP_DOLLAR
2105	replace emptyString with allocated empty string
2106	error out on unclosed expressions after the colon
2107
21082020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
2109
2110	* VERSION (_MAKE_VERSION): 20201101
2111	Merge with NetBSD make, pick up
2112	o negate NoExecute to GNode_ShouldExecute
2113	o job.c: rename JobMatchShell to FindShellByName
2114	extract EscapeShellDblQuot from JobPrintCommand
2115	extract ParseRunOptions from JobPrintCommand
2116	o var.c: extract ApplyModifiersIndirect from ApplyModifiers
2117	treat malformed :range, :ts and :[...] as errors
2118	add tests for the variable modifiers :[words] and :range
2119
21202020-10-31  Simon J Gerraty  <sjg@beast.crufty.net>
2121
2122	* VERSION (_MAKE_VERSION): 20201031
2123	Merge with NetBSD make, pick up
2124	o format #include directives consistently
2125	o do not look up local variables like .TARGET anywhere else
2126	o main.c: Main_SetObjdir is first called for curdir which may be
2127	readonly
2128	reduce the scope where recursive expressions are detected
2129	remove redundant :tl from getBoolean
2130	clean up mkTempFile
2131	o meta.c: simplify memory allocation in meta_create and meta_oodate
2132	o parse.c: extract loadedfile_mmap from loadfile
2133	o trace.c: document possible undefined behavior with .CURDIR
2134	o var.c: make parsing of the :gmtime and :localtime modifiers stricter
2135	rename ismeta to is_shell_metachar
2136	remove debug logging for the :Q variable modifier
2137	rename VarIsDynamic to VarnameIsDynamic
2138	use consistent parameter order in varname parsing functions
2139	extract ParseVarnameLong from Var_Parse
2140	extract ParseVarnameShort from Var_Parse
2141	fix type of ParseModifierPart parameter delim
2142	extract IsEscapedModifierPart from ParseModifierPart
2143	clean up ModifyWords
2144	add test for combining the :@ and :? variable modifiers
2145
21462020-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
2147
2148	* VERSION (_MAKE_VERSION): 20201030
2149	Merge with NetBSD make, pick up
2150	o change char * to void * in Var_Value
2151	o make iterating over HashTable simpler
2152	o rename VAR_CMD to VAR_CMDLINE
2153	o cond.c: clean up is_separator
2154	fix parse error in string literal in conditional
2155	o main.c: do not use objdir that is not writable
2156	in lint mode, exit with error status on errors
2157	o  parse.c: clean up StrContainsWord
2158	fix out-of-bounds pointer in ParseTrackInput
2159	o var.c: rename Str_SYSVMatch and its parameters
2160	remove unsatisfiable conditions in Var_Set_with_flags
2161	document where the variable name is expanded
2162	fix documentation for VARP_SUB_ONE
2163	rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME
2164	document VAR_READONLY
2165	prevent appending to read-only variables
2166	extract MayExport from Var_Export1
2167	remove redundant evaluations in VarFind
2168	replace VarFindFlags with a simple Boolean
2169	rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE
2170
21712020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
2172
2173	* VERSION (_MAKE_VERSION): 20201028
2174	Merge with NetBSD make, pick up
2175	o rename defIncPath to defSysIncPath
2176	o initialize all CmdOpts fields
2177	o lst.c: inline Vector_Get
2178	o main.c: refactor main extract
2179	InitMaxJobs,InitObjdir,InitVarMake,InitRandom,
2180	ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules,
2181	InitDefIncPath,CmdOpts_Init,UnlimitFiles
2182	o parse.c: merge curFile into includes
2183	rename predecessor to order_pred
2184	sort ParseSpecial alphabetically
2185	remove unused, undocumented .NOEXPORT
2186	rename ParseSpecial enum values consistently
2187	rename some fields of struct IFile
2188
21892020-10-26  Simon J Gerraty  <sjg@beast.crufty.net>
2190
2191	* VERSION (_MAKE_VERSION): 20201026
2192	Merge with NetBSD make, pick up
2193	o group the command line options and arguments into a struct
2194	o rename GNode.cmgn to youngestChild
2195	o rename hash functions to identify the type name
2196	o negate OP_NOP and rename it to GNode_IsTarget
2197	o add GNode_Path to access the path of a GNode
2198	o remove macros MIN and MAX
2199	o remove unused Lst_Find and Lst_FindFrom
2200	o arch.c: and make Arch_FindLib simpler
2201	clean up code layout
2202	make Arch_ParseArchive simpler
2203	o cond.c: inline CondFindStrMatch into FuncMake
2204	o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath
2205	omit trailing space in debug output for expanding file patterns
2206	refactor DirMatchFiles
2207	document that the SearchPath of Dir_FindFile may be NULL
2208	remove UNCONST from Dir_Expand
2209	inline DirFindName
2210	o for.c: clean up code for handling .for loops
2211	o hash.c: print hash in debug log with fixed width
2212	clean up hash table functions
2213	reduce amount of string hashing
2214	o job.c: refactor JobDeleteTarget
2215	use proper enum constants for aborting
2216	convert result of JobStart from macros to enum
2217	convert abort reason macros to enum
2218	rework Job_CheckCommands to reduce indentation
2219	rename Shell fields
2220	add field names in declaration of DEFSHELL_CUSTOM
2221	convert JobState and JobFlags to enum types
2222	move handling of the "..." command to JobPrintCommands
2223	o lst.c: clean up
2224	refactor LstNodeNew
2225	remove Lst_Open, Lst_Next, Lst_Close
2226	remove code for circular lists from Lst_Next
2227	o main.c: do not attempt to read .MAKE.DEPENFILE if set to
2228	/dev/null or anything starting with "no"
2229	convert macros for debug flags into enum
2230	o make.c: inline Lst_Copy in Make_ExpandUse
2231	o meta.c: inline Lst_Find in meta_oodate
2232	make Lst_RemoveIf simpler in meta_oodate
2233	o parse.c: convert error level for Parse_Error to an enum
2234	o suff.c: properly terminate debug output with newline
2235	add more details to DEBUG_SRC log
2236	replace Dir_CopyDir with Dir_CopyDirSearchPath
2237	don't modify GNode name while rebuilding the suffix graph
2238	o var.c: reduce duplicate code in VarFind
2239
22402020-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
2241
2242	* VERSION (_MAKE_VERSION): 20201022
2243	Merge with NetBSD make, pick up
2244	o more refactoring and simplification to reduce code size
2245	o var.c: extract CanonicalVarname from VarFind
2246	o make.c: extract UpdateImplicitParentsVars from Make_Update
2247	o main.c: extract PrintVar from doPrintVars
2248	extract HandlePWD from main
2249	o lst.c: inline simple Lst getters
2250	remove unused Lst_ForEach
2251	o job.c: move struct Shell from job.h to job.c
2252	o more unit tests
2253
22542020-10-19  Simon J Gerraty  <sjg@beast.crufty.net>
2255
2256	* configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT
2257
22582020-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
2259
2260	* VERSION (_MAKE_VERSION): 20201018
2261	Merge with NetBSD make, pick up
2262	o remove USE_IOVEC
2263	o rename some Hash_* apis to Hash*
2264	o replace execError with execDie
2265	o rename Lst_Init to Lst_New
2266	o add tags to enum types
2267	o rename Stack to Vector
2268	o parse.c: more refactoring
2269	o unit-tests: make some tests use line buffered stdout
2270	o unit-tests/Makefile: in meta mode do not make all tests depend on
2271	Makefile, it isn't necessary.
2272
22732020-10-10  Simon J Gerraty  <sjg@beast.crufty.net>
2274
2275	* main.c: check for CTL_HW being defined.
2276	* unit-tests/Makefile: ensure export tests output are POSIX compliant
2277	disable opt-debug-jobs test until it works on ubuntu
2278
2279	* VERSION (_MAKE_VERSION): 20201010
2280	Merge with NetBSD make, pick up
2281	o dir.c: remove pathname limit for Dir_FindHereOrAbove
2282	o hash.c: replace strcpy with memcpy in Hash_CreateEntry
2283	o main.c: extract init_machine and init_machine_arch from main
2284	allow to disable debug logging options
2285	o parse.c: enable format string truncation warnings
2286	extract parsing of sources from ParseDoDependency
2287	split ParseDoSrc into smaller functions
2288	hide implementation details from Parse_DoVar
2289	clean up parsing of variable assignments
2290	split Parse_DoVar into manageable pieces
2291	don't modify the given line during Parse_DoVar
2292	fix out-of-bounds memory access in Parse_DoVar
2293	fix parsing of the :sh assignment modifier
2294	o var.c: rework memory allocation for the name of variables
2295	extract ApplyModifier_Literal into separate function
2296	in lint mode, reject modifiers without delimiter
2297	do not export variable names starting with '-'
2298	o fix double-free bug in -DCLEANUP mode
2299	o more cleanup to enable higher warnings level
2300	o more unit tests
2301
23022020-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
2303
2304	* VERSION (_MAKE_VERSION): 20201002
2305	Merge with NetBSD make, pick up
2306	o dir.c: use hash table for looking up open directories by name
2307	o main.c: clean up option handling
2308	o parse.c: add missing const for Parse_AddIncludeDir
2309	o var.c: ApplyModifier_To, update pp in each branch
2310	o remove redundant function prototypes
2311	o more unit tests
2312
23132020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
2314
2315	* VERSION (_MAKE_VERSION): 20201001
2316	Merge with NetBSD make, pick up
2317	o compat.c: comment about "..."
2318
23192020-09-30  Simon J Gerraty  <sjg@beast.crufty.net>
2320
2321	* VERSION (_MAKE_VERSION): 20200930
2322	Merge with NetBSD make, pick up
2323	o job.c: split Job.jobPipe into 2 separate fields
2324	replace Lst_Open with direct iteration
2325	o lst.c: remove redundant assertions
2326	o targ.c: replace Lst_Open with direct iteration
2327	o var.c: fix bug in evaluation of indirect variable modifiers
2328	extract ApplyModifier_Quote into separate function
2329	o make debug logging simpler
2330
23312020-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
2332
2333	* VERSION (_MAKE_VERSION): 20200927
2334	Merge with NetBSD make, pick up
2335	o parse.c: ensure parse errors result in 'stopped in' message.
2336	o compat.c: make parameter of Compat_RunCommand const
2337	o main.c: extract InitVarTarget from main
2338	o parse.c: rename ParseFinishLine to FinishDependencyGroup
2339	refactor ParseDoDependency
2340	o var.c: Var_Subst no longer returns string result
2341	rename Var_ParsePP back to Var_Parse
2342	in lint mode, improve error handling for undefined variables
2343	extract ParseVarname from Var_Parse
2344	o rename Lst_ForEach to Lst_ForEachUntil
2345	o inline Lst_ForEachUntil in several cases
2346	o clean up API for finding and creating GNodes
2347	o fix assertion failure in -j mode with .END node
2348	o inline and remove LstNode_Prev and LstNode_Next
2349	o use fine-grained type names for lists and their nodes
2350	o more unit tests
2351
23522020-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
2353
2354	* VERSION (_MAKE_VERSION): 20200911
2355	Merge with NetBSD make, pick up
2356	o cond.c: split EvalComparison into smaller functions
2357	reorder parameters of condition parsing functions
2358	reduce code size in CondParser_Eval
2359	rename CondGetString to CondParser_String
2360	add CondLexer_SkipWhitespace
2361	group the condition parsing state into a struct
2362	in CondGetString, replace repeated Buf_Add with Buf_AddStr
2363	o migrate Var_Parse to Var_ParsePP
2364	o add wrappers around ctype.h functions
2365	o lst.c: use a stack instead of a list for the nested include path
2366	o more unit tests
2367
23682020-09-04  Simon J Gerraty  <sjg@beast.crufty.net>
2369
2370	* make-bootstrap.sh.in: adjust object list
2371
23722020-09-02  Simon J Gerraty  <sjg@beast.crufty.net>
2373
2374	* VERSION (_MAKE_VERSION): 20200902
2375	Merge with NetBSD make, pick up
2376	o use make_stat to ensure no confusion over valid fields
2377	returned by cached_stat
2378	o var.c: make VarQuote const-correct
2379	o add unit tests for .for
2380
23812020-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
2382
2383	* VERSION (_MAKE_VERSION): 20200901
2384	Merge with NetBSD make, pick up
2385	o rename Hash_Table fields
2386	o make data types in Dir_HasWildcards more precise
2387
23882020-08-31  Simon J Gerraty  <sjg@beast.crufty.net>
2389
2390	* VERSION (_MAKE_VERSION): 20200831
2391	Merge with NetBSD make, pick up
2392	o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds
2393	o lst.c: Lst_Open renable assert that list isn't open
2394	o unit test for .TARGET dependent flags
2395	o var.c: fix aliasing bug in VarUniq
2396	o more unit tests for :u
2397
23982020-08-30  Simon J Gerraty  <sjg@beast.crufty.net>
2399
2400	* VERSION (_MAKE_VERSION): 20200830
2401	Merge with NetBSD make, pick up
2402	o allow for strict type checking for Boolean
2403	o Var_Parse never returns NULL
2404	o Var_Subst never returns NULL
2405	o Lst_Find now takes boolean match function
2406	o rename Lst_Memeber to Lst_FindDatum
2407	o rename LstNode functions to match their type
2408	o rename GNode.iParents to implicitParents
2409	o fix assertion failure for .SUFFIXES in archives
2410	o compat.c: clean up documentation for CompatInterrupt and Compat_Run
2411	remove unreachable code from CompatRunCommand
2412	o main.c: simplify getBoolean
2413	o stc.c: replace brk_string with simpler Str_Words
2414	o suff.c: add debug macros
2415
24162020-08-28  Simon J Gerraty  <sjg@beast.crufty.net>
2417
2418	* VERSION (_MAKE_VERSION): 20200828
2419	Merge with NetBSD make, pick up
2420	o lst.c: inline LstIsValid and LstNodeIsValid
2421	o remove trailing S from Lst function names after migration complete
2422	o more comment cleanup/clarification
2423	o suff.c: clean up suffix handling
2424	o more unit tests
2425
24262020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
2427
2428	* VERSION (_MAKE_VERSION): 20200826
2429	Merge with NetBSD make, pick up
2430	o enum.c: distinguish between bitsets containing flags and
2431	ordinary enums
2432	o var.c: fix error message for ::!= modifier with shell error
2433	o fix bugs in -DCLEANUP mode
2434
24352020-08-24  Simon J Gerraty  <sjg@beast.crufty.net>
2436
2437	* VERSION (_MAKE_VERSION): 20200824
2438	Merge with NetBSD make, pick up
2439	o in debug mode, print GNode details in symbols
2440
24412020-08-23  Simon J Gerraty  <sjg@beast.crufty.net>
2442
2443	* VERSION (_MAKE_VERSION): 20200823
2444	Merge with NetBSD make, pick up
2445	o lst.c: more asserts,
2446	make args to Lst_Find match others.
2447	o var.c: pass flags to VarAdd
2448	o arch.c: use Buffer
2449	o str.c: brk_string return size_t for nwords
2450	o more unit tests
2451
24522020-08-22  Simon J Gerraty  <sjg@beast.crufty.net>
2453
2454	* VERSION (_MAKE_VERSION):
2455	Merge with NetBSD make, pick up
2456	o var.c: support for read-only variables eg .SHELL
2457	being the shell used to run scripts.
2458	o lst.c: more simplification
2459	o more documentation and style cleanup
2460	o more unit tests
2461	o ensure unit-test/Makefile is run by TEST_MAKE
2462	o reduce duplication of header inclusion
2463
24642020-08-21  Simon J Gerraty  <sjg@beast.crufty.net>
2465
2466	* VERSION (_MAKE_VERSION): 20200821
2467	Merge with NetBSD make, pick up
2468	o lst.c: revert invalid assertion - but document it
2469	o dir.c: split Dir_Init into two functions
2470
24712020-08-20  Simon J Gerraty  <sjg@beast.crufty.net>
2472
2473	* lst.c: needs inttypes.h on Linux
2474
2475	* VERSION (_MAKE_VERSION): 20200820
2476	Merge with NetBSD make, pick up
2477	o make.1: clarify some passages
2478	o var.c: more cleanup, clarify comments
2479	o make_malloc.c: remove unreachable code
2480	o cond.c: make CondGetString easier to debug
2481	o simplify list usage
2482	o unit-tests: more
2483
24842020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
2485
2486	* VERSION (_MAKE_VERSION): 20200816
2487	Merge with NetBSD make, pick up
2488	o refactor unit-tests to be more fine grained
2489	  not all tests moved yet
2490
24912020-08-14  Simon J Gerraty  <sjg@beast.crufty.net>
2492
2493	* VERSION (_MAKE_VERSION): 20200814
2494	Merge with NetBSD make, pick up
2495	o more str_concat variants
2496	o more enums for flags
2497	o var.c: cleanup for higher warnings level
2498
24992020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
2500
2501	* VERSION (_MAKE_VERSION): 20200810
2502	Merge with NetBSD make, pick up
2503	o more unit tests
2504	o general comment and style cleanup
2505
25062020-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
2507
2508	* VERSION (_MAKE_VERSION): 20200808
2509	Merge with NetBSD make, pick up
2510	o enum.[ch]: streamline, enums for use in flags and debug output
2511	o cond.c: cleanup
2512	o var.c: reduce duplicate code for modifiers
2513	debug logging for Var_Parse
2514	more detailed debug output
2515	o more unit tests
2516
25172020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
2518
2519	* unit-tests/Makefile: -r for recursive and include Makefile.inc
2520	so I can run tests in meta mode
2521	supress extra noise if in meta mode
2522
2523	* VERSION (_MAKE_VERSION): 20200806
2524	Merge with NetBSD make, pick up
2525	o parse.c: remove VARE_WANTRES for LINT
2526	we just want to check parsing (for now).
2527
25282020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
2529
2530	* VERSION (_MAKE_VERSION): 20200805
2531	Merge with NetBSD make, pick up
2532	o make.1: Rework the description of dependence operators
2533
25342020-08-03  Simon J Gerraty  <sjg@beast.crufty.net>
2535
2536	* VERSION (_MAKE_VERSION): 20200803
2537	Merge with NetBSD make, pick up
2538	o revert some C99 usage, for max portability
2539	o unit-tests/lint
2540
25412020-08-02  Simon J Gerraty  <sjg@beast.crufty.net>
2542
2543	* VERSION (_MAKE_VERSION): 20200802
2544	Merge with NetBSD make, pick up
2545	o more unit tests
2546
25472020-08-01  Simon J Gerraty  <sjg@beast.crufty.net>
2548
2549	* Remove NetBSD specific plumbing from unit-tests/Makefile
2550
2551	* VERSION (_MAKE_VERSION): 20200801
2552	Merge with NetBSD make, pick up
2553	o make Var_Value return const
2554	o size_t for buf sizes
2555	o optimize some buffer operations - avoid strlen
2556
25572020-07-31  Simon J Gerraty  <sjg@beast.crufty.net>
2558
2559	* VERSION (_MAKE_VERSION): 20200731
2560	Merge with NetBSD make, pick up
2561	o var.c: fix undefinded behavior for incomplete :t modifier
2562	  fixes unit-test/moderrs on Ubuntu
2563	o parse.c: When parsing variable assignments other than :=
2564	  if DEBUG(LINT) test substition of value, so we get a file and
2565	  line number in the resulting error.
2566	o dir.c: fix parsing of nested braces in dependency lines
2567	  add unit-tests
2568
25692020-07-30  Simon J Gerraty  <sjg@beast.crufty.net>
2570
2571	* VERSION (_MAKE_VERSION): 20200730
2572	Merge with NetBSD make, pick up
2573	o var.c: minor cleanup
2574	o unit-tests: more tests to improve code coverage
2575
25762020-07-28  Simon J Gerraty  <sjg@beast.crufty.net>
2577
2578	* VERSION (_MAKE_VERSION): 20200728
2579	Merge with NetBSD make, pick up
2580	o var.c: more optimizations
2581
25822020-07-26  Simon J Gerraty  <sjg@beast.crufty.net>
2583
2584	* VERSION (_MAKE_VERSION): 20200726
2585	Merge with NetBSD make, pick up
2586	o collapse lsd.lib into lst.c - reduce code size and allow inlining
2587	o lots of function comment updates
2588	o var.c: more optimizations
2589	o make return of Var_Parse const
2590
25912020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
2592
2593	* VERSION (_MAKE_VERSION): 20200720
2594	Merge with NetBSD make, pick up
2595	o DEBUG_HASH report stats at end and tone down the noise
2596	o var.c: each flag type gets its own prefix.
2597	move SysV string matching to var.c
2598	make ampersand in ${VAR:from=to&} an ordinary character
2599	cleanup and simplify implementation of modifiers
2600	o make.1: move documentation for assignment modifiers
2601
26022020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
2603
2604	* VERSION (_MAKE_VERSION): 20200718
2605	Merge with NetBSD make, pick up
2606	o DEBUG_HASH to see how well the hash tables are working
2607
26082020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
2609
2610	* bsd.after-import.mk: make sure we update unit-tests/Makefile
2611
26122020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
2613
2614	* configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC
2615
2616	* VERSION (_MAKE_VERSION): 20200710
2617	Merge with NetBSD make, pick up
2618	o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall
2619	o meta.c: target flagged .META is out-of-date if meta file missing
2620
26212020-07-09  Simon J Gerraty  <sjg@beast.crufty.net>
2622
2623	* VERSION (_MAKE_VERSION): 20200709
2624	Merge with NetBSD make, pick up
2625	o cond.c: fix for compare_expression when doEval=0
2626	o unit-tests/Makefile: rework
2627	o filemon/filemon_dev.c: ensure filemon fd is closed on exec.
2628
26292020-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
2630
2631	* VERSION (_MAKE_VERSION): 20200704
2632	Merge with NetBSD make, pick up
2633	(most of this by rillig@)
2634	o lots of style and white-space cleanup
2635	o lots more unit tests for variable modifiers
2636	o simplified description of some functions
2637	o str.c: refactor Str_Match
2638	o var.c: debugging output for :@
2639	  constify VarModify parameter
2640	  fix :hash modifier on 16-bit platforms
2641	  remove unnecessary forward declarations
2642	  refactor ApplyModifier_SysV to have less indentation
2643	  simplify code for :E and :R
2644	  clean up code for :H and :T
2645	  refactor ApplyModifiers
2646
2647	* var.c: we need stdint.h on some platforms to get uint32_t
2648	* unit-test/Makefile: we need to supress the specific error
2649	for RE substitution error in modmisc, since it varies accross
2650	different OS.
2651
26522020-07-02  Simon J Gerraty  <sjg@beast.crufty.net>
2653
2654	* VERSION (_MAKE_VERSION): 20200702
2655	Merge with NetBSD make, pick up
2656	o var.c: more improvements to avoiding unnecessary evaluation
2657	use enums for flags
2658	o remove flags arg to Var_Set which outside of var.c is always 0
2659
26602020-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
2661
2662	* VERSION (_MAKE_VERSION): 20200701
2663	Merge with NetBSD make, pick up
2664	o var.c: with change to cond.c; ensure that nested variables
2665	within a variable name are expanded.
2666	o unit-tests/varmisc.mk: test for nested varname
2667
26682020-06-29  Simon J Gerraty  <sjg@beast.crufty.net>
2669
2670	* VERSION (_MAKE_VERSION): 20200629
2671	Merge with NetBSD make, pick up
2672	o cond.c: do not eval unnecessary terms of conditionals.
2673
26742020-06-25  Simon J Gerraty  <sjg@beast.crufty.net>
2675
2676	* VERSION (_MAKE_VERSION): 20200625
2677	Merge with NetBSD make, pick up
2678	o meta.c: report error if lseek in filemon_read fails
2679
26802020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
2681
2682	* VERSION (_MAKE_VERSION): 20200622
2683	Merge with NetBSD make, pick up
2684	o dieQuietly: ignore OP_SUBMAKE as too aggressive
2685
26862020-06-19  Simon J Gerraty  <sjg@beast.crufty.net>
2687
2688	* VERSION (_MAKE_VERSION): 20200619
2689	Merge with NetBSD make, pick up
2690	o str.c: performance improvement for Str_Match for multiple '*'
2691	o dieQuietly: supress the failure output from make
2692	when failing node is a sub-make or a sibling failed.
2693	This cuts down greatly on unhelpful noise at the end of
2694	build log.  Disabled by -dj or .MAKE.DIE_QUIETLY=no
2695
26962020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
2697
2698	* FILES: add LICENSE to appease some packagers.
2699	This is an attempt to fairly represent the license on almost
2700	200 files, which are almost all BSD-3-Clause
2701	The few exceptions being more liberal.
2702
2703	* VERSION (_MAKE_VERSION): 20200610
2704	Merge with NetBSD make, pick up
2705	o unit test for :Or
2706
27072020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
2708
2709	* VERSION (_MAKE_VERSION): 20200606
2710	Merge with NetBSD make, pick up
2711	o make.1: cleanup
2712
2713	* Makefile: fix depends for main.o which broke MAKE_VERSION
2714
27152020-06-05  Simon J Gerraty  <sjg@beast.crufty.net>
2716
2717	* VERSION (_MAKE_VERSION): 20200605
2718	Merge with NetBSD make, pick up
2719	o dir.c: cached_stats - don't confuse stat and lstat results.
2720	o var.c: add :Or for reverse sort.
2721
27222020-05-24  Simon J Gerraty  <sjg@beast.crufty.net>
2723
2724	* configure.in: add AC_PROG_CC_C99 for mipspro compiler
2725	also if --with-filemon= specifies path to filemon.h
2726	set use_filemon=dev
2727	* dirname.c: remove include of namespace.h
2728
27292020-05-17  Simon J Gerraty  <sjg@beast.crufty.net>
2730
2731	* VERSION (_MAKE_VERSION): 20200517
2732	Merge with NetBSD make, pick up
2733	o modified dollar tests to avoid shell dependencies
2734	o new tests for .INCLUDEFROM
2735
27362020-05-16  Simon J Gerraty  <sjg@beast.crufty.net>
2737
2738	* unit-tests/dollar.mk: tweak  '1 dollar literal' test
2739	to not depend so much on shell behavior
2740
27412020-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
2742
2743	* VERSION (_MAKE_VERSION): 20200510
2744	Merge with NetBSD make, pick up
2745	o unit test for dollar handling
2746
27472020-05-06  Simon J Gerraty  <sjg@beast.crufty.net>
2748
2749	* VERSION (_MAKE_VERSION): 20200506
2750	Merge with NetBSD make, pick up
2751	o str.c: empty string does not match % pattern
2752	  plus unit-test changes
2753
27542020-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
2755
2756	* VERSION (_MAKE_VERSION): 20200504
2757	May the 4th be with you
2758	Merge with NetBSD make, pick up
2759	o var.c: import handling of old sysV style modifier using '%'
2760	o str.c: refactor brk_string
2761	o unit-tests: add test case for lazy conditions
2762
27632020-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
2764
2765	* VERSION (_MAKE_VERSION): 20200418
2766
2767	* configure.in: use_makefile=no for Cygwin et al.
2768	case insensitive filesystems just don't work if both
2769	makefile and Makefile exist.
2770	NOTE: bmake does not support Cygwin and likely never will,
2771	but if brave souls want to try it - help them out.
2772
27732020-04-02  Simon J Gerraty  <sjg@beast.crufty.net>
2774
2775	* VERSION (_MAKE_VERSION): 20200402
2776	Merge with NetBSD make, pick up
2777	o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD
2778	  a blank command is perfectly valid.
2779
27802020-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
2781
2782	* VERSION (_MAKE_VERSION): 20200330
2783	Merge with NetBSD make, pick up
2784	o make.h: extern debug_file
2785
27862020-03-18  Simon J Gerraty  <sjg@beast.crufty.net>
2787
2788	* VERSION (_MAKE_VERSION): 20200318
2789	Merge with NetBSD make, pick up
2790	o meta.c: meta_oodate, check for corrupted meta file
2791	  earlier and more often.
2792
27932020-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
2794
2795	* VERSION (_MAKE_VERSION): 20200220
2796
27972020-02-19  Simon J Gerraty  <sjg@beast.crufty.net>
2798
2799	* boot-strap: unset MAKEFLAGS
2800
28012020-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
2802
2803	* VERSION (_MAKE_VERSION): 20200212
2804	* meta.c: meta_compat_parent check for USE_FILEMON
2805	  patch from Soeren Tempel
2806
28072020-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
2808
2809	* VERSION: 20200205
2810	Merge with NetBSD make, pick up
2811	o meta.c: fix compat mode, need to call meta_job_output()
2812	o job.c: extra fds for meta mode not needed if using filemon_dev
2813
28142020-01-22  Simon J Gerraty  <sjg@beast.crufty.net>
2815
2816	* VERSION: 20200122
2817	Merge with NetBSD make, pick up
2818	o meta.c: avoid passing NULL to filemon_*() when meta_needed()
2819	  returns FALSE.
2820
28212020-01-21  Simon J Gerraty  <sjg@beast.crufty.net>
2822
2823	* VERSION: 20200121
2824	Merge with NetBSD make, pick up
2825	o filemon/filemon_{dev,ktrace}.c: allow selection of
2826	  filemon implementation.  filemon_dev.c uses the kernel module
2827	  while filemon_ktrace.c leverages the fktrace api available in
2828	  NetBSD.  filemon_ktrace.c can hopefully form the basis for
2829	  adding support for other tracing mechanisms such as strace on
2830	  Linux.
2831	o meta.c: when target is out-of-date per normal make rules
2832	  record value of .OODATE in meta file.
2833
28342019-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
2835
2836	* VERSION: 20190926
2837	  Merge with NetBSD make, pick up
2838	  o parse.c: don't pass NULL to realpath(3)
2839	    some versions cannot handle it.
2840
28412019-04-09  Simon J Gerraty  <sjg@beast.crufty.net>
2842
2843	* VERSION: 20190409
2844	  Merge with NetBSD make, pick up
2845	  o parse.c: ParseDoDependency: free paths rather than assert
2846
28472018-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
2848
2849	* VERSION: 20181222
2850
2851	* configure.in: add --without-makefile to avoid generating
2852	  makefile and make-bootstrap.sh
2853
2854	* include Makefile.inc if it exists
2855
2856	* Use Makefile and Makefile.config.in in unit-tests
2857	  so we can use just: make obj && make && make test
2858	  when bmake is already available.
2859	  We add --without-makefile to CONFIGURE_ARGS in this case.
2860
2861	* tweak bsd.after-import.mk (captures Makefile.config etc
2862	  after import to FreeBSD for example) to cope with all the above.
2863
28642018-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
2865
2866	* VERSION: 20181221
2867	  Merge with NetBSD make, pick up
2868	  o parse.c: ParseVErrorInternal use .PARSEDIR
2869	    and apply if relative, and then use .PARSEFILE
2870	    for consistent result.
2871
28722018-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
2873
2874	* VERSION: 20181220
2875	  Merge with NetBSD make, pick up
2876	  o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR
2877	    is relative
2878	  o var.c: avoid SEGFAULT in .unexport-env
2879	    when MAKELEVEL is not set
2880
28812018-12-16  Simon J Gerraty  <sjg@beast.crufty.net>
2882
2883	* VERSION: 20181216
2884	  Merge with NetBSD make, pick up
2885	  o fix for unit-tests/varquote.mk on Debian
2886
28872018-09-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2888
2889	* VERSION: 20180919
2890	  Merge with NetBSD make, pick up
2891	  o var.c: add :q
2892	  o dir.c: cleanup caching of stats
2893
28942018-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
2895
2896	* Makefile.config.in: use += where it makes sense.
2897
28982018-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2899
2900	* VERSION: 20180512
2901	  Merge with NetBSD make, pick up
2902	  o job.c: skip polling job token pipe
2903
29042018-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2905
2906	* VERSION: 20180405
2907	  Merge with NetBSD make, pick up
2908	  o parse.c: be more cautious about detecting depenency line
2909	    rather than sysV style include.
2910
29112018-02-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2912
2913	* VERSION: 20180222
2914	  Merge with NetBSD make, pick up
2915	  o parse.c: avoid calling sysconf for every call to loadfile
2916
29172018-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2918
2919	* VERSION: 20180218
2920	  Merge with NetBSD make, pick up
2921	  o var.c: Var_Set handle NULL value anytime.
2922
29232018-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2924
2925	* VERSION: 20180212
2926	  Merge with NetBSD make, pick up
2927	  o parse.c: do not treat .info as warning with -W
2928
29292017-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2930
2931	* VERSION: 20171207
2932	  Merge with NetBSD make, pick up
2933	  o var.c: Var_Append use Var_Set if var not previously set
2934	    so that VAR_CMD is handled correctly.
2935	    Add a suitable unit-test.
2936
29372017-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2938
2939	* VERSION (_MAKE_VERSION): 20171126
2940
2941	* aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
2942	  since AC_TRY_COMPILE puts input inside main()
2943	  which upsets modern compilers.
2944
29452017-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2946
2947	* VERSION: 20171118
2948	  Merge with NetBSD make, pick up
2949	  o var.c: do not append to variable set on command line
2950	    add unit-test to catch this.
2951
29522017-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2953
2954	* VERSION: 20171028
2955	  Merge with NetBSD make, pick up
2956	  o main.c: ignore empty MAKEOBJDIR
2957
2958	* Makefile.config.in:
2959	  make @prefix@ @machine*@ and @default_sys_path@ defaults.
2960
29612017-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2962
2963	* VERSION: 20171005
2964
2965	* unit-tests/dotwait.mk: redirect stderr through pipe for more
2966	  consistent result on some platforms.
2967
29682017-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2969
2970	* machine.sh: entry for AIX
2971
29722017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2973
2974	* VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
2975	  to a file that can be included by configure as well as make.
2976	  This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
2977
29782017-08-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2979
2980	* Makefile (_MAKE_VERSION): 20170810
2981	  Merge with NetBSD make, pick up
2982	  o meta.c: if target is in subdir we only need subdir name in
2983	    meta_name.
2984
29852017-07-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2986
2987	* Makefile (_MAKE_VERSION): 20170720
2988	  Merge with NetBSD make, pick up
2989	  o compat.c: pass SIGINT etc onto child and wait for it to exit
2990	    before we self-terminate.
2991
29922017-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2993
2994	* Makefile (_MAKE_VERSION): 20170711
2995	  forgot to update after merge on 20170708 ;-)
2996	  o main.c: refactor to reduce size of main function.
2997	    add -v option to always fully expand values.
2998	  o meta.c: ensure command output in meta file has ending newline
2999	    even when filemon not being used.
3000	    When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
3001	    pathname via ':L' since any ':' in pathname breaks that.
3002	    Instead set a '${.p.}' to pathname in the target context and
3003	    use that.
3004
30052017-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3006
3007	* Makefile (_MAKE_VERSION): 20170510
3008	  Merge with NetBSD make, pick up
3009	  o main.c: Main_SetObjdir: ensure buf2 is in scope
3010
30112017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
3012
3013	* Makefile (_MAKE_VERSION): 20170505
3014	  see mk/ChangeLog
3015
30162017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3017
3018	* parse.c: not everyone has stdint.h
3019
30202017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3021
3022	* Makefile (_MAKE_VERSION): 20170501
3023	  see mk/ChangeLog
3024
30252017-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
3026
3027	* Makefile (_MAKE_VERSION): 20170421
3028	  Merge with NetBSD make, pick up
3029	  o str.c: Str_Match: fix closure tests for [^] and add unit-test.
3030
30312017-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3032
3033	* Makefile (_MAKE_VERSION): 20170420
3034	  Merge with NetBSD make, pick up
3035	  o main.c: only use -C arg "as is" if it contains no
3036	    relative component.
3037
30382017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3039
3040	* Makefile (_MAKE_VERSION): 20170418
3041	  Merge with NetBSD make, pick up
3042	  o main.c: fix Main_SetObjdir() for relative paths (eg obj).
3043
30442017-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
3045
3046	* Makefile (_MAKE_VERSION): 20170417
3047	  Merge with NetBSD make, pick up
3048	  o fixes a number of coverity complaints
3049	    - check return value of fseek, fcntl
3050	    - plug memory leak in Dir_FindFile, Var_LoopExpand,
3051	      JobPrintCommand, ParseTraditionalInclude
3052	    - use bmake_malloc() where NULL is not tollerated
3053	    - use MAKE_ATTR_UNUSED rather that kludges like
3054	      return(unused ? 0 : 0)
3055	    - use purge_cached_realpaths() rather than abuse cached_realpath()
3056
30572017-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3058
3059	* Makefile (_MAKE_VERSION): 20170413
3060	  Merge with NetBSD make, pick up
3061	  o main.c: when setting .OBJDIR ignore '$' in paths.
3062
3063	* job.c: use MALLOC_OPTIONS to set malloc_options.
3064
30652017-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3066
3067	* Makefile (_MAKE_VERSION): 20170411
3068	  Merge with NetBSD make, pick up
3069	  o str.c: Str_Match: allow [^a-z] to behave as expected.
3070
30712017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3072
3073	* Makefile (_MAKE_VERSION): 20170326
3074	  Merge with NetBSD make, pick up
3075	  o main.c: purge relative paths from realpath cache when .OBJDIR
3076	    is changed.
3077
30782017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3079
3080	* Makefile (_MAKE_VERSION): 20170311
3081	  Merge with NetBSD make, pick up
3082          o main.c: only use -C arg "as is" if it starts with '/'.
3083
30842017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3085
3086	* Makefile (_MAKE_VERSION): 20170301
3087	  Merge with NetBSD make, pick up
3088	  o main.c: use -C arg "as is" rather than getcwd()
3089	    if they identify the same directory.
3090	  o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
3091
30922017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3093
3094	* Makefile (_MAKE_VERSION): 20170201
3095	  Merge with NetBSD make, pick up
3096	  o var.c: allow :_=var and avoid use of special context.
3097
30982017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3099
3100	* Makefile (_MAKE_VERSION): 20170130
3101	  Merge with NetBSD make, pick up
3102	  o var.c: add :range and :_
3103	  o main.c: partially initialize Dir_* before MainParseArgs()
3104	    can be called.
3105	    If -V, skip Main_ExportMAKEFLAGS()
3106
31072017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
3108
3109	* Makefile (_MAKE_VERSION): 20170114
3110	  Merge with NetBSD make, pick up
3111	  o var.c: allow specifying the utc value used by :{gm,local}time
3112
31132016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3114
3115	* Makefile (_MAKE_VERSION): 20161212
3116	  Merge with NetBSD make, pick up
3117          o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
3118
31192016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3120
3121	* Makefile (_MAKE_VERSION): 20161209
3122	  Merge with NetBSD make, pick up
3123	  o main.c: cleanup setting of .OBJDIR
3124	  o parse.c: avoid coredump from (var)=val
3125
31262016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3127
3128	* Makefile (_MAKE_VERSION): 20161126
3129	  Merge with NetBSD make, pick up
3130	  o make.c: Make_OODate: report src node name if path not set
3131
31322016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3133
3134	* Makefile (_MAKE_VERSION): 20160926
3135	  Merge with NetBSD make, pick up
3136	  o support for .DELETE_ON_ERROR: (remove targets that fail)
3137
31382016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3139
3140	* Makefile MAN: tweak .Dt to match ${PROG}
3141
31422016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3143
3144	* Makefile (_MAKE_VERSION): 20160818
3145	  its a neater number; pick up whitespace fixes to man page.
3146
31472016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
3148
3149	* Makefile (_MAKE_VERSION): 20160817
3150	  Merge with NetBSD make, pick up
3151	  o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
3152	    so we can call it before adding entries to missingFiles.
3153	    Thus we do not track files we have been told to ignore.
3154
31552016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
3156
3157	* Makefile (_MAKE_VERSION): 20160815
3158	  Merge with NetBSD make, pick up
3159	  o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
3160	    pathnames, and skip if the expansion is empty.
3161	    Useful for dirdeps.mk when checking DIRDEPS_CACHE.
3162
31632016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3164
3165	* Makefile (_MAKE_VERSION): 20160812
3166	  Merge with NetBSD make, pick up
3167	  o meta.c: remove all missingFiles entries that match a deleted
3168	    dir.
3169	  o main.c: set .ERROR_CMD if possible.
3170
31712016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3172
3173	* Makefile (_MAKE_VERSION): 20160606
3174	  Merge with NetBSD make, pick up
3175	  o dir.c: extend mtimes cache to others via cached_stat()
3176
31772016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3178
3179	* Makefile (_MAKE_VERSION): 20160604
3180	  Merge with NetBSD make, pick up
3181	  o meta.c: missing filemon data is only relevant if we read a
3182	    meta file.
3183	    Also do not return oodate for a missing metafile if gn->path
3184	    points to .CURDIR
3185
31862016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3187
3188	* Makefile (_MAKE_VERSION): 20160602
3189	  Merge with NetBSD make, pick up
3190	  o cached_realpath(): avoid hitting filesystem more than necessary.
3191	  o meta.c: refactor need_meta decision, add knobs for
3192	    missing meta file and filemon data wrt out-of-datedness.
3193
31942016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3195
3196	* Makefile (_MAKE_VERSION): 20160528
3197
3198	* boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
3199
32002016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3201
3202	* Makefile (_MAKE_VERSION): 20160512
3203	  Merge with NetBSD make, pick up
3204	  o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
3205	    this is useful for gcov builds.
3206	  o propagate errors from filemon(4).
3207
32082016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3209
3210	* Makefile (_MAKE_VERSION): 20160509
3211	  Merge with NetBSD make, pick up
3212	  o remove use of non-standard types u_int etc.
3213	  o meta.c: apply realpath() before matching against metaIgnorePaths
3214
32152016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3216
3217	* Makefile (_MAKE_VERSION): 20160404
3218	  Merge with NetBSD make, pick up
3219	  o allow makefile to set .MAKE.JOBS
3220
3221	* Makefile (PROG_NAME): use ${_MAKE_VERSION}
3222
32232016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
3224
3225	* Makefile (_MAKE_VERSION): 20160315
3226	  Merge with NetBSD make, pick up
3227	  o fix handling of archive members
3228
32292016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3230
3231	* Makefile (_MAKE_VERSION): rename variable to avoid interference
3232	  with checks for ${MAKE_VERSION}
3233
32342016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3235
3236	* Makefile (MAKE_VERSION): 20160310
3237	  Merge with NetBSD make, pick up
3238	  o meta.c: treat missing Read file same as Write, incase we Delete it.
3239
32402016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3241
3242	* Makefile (MAKE_VERSION): 20160307
3243	  Merge with NetBSD make, pick up
3244	  o var.c: fix :ts\nnn to be octal by default.
3245	  o meta.c: meta_finish() to cleanup memory.
3246
32472016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3248
3249	* Makefile (MAKE_VERSION): 20160226
3250	  Merge with NetBSD make, pick up
3251	  o meta.c: allow meta file for makeDepend if makefiles want it.
3252
32532016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
3254
3255	* var.c: default .MAKE.SAVE_DOLLARS to FALSE
3256	  for backwards compatability.
3257
3258	* Makefile (MAKE_VERSION): 20160220
3259	  Merge with NetBSD make, pick up
3260	  o var.c: add knob to control handling of '$$' in :=
3261
32622016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3263
3264	* Makefile (MAKE_VERSION): 20160218
3265	  Merge with NetBSD make, pick up
3266	  o var.c: add .export-literal allows us to fix sys.clean-env.mk
3267	    post the changes to Var_Subst.
3268	    Var_Subst now takes flags, and does not consume '$$' in :=
3269
32702016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
3271
3272	* Makefile (MAKE_VERSION): 20160217
3273	  Merge with NetBSD make, pick up
3274	  o var.c: preserve '$$' in :=
3275	  o parse.c: add .dinclude for handling included
3276	    makefile like .depend
3277
32782015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3279
3280	* Makefile (MAKE_VERSION): 20151220
3281	  Merge with NetBSD make, pick up
3282	  o suff.c: re-initialize suffNull when clearing suffixes.
3283
32842015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3285
3286	* Makefile (MAKE_VERSION): 20151201
3287	  Merge with NetBSD make, pick up
3288	  o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
3289	  o meta.c: meta_oodate: use lstat(2) for checking link target
3290	    in case it is a symlink.
3291	  o var.c: avoid calling brk_string and Var_Export1 with empty
3292	    strings.
3293
32942015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3295
3296	* Makefile (MAKE_VERSION): 20151126
3297	  Merge with NetBSD make, pick up
3298	  o parse.c: ParseTrackInput don't access beyond
3299	    end of old value.
3300
33012015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3302
3303	* Makefile (MAKE_VERSION): 20151022
3304
3305	* Add support for BSD/OS which lacks inttypes.h
3306	  and really needs sys/param.h for sys/sysctl.h
3307	  also 'type' is not a shell builtin.
3308
3309	* var.c: eliminate uint32_t and need for inttypes.h
3310
3311	* main.c: PrintOnError flush stdout before run .ERROR
3312
3313	* parse.c: cope with _SC_PAGESIZE not being defined.
3314
3315
33162015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3317
3318	* Makefile (MAKE_VERSION): 20151020
3319	  Merge with NetBSD make, pick up
3320	  o var.c: fix uninitialized var
3321
33222015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3323
3324	* var.c: the conditional expressions used with ':?' can be
3325	expensive, if already discarding do not evaluate or expand
3326	anything.
3327
33282015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3329
3330	* Makefile (MAKE_VERSION): 20151010
3331	  Merge with NetBSD make, pick up
3332	  o Add Boolean wantit flag to Var_Subst and Var_Parse
3333	    when FALSE we know we are discarding the result and can
3334	    skip operations like Cmd_Exec.
3335
33362015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3337
3338	* Makefile (MAKE_VERSION): 20151009
3339	  Merge with NetBSD make, pick up
3340	  o var.c: don't check for NULL before free()
3341	  o meta.c: meta_oodate, do not hard code ignore of makeDependfile
3342
33432015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3344
3345	* Makefile (MAKE_VERSION): 20150910
3346	  Merge with NetBSD make, pick up
3347	  o main.c: with -w print Enter/Leaving messages for objdir too
3348	    if necessary.
3349	  o centralize shell metachar handling
3350
3351	* FILES: add metachar.[ch]
3352
33532015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3354
3355	* Makefile (MAKE_VERSION): 20150606
3356	  Merge with NetBSD make, pick up
3357	  o make.1: document .OBJDIR target
3358
33592015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3360
3361	* Makefile (MAKE_VERSION): 20150505
3362	  Merge with NetBSD make, pick up
3363	  o cond.c: be strict about lhs of comparison when evaluating .if
3364	    but less so when called from variable expansion.
3365	  o unit-tests/cond2.mk: test various error conditions
3366
33672015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3368
3369	* machine.sh (MACHINE): Add Bitrig
3370	  patch from joerg@netbsd.org
3371
33722015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3373
3374	* Makefile (MAKE_VERSION): 20150418
3375	  Merge with NetBSD make, pick up
3376	  o job.c: use memmove() rather than memcpy()
3377
3378	* unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
3379	  case, so skip it.
3380
33812015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3382
3383	* Makefile (MAKE_VERSION): 20150411
3384	  bump version - only mk/ changes.
3385
33862015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3387
3388	* Makefile (MAKE_VERSION): 20150410
3389	  Merge with NetBSD make, pick up
3390	  o document different handling of '-' in jobs mode vs compat
3391	  o fix jobs mode so that '-' only applies to whole job
3392	    when shell lacks hasErrCtl
3393	  o meta.c: use separate vars to track lcwd and latestdir (read)
3394	    per process
3395
33962015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3397
3398	* Makefile (MAKE_VERSION): 20150401
3399	  Merge with NetBSD make, pick up
3400	  o meta.c: close meta file in child
3401
3402	* Makefile: use BINDIR.bmake if set.
3403	  Same for MANDIR and SHAREDIR
3404	  Handy for testing release candidates
3405	  in various environments.
3406
34072015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3408
3409	* move initialization of savederr to block where it is used
3410	  to avoid spurious warning from gcc5
3411
34122014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3413
3414	* Makefile (MAKE_VERSION): 20141111
3415	  just a cooler number
3416
34172014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3418
3419	* Makefile (MAKE_VERSION): 20141105
3420	  Merge with NetBSD make, pick up
3421	  o revert major overhaul of suffix handling
3422	    and POSIX compliance - too much breakage
3423	    and impossible to make backwards compatible.
3424	  o we still have the new unit test structure which is ok.
3425	  o meta.c ensure "-- filemon" is at start of line.
3426
34272014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
3428
3429	* configure.in: test that result of getconf PATH_MAX is numeric
3430	  and discard if not.  Apparently needed for Hurd.
3431
34322014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3433
3434	* Makefile (MAKE_VERSION): 20140830
3435	  Merge with NetBSD make, pick up
3436	  o major overhaul of suffix handling
3437	  o improved POSIX compliance
3438	  o overhauled unit-tests
3439
34402014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3441
3442	* Makefile (MAKE_VERSION): 20140620
3443	  Merge with NetBSD make, pick up
3444	  o var.c return varNoError rather than var_Error for ::= modifiers.
3445
34462014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3447
3448	* Makefile (MAKE_VERSION): 20140522
3449	  Merge with NetBSD make, pick up
3450	  o var.c detect some parse errors.
3451
34522014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3453
3454	* Fix spelling errors - patch from Pedro Giffuni
3455
34562014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
3457
3458	* Makefile (MAKE_VERSION): 20140214
3459	  Merge with NetBSD make, pick up
3460	  o .INCLUDEFROM*
3461	  o use Var_Value to get MAKEOBJDIR[PREFIX]
3462	  o reduced realloc'ign in brk_string.
3463	* configure.in: add a check for compiler supporting __func__
3464
34652014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
3466
3467	* boot-strap: ignore mksrc=none
3468
34692014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3470
3471	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
3472
34732014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3474
3475	* Makefile (MAKE_VERSION): 20140101
3476	* configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
3477	* Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
3478	* make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
3479	  Hurd)
3480	* configure.in: Add AC_PREREQ and check for
3481	  sysctl; patch from Andrew Shadura andrewsh at debian.org
3482
34832013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
3484
3485	* Makefile (MAKE_VERSION): 20131010
3486	* lose the const from arg to systcl to avoid problems on older BSDs.
3487
34882013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3489
3490	* Makefile (MAKE_VERSION): 20131001
3491	  Merge with NetBSD make, pick up
3492	  o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
3493	    hw.machine_arch if necessary.
3494	  o meta.c: meta_oodate - need to look at src of Link and target
3495	    of Move as well.
3496	* main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
3497	  provide __arraycount() if needed.
3498
34992013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3500
3501	* Makefile (MAKE_VERSION): 20130904
3502	  Merge with NetBSD make, pick up
3503	  o Add VAR_INTERNAL context, so that internal setting of
3504	    MAKEFILE does not override value set by makefiles.
3505
35062013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3507
3508	* Makefile (MAKE_VERSION): 20130902
3509	  Merge with NetBSD make, pick up
3510	  o CompatRunCommand: only apply shellErrFlag when errCheck is true
3511
35122013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3513
3514	* Makefile (MAKE_VERSION): 20130828
3515	  Merge with NetBSD make, pick up
3516	  o Fix VAR :sh = syntax from Will Andrews at freebsd.org
3517	  o Call Job_SetPrefix() from Job_Init() so makefiles have
3518	    opportunity to set .MAKE.JOB.PREFIX
3519
35202013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3521
3522	* Makefile (MAKE_VERSION): 20130730
3523	  Merge with NetBSD make, pick up
3524	  o Allow suppression of --- job -- tokens by setting
3525	    .MAKE.JOB.PREFIX empty.
3526
35272013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
3528
3529	* Makefile (MAKE_VERSION): 20130716
3530	  Merge with NetBSD make, pick up
3531	  o number of gmake compatibility tweaks
3532	    -w for gmake style entering/leaving messages
3533	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
3534	    handle MAKEFLAGS containing only letters.
3535	  o when overriding a GLOBAL variable on the command line,
3536	    delete it from GLOBAL context so -V doesn't show the wrong
3537	    value.
3538
35392013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3540
3541	* configure.in: We don't need MAKE_LEVEL_SAFE anymore.
3542
3543	* Makefile (MAKE_VERSION): 20130706
3544	  Merge with NetBSD make, pick up
3545	  o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
3546	    true so that CompatRunCommand() can use it, to ensure
3547	    consistent behavior with jobs mode.
3548	  o use MAKE_LEVEL_ENV to define the variable to propagate
3549	    .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
3550	  o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
3551	    paths to ignore.
3552
35532013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3554
3555	* Makefile (MAKE_VERSION): 20130604
3556	  Merge with NetBSD make, pick up
3557	  o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
3558	    to avoid leaking descriptors.
3559
35602013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3561
3562	* Makefile (MAKE_VERSION): 20130528
3563	  Merge with NetBSD make, pick up
3564	  o var.c: cleanup some left-overs in VarHash()
3565
35662013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3567
3568	* Makefile (MAKE_VERSION): 20130520
3569	  generate manifest from component FILES rather than have to
3570	  update FILES when mk/FILES changes.
3571
35722013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3573
3574	* Makefile (MAKE_VERSION): 20130518
3575	  Merge with NetBSD make, pick up
3576	  o suff.c: don't skip all processsing for .PHONY targets
3577	    else wildcard srcs do not get expanded.
3578	  o var.c: expand name of variable to delete if necessary.
3579
35802013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3581
3582	* Makefile (MAKE_VERSION): 20130330
3583	  Merge with NetBSD make, pick up
3584	  o meta.c: refine the handling of .OODATE in commands.
3585	    Rather than suppress command comparison for the entire script
3586	    as though .NOMETA_CMP had been used, only suppress it for the
3587	    one command line.
3588	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
3589	    suppress comparison of a command without otherwise affecting it.
3590	  o make.1: document that
3591
35922013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3593
3594	* Makefile (MAKE_VERSION): 20130321
3595	  yes, not quite right but its a cooler number.
3596	  Merge with NetBSD make, pick up
3597	  o parse.c: fix ParseGmakeExport to be portable
3598	    and add a unit-test.
3599	* meta.c: call meta_init() before makefiles are read and if built
3600	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
3601	  this let's makefiles test for support.
3602	  Call meta_mode_init() to process .MAKE.MODE.
3603
36042013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3605
3606	* Makefile (MAKE_VERSION): 20130305
3607	  Merge with NetBSD make, pick up
3608	  o run .STALE: target when a dependency from .depend is missing.
3609	  o job.c: add Job_RunTarget() for the above and .BEGIN
3610
36112013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
3612
3613	* Makefile (MAKE_VERSION): 20130303
3614	  Merge with NetBSD make, pick up
3615	  o main.c: set .MAKE.OS to utsname.sysname
3616	  o job.c: more checks for read and poll errors
3617	  o var.c: lose VarChangeCase() saves 4% time
3618
36192013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3620
3621	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
3622	  want to use MAKEOBJDIR
3623
36242013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
3625
3626	* Merge with NetBSD make, pick up
3627	  o make.1: more info on how shell commands are handled.
3628	  o job.c,main.c: detect write errors to job pipes.
3629
36302013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3631
3632	* Makefile (MAKE_VERSION): 20130123
3633	  Merge with NetBSD make, pick up
3634	  o meta.c: if script uses .OODATE and meta_oodate() decides
3635	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
3636	  o var.c: in debug output indicate which variabale modifiers
3637	    apply to.
3638	  o remove Check_Cwd logic the makefiles have been fixed.
3639
36402012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3641
3642	* makefile.in: add a simple makefile for folk who insist on
3643	  ./configure; make; make install
3644	  it just runs boot-strap
3645	* include mk/* to accommodate the above
3646	* boot-strap:  re-work to accommodate the above
3647	  mksrc defaults to $Mydir/mk
3648	  allow op={configure,build,install,clean,all}
3649	  add options to facilitate install
3650	* Makefile.config.in: just the bits set by configure
3651	* Makefile: bump version to 20121212
3652	  abandon Makefile.in (NetBSD Makefile)
3653	  leverage mk/* instead
3654	* configure.in: ensure srcdir is absolute
3655
36562012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3657
3658	* Makefile.in (MAKE_VERSION): 20121111
3659	  fix generation of bmake.cat1
3660
36612012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3662
3663	* Makefile.in (MAKE_VERSION): 20121109
3664	  Merge with NetBSD make, pick up
3665	  o make.c: MakeBuildChild: return 0 so search continues if a
3666	    .ORDER dependency is detected.
3667	  o unit-tests/order: test the above
3668
36692012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3670
3671	* Makefile.in (MAKE_VERSION): 20121102
3672	  Merge with NetBSD make, pick up
3673	  o cond.c: allow cond_state[] to grow.
3674	    In meta mode with a very large tree, we can hit the limit
3675	    while processing dirdeps.
3676
36772012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3678
3679	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
3680
36812012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3682
3683	* Makefile.in (MAKE_VERSION): 20121010
3684	  o protect syntax that only bmake parses correctly.
3685	  o remove auto setting of FORCE_MACHINE, use configure's
3686	    --with-force-machine=whatever if that is desired.
3687
36882012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
3689
3690	* Makefile.in: do not lose history from make.1 when generating bmake.1
3691
36922012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3693
3694	* Makefile.in (MAKE_VERSION): 20121007
3695	  Merge with NetBSD make, pick up
3696	  o compat.c: ignore empty commands - same as jobs mode.
3697	  o make.1: document meta chars that cause use of shell
3698
36992012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3700
3701	* Makefile.in (MAKE_VERSION): bump version to 20120911
3702	* bsd.after-import.mk: include Makefile.inc early and allow it to
3703	  override PROG
3704
37052012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
3706
3707	* Makefile.in (MAKE_VERSION): bump version to 20120831
3708	  Merge with NetBSD make, pick up
3709	  o cast sizeof() to int for comparison
3710	  o minor make.1 tweak
3711
37122012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3713
3714	* Makefile.in (MAKE_VERSION): bump version to 20120830
3715	  Merge with NetBSD make, pick up
3716	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
3717	  o debug flag -dV causes -V to show raw value regardless.
3718
37192012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3720
3721	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
3722	  gets SRCTOP set.
3723
37242012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3725
3726	* Makefile.in (MAKE_VERSION): bump version to 20120704
3727	  Merge with NetBSD make, pick up
3728	  o Job_ParseShell should call Shell_Init if it has been
3729	    previously called.
3730	* Makefile.in: set USE_META based on configure result.
3731	  also .PARSEDIR is safer indicator of bmake.
3732
37332012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3734
3735	* Makefile.in: bump version to 20120626
3736	  ensure CPPFLAGS is in CFLAGS
3737	* meta.c: avoid nested externs
3738	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
3739
37402012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3741
3742	* Makefile.in (MAKE_VERSION): bump version to 20120620
3743	  Merge with NetBSD make, pick up
3744	  o make_malloc.c: avoid including make_malloc.h again
3745
3746	* Makefile.in: avoid bmake only syntax or protect with
3747	  .if defined(.MAKE.LEVEL)
3748	* bsd.after-import.mk: replace .-include with .sinclude
3749	  ensure? SRCTOP gets a value
3750	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
3751
37522012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
3753
3754	* Makefile.in (MAKE_VERSION): bump version to 20120612
3755	  Merge with NetBSD make, pick up
3756	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
3757	    for greater portability.
3758	  o unit-tests/forloop: check that .for works as expected wrt
3759	    number of times and with "quoted strings".
3760
37612012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3762
3763	* Makefile.in (MAKE_VERSION): bump version to 20120606
3764	  Merge with NetBSD make, pick up
3765	  o compat.c: use kill(2) rather than raise(3).
3766	* configure.in: look for sys/dev/filemon
3767	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
3768	  and pass BOOTSTRAP_XTRAS to boot-strap.
3769
37702012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3771
3772	* Makefile.in (MAKE_VERSION): bump version to 20120604
3773	  Merge with NetBSD make, pick up
3774	  o util.c and var.c share same var for tracking if environ
3775	    has been reallocated.
3776	  o util.c provide getenv with setenv.
3777	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
3778	  when the shell actively strips .MAKE.* from the environment.
3779	  We still refer to the variable always as .MAKE.LEVEL
3780	* util.c fix bug in findenv() was finding prefix of name.
3781	* compat.c: re-raising SIGINT etc after running .INTERRUPT
3782	  results in more reliable termination of all activity on many
3783	  platforms.
3784
37852012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3786
3787	* Makefile.in (MAKE_VERSION): bump version to 20120602
3788	  Merge with NetBSD make, pick up
3789	  o for.c: handle quoted items in .for list
3790
37912012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3792
3793	* Makefile.in (MAKE_VERSION): bump version to 20120530
3794	  Merge with NetBSD make, pick up
3795	  o compat.c: ignore empty command.
3796
37972012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
3798
3799	* Makefile.in (MAKE_VERSION): bump version to 20120524
3800	* FILES: add bsd.after-import.mk:
3801	  A simple means of integrating bmake into a BSD build system.
3802
38032012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3804
3805	* Makefile.in (MAKE_VERSION): bump version to 20120520
3806	  Merge with NetBSD make, pick up
3807	  o increased limit for nested conditionals.
3808
38092012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3810
3811	* Makefile.in (MAKE_VERSION): bump version to 20120518
3812	  Merge with NetBSD make, pick up
3813	  o use _exit(2) in signal hanlder
3814	  o Don't use the [dir] cache when building nodes that might have
3815	    changed since the last exec.
3816	  o Avoid nested extern declaration warnings.
3817
38182012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
3819
3820	* meta.c (fgetLine): avoid %z - not portable.
3821	* parse.c: Since we moved include of sys/mman.h
3822	  and def's of MAP_COPY etc. we got dups from a merge.
3823
38242012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
3825
3826	* Makefile.in (MAKE_VERSION): bump version to 20120420
3827	  Merge with NetBSD make, pick up
3828	  o restore duplicate supression in .MAKE.MAKEFILES
3829	    runtime saving can be significant.
3830	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
3831	    consumption up to 20%.
3832
38332012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3834
3835	* Makefile.in (MAKE_VERSION): bump version to 20120420
3836          Merge with NetBSD make, pick up
3837	  o remove duplicate supression in .MAKE.MAKEFILES
3838	  o improved dir cache behavior
3839	  o gmake'ish export command
3840
38412012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3842
3843	* Makefile.in (MAKE_VERSION): bump version to 20120325
3844	  Merge with NetBSD make, pick up
3845	  o fix parsing of :[#] in conditionals.
3846
38472012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3848
3849	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
3850	  since some systems cannot cope with .Nx <version>
3851
38522011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
3853
3854	* Makefile.in (MAKE_VERSION): bump version to 20111111
3855	  Merge with NetBSD make, pick up
3856	  o debug output for .PARSEDIR and .PARSEFILE
3857
38582011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3859
3860	* Makefile.in (MAKE_VERSION):  bump version to 20111010
3861
38622011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3863
3864	* boot-strap: check for an expected file in the dirs we look for.
3865	* make-bootstrap.sh: pass on LDSTATIC
3866
38672011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3868
3869	* Makefile.in (MAKE_VERSION): bump version to 20111001
3870	  Merge with NetBSD make, pick up
3871	  o ensure .PREFIX is set for .PHONY
3872	    and .TARGET set for .PHONY run via .END
3873	  o __dead used consistently
3874
38752011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3876
3877	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
3878
38792011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3880
3881	* Makefile.in (MAKE_VERSION): bump version to 20110905
3882	  Merge with NetBSD make, pick up
3883	  o meta_oodate: ignore makeDependfile
3884
38852011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3886
3887	* Makefile.in (MAKE_VERSION): bump version to 20110828
3888	  Merge with NetBSD make, pick up
3889	  o silent=yes in .MAKE.MODE causes meta mode to mark targets
3890	    as SILENT if a .meta file is created
3891
38922011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3893
3894	* Makefile.in (MAKE_VERSION): bump version to 20110818
3895	  Merge with NetBSD make, pick up
3896	  o in meta mode, if target flagged .META a missing .meta file
3897	    means target is out-of-date
3898	  o fixes for gcc 4.5 warnings
3899	  o simplify job printing code
3900
39012011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3902
3903	* Makefile.in (MAKE_VERSION): bump version to 20110808
3904	  Merge with NetBSD make, pick up
3905	  o do not touch OP_SPECIAL targets when doing make -t
3906
39072011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3908
3909	* Makefile.in (MAKE_VERSION): bump version to 20110622
3910	  Merge with NetBSD make, pick up
3911	  o meta_oodate detect corrupted .meta file and declare oodate.
3912	* configure.in: add check for setsid
3913
39142011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3915
3916	* Merge with NetBSD make, pick up
3917	  o unit-tests/modts now works on MirBSD
3918
39192011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3920
3921	* Makefile.in (MAKE_VERSION): bump version to 20110606
3922	  Merge with NetBSD make, pick up
3923	  o ApplyModifiers: when we parse a variable which is not
3924	    the entire modifier string, or not followed by ':', do not
3925	    consider it as containing modifiers.
3926	  o loadfile: ensure newline at end of mapped file.
3927
39282011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3929
3930	* Makefile.in (MAKE_VERSION): bump version to 20110505
3931	  Merge with NetBSD make, pick up
3932	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
3933	    of make's control.  In meta mode, any generated file within
3934	    said bailiwick, which  is found to be missing, causes current
3935	    target to be out-of-date.
3936
39372011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3938
3939	* Makefile.in (MAKE_VERSION): bump version to 20110411
3940	  Merge with NetBSD make, pick up
3941	  o when long modifiers fail to match, check sysV style.
3942	    - add a test case
3943
39442011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3945
3946	* Makefile.in (MAKE_VERSION): bump version to 20110410
3947	  Merge with NetBSD make, pick up
3948	  o :hash - cheap 32bit hash of value
3949	  o :localtime, :gmtime - use value as format string for strftime.
3950
39512011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3952
3953	* Makefile.in (MAKE_VERSION): bump version to 20110330
3954	  mostly because its a cooler version.
3955	  Merge with NetBSD make, pick up
3956	  o NetBSD tags for meta.[ch]
3957	  o job.c call meta_job_finish() after meta_job_error().
3958	  o meta_job_error() should call meta_job_finish() to ensure
3959	    .meta file is closed, and safe to copy - if .ERROR target wants.
3960	   meta_job_finish() is safe to call repeatedly.
3961
39622011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
3963
3964	* unit-tests/modts: use printf if it is a builtin,
3965	  to save us from MirBSD
3966
3967	* Makefile.in (MAKE_VERSION): bump version to 20110329
3968	  Merge with NetBSD make, pick up
3969	  o fix for use after free() in CondDoExists().
3970	  o meta_oodate() report extra commands and return earlier.
3971
39722011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
3973
3974	* Makefile.in (MAKE_VERSION): bump version to 20110327
3975	  Merge with NetBSD make, pick up
3976	  o meta.c, if .MAKE.MODE contains curdirOk=yes
3977	    allow creating .meta files in .CURDIR
3978	* boot-strap (TOOL_DIFF): aparently at least on linux distro
3979	  formats the output of 'type' differently - so eat any "()"
3980
39812011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3982
3983	* Makefile.in (MAKE_VERSION): bump version to 20110306
3984	  Merge with NetBSD make, pick up
3985	  o meta.c, only do getcwd() once
3986
39872011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3988
3989	* Makefile.in (MAKE_VERSION): bump version to 20110305
3990	  Merge with NetBSD make, pick up
3991	  o correct sysV substitution handling of empty lhs and variable
3992	  o correct exists() check for dir with trailing /
3993	  o correct handling of modifiers for non-existant variables
3994	    during evaluation of conditionals.
3995	  o ensure MAP_FILE is defined.
3996	  o meta.c use curdir[] now exported by main.c
3997
39982011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3999
4000	* Makefile.in (MAKE_VERSION): bump version to 20110225
4001	  Merge with NetBSD make, pick up
4002	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
4003	    makefiles have been read.
4004	  o fix example of :? modifier in man page.
4005
40062011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
4007
4008	* Makefile.in (MAKE_VERSION): bump version to 20110214
4009	  Merge with NetBSD make, pick up
4010	  o meta.c handle realpath() failing when generating meta file
4011	    name.
4012
4013	* sigcompat.c: convert to ansi so we can use higher warning levels.
4014
4015
40162011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
4017
4018	* Makefile.in (MAKE_VERSION): bump version to 20110207
4019	  Merge with NetBSD make, pick up
4020	  o fix for bug in meta mode.
4021
40222011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
4023
4024	* parse.c: SunOS 5.8 at least does not have MAP_FILE
4025
40262011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
4027
4028	* Makefile.in (MAKE_VERSION): bump version to 20110101
4029	  Merge with NetBSD make, pick up
4030	  o use mmap(2) if available, for reading makefiles
4031
40322010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
4033
4034	* Makefile.in (MAKE_VERSION): bump version to 20101215
4035	  Merge with NetBSD make, pick up
4036	  o ensure meta_job_error() does not report a previous .meta file
4037	    as being culprit.
4038
40392010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
4040
4041	* Makefile.in (MAKE_VERSION): bump version to 20101210
4042	  Merge with NetBSD make, pick up
4043	  o meta_oodate: track cwd per process, and only consider target
4044	    out-of-date if missing file is outside make's CWD.
4045	    Ignore files in /tmp/ etc.
4046	  o to ensure unit-tests results match, need to control LC_ALL
4047	    as well as LANG.
4048	  o fix for parsing bug in var.c
4049
40502010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
4051
4052	* Makefile.in (MAKE_VERSION): bump version to 20101126
4053	  Merge with NetBSD make, pick up
4054	  o if stale dependency is an IMPSRC, search via .PATH
4055	  o meta_oodate: if a referenced file is missing, target is
4056	    out-of-date.
4057	  o meta_oodate: if a target uses .OODATE in its commands,
4058	    it (.OODATE) needs to be recomputed.
4059	  o keep a pointer to youngest child node, rather than just its
4060	    mtime.
4061
40622010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
4063
4064	* Makefile.in (MAKE_VERSION): bump version to 20101101
4065
40662010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
4067
4068	* machine.sh: like os.sh,
4069	allow for uname -p producing useless drivel
4070
40712010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
4072
4073	* boot-strap: document configure knobs for meta and filemon.
4074
4075	* Makefile.in (MAKE_VERSION): bump version to 20100911
4076	  Merge with NetBSD make, pick up
4077	  o meta.c - meta mode
4078
4079	* make-bootstrap.sh.in: handle meta.c
4080	* configure.in: add knobs for use_meta and filemon_h
4081	  also, look for dirname, str[e]sep and strlcpy
4082	* util.c: add simple err[x] and warn[x]
4083
40842010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
4085
4086	* boot-strap (TOOL_DIFF): set this to ensure tests use
4087	  the same version of diff that configure tested
4088
4089	* Makefile.in (MAKE_VERSION): bump version to 20100808
4090	  Merge with NetBSD make, pick up
4091	  o in jobs mode, when we discover we cannot make something,
4092	    call PrintOnError before exit.
4093
40942010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
4095
4096	* Makefile.in (MAKE_VERSION): bump version to 20100806
4097	  Merge with NetBSD make, pick up
4098	  o formatting fixes for ignored errors
4099	  o ensure jobs are cleaned up regardless of where wait() was called.
4100
41012010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
4102
4103	* Makefile.in (MAKE_VERSION): bump version to 20100618
4104	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
4105
41062010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
4107
4108	* Makefile.in (MAKE_VERSION): bump version to 20100616
4109	  Merge with NetBSD make, pick up
4110	  o man page update
4111	  o call PrintOnError from JobFinish when we detect an error we
4112	    are not ignoring.
4113
41142010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
4115
4116	* Makefile.in (MAKE_VERSION): bump version to 20100606
4117	  Merge with NetBSD make, pick up
4118	  o man page update
4119
41202010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
4121
4122	* Makefile.in (MAKE_VERSION): bump version to 20100605
4123	  Merge with NetBSD make, pick up
4124	  o use bmake_signal() which is a wrapper around sigaction()
4125	    in place of signal()
4126	  o add .export-env to allow exporting variables to environment
4127	    without tracking (so no re-export when the internal value is
4128	    changed).
4129
41302010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
4131
4132	* Makefile.in (MAKE_VERSION): bump version to 20100524
4133	  Merge with NetBSD make, pick up
4134	  o fix for .info et al being greedy.
4135
41362010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
4137
4138	* Makefile.in (MAKE_VERSION): bump version to 20100520
4139	  Merge with NetBSD make, pick up
4140	  o back to using realpath on argv[0]
4141	    but only if contains '/' and does not start with '/'.
4142
41432010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
4144
4145	* boot-strap: use absolute path for bmake when running tests.
4146
4147	* Makefile.in (MAKE_VERSION):  bump version to 20100510
4148	  Merge with NetBSD make, pick up
4149	  o revert use of realpath on argv[0]
4150	    too many corner cases.
4151	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
4152
41532010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
4154
4155	* Makefile.in (MAKE_VERSION): bump version to 20100505
4156	  Merge with NetBSD make, pick up
4157	  o fix for missed SIGCHLD when compiled with SunPRO
4158	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
4159	    done the job.
4160
41612010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
4162
4163	* Makefile.in (MAKE_VERSION): bump version to 20100430
4164	  Merge with NetBSD make, pick up
4165	  o fflush stdout before writing to stdout
4166
41672010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
4168
4169	* Makefile.in (MAKE_VERSION): bump version to 20100423
4170	  Merge with NetBSD make, pick up
4171	  o updated unit tests for Haiku (this time for sure).
4172	* boot-strap: based on patch from joerg
4173	  honor --with-default-sys-path better.
4174	* boot-strap: remove mention of --with-prefix-sys-path
4175
41762010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
4177
4178	* Makefile.in (MAKE_VERSION): bump version to 20100422
4179	* Merge with NetBSD make, pick up
4180	  o fix for vfork() on Darwin.
4181	  o fix for bogus $TMPDIR.
4182	  o set .MAKE.MODE=compat for -B
4183	  o set .MAKE.JOBS=max_jobs for -j max_jobs
4184	  o allow unit-tests to run without any *.mk
4185	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
4186	* boot-strap: ignore /usr/share/mk except on NetBSD.
4187	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
4188	  ensure sort(1) behaves as expected.
4189
41902010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
4191
4192	* boot-strap: add FindHereOrAbove so we can use -m .../mk
4193
41942010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
4195
4196	* Makefile.in (MAKE_VERSION): bump version to 20100420
4197	* Merge with NetBSD make, pick up
4198	  o fix for variable realpath() behavior.
4199	    we have to stat(2) the result to be sure.
4200	  o fix for .export (all) when nested vars use :sh
4201
42022010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
4203
4204	* Makefile.in (MAKE_VERSION): bump version to 20100414
4205	* Merge with NetBSD make, pick up
4206	  o use realpath to resolve argv[0] (for .MAKE) if needed.
4207	  o add realpath from libc.
4208	  o add :tA to resolve variable via realpath(3) if possible.
4209
42102010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
4211
4212	* Makefile.in (MAKE_VERSION): bump version to 20100408
4213	* Merge with NetBSD make, pick up
4214	  o unit tests for .ERROR, .error
4215	  o fix for .ERROR to ensure it cannot be default target.
4216
42172010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
4218
4219	* Makefile.in (MAKE_VERSION): bump version to 20100406
4220	* Merge with NetBSD make, pick up
4221	  o fix for compat mode "Error code" going to debug_file.
4222	  o fix for .ALLSRC being populated twice.
4223	  o support for .info, .warning and .error directives
4224	  o .MAKE.MODE to control make's operational mode
4225	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
4226	    name(s).
4227	  o .MAKE.DEPENDFILE to control the name of the depend file
4228	  o .ERROR target - run on failure.
4229
42302010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
4231
4232	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
4233
4234	* os.sh,arch.c: patch for Haiku from joerg at netbsd
4235
42362010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
4237
4238	* Makefile.in (MAKE_VERSION): bump version to 20100222
4239	* Merge with NetBSD make, pick up
4240	  o better error msg for .for with mutiple inter vars
4241
4242	* boot-strap:
4243	  o use make-bootstrap.sh from joerg at netbsd
4244	    to avoid the need for a native make when bootstrapping.
4245	  o add "" everywhere ;-)
4246	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
4247	    otherwise the pre-formated version.
4248
42492010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
4250
4251	* Makefile.in (MAKE_VERSION): bump version to 20100102
4252	* Merge with NetBSD make, pick up:
4253	  o fix for -m .../
4254
42552009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
4256
4257	* Makefile.in (MAKE_VERSION): bump version to 20091118
4258	* Merge with NetBSD make, pick up:
4259	  o .unexport
4260	  o report lines that start with '.' and should have ':'
4261	    (catch typo's of .el*if).
4262
42632009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
4264
4265	* configure.in: Ensure that srcdir and mksrc are absolute paths.
4266
42672009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
4268
4269	* Makefile.in (MAKE_VERSION): fix version to 20091007
4270
42712009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
4272
4273	* Makefile.in (MAKE_VERSION): bump version to 200910007
4274	* Merge with NetBSD make, pick up:
4275	  o fix for parsing of :S;...;...; applied to .for loop iterator
4276	    appearing in a dependency line.
4277
42782009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
4279
4280	* Makefile.in (MAKE_VERSION): bump version to 20090909
4281	* Merge with NetBSD make, pick up:
4282	  o fix for -C, .CURDIR and .OBJDIR
4283	* boot-strap:
4284	  o allow share_dir to be set independent of prefix.
4285	  o select default share_dir better when prefix ends in $HOST_TARGET
4286	  o if FORCE_BSD_MK etc were set, include them in the suggested
4287	    install-mk command.
4288
42892009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
4290
4291	* Makefile.in (MAKE_VERSION): bump version to 20090908
4292	* Merge with NetBSD make, pick up:
4293	  o .MAKE.LEVEL for recursion tracking
4294	  o fix for :M scanning \:
4295
42962009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
4297
4298	* configure.in: Don't -D__EXTENSIONS__ if
4299	AC_USE_SYSTEM_EXTENSIONS says "no".
4300
43012009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
4302
4303	* Makefile.in (MAKE_VERSION): bump version to 20090826
4304	Simplify MAKE_VERSION to just the bare date.
4305	* Merge with NetBSD make, pick up:
4306	  o -C directory support.
4307	  o support for SIGINFO
4308	  o use $TMPDIR for temp files.
4309	  o child of vfork should be careful about modifying parent's state.
4310
4311
43122009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
4313
4314	* Appy some patches for MiNT from David Brownlee
4315
43162009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
4317
4318	* Makefile.in (BMAKE_VERSION): bump version to 20090222
4319	* Merge with NetBSD make, pick up:
4320	  o Possible null pointer de-ref in Var_Set.
4321
43222009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
4323
4324	* Makefile.in (BMAKE_VERSION): bump version to 20090204
4325	* Merge with NetBSD make, pick up:
4326	  o bmake_malloc et al moved to their own .c
4327	  o Count both () and {} when looking for the end of a :M pattern
4328	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
4329	  o strlist.c - functions for processing extendable arrays of pointers to strings.
4330	  o ClientData replaced with void *, so const void * can be used.
4331	  o New debug flag C for DEBUG_CWD
4332
43332008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
4334
4335	* Makefile.in (BMAKE_VERSION): bump version to 20081111
4336	  Apply patch from Joerg Sonnenberge to
4337	  configure.in:
4338	  o remove some redundant checks
4339	  o check for emlloc etc only in libutil and require the whole family.
4340	  util.c:
4341	  o remove [v]asprintf which is no longer used.
4342
43432008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
4344
4345	* Makefile.in (BMAKE_VERSION): bump version to 20081101
4346	* Merge with NetBSD make, pick up:
4347	  o util.c: avoid use of putenv() - christos
4348
43492008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
4350
4351	* Makefile.in (BMAKE_VERSION): bump version to 20081030
4352	  pick up man page tweaks.
4353
43542008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
4355
4356	* Makefile.in: move processing of LIBOBJS to after is definition!
4357	  thus we'll have getenv.c in SRCS only if needed.
4358
4359	* make.1: add examples of how to use :?
4360
4361	* Makefile.in (BMAKE_VERSION): bump version to 20081029
4362	* Merge with NetBSD make, pick up:
4363	  o fix for .END processing with -j
4364	  o segfault from Parse_Error when no makefile is open
4365	  o handle numeric expressions in any variable expansion
4366	  o debug output now defaults to stderr, -dF to change it - apb
4367	  o make now uses bmake_malloc etc so that it can build natively
4368	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
4369
43702008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
4371
4372	* Makefile.in (BMAKE_VERSION): bump version to 20080808
4373	* Merge with NetBSD make, pick up:
4374	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
4375	    long lines in Makefiles
4376	  o optimizations for VarQuote by joerg
4377	  o fix for PR/38756: dominik: make dumps core on invalid makefile
4378
43792008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
4380
4381	* Makefile.in (BMAKE_VERSION): bump version to 20080515
4382	* Merge with NetBSD make, pick up:
4383	  o fix skip setting vars in VAR_GLOBAL context, to handle
4384	    cases where VAR_CMD is used for other than command line vars.
4385
43862008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
4387
4388	* boot-strap (make_version): we may need to look in
4389	$prefix/share/mk for sys.mk
4390
4391	* Makefile.in (BMAKE_VERSION): bump version to 20080514
4392	* Merge with NetBSD make, pick up:
4393	  o skip setting vars in VAR_GLOBAL context, when already set in
4394	  VAR_CMD which takes precedence.
4395
43962008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
4397
4398	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
4399	* Merge with NetBSD make, pick up:
4400	  o fix for ?= when LHS contains variable reference.
4401
44022008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
4403
4404	* merge some patches from NetBSD pkgsrc.
4405
4406	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
4407	the MAKSYSPATH used during bootstrap.
4408
4409	* Makefile.in (BMAKE_VERSION): bump version to 20080215
4410	* Merge with NetBSD make, pick up:
4411	  o warn if non-space chars follow 'empty' in a conditional.
4412
44132008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
4414
4415	* Makefile.in (BMAKE_VERSION): bump version to 20080118
4416	* Merge with NetBSD make, pick up:
4417	  o consider dependencies read from .depend as optional - dsl
4418	  o remember when buffer for reading makefile grows - dsl
4419	  o add -dl (aka LOUD) - David O'Brien
4420
44212007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
4422
4423	* Makefile.in (BMAKE_VERSION): bump version to 20071022
4424	* Merge with NetBSD make, pick up:
4425	  o Allow .PATH<suffix> to be used for .include ""
4426
4427	* boot-strap: source default settings from .bmake-boot-strap.rc
4428
44292007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
4430
4431	* Makefile.in: fix maninstall on various systems
4432	  provided that our man.mk is used.
4433	  For non-BSD systems we install the preformatted page
4434	  into $MANDIR/cat1
4435
44362007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
4437
4438	* boot-strap: make bmake.1 too, so maninstall works.
4439
44402007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
4441
4442	* Makefile.in (BMAKE_VERSION): bump version to 20071014
4443	* Merge with NetBSD make, pick up:
4444	  o revamped handling of defshell - configure no longer needs to
4445	    know the content of the shells array - apb
4446	  o stop Var_Subst modifying its input - apb
4447	  o avoid calling ParseTrackInput too often - dsl
4448
44492007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
4450
4451	* Makefile.in (BMAKE_VERSION): bump version to 20071011
4452	* Merge with NetBSD make, pick up:
4453	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
4454
4455	* sigcompat.c: some tweaks for HP-UX 11.x based on
4456	  patch from Tobias Nygren
4457
4458	* configure.in: update handling of --with-defshell to match
4459	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
4460	  will now do what one might hope - provided the chosen shell
4461	  behaves enough like sh.
4462
44632007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
4464
4465	* Makefile.in (BMAKE_VERSION): bump to 20071008
4466	* Merge with NetBSD make, pick up:
4467	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
4468	  o .export/.MAKE.EXPORTED - export of variables - sjg
4469	  o .MAKE.MAKEFILES - track all makefiles read - sjg
4470	  o performance improvements - dsl
4471	  o revamp parallel job scheduling - dsl
4472
44732006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
4474
4475	* Makefile.in (BMAKE_VERSION): bump to 20060728
4476	* Merge with NetBSD make, pick up:
4477	  o extra debug info during variable and cond processing - sjg
4478	  o shell definition now covers newline - rillig
4479	  o minor mem leak in PrintOnError - sjg
4480
44812006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
4482
4483	* Makefile.in (BMAKE_VERSION):  bump to 20060511
4484	* Merge with NetBSD make, pick up:
4485	  o more memory leaks - coverity
4486	  o possible overflow in ArchFindMember - coverity
4487	  o extract variable modifier code out of Var_Parse()
4488	    so it can be called recursively - sjg
4489	  o unit-tests/moderrs - sjg
4490
44912006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
4492
4493	* Makefile.in (BMAKE_VERSION): bump to 20060412
4494	* Merge with NetBSD make, pick up:
4495	  o fixes for some memory leaks - coverity
4496	  o only read first sys.mk etc when searching sysIncPath - sjg
4497
4498	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
4499	setting ${MAKEFILE} - OBATA Akio
4500
45012006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
4502
4503	* Makefile.in (BMAKE_VERSION): bump to 20060318
4504	* Merge with NetBSD make, pick up:
4505	  o cleanup of job.c to remove remote handling, distcc is more
4506	    useful and this code was likely bit-rotting - dsl
4507	  o fix for :P modifier - sjg
4508	* boot-strap: set default prefix to something reasonable
4509	  (for me anyway).
4510
45112006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
4512
4513	* Makefile.in (BMAKE_VERSION): bump to 20060301
4514	* Merge with NetBSD make, pick up:
4515	  o make .WAIT apply recursively, document and test case - apb
4516	  o allow variable modifiers in a variable appear anywhere in
4517	    modifier list, document and test case - sjg
4518
45192006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
4520
4521	* Makefile.in (BMAKE_VERSION): bump to 20060222
4522	* Merge with NetBSD make, pick up:
4523	  o improved job token handling - dsl
4524	  o SIG_DFL the correct signal before exec - dsl
4525	  o more debug info during parsing - dsl
4526	  o allow variable modifiers to be specified via variable - sjg
4527	* boot-strap: explain why we died if no mksrc
4528
45292005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
4530
4531	* Makefile.in (BMAKE_VERSION): bump to 20051105
4532	* configure.in: always set default_sys_path
4533	  default is ${prefix}/share/mk
4534	  - remove prefix_sys_path, anyone wanting more than above
4535	    needs to set it manually.
4536
45372005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
4538
4539	* boot-strap: make this a bit easier for pkgsrc folk.
4540	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
4541	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
4542
45432005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
4544
4545	* Makefile.in (BMAKE_VERSION): bump to 20051102
4546	* job.c (JobFinish): fix likely ancient merge lossage
4547	fix from Todd Vierling.
4548	* boot-strap (srcdir): allow setting mksrc=none
4549
45502005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
4551
4552	* Makefile.in (BMAKE_VERSION): bump to 20051031
4553	* ranlib.h: skip on OSF too.
4554	  (NetBSD PR 31864)
4555
45562005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
4557
4558	* Makefile.in (BMAKE_VERSION): bump to 20051002
4559	  fix a silly typo
4560
45612005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
4562
4563	* Makefile.in (BMAKE_VERSION): bump to 20051001
4564	  support for UnixWare and some other systems,
4565	  based on patches from pkgsrc/bootstrap
4566
45672005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
4568
4569	* Makefile.in (BMAKE_VERSION): bump to 20050901
4570	* Merge with NetBSD make, pick up:
4571	  o possible parse error causing us to wander off.
4572
45732005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
4574
4575	* Makefile.in (BMAKE_VERSION): bump to 20050606
4576	* Merge with NetBSD make, pick up:
4577	  o :0x modifier for randomizing a list
4578	  o fixes for a number of -Wuninitialized issues.
4579
45802005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
4581
4582	* Makefile.in (BMAKE_VERSION): bump to 20050530
4583	* Merge with NetBSD make, pick up:
4584	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
4585
4586	* README: was seriously out of date.
4587
45882005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
4589
4590	* Important to use .MAKE rather than MAKE.
4591
45922005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
4593
4594	* Makefile.in (BMAKE_VERSION): bump to 20050315
4595	* Merge with NetBSD make, pick up:
4596	  o don't mistake .elsefoo for .else
4597	  o use suffix-specific search path correctly
4598	  o bunch of style nits
4599
46002004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
4601
4602	* boot-strap:
4603	o ensure that args to --src and --with-mksrc
4604	  are resolved before giving them to configure.
4605	o add -o "objdir" so that builder can control it,
4606	  default is $OS as determined by os.sh
4607	o add -q to suppress all the install instructions.
4608
46092004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
4610
4611	* Remove __IDSTRING()
4612
4613	* Makefile.in (BMAKE_VERSION): bump to 20040508
4614	* Merge with NetBSD make, pick up:
4615	  o posix fixes
4616	    - remove '-e' from compat mode
4617	    - add support for '+' command-line prefix.
4618	  o fix for handling '--' on command-line.
4619	  o fix include in lst.lib/lstInt.h to simplify '-I's
4620	  o we also picked up replacement of MAKE_BOOTSTRAP
4621	    with !MAKE_NATIVE which is a noop, but possibly confusing.
4622
46232004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
4624
4625	* Makefile.in (BMAKE_VERSION): bump to 20040414
4626	* Merge with NetBSD make, pick up:
4627	  o allow quoted strings on lhs of conditionals
4628	  o issue warning when extra .else is seen
4629	  o print line numer when errors encountered during parsing from
4630	  string.
4631
46322004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
4633
4634	* Makefile.in (BMAKE_VERSION):  bump to 20040220
4635	* Merge with NetBSD make, pick up:
4636	  o fix for old :M parsing bug.
4637	  o re-jigged unit-tests
4638
46392004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
4640
4641	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
4642	so that './bmake -f Makefile test' works.
4643
46442004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
4645
4646	* Makefile.in: (BMAKE_VERSION): bump to 20040214
4647	* Merge with NetBSD make, pick up:
4648	  o search upwards for *.mk
4649	  o fix for double free of var substitution buffers
4650	  o use of getopt replaced with custom code, since the usage
4651	  (re-scanning) isn't posix compatible.
4652
46532004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
4654
4655	* arch.c: don't include ranlib.h on ELF systems
4656	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
4657
46582004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
4659
4660	* Makefile.in (BMAKE_VERSION): bump to 20040118
4661
4662	* boot-strap (while): export vars we assign to on cmdline
4663	* unit-test/Makefile.in: ternary is .PHONY
4664
46652004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
4666
4667	* Makefile.in (BMAKE_VERSION): bump version to 20040108
4668	* Merge with NetBSD make, pick up:
4669	  o fix for ternary modifier
4670
46712004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
4672
4673	* Makefile.in (BMAKE_VERSION): bump version to 20040105
4674	* Merge with NetBSD make, pick up:
4675	  o fix for cond.c to handle compound expressions better
4676	  o variable expansion within sysV style replacements
4677
46782003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
4679
4680	* Make portable snprintf safer - output to /dev/null first to
4681	check space needed.
4682
4683	* Makefile.in (BMAKE_VERSION): bump version to 20031222
4684	* Merge with NetBSD make, pick up:
4685	  o -dg3 to show input graph when things go wrong.
4686	  o explicitly look for makefiles in objdir if not found in curdir so
4687	    that errors in .depend etc will be reported accurarely.
4688	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
4689	    instead as it more accurately reflects the expected behavior and
4690	    is more consistently implemented.
4691	  o avoid use of asprintf.
4692
46932003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
4694
4695	* util.c: Add asprintf and vasprintf.
4696
4697	* Makefile.in (BMAKE_VERSION): bump version to 20030928
4698	* Merge with NetBSD make, pick up:
4699	:[] modifier - allows picking words from a variable.
4700	:tW modifier - allows treating value as one big word.
4701	W flag for :C and :S - allows treating value as one big word.
4702
47032003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
4704
4705	* Merge with NetBSD make
4706	pick up -de flag to enable printing failed command.
4707	don't skip 1st two dir entries (normally . and ..) since
4708	coda does not have them.
4709
47102003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
4711
4712	* Makefile.in (BMAKE_VERSION): bump version to 20030909
4713	* Merge with NetBSD make, pick up:
4714	- changes for -V '${VAR}' to print fully expanded value
4715	  cf. -V VAR
4716	- CompatRunCommand now prints the command that failed.
4717	- several files got updated 3 clause Berkeley license.
4718
47192003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
4720
4721	* boot-strap: Allow setting configure args on command line.
4722
47232003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
4724
4725	* configure.in: add --with-defshell to allow sh or ksh
4726	to be selected as default shell.
4727
4728	* Makefile.in: bump version to 20030731
4729
4730	* Merge with NetBSD make
4731	Pick up .SHELL spec for ksh and associate man page changes.
4732	Also compat mode now uses the same shell specs.
4733
47342003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
4735
4736	* var.c (Var_Parse): ensure delim is initialized.
4737
4738	* unit-tests/Makefile.in: use single quotes to avoid problems from
4739	some shells.
4740
4741	* makefile.boot.in:
4742	Run the unit-tests as part of the bootstrap procedure.
4743
47442003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
4745
4746	* unit-tests/Makefile.in: always force complaints from
4747	${TEST_MAKE} to be from 'make'.
4748
4749	* configure.in: add check for 'diff -u'
4750	also fix some old autoconf'isms
4751
4752	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
4753	if using GCC add -Wno-cast-qual to CFLAGS for var.o
4754
4755	* Merge with NetBSD make
4756	Pick up fix for :ts parsing error in some cases.
4757	Pick unit-tests.
4758
47592003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
4760
4761	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
4762
4763	* var.c (Var_Parse): fix bug in :ts modifier, after const
4764	correctness fixes, must pass nstr to VarModify.
4765
47662003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
4767
4768	* Makefile.in: BMAKE_VERSION switch to a date based version.
4769	We'll generally use the date of last import from NetBSD.
4770
4771	* Merge with NetBSD make
4772	Pick up fixes for const-correctness, now passes WARNS=3 on
4773	NetBSD.
4774	Pick up :ts modifier, allows controlling the separator used
4775	between words in variable expansion.
4776
47772003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
4778
4779	* FILES: include boot-strap and os.sh
4780
4781	* Makefile.in: only set WARNS if we are NetBSD, the effect on
4782	FreeBSD is known to be bad.
4783
4784	* makefile.boot.in (bootstrap): make this the default target.
4785
4786	* Makefile.in: bump version to 3.1.19
4787
4788	* machine.sh: avoid A-Z with tr as it is bound to lose.
4789
47902003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
4791
4792	* Merge with NetBSD make
4793	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
4794	Plus some doc fixes.
4795
47962003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
4797
4798	* Merge with NetBSD make
4799	Pick up fix for PR/1523 - don't count a library as built, if there
4800	is no way to build it
4801
4802	* Bump version to 3.1.18
4803
48042003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
4805
4806	* Merge with NetBSD make
4807	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
4808	appears in src list.
4809
48102003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
4811
4812	* Merge with NetBSD make (mmm 10th anniversary!)
4813	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
4814	pick up -X which tells us to not export VAR=val via setenv if
4815	we are already doing so via MAKEFLAGS.  This saves valuable env
4816	space on systems like Darwin.
4817	set MAKE_VERSION to 3.1.17
4818
4819	* parse.c: pix up fix for suffix rules
4820
48212003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
4822
4823	* Merge with NetBSD make.
4824	pick up fix for propagating -B via MAKEFLAGS.
4825	set MAKE_VERSION to 3.1.16
4826
4827	* Apply some patches from pkgsrc-bootstrap/bmake
4828	Originally by Grant Beattie <grant@netbsd.org>
4829	I may have missed some - since they are based on bmake-3.1.12
4830
48312002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
4832
4833	* makefile.boot.in (bmake): update install targets for those that
4834	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
4835	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
4836
4837	* bmake.cat1: update the pre-formatted man page!
4838
48392002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
4840
4841	* Merge with NetBSD make.
4842	pick up fix for premature free of pointer used in call
4843	to Dir_InitCur().
4844	set MAKE_VERSION to 3.1.15
4845
48462002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
4847
4848	* configure.in: determine suitable value for MKSRC.
4849	override using --with-mksrc=PATH.
4850
4851	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
4852	configs(8) will use 'sun4' as an alias for 'sparc'.
4853
48542002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
4855
4856	* Merge with NetBSD make.
4857	pick up ${.PATH}
4858	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
4859	set MAKE_VERSION to 3.1.14
4860	add configure checks for killpg and sys/socket.h
4861
48622002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
4863
4864	* tag bmake-3-1-13
4865
4866	* makefile.boot.in (bmake): use install-mk
4867	Also setup ./mk before trying to invoke bmake.boot incase we
4868	needed install-mk to create a sys.mk for us.
4869
4870	* configure.in: If we need to add -I${srcdir}/missing, make it an
4871	absolute path so that it works for lst.lib too.
4872
4873	* make.h: always include sys/cdefs.h since we provide one if the
4874	host does not.
4875
4876	* Makefile.in (install-mk):
4877	use MKSRC/install-mk which will do the right thing.
4878	use uname -p for ARCH if possible.
4879	since install-mk will setup links bsd.prog.mk -> prog.mk if
4880	needed, just .include bsd.prog.mk
4881
4882	* Merge with NetBSD make (NetBSD-1.6)
4883	Code is ansi-C only now.
4884	Bug in handling of dotLast is fixed.
4885	Can now assign .OBJDIR and make will reset its notions of life.
4886	New modifiers :tu :tl for toUpper and toLower.
4887
4888Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
4889
4890	* Merge with NetBSD make
4891	pick up fix for .END failure in compat mode.
4892	pick up fix for extra va_end() in ParseVErrorInternal.
4893
4894Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
4895
4896	* configure.in: for systems that have sys/cdefs.h check if it is
4897	compatible.  If not, include the one under missing, but tell it to
4898	include the native one too - necessary on Linux.
4899
4900	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
4901	include_next (for gcc) to get the native sys/cdefs.h
4902
4903Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4904
4905	* job.c (JobFinish): Fix an earlier merge bug that resulted in
4906	leaking descriptors when using -jN.
4907
4908	* job.c (JobPrintCommand): See if "curdir" exists before
4909	attempting to chdir().  Doing the chdir directly in make (when in
4910	compat mode) fails silently, so let the -jN version do the same.
4911	This can happen when building kernels in an object tree and
4912	playing clever games to reset .CURDIR.
4913
4914	* Merged with NetBSD make
4915	pick up .USEBEFORE
4916
4917Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4918
4919	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
4920
4921Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4922
4923	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
4924	us not to export the iterator variable when using VAR_CMD context.
4925
4926Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4927
4928	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
4929	its the wrong "fix".
4930
4931Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4932
4933	* Redesigned export of VAR_CMD's via MAKEFLAGS.
4934	We now simply append the variable names to .MAKEOVERRIDES, and
4935	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
4936	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
4937	Apart from fixing quoting bugs in previous version, this allows us
4938	to export vars to the environment by simply doing:
4939	.MAKEOVERRIDES+= PATH
4940	Merged again with NetBSD make, but the above is the only change.
4941
4942	* configure.in: added
4943	--disable-pwd-override		disable $PWD overriding getcwd()
4944	--disable-check-make-chdir	disable make trying to guess
4945		when it should automatically cd ${.CURDIR}
4946
4947	* Merge with NetBSD make, changes include:
4948	parse.c (ParseDoDependency): Spot that the syntax error is
4949	caused by an unresolved cvs/rcs conflict and say so.
4950	var.c: most of Var* functions now take a ctxt as 1st arg.
4951	now does variable substituion on rhs of sysv style modifiers.
4952
4953	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
4954	is now done here.  We append the name='value' to .MAKEOVERRIDES
4955	rather than directly into MAKEFLAGS as this allows a Makefile to
4956	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
4957	very similar mechanism.  Note that in adding name='value' to
4958	.MAKEOVERRIDES we do the moral equivalent of:
4959	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
4960
4961Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4962
4963	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
4964
4965	* Merged with NetBSD make
4966	make -dx can now be used to run commands via sh -x
4967	better error messages on exec failures.
4968
4969Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4970
4971	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
4972	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
4973	MACHINE etc otherwise they propagate from the previous bmake.
4974
4975	* configure.in (machine): allow --with-machine=generic to make
4976	configure use machine.sh to set MACHINE.
4977
4978	* job.c (JobInterrupt): convert to using WAIT_T and friends.
4979
4980	* Makefile.in: mention in bmake.1 that we use autoconf.
4981
4982	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
4983
4984Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4985
4986	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
4987	as that rather defeats the usefulness of ${MAKEFILE}.
4988
4989	* main.c (MainParseArgs): append command line variable assignments
4990	to MAKEFLAGS so that they get propagated to child make's.
4991	Apparently this is required POSIX behaviour?  Its useful anyway.
4992
4993Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4994
4995	* compat.c (CompatRunCommand): don't use perror() since stdio may
4996	cause problems in child of vfork().
4997
4998	* compat.c, main.c: Call PrintOnError() when we are going to bail.
4999	This routine prints out the .curdir where we stopped and will also
5000	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
5001
5002	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
5003	:@ expansion.
5004
5005	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
5006
5007	* Added RCSid's for the files we've touched.
5008
5009Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5010
5011	* configure.in:	Thanks to some clues from mdb@juniper.net,
5012	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
5013	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
5014
5015  --with-machine=MACHINE  explicitly set MACHINE
5016  --with-force-machine=MACHINE  set FORCE_MACHINE
5017  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
5018  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
5019  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
5020  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
5021
5022	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
5023
5024	* makefile: added a pathetically simple makefile to drive
5025	bootstrapping.  Running configure by hand is more useful.
5026
5027	* Makefile.in: added MAKE_VERSION, and reworked things to be less
5028	dependent on NetBSD bsd.*.mk
5029
5030	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
5031	_PATH_OBJDIRPREFIX for those that don't want a default.
5032	construct _PATH_DEFSYSPATH from the info we get from configure.
5033
5034	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
5035	if MAKE_VERSION is defined.
5036
5037	* compat.c: when we bail, print out the .CURDIR we were in.
5038
5039Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5040
5041	* Merged with NetBSD make
5042
5043	* var.c: fixed a bug in the handling of the modifier :P
5044	if the node as found but the path was null, we segfault trying to
5045	duplicate it.
5046
5047Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
5048
5049	* Merged with NetBSD make
5050
5051	* make.c: Make_OODate's test for a library out of date was using
5052	cmtime where it should have used mtime (my bug).
5053
5054	* compat.c: Use perror() to tell us what really went wrong when we
5055	cannot exec a command.
5056
5057Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5058
5059	* Merged with NetBSD make
5060
5061Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5062
5063	* Merged with NetBSD make
5064
5065Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5066
5067	* Merged with NetBSD make
5068
5069Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5070
5071	* Merged with NetBSD make
5072
5073Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5074
5075	* util.c: don't provide signal() since we use sigcompat.c
5076
5077	* Makefile.in: added a build target.
5078
5079	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
5080	These allow some quite clever magic.
5081
5082	* main.c (main): added support for getenv(MAKESYSPATH).
5083
5084Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5085
5086	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
5087	This avoids objdir having a different value depending on how a
5088	directory was reached (via command line, or subdir.mk).
5089
5090	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
5091
5092Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
5093
5094	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
5095	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
5096	I've been testing this in NetBSD's make for some weeks.
5097
5098	* Turn Makefile into Makefile.in and make it useful.
5099
5100Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
5101
5102	* Imported NetBSD's -current make(1) and resolve conflicts.
5103
5104	* Applied autoconf patches from bmake v2
5105
5106	* Imported clean code base from NetBSD-1.0
5107