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