12024-05-20  Simon J Gerraty  <sjg@beast.crufty.net>
2
3	* VERSION (_MAKE_VERSION):
4	Merge with NetBSD make, pick up
5	o dir.c: in FindFile restore last search of .CURDIR even for
6	includes, as a number of existing makefiles are broken otherwise.
7
82024-05-19  Simon J Gerraty  <sjg@beast.crufty.net>
9
10	* VERSION (_MAKE_VERSION): 20240519
11	Merge with NetBSD make, pick up
12	o dir.c: Add Dir_FindInclude, FindFile without looking in .CURDIR.
13	Also fix Dir_SetSYSPATH to use defSysIncPath if sysIncPath is empty.
14	o main.c: no need to set .DOTLAST in sysIncPath
15
162024-05-07  Simon J Gerraty  <sjg@beast.crufty.net>
17
18	* VERSION (_MAKE_VERSION): 20240508
19	Merge with NetBSD make, pick up
20	o make: ensure variables set on command line get added to
21	.MAKEOVERRIDES (even if they start with '.') so they are passed to
22	sub-makes.
23
242024-04-30  Simon J Gerraty  <sjg@beast.crufty.net>
25
26	* VERSION (_MAKE_VERSION): 20240430
27	Merge with NetBSD make, pick up
28	o main.c: ensure '.include <makefile>' respects MAKESYSPATH.
29	Dir_FindFile will search .CURDIR first unless ".DOTLAST" is seen.
30
312024-04-28  Simon J Gerraty  <sjg@beast.crufty.net>
32
33	* VERSION (_MAKE_VERSION): 20240428
34	Merge with NetBSD make, pick up
35	o simplify freeing of lists
36	o arch.c: trim pointless comments
37	o var.c: delay variable assignments until actually needed
38	don't reallocate memory after evaluating an expression, result is
39	almost always short-lived.
40
412024-04-26  Simon J Gerraty  <sjg@beast.crufty.net>
42
43	* VERSION (_MAKE_VERSION): 20240426
44	Merge with NetBSD make, pick up
45	o job.c: in debug output, print the directory in which a job
46	failed at same time as failed target so it is more easily found in
47	build log.
48
492024-04-24  Simon J Gerraty  <sjg@beast.crufty.net>
50
51	* VERSION (_MAKE_VERSION): 20240424
52	Merge with NetBSD make, pick up
53	o clean up comments, code and tests
54
552024-04-23  Simon J Gerraty  <sjg@beast.crufty.net>
56
57	* VERSION (_MAKE_VERSION): 20240422
58	Merge with NetBSD make, pick up
59	o var.c: avoid LazyBuf for :*time modifiers.
60	LazyBuf's are not nul terminated so not suitable for passing to
61	functions that expect that. These modifiers are used sparingly so
62	an extra allocation is not a problem.
63
642024-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
65
66	* VERSION (_MAKE_VERSION): 20240420
67	Merge with NetBSD make, pick up
68	o provide more context information for parse/evaluate errors
69
702024-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
71
72	* VERSION (_MAKE_VERSION): 20240414
73	Merge with NetBSD make, pick up
74	o parse.c: print -dp debug info earlier so we see which
75	.if or .for line is being parsed.
76
772024-04-04  Simon J Gerraty  <sjg@beast.crufty.net>
78
79	* VERSION (_MAKE_VERSION): 20240404
80	Merge with NetBSD make, pick up
81	o fix some unit tests for Cygwin
82	o parse.c: exit immediately after reading a null byte from a makefile
83
84	* fix generation of bmake.cat1
85
862024-03-19  Simon J Gerraty  <sjg@beast.crufty.net>
87
88	* VERSION (_MAKE_VERSION): 20240314
89	Add/Improve support for Cygwin
90	o uname -s output isn't useful so allow configure to
91	set FORCE_MAKE_OS - to force the value of .MAKE.OS
92	and use Cygwin which matches uname -o
93	o fix some unit-tests for Cygwin
94
952024-03-10  Simon J Gerraty  <sjg@beast.crufty.net>
96
97	* boot-strap: tests can take a long time; use a cookie to
98	skip them if bmake has not been updated since tests last
99	ran successfully.
100
101	* Makefile: Cygwin handles MANTARGET man
102
103	* unit-tests/Makefile: set BROKEN_TESTS for Cygwin
104
1052024-03-09  Simon J Gerraty  <sjg@beast.crufty.net>
106
107	* VERSION (_MAKE_VERSION): 20240309
108	Merge with NetBSD make, pick up
109	o set .ERROR_EXIT to the exit status of .ERROR_TARGET
110	this allows a .ERROR target to ignore the case of
111	.ERROR_EXIT==6 which just means that the build actually
112	failed somewhere else.
113
1142024-03-04  Simon J Gerraty  <sjg@beast.crufty.net>
115
116	* VERSION (_MAKE_VERSION): 20240303
117
118	* var.c: on IRIX we need both inttypes.h and stdint.h
119
1202024-03-01  Simon J Gerraty  <sjg@beast.crufty.net>
121
122	* VERSION (_MAKE_VERSION): 20240301
123	Merge with NetBSD make, pick up
124	o export variables with value from target scope
125	when appropriate.
126
1272024-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
128
129	* VERSION (_MAKE_VERSION): 20240212
130	Merge with NetBSD make, pick up
131	o remove unneeded conditional-compilation toggles
132	INCLUDES, LIBRARIES, POSIX, SYSVINCLUDE, SYSVVARSUB,
133	GMAKEEXPORT NO_REGEX and SUNSHCMD
134
135	* configure.in: add check for regex.h
136
137	* var.c: replace use of NO_REGEX with HAVE_REGEX_H
138
1392024-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
140
141	* VERSION (_MAKE_VERSION): 20240204
142	Merge with NetBSD make, pick up
143	o var.c: fix some lint (-dL) mode parsing issues
144
1452024-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
146
147	* VERSION: (_MAKE_VERSION): 20240202
148	Merge with NetBSD make, pick up
149	o make.1: note that arg to :D and :U can be empty
150	o var.c: $$ is not a parse error when .MAKE.SAVE_DOLLARS=no
151
1522024-01-08  Simon J Gerraty  <sjg@beast.crufty.net>
153
154	* VERSION (_MAKE_VERSION): 20240108
155	Merge with NetBSD make, pick up
156	o miscellaneous cleanups
157
1582024-01-06  Simon J Gerraty  <sjg@beast.crufty.net>
159
160	* VERSION (_MAKE_VERSION): 20240106
161	Merge with NetBSD make, pick up
162	o fix duplicate progname when reporting an unknown target
163	o unit tests for Cmd_Exec using temp file
164
1652024-01-05  Simon J Gerraty  <sjg@beast.crufty.net>
166
167	* VERSION (_MAKE_VERSION): 20240105
168	Merge with NetBSD make, pick up
169	o main.c: Cmd_Exec write cmd to a file if too big
170	avoid blowing commandline/env limits
171
1722024-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
173
174	* VERSION (_MAKE_VERSION): 20240101
175	o util.c: flesh out more of strftime
176	* configure.in: add --with-bmake-strftime
177	it is not a full implementation but enough to pass all
178	the unit-tests.
179	* parse.c: LoadFile do not append \n to empty buffer.
180
1812023-12-30  Simon J Gerraty  <sjg@beast.crufty.net>
182
183	* VERSION (_MAKE_VERSION): 20231230
184	Merge with NetBSD make, pick up
185	o simplify memory allocation for string buffers
186	o fix declared types of list nodes
187	o suff.c: clean up freeing of suffixes
188	o var.c: simplify debug message for the ':@var@...@' modifier
189	clean up variable handling
190
1912023-12-26  Simon J Gerraty  <sjg@beast.crufty.net>
192
193	* VERSION (_MAKE_VERSION): 20231226
194	Merge with NetBSD make, pick up
195	o compat.c: ensure make's output is correctly ordered with that of
196	the target when not going to a tty
197	o main.c: check for shellPath whether to call Shell_Init()
198
1992023-12-24  Simon J Gerraty  <sjg@beast.crufty.net>
200
201	* VERSION (_MAKE_VERSION): 20231224
202	Merge with NetBSD make, pick up
203	o compat.c: check for shellPath whether to call Shell_Init()
204	tweak the unit test to detect the bug thus fixed.
205	o make.1: do not claim .SHELL is only used by jobs mode.
206
2072023-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
208
209	* VERSION (_MAKE_VERSION): 20231220
210	Merge with NetBSD make, pick up
211	o str.c: speed up pattern matching in the ':M' modifier
212	o var.c: fix confusing debug logging when deleting a variable
213	use consistent debug messages style when ignoring variables
214
2152023-12-10  Simon J Gerraty  <sjg@beast.crufty.net>
216
217	* VERSION (_MAKE_VERSION): 20231210
218	Merge with NetBSD make, pick up
219	o var.c: avoid segfault on empty :C match expression
220	explain in debug log why variable assignment is ignored.
221
2222023-12-08  Simon J Gerraty  <sjg@beast.crufty.net>
223
224	* VERSION (_MAKE_VERSION): 20231208
225	Merge with NetBSD make, pick up
226	o var.c: ensure fromCmd is set correctly for variables set on
227	command line.
228
2292023-11-26  Simon J Gerraty  <sjg@beast.crufty.net>
230
231	* configure.in: disable generation of 'makefile' for
232	Darwin by default.
233
234	* boot-strap: docuement --without-makefile
235
2362023-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
237
238	* VERSION (_MAKE_VERSION): 20231124
239	Merge with NetBSD make, pick up
240	o main.c: cleanup processing of -j
241	fix lint warning about strchr
242	o var.c: more accurate error message for invalid ':mtime' argument
243	cleanup :[...] modifier
244	avoid reading beyond substring when comparing
245	o unit-tests cover all cases of :mtime, test and explain exporting
246	of variables
247	o cleanup comments
248
2492023-09-17  Simon J Gerraty  <sjg@beast.crufty.net>
250
251	* bsd.after-import.mk (ECHO_TAG): FreeBSD no longer uses
252	$FreeBSD$ tag, so avoid adding it.
253
2542023-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
255
256	* VERSION (_MAKE_VERSION): 20230909
257	Merge with NetBSD make, pick up
258	o main.c: allow -j to compute a multiple of ncpu
259	If _SC_NPROCESSORS_ONLN is supported; and -j arg is a floating
260	point number or ends in 'C' compute .MAKE.JOBS as a multiple of
261	_SC_NPROCESSORS_ONLN
262	.MAKE.JOBS.C will be "yes" if -jC is supported
263
2642023-08-20  Simon J Gerraty  <sjg@beast.crufty.net>
265
266	* VERSION (_MAKE_VERSION): 20230820
267	Merge with NetBSD make, pick up
268	o make.1: note that :localtime is better for %s
269	o parse.c: improve error messages for invalid input.
270	o var.c: fix for %s:L:gmtime - set TZ=UTC and use localtime to get
271	correct result, it is still better to use %s:L:localtime.
272
2732023-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
274
275	* VERSION (_MAKE_VERSION): 20230818
276	Merge with NetBSD make, pick up
277	o meta.c: meta_ignore - check raw path against metaIgnorePaths
278	to potentially skip call to realpath.
279	o var.c: be strict when parsing the argument of the ':mtime' modifier
280	o unit-tests/varmod-mtime.mk: document why '${%s:L:localtime}'
281	should be used to get an equivalent value to time(3).
282
2832023-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
284
285	* VERSION (_MAKE_VERSION): 20230816
286	Merge with NetBSD make, pick up
287	o cond.c: clean up multiple-inclusion guards
288
2892023-07-25  Simon J Gerraty  <sjg@beast.crufty.net>
290
291	* unit-tests/Makefile: addd varmod-localtime to BROKEN_TESTS
292	if configure cannot work out how to control TZ.
293	Remove varmod-localtime from BROKEN_TESTS for IRIX*
294
2952023-07-24  Simon J Gerraty  <sjg@beast.crufty.net>
296
297	* VERSION (_MAKE_VERSION): 20230723
298
299	* configure.in: fix the test for wether TZ=Europe/Berlin works.
300	Depending on the time of year, if run between 22:00 and 00:00 UTC
301	the check in configure would fail incorrectly.
302	Take the day into account as well.
303
3042023-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
305
306	* VERSION (_MAKE_VERSION): 20230711
307	Merge with NetBSD make, pick up
308	o make.1: clean up wording, clarify scope of '!' in conditions
309
3102023-07-15  Simon J Gerraty  <sjg@beast.crufty.net>
311
312	* make-bootstrap.sh.in: set prefix
313	If configure is run using ksh we get unexpanded ${prefix} in
314	DEFAULT_SYS_PATH, by ensuring prefix is set we should still get
315	correct result.
316
3172023-07-13  Simon J Gerraty  <sjg@beast.crufty.net>
318
319	* VERSION (_MAKE_VERSION): 20230711
320	bump version for IRIX tweaks
321
322	* make.h: undef OP_NONE if defined
323
324	* unit-tests/Makefile: set BROKEN_TESTS for IRIX
325
326	* configure.in: override INSTALL on IRIX
327
3282023-06-27  Simon J Gerraty  <sjg@beast.crufty.net>
329
330	* boot-strap op_test: ensure we set TEST_MAKE as we want it.
331
3322023-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
333
334	* VERSION (_MAKE_VERSION): 20230622
335	Merge with NetBSD make, pick up
336	o optimize string matching for ':M' and ':N'
337	o warn about malformed patterns in ':M', ':N' and '.if make(...)'
338
3392023-06-21  Simon J Gerraty  <sjg@beast.crufty.net>
340
341	* VERSION (_MAKE_VERSION): 20230621
342	Merge with NetBSD make, pick up
343	o more extensive tests for include guards
344	o parse.c: if a guard is already defined a file that uses the same
345	guard is still guarded by it.
346
3472023-06-20  Simon J Gerraty  <sjg@beast.crufty.net>
348
349	* VERSION (_MAKE_VERSION): 20230620
350	Merge with NetBSD make, pick up
351	o allow guards to be targets as well as variables
352	The guard targets may include variable references like
353	__${.PARSEDIR:tA}/${.PARSEFILE}__
354
3552023-06-19  Simon J Gerraty  <sjg@beast.crufty.net>
356
357	* VERSION (_MAKE_VERSION): 20230619
358	Merge with NetBSD make, pick up
359	o unit test for .undef of readOnly vars
360	o optimization for makefiles protected from multiple-inclusion
361	skip even opening the file after first include.
362	Initially this only handles makefiles guarded by a variable
363	target guards are next.
364
3652023-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
366
367	* VERSION (_MAKE_VERSION): 20230616
368	Merge with NetBSD make, pick up
369	o var.c: do not allow delete of readOnly variable
370
3712023-06-03  Simon J Gerraty  <sjg@beast.crufty.net>
372
373	* VERSION (_MAKE_VERSION): 20230601
374	Merge with NetBSD make, pick up
375	o parse.c: .break takes no args
376	o lots of unit test updates
377
3782023-05-29  Simon J Gerraty  <sjg@beast.crufty.net>
379
380	* unit-tests/Makefile: skip tests that require /dev/filemon
381	if it does not exists - issue a warning.
382
3832023-05-22  Simon J Gerraty  <sjg@beast.crufty.net>
384
385	* VERSION (_MAKE_VERSION): 20230522
386	Fix building on darwin ppc
387
388	* os.sh (MACHINE): Darwin powerpc cannot use `uname -m`
389	also recent NetBSD uses x86_64 for MACHINE_ARCH so conform.
390
3912023-05-15  Simon J Gerraty  <sjg@beast.crufty.net>
392
393	* VERSION (_MAKE_VERSION): 20230515
394
395	* Makefile (COPTS.filemon_ktrace.c): NetBSD 7 needs help to
396	compile filemon_ktrace.c
397
3982023-05-13  Simon J Gerraty  <sjg@beast.crufty.net>
399
400	* VERSION (_MAKE_VERSION): 20230512
401	o sys.dirdeps.mk - broke after-import target
402
4032023-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
404
405	* VERSION (_MAKE_VERSION): 20230510
406	Merge with NetBSD make, pick up
407	o parse.c: don't print null filename in stack traces
408	o var.c: :mtime operate on each word in variable value
409
4102023-05-09  Simon J Gerraty  <sjg@beast.crufty.net>
411
412	* VERSION (_MAKE_VERSION): 20230509
413	Merge with NetBSD make, pick up
414	o for.c: skip syntactically wrong .for loops
415	o var.c: allow for :gmtime=${mtime}
416	add :mtime[=timestamp] where timestamp is used if stat(2)
417	fails, if :mtime=error stat(2) failure causes error.
418
4192023-05-05  Simon J Gerraty  <sjg@beast.crufty.net>
420
421	* VERSION (_MAKE_VERSION): 20230504
422	Merge with NetBSD make, pick up
423	o compat.c: fix compile on NetBSD 7.2
424	o make.1: fix documentation of .PREFIX to match reality and POSIX
425	o unit-tests: improved var-scope-local
426
4272023-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
428
429	* VERSION (_MAKE_VERSION): 20230414
430	Merge with NetBSD make, pick up
431	o minor cleanup
432
4332023-03-25  Simon J Gerraty  <sjg@beast.crufty.net>
434
435	* main.c: on some systems (eg OS/X) setting RLIMIT_NOFILE to
436	unlimited results in an insane number (0x7fffffffffffffff).
437	If BMAKE_NOFILE_MAX is defined, use that instead.
438
4392023-03-22  Simon J Gerraty  <sjg@beast.crufty.net>
440
441	* VERSION (_MAKE_VERSION): 20230321
442	Merge with NetBSD make, pick up
443	* make.1: document seemingly unexplained Error code 6.
444
4452023-03-18  Simon J Gerraty  <sjg@beast.crufty.net>
446
447	* VERSION (_MAKE_VERSION): 20230317
448	Merge with NetBSD make, pick up
449	o compat.c: CompatDeleteTarget skip .PHONY targets to be
450	consistent with JobDeleteTarget.
451	o job.c: fix memory leak in handling sysv :from=to modifiers
452
4532023-03-04  Simon J Gerraty  <sjg@beast.crufty.net>
454
455	* VERSION (_MAKE_VERSION): 20230303
456	Merge with NetBSD make, pick up
457	o several updated unit-tests
458
4592023-02-22  Simon J Gerraty  <sjg@beast.crufty.net>
460
461	* VERSION (_MAKE_VERSION): 20230222
462	Merge with NetBSD make, pick up
463	o unit tests for .MAKE.META.IGNORE_{FILTER,PATHS,PATTERNS}
464
4652023-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
466
467	* VERSION (_MAKE_VERSION): 20230218
468	Merge with NetBSD make, pick up
469	o var.c: fix parsing of unevaluated subexpressions with
470	unbalanced '{}'
471
4722023-02-17  Simon J Gerraty  <sjg@beast.crufty.net>
473
474	* VERSION (_MAKE_VERSION): 20230215
475	Merge with NetBSD make, pick up
476	o inline macros for some variable names
477	o cond.c: reduce complexity of evaluating expressions
478
4792023-02-08  Simon J Gerraty  <sjg@beast.crufty.net>
480
481	* VERSION (_MAKE_VERSION): 20230208
482	Merge with NetBSD make, pick up
483	o var.c: always use SCOPE_GLOBAL for :_ to avoid problems
484	when it has been used within conditional expressions
485
4862023-01-27  Simon J Gerraty  <sjg@beast.crufty.net>
487
488	* VERSION (_MAKE_VERSION): 20230127
489
490	* install-sh: if making directories ensure umask is set
491	to match mode.
492
493	* Makefile: use DIRMODE for directories and
494	NONBINMODE for man pages and mk files
495
4962023-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
497
498	* VERSION (_MAKE_VERSION): 20230126
499	Merge with NetBSD make, pick up
500	o variables like .newline and .MAKE.{GID,PID,PPID,UID}
501	should be read-only.
502
5032023-01-23  Simon J Gerraty  <sjg@beast.crufty.net>
504
505	* VERSION (_MAKE_VERSION): 20230123
506	Merge with NetBSD make, pick up
507	o .[NO]READONLY: for control of read-only variables
508	o .SYSPATH: for controlling the path searched for makefiles
509
5102023-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
511
512	* VERSION (_MAKE_VERSION): 20230120
513	Merge with NetBSD make, pick up
514	o allow for white-space between command specifiers @+-
515	o add more details to warning 'Extra targets ignored'
516
5172023-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
518
519	* machine.sh: leverage os.sh rather than duplicate
520	also dispence with the $OS.$MACHINE values - we have $HOST_TARGET
521	for that purpose for the past decade or so.
522	We invariably get MACHINE and MACHINE_ARCH at runtime anyway.
523
5242023-01-02  Simon J Gerraty  <sjg@beast.crufty.net>
525
526	* VERSION (_MAKE_VERSION): 20230101
527	Merge with NetBSD make, pick up
528	o cleanup comments, inline some LazyBuf_ methods
529	o unit-tests/ add/improve comments in tests
530	o make.1: sync list of built-in variables with reality
531	sort list of built-in variables
532	reduce indentation of the long list of variable names
533	use consistent markup for boolean flags
534	move description of .MAKE.MODE below the .MAKE.META block
535	clarify in which case an expression may omit braces
536
5372022-11-08  Simon J Gerraty  <sjg@beast.crufty.net>
538
539	* VERSION (_MAKE_VERSION): 20221024
540	Merge with NetBSD make, pick up
541	o change return type of unlink_file back to int
542
5432022-10-07  Simon J Gerraty  <sjg@beast.crufty.net>
544
545	* Makefile: Darwin and Linux can handle MANTARGET=man
546
5472022-09-28  Simon J Gerraty  <sjg@beast.crufty.net>
548
549	* VERSION (_MAKE_VERSION): 20220928
550	Merge with NetBSD make, pick up
551	o fix more ignored returns from snprintf
552	o compile with higher warnings
553
5542022-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
555
556	* main.c meta.c: do not ignore return from snprintf
557
558	* meta.c strlcpy.c: we need prototype for strlcpy
559
560	* sigcompat.c: fix unused function warnings
561
5622022-09-24  Simon J Gerraty  <sjg@beast.crufty.net>
563
564	* VERSION (_MAKE_VERSION): 20220924
565	Merge with NetBSD make, pick up
566	o fix bug in .break reset of conditional depth
567	o overhaul and simplify tracking of conditional depth
568
5692022-09-17  Simon J Gerraty  <sjg@beast.crufty.net>
570
571	* VERSION (_MAKE_VERSION): 20220912
572	Merge with NetBSD make, pick up
573	o man page updates
574
5752022-09-09  Simon J Gerraty  <sjg@beast.crufty.net>
576
577	* VERSION (_MAKE_VERSION): 20220909
578	Merge with NetBSD make, pick up
579	o update unit-tests to handle deprecation of egrep
580	o cond.c: add more details to error message for numeric comparison
581
582	* configure.in: allow for deprecation of egrep
583
584	* Makefile: Linux can handle MANTARGET=man
585
5862022-09-03  Simon J Gerraty  <sjg@beast.crufty.net>
587
588	* VERSION (_MAKE_VERSION): 20220903
589	Merge with NetBSD make, pick up
590	o job.c: fix handling of null bytes in output
591
5922022-09-02  Simon J Gerraty  <sjg@beast.crufty.net>
593
594	* VERSION (_MAKE_VERSION): 20220902
595	Merge with NetBSD make, pick up
596	o Allow .break to terminate a .for loop early
597
5982022-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
599
600	* VERSION (_MAKE_VERSION): 20220901
601	Merge with NetBSD make, pick up
602	o var.c: fix out-of-bounds errors when parsing
603
6042022-08-24  Simon J Gerraty  <sjg@beast.crufty.net>
605
606	* VERSION (_MAKE_VERSION): 20220824
607	Merge with NetBSD make, pick up
608	o var.c: revert change to modifier parsing that breaks
609	shell variable references within ':@var@body@'
610	o adjust unit-tests
611
6122022-08-18  Simon J Gerraty  <sjg@beast.crufty.net>
613
614	* VERSION (_MAKE_VERSION): 20220818
615	Merge with NetBSD make, pick up
616	o fix exit status for '-q' (since 1994)
617
6182022-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
619
620	* VERSION (_MAKE_VERSION): 20220808
621	Merge with NetBSD make, pick up
622	o var.c: fix parsing of modifiers containing unbalanced subexpressions
623	extract parsing of ':D' and ':U' modifiers into separate function
624
6252022-07-26  Simon J Gerraty  <sjg@beast.crufty.net>
626
627	* VERSION (_MAKE_VERSION): 20220726
628
629	* Auto-create objdir for bmake/unit-tests if appropriate
630
6312022-07-24  Simon J Gerraty  <sjg@beast.crufty.net>
632
633	* VERSION (_MAKE_VERSION): 20220724
634	Merge with NetBSD make, pick up
635	o make.1: describe variable assignment and evaluation more precisely
636	o parse.c: fix out-of-bounds read when parsing an invalid line
637	o var.c: simplify return type of IsShortVarnameValid
638
6392022-06-12  Simon J Gerraty  <sjg@beast.crufty.net>
640
641	* VERSION (_MAKE_VERSION): 20220612
642	Merge with NetBSD make, pick up
643	o allow to randomize build order of targets
644	.MAKE.MODE += randomize-targets can help uncover dependency bugs
645	within a makefile.
646	o compat.c: rename Compat_Run to Compat_MakeAll
647	o make.c: inline MakeBuildParent
648	inline make_abort, improve error details
649	o parse.c: reorganize Parse_Error
650	fix memory leak in wildcard targets and sources
651	separate cases in HandleDependencyTargetMundane
652	extract HandleSingleDependencyTargetMundane
653	rename loadfile to LoadFile
654	split IncludeFile into separate functions
655	condense code for searching a file in the paths
656	fix off-by-one error in buffer for .WAIT nodes
657	o str.c: condense Str_Match
658	make code for string matching syntactically more consistent
659
6602022-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
661
662	* VERSION (_MAKE_VERSION): 20220418
663	Merge with NetBSD make, pick up
664	o ignore '.POSIX:' if not in first non-comment line
665	of Makefile as specified by POSIX.
666	add unit-tests for above.
667	o meta.c: make it easier to find usage of identifiers
668	o targ.c: add .USEBEFORE to Targ_PrintType
669
6702022-04-14  Simon J Gerraty  <sjg@beast.crufty.net>
671
672	* VERSION (_MAKE_VERSION): 20220414
673
674	* unit-tests/Makefile: simplify checks for shells with
675	BROKEN_TESTS, this helps with other Linux distros that
676	use dash.
677
6782022-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
679
680	* VERSION (_MAKE_VERSION): 20220330
681	Merge with NetBSD make, pick up
682	o var.c: fix spacing, and a typo in a test
683
6842022-03-26  Simon J Gerraty  <sjg@beast.crufty.net>
685
686	* VERSION (_MAKE_VERSION): 20220326
687	Merge with NetBSD make, pick up
688	o parse.c: try to include 'posix.mk' the first time
689	.POSIX: is encountered, to allow for beter POSIX compliance.
690	o var.c: make debug logs more readable
691	prefer 'long long' over 'long' on 32-bit C99 platforms
692	fix crash on .undef of an environment variable
693
6942022-03-03  Simon J Gerraty  <sjg@beast.crufty.net>
695
696	* VERSION (_MAKE_VERSION): 20220303
697	Merge with NetBSD make, pick up
698	o tell meta mode unit tests not to expect filemon
699	o cond.c: make debug logging for comparisons less technical
700	o lst.c: fix mem leak in Lst_Remove
701	o str.c: make code for string matching syntactically more consistent
702	o var.c: simplify ParseModifier_Match
703
7042022-02-14  Simon J Gerraty  <sjg@beast.crufty.net>
705
706	* unit-tests/Makefile: control MAKESYSPATH for deptgt-phony
707
708	* VERSION (_MAKE_VERSION): 20220214
709	Merge with NetBSD make, pick up
710	o cond.c: simplify control flow in CondParser_Comparison
711	o job.c: fix echoing of command with '-' in silent target in jobs mode
712	o main.c: prefix the warning about read-only .OBJDIR with a colon
713	o parse.c: remove redundant conditions
714	o var.c: simplify control flow in ModifyWord_SysVSubst
715
7162022-02-08  Simon J Gerraty  <sjg@beast.crufty.net>
717
718	* unit-tests/Makefile: disable opt-debug-x-trace on Linux if there
719	is any chance we have dash as .SHELL
720
721	* VERSION (_MAKE_VERSION): 20220208
722	Merge with NetBSD make, pick up
723	o more unit tests
724	o meta.c: use a variable to hold command line to be filtered
725	to avoid any side effects from content of command line.
726
7272022-02-04  Simon J Gerraty  <sjg@beast.crufty.net>
728
729	* VERSION (_MAKE_VERSION): 20220204
730	Merge with NetBSD make, pick up
731	o use unsigned consistently for line numbers, avoid the need for %z
732	o parse.c: do not step off end of input in Parse_IsVar
733	when checking for target local variable assignments
734
7352022-02-02  Simon J Gerraty  <sjg@beast.crufty.net>
736
737	* VERSION (_MAKE_VERSION): 20220202
738	Merge with NetBSD make, pick up
739	o remove redundant declaration of HashIter_Init
740	o make DEBUG0 simpler
741
7422022-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
743
744	* cast gn->lineno to avoid %z
745
746	* VERSION (_MAKE_VERSION): 20220130
747	Merge with NetBSD make, pick up
748	o more unit tests
749	o make GNode lineno unsigned to please lint
750	o print location of recursive variable references in commands
751	o print "stack trace" (makefile includes) on fatal errors
752	o make.1: refine documentation for target local assignments
753
7542022-01-28  Simon J Gerraty  <sjg@beast.crufty.net>
755
756	* VERSION (_MAKE_VERSION): 20220128
757	Merge with NetBSD make, pick up
758	o inline functions called only once
759	o for.c: clean up AddEscape for building the body of a .for loop
760	o hash.c: merge duplicate code for finding an entry in a hash table
761	replace HashEntry_KeyEquals with strncmp
762	o make.1: document quirks of target local variable assignments.
763	o parse.c: cleanup white-space
764
7652022-01-26  Simon J Gerraty  <sjg@beast.crufty.net>
766
767	* VERSION (_MAKE_VERSION): 20220126
768	Merge with NetBSD make, pick up
769	o allow setting target local variables
770	o more unit tests
771	o add missing newline after "cannot continue" message
772	o meta.c: clean up eat_dots
773	o parse.c: fix filename in warning about duplicate script
774	o var.c: when expanding nested variables, check simple things first
775
7762022-01-16  Simon J Gerraty  <sjg@beast.crufty.net>
777
778	* VERSION (_MAKE_VERSION): 20220116
779	Merge with NetBSD make, pick up
780	o fix for unit-tests/varname-makeflags on non-BSD systems
781	o use Var_Exists rather than Var_Value where appropriate
782	o remove unnecessary functions for expanding variable names
783	o cond.c: inline EvalBare
784	o main.c: lint cleanup
785	o parse.c: condense code in Parse_IsVar
786	use islower for parsing directives (none have upper case)
787
7882022-01-12  Simon J Gerraty  <sjg@beast.crufty.net>
789
790	* VERSION (_MAKE_VERSION): 20220112
791	Merge with NetBSD make, pick up
792	o meta.c: add .MAKE.META.CMP_FILTER for filtering commands before
793	comparion, rarely needed but useful when it is.
794
7952022-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
796
797	* VERSION (_MAKE_VERSION): 20220110
798	Merge with NetBSD make, pick up
799	o inline Buf_Clear
800	o remove redundant braces
801	o rename and inline Targ_Precious
802	o cond.c: remove redundant initializer in CondParser_ComparisonOrLeaf
803	o for.c: clean up handling of .for loops
804	fix reported line numbers of continuation lines
805	add details about .for loop variables to stack traces
806	o job.c: reduce code for initializing error handling in shell
807	o main.c: in Cmd_Exec, return error message instead of format string
808	have as few statements as possible between va_start and va_end
809	add debug logging for capturing the output of external commands
810	o make.c: use consistent variable names for varargs
811	o make_malloc.c: remove duplicate code from bmake_strdup
812	o parse.c: add missing printflike annotations
813	remove redundant lines from stack traces
814	fix stack traces in -dp mode
815	reduce confusing code in ParseForLoop
816	fix line number in debug log after returning from a file
817	rename IFile and its fields to match their actual content
818	clean up ParseDependencySources
819	o var.c: shorten ApplyModifier_Assign
820	rename is_shell_metachar, fix character conversion warning
821	merge calls to ApplyModifier_Time
822	merge duplicate code for modifiers 'gmtime' and 'localtime'
823
8242022-01-04  Simon J Gerraty  <sjg@beast.crufty.net>
825
826	* parse.c: loadfile restore extra byte in buffer.
827
8282022-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
829
830	* VERSION (_MAKE_VERSION): 20220101
831	Merge with NetBSD make, pick up
832	o more unit-tests
833	o remove unnecessary words from command line options in CmdOpts
834	o rename eunlink to unlink_file
835	o cond.c: make ParseWord in condition parser simpler
836	internally return false for irrelevant leaves in conditions
837	replace table for function lookup in conditions with simple code
838	merge duplicate types CondEvalResult and CondResult
839	o for.c: clean up handling of .for loops and .include directives
840	o main.c: constify cached_realpath
841	clean up Cmd_Exec
842	o parse.c: sync API documentation
843	fix error message when reading more than 1 GB from stdin
844	clean up parsing of makefiles
845	fix line number in error message about open conditionals
846	unexport types VarAssignOp and VarAssign
847	clean up function names
848	remove redundant parameters in dependency parsing functions
849	reduce scope of the list of wildcard target names
850	extract OP_NOTARGET into separate function
851	clean up variable names for parsing dependency lines
852	make debug logging a bit more human-friendly
853	o var.c: condense code in ApplyModifier_Assign
854
8552021-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
856
857	* VERSION (_MAKE_VERSION): 20211221
858	Merge with NetBSD make, pick up
859	o more unit-tests
860	o style cleanup
861	o in CLEANUP mode, free interned strings at the very end
862	o fix memory leak for filenames in .for loops
863	o buf.c: avoid memory leak
864	o cond.c: condense CondParser_ComparisonOp
865	o hash.c: change return type of HashTable_Set to void
866	o job.c: change return type of Compat_RunCommand from int to bool
867	o main.c: remove bmake_free
868	o parse.c: condense repetetive code in ParseDirective
869	remove dead code for handling traditional include directives
870	clean up parsing of variable assignments
871	remove unreachable code for parsing the dependency operator
872	clean up loading of files
873	fix memory leak in IncludeFile
874	o var.c: fix memory leak when parsing a variable name
875	fix memory leak from ${.SUFFIXES}
876	reduce memory allocation in modifier ':?' and ':C'
877	condense RegexReplace for the modifier ':C' and avoid strlen
878	merge duplicate code for memory handling in Var_Parse
879	distinguish between short-lived and environment variables
880	rename VarFreeEnv to VarFreeShortLived
881
8822021-12-15  Simon J Gerraty  <sjg@beast.crufty.net>
883
884	* cond.c: fix mem leak in CondParser_Leaf
885
8862021-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
887
888	* VERSION (_MAKE_VERSION): 20211212
889	Merge with NetBSD make, pick up
890	o rename Parse_SetInput to Parse_PushInput
891	o remove remove period from end of error messages and warnings
892	to be more consistent
893	o arch.c: use simpler memory management for parsing archive members
894	o cond.c: rework and reduce recursion
895	o for.c: rename some functions to better reflect purpose
896	o suff.c: add Suff_NamesStr to provide .SUFFIXES as a string.
897	o var.c: in parse errors, mark whitespace more clearly
898	inline ParseEmptyArg into CondParser_FuncCallEmpty
899	minimize calls to LazyBuf_Get in ParseVarnameLong
900	treat .SUFFIXES as a read-only variable
901
9022021-12-07  Simon J Gerraty  <sjg@beast.crufty.net>
903
904	* VERSION (_MAKE_VERSION): 20211207
905	Merge with NetBSD make, pick up
906	o inline HashIter_Init
907	o parse.c: inline common subexpression in ParseRawLine
908	o var.c: merge branches for modifiers ':D' and ':U'
909	extract common code into Expr_Words
910	extract common code into Expr_Str
911	move low-level implementation details out of Var_Parse
912	
9132021-12-06  Simon J Gerraty  <sjg@beast.crufty.net>
914
915	* VERSION (_MAKE_VERSION): 20211206
916	Merge with NetBSD make, pick up
917	o add unit-tests/varmod-loop-delete
918	o for.c: inline Str_Words - reduce memory allocation
919	o parse.c: do not try to expand fixed variable names
920	only allocate the name of an included file if necessary
921	clean up ParseInclude
922	o var.c: fix use-after-free in modifier ':@'
923	save a memory allocation in each modifier ':O' and ':u'
924	save a memory allocation in the modifier ':[...]'
925	in UnexportVars, replace Str_Words with Substring_Words to
926	reduce allocations and copying.
927	
9282021-12-04  Simon J Gerraty  <sjg@beast.crufty.net>
929
930	* VERSION (_MAKE_VERSION): 20211204
931	Merge with NetBSD make, pick up
932	o flesh out a number of tests
933	o replace enums with bitfields, this simplifies a lot of code.
934	o var.c: refactor ParseModifierPartSubst
935
9362021-10-24  Simon J Gerraty  <sjg@beast.crufty.net>
937
938	* VERSION (_MAKE_VERSION): 20211024
939	Merge with NetBSD make, pick up
940	o Punt on write errors - ENOSPC etc.
941
9422021-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
943
944	* configure.in: use_defshell, set both DEFSHELL_INDEX
945	and defshell_path if appropriate.
946	This makes it easier to use say the KSH specification with
947	and alternate path for the shell.
948	
949	* configure.in compat.c: for SCO we need to force UseShell
950
951	* configure.in: SCO /bin/sh is not usable, provide a list of
952	alternatives for use as .SHELL.
953	We still have to mark some tests as broken, plus more if we end up
954	with ksh as .SHELL.
955	Issue a warning about skipped tests.
956
957	* boot-strap: leave TOOL_DIFF to configure
958
959	* configure.in: on SCO native cc is not usable,
960	gcc is to be found in /usr/gnu/bin
961	and while ancient is at least able to compile bmake.
962	Thus we add /usr/gnu/bin to PATH if it exists, and later
963	check if $CC would have been found via $PATH.
964	If not we set CC to the full path of $CC.
965	Also gnu diff is known to support -u, so if it exists use it.
966
967	* configure.in: move getopt to AC_REPLACE_FUNCS
968	also add AC_C_INLINE - in an attempt to compile using
969	native cc on SCO.
970
971	* configure.in: check for stresep as well as strsep, since we
972	define the later to the former if necessary, and if we have to
973	provide stresep we also need to provide a prototype.
974
975	* configure.in: we no longer need to worry about
976	sys/cdefs.h providing __RCSID which simplifies things quite a bit.
977
978	* make.h: make sure we have __RCSID
979
980	* unit-tests/Makefile.config.in: add TOOL_DIFF so configure
981	can control it.
982
9832021-10-20  Simon J Gerraty  <sjg@beast.crufty.net>
984
985	* VERSION: 20211020
986	Merge with NetBSD make, pick up
987	o confirm sync of unit-tests
988
9892021-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
990
991	* configure.in: check if timezone Europe/Berlin is supported
992	if not try UTC-1
993	* configure.in: if .OBJDIR is $srcdir/obj we need to create a
994	symlink unit-tests -> ../unit-tests/obj so that
995	unit-tests/Makefile.config is put in the right place.
996	* refine filtering of .OBJDIR in unit-tests
997	
9982021-10-16  Simon J Gerraty  <sjg@beast.crufty.net>
999
1000	* Fix unit-tests on Minix 3.2.0
1001	o job.c: do not punt if read of token pipe fails for EAGAIN.
1002	On Minix at least, we are not ready to read the childExitJob pipe
1003	when poll says we are.
1004	There should actually be no reason for this pipe to be
1005	non-blocking, but while that works fine on {Net,Free}BSD it
1006	breaks another test case on Minix.
1007	o unit-tests/Makefile: deal with variants of error messages
1008	  and use of obj as .OBJDIR
1009
10102021-10-14  Simon J Gerraty  <sjg@beast.crufty.net>
1011
1012	* configure.in: add sigaction to AC_REPLACE_FUNCS
1013	we also need to check for sigaddset etc just for the benefit of
1014	sigact.c
1015
1016	* Add sigact.c as sigaction.c so this "just works".
1017	This should have been done back when bmake_signal started using
1018	sigaction (I only just noticed that sigact.c wasn't here ;-)
1019	Note: I no longer have access to any system where this would matter.
1020
10212021-10-13  Simon J Gerraty  <sjg@beast.crufty.net>
1022
1023	* VERSION (_MAKE_VERSION): 20211011
1024
1025	* Makefile: cleanup a little
1026
1027	* configure.in: check for sigsetmask
1028
10292021-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
1030
1031	* VERSION (_MAKE_VERSION): 20211001
1032	Merge with NetBSD make, pick up
1033	o reduce locations reducing text size
1034	o remove unnecessary const
1035	o cond.c: fix lint warning on i386
1036	do not allow unquoted 'left == right' after modifier ':?'
1037	o hash.c: fix build for DEBUG_HASH_LOOKUP
1038	o var.c: fix memory leak in error case of the ':?' modifier
1039	
10402021-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
1041
1042	* VERSION (_MAKE_VERSION): 20210911
1043	Merge with NetBSD make, pick up
1044	o var.c: replace remaining ModChain_ShouldEval with Expr_ShouldEval
1045
10462021-09-08  Simon J Gerraty  <sjg@beast.crufty.net>
1047
1048	* VERSION (_MAKE_VERSION): 20210906
1049	Merge with NetBSD make, pick up
1050	o more unit tests
1051	o lint cleanup
1052	o rename some functions to better fit purpose
1053	o for.c: cleanup - remove unnecessary optimization
1054	  fix embedded newlines
1055	o parse.c: correct case for CVS/RCS
1056	
10572021-08-11  Simon J Gerraty  <sjg@beast.crufty.net>
1058
1059	* VERSION (_MAKE_VERSION): 20210808
1060	Merge with NetBSD make, pick up
1061	o var.c: remove redundant initialization in ApplyModifier_Order
1062
1063	* mk/options.mk: issue warning for incorrect usage
1064
10652021-08-03  Simon J Gerraty  <sjg@beast.crufty.net>
1066
1067	* var.c: use long for :On if we don't have a 64bit int type 
1068
1069	* VERSION (_MAKE_VERSION): 20210803
1070	Merge with NetBSD make, pick up
1071	o rework varmod-order tests to avoid qsort instability
1072	o make.1: clarify :On entry
1073
10742021-07-31  Simon J Gerraty  <sjg@beast.crufty.net>
1075
1076	* VERSION (_MAKE_VERSION): 20210731
1077	Merge with NetBSD make, pick up
1078	o fix some lint issues
1079	o more unit tests
1080	o var.c: rework of ApplyModifier_Order
1081
10822021-07-30  Simon J Gerraty  <sjg@beast.crufty.net>
1083
1084	* util.c: add strto*l if HAVE_STRTO*L not defined
1085
1086	* VERSION (_MAKE_VERSION): 20210730
1087	Merge with NetBSD make, pick up
1088	o var.c: add :On and :Orn for numeric sort
1089	  disabled if no 64bit type available.
1090	o _strtol.h: to implement strto*l functions
1091
10922021-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
1093
1094	* VERSION (_MAKE_VERSION): 20210704
1095	Merge with NetBSD make, pick up
1096	o unit-tests: fix some tests to be more portable
1097	- job-output-null not all shells do the same number of write calls
1098	- objdir-writable if TMPDIR is set; /tmp may not be usable
1099
11002021-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
1101
1102	* VERSION (_MAKE_VERSION): 20210701
1103	Merge with NetBSD make, pick up
1104	o unit-tests: allow for BROKEN_TESTS to list TESTS to be skipped;
1105	some tests just cannot work in some environments.
1106	o buf.c: simpler upper bound for length in Buf_AddInt
1107	o cond.c: fix grammar in error message for malformed conditional
1108	o for.c: prevent newline injection (from ${.newline}) in .for loops
1109	o var.c: use more practical data type in RegexReplace
1110	(avoid need for %zu)
1111	extract RegexReplace from ModifyWord_SubstRegex
1112	
11132021-06-21  Simon J Gerraty  <sjg@beast.crufty.net>
1114
1115	* VERSION (_MAKE_VERSION): 20210621
1116	Merge with NetBSD make, pick up
1117	o var.c: only report error for unmatched regex subexpression
1118	when linting (-dL) since we cannot tell when an unmatched
1119	subexpression is an expected result.
1120	o move unmatched regex subexpression tests to
1121	varmod-subst-regex.mk and enable strict (lint) mode
1122
11232021-06-16  Simon J Gerraty  <sjg@beast.crufty.net>
1124
1125	* VERSION (_MAKE_VERSION): 20210616
1126	Merge with NetBSD make, pick up
1127	o more unit tests
1128	o cond.c: rename If_Eval to EvalBare
1129	improve function names for parsing conditions
1130	o job.c: fix error handling of targets that cannot be made
1131	o var.c: uncompress code in ApplyModifier_Unique
1132
11332021-05-18  Simon J Gerraty  <sjg@beast.crufty.net>
1134
1135	* VERSION (_MAKE_VERSION): 20210518
1136	Merge with NetBSD make, pick up
1137	o fix unit-tests/opt-chdir to cope with /nonexistent existing.
1138	o job.c: Print -de error information when running multiple jobs
1139
11402021-04-20  Simon J Gerraty  <sjg@beast.crufty.net>
1141
1142	* VERSION (_MAKE_VERSION): 20210420
1143	Merge with NetBSD make, pick up
1144	o use C99 bool type
1145	o convert VarEvalFlags back into an enum
1146	o cond.c: do not complain when skipping the condition 'no >= 10'
1147	o hash.c: avoid allocating memory for simple variable names
1148	o job.c: use distinct wording for writing to the shell commands file
1149	remove type name for the abort status in job handling
1150	rename PrintOutput to PrintFilteredOutput to avoid confusion
1151	o main.c: avoid double slash in name of temporary directory
1152	o var.c: use straight quotes for error 'Bad conditional expression'
1153	reduce memory allocations in the modifiers ':D' and ':U'
1154	rename members of ModifyWord_LoopArgs
1155	clean up pattern flags for the modifiers ':S' and ':C'
1156	reduce memory allocation and strlen calls in modifier ':from=to'
1157	in the ':Q' modifier, only allocate memory if necessary
1158	improve performance for LazyBuf
1159	remove redundant parameter from ParseVarnameLong
1160	migrate ParseModifierPart to use Substring
1161	avoid unnecessary calls to strlen when evaluating modifiers
1162	migrate ModifyWord functions to use Substring
1163	migrate handling of the modifier ':S,from,to,' to Substring
1164	reduce debug logging and memory allocation for ${:U...}
1165	reduce verbosity of the -dv debug logging for standard cases
1166	clean up debug logging for ':M' and ':N'
1167	disallow '$' in the variable name of the modifier ':@'
1168	simplify access to the name of an expression during evaluation
1169
11702021-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
1171
1172	* VERSION (_MAKE_VERSION): 20210330
1173	Merge with NetBSD make, pick up
1174	o replace enum bit-field with struct bit-field for VarEvalFlags
1175	o rename VARE_NONE to VARE_PARSE_ONLY
1176	o var.c: rename ApplyModifiersState to ModChain
1177	fix double varname expansion in the variable modifier '::='
1178	change debug log for variable evaluation flags to lowercase
1179
11802021-03-14  Simon J Gerraty  <sjg@beast.crufty.net>
1181
1182	* VERSION (_MAKE_VERSION): 20210314
1183	Merge with NetBSD make, pick up
1184	o var.c: avoid evaluating many modifiers in parse only mode
1185	in strict mode (-dL) many variable references are parsed twice,
1186	the first time just to report parse errors early, so we want to
1187	avoid side effects and wasted effort to the extent possible.
1188
11892021-02-26  Simon J Gerraty  <sjg@beast.crufty.net>
1190
1191	* VERSION (_MAKE_VERSION): 20210226
1192	Merge with NetBSD make, pick up
1193	o remove freestanding freeIt variables
1194	link via FStr
1195	o var.c: restructure code in ParseVarname to target human readers
1196	improve error message for;
1197	  bad modifier in variable expression
1198	  unclosed modifier
1199	  unknown modifier
1200	remove redundant parameter of ApplySingleModifier
1201	explain non-obvious code around indirect variable modifiers
1202	quote ':S' in error message about missing delimiter
1203	extract ParseModifier_Match into separate function
1204	add context information to error message about ':range' modifier
1205	add quotes around variable name in an error message
1206	reorder code in ModifyWords
1207	use more common parameter order for VarSelectWords
1208	make ModifyWord_Subst a little easier to understand
1209	do not expand variable name from the command line twice
1210	extract ExistsInCmdline from Var_SetWithFlags
1211	save a hash map lookup when defining a cmdline variable
1212	clean up VarAdd, Var_Delete, Var_ReexportVars
1213	use bit-shift expressions for VarFlags constants
1214	rename constants for VarFlags
1215	rename ExprDefined constants for debug logging
1216	rename ExprStatus to ExprDefined
1217	split parameters for evaluating variable expressions
1218	reduce redundant code around ModifyWords
1219	print error about failed shell command before overwriting variable
1220	clean up ValidShortVarname, ParseVarnameShort
1221	rename VarExprStatus to ExprStatus
1222	add functions for assigning the value of an expression
1223	rename ApplyModifiersState_Define to Expr_Define
1224	condense the code for parsing :S and :C modifiers
1225
12262021-02-06  Simon J Gerraty  <sjg@beast.crufty.net>
1227
1228	* VERSION (_MAKE_VERSION): 20210206
1229	Merge with NetBSD make, pick up
1230	o unit-tests: use private TMPDIR to avoid errors from other users
1231
12322021-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
1233
1234	* VERSION (_MAKE_VERSION): 20210205
1235	Merge with NetBSD make, pick up
1236	o avoid strdup in mkTempFile
1237	o always use vfork
1238	o rename context and ctxt to scope
1239	o rename some VAR constants to SCOPE
1240	o Var_ functions, move the scope to the front
1241	o use shortcut functions Global_Set and Global_Append
1242	o add shortcut Global_Delete for deleting a global variable
1243	o rename Var_Delete to Var_DeleteExpand, Var_DeleteVar to Var_Delete
1244	o compat.c: when exiting due to an error, print graph information
1245	o enum.c: remove overengineered Enum_ValueToString
1246	o make.c: remove unused INTERNAL flag
1247	remove unused return type of MakeBuildParent
1248	o parse.c: replace parse error "Need an operator" with better message
1249	o var.c: improve documentation about variable scopes
1250	rename Var_ValueDirect to GNode_ValueDirect
1251	rename old Var_SetWithFlags to Var_SetExpandWithFlags
1252	merge SetVar into Var_SetWithFlags
1253	split Var_Exists into plain Var_Exists and Var_ExistsExpand
1254	split Var_Append into Var_Append and Var_AppendExpand
1255	replace enum bit-set with bit-field
1256	o unit-tests/var-op-shell: use kill rather than kill -14
1257	which broke on darwin with recent update.
1258
12592021-02-01  Simon J Gerraty  <sjg@beast.crufty.net>
1260
1261	* configure.in: check for sig_atomic_t and define it as 'int'
1262	if missing.
1263
1264	* VERSION (_MAKE_VERSION): 20210201
1265	Merge with NetBSD make, pick up
1266	o use sig_atomic_t for caught_sigchld
1267
12682021-01-30  Simon J Gerraty  <sjg@beast.crufty.net>
1269
1270	* VERSION (_MAKE_VERSION): 20210130
1271	Merge with NetBSD make, pick up
1272	o more unit tests
1273	o convert SearchPath to struct
1274	o split Buf_Destroy into Buf_Done and Buf_DoneData
1275	o for.c: split For_Eval into separate functions
1276	rename struct For to struct ForLoop
1277	o job.c: do not create empty shell files in jobs mode
1278	rename JobOpenTmpFile to JobWriteShellCommands
1279	reduce unnecessary calls to waitpid
1280	o parse.c: in -dp mode, print stack trace with each diagnostic
1281
12822021-01-23  Simon J Gerraty  <sjg@beast.crufty.net>
1283
1284	* VERSION (_MAKE_VERSION): 20210123
1285	Merge with NetBSD make, pick up
1286	o rename Dir_Expand to SearchPath_Expand
1287	o rename Dir_AddDir, reorder parameters of SearchPath_ToFlags
1288	o cond.c: fix debug output for comparison operators in conditionals
1289	o dir.c: split Dir_FindFile into separate functions
1290
12912021-01-20  Simon J Gerraty  <sjg@beast.crufty.net>
1292
1293	* VERSION (_MAKE_VERSION): 20210120
1294	Merge with NetBSD make, pick up
1295	o fix some more lint nits
1296	o refine some unit tests for portability
1297	o cond.c: rework parsing
1298
12992021-01-10  Simon J Gerraty  <sjg@beast.crufty.net>
1300
1301	* VERSION (_MAKE_VERSION): 20210110
1302	Merge with NetBSD make, pick up
1303	o fix lint warnings
1304	o consistently use boolean expressions in conditions
1305
13062021-01-08  Simon J Gerraty  <sjg@beast.crufty.net>
1307
1308	* VERSION (_MAKE_VERSION): 20210108
1309	Merge with NetBSD make, pick up
1310	o job.c: back to polling token pipe if we want a token
1311	o main.c: always print 'stopped in' on first call
1312	The execption is if we bail because of an abort token
1313	in which case just exit 6.
1314
13152021-01-01  Simon J Gerraty  <sjg@beast.crufty.net>
1316
1317	* VERSION (_MAKE_VERSION): 20210101
1318	Merge with NetBSD make, pick up
1319	o Happy New Year!
1320	o rename CmdOpts.lint to strict
1321	o exit 2 on technical errors
1322	o replace pointers in controlling conditions with booleans
1323	o replace global preserveUndefined with VARE_KEEP_UNDEF
1324	o compat.c: re-export variables from the actual make process
1325	if using vfork this is the effect anyway
1326	o cond.c: clean up VarParseResult constants
1327	o for.c: fix undefined behavior in SubstVarLong
1328	make control flow in SubstVarLong of .for loops more obvious
1329	clean up SubstVarShort in .for loops
1330	extract ForSubstBody from ForReadMore
1331	clean up ForReadMore
1332	simplify termination condition for .for loop
1333	add error handling for .for loop items
1334	job.c: re-export variables from the actual make process
1335	parse.c: remove mmap for loading files, only allow files < 1 GiB
1336	fix edge case in := with undefined in variable name
1337	skip variable expansion in ParseDependencyTargetWord
1338	var.c: split ExportVar into separate functions
1339	clean up code in extracted ExportVar functions
1340	remove dead code from ApplyModifiersIndirect
1341	split Var_Subst into easily understandable functions
1342	clean up VarParseResult constants
1343
13442020-12-25  Simon J Gerraty  <sjg@beast.crufty.net>
1345
1346	* main.c: use .MAKE.DEPENDFILE as set by makefiles
1347
13482020-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
1349
1350	* VERSION (_MAKE_VERSION): 20201222
1351	Merge with NetBSD make, pick up
1352	o make DEBUG macro return boolean
1353	o parse.c: fix assertion failure for files without trailing newline
1354	o var.c: allow .undef to undefine multiple variables at once
1355	remove excess newline from parse errors
1356
13572020-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
1358
1359	* VERSION (_MAKE_VERSION): 20201221
1360	Merge with NetBSD make, pick up
1361	o some unit-test updates
1362
13632020-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
1364
1365	* VERSION (_MAKE_VERSION): 20201220
1366	Merge with NetBSD make, pick up
1367	o more unit tests
1368	o return FStr from Var_Parse and Var_Value
1369	o spell nonexistent consistently
1370	o add str_basename to reduce duplicate code
1371	o compat.c: fix .ERROR_TARGET in compat -k mode
1372	extract InitSignals from Compat_Run
1373	extract UseShell from Compat_RunCommand
1374	o cond.c: error out if an '.endif' or '.else' contain extraneous text
1375	o for.c: rename ForIterate to ForReadMore
1376	o hash.c: clean up hash function for HashTable
1377	o lst.c: rename Vector.priv_cap to cap
1378	o main.c: remove constant parameter from MakeMode
1379	o make.c: use symbolic time for 0 in Make_Recheck
1380	extract MakeChildren from MakeStartJobs
1381	o parse.c: clean up memory handling in VarAssign_EvalShell, Parse_DoVar
1382	fix error message for .info/.warning/.error without argument
1383	extract Var_Undef from ParseDirective
1384	extract ParseSkippedBranches, ParseForLoop from ParseReadLine
1385	rename mode constants for ParseGetLine to be more expressive
1386	reduce debugging details in Parse_SetInput
1387	fix line numbers in .for loops
1388	split ParseGetLine into separate functions
1389	fix garbled output for failed shell command
1390	var.c: remove redundant assignment in ApplyModifier_SysV
1391	error out on unknown variable modifiers at parse time
1392	remove wrong error message for indirect modifier in lint mode
1393	extract ApplySingleModifier from ApplyModifiers
1394	use FStr for memory management in Var_SetWithFlags
1395	extract SetVar from Var_SetWithFlags
1396	use FStr in VarNew
1397	extract string functions from ApplyModifier_To
1398	error out if .undef has not exactly 1 argument
1399	extract Var_DeleteVar from Var_Delete
1400	extract Var_Undef from ParseDirective
1401	clean up memory management for expanding variable expressions
1402
14032020-12-12  Simon J Gerraty  <sjg@beast.crufty.net>
1404
1405	* avoid %zu
1406
1407	* lst.c: avoid anonymous union
1408
1409	* VERSION (_MAKE_VERSION): 20201212
1410	Merge with NetBSD make, pick up
1411	o more unit tests
1412	o inline Targ_Ignore and Targ_Silent
1413	o split JobFlags into separate fields
1414	o remove const from function parameters (left overs from refactoring)
1415	o eliminate boolean argument of Var_Export
1416	o make API of Buf_Init simpler
1417	o rename ParseRunOptions to ParseCommandFlags
1418	o replace *line with line[0]
1419	o compat.c: fix wrong exit status for multiple failed main targets
1420	refactor Compat_Run to show the error condition more clearly
1421	don't make .END if the main targets already failed (-k mode)
1422	fix exit status in -k mode if a dependency fails
1423	o for.c: clean up Buf_AddEscaped in .for loops
1424	o job.c: extract ShellWriter_ErrOn from JobPrintCommand
1425	make Job_Touch simpler
1426	refactor JobFinish
1427	rename Shell.exitFlag to errFlag
1428	move Job.xtraced to ShellWriter
1429	make printing of shell commands independent from the job
1430	rename shell flags in struct Shell
1431	extract JobOpenTmpFile from JobStart
1432	rename RunFlags to CommandFlags
1433	split various Job.* into separate fields
1434	rename commandShell to shell
1435	extract InitShellNameAndPath from Shell_Init
1436	replace signal handling macros with local functions
1437	replace macro MESSAGE with local function
1438	parse.c: error out on null bytes in makefiles
1439	error out on misspelled directives
1440	rename IFile.nextbuf to readMore
1441	fix undefined behavior in ParseEOF
1442	str.c: remove redundant call to strlen in Str_Words
1443	var.c: error out on misspelled .unexport-env
1444	error out on misspelled .export directives
1445	extract ExportVars from Var_Export
1446	extract ExportVarsExpand from Var_Export
1447	eliminate boolean argument of Var_Export
1448	fix undefined behavior when exporting ${:U }
1449	rename Var_ExportVars to Var_ReexportVars
1450	rename Var_Export1 to ExportVar
1451
14522020-12-06  Simon J Gerraty  <sjg@beast.crufty.net>
1453
1454	* VERSION (_MAKE_VERSION): 20201206
1455	Merge with NetBSD make, pick up
1456	o more unit tests
1457	o inline macros for debug logging
1458	o use consistent variable names for list nodes
1459	o define constants for enum zero-values
1460	o dir.c: use fixed format for debug output of the directory cache
1461	remove Dir_InitDir
1462	o lst.c: inline Lst_Enqueue, Vector_Done
1463	o meta.c: remove unused parameter from meta_needed
1464	o parse.c: rename parse functions
1465	o suff.c: extract ExpandChildrenRegular from ExpandChildren
1466	o targ.c: don't concatenate identifiers in Targ_PrintType
1467	o var.c: remove comment decoration
1468	extract UnexportVars from Var_UnExport
1469	extract GetVarnamesToUnexport from Var_UnExport
1470	extract UnexportEnv from Var_UnExport
1471	extract UnexportVar from Var_UnExport
1472	move CleanEnv to UnexportVars
1473	replace pointer comparisons with enum
1474	add FStr to var.c to make memory handling simpler
1475	use FStr in Var_UnExport
1476	move type definitions in var.c to the top
1477	extract FreeEnvVar from Var_Parse
1478	extract ShuffleStrings from ApplyModifier_Order
1479
14802020-11-30  Simon J Gerraty  <sjg@beast.crufty.net>
1481
1482	* VERSION (_MAKE_VERSION): 20201130
1483	Merge with NetBSD make, pick up
1484	o add unit tests for META MODE
1485	o reduce memory allocation for dirSearchPath, GNode.parents,
1486	GNode.children, OpenDirs
1487	o reduce pointer indirection for GNode.cohorts and
1488	GNode.implicitParents
1489	o remove pointer indirection from GNode.commands
1490	o inline Lst_ForEachUntil in meta mode
1491	o dir.c: fix memory leak for lstat cache in -DCLEANUP mode
1492	clean up memory management for CachedDirs
1493	fix the reference count of dotLast going negative
1494	add debug logging for OpenDirs_Done
1495	extract CacheNewDir from Dir_AddDir
1496	add debug logging for reference counting of CachedDir
1497	rename some Dir functions to SearchPath
1498	o job.c: rename some global variables
1499	o main.c: reduce memory allocation in ReadBuiltinRules
1500	reduce memory allocation in CmdOpts.create, CmdOpts.variables,
1501	CmdOpts.makefiles
1502	Add .MAKE.UID and .MAKE.GID
1503	o make.c: reduce memory allocation for/in toBeMade,
1504	Make_ProcessWait, Make_ExpandUse
1505	o meta.c: reduce memory allocation in meta_oodate
1506	o parse.c: reduce memory allocations for parsing dependencies and
1507	targets
1508	o suff.c: reduce memory allocation in suffix handling
1509
15102020-11-24  Simon J Gerraty  <sjg@beast.crufty.net>
1511
1512	* VERSION (_MAKE_VERSION): 20201124
1513	Merge with NetBSD make, pick up
1514	o .MAKE.{UID,GID} represent uid and gid running make.
1515	o fix error handling for .BEGIN and .END dependency in -k mode
1516	o fix missing "Stop." after failed .END node in -k mode
1517	o use properly typed comparisons in boolean contexts
1518	o replace a few HashTable_CreateEntry with HashTable_Set
1519	o add HashSet type
1520	o compat.c: split Compat_Make into smaller functions
1521	extract DebugFailedTarget from Compat_RunCommand
1522	o dir.c: refactor Dir_UpdateMTime
1523	migrate CachedDir.files from HashTable to HashSet
1524	o make.c: add high-level API for GNode.made
1525
15262020-11-22  Simon J Gerraty  <sjg@beast.crufty.net>
1527
1528	* VERSION (_MAKE_VERSION): 20201122
1529	Merge with NetBSD make, pick up
1530	o rename GNode.context to vars
1531	o suff.c: cleanup and refactor
1532	rename some functions and vars to better reflect usage
1533	add high-level API for CandidateSearcher
1534	o targ.c: add more debug logging for suffix handling
1535	o more unit tests
1536	o add debug logging for setting and resetting the main target
1537
15382020-11-17  Simon J Gerraty  <sjg@beast.crufty.net>
1539
1540	* VERSION (_MAKE_VERSION): 20201117
1541	Merge with NetBSD make, pick up
1542	o fix some unit-tests when .SHELL is dash
1543	o rename Targ_NewGN to GNode_New
1544	o make some GNode functions const
1545	o main.c: call Targ_Init before Var_Init
1546	cleanup PrintOnError, getTmpdir and ParseBoolean
1547	o var.c: fix error message of failed :!cmd! modifier
1548
15492020-11-14  Simon J Gerraty  <sjg@beast.crufty.net>
1550
1551	* VERSION (_MAKE_VERSION): 20201114
1552	Merge with NetBSD make, pick up
1553	o replace a few HashTable_CreateEntry with HashTable_Set
1554	o clean up cached_stats
1555	o rename DEFAULT to defaultNode
1556	o remove redundant struct make_stat
1557	o cond.c: in lint mode, check for ".else <cond>"
1558	use bitset for IfState
1559	replace large switch with if-else in Cond_EvalLine
1560	o job.c: clean up JobExec, JobStart, JobDoOutput
1561	use stderr for error message about failed touch
1562	clean up Job_Touch
1563	replace macro DBPRINTF with JobPrintln
1564	rename JobState to JobStatus
1565	main.c: switch cache for realpath from GNode to HashTable
1566	clean up Fatal
1567	clean up InitDefSysIncPath
1568	use progname instead of hard-coded 'make' in warning
1569	rename Main_SetVarObjdir to SetVarObjdir
1570	make.1: document the -S option
1571	make.c: fix debug output for GNode details
1572	use symbolic names in debug output of GNodes
1573
15742020-11-12  Simon J Gerraty  <sjg@beast.crufty.net>
1575
1576	* configure.in: fix --with-force-machine-arch
1577
1578	* VERSION (_MAKE_VERSION): 20201112
1579	Merge with NetBSD make, pick up
1580	o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable
1581	checks in InitObjdir.  Explicit .OBJDIR target always allows
1582	read-only directory.
1583	o cond.c: clean up Cond_EvalLine
1584
15852020-11-11  Simon J Gerraty  <sjg@beast.crufty.net>
1586
1587	* VERSION (_MAKE_VERSION): 20201111
1588	Merge with NetBSD make, pick up
1589	o more unit-tests
1590	o style cleanup
1591	remove redundant parentheses from sizeof operator
1592	replace character literal 0 with '\0'.
1593	replace pointer literal 0 with NULL.
1594	remove redundant parentheses.
1595	replace (expr & mask) == 0 with !(expr & mask).
1596	use strict typing in conditions of the form !var
1597	o rename Make_OODate to GNode_IsOODate
1598	o rename Make_TimeStamp to GNode_UpdateYoungestChild
1599	o rename Var_Set_with_flags to Var_SetWithFlags
1600	o rename dieQuietly to shouldDieQuietly
1601	o buf.c: make API of Buf_Init simpler
1602	o compat.c: clean up Compat_Make, Compat_RunCommand,
1603	CompatDeleteTarget and CompatInterrupt
1604	o cond.c: in lint mode, only allow '&&' and '||', not '&' and '|'
1605	clean up CondParser_Comparison
1606	o main.c: rename getBoolean and s2Boolean
1607	rename MAKEFILE_PREFERENCE for consistency
1608	o parse.c: replace strstr in ParseMaybeSubMake with optimized code
1609	o var.c: rename VARE_ASSIGN to VARE_KEEP_DOLLAR
1610	replace emptyString with allocated empty string
1611	error out on unclosed expressions after the colon
1612
16132020-11-01  Simon J Gerraty  <sjg@beast.crufty.net>
1614
1615	* VERSION (_MAKE_VERSION): 20201101
1616	Merge with NetBSD make, pick up
1617	o negate NoExecute to GNode_ShouldExecute
1618	o job.c: rename JobMatchShell to FindShellByName
1619	extract EscapeShellDblQuot from JobPrintCommand
1620	extract ParseRunOptions from JobPrintCommand
1621	o var.c: extract ApplyModifiersIndirect from ApplyModifiers
1622	treat malformed :range, :ts and :[...] as errors
1623	add tests for the variable modifiers :[words] and :range
1624
16252020-10-31  Simon J Gerraty  <sjg@beast.crufty.net>
1626
1627	* VERSION (_MAKE_VERSION): 20201031
1628	Merge with NetBSD make, pick up
1629	o format #include directives consistently
1630	o do not look up local variables like .TARGET anywhere else
1631	o main.c: Main_SetObjdir is first called for curdir which may be
1632	readonly
1633	reduce the scope where recursive expressions are detected
1634	remove redundant :tl from getBoolean
1635	clean up mkTempFile
1636	o meta.c: simplify memory allocation in meta_create and meta_oodate
1637	o parse.c: extract loadedfile_mmap from loadfile
1638	o trace.c: document possible undefined behavior with .CURDIR
1639	o var.c: make parsing of the :gmtime and :localtime modifiers stricter
1640	rename ismeta to is_shell_metachar
1641	remove debug logging for the :Q variable modifier
1642	rename VarIsDynamic to VarnameIsDynamic
1643	use consistent parameter order in varname parsing functions
1644	extract ParseVarnameLong from Var_Parse
1645	extract ParseVarnameShort from Var_Parse
1646	fix type of ParseModifierPart parameter delim
1647	extract IsEscapedModifierPart from ParseModifierPart
1648	clean up ModifyWords
1649	add test for combining the :@ and :? variable modifiers
1650	
16512020-10-30  Simon J Gerraty  <sjg@beast.crufty.net>
1652
1653	* VERSION (_MAKE_VERSION): 20201030
1654	Merge with NetBSD make, pick up
1655	o change char * to void * in Var_Value
1656	o make iterating over HashTable simpler
1657	o rename VAR_CMD to VAR_CMDLINE
1658	o cond.c: clean up is_separator
1659	fix parse error in string literal in conditional
1660	o main.c: do not use objdir that is not writable
1661	in lint mode, exit with error status on errors
1662	o  parse.c: clean up StrContainsWord
1663	fix out-of-bounds pointer in ParseTrackInput
1664	o var.c: rename Str_SYSVMatch and its parameters
1665	remove unsatisfiable conditions in Var_Set_with_flags
1666	document where the variable name is expanded
1667	fix documentation for VARP_SUB_ONE
1668	rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME
1669	document VAR_READONLY
1670	prevent appending to read-only variables
1671	extract MayExport from Var_Export1
1672	remove redundant evaluations in VarFind
1673	replace VarFindFlags with a simple Boolean
1674	rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE
1675
16762020-10-28  Simon J Gerraty  <sjg@beast.crufty.net>
1677
1678	* VERSION (_MAKE_VERSION): 20201028
1679	Merge with NetBSD make, pick up
1680	o rename defIncPath to defSysIncPath
1681	o initialize all CmdOpts fields
1682	o lst.c: inline Vector_Get
1683	o main.c: refactor main extract
1684	InitMaxJobs,InitObjdir,InitVarMake,InitRandom,
1685	ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules,
1686	InitDefIncPath,CmdOpts_Init,UnlimitFiles
1687	o parse.c: merge curFile into includes
1688	rename predecessor to order_pred
1689	sort ParseSpecial alphabetically
1690	remove unused, undocumented .NOEXPORT
1691	rename ParseSpecial enum values consistently
1692	rename some fields of struct IFile
1693
16942020-10-26  Simon J Gerraty  <sjg@beast.crufty.net>
1695
1696	* VERSION (_MAKE_VERSION): 20201026
1697	Merge with NetBSD make, pick up
1698	o group the command line options and arguments into a struct
1699	o rename GNode.cmgn to youngestChild
1700	o rename hash functions to identify the type name
1701	o negate OP_NOP and rename it to GNode_IsTarget
1702	o add GNode_Path to access the path of a GNode
1703	o remove macros MIN and MAX
1704	o remove unused Lst_Find and Lst_FindFrom
1705	o arch.c: and make Arch_FindLib simpler
1706	clean up code layout
1707	make Arch_ParseArchive simpler
1708	o cond.c: inline CondFindStrMatch into FuncMake
1709	o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath
1710	omit trailing space in debug output for expanding file patterns
1711	refactor DirMatchFiles
1712	document that the SearchPath of Dir_FindFile may be NULL
1713	remove UNCONST from Dir_Expand
1714	inline DirFindName
1715	o for.c: clean up code for handling .for loops
1716	o hash.c: print hash in debug log with fixed width
1717	clean up hash table functions
1718	reduce amount of string hashing
1719	o job.c: refactor JobDeleteTarget
1720	use proper enum constants for aborting
1721	convert result of JobStart from macros to enum
1722	convert abort reason macros to enum
1723	rework Job_CheckCommands to reduce indentation
1724	rename Shell fields
1725	add field names in declaration of DEFSHELL_CUSTOM
1726	convert JobState and JobFlags to enum types
1727	move handling of the "..." command to JobPrintCommands
1728	o lst.c: clean up
1729	refactor LstNodeNew
1730	remove Lst_Open, Lst_Next, Lst_Close
1731	remove code for circular lists from Lst_Next
1732	o main.c: do not attempt to read .MAKE.DEPENFILE if set to
1733	/dev/null or anything starting with "no"
1734	convert macros for debug flags into enum
1735	o make.c: inline Lst_Copy in Make_ExpandUse
1736	o meta.c: inline Lst_Find in meta_oodate
1737	make Lst_RemoveIf simpler in meta_oodate
1738	o parse.c: convert error level for Parse_Error to an enum
1739	o suff.c: properly terminate debug output with newline
1740	add more details to DEBUG_SRC log
1741	replace Dir_CopyDir with Dir_CopyDirSearchPath
1742	don't modify GNode name while rebuilding the suffix graph
1743	o var.c: reduce duplicate code in VarFind
1744	
17452020-10-22  Simon J Gerraty  <sjg@beast.crufty.net>
1746
1747	* VERSION (_MAKE_VERSION): 20201022
1748	Merge with NetBSD make, pick up
1749	o more refactoring and simplification to reduce code size
1750	o var.c: extract CanonicalVarname from VarFind
1751	o make.c: extract UpdateImplicitParentsVars from Make_Update
1752	o main.c: extract PrintVar from doPrintVars
1753	extract HandlePWD from main
1754	o lst.c: inline simple Lst getters
1755	remove unused Lst_ForEach
1756	o job.c: move struct Shell from job.h to job.c
1757	o more unit tests
1758
17592020-10-19  Simon J Gerraty  <sjg@beast.crufty.net>
1760
1761	* configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT
1762
17632020-10-18  Simon J Gerraty  <sjg@beast.crufty.net>
1764
1765	* VERSION (_MAKE_VERSION): 20201018
1766	Merge with NetBSD make, pick up
1767	o remove USE_IOVEC
1768	o rename some Hash_* apis to Hash*
1769	o replace execError with execDie
1770	o rename Lst_Init to Lst_New
1771	o add tags to enum types
1772	o rename Stack to Vector
1773	o parse.c: more refactoring
1774	o unit-tests: make some tests use line buffered stdout
1775	o unit-tests/Makefile: in meta mode do not make all tests depend on
1776	Makefile, it isn't necessary.
1777
17782020-10-10  Simon J Gerraty  <sjg@beast.crufty.net>
1779
1780	* main.c: check for CTL_HW being defined.
1781	* unit-tests/Makefile: ensure export tests output are POSIX compliant
1782	disable opt-debug-jobs test until it works on ubuntu
1783
1784	* VERSION (_MAKE_VERSION): 20201010
1785	Merge with NetBSD make, pick up
1786	o dir.c: remove pathname limit for Dir_FindHereOrAbove
1787	o hash.c: replace strcpy with memcpy in Hash_CreateEntry
1788	o main.c: extract init_machine and init_machine_arch from main
1789	allow to disable debug logging options
1790	o parse.c: enable format string truncation warnings
1791	extract parsing of sources from ParseDoDependency
1792	split ParseDoSrc into smaller functions
1793	hide implementation details from Parse_DoVar
1794	clean up parsing of variable assignments
1795	split Parse_DoVar into manageable pieces
1796	don't modify the given line during Parse_DoVar
1797	fix out-of-bounds memory access in Parse_DoVar
1798	fix parsing of the :sh assignment modifier
1799	o var.c: rework memory allocation for the name of variables
1800	extract ApplyModifier_Literal into separate function
1801	in lint mode, reject modifiers without delimiter
1802	do not export variable names starting with '-'
1803	o fix double-free bug in -DCLEANUP mode
1804	o more cleanup to enable higher warnings level
1805	o more unit tests
1806
18072020-10-02  Simon J Gerraty  <sjg@beast.crufty.net>
1808
1809	* VERSION (_MAKE_VERSION): 20201002
1810	Merge with NetBSD make, pick up
1811	o dir.c: use hash table for looking up open directories by name
1812	o main.c: clean up option handling
1813	o parse.c: add missing const for Parse_AddIncludeDir
1814	o var.c: ApplyModifier_To, update pp in each branch
1815	o remove redundant function prototypes
1816	o more unit tests
1817
18182020-10-01  Simon J Gerraty  <sjg@beast.crufty.net>
1819
1820	* VERSION (_MAKE_VERSION): 20201001
1821	Merge with NetBSD make, pick up
1822	o compat.c: comment about "..."
1823
18242020-09-30  Simon J Gerraty  <sjg@beast.crufty.net>
1825
1826	* VERSION (_MAKE_VERSION): 20200930
1827	Merge with NetBSD make, pick up
1828	o job.c: split Job.jobPipe into 2 separate fields
1829	replace Lst_Open with direct iteration
1830	o lst.c: remove redundant assertions
1831	o targ.c: replace Lst_Open with direct iteration
1832	o var.c: fix bug in evaluation of indirect variable modifiers
1833	extract ApplyModifier_Quote into separate function
1834	o make debug logging simpler
1835
18362020-09-27  Simon J Gerraty  <sjg@beast.crufty.net>
1837
1838	* VERSION (_MAKE_VERSION): 20200927
1839	Merge with NetBSD make, pick up
1840	o parse.c: ensure parse errors result in 'stopped in' message.
1841	o compat.c: make parameter of Compat_RunCommand const
1842	o main.c: extract InitVarTarget from main
1843	o parse.c: rename ParseFinishLine to FinishDependencyGroup
1844	refactor ParseDoDependency
1845	o var.c: Var_Subst no longer returns string result
1846	rename Var_ParsePP back to Var_Parse
1847	in lint mode, improve error handling for undefined variables
1848	extract ParseVarname from Var_Parse
1849	o rename Lst_ForEach to Lst_ForEachUntil
1850	o inline Lst_ForEachUntil in several cases
1851	o clean up API for finding and creating GNodes
1852	o fix assertion failure in -j mode with .END node
1853	o inline and remove LstNode_Prev and LstNode_Next
1854	o use fine-grained type names for lists and their nodes
1855	o more unit tests
1856
18572020-09-11  Simon J Gerraty  <sjg@beast.crufty.net>
1858
1859	* VERSION (_MAKE_VERSION): 20200911
1860	Merge with NetBSD make, pick up
1861	o cond.c: split EvalComparison into smaller functions
1862	reorder parameters of condition parsing functions
1863	reduce code size in CondParser_Eval
1864	rename CondGetString to CondParser_String
1865	add CondLexer_SkipWhitespace
1866	group the condition parsing state into a struct
1867	in CondGetString, replace repeated Buf_Add with Buf_AddStr
1868	o migrate Var_Parse to Var_ParsePP
1869	o add wrappers around ctype.h functions
1870	o lst.c: use a stack instead of a list for the nested include path
1871	o more unit tests
1872
18732020-09-04  Simon J Gerraty  <sjg@beast.crufty.net>
1874
1875	* make-bootstrap.sh.in: adjust object list
1876
18772020-09-02  Simon J Gerraty  <sjg@beast.crufty.net>
1878
1879	* VERSION (_MAKE_VERSION): 20200902
1880	Merge with NetBSD make, pick up
1881	o use make_stat to ensure no confusion over valid fields
1882	returned by cached_stat
1883	o var.c: make VarQuote const-correct
1884	o add unit tests for .for
1885
18862020-09-01  Simon J Gerraty  <sjg@beast.crufty.net>
1887
1888	* VERSION (_MAKE_VERSION): 20200901
1889	Merge with NetBSD make, pick up
1890	o rename Hash_Table fields
1891	o make data types in Dir_HasWildcards more precise
1892
18932020-08-31  Simon J Gerraty  <sjg@beast.crufty.net>
1894
1895	* VERSION (_MAKE_VERSION): 20200831
1896	Merge with NetBSD make, pick up
1897	o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds
1898	o lst.c: Lst_Open renable assert that list isn't open
1899	o unit test for .TARGET dependent flags
1900	o var.c: fix aliasing bug in VarUniq
1901	o more unit tests for :u
1902
19032020-08-30  Simon J Gerraty  <sjg@beast.crufty.net>
1904
1905	* VERSION (_MAKE_VERSION): 20200830
1906	Merge with NetBSD make, pick up
1907	o allow for strict type checking for Boolean
1908	o Var_Parse never returns NULL
1909	o Var_Subst never returns NULL
1910	o Lst_Find now takes boolean match function
1911	o rename Lst_Memeber to Lst_FindDatum
1912	o rename LstNode functions to match their type
1913	o rename GNode.iParents to implicitParents
1914	o fix assertion failure for .SUFFIXES in archives
1915	o compat.c: clean up documentation for CompatInterrupt and Compat_Run
1916	remove unreachable code from CompatRunCommand
1917	o main.c: simplify getBoolean
1918	o stc.c: replace brk_string with simpler Str_Words
1919	o suff.c: add debug macros
1920
19212020-08-28  Simon J Gerraty  <sjg@beast.crufty.net>
1922
1923	* VERSION (_MAKE_VERSION): 20200828
1924	Merge with NetBSD make, pick up
1925	o lst.c: inline LstIsValid and LstNodeIsValid
1926	o remove trailing S from Lst function names after migration complete
1927	o more comment cleanup/clarification
1928	o suff.c: clean up suffix handling
1929	o more unit tests
1930
19312020-08-26  Simon J Gerraty  <sjg@beast.crufty.net>
1932
1933	* VERSION (_MAKE_VERSION): 20200826
1934	Merge with NetBSD make, pick up
1935	o enum.c: distinguish between bitsets containing flags and
1936	ordinary enums
1937	o var.c: fix error message for ::!= modifier with shell error
1938	o fix bugs in -DCLEANUP mode
1939
19402020-08-24  Simon J Gerraty  <sjg@beast.crufty.net>
1941
1942	* VERSION (_MAKE_VERSION): 20200824
1943	Merge with NetBSD make, pick up
1944	o in debug mode, print GNode details in symbols
1945
19462020-08-23  Simon J Gerraty  <sjg@beast.crufty.net>
1947
1948	* VERSION (_MAKE_VERSION): 20200823
1949	Merge with NetBSD make, pick up
1950	o lst.c: more asserts,
1951	make args to Lst_Find match others.
1952	o var.c: pass flags to VarAdd
1953	o arch.c: use Buffer
1954	o str.c: brk_string return size_t for nwords
1955	o more unit tests
1956
19572020-08-22  Simon J Gerraty  <sjg@beast.crufty.net>
1958
1959	* VERSION (_MAKE_VERSION):
1960	Merge with NetBSD make, pick up
1961	o var.c: support for read-only variables eg .SHELL
1962	being the shell used to run scripts.
1963	o lst.c: more simplification
1964	o more documentation and style cleanup
1965	o more unit tests
1966	o ensure unit-test/Makefile is run by TEST_MAKE
1967	o reduce duplication of header inclusion
1968
19692020-08-21  Simon J Gerraty  <sjg@beast.crufty.net>
1970
1971	* VERSION (_MAKE_VERSION): 20200821
1972	Merge with NetBSD make, pick up
1973	o lst.c: revert invalid assertion - but document it
1974	o dir.c: split Dir_Init into two functions
1975
19762020-08-20  Simon J Gerraty  <sjg@beast.crufty.net>
1977
1978	* lst.c: needs inttypes.h on Linux
1979
1980	* VERSION (_MAKE_VERSION): 20200820
1981	Merge with NetBSD make, pick up
1982	o make.1: clarify some passages
1983	o var.c: more cleanup, clarify comments
1984	o make_malloc.c: remove unreachable code
1985	o cond.c: make CondGetString easier to debug
1986	o simplify list usage
1987	o unit-tests: more
1988
19892020-08-16  Simon J Gerraty  <sjg@beast.crufty.net>
1990
1991	* VERSION (_MAKE_VERSION): 20200816
1992	Merge with NetBSD make, pick up
1993	o refactor unit-tests to be more fine grained
1994	  not all tests moved yet
1995
19962020-08-14  Simon J Gerraty  <sjg@beast.crufty.net>
1997
1998	* VERSION (_MAKE_VERSION): 20200814
1999	Merge with NetBSD make, pick up
2000	o more str_concat variants
2001	o more enums for flags
2002	o var.c: cleanup for higher warnings level
2003
20042020-08-10  Simon J Gerraty  <sjg@beast.crufty.net>
2005
2006	* VERSION (_MAKE_VERSION): 20200810
2007	Merge with NetBSD make, pick up
2008	o more unit tests
2009	o general comment and style cleanup
2010
20112020-08-08  Simon J Gerraty  <sjg@beast.crufty.net>
2012
2013	* VERSION (_MAKE_VERSION): 20200808
2014	Merge with NetBSD make, pick up
2015	o enum.[ch]: streamline, enums for use in flags and debug output
2016	o cond.c: cleanup
2017	o var.c: reduce duplicate code for modifiers
2018	debug logging for Var_Parse
2019	more detailed debug output
2020	o more unit tests
2021
20222020-08-06  Simon J Gerraty  <sjg@beast.crufty.net>
2023
2024	* unit-tests/Makefile: -r for recursive and include Makefile.inc
2025	so I can run tests in meta mode
2026	supress extra noise if in meta mode
2027
2028	* VERSION (_MAKE_VERSION): 20200806
2029	Merge with NetBSD make, pick up
2030	o parse.c: remove VARE_WANTRES for LINT
2031	we just want to check parsing (for now).
2032
20332020-08-05  Simon J Gerraty  <sjg@beast.crufty.net>
2034
2035	* VERSION (_MAKE_VERSION): 20200805
2036	Merge with NetBSD make, pick up
2037	o make.1: Rework the description of dependence operators
2038
20392020-08-03  Simon J Gerraty  <sjg@beast.crufty.net>
2040
2041	* VERSION (_MAKE_VERSION): 20200803
2042	Merge with NetBSD make, pick up
2043	o revert some C99 usage, for max portability
2044	o unit-tests/lint
2045
20462020-08-02  Simon J Gerraty  <sjg@beast.crufty.net>
2047
2048	* VERSION (_MAKE_VERSION): 20200802
2049	Merge with NetBSD make, pick up
2050	o more unit tests
2051
20522020-08-01  Simon J Gerraty  <sjg@beast.crufty.net>
2053
2054	* Remove NetBSD specific plumbing from unit-tests/Makefile
2055
2056	* VERSION (_MAKE_VERSION): 20200801
2057	Merge with NetBSD make, pick up
2058	o make Var_Value return const
2059	o size_t for buf sizes
2060	o optimize some buffer operations - avoid strlen
2061
20622020-07-31  Simon J Gerraty  <sjg@beast.crufty.net>
2063
2064	* VERSION (_MAKE_VERSION): 20200731
2065	Merge with NetBSD make, pick up
2066	o var.c: fix undefinded behavior for incomplete :t modifier
2067	  fixes unit-test/moderrs on Ubuntu
2068	o parse.c: When parsing variable assignments other than :=
2069	  if DEBUG(LINT) test substition of value, so we get a file and
2070	  line number in the resulting error.
2071	o dir.c: fix parsing of nested braces in dependency lines
2072	  add unit-tests
2073
20742020-07-30  Simon J Gerraty  <sjg@beast.crufty.net>
2075
2076	* VERSION (_MAKE_VERSION): 20200730
2077	Merge with NetBSD make, pick up
2078	o var.c: minor cleanup
2079	o unit-tests: more tests to improve code coverage
2080
20812020-07-28  Simon J Gerraty  <sjg@beast.crufty.net>
2082
2083	* VERSION (_MAKE_VERSION): 20200728
2084	Merge with NetBSD make, pick up
2085	o var.c: more optimizations
2086
20872020-07-26  Simon J Gerraty  <sjg@beast.crufty.net>
2088
2089	* VERSION (_MAKE_VERSION): 20200726
2090	Merge with NetBSD make, pick up
2091	o collapse lsd.lib into lst.c - reduce code size and allow inlining
2092	o lots of function comment updates
2093	o var.c: more optimizations
2094	o make return of Var_Parse const
2095
20962020-07-20  Simon J Gerraty  <sjg@beast.crufty.net>
2097
2098	* VERSION (_MAKE_VERSION): 20200720
2099	Merge with NetBSD make, pick up
2100	o DEBUG_HASH report stats at end and tone down the noise
2101	o var.c: each flag type gets its own prefix.
2102	move SysV string matching to var.c
2103	make ampersand in ${VAR:from=to&} an ordinary character
2104	cleanup and simplify implementation of modifiers
2105	o make.1: move documentation for assignment modifiers
2106
21072020-07-18  Simon J Gerraty  <sjg@beast.crufty.net>
2108
2109	* VERSION (_MAKE_VERSION): 20200718
2110	Merge with NetBSD make, pick up
2111	o DEBUG_HASH to see how well the hash tables are working
2112
21132020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
2114
2115	* bsd.after-import.mk: make sure we update unit-tests/Makefile
2116
21172020-07-10  Simon J Gerraty  <sjg@beast.crufty.net>
2118
2119	* configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC
2120
2121	* VERSION (_MAKE_VERSION): 20200710
2122	Merge with NetBSD make, pick up
2123	o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall
2124	o meta.c: target flagged .META is out-of-date if meta file missing
2125
21262020-07-09  Simon J Gerraty  <sjg@beast.crufty.net>
2127
2128	* VERSION (_MAKE_VERSION): 20200709
2129	Merge with NetBSD make, pick up
2130	o cond.c: fix for compare_expression when doEval=0
2131	o unit-tests/Makefile: rework
2132	o filemon/filemon_dev.c: ensure filemon fd is closed on exec.
2133
21342020-07-04  Simon J Gerraty  <sjg@beast.crufty.net>
2135
2136	* VERSION (_MAKE_VERSION): 20200704
2137	Merge with NetBSD make, pick up
2138	(most of this by rillig@)
2139	o lots of style and white-space cleanup
2140	o lots more unit tests for variable modifiers
2141	o simplified description of some functions
2142	o str.c: refactor Str_Match
2143	o var.c: debugging output for :@
2144	  constify VarModify parameter
2145	  fix :hash modifier on 16-bit platforms
2146	  remove unnecessary forward declarations
2147	  refactor ApplyModifier_SysV to have less indentation
2148	  simplify code for :E and :R
2149	  clean up code for :H and :T
2150	  refactor ApplyModifiers
2151
2152	* var.c: we need stdint.h on some platforms to get uint32_t
2153	* unit-test/Makefile: we need to supress the specific error
2154	for RE substitution error in modmisc, since it varies accross
2155	different OS.
2156
21572020-07-02  Simon J Gerraty  <sjg@beast.crufty.net>
2158
2159	* VERSION (_MAKE_VERSION): 20200702
2160	Merge with NetBSD make, pick up
2161	o var.c: more improvements to avoiding unnecessary evaluation
2162	use enums for flags
2163	o remove flags arg to Var_Set which outside of var.c is always 0
2164
21652020-07-01  Simon J Gerraty  <sjg@beast.crufty.net>
2166
2167	* VERSION (_MAKE_VERSION): 20200701
2168	Merge with NetBSD make, pick up
2169	o var.c: with change to cond.c; ensure that nested variables
2170	within a variable name are expanded.
2171	o unit-tests/varmisc.mk: test for nested varname
2172
21732020-06-29  Simon J Gerraty  <sjg@beast.crufty.net>
2174
2175	* VERSION (_MAKE_VERSION): 20200629
2176	Merge with NetBSD make, pick up
2177	o cond.c: do not eval unnecessary terms of conditionals.
2178
21792020-06-25  Simon J Gerraty  <sjg@beast.crufty.net>
2180
2181	* VERSION (_MAKE_VERSION): 20200625
2182	Merge with NetBSD make, pick up
2183	o meta.c: report error if lseek in filemon_read fails
2184
21852020-06-22  Simon J Gerraty  <sjg@beast.crufty.net>
2186
2187	* VERSION (_MAKE_VERSION): 20200622
2188	Merge with NetBSD make, pick up
2189	o dieQuietly: ignore OP_SUBMAKE as too aggressive
2190
21912020-06-19  Simon J Gerraty  <sjg@beast.crufty.net>
2192
2193	* VERSION (_MAKE_VERSION): 20200619
2194	Merge with NetBSD make, pick up
2195	o str.c: performance improvement for Str_Match for multiple '*'
2196	o dieQuietly: supress the failure output from make
2197	when failing node is a sub-make or a sibling failed.
2198	This cuts down greatly on unhelpful noise at the end of
2199	build log.  Disabled by -dj or .MAKE.DIE_QUIETLY=no
2200
22012020-06-10  Simon J Gerraty  <sjg@beast.crufty.net>
2202
2203	* FILES: add LICENSE to appease some packagers.
2204	This is an attempt to fairly represent the license on almost
2205	200 files, which are almost all BSD-3-Clause
2206	The few exceptions being more liberal.
2207
2208	* VERSION (_MAKE_VERSION): 20200610
2209	Merge with NetBSD make, pick up
2210	o unit test for :Or
2211
22122020-06-06  Simon J Gerraty  <sjg@beast.crufty.net>
2213
2214	* VERSION (_MAKE_VERSION): 20200606
2215	Merge with NetBSD make, pick up
2216	o make.1: cleanup
2217
2218	* Makefile: fix depends for main.o which broke MAKE_VERSION
2219
22202020-06-05  Simon J Gerraty  <sjg@beast.crufty.net>
2221
2222	* VERSION (_MAKE_VERSION): 20200605
2223	Merge with NetBSD make, pick up
2224	o dir.c: cached_stats - don't confuse stat and lstat results.
2225	o var.c: add :Or for reverse sort.
2226
22272020-05-24  Simon J Gerraty  <sjg@beast.crufty.net>
2228
2229	* configure.in: add AC_PROG_CC_C99 for mipspro compiler
2230	also if --with-filemon= specifies path to filemon.h
2231	set use_filemon=dev
2232	* dirname.c: remove include of namespace.h
2233
22342020-05-17  Simon J Gerraty  <sjg@beast.crufty.net>
2235
2236	* VERSION (_MAKE_VERSION): 20200517
2237	Merge with NetBSD make, pick up
2238	o modified dollar tests to avoid shell dependencies
2239	o new tests for .INCLUDEFROM
2240
22412020-05-16  Simon J Gerraty  <sjg@beast.crufty.net>
2242
2243	* unit-tests/dollar.mk: tweak  '1 dollar literal' test
2244	to not depend so much on shell behavior
2245
22462020-05-10  Simon J Gerraty  <sjg@beast.crufty.net>
2247
2248	* VERSION (_MAKE_VERSION): 20200510
2249	Merge with NetBSD make, pick up
2250	o unit test for dollar handling
2251
22522020-05-06  Simon J Gerraty  <sjg@beast.crufty.net>
2253
2254	* VERSION (_MAKE_VERSION): 20200506
2255	Merge with NetBSD make, pick up
2256	o str.c: empty string does not match % pattern
2257	  plus unit-test changes
2258
22592020-05-04  Simon J Gerraty  <sjg@beast.crufty.net>
2260
2261	* VERSION (_MAKE_VERSION): 20200504
2262	May the 4th be with you
2263	Merge with NetBSD make, pick up
2264	o var.c: import handling of old sysV style modifier using '%'
2265	o str.c: refactor brk_string
2266	o unit-tests: add test case for lazy conditions
2267
22682020-04-18  Simon J Gerraty  <sjg@beast.crufty.net>
2269
2270	* VERSION (_MAKE_VERSION): 20200418
2271
2272	* configure.in: use_makefile=no for Cygwin et al.
2273	case insensitive filesystems just don't work if both
2274	makefile and Makefile exist.
2275	NOTE: bmake does not support Cygwin and likely never will,
2276	but if brave souls want to try it - help them out.
2277
22782020-04-02  Simon J Gerraty  <sjg@beast.crufty.net>
2279
2280	* VERSION (_MAKE_VERSION): 20200402
2281	Merge with NetBSD make, pick up
2282	o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD
2283	  a blank command is perfectly valid.
2284
22852020-03-30  Simon J Gerraty  <sjg@beast.crufty.net>
2286
2287	* VERSION (_MAKE_VERSION): 20200330
2288	Merge with NetBSD make, pick up
2289	o make.h: extern debug_file
2290
22912020-03-18  Simon J Gerraty  <sjg@beast.crufty.net>
2292
2293	* VERSION (_MAKE_VERSION): 20200318
2294	Merge with NetBSD make, pick up
2295	o meta.c: meta_oodate, check for corrupted meta file
2296	  earlier and more often.
2297
22982020-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
2299
2300	* VERSION (_MAKE_VERSION): 20200220
2301
23022020-02-19  Simon J Gerraty  <sjg@beast.crufty.net>
2303
2304	* boot-strap: unset MAKEFLAGS
2305
23062020-02-12  Simon J Gerraty  <sjg@beast.crufty.net>
2307
2308	* VERSION (_MAKE_VERSION): 20200212
2309	* meta.c: meta_compat_parent check for USE_FILEMON
2310	  patch from Soeren Tempel
2311
23122020-02-05  Simon J Gerraty  <sjg@beast.crufty.net>
2313
2314	* VERSION: 20200205
2315	Merge with NetBSD make, pick up
2316	o meta.c: fix compat mode, need to call meta_job_output()
2317	o job.c: extra fds for meta mode not needed if using filemon_dev
2318
23192020-01-22  Simon J Gerraty  <sjg@beast.crufty.net>
2320
2321	* VERSION: 20200122
2322	Merge with NetBSD make, pick up
2323	o meta.c: avoid passing NULL to filemon_*() when meta_needed()
2324	  returns FALSE.
2325
23262020-01-21  Simon J Gerraty  <sjg@beast.crufty.net>
2327
2328	* VERSION: 20200121
2329	Merge with NetBSD make, pick up
2330	o filemon/filemon_{dev,ktrace}.c: allow selection of
2331	  filemon implementation.  filemon_dev.c uses the kernel module
2332	  while filemon_ktrace.c leverages the fktrace api available in
2333	  NetBSD.  filemon_ktrace.c can hopefully form the basis for
2334	  adding support for other tracing mechanisms such as strace on
2335	  Linux.
2336	o meta.c: when target is out-of-date per normal make rules
2337	  record value of .OODATE in meta file.
2338
23392019-09-26  Simon J Gerraty  <sjg@beast.crufty.net>
2340
2341	* VERSION: 20190926
2342	  Merge with NetBSD make, pick up
2343	  o parse.c: don't pass NULL to realpath(3)
2344	    some versions cannot handle it.
2345
23462019-04-09  Simon J Gerraty  <sjg@beast.crufty.net>
2347
2348	* VERSION: 20190409
2349	  Merge with NetBSD make, pick up
2350	  o parse.c: ParseDoDependency: free paths rather than assert
2351
23522018-12-22  Simon J Gerraty  <sjg@beast.crufty.net>
2353
2354	* VERSION: 20181222
2355
2356	* configure.in: add --without-makefile to avoid generating
2357	  makefile and make-bootstrap.sh
2358
2359	* include Makefile.inc if it exists
2360
2361	* Use Makefile and Makefile.config.in in unit-tests
2362	  so we can use just: make obj && make && make test
2363	  when bmake is already available.
2364	  We add --without-makefile to CONFIGURE_ARGS in this case.
2365
2366	* tweak bsd.after-import.mk (captures Makefile.config etc
2367	  after import to FreeBSD for example) to cope with all the above. 
2368
23692018-12-21  Simon J Gerraty  <sjg@beast.crufty.net>
2370
2371	* VERSION: 20181221
2372	  Merge with NetBSD make, pick up
2373	  o parse.c: ParseVErrorInternal use .PARSEDIR
2374	    and apply if relative, and then use .PARSEFILE
2375	    for consistent result.
2376
23772018-12-20  Simon J Gerraty  <sjg@beast.crufty.net>
2378
2379	* VERSION: 20181220
2380	  Merge with NetBSD make, pick up
2381	  o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR
2382	    is relative
2383	  o var.c: avoid SEGFAULT in .unexport-env
2384	    when MAKELEVEL is not set
2385
23862018-12-16  Simon J Gerraty  <sjg@beast.crufty.net>
2387
2388	* VERSION: 20181216
2389	  Merge with NetBSD make, pick up
2390	  o fix for unit-tests/varquote.mk on Debian
2391
23922018-09-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2393
2394	* VERSION: 20180919
2395	  Merge with NetBSD make, pick up
2396	  o var.c: add :q
2397	  o dir.c: cleanup caching of stats
2398
23992018-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
2400
2401	* Makefile.config.in: use += where it makes sense.
2402
24032018-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2404
2405	* VERSION: 20180512
2406	  Merge with NetBSD make, pick up
2407	  o job.c: skip polling job token pipe
2408
24092018-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2410
2411	* VERSION: 20180405
2412	  Merge with NetBSD make, pick up
2413	  o parse.c: be more cautious about detecting depenency line
2414	    rather than sysV style include.
2415
24162018-02-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2417
2418	* VERSION: 20180222
2419	  Merge with NetBSD make, pick up
2420	  o parse.c: avoid calling sysconf for every call to loadfile
2421
24222018-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2423
2424	* VERSION: 20180218
2425	  Merge with NetBSD make, pick up
2426	  o var.c: Var_Set handle NULL value anytime.
2427
24282018-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2429
2430	* VERSION: 20180212
2431	  Merge with NetBSD make, pick up
2432	  o parse.c: do not treat .info as warning with -W
2433
24342017-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2435
2436	* VERSION: 20171207
2437	  Merge with NetBSD make, pick up
2438	  o var.c: Var_Append use Var_Set if var not previously set
2439	    so that VAR_CMD is handled correctly.
2440	    Add a suitable unit-test.
2441
24422017-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2443
2444	* VERSION (_MAKE_VERSION): 20171126
2445
2446	* aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
2447	  since AC_TRY_COMPILE puts input inside main()
2448	  which upsets modern compilers.
2449
24502017-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2451
2452	* VERSION: 20171118
2453	  Merge with NetBSD make, pick up
2454	  o var.c: do not append to variable set on command line
2455	    add unit-test to catch this.
2456
24572017-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2458
2459	* VERSION: 20171028
2460	  Merge with NetBSD make, pick up
2461	  o main.c: ignore empty MAKEOBJDIR
2462
2463	* Makefile.config.in:
2464	  make @prefix@ @machine*@ and @default_sys_path@ defaults.
2465
24662017-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2467
2468	* VERSION: 20171005
2469
2470	* unit-tests/dotwait.mk: redirect stderr through pipe for more
2471	  consistent result on some platforms.
2472
24732017-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2474
2475	* machine.sh: entry for AIX
2476
24772017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2478
2479	* VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
2480	  to a file that can be included by configure as well as make.
2481	  This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
2482
24832017-08-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2484
2485	* Makefile (_MAKE_VERSION): 20170810
2486	  Merge with NetBSD make, pick up
2487	  o meta.c: if target is in subdir we only need subdir name in
2488	    meta_name.
2489
24902017-07-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2491
2492	* Makefile (_MAKE_VERSION): 20170720
2493	  Merge with NetBSD make, pick up
2494	  o compat.c: pass SIGINT etc onto child and wait for it to exit
2495	    before we self-terminate.
2496
24972017-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2498
2499	* Makefile (_MAKE_VERSION): 20170711
2500	  forgot to update after merge on 20170708 ;-)
2501	  o main.c: refactor to reduce size of main function.
2502	    add -v option to always fully expand values.
2503	  o meta.c: ensure command output in meta file has ending newline
2504	    even when filemon not being used.
2505	    When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
2506	    pathname via ':L' since any ':' in pathname breaks that.
2507	    Instead set a '${.p.}' to pathname in the target context and
2508	    use that.
2509
25102017-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2511
2512	* Makefile (_MAKE_VERSION): 20170510
2513	  Merge with NetBSD make, pick up
2514	  o main.c: Main_SetObjdir: ensure buf2 is in scope
2515
25162017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
2517
2518	* Makefile (_MAKE_VERSION): 20170505
2519	  see mk/ChangeLog
2520
25212017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2522
2523	* parse.c: not everyone has stdint.h
2524
25252017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2526
2527	* Makefile (_MAKE_VERSION): 20170501
2528	  see mk/ChangeLog
2529
25302017-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2531
2532	* Makefile (_MAKE_VERSION): 20170421
2533	  Merge with NetBSD make, pick up
2534	  o str.c: Str_Match: fix closure tests for [^] and add unit-test.
2535
25362017-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2537
2538	* Makefile (_MAKE_VERSION): 20170420
2539	  Merge with NetBSD make, pick up
2540	  o main.c: only use -C arg "as is" if it contains no 
2541	    relative component.
2542
25432017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2544
2545	* Makefile (_MAKE_VERSION): 20170418
2546	  Merge with NetBSD make, pick up
2547	  o main.c: fix Main_SetObjdir() for relative paths (eg obj).
2548
25492017-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
2550
2551	* Makefile (_MAKE_VERSION): 20170417
2552	  Merge with NetBSD make, pick up
2553	  o fixes a number of coverity complaints
2554	    - check return value of fseek, fcntl
2555	    - plug memory leak in Dir_FindFile, Var_LoopExpand,
2556	      JobPrintCommand, ParseTraditionalInclude
2557	    - use bmake_malloc() where NULL is not tollerated
2558	    - use MAKE_ATTR_UNUSED rather that kludges like 
2559	      return(unused ? 0 : 0)
2560	    - use purge_cached_realpaths() rather than abuse cached_realpath()
2561
25622017-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2563
2564	* Makefile (_MAKE_VERSION): 20170413
2565	  Merge with NetBSD make, pick up
2566	  o main.c: when setting .OBJDIR ignore '$' in paths.
2567
2568	* job.c: use MALLOC_OPTIONS to set malloc_options.
2569
25702017-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2571
2572	* Makefile (_MAKE_VERSION): 20170411
2573	  Merge with NetBSD make, pick up
2574	  o str.c: Str_Match: allow [^a-z] to behave as expected.
2575
25762017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2577
2578	* Makefile (_MAKE_VERSION): 20170326
2579	  Merge with NetBSD make, pick up
2580	  o main.c: purge relative paths from realpath cache when .OBJDIR
2581	    is changed.
2582
25832017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2584
2585	* Makefile (_MAKE_VERSION): 20170311
2586	  Merge with NetBSD make, pick up
2587          o main.c: only use -C arg "as is" if it starts with '/'.
2588
25892017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2590
2591	* Makefile (_MAKE_VERSION): 20170301
2592	  Merge with NetBSD make, pick up
2593	  o main.c: use -C arg "as is" rather than getcwd()
2594	    if they identify the same directory.
2595	  o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
2596
25972017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2598
2599	* Makefile (_MAKE_VERSION): 20170201
2600	  Merge with NetBSD make, pick up
2601	  o var.c: allow :_=var and avoid use of special context.
2602
26032017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2604
2605	* Makefile (_MAKE_VERSION): 20170130
2606	  Merge with NetBSD make, pick up
2607	  o var.c: add :range and :_
2608	  o main.c: partially initialize Dir_* before MainParseArgs()
2609	    can be called.
2610	    If -V, skip Main_ExportMAKEFLAGS()
2611
26122017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2613
2614	* Makefile (_MAKE_VERSION): 20170114
2615	  Merge with NetBSD make, pick up
2616	  o var.c: allow specifying the utc value used by :{gm,local}time
2617
26182016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2619
2620	* Makefile (_MAKE_VERSION): 20161212
2621	  Merge with NetBSD make, pick up
2622          o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
2623
26242016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2625
2626	* Makefile (_MAKE_VERSION): 20161209
2627	  Merge with NetBSD make, pick up
2628	  o main.c: cleanup setting of .OBJDIR
2629	  o parse.c: avoid coredump from (var)=val
2630
26312016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2632
2633	* Makefile (_MAKE_VERSION): 20161126
2634	  Merge with NetBSD make, pick up
2635	  o make.c: Make_OODate: report src node name if path not set
2636
26372016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2638
2639	* Makefile (_MAKE_VERSION): 20160926
2640	  Merge with NetBSD make, pick up
2641	  o support for .DELETE_ON_ERROR: (remove targets that fail)
2642	
26432016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2644
2645	* Makefile MAN: tweak .Dt to match ${PROG}
2646
26472016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2648
2649	* Makefile (_MAKE_VERSION): 20160818
2650	  its a neater number; pick up whitespace fixes to man page.
2651
26522016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
2653
2654	* Makefile (_MAKE_VERSION): 20160817
2655	  Merge with NetBSD make, pick up
2656	  o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
2657	    so we can call it before adding entries to missingFiles.
2658	    Thus we do not track files we have been told to ignore.
2659
26602016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2661
2662	* Makefile (_MAKE_VERSION): 20160815
2663	  Merge with NetBSD make, pick up
2664	  o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
2665	    pathnames, and skip if the expansion is empty.
2666	    Useful for dirdeps.mk when checking DIRDEPS_CACHE.
2667
26682016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2669
2670	* Makefile (_MAKE_VERSION): 20160812
2671	  Merge with NetBSD make, pick up
2672	  o meta.c: remove all missingFiles entries that match a deleted
2673	    dir.
2674	  o main.c: set .ERROR_CMD if possible.
2675	  
26762016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2677
2678	* Makefile (_MAKE_VERSION): 20160606
2679	  Merge with NetBSD make, pick up
2680	  o dir.c: extend mtimes cache to others via cached_stat()
2681
26822016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2683
2684	* Makefile (_MAKE_VERSION): 20160604
2685	  Merge with NetBSD make, pick up
2686	  o meta.c: missing filemon data is only relevant if we read a
2687	    meta file.
2688	    Also do not return oodate for a missing metafile if gn->path
2689	    points to .CURDIR
2690	
26912016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2692
2693	* Makefile (_MAKE_VERSION): 20160602
2694	  Merge with NetBSD make, pick up
2695	  o cached_realpath(): avoid hitting filesystem more than necessary.
2696	  o meta.c: refactor need_meta decision, add knobs for 
2697	    missing meta file and filemon data wrt out-of-datedness.
2698
26992016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
2700
2701	* Makefile (_MAKE_VERSION): 20160528
2702
2703	* boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 
2704
27052016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2706
2707	* Makefile (_MAKE_VERSION): 20160512
2708	  Merge with NetBSD make, pick up
2709	  o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
2710	    this is useful for gcov builds.
2711	  o propagate errors from filemon(4).
2712	
27132016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2714
2715	* Makefile (_MAKE_VERSION): 20160509
2716	  Merge with NetBSD make, pick up
2717	  o remove use of non-standard types u_int etc.
2718	  o meta.c: apply realpath() before matching against metaIgnorePaths
2719
27202016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2721
2722	* Makefile (_MAKE_VERSION): 20160404
2723	  Merge with NetBSD make, pick up
2724	  o allow makefile to set .MAKE.JOBS
2725
2726	* Makefile (PROG_NAME): use ${_MAKE_VERSION}
2727
27282016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
2729
2730	* Makefile (_MAKE_VERSION): 20160315
2731	  Merge with NetBSD make, pick up
2732	  o fix handling of archive members
2733
27342016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
2735
2736	* Makefile (_MAKE_VERSION): rename variable to avoid interference
2737	  with checks for ${MAKE_VERSION}
2738
27392016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2740
2741	* Makefile (MAKE_VERSION): 20160310
2742	  Merge with NetBSD make, pick up
2743	  o meta.c: treat missing Read file same as Write, incase we Delete it.
2744
27452016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
2746
2747	* Makefile (MAKE_VERSION): 20160307
2748	  Merge with NetBSD make, pick up
2749	  o var.c: fix :ts\nnn to be octal by default.
2750	  o meta.c: meta_finish() to cleanup memory.
2751
27522016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2753
2754	* Makefile (MAKE_VERSION): 20160226
2755	  Merge with NetBSD make, pick up
2756	  o meta.c: allow meta file for makeDepend if makefiles want it.
2757
27582016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
2759
2760	* var.c: default .MAKE.SAVE_DOLLARS to FALSE
2761	  for backwards compatability.
2762
2763	* Makefile (MAKE_VERSION): 20160220
2764	  Merge with NetBSD make, pick up
2765	  o var.c: add knob to control handling of '$$' in :=
2766
27672016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2768
2769	* Makefile (MAKE_VERSION): 20160218
2770	  Merge with NetBSD make, pick up
2771	  o var.c: add .export-literal allows us to fix sys.clean-env.mk
2772	    post the changes to Var_Subst.
2773	    Var_Subst now takes flags, and does not consume '$$' in :=
2774
27752016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
2776
2777	* Makefile (MAKE_VERSION): 20160217
2778	  Merge with NetBSD make, pick up
2779	  o var.c: preserve '$$' in :=
2780	  o parse.c: add .dinclude for handling included 
2781	    makefile like .depend
2782
27832015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2784
2785	* Makefile (MAKE_VERSION): 20151220
2786	  Merge with NetBSD make, pick up
2787	  o suff.c: re-initialize suffNull when clearing suffixes.
2788
27892015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2790
2791	* Makefile (MAKE_VERSION): 20151201
2792	  Merge with NetBSD make, pick up
2793	  o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
2794	  o meta.c: meta_oodate: use lstat(2) for checking link target
2795	    in case it is a symlink.
2796	  o var.c: avoid calling brk_string and Var_Export1 with empty
2797	    strings.
2798	
27992015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2800
2801	* Makefile (MAKE_VERSION): 20151126
2802	  Merge with NetBSD make, pick up
2803	  o parse.c: ParseTrackInput don't access beyond 
2804	    end of old value.
2805	
28062015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2807
2808	* Makefile (MAKE_VERSION): 20151022
2809
2810	* Add support for BSD/OS which lacks inttypes.h
2811	  and really needs sys/param.h for sys/sysctl.h
2812	  also 'type' is not a shell builtin.
2813
2814	* var.c: eliminate uint32_t and need for inttypes.h
2815	
2816	* main.c: PrintOnError flush stdout before run .ERROR
2817
2818	* parse.c: cope with _SC_PAGESIZE not being defined.
2819
2820	
28212015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2822
2823	* Makefile (MAKE_VERSION): 20151020
2824	  Merge with NetBSD make, pick up
2825	  o var.c: fix uninitialized var 
2826
28272015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
2828
2829	* var.c: the conditional expressions used with ':?' can be
2830	expensive, if already discarding do not evaluate or expand
2831	anything. 
2832
28332015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2834
2835	* Makefile (MAKE_VERSION): 20151010
2836	  Merge with NetBSD make, pick up
2837	  o Add Boolean wantit flag to Var_Subst and Var_Parse
2838	    when FALSE we know we are discarding the result and can
2839	    skip operations like Cmd_Exec.
2840
28412015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
2842
2843	* Makefile (MAKE_VERSION): 20151009
2844	  Merge with NetBSD make, pick up
2845	  o var.c: don't check for NULL before free()
2846	  o meta.c: meta_oodate, do not hard code ignore of makeDependfile
2847
28482015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2849
2850	* Makefile (MAKE_VERSION): 20150910
2851	  Merge with NetBSD make, pick up
2852	  o main.c: with -w print Enter/Leaving messages for objdir too
2853	    if necessary.
2854	  o centralize shell metachar handling
2855	
2856	* FILES: add metachar.[ch]
2857
28582015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
2859
2860	* Makefile (MAKE_VERSION): 20150606
2861	  Merge with NetBSD make, pick up
2862	  o make.1: document .OBJDIR target
2863
28642015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2865
2866	* Makefile (MAKE_VERSION): 20150505
2867	  Merge with NetBSD make, pick up
2868	  o cond.c: be strict about lhs of comparison when evaluating .if
2869	    but less so when called from variable expansion.
2870	  o unit-tests/cond2.mk: test various error conditions
2871
28722015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2873
2874	* machine.sh (MACHINE): Add Bitrig 
2875	  patch from joerg@netbsd.org
2876
28772015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
2878
2879	* Makefile (MAKE_VERSION): 20150418
2880	  Merge with NetBSD make, pick up
2881	  o job.c: use memmove() rather than memcpy()
2882
2883	* unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
2884	  case, so skip it.
2885
28862015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2887
2888	* Makefile (MAKE_VERSION): 20150411
2889	  bump version - only mk/ changes.
2890	
28912015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2892
2893	* Makefile (MAKE_VERSION): 20150410
2894	  Merge with NetBSD make, pick up
2895	  o document different handling of '-' in jobs mode vs compat
2896	  o fix jobs mode so that '-' only applies to whole job
2897	    when shell lacks hasErrCtl
2898	  o meta.c: use separate vars to track lcwd and latestdir (read)
2899	    per process
2900	
29012015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2902
2903	* Makefile (MAKE_VERSION): 20150401
2904	  Merge with NetBSD make, pick up
2905	  o meta.c: close meta file in child
2906	
2907	* Makefile: use BINDIR.bmake if set.
2908	  Same for MANDIR and SHAREDIR
2909	  Handy for testing release candidates
2910	  in various environments.
2911	
29122015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
2913
2914	* move initialization of savederr to block where it is used
2915	  to avoid spurious warning from gcc5
2916
29172014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2918
2919	* Makefile (MAKE_VERSION): 20141111
2920	  just a cooler number
2921
29222014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2923
2924	* Makefile (MAKE_VERSION): 20141105
2925	  Merge with NetBSD make, pick up
2926	  o revert major overhaul of suffix handling
2927	    and POSIX compliance - too much breakage
2928	    and impossible to make backwards compatible.
2929	  o we still have the new unit test structure which is ok.
2930	  o meta.c ensure "-- filemon" is at start of line.
2931
29322014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
2933
2934	* configure.in: test that result of getconf PATH_MAX is numeric
2935	  and discard if not.  Apparently needed for Hurd.
2936
29372014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2938
2939	* Makefile (MAKE_VERSION): 20140830
2940	  Merge with NetBSD make, pick up
2941	  o major overhaul of suffix handling
2942	  o improved POSIX compliance
2943	  o overhauled unit-tests
2944
29452014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2946
2947	* Makefile (MAKE_VERSION): 20140620
2948	  Merge with NetBSD make, pick up
2949	  o var.c return varNoError rather than var_Error for ::= modifiers.
2950
29512014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2952
2953	* Makefile (MAKE_VERSION): 20140522
2954	  Merge with NetBSD make, pick up
2955	  o var.c detect some parse errors.
2956
29572014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
2958
2959	* Fix spelling errors - patch from Pedro Giffuni
2960
29612014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
2962
2963	* Makefile (MAKE_VERSION): 20140214
2964	  Merge with NetBSD make, pick up
2965	  o .INCLUDEFROM*
2966	  o use Var_Value to get MAKEOBJDIR[PREFIX]
2967	  o reduced realloc'ign in brk_string.
2968	* configure.in: add a check for compiler supporting __func__
2969
29702014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
2971
2972	* boot-strap: ignore mksrc=none
2973
29742014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
2975
2976	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
2977
29782014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2979	
2980	* Makefile (MAKE_VERSION): 20140101
2981	* configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
2982	* Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
2983	* make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
2984	  Hurd) 
2985	* configure.in: Add AC_PREREQ and check for
2986	  sysctl; patch from Andrew Shadura andrewsh at debian.org
2987
29882013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
2989
2990	* Makefile (MAKE_VERSION): 20131010
2991	* lose the const from arg to systcl to avoid problems on older BSDs.
2992
29932013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
2994
2995	* Makefile (MAKE_VERSION): 20131001
2996	  Merge with NetBSD make, pick up
2997	  o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
2998	    hw.machine_arch if necessary.
2999	  o meta.c: meta_oodate - need to look at src of Link and target
3000	    of Move as well.
3001	* main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
3002	  provide __arraycount() if needed.
3003
30042013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3005
3006	* Makefile (MAKE_VERSION): 20130904
3007	  Merge with NetBSD make, pick up
3008	  o Add VAR_INTERNAL context, so that internal setting of
3009	    MAKEFILE does not override value set by makefiles.
3010
30112013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3012
3013	* Makefile (MAKE_VERSION): 20130902
3014	  Merge with NetBSD make, pick up
3015	  o CompatRunCommand: only apply shellErrFlag when errCheck is true
3016
30172013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3018
3019	* Makefile (MAKE_VERSION): 20130828
3020	  Merge with NetBSD make, pick up
3021	  o Fix VAR :sh = syntax from Will Andrews at freebsd.org
3022	  o Call Job_SetPrefix() from Job_Init() so makefiles have
3023	    opportunity to set .MAKE.JOB.PREFIX
3024
30252013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3026
3027	* Makefile (MAKE_VERSION): 20130730
3028	  Merge with NetBSD make, pick up
3029	  o Allow suppression of --- job -- tokens by setting
3030	    .MAKE.JOB.PREFIX empty.
3031
30322013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
3033
3034	* Makefile (MAKE_VERSION): 20130716
3035	  Merge with NetBSD make, pick up
3036	  o number of gmake compatibility tweaks
3037	    -w for gmake style entering/leaving messages
3038	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
3039	    handle MAKEFLAGS containing only letters.
3040	  o when overriding a GLOBAL variable on the command line,
3041	    delete it from GLOBAL context so -V doesn't show the wrong
3042	    value.
3043	
30442013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3045
3046	* configure.in: We don't need MAKE_LEVEL_SAFE anymore.
3047
3048	* Makefile (MAKE_VERSION): 20130706
3049	  Merge with NetBSD make, pick up
3050	  o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
3051	    true so that CompatRunCommand() can use it, to ensure
3052	    consistent behavior with jobs mode.
3053	  o use MAKE_LEVEL_ENV to define the variable to propagate
3054	    .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
3055	  o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
3056	    paths to ignore.
3057
30582013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3059
3060	* Makefile (MAKE_VERSION): 20130604
3061	  Merge with NetBSD make, pick up
3062	  o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
3063	    to avoid leaking descriptors.
3064
30652013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3066
3067	* Makefile (MAKE_VERSION): 20130528
3068	  Merge with NetBSD make, pick up
3069	  o var.c: cleanup some left-overs in VarHash()
3070
30712013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3072
3073	* Makefile (MAKE_VERSION): 20130520
3074	  generate manifest from component FILES rather than have to
3075	  update FILES when mk/FILES changes.
3076
30772013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3078
3079	* Makefile (MAKE_VERSION): 20130518
3080	  Merge with NetBSD make, pick up
3081	  o suff.c: don't skip all processsing for .PHONY targets
3082	    else wildcard srcs do not get expanded.
3083	  o var.c: expand name of variable to delete if necessary.
3084
30852013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3086
3087	* Makefile (MAKE_VERSION): 20130330
3088	  Merge with NetBSD make, pick up
3089	  o meta.c: refine the handling of .OODATE in commands.
3090	    Rather than suppress command comparison for the entire script
3091	    as though .NOMETA_CMP had been used, only suppress it for the
3092	    one command line.
3093	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 
3094	    suppress comparison of a command without otherwise affecting it.
3095	  o make.1: document that
3096
30972013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3098
3099	* Makefile (MAKE_VERSION): 20130321
3100	  yes, not quite right but its a cooler number.
3101	  Merge with NetBSD make, pick up
3102	  o parse.c: fix ParseGmakeExport to be portable 
3103	    and add a unit-test.
3104	* meta.c: call meta_init() before makefiles are read and if built
3105	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
3106	  this let's makefiles test for support.
3107	  Call meta_mode_init() to process .MAKE.MODE.
3108
31092013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3110
3111	* Makefile (MAKE_VERSION): 20130305
3112	  Merge with NetBSD make, pick up
3113	  o run .STALE: target when a dependency from .depend is missing.
3114	  o job.c: add Job_RunTarget() for the above and .BEGIN
3115
31162013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
3117
3118	* Makefile (MAKE_VERSION): 20130303
3119	  Merge with NetBSD make, pick up
3120	  o main.c: set .MAKE.OS to utsname.sysname
3121	  o job.c: more checks for read and poll errors
3122	  o var.c: lose VarChangeCase() saves 4% time
3123
31242013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3125
3126	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
3127	  want to use MAKEOBJDIR
3128
31292013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
3130
3131	* Merge with NetBSD make, pick up
3132	  o make.1: more info on how shell commands are handled.
3133	  o job.c,main.c: detect write errors to job pipes.
3134
31352013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3136
3137	* Makefile (MAKE_VERSION): 20130123
3138	  Merge with NetBSD make, pick up
3139	  o meta.c: if script uses .OODATE and meta_oodate() decides
3140	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
3141	  o var.c: in debug output indicate which variabale modifiers
3142	    apply to.
3143	  o remove Check_Cwd logic the makefiles have been fixed.
3144	
31452012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
3146
3147	* makefile.in: add a simple makefile for folk who insist on
3148	  ./configure; make; make install
3149	  it just runs boot-strap
3150	* include mk/* to accommodate the above
3151	* boot-strap:  re-work to accommodate the above
3152	  mksrc defaults to $Mydir/mk
3153	  allow op={configure,build,install,clean,all}
3154	  add options to facilitate install
3155	* Makefile.config.in: just the bits set by configure
3156	* Makefile: bump version to 20121212
3157	  abandon Makefile.in (NetBSD Makefile)
3158	  leverage mk/* instead
3159	* configure.in: ensure srcdir is absolute
3160
31612012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3162
3163	* Makefile.in (MAKE_VERSION): 20121111
3164	  fix generation of bmake.cat1
3165
31662012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3167
3168	* Makefile.in (MAKE_VERSION): 20121109
3169	  Merge with NetBSD make, pick up
3170	  o make.c: MakeBuildChild: return 0 so search continues if a
3171	    .ORDER dependency is detected.
3172	  o unit-tests/order: test the above
3173	
31742012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3175
3176	* Makefile.in (MAKE_VERSION): 20121102
3177	  Merge with NetBSD make, pick up
3178	  o cond.c: allow cond_state[] to grow.
3179	    In meta mode with a very large tree, we can hit the limit
3180	    while processing dirdeps.
3181	
31822012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3183
3184	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
3185
31862012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3187
3188	* Makefile.in (MAKE_VERSION): 20121010
3189	  o protect syntax that only bmake parses correctly.
3190	  o remove auto setting of FORCE_MACHINE, use configure's
3191	    --with-force-machine=whatever if that is desired.
3192	
31932012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
3194
3195	* Makefile.in: do not lose history from make.1 when generating bmake.1
3196
31972012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3198
3199	* Makefile.in (MAKE_VERSION): 20121007
3200	  Merge with NetBSD make, pick up
3201	  o compat.c: ignore empty commands - same as jobs mode.
3202	  o make.1: document meta chars that cause use of shell
3203
32042012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3205
3206	* Makefile.in (MAKE_VERSION): bump version to 20120911
3207	* bsd.after-import.mk: include Makefile.inc early and allow it to
3208	  override PROG
3209
32102012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
3211
3212	* Makefile.in (MAKE_VERSION): bump version to 20120831
3213	  Merge with NetBSD make, pick up
3214	  o cast sizeof() to int for comparison
3215	  o minor make.1 tweak
3216
32172012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3218
3219	* Makefile.in (MAKE_VERSION): bump version to 20120830
3220	  Merge with NetBSD make, pick up
3221	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
3222	  o debug flag -dV causes -V to show raw value regardless.
3223	
32242012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3225
3226	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
3227	  gets SRCTOP set.
3228
32292012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3230
3231	* Makefile.in (MAKE_VERSION): bump version to 20120704
3232	  Merge with NetBSD make, pick up
3233	  o Job_ParseShell should call Shell_Init if it has been
3234	    previously called.
3235	* Makefile.in: set USE_META based on configure result.
3236	  also .PARSEDIR is safer indicator of bmake.
3237
32382012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3239
3240	* Makefile.in: bump version to 20120626
3241	  ensure CPPFLAGS is in CFLAGS
3242	* meta.c: avoid nested externs
3243	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
3244	
32452012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3246
3247	* Makefile.in (MAKE_VERSION): bump version to 20120620
3248	  Merge with NetBSD make, pick up
3249	  o make_malloc.c: avoid including make_malloc.h again
3250
3251	* Makefile.in: avoid bmake only syntax or protect with
3252	  .if defined(.MAKE.LEVEL)
3253	* bsd.after-import.mk: replace .-include with .sinclude
3254	  ensure? SRCTOP gets a value
3255	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
3256
32572012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
3258
3259	* Makefile.in (MAKE_VERSION): bump version to 20120612
3260	  Merge with NetBSD make, pick up
3261	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
3262	    for greater portability.
3263	  o unit-tests/forloop: check that .for works as expected wrt
3264	    number of times and with "quoted strings".
3265	
32662012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3267
3268	* Makefile.in (MAKE_VERSION): bump version to 20120606
3269	  Merge with NetBSD make, pick up
3270	  o compat.c: use kill(2) rather than raise(3).
3271	* configure.in: look for sys/dev/filemon
3272	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
3273	  and pass BOOTSTRAP_XTRAS to boot-strap.
3274
32752012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3276
3277	* Makefile.in (MAKE_VERSION): bump version to 20120604
3278	  Merge with NetBSD make, pick up
3279	  o util.c and var.c share same var for tracking if environ
3280	    has been reallocated.
3281	  o util.c provide getenv with setenv.
3282	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
3283	  when the shell actively strips .MAKE.* from the environment.
3284	  We still refer to the variable always as .MAKE.LEVEL
3285	* util.c fix bug in findenv() was finding prefix of name.
3286	* compat.c: re-raising SIGINT etc after running .INTERRUPT
3287	  results in more reliable termination of all activity on many
3288	  platforms.
3289
32902012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3291
3292	* Makefile.in (MAKE_VERSION): bump version to 20120602
3293	  Merge with NetBSD make, pick up
3294	  o for.c: handle quoted items in .for list
3295
32962012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3297
3298	* Makefile.in (MAKE_VERSION): bump version to 20120530
3299	  Merge with NetBSD make, pick up
3300	  o compat.c: ignore empty command.
3301
33022012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
3303
3304	* Makefile.in (MAKE_VERSION): bump version to 20120524
3305	* FILES: add bsd.after-import.mk:
3306	  A simple means of integrating bmake into a BSD build system.
3307
33082012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3309
3310	* Makefile.in (MAKE_VERSION): bump version to 20120520
3311	  Merge with NetBSD make, pick up
3312	  o increased limit for nested conditionals.
3313	
33142012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3315
3316	* Makefile.in (MAKE_VERSION): bump version to 20120518
3317	  Merge with NetBSD make, pick up
3318	  o use _exit(2) in signal hanlder
3319	  o Don't use the [dir] cache when building nodes that might have
3320	    changed since the last exec.
3321	  o Avoid nested extern declaration warnings.
3322
33232012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
3324
3325	* meta.c (fgetLine): avoid %z - not portable.
3326	* parse.c: Since we moved include of sys/mman.h
3327	  and def's of MAP_COPY etc. we got dups from a merge.
3328
33292012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
3330
3331	* Makefile.in (MAKE_VERSION): bump version to 20120420
3332	  Merge with NetBSD make, pick up
3333	  o restore duplicate supression in .MAKE.MAKEFILES
3334	    runtime saving can be significant.
3335	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
3336	    consumption up to 20%. 
3337
33382012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3339
3340	* Makefile.in (MAKE_VERSION): bump version to 20120420
3341          Merge with NetBSD make, pick up
3342	  o remove duplicate supression in .MAKE.MAKEFILES
3343	  o improved dir cache behavior
3344	  o gmake'ish export command
3345	
33462012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3347
3348	* Makefile.in (MAKE_VERSION): bump version to 20120325
3349	  Merge with NetBSD make, pick up
3350	  o fix parsing of :[#] in conditionals.
3351
33522012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3353
3354	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
3355	  since some systems cannot cope with .Nx <version>
3356
33572011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
3358
3359	* Makefile.in (MAKE_VERSION): bump version to 20111111
3360	  Merge with NetBSD make, pick up
3361	  o debug output for .PARSEDIR and .PARSEFILE
3362
33632011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3364
3365	* Makefile.in (MAKE_VERSION):  bump version to 20111010
3366
33672011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3368
3369	* boot-strap: check for an expected file in the dirs we look for.
3370	* make-bootstrap.sh: pass on LDSTATIC
3371
33722011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3373
3374	* Makefile.in (MAKE_VERSION): bump version to 20111001
3375	  Merge with NetBSD make, pick up
3376	  o ensure .PREFIX is set for .PHONY
3377	    and .TARGET set for .PHONY run via .END
3378	  o __dead used consistently
3379	
33802011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3381
3382	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
3383
33842011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3385
3386	* Makefile.in (MAKE_VERSION): bump version to 20110905
3387	  Merge with NetBSD make, pick up
3388	  o meta_oodate: ignore makeDependfile
3389	
33902011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3391
3392	* Makefile.in (MAKE_VERSION): bump version to 20110828
3393	  Merge with NetBSD make, pick up
3394	  o silent=yes in .MAKE.MODE causes meta mode to mark targets 
3395	    as SILENT if a .meta file is created
3396
33972011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3398
3399	* Makefile.in (MAKE_VERSION): bump version to 20110818
3400	  Merge with NetBSD make, pick up
3401	  o in meta mode, if target flagged .META a missing .meta file
3402	    means target is out-of-date
3403	  o fixes for gcc 4.5 warnings
3404	  o simplify job printing code
3405	
34062011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
3407
3408	* Makefile.in (MAKE_VERSION): bump version to 20110808
3409	  Merge with NetBSD make, pick up
3410	  o do not touch OP_SPECIAL targets when doing make -t
3411	
34122011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3413
3414	* Makefile.in (MAKE_VERSION): bump version to 20110622
3415	  Merge with NetBSD make, pick up
3416	  o meta_oodate detect corrupted .meta file and declare oodate.
3417	* configure.in: add check for setsid
3418	
34192011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3420
3421	* Merge with NetBSD make, pick up
3422	  o unit-tests/modts now works on MirBSD
3423
34242011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3425
3426	* Makefile.in (MAKE_VERSION): bump version to 20110606
3427	  Merge with NetBSD make, pick up
3428	  o ApplyModifiers: when we parse a variable which is not
3429	    the entire modifier string, or not followed by ':', do not
3430	    consider it as containing modifiers.
3431	  o loadfile: ensure newline at end of mapped file.
3432
34332011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3434
3435	* Makefile.in (MAKE_VERSION): bump version to 20110505
3436	  Merge with NetBSD make, pick up
3437	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
3438	    of make's control.  In meta mode, any generated file within
3439	    said bailiwick, which  is found to be missing, causes current
3440	    target to be out-of-date. 
3441	
34422011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3443
3444	* Makefile.in (MAKE_VERSION): bump version to 20110411
3445	  Merge with NetBSD make, pick up
3446	  o when long modifiers fail to match, check sysV style.
3447	    - add a test case
3448	
34492011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3450
3451	* Makefile.in (MAKE_VERSION): bump version to 20110410
3452	  Merge with NetBSD make, pick up
3453	  o :hash - cheap 32bit hash of value
3454	  o :localtime, :gmtime - use value as format string for strftime.
3455	
34562011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3457
3458	* Makefile.in (MAKE_VERSION): bump version to 20110330
3459	  mostly because its a cooler version.
3460	  Merge with NetBSD make, pick up
3461	  o NetBSD tags for meta.[ch]
3462	  o job.c call meta_job_finish() after meta_job_error().
3463	  o meta_job_error() should call meta_job_finish() to ensure
3464	    .meta file is closed, and safe to copy - if .ERROR target wants.
3465	   meta_job_finish() is safe to call repeatedly.
3466	
34672011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
3468
3469	* unit-tests/modts: use printf if it is a builtin, 
3470	  to save us from MirBSD
3471
3472	* Makefile.in (MAKE_VERSION): bump version to 20110329
3473	  Merge with NetBSD make, pick up
3474	  o fix for use after free() in CondDoExists().
3475	  o meta_oodate() report extra commands and return earlier.
3476	
34772011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
3478
3479	* Makefile.in (MAKE_VERSION): bump version to 20110327
3480	  Merge with NetBSD make, pick up
3481	  o meta.c, if .MAKE.MODE contains curdirOk=yes
3482	    allow creating .meta files in .CURDIR
3483	* boot-strap (TOOL_DIFF): aparently at least on linux distro
3484	  formats the output of 'type' differently - so eat any "()"
3485
34862011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3487
3488	* Makefile.in (MAKE_VERSION): bump version to 20110306
3489	  Merge with NetBSD make, pick up
3490	  o meta.c, only do getcwd() once
3491	
34922011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3493
3494	* Makefile.in (MAKE_VERSION): bump version to 20110305
3495	  Merge with NetBSD make, pick up
3496	  o correct sysV substitution handling of empty lhs and variable
3497	  o correct exists() check for dir with trailing /
3498	  o correct handling of modifiers for non-existant variables
3499	    during evaluation of conditionals.
3500	  o ensure MAP_FILE is defined.
3501	  o meta.c use curdir[] now exported by main.c
3502	
35032011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
3504
3505	* Makefile.in (MAKE_VERSION): bump version to 20110225
3506	  Merge with NetBSD make, pick up
3507	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
3508	    makefiles have been read.
3509	  o fix example of :? modifier in man page.
3510	
35112011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3512
3513	* Makefile.in (MAKE_VERSION): bump version to 20110214
3514	  Merge with NetBSD make, pick up
3515	  o meta.c handle realpath() failing when generating meta file
3516	    name.
3517
3518	* sigcompat.c: convert to ansi so we can use higher warning levels.
3519
3520
35212011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
3522
3523	* Makefile.in (MAKE_VERSION): bump version to 20110207
3524	  Merge with NetBSD make, pick up
3525	  o fix for bug in meta mode.
3526	
35272011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
3528
3529	* parse.c: SunOS 5.8 at least does not have MAP_FILE
3530
35312011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
3532
3533	* Makefile.in (MAKE_VERSION): bump version to 20110101
3534	  Merge with NetBSD make, pick up
3535	  o use mmap(2) if available, for reading makefiles
3536
35372010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
3538
3539	* Makefile.in (MAKE_VERSION): bump version to 20101215
3540	  Merge with NetBSD make, pick up
3541	  o ensure meta_job_error() does not report a previous .meta file
3542	    as being culprit.
3543
35442010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3545
3546	* Makefile.in (MAKE_VERSION): bump version to 20101210
3547	  Merge with NetBSD make, pick up
3548	  o meta_oodate: track cwd per process, and only consider target
3549	    out-of-date if missing file is outside make's CWD.
3550	    Ignore files in /tmp/ etc.
3551	  o to ensure unit-tests results match, need to control LC_ALL
3552	    as well as LANG.
3553	  o fix for parsing bug in var.c
3554
35552010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
3556
3557	* Makefile.in (MAKE_VERSION): bump version to 20101126
3558	  Merge with NetBSD make, pick up
3559	  o if stale dependency is an IMPSRC, search via .PATH
3560	  o meta_oodate: if a referenced file is missing, target is
3561	    out-of-date.
3562	  o meta_oodate: if a target uses .OODATE in its commands,
3563	    it (.OODATE) needs to be recomputed.
3564	  o keep a pointer to youngest child node, rather than just its
3565	    mtime.
3566	
35672010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
3568
3569	* Makefile.in (MAKE_VERSION): bump version to 20101101
3570
35712010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
3572
3573	* machine.sh: like os.sh, 
3574	allow for uname -p producing useless drivel
3575
35762010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
3577
3578	* boot-strap: document configure knobs for meta and filemon.
3579
3580	* Makefile.in (MAKE_VERSION): bump version to 20100911
3581	  Merge with NetBSD make, pick up
3582	  o meta.c - meta mode
3583
3584	* make-bootstrap.sh.in: handle meta.c
3585	* configure.in: add knobs for use_meta and filemon_h
3586	  also, look for dirname, str[e]sep and strlcpy
3587	* util.c: add simple err[x] and warn[x]
3588
35892010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
3590
3591	* boot-strap (TOOL_DIFF): set this to ensure tests use
3592	  the same version of diff that configure tested
3593
3594	* Makefile.in (MAKE_VERSION): bump version to 20100808
3595	  Merge with NetBSD make, pick up
3596	  o in jobs mode, when we discover we cannot make something,
3597	    call PrintOnError before exit.
3598	
35992010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3600
3601	* Makefile.in (MAKE_VERSION): bump version to 20100806
3602	  Merge with NetBSD make, pick up
3603	  o formatting fixes for ignored errors
3604	  o ensure jobs are cleaned up regardless of where wait() was called.
3605
36062010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
3607
3608	* Makefile.in (MAKE_VERSION): bump version to 20100618
3609	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
3610
36112010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
3612
3613	* Makefile.in (MAKE_VERSION): bump version to 20100616
3614	  Merge with NetBSD make, pick up
3615	  o man page update
3616	  o call PrintOnError from JobFinish when we detect an error we
3617	    are not ignoring. 
3618	
36192010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3620
3621	* Makefile.in (MAKE_VERSION): bump version to 20100606
3622	  Merge with NetBSD make, pick up
3623	  o man page update
3624
36252010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3626
3627	* Makefile.in (MAKE_VERSION): bump version to 20100605
3628	  Merge with NetBSD make, pick up
3629	  o use bmake_signal() which is a wrapper around sigaction() 
3630	    in place of signal()
3631	  o add .export-env to allow exporting variables to environment
3632	    without tracking (so no re-export when the internal value is
3633	    changed).
3634	
36352010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
3636
3637	* Makefile.in (MAKE_VERSION): bump version to 20100524
3638	  Merge with NetBSD make, pick up
3639	  o fix for .info et al being greedy.
3640
36412010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
3642
3643	* Makefile.in (MAKE_VERSION): bump version to 20100520
3644	  Merge with NetBSD make, pick up
3645	  o back to using realpath on argv[0] 
3646	    but only if contains '/' and does not start with '/'.
3647
36482010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3649
3650	* boot-strap: use absolute path for bmake when running tests.
3651
3652	* Makefile.in (MAKE_VERSION):  bump version to 20100510
3653	  Merge with NetBSD make, pick up
3654	  o revert use of realpath on argv[0]
3655	    too many corner cases.
3656	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
3657
36582010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
3659
3660	* Makefile.in (MAKE_VERSION): bump version to 20100505
3661	  Merge with NetBSD make, pick up
3662	  o fix for missed SIGCHLD when compiled with SunPRO
3663	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
3664	    done the job.
3665
36662010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
3667
3668	* Makefile.in (MAKE_VERSION): bump version to 20100430
3669	  Merge with NetBSD make, pick up
3670	  o fflush stdout before writing to stdout
3671	
36722010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
3673
3674	* Makefile.in (MAKE_VERSION): bump version to 20100423
3675	  Merge with NetBSD make, pick up
3676	  o updated unit tests for Haiku (this time for sure).
3677	* boot-strap: based on patch from joerg 
3678	  honor --with-default-sys-path better.
3679	* boot-strap: remove mention of --with-prefix-sys-path
3680	
36812010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
3682
3683	* Makefile.in (MAKE_VERSION): bump version to 20100422
3684	* Merge with NetBSD make, pick up
3685	  o fix for vfork() on Darwin.
3686	  o fix for bogus $TMPDIR.
3687	  o set .MAKE.MODE=compat for -B
3688	  o set .MAKE.JOBS=max_jobs for -j max_jobs
3689	  o allow unit-tests to run without any *.mk
3690	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
3691	* boot-strap: ignore /usr/share/mk except on NetBSD.
3692	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
3693	  ensure sort(1) behaves as expected. 
3694	
36952010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
3696
3697	* boot-strap: add FindHereOrAbove so we can use -m .../mk
3698
36992010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
3700
3701	* Makefile.in (MAKE_VERSION): bump version to 20100420
3702	* Merge with NetBSD make, pick up
3703	  o fix for variable realpath() behavior.
3704	    we have to stat(2) the result to be sure.
3705	  o fix for .export (all) when nested vars use :sh
3706	
37072010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
3708
3709	* Makefile.in (MAKE_VERSION): bump version to 20100414
3710	* Merge with NetBSD make, pick up
3711	  o use realpath to resolve argv[0] (for .MAKE) if needed.
3712	  o add realpath from libc.
3713	  o add :tA to resolve variable via realpath(3) if possible.
3714
37152010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
3716
3717	* Makefile.in (MAKE_VERSION): bump version to 20100408
3718	* Merge with NetBSD make, pick up
3719	  o unit tests for .ERROR, .error
3720	  o fix for .ERROR to ensure it cannot be default target.
3721
37222010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
3723
3724	* Makefile.in (MAKE_VERSION): bump version to 20100406
3725	* Merge with NetBSD make, pick up
3726	  o fix for compat mode "Error code" going to debug_file.
3727	  o fix for .ALLSRC being populated twice.
3728	  o support for .info, .warning and .error directives
3729	  o .MAKE.MODE to control make's operational mode
3730	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
3731	    name(s).
3732	  o .MAKE.DEPENDFILE to control the name of the depend file
3733	  o .ERROR target - run on failure.
3734	
37352010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
3736
3737	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
3738
3739	* os.sh,arch.c: patch for Haiku from joerg at netbsd
3740
37412010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
3742
3743	* Makefile.in (MAKE_VERSION): bump version to 20100222
3744	* Merge with NetBSD make, pick up
3745	  o better error msg for .for with mutiple inter vars
3746	
3747	* boot-strap: 
3748	  o use make-bootstrap.sh from joerg at netbsd
3749	    to avoid the need for a native make when bootstrapping.
3750	  o add "" everywhere ;-)
3751	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
3752	    otherwise the pre-formated version.
3753
37542010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
3755
3756	* Makefile.in (MAKE_VERSION): bump version to 20100102
3757	* Merge with NetBSD make, pick up:
3758	  o fix for -m .../
3759
37602009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
3761
3762	* Makefile.in (MAKE_VERSION): bump version to 20091118
3763	* Merge with NetBSD make, pick up:
3764	  o .unexport
3765	  o report lines that start with '.' and should have ':'
3766	    (catch typo's of .el*if).
3767	
37682009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
3769
3770	* configure.in: Ensure that srcdir and mksrc are absolute paths.
3771
37722009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
3773
3774	* Makefile.in (MAKE_VERSION): fix version to 20091007
3775
37762009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
3777
3778	* Makefile.in (MAKE_VERSION): bump version to 200910007
3779	* Merge with NetBSD make, pick up:
3780	  o fix for parsing of :S;...;...; applied to .for loop iterator
3781	    appearing in a dependency line. 
3782	
37832009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
3784
3785	* Makefile.in (MAKE_VERSION): bump version to 20090909
3786	* Merge with NetBSD make, pick up:
3787	  o fix for -C, .CURDIR and .OBJDIR
3788	* boot-strap: 
3789	  o allow share_dir to be set independent of prefix.
3790	  o select default share_dir better when prefix ends in $HOST_TARGET
3791	  o if FORCE_BSD_MK etc were set, include them in the suggested
3792	    install-mk command.
3793
37942009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
3795
3796	* Makefile.in (MAKE_VERSION): bump version to 20090908
3797	* Merge with NetBSD make, pick up:
3798	  o .MAKE.LEVEL for recursion tracking
3799	  o fix for :M scanning \:
3800
38012009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
3802
3803	* configure.in: Don't -D__EXTENSIONS__ if
3804	AC_USE_SYSTEM_EXTENSIONS says "no".
3805
38062009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
3807
3808	* Makefile.in (MAKE_VERSION): bump version to 20090826
3809	Simplify MAKE_VERSION to just the bare date.
3810	* Merge with NetBSD make, pick up:
3811	  o -C directory support.
3812	  o support for SIGINFO
3813	  o use $TMPDIR for temp files.
3814	  o child of vfork should be careful about modifying parent's state.
3815	
3816
38172009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
3818
3819	* Appy some patches for MiNT from David Brownlee
3820
38212009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
3822
3823	* Makefile.in (BMAKE_VERSION): bump version to 20090222
3824	* Merge with NetBSD make, pick up:
3825	  o Possible null pointer de-ref in Var_Set.
3826
38272009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
3828
3829	* Makefile.in (BMAKE_VERSION): bump version to 20090204
3830	* Merge with NetBSD make, pick up:
3831	  o bmake_malloc et al moved to their own .c
3832	  o Count both () and {} when looking for the end of a :M pattern
3833	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
3834	  o strlist.c - functions for processing extendable arrays of pointers to strings.
3835	  o ClientData replaced with void *, so const void * can be used.
3836	  o New debug flag C for DEBUG_CWD
3837
38382008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
3839
3840	* Makefile.in (BMAKE_VERSION): bump version to 20081111
3841	  Apply patch from Joerg Sonnenberge to
3842	  configure.in:
3843	  o remove some redundant checks
3844	  o check for emlloc etc only in libutil and require the whole family.
3845	  util.c:
3846	  o remove [v]asprintf which is no longer used.
3847	
38482008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
3849
3850	* Makefile.in (BMAKE_VERSION): bump version to 20081101
3851	* Merge with NetBSD make, pick up:
3852	  o util.c: avoid use of putenv() - christos
3853
38542008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
3855
3856	* Makefile.in (BMAKE_VERSION): bump version to 20081030
3857	  pick up man page tweaks.
3858
38592008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
3860
3861	* Makefile.in: move processing of LIBOBJS to after is definition!
3862	  thus we'll have getenv.c in SRCS only if needed.
3863
3864	* make.1: add examples of how to use :?
3865
3866	* Makefile.in (BMAKE_VERSION): bump version to 20081029
3867	* Merge with NetBSD make, pick up:
3868	  o fix for .END processing with -j
3869	  o segfault from Parse_Error when no makefile is open
3870	  o handle numeric expressions in any variable expansion
3871	  o debug output now defaults to stderr, -dF to change it - apb
3872	  o make now uses bmake_malloc etc so that it can build natively 
3873	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
3874
38752008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
3876
3877	* Makefile.in (BMAKE_VERSION): bump version to 20080808
3878	* Merge with NetBSD make, pick up:
3879	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
3880	    long lines in Makefiles 
3881	  o optimizations for VarQuote by joerg
3882	  o fix for PR/38756: dominik: make dumps core on invalid makefile
3883	
38842008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
3885
3886	* Makefile.in (BMAKE_VERSION): bump version to 20080515
3887	* Merge with NetBSD make, pick up:
3888	  o fix skip setting vars in VAR_GLOBAL context, to handle
3889	    cases where VAR_CMD is used for other than command line vars.
3890
38912008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
3892
3893	* boot-strap (make_version): we may need to look in
3894	$prefix/share/mk for sys.mk 
3895
3896	* Makefile.in (BMAKE_VERSION): bump version to 20080514
3897	* Merge with NetBSD make, pick up:
3898	  o skip setting vars in VAR_GLOBAL context, when already set in
3899	  VAR_CMD which takes precedence.
3900
39012008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
3902
3903	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
3904	* Merge with NetBSD make, pick up:
3905	  o fix for ?= when LHS contains variable reference.
3906
39072008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
3908
3909	* merge some patches from NetBSD pkgsrc.
3910	
3911	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
3912	the MAKSYSPATH used during bootstrap. 
3913
3914	* Makefile.in (BMAKE_VERSION): bump version to 20080215
3915	* Merge with NetBSD make, pick up:
3916	  o warn if non-space chars follow 'empty' in a conditional.
3917
39182008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
3919
3920	* Makefile.in (BMAKE_VERSION): bump version to 20080118
3921	* Merge with NetBSD make, pick up:
3922	  o consider dependencies read from .depend as optional - dsl
3923	  o remember when buffer for reading makefile grows - dsl
3924	  o add -dl (aka LOUD) - David O'Brien
3925
39262007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
3927
3928	* Makefile.in (BMAKE_VERSION): bump version to 20071022
3929	* Merge with NetBSD make, pick up:
3930	  o Allow .PATH<suffix> to be used for .include ""
3931
3932	* boot-strap: source default settings from .bmake-boot-strap.rc
3933
39342007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
3935
3936	* Makefile.in: fix maninstall on various systems 
3937	  provided that our man.mk is used.
3938	  For non-BSD systems we install the preformatted page
3939	  into $MANDIR/cat1
3940
39412007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
3942
3943	* boot-strap: make bmake.1 too, so maninstall works.
3944
39452007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
3946
3947	* Makefile.in (BMAKE_VERSION): bump version to 20071014
3948	* Merge with NetBSD make, pick up:
3949	  o revamped handling of defshell - configure no longer needs to
3950	    know the content of the shells array - apb
3951	  o stop Var_Subst modifying its input - apb
3952	  o avoid calling ParseTrackInput too often - dsl
3953
39542007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
3955
3956	* Makefile.in (BMAKE_VERSION): bump version to 20071011
3957	* Merge with NetBSD make, pick up:
3958	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
3959
3960	* sigcompat.c: some tweaks for HP-UX 11.x based on 
3961	  patch from Tobias Nygren
3962
3963	* configure.in: update handling of --with-defshell to match
3964	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
3965	  will now do what one might hope - provided the chosen shell
3966	  behaves enough like sh.
3967
39682007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
3969
3970	* Makefile.in (BMAKE_VERSION): bump to 20071008
3971	* Merge with NetBSD make, pick up:
3972	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
3973	  o .export/.MAKE.EXPORTED - export of variables - sjg
3974	  o .MAKE.MAKEFILES - track all makefiles read - sjg
3975	  o performance improvements - dsl
3976	  o revamp parallel job scheduling - dsl
3977	
39782006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
3979
3980	* Makefile.in (BMAKE_VERSION): bump to 20060728
3981	* Merge with NetBSD make, pick up:
3982	  o extra debug info during variable and cond processing - sjg
3983	  o shell definition now covers newline - rillig
3984	  o minor mem leak in PrintOnError - sjg
3985
39862006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
3987
3988	* Makefile.in (BMAKE_VERSION):  bump to 20060511
3989	* Merge with NetBSD make, pick up:
3990	  o more memory leaks - coverity
3991	  o possible overflow in ArchFindMember - coverity
3992	  o extract variable modifier code out of Var_Parse()
3993	    so it can be called recursively - sjg
3994	  o unit-tests/moderrs - sjg
3995
39962006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
3997
3998	* Makefile.in (BMAKE_VERSION): bump to 20060412
3999	* Merge with NetBSD make, pick up:
4000	  o fixes for some memory leaks - coverity
4001	  o only read first sys.mk etc when searching sysIncPath - sjg
4002
4003	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
4004	setting ${MAKEFILE} - OBATA Akio
4005
40062006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
4007
4008	* Makefile.in (BMAKE_VERSION): bump to 20060318
4009	* Merge with NetBSD make, pick up:
4010	  o cleanup of job.c to remove remote handling, distcc is more
4011	    useful and this code was likely bit-rotting - dsl
4012	  o fix for :P modifier - sjg
4013	* boot-strap: set default prefix to something reasonable 
4014	  (for me anyway). 
4015
40162006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
4017
4018	* Makefile.in (BMAKE_VERSION): bump to 20060301
4019	* Merge with NetBSD make, pick up:
4020	  o make .WAIT apply recursively, document and test case - apb
4021	  o allow variable modifiers in a variable appear anywhere in
4022	    modifier list, document and test case - sjg
4023
40242006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
4025
4026	* Makefile.in (BMAKE_VERSION): bump to 20060222
4027	* Merge with NetBSD make, pick up:
4028	  o improved job token handling - dsl
4029	  o SIG_DFL the correct signal before exec - dsl
4030	  o more debug info during parsing - dsl
4031	  o allow variable modifiers to be specified via variable - sjg
4032	* boot-strap: explain why we died if no mksrc
4033
40342005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
4035
4036	* Makefile.in (BMAKE_VERSION): bump to 20051105
4037	* configure.in: always set default_sys_path 
4038	  default is ${prefix}/share/mk
4039	  - remove prefix_sys_path, anyone wanting more than above
4040	    needs to set it manually.
4041
40422005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
4043
4044	* boot-strap: make this a bit easier for pkgsrc folk.
4045	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
4046	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
4047
40482005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
4049
4050	* Makefile.in (BMAKE_VERSION): bump to 20051102
4051	* job.c (JobFinish): fix likely ancient merge lossage
4052	fix from Todd Vierling.
4053	* boot-strap (srcdir): allow setting mksrc=none
4054
40552005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
4056
4057	* Makefile.in (BMAKE_VERSION): bump to 20051031
4058	* ranlib.h: skip on OSF too.
4059	  (NetBSD PR 31864)
4060
40612005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
4062
4063	* Makefile.in (BMAKE_VERSION): bump to 20051002
4064	  fix a silly typo
4065
40662005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
4067
4068	* Makefile.in (BMAKE_VERSION): bump to 20051001
4069	  support for UnixWare and some other systems,
4070	  based on patches from pkgsrc/bootstrap
4071
40722005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
4073
4074	* Makefile.in (BMAKE_VERSION): bump to 20050901
4075	* Merge with NetBSD make, pick up:
4076	  o possible parse error causing us to wander off.
4077
40782005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
4079
4080	* Makefile.in (BMAKE_VERSION): bump to 20050606
4081	* Merge with NetBSD make, pick up:
4082	  o :0x modifier for randomizing a list
4083	  o fixes for a number of -Wuninitialized issues.
4084
40852005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
4086
4087	* Makefile.in (BMAKE_VERSION): bump to 20050530
4088	* Merge with NetBSD make, pick up:
4089	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
4090
4091	* README: was seriously out of date.
4092	
40932005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
4094
4095	* Important to use .MAKE rather than MAKE.
4096
40972005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
4098
4099	* Makefile.in (BMAKE_VERSION): bump to 20050315
4100	* Merge with NetBSD make, pick up:
4101	  o don't mistake .elsefoo for .else
4102	  o use suffix-specific search path correctly
4103	  o bunch of style nits
4104
41052004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
4106
4107	* boot-strap: 
4108	o ensure that args to --src and --with-mksrc
4109	  are resolved before giving them to configure.
4110	o add -o "objdir" so that builder can control it,
4111	  default is $OS as determined by os.sh
4112	o add -q to suppress all the install instructions.
4113
41142004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
4115
4116	* Remove __IDSTRING()
4117
4118	* Makefile.in (BMAKE_VERSION): bump to 20040508
4119	* Merge with NetBSD make, pick up:
4120	  o posix fixes
4121	    - remove '-e' from compat mode
4122	    - add support for '+' command-line prefix.
4123	  o fix for handling '--' on command-line.
4124	  o fix include in lst.lib/lstInt.h to simplify '-I's
4125	  o we also picked up replacement of MAKE_BOOTSTRAP 
4126	    with !MAKE_NATIVE which is a noop, but possibly confusing.
4127
41282004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
4129
4130	* Makefile.in (BMAKE_VERSION): bump to 20040414
4131	* Merge with NetBSD make, pick up:
4132	  o allow quoted strings on lhs of conditionals
4133	  o issue warning when extra .else is seen
4134	  o print line numer when errors encountered during parsing from
4135	  string.
4136
41372004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
4138
4139	* Makefile.in (BMAKE_VERSION):  bump to 20040220
4140	* Merge with NetBSD make, pick up:
4141	  o fix for old :M parsing bug.
4142	  o re-jigged unit-tests
4143
41442004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
4145
4146	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
4147	so that './bmake -f Makefile test' works.
4148	
41492004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
4150
4151	* Makefile.in: (BMAKE_VERSION): bump to 20040214
4152	* Merge with NetBSD make, pick up:
4153	  o search upwards for *.mk
4154	  o fix for double free of var substitution buffers
4155	  o use of getopt replaced with custom code, since the usage
4156	  (re-scanning) isn't posix compatible.
4157
41582004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
4159
4160	* arch.c: don't include ranlib.h on ELF systems
4161	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
4162
41632004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
4164
4165	* Makefile.in (BMAKE_VERSION): bump to 20040118
4166
4167	* boot-strap (while): export vars we assign to on cmdline
4168	* unit-test/Makefile.in: ternary is .PHONY
4169
41702004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
4171
4172	* Makefile.in (BMAKE_VERSION): bump version to 20040108
4173	* Merge with NetBSD make, pick up:
4174	  o fix for ternary modifier
4175
41762004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
4177
4178	* Makefile.in (BMAKE_VERSION): bump version to 20040105
4179	* Merge with NetBSD make, pick up:
4180	  o fix for cond.c to handle compound expressions better
4181	  o variable expansion within sysV style replacements
4182	  
41832003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
4184
4185	* Make portable snprintf safer - output to /dev/null first to
4186	check space needed.
4187
4188	* Makefile.in (BMAKE_VERSION): bump version to 20031222
4189	* Merge with NetBSD make, pick up:
4190	  o -dg3 to show input graph when things go wrong.
4191	  o explicitly look for makefiles in objdir if not found in curdir so
4192	    that errors in .depend etc will be reported accurarely. 
4193	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
4194	    instead as it more accurately reflects the expected behavior and
4195	    is more consistently implemented.
4196	  o avoid use of asprintf.
4197
41982003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
4199
4200	* util.c: Add asprintf and vasprintf.
4201
4202	* Makefile.in (BMAKE_VERSION): bump version to 20030928
4203	* Merge with NetBSD make, pick up:
4204	:[] modifier - allows picking words from a variable.
4205	:tW modifier - allows treating value as one big word.
4206	W flag for :C and :S - allows treating value as one big word.
4207	
42082003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
4209
4210	* Merge with NetBSD make
4211	pick up -de flag to enable printing failed command.
4212	don't skip 1st two dir entries (normally . and ..) since
4213	coda does not have them.
4214
42152003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
4216
4217	* Makefile.in (BMAKE_VERSION): bump version to 20030909
4218	* Merge with NetBSD make, pick up:
4219	- changes for -V '${VAR}' to print fully expanded value
4220	  cf. -V VAR
4221	- CompatRunCommand now prints the command that failed.
4222	- several files got updated 3 clause Berkeley license.
4223	
42242003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
4225
4226	* boot-strap: Allow setting configure args on command line.
4227
42282003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
4229
4230	* configure.in: add --with-defshell to allow sh or ksh
4231	to be selected as default shell.
4232
4233	* Makefile.in: bump version to 20030731
4234
4235	* Merge with NetBSD make 
4236	Pick up .SHELL spec for ksh and associate man page changes.
4237	Also compat mode now uses the same shell specs.
4238
42392003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
4240
4241	* var.c (Var_Parse): ensure delim is initialized.
4242
4243	* unit-tests/Makefile.in: use single quotes to avoid problems from
4244	some shells.
4245
4246	* makefile.boot.in:
4247	Run the unit-tests as part of the bootstrap procedure.
4248
42492003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
4250
4251	* unit-tests/Makefile.in: always force complaints from
4252	${TEST_MAKE} to be from 'make'.
4253
4254	* configure.in: add check for 'diff -u'
4255	also fix some old autoconf'isms
4256	
4257	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
4258	if using GCC add -Wno-cast-qual to CFLAGS for var.o
4259
4260	* Merge with NetBSD make
4261	Pick up fix for :ts parsing error in some cases.
4262	Pick unit-tests.
4263
42642003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
4265
4266	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
4267
4268	* var.c (Var_Parse): fix bug in :ts modifier, after const
4269	correctness fixes, must pass nstr to VarModify.
4270
42712003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
4272
4273	* Makefile.in: BMAKE_VERSION switch to a date based version.
4274	We'll generally use the date of last import from NetBSD.
4275
4276	* Merge with NetBSD make
4277	Pick up fixes for const-correctness, now passes WARNS=3 on
4278	NetBSD.
4279	Pick up :ts modifier, allows controlling the separator used
4280	between words in variable expansion.
4281
42822003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
4283
4284	* FILES: include boot-strap and os.sh
4285
4286	* Makefile.in: only set WARNS if we are NetBSD, the effect on
4287	FreeBSD is known to be bad.
4288
4289	* makefile.boot.in (bootstrap): make this the default target.
4290
4291	* Makefile.in: bump version to 3.1.19
4292
4293	* machine.sh: avoid A-Z with tr as it is bound to lose.
4294
42952003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
4296
4297	* Merge with NetBSD make
4298	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
4299	Plus some doc fixes.
4300	
43012003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
4302
4303	* Merge with NetBSD make
4304	Pick up fix for PR/1523 - don't count a library as built, if there
4305	is no way to build it 
4306
4307	* Bump version to 3.1.18
4308
43092003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
4310
4311	* Merge with NetBSD make
4312	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
4313	appears in src list.
4314
43152003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
4316
4317	* Merge with NetBSD make (mmm 10th anniversary!)
4318	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
4319	pick up -X which tells us to not export VAR=val via setenv if
4320	we are already doing so via MAKEFLAGS.  This saves valuable env
4321	space on systems like Darwin.
4322	set MAKE_VERSION to 3.1.17
4323
4324	* parse.c: pix up fix for suffix rules
4325
43262003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
4327
4328	* Merge with NetBSD make.
4329	pick up fix for propagating -B via MAKEFLAGS.
4330	set MAKE_VERSION to 3.1.16
4331
4332	* Apply some patches from pkgsrc-bootstrap/bmake
4333	Originally by Grant Beattie <grant@netbsd.org>
4334	I may have missed some - since they are based on bmake-3.1.12
4335	
43362002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
4337
4338	* makefile.boot.in (bmake): update install targets for those that
4339	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
4340	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
4341
4342	* bmake.cat1: update the pre-formatted man page!
4343
43442002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
4345
4346	* Merge with NetBSD make.
4347	pick up fix for premature free of pointer used in call
4348	to Dir_InitCur().
4349	set MAKE_VERSION to 3.1.15
4350
43512002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
4352
4353	* configure.in: determine suitable value for MKSRC.
4354	override using --with-mksrc=PATH.
4355
4356	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
4357	configs(8) will use 'sun4' as an alias for 'sparc'.
4358
43592002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
4360
4361	* Merge with NetBSD make.
4362	pick up ${.PATH}
4363	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
4364	set MAKE_VERSION to 3.1.14
4365	add configure checks for killpg and sys/socket.h
4366
43672002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
4368
4369	* tag bmake-3-1-13
4370	
4371	* makefile.boot.in (bmake): use install-mk
4372	Also setup ./mk before trying to invoke bmake.boot incase we
4373	needed install-mk to create a sys.mk for us. 
4374
4375	* configure.in: If we need to add -I${srcdir}/missing, make it an
4376	absolute path so that it works for lst.lib too.
4377
4378	* make.h: always include sys/cdefs.h since we provide one if the
4379	host does not.
4380	
4381	* Makefile.in (install-mk): 
4382	use MKSRC/install-mk which will do the right thing.
4383	use uname -p for ARCH if possible.
4384	since install-mk will setup links bsd.prog.mk -> prog.mk if
4385	needed, just .include bsd.prog.mk
4386
4387	* Merge with NetBSD make (NetBSD-1.6)
4388	Code is ansi-C only now.
4389	Bug in handling of dotLast is fixed.
4390	Can now assign .OBJDIR and make will reset its notions of life.
4391	New modifiers :tu :tl for toUpper and toLower.
4392
4393Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
4394
4395	* Merge with NetBSD make
4396	pick up fix for .END failure in compat mode.
4397	pick up fix for extra va_end() in ParseVErrorInternal.
4398
4399Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
4400
4401	* configure.in: for systems that have sys/cdefs.h check if it is
4402	compatible.  If not, include the one under missing, but tell it to
4403	include the native one too - necessary on Linux.
4404
4405	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
4406	include_next (for gcc) to get the native sys/cdefs.h
4407
4408Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4409
4410	* job.c (JobFinish): Fix an earlier merge bug that resulted in
4411	leaking descriptors when using -jN.
4412	
4413	* job.c (JobPrintCommand): See if "curdir" exists before
4414	attempting to chdir().  Doing the chdir directly in make (when in
4415	compat mode) fails silently, so let the -jN version do the same.
4416	This can happen when building kernels in an object tree and
4417	playing clever games to reset .CURDIR.
4418
4419	* Merged with NetBSD make
4420	pick up .USEBEFORE
4421
4422Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4423
4424	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
4425
4426Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4427
4428	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
4429	us not to export the iterator variable when using VAR_CMD context.
4430
4431Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4432
4433	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
4434	its the wrong "fix".
4435
4436Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4437
4438	* Redesigned export of VAR_CMD's via MAKEFLAGS.
4439	We now simply append the variable names to .MAKEOVERRIDES, and
4440	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
4441	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
4442	Apart from fixing quoting bugs in previous version, this allows us
4443	to export vars to the environment by simply doing:
4444	.MAKEOVERRIDES+= PATH 
4445	Merged again with NetBSD make, but the above is the only change.
4446
4447	* configure.in: added
4448	--disable-pwd-override		disable $PWD overriding getcwd()
4449	--disable-check-make-chdir	disable make trying to guess 
4450		when it should automatically cd ${.CURDIR}
4451
4452	* Merge with NetBSD make, changes include:
4453	parse.c (ParseDoDependency): Spot that the syntax error is
4454	caused by an unresolved cvs/rcs conflict and say so.
4455	var.c: most of Var* functions now take a ctxt as 1st arg.
4456	now does variable substituion on rhs of sysv style modifiers.
4457	
4458	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
4459	is now done here.  We append the name='value' to .MAKEOVERRIDES
4460	rather than directly into MAKEFLAGS as this allows a Makefile to
4461	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
4462	very similar mechanism.  Note that in adding name='value' to
4463	.MAKEOVERRIDES we do the moral equivalent of:
4464	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
4465
4466Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4467
4468	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
4469
4470	* Merged with NetBSD make
4471	make -dx can now be used to run commands via sh -x
4472	better error messages on exec failures.
4473
4474Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4475
4476	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
4477	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
4478	MACHINE etc otherwise they propagate from the previous bmake.
4479
4480	* configure.in (machine): allow --with-machine=generic to make
4481	configure use machine.sh to set MACHINE. 
4482
4483	* job.c (JobInterrupt): convert to using WAIT_T and friends.
4484
4485	* Makefile.in: mention in bmake.1 that we use autoconf.
4486
4487	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
4488
4489Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4490
4491	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
4492	as that rather defeats the usefulness of ${MAKEFILE}.
4493
4494	* main.c (MainParseArgs): append command line variable assignments
4495	to MAKEFLAGS so that they get propagated to child make's.
4496	Apparently this is required POSIX behaviour?  Its useful anyway.
4497
4498Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4499
4500	* compat.c (CompatRunCommand): don't use perror() since stdio may
4501	cause problems in child of vfork().
4502
4503	* compat.c, main.c: Call PrintOnError() when we are going to bail.
4504	This routine prints out the .curdir where we stopped and will also
4505	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
4506
4507	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
4508	:@ expansion.
4509
4510	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
4511
4512	* Added RCSid's for the files we've touched.
4513	
4514Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4515
4516	* configure.in:	Thanks to some clues from mdb@juniper.net,
4517	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
4518	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
4519
4520  --with-machine=MACHINE  explicitly set MACHINE
4521  --with-force-machine=MACHINE  set FORCE_MACHINE
4522  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
4523  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
4524  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
4525  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
4526 	
4527	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
4528
4529	* makefile: added a pathetically simple makefile to drive
4530	bootstrapping.  Running configure by hand is more useful.
4531
4532	* Makefile.in: added MAKE_VERSION, and reworked things to be less
4533	dependent on NetBSD bsd.*.mk
4534	
4535	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
4536	_PATH_OBJDIRPREFIX for those that don't want a default.
4537	construct _PATH_DEFSYSPATH from the info we get from configure.
4538
4539	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
4540	if MAKE_VERSION is defined.
4541	
4542	* compat.c: when we bail, print out the .CURDIR we were in.
4543	
4544Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4545
4546	* Merged with NetBSD make
4547
4548	* var.c: fixed a bug in the handling of the modifier :P
4549	if the node as found but the path was null, we segfault trying to
4550	duplicate it.
4551
4552Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
4553
4554	* Merged with NetBSD make
4555	
4556	* make.c: Make_OODate's test for a library out of date was using
4557	cmtime where it should have used mtime (my bug).
4558
4559	* compat.c: Use perror() to tell us what really went wrong when we
4560	cannot exec a command.
4561	
4562Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
4563
4564	* Merged with NetBSD make
4565	
4566Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
4567
4568	* Merged with NetBSD make
4569	
4570Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
4571
4572	* Merged with NetBSD make
4573	
4574Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
4575
4576	* Merged with NetBSD make
4577	
4578Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
4579
4580	* util.c: don't provide signal() since we use sigcompat.c
4581
4582	* Makefile.in: added a build target.
4583
4584	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
4585	These allow some quite clever magic.
4586
4587	* main.c (main): added support for getenv(MAKESYSPATH).
4588
4589Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
4590
4591	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
4592	This avoids objdir having a different value depending on how a
4593	directory was reached (via command line, or subdir.mk).
4594
4595	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
4596	
4597Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
4598
4599	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
4600	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
4601	I've been testing this in NetBSD's make for some weeks.
4602
4603	* Turn Makefile into Makefile.in and make it useful.
4604	
4605Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
4606
4607	* Imported NetBSD's -current make(1) and resolve conflicts.
4608	
4609	* Applied autoconf patches from bmake v2
4610
4611	* Imported clean code base from NetBSD-1.0
4612