xref: /freebsd/contrib/bmake/ChangeLog (revision d6b92ffa990dc57d8a969a98e3ca4e25ba39cbb2)
12017-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
2
3	* Makefile (_MAKE_VERSION): 20170711
4	  forgot to update after merge on 20170708 ;-)
5	  o main.c: refactor to reduce size of main function.
6	    add -v option to always fully expand values.
7	  o meta.c: ensure command output in meta file has ending newline
8	    even when filemon not being used.
9	    When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
10	    pathname via ':L' since any ':' in pathname breaks that.
11	    Instead set a '${.p.}' to pathname in the target context and
12	    use that.
13
142017-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
15
16	* Makefile (_MAKE_VERSION): 20170510
17	  Merge with NetBSD make, pick up
18	  o main.c: Main_SetObjdir: ensure buf2 is in scope
19
202017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
21
22	* Makefile (_MAKE_VERSION): 20170505
23	  see mk/ChangeLog
24
252017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
26
27	* parse.c: not everyone has stdint.h
28
292017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
30
31	* Makefile (_MAKE_VERSION): 20170501
32	  see mk/ChangeLog
33
342017-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
35
36	* Makefile (_MAKE_VERSION): 20170421
37	  Merge with NetBSD make, pick up
38	  o str.c: Str_Match: fix closure tests for [^] and add unit-test.
39
402017-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
41
42	* Makefile (_MAKE_VERSION): 20170420
43	  Merge with NetBSD make, pick up
44	  o main.c: only use -C arg "as is" if it contains no
45	    relative component.
46
472017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
48
49	* Makefile (_MAKE_VERSION): 20170418
50	  Merge with NetBSD make, pick up
51	  o main.c: fix Main_SetObjdir() for relative paths (eg obj).
52
532017-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
54
55	* Makefile (_MAKE_VERSION): 20170417
56	  Merge with NetBSD make, pick up
57	  o fixes a number of coverity complaints
58	    - check return value of fseek, fcntl
59	    - plug memory leak in Dir_FindFile, Var_LoopExpand,
60	      JobPrintCommand, ParseTraditionalInclude
61	    - use bmake_malloc() where NULL is not tollerated
62	    - use MAKE_ATTR_UNUSED rather that kludges like
63	      return(unused ? 0 : 0)
64	    - use purge_cached_realpaths() rather than abuse cached_realpath()
65
662017-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
67
68	* Makefile (_MAKE_VERSION): 20170413
69	  Merge with NetBSD make, pick up
70	  o main.c: when setting .OBJDIR ignore '$' in paths.
71
72	* job.c: use MALLOC_OPTIONS to set malloc_options.
73
742017-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
75
76	* Makefile (_MAKE_VERSION): 20170411
77	  Merge with NetBSD make, pick up
78	  o str.c: Str_Match: allow [^a-z] to behave as expected.
79
802017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
81
82	* Makefile (_MAKE_VERSION): 20170326
83	  Merge with NetBSD make, pick up
84	  o main.c: purge relative paths from realpath cache when .OBJDIR
85	    is changed.
86
872017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
88
89	* Makefile (_MAKE_VERSION): 20170311
90	  Merge with NetBSD make, pick up
91          o main.c: only use -C arg "as is" if it starts with '/'.
92
932017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
94
95	* Makefile (_MAKE_VERSION): 20170301
96	  Merge with NetBSD make, pick up
97	  o main.c: use -C arg "as is" rather than getcwd()
98	    if they identify the same directory.
99	  o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
100
1012017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
102
103	* Makefile (_MAKE_VERSION): 20170201
104	  Merge with NetBSD make, pick up
105	  o var.c: allow :_=var and avoid use of special context.
106
1072017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
108
109	* Makefile (_MAKE_VERSION): 20170130
110	  Merge with NetBSD make, pick up
111	  o var.c: add :range and :_
112	  o main.c: partially initialize Dir_* before MainParseArgs()
113	    can be called.
114	    If -V, skip Main_ExportMAKEFLAGS()
115
1162017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
117
118	* Makefile (_MAKE_VERSION): 20170114
119	  Merge with NetBSD make, pick up
120	  o var.c: allow specifying the utc value used by :{gm,local}time
121
1222016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
123
124	* Makefile (_MAKE_VERSION): 20161212
125	  Merge with NetBSD make, pick up
126          o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
127
1282016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
129
130	* Makefile (_MAKE_VERSION): 20161209
131	  Merge with NetBSD make, pick up
132	  o main.c: cleanup setting of .OBJDIR
133	  o parse.c: avoid coredump from (var)=val
134
1352016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
136
137	* Makefile (_MAKE_VERSION): 20161126
138	  Merge with NetBSD make, pick up
139	  o make.c: Make_OODate: report src node name if path not set
140
1412016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
142
143	* Makefile (_MAKE_VERSION): 20160926
144	  Merge with NetBSD make, pick up
145	  o support for .DELETE_ON_ERROR: (remove targets that fail)
146
1472016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
148
149	* Makefile MAN: tweak .Dt to match ${PROG}
150
1512016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
152
153	* Makefile (_MAKE_VERSION): 20160818
154	  its a neater number; pick up whitespace fixes to man page.
155
1562016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
157
158	* Makefile (_MAKE_VERSION): 20160817
159	  Merge with NetBSD make, pick up
160	  o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
161	    so we can call it before adding entries to missingFiles.
162	    Thus we do not track files we have been told to ignore.
163
1642016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
165
166	* Makefile (_MAKE_VERSION): 20160815
167	  Merge with NetBSD make, pick up
168	  o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
169	    pathnames, and skip if the expansion is empty.
170	    Useful for dirdeps.mk when checking DIRDEPS_CACHE.
171
1722016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
173
174	* Makefile (_MAKE_VERSION): 20160812
175	  Merge with NetBSD make, pick up
176	  o meta.c: remove all missingFiles entries that match a deleted
177	    dir.
178	  o main.c: set .ERROR_CMD if possible.
179
1802016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
181
182	* Makefile (_MAKE_VERSION): 20160606
183	  Merge with NetBSD make, pick up
184	  o dir.c: extend mtimes cache to others via cached_stat()
185
1862016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
187
188	* Makefile (_MAKE_VERSION): 20160604
189	  Merge with NetBSD make, pick up
190	  o meta.c: missing filemon data is only relevant if we read a
191	    meta file.
192	    Also do not return oodate for a missing metafile if gn->path
193	    points to .CURDIR
194
1952016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
196
197	* Makefile (_MAKE_VERSION): 20160602
198	  Merge with NetBSD make, pick up
199	  o cached_realpath(): avoid hitting filesystem more than necessary.
200	  o meta.c: refactor need_meta decision, add knobs for
201	    missing meta file and filemon data wrt out-of-datedness.
202
2032016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
204
205	* Makefile (_MAKE_VERSION): 20160528
206
207	* boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
208
2092016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
210
211	* Makefile (_MAKE_VERSION): 20160512
212	  Merge with NetBSD make, pick up
213	  o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
214	    this is useful for gcov builds.
215	  o propagate errors from filemon(4).
216
2172016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
218
219	* Makefile (_MAKE_VERSION): 20160509
220	  Merge with NetBSD make, pick up
221	  o remove use of non-standard types u_int etc.
222	  o meta.c: apply realpath() before matching against metaIgnorePaths
223
2242016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
225
226	* Makefile (_MAKE_VERSION): 20160404
227	  Merge with NetBSD make, pick up
228	  o allow makefile to set .MAKE.JOBS
229
230	* Makefile (PROG_NAME): use ${_MAKE_VERSION}
231
2322016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
233
234	* Makefile (_MAKE_VERSION): 20160315
235	  Merge with NetBSD make, pick up
236	  o fix handling of archive members
237
2382016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
239
240	* Makefile (_MAKE_VERSION): rename variable to avoid interference
241	  with checks for ${MAKE_VERSION}
242
2432016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
244
245	* Makefile (MAKE_VERSION): 20160310
246	  Merge with NetBSD make, pick up
247	  o meta.c: treat missing Read file same as Write, incase we Delete it.
248
2492016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
250
251	* Makefile (MAKE_VERSION): 20160307
252	  Merge with NetBSD make, pick up
253	  o var.c: fix :ts\nnn to be octal by default.
254	  o meta.c: meta_finish() to cleanup memory.
255
2562016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
257
258	* Makefile (MAKE_VERSION): 20160226
259	  Merge with NetBSD make, pick up
260	  o meta.c: allow meta file for makeDepend if makefiles want it.
261
2622016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
263
264	* var.c: default .MAKE.SAVE_DOLLARS to FALSE
265	  for backwards compatability.
266
267	* Makefile (MAKE_VERSION): 20160220
268	  Merge with NetBSD make, pick up
269	  o var.c: add knob to control handling of '$$' in :=
270
2712016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
272
273	* Makefile (MAKE_VERSION): 20160218
274	  Merge with NetBSD make, pick up
275	  o var.c: add .export-literal allows us to fix sys.clean-env.mk
276	    post the changes to Var_Subst.
277	    Var_Subst now takes flags, and does not consume '$$' in :=
278
2792016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
280
281	* Makefile (MAKE_VERSION): 20160217
282	  Merge with NetBSD make, pick up
283	  o var.c: preserve '$$' in :=
284	  o parse.c: add .dinclude for handling included
285	    makefile like .depend
286
2872015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
288
289	* Makefile (MAKE_VERSION): 20151220
290	  Merge with NetBSD make, pick up
291	  o suff.c: re-initialize suffNull when clearing suffixes.
292
2932015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
294
295	* Makefile (MAKE_VERSION): 20151201
296	  Merge with NetBSD make, pick up
297	  o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
298	  o meta.c: meta_oodate: use lstat(2) for checking link target
299	    in case it is a symlink.
300	  o var.c: avoid calling brk_string and Var_Export1 with empty
301	    strings.
302
3032015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
304
305	* Makefile (MAKE_VERSION): 20151126
306	  Merge with NetBSD make, pick up
307	  o parse.c: ParseTrackInput don't access beyond
308	    end of old value.
309
3102015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
311
312	* Makefile (MAKE_VERSION): 20151022
313
314	* Add support for BSD/OS which lacks inttypes.h
315	  and really needs sys/param.h for sys/sysctl.h
316	  also 'type' is not a shell builtin.
317
318	* var.c: eliminate uint32_t and need for inttypes.h
319
320	* main.c: PrintOnError flush stdout before run .ERROR
321
322	* parse.c: cope with _SC_PAGESIZE not being defined.
323
324
3252015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
326
327	* Makefile (MAKE_VERSION): 20151020
328	  Merge with NetBSD make, pick up
329	  o var.c: fix uninitialized var
330
3312015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
332
333	* var.c: the conditional expressions used with ':?' can be
334	expensive, if already discarding do not evaluate or expand
335	anything.
336
3372015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
338
339	* Makefile (MAKE_VERSION): 20151010
340	  Merge with NetBSD make, pick up
341	  o Add Boolean wantit flag to Var_Subst and Var_Parse
342	    when FALSE we know we are discarding the result and can
343	    skip operations like Cmd_Exec.
344
3452015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
346
347	* Makefile (MAKE_VERSION): 20151009
348	  Merge with NetBSD make, pick up
349	  o var.c: don't check for NULL before free()
350	  o meta.c: meta_oodate, do not hard code ignore of makeDependfile
351
3522015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
353
354	* Makefile (MAKE_VERSION): 20150910
355	  Merge with NetBSD make, pick up
356	  o main.c: with -w print Enter/Leaving messages for objdir too
357	    if necessary.
358	  o centralize shell metachar handling
359
360	* FILES: add metachar.[ch]
361
3622015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
363
364	* Makefile (MAKE_VERSION): 20150606
365	  Merge with NetBSD make, pick up
366	  o make.1: document .OBJDIR target
367
3682015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
369
370	* Makefile (MAKE_VERSION): 20150505
371	  Merge with NetBSD make, pick up
372	  o cond.c: be strict about lhs of comparison when evaluating .if
373	    but less so when called from variable expansion.
374	  o unit-tests/cond2.mk: test various error conditions
375
3762015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
377
378	* machine.sh (MACHINE): Add Bitrig
379	  patch from joerg@netbsd.org
380
3812015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
382
383	* Makefile (MAKE_VERSION): 20150418
384	  Merge with NetBSD make, pick up
385	  o job.c: use memmove() rather than memcpy()
386
387	* unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
388	  case, so skip it.
389
3902015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
391
392	* Makefile (MAKE_VERSION): 20150411
393	  bump version - only mk/ changes.
394
3952015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
396
397	* Makefile (MAKE_VERSION): 20150410
398	  Merge with NetBSD make, pick up
399	  o document different handling of '-' in jobs mode vs compat
400	  o fix jobs mode so that '-' only applies to whole job
401	    when shell lacks hasErrCtl
402	  o meta.c: use separate vars to track lcwd and latestdir (read)
403	    per process
404
4052015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
406
407	* Makefile (MAKE_VERSION): 20150401
408	  Merge with NetBSD make, pick up
409	  o meta.c: close meta file in child
410
411	* Makefile: use BINDIR.bmake if set.
412	  Same for MANDIR and SHAREDIR
413	  Handy for testing release candidates
414	  in various environments.
415
4162015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
417
418	* move initialization of savederr to block where it is used
419	  to avoid spurious warning from gcc5
420
4212014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
422
423	* Makefile (MAKE_VERSION): 20141111
424	  just a cooler number
425
4262014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
427
428	* Makefile (MAKE_VERSION): 20141105
429	  Merge with NetBSD make, pick up
430	  o revert major overhaul of suffix handling
431	    and POSIX compliance - too much breakage
432	    and impossible to make backwards compatible.
433	  o we still have the new unit test structure which is ok.
434	  o meta.c ensure "-- filemon" is at start of line.
435
4362014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
437
438	* configure.in: test that result of getconf PATH_MAX is numeric
439	  and discard if not.  Apparently needed for Hurd.
440
4412014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
442
443	* Makefile (MAKE_VERSION): 20140830
444	  Merge with NetBSD make, pick up
445	  o major overhaul of suffix handling
446	  o improved POSIX compliance
447	  o overhauled unit-tests
448
4492014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
450
451	* Makefile (MAKE_VERSION): 20140620
452	  Merge with NetBSD make, pick up
453	  o var.c return varNoError rather than var_Error for ::= modifiers.
454
4552014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
456
457	* Makefile (MAKE_VERSION): 20140522
458	  Merge with NetBSD make, pick up
459	  o var.c detect some parse errors.
460
4612014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
462
463	* Fix spelling errors - patch from Pedro Giffuni
464
4652014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
466
467	* Makefile (MAKE_VERSION): 20140214
468	  Merge with NetBSD make, pick up
469	  o .INCLUDEFROM*
470	  o use Var_Value to get MAKEOBJDIR[PREFIX]
471	  o reduced realloc'ign in brk_string.
472	* configure.in: add a check for compiler supporting __func__
473
4742014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
475
476	* boot-strap: ignore mksrc=none
477
4782014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
479
480	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
481
4822014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
483
484	* Makefile (MAKE_VERSION): 20140101
485	* configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
486	* Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
487	* make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
488	  Hurd)
489	* configure.in: Add AC_PREREQ and check for
490	  sysctl; patch from Andrew Shadura andrewsh at debian.org
491
4922013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
493
494	* Makefile (MAKE_VERSION): 20131010
495	* lose the const from arg to systcl to avoid problems on older BSDs.
496
4972013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
498
499	* Makefile (MAKE_VERSION): 20131001
500	  Merge with NetBSD make, pick up
501	  o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
502	    hw.machine_arch if necessary.
503	  o meta.c: meta_oodate - need to look at src of Link and target
504	    of Move as well.
505	* main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
506	  provide __arraycount() if needed.
507
5082013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
509
510	* Makefile (MAKE_VERSION): 20130904
511	  Merge with NetBSD make, pick up
512	  o Add VAR_INTERNAL context, so that internal setting of
513	    MAKEFILE does not override value set by makefiles.
514
5152013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
516
517	* Makefile (MAKE_VERSION): 20130902
518	  Merge with NetBSD make, pick up
519	  o CompatRunCommand: only apply shellErrFlag when errCheck is true
520
5212013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
522
523	* Makefile (MAKE_VERSION): 20130828
524	  Merge with NetBSD make, pick up
525	  o Fix VAR :sh = syntax from Will Andrews at freebsd.org
526	  o Call Job_SetPrefix() from Job_Init() so makefiles have
527	    opportunity to set .MAKE.JOB.PREFIX
528
5292013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
530
531	* Makefile (MAKE_VERSION): 20130730
532	  Merge with NetBSD make, pick up
533	  o Allow suppression of --- job -- tokens by setting
534	    .MAKE.JOB.PREFIX empty.
535
5362013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
537
538	* Makefile (MAKE_VERSION): 20130716
539	  Merge with NetBSD make, pick up
540	  o number of gmake compatibility tweaks
541	    -w for gmake style entering/leaving messages
542	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
543	    handle MAKEFLAGS containing only letters.
544	  o when overriding a GLOBAL variable on the command line,
545	    delete it from GLOBAL context so -V doesn't show the wrong
546	    value.
547
5482013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
549
550	* configure.in: We don't need MAKE_LEVEL_SAFE anymore.
551
552	* Makefile (MAKE_VERSION): 20130706
553	  Merge with NetBSD make, pick up
554	  o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
555	    true so that CompatRunCommand() can use it, to ensure
556	    consistent behavior with jobs mode.
557	  o use MAKE_LEVEL_ENV to define the variable to propagate
558	    .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
559	  o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
560	    paths to ignore.
561
5622013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
563
564	* Makefile (MAKE_VERSION): 20130604
565	  Merge with NetBSD make, pick up
566	  o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
567	    to avoid leaking descriptors.
568
5692013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
570
571	* Makefile (MAKE_VERSION): 20130528
572	  Merge with NetBSD make, pick up
573	  o var.c: cleanup some left-overs in VarHash()
574
5752013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
576
577	* Makefile (MAKE_VERSION): 20130520
578	  generate manifest from component FILES rather than have to
579	  update FILES when mk/FILES changes.
580
5812013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
582
583	* Makefile (MAKE_VERSION): 20130518
584	  Merge with NetBSD make, pick up
585	  o suff.c: don't skip all processsing for .PHONY targets
586	    else wildcard srcs do not get expanded.
587	  o var.c: expand name of variable to delete if necessary.
588
5892013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
590
591	* Makefile (MAKE_VERSION): 20130330
592	  Merge with NetBSD make, pick up
593	  o meta.c: refine the handling of .OODATE in commands.
594	    Rather than suppress command comparison for the entire script
595	    as though .NOMETA_CMP had been used, only suppress it for the
596	    one command line.
597	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
598	    suppress comparison of a command without otherwise affecting it.
599	  o make.1: document that
600
6012013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
602
603	* Makefile (MAKE_VERSION): 20130321
604	  yes, not quite right but its a cooler number.
605	  Merge with NetBSD make, pick up
606	  o parse.c: fix ParseGmakeExport to be portable
607	    and add a unit-test.
608	* meta.c: call meta_init() before makefiles are read and if built
609	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
610	  this let's makefiles test for support.
611	  Call meta_mode_init() to process .MAKE.MODE.
612
6132013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
614
615	* Makefile (MAKE_VERSION): 20130305
616	  Merge with NetBSD make, pick up
617	  o run .STALE: target when a dependency from .depend is missing.
618	  o job.c: add Job_RunTarget() for the above and .BEGIN
619
6202013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
621
622	* Makefile (MAKE_VERSION): 20130303
623	  Merge with NetBSD make, pick up
624	  o main.c: set .MAKE.OS to utsname.sysname
625	  o job.c: more checks for read and poll errors
626	  o var.c: lose VarChangeCase() saves 4% time
627
6282013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
629
630	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
631	  want to use MAKEOBJDIR
632
6332013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
634
635	* Merge with NetBSD make, pick up
636	  o make.1: more info on how shell commands are handled.
637	  o job.c,main.c: detect write errors to job pipes.
638
6392013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
640
641	* Makefile (MAKE_VERSION): 20130123
642	  Merge with NetBSD make, pick up
643	  o meta.c: if script uses .OODATE and meta_oodate() decides
644	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
645	  o var.c: in debug output indicate which variabale modifiers
646	    apply to.
647	  o remove Check_Cwd logic the makefiles have been fixed.
648
6492012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
650
651	* makefile.in: add a simple makefile for folk who insist on
652	  ./configure; make; make install
653	  it just runs boot-strap
654	* include mk/* to accommodate the above
655	* boot-strap:  re-work to accommodate the above
656	  mksrc defaults to $Mydir/mk
657	  allow op={configure,build,install,clean,all}
658	  add options to facilitate install
659	* Makefile.config.in: just the bits set by configure
660	* Makefile: bump version to 20121212
661	  abandon Makefile.in (NetBSD Makefile)
662	  leverage mk/* instead
663	* configure.in: ensure srcdir is absolute
664
6652012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
666
667	* Makefile.in (MAKE_VERSION): 20121111
668	  fix generation of bmake.cat1
669
6702012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
671
672	* Makefile.in (MAKE_VERSION): 20121109
673	  Merge with NetBSD make, pick up
674	  o make.c: MakeBuildChild: return 0 so search continues if a
675	    .ORDER dependency is detected.
676	  o unit-tests/order: test the above
677
6782012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
679
680	* Makefile.in (MAKE_VERSION): 20121102
681	  Merge with NetBSD make, pick up
682	  o cond.c: allow cond_state[] to grow.
683	    In meta mode with a very large tree, we can hit the limit
684	    while processing dirdeps.
685
6862012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
687
688	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
689
6902012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
691
692	* Makefile.in (MAKE_VERSION): 20121010
693	  o protect syntax that only bmake parses correctly.
694	  o remove auto setting of FORCE_MACHINE, use configure's
695	    --with-force-machine=whatever if that is desired.
696
6972012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
698
699	* Makefile.in: do not lose history from make.1 when generating bmake.1
700
7012012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
702
703	* Makefile.in (MAKE_VERSION): 20121007
704	  Merge with NetBSD make, pick up
705	  o compat.c: ignore empty commands - same as jobs mode.
706	  o make.1: document meta chars that cause use of shell
707
7082012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
709
710	* Makefile.in (MAKE_VERSION): bump version to 20120911
711	* bsd.after-import.mk: include Makefile.inc early and allow it to
712	  override PROG
713
7142012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
715
716	* Makefile.in (MAKE_VERSION): bump version to 20120831
717	  Merge with NetBSD make, pick up
718	  o cast sizeof() to int for comparison
719	  o minor make.1 tweak
720
7212012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
722
723	* Makefile.in (MAKE_VERSION): bump version to 20120830
724	  Merge with NetBSD make, pick up
725	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
726	  o debug flag -dV causes -V to show raw value regardless.
727
7282012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
729
730	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
731	  gets SRCTOP set.
732
7332012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
734
735	* Makefile.in (MAKE_VERSION): bump version to 20120704
736	  Merge with NetBSD make, pick up
737	  o Job_ParseShell should call Shell_Init if it has been
738	    previously called.
739	* Makefile.in: set USE_META based on configure result.
740	  also .PARSEDIR is safer indicator of bmake.
741
7422012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
743
744	* Makefile.in: bump version to 20120626
745	  ensure CPPFLAGS is in CFLAGS
746	* meta.c: avoid nested externs
747	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
748
7492012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
750
751	* Makefile.in (MAKE_VERSION): bump version to 20120620
752	  Merge with NetBSD make, pick up
753	  o make_malloc.c: avoid including make_malloc.h again
754
755	* Makefile.in: avoid bmake only syntax or protect with
756	  .if defined(.MAKE.LEVEL)
757	* bsd.after-import.mk: replace .-include with .sinclude
758	  ensure? SRCTOP gets a value
759	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
760
7612012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
762
763	* Makefile.in (MAKE_VERSION): bump version to 20120612
764	  Merge with NetBSD make, pick up
765	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
766	    for greater portability.
767	  o unit-tests/forloop: check that .for works as expected wrt
768	    number of times and with "quoted strings".
769
7702012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
771
772	* Makefile.in (MAKE_VERSION): bump version to 20120606
773	  Merge with NetBSD make, pick up
774	  o compat.c: use kill(2) rather than raise(3).
775	* configure.in: look for sys/dev/filemon
776	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
777	  and pass BOOTSTRAP_XTRAS to boot-strap.
778
7792012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
780
781	* Makefile.in (MAKE_VERSION): bump version to 20120604
782	  Merge with NetBSD make, pick up
783	  o util.c and var.c share same var for tracking if environ
784	    has been reallocated.
785	  o util.c provide getenv with setenv.
786	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
787	  when the shell actively strips .MAKE.* from the environment.
788	  We still refer to the variable always as .MAKE.LEVEL
789	* util.c fix bug in findenv() was finding prefix of name.
790	* compat.c: re-raising SIGINT etc after running .INTERRUPT
791	  results in more reliable termination of all activity on many
792	  platforms.
793
7942012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
795
796	* Makefile.in (MAKE_VERSION): bump version to 20120602
797	  Merge with NetBSD make, pick up
798	  o for.c: handle quoted items in .for list
799
8002012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
801
802	* Makefile.in (MAKE_VERSION): bump version to 20120530
803	  Merge with NetBSD make, pick up
804	  o compat.c: ignore empty command.
805
8062012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
807
808	* Makefile.in (MAKE_VERSION): bump version to 20120524
809	* FILES: add bsd.after-import.mk:
810	  A simple means of integrating bmake into a BSD build system.
811
8122012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
813
814	* Makefile.in (MAKE_VERSION): bump version to 20120520
815	  Merge with NetBSD make, pick up
816	  o increased limit for nested conditionals.
817
8182012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
819
820	* Makefile.in (MAKE_VERSION): bump version to 20120518
821	  Merge with NetBSD make, pick up
822	  o use _exit(2) in signal hanlder
823	  o Don't use the [dir] cache when building nodes that might have
824	    changed since the last exec.
825	  o Avoid nested extern declaration warnings.
826
8272012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
828
829	* meta.c (fgetLine): avoid %z - not portable.
830	* parse.c: Since we moved include of sys/mman.h
831	  and def's of MAP_COPY etc. we got dups from a merge.
832
8332012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
834
835	* Makefile.in (MAKE_VERSION): bump version to 20120420
836	  Merge with NetBSD make, pick up
837	  o restore duplicate supression in .MAKE.MAKEFILES
838	    runtime saving can be significant.
839	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
840	    consumption up to 20%.
841
8422012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
843
844	* Makefile.in (MAKE_VERSION): bump version to 20120420
845          Merge with NetBSD make, pick up
846	  o remove duplicate supression in .MAKE.MAKEFILES
847	  o improved dir cache behavior
848	  o gmake'ish export command
849
8502012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
851
852	* Makefile.in (MAKE_VERSION): bump version to 20120325
853	  Merge with NetBSD make, pick up
854	  o fix parsing of :[#] in conditionals.
855
8562012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
857
858	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
859	  since some systems cannot cope with .Nx <version>
860
8612011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
862
863	* Makefile.in (MAKE_VERSION): bump version to 20111111
864	  Merge with NetBSD make, pick up
865	  o debug output for .PARSEDIR and .PARSEFILE
866
8672011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
868
869	* Makefile.in (MAKE_VERSION):  bump version to 20111010
870
8712011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
872
873	* boot-strap: check for an expected file in the dirs we look for.
874	* make-bootstrap.sh: pass on LDSTATIC
875
8762011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
877
878	* Makefile.in (MAKE_VERSION): bump version to 20111001
879	  Merge with NetBSD make, pick up
880	  o ensure .PREFIX is set for .PHONY
881	    and .TARGET set for .PHONY run via .END
882	  o __dead used consistently
883
8842011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
885
886	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
887
8882011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
889
890	* Makefile.in (MAKE_VERSION): bump version to 20110905
891	  Merge with NetBSD make, pick up
892	  o meta_oodate: ignore makeDependfile
893
8942011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
895
896	* Makefile.in (MAKE_VERSION): bump version to 20110828
897	  Merge with NetBSD make, pick up
898	  o silent=yes in .MAKE.MODE causes meta mode to mark targets
899	    as SILENT if a .meta file is created
900
9012011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
902
903	* Makefile.in (MAKE_VERSION): bump version to 20110818
904	  Merge with NetBSD make, pick up
905	  o in meta mode, if target flagged .META a missing .meta file
906	    means target is out-of-date
907	  o fixes for gcc 4.5 warnings
908	  o simplify job printing code
909
9102011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
911
912	* Makefile.in (MAKE_VERSION): bump version to 20110808
913	  Merge with NetBSD make, pick up
914	  o do not touch OP_SPECIAL targets when doing make -t
915
9162011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
917
918	* Makefile.in (MAKE_VERSION): bump version to 20110622
919	  Merge with NetBSD make, pick up
920	  o meta_oodate detect corrupted .meta file and declare oodate.
921	* configure.in: add check for setsid
922
9232011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
924
925	* Merge with NetBSD make, pick up
926	  o unit-tests/modts now works on MirBSD
927
9282011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
929
930	* Makefile.in (MAKE_VERSION): bump version to 20110606
931	  Merge with NetBSD make, pick up
932	  o ApplyModifiers: when we parse a variable which is not
933	    the entire modifier string, or not followed by ':', do not
934	    consider it as containing modifiers.
935	  o loadfile: ensure newline at end of mapped file.
936
9372011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
938
939	* Makefile.in (MAKE_VERSION): bump version to 20110505
940	  Merge with NetBSD make, pick up
941	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
942	    of make's control.  In meta mode, any generated file within
943	    said bailiwick, which  is found to be missing, causes current
944	    target to be out-of-date.
945
9462011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
947
948	* Makefile.in (MAKE_VERSION): bump version to 20110411
949	  Merge with NetBSD make, pick up
950	  o when long modifiers fail to match, check sysV style.
951	    - add a test case
952
9532011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
954
955	* Makefile.in (MAKE_VERSION): bump version to 20110410
956	  Merge with NetBSD make, pick up
957	  o :hash - cheap 32bit hash of value
958	  o :localtime, :gmtime - use value as format string for strftime.
959
9602011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
961
962	* Makefile.in (MAKE_VERSION): bump version to 20110330
963	  mostly because its a cooler version.
964	  Merge with NetBSD make, pick up
965	  o NetBSD tags for meta.[ch]
966	  o job.c call meta_job_finish() after meta_job_error().
967	  o meta_job_error() should call meta_job_finish() to ensure
968	    .meta file is closed, and safe to copy - if .ERROR target wants.
969	   meta_job_finish() is safe to call repeatedly.
970
9712011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
972
973	* unit-tests/modts: use printf if it is a builtin,
974	  to save us from MirBSD
975
976	* Makefile.in (MAKE_VERSION): bump version to 20110329
977	  Merge with NetBSD make, pick up
978	  o fix for use after free() in CondDoExists().
979	  o meta_oodate() report extra commands and return earlier.
980
9812011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
982
983	* Makefile.in (MAKE_VERSION): bump version to 20110327
984	  Merge with NetBSD make, pick up
985	  o meta.c, if .MAKE.MODE contains curdirOk=yes
986	    allow creating .meta files in .CURDIR
987	* boot-strap (TOOL_DIFF): aparently at least on linux distro
988	  formats the output of 'type' differently - so eat any "()"
989
9902011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
991
992	* Makefile.in (MAKE_VERSION): bump version to 20110306
993	  Merge with NetBSD make, pick up
994	  o meta.c, only do getcwd() once
995
9962011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
997
998	* Makefile.in (MAKE_VERSION): bump version to 20110305
999	  Merge with NetBSD make, pick up
1000	  o correct sysV substitution handling of empty lhs and variable
1001	  o correct exists() check for dir with trailing /
1002	  o correct handling of modifiers for non-existant variables
1003	    during evaluation of conditionals.
1004	  o ensure MAP_FILE is defined.
1005	  o meta.c use curdir[] now exported by main.c
1006
10072011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1008
1009	* Makefile.in (MAKE_VERSION): bump version to 20110225
1010	  Merge with NetBSD make, pick up
1011	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1012	    makefiles have been read.
1013	  o fix example of :? modifier in man page.
1014
10152011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1016
1017	* Makefile.in (MAKE_VERSION): bump version to 20110214
1018	  Merge with NetBSD make, pick up
1019	  o meta.c handle realpath() failing when generating meta file
1020	    name.
1021
1022	* sigcompat.c: convert to ansi so we can use higher warning levels.
1023
1024
10252011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1026
1027	* Makefile.in (MAKE_VERSION): bump version to 20110207
1028	  Merge with NetBSD make, pick up
1029	  o fix for bug in meta mode.
1030
10312011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1032
1033	* parse.c: SunOS 5.8 at least does not have MAP_FILE
1034
10352011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1036
1037	* Makefile.in (MAKE_VERSION): bump version to 20110101
1038	  Merge with NetBSD make, pick up
1039	  o use mmap(2) if available, for reading makefiles
1040
10412010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1042
1043	* Makefile.in (MAKE_VERSION): bump version to 20101215
1044	  Merge with NetBSD make, pick up
1045	  o ensure meta_job_error() does not report a previous .meta file
1046	    as being culprit.
1047
10482010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1049
1050	* Makefile.in (MAKE_VERSION): bump version to 20101210
1051	  Merge with NetBSD make, pick up
1052	  o meta_oodate: track cwd per process, and only consider target
1053	    out-of-date if missing file is outside make's CWD.
1054	    Ignore files in /tmp/ etc.
1055	  o to ensure unit-tests results match, need to control LC_ALL
1056	    as well as LANG.
1057	  o fix for parsing bug in var.c
1058
10592010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1060
1061	* Makefile.in (MAKE_VERSION): bump version to 20101126
1062	  Merge with NetBSD make, pick up
1063	  o if stale dependency is an IMPSRC, search via .PATH
1064	  o meta_oodate: if a referenced file is missing, target is
1065	    out-of-date.
1066	  o meta_oodate: if a target uses .OODATE in its commands,
1067	    it (.OODATE) needs to be recomputed.
1068	  o keep a pointer to youngest child node, rather than just its
1069	    mtime.
1070
10712010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1072
1073	* Makefile.in (MAKE_VERSION): bump version to 20101101
1074
10752010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1076
1077	* machine.sh: like os.sh,
1078	allow for uname -p producing useless drivel
1079
10802010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1081
1082	* boot-strap: document configure knobs for meta and filemon.
1083
1084	* Makefile.in (MAKE_VERSION): bump version to 20100911
1085	  Merge with NetBSD make, pick up
1086	  o meta.c - meta mode
1087
1088	* make-bootstrap.sh.in: handle meta.c
1089	* configure.in: add knobs for use_meta and filemon_h
1090	  also, look for dirname, str[e]sep and strlcpy
1091	* util.c: add simple err[x] and warn[x]
1092
10932010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1094
1095	* boot-strap (TOOL_DIFF): set this to ensure tests use
1096	  the same version of diff that configure tested
1097
1098	* Makefile.in (MAKE_VERSION): bump version to 20100808
1099	  Merge with NetBSD make, pick up
1100	  o in jobs mode, when we discover we cannot make something,
1101	    call PrintOnError before exit.
1102
11032010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1104
1105	* Makefile.in (MAKE_VERSION): bump version to 20100806
1106	  Merge with NetBSD make, pick up
1107	  o formatting fixes for ignored errors
1108	  o ensure jobs are cleaned up regardless of where wait() was called.
1109
11102010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1111
1112	* Makefile.in (MAKE_VERSION): bump version to 20100618
1113	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1114
11152010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1116
1117	* Makefile.in (MAKE_VERSION): bump version to 20100616
1118	  Merge with NetBSD make, pick up
1119	  o man page update
1120	  o call PrintOnError from JobFinish when we detect an error we
1121	    are not ignoring.
1122
11232010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1124
1125	* Makefile.in (MAKE_VERSION): bump version to 20100606
1126	  Merge with NetBSD make, pick up
1127	  o man page update
1128
11292010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1130
1131	* Makefile.in (MAKE_VERSION): bump version to 20100605
1132	  Merge with NetBSD make, pick up
1133	  o use bmake_signal() which is a wrapper around sigaction()
1134	    in place of signal()
1135	  o add .export-env to allow exporting variables to environment
1136	    without tracking (so no re-export when the internal value is
1137	    changed).
1138
11392010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1140
1141	* Makefile.in (MAKE_VERSION): bump version to 20100524
1142	  Merge with NetBSD make, pick up
1143	  o fix for .info et al being greedy.
1144
11452010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1146
1147	* Makefile.in (MAKE_VERSION): bump version to 20100520
1148	  Merge with NetBSD make, pick up
1149	  o back to using realpath on argv[0]
1150	    but only if contains '/' and does not start with '/'.
1151
11522010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1153
1154	* boot-strap: use absolute path for bmake when running tests.
1155
1156	* Makefile.in (MAKE_VERSION):  bump version to 20100510
1157	  Merge with NetBSD make, pick up
1158	  o revert use of realpath on argv[0]
1159	    too many corner cases.
1160	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1161
11622010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1163
1164	* Makefile.in (MAKE_VERSION): bump version to 20100505
1165	  Merge with NetBSD make, pick up
1166	  o fix for missed SIGCHLD when compiled with SunPRO
1167	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
1168	    done the job.
1169
11702010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1171
1172	* Makefile.in (MAKE_VERSION): bump version to 20100430
1173	  Merge with NetBSD make, pick up
1174	  o fflush stdout before writing to stdout
1175
11762010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1177
1178	* Makefile.in (MAKE_VERSION): bump version to 20100423
1179	  Merge with NetBSD make, pick up
1180	  o updated unit tests for Haiku (this time for sure).
1181	* boot-strap: based on patch from joerg
1182	  honor --with-default-sys-path better.
1183	* boot-strap: remove mention of --with-prefix-sys-path
1184
11852010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1186
1187	* Makefile.in (MAKE_VERSION): bump version to 20100422
1188	* Merge with NetBSD make, pick up
1189	  o fix for vfork() on Darwin.
1190	  o fix for bogus $TMPDIR.
1191	  o set .MAKE.MODE=compat for -B
1192	  o set .MAKE.JOBS=max_jobs for -j max_jobs
1193	  o allow unit-tests to run without any *.mk
1194	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
1195	* boot-strap: ignore /usr/share/mk except on NetBSD.
1196	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
1197	  ensure sort(1) behaves as expected.
1198
11992010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1200
1201	* boot-strap: add FindHereOrAbove so we can use -m .../mk
1202
12032010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1204
1205	* Makefile.in (MAKE_VERSION): bump version to 20100420
1206	* Merge with NetBSD make, pick up
1207	  o fix for variable realpath() behavior.
1208	    we have to stat(2) the result to be sure.
1209	  o fix for .export (all) when nested vars use :sh
1210
12112010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1212
1213	* Makefile.in (MAKE_VERSION): bump version to 20100414
1214	* Merge with NetBSD make, pick up
1215	  o use realpath to resolve argv[0] (for .MAKE) if needed.
1216	  o add realpath from libc.
1217	  o add :tA to resolve variable via realpath(3) if possible.
1218
12192010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1220
1221	* Makefile.in (MAKE_VERSION): bump version to 20100408
1222	* Merge with NetBSD make, pick up
1223	  o unit tests for .ERROR, .error
1224	  o fix for .ERROR to ensure it cannot be default target.
1225
12262010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1227
1228	* Makefile.in (MAKE_VERSION): bump version to 20100406
1229	* Merge with NetBSD make, pick up
1230	  o fix for compat mode "Error code" going to debug_file.
1231	  o fix for .ALLSRC being populated twice.
1232	  o support for .info, .warning and .error directives
1233	  o .MAKE.MODE to control make's operational mode
1234	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1235	    name(s).
1236	  o .MAKE.DEPENDFILE to control the name of the depend file
1237	  o .ERROR target - run on failure.
1238
12392010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1240
1241	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1242
1243	* os.sh,arch.c: patch for Haiku from joerg at netbsd
1244
12452010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1246
1247	* Makefile.in (MAKE_VERSION): bump version to 20100222
1248	* Merge with NetBSD make, pick up
1249	  o better error msg for .for with mutiple inter vars
1250
1251	* boot-strap:
1252	  o use make-bootstrap.sh from joerg at netbsd
1253	    to avoid the need for a native make when bootstrapping.
1254	  o add "" everywhere ;-)
1255	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1256	    otherwise the pre-formated version.
1257
12582010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1259
1260	* Makefile.in (MAKE_VERSION): bump version to 20100102
1261	* Merge with NetBSD make, pick up:
1262	  o fix for -m .../
1263
12642009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
1265
1266	* Makefile.in (MAKE_VERSION): bump version to 20091118
1267	* Merge with NetBSD make, pick up:
1268	  o .unexport
1269	  o report lines that start with '.' and should have ':'
1270	    (catch typo's of .el*if).
1271
12722009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1273
1274	* configure.in: Ensure that srcdir and mksrc are absolute paths.
1275
12762009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1277
1278	* Makefile.in (MAKE_VERSION): fix version to 20091007
1279
12802009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
1281
1282	* Makefile.in (MAKE_VERSION): bump version to 200910007
1283	* Merge with NetBSD make, pick up:
1284	  o fix for parsing of :S;...;...; applied to .for loop iterator
1285	    appearing in a dependency line.
1286
12872009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1288
1289	* Makefile.in (MAKE_VERSION): bump version to 20090909
1290	* Merge with NetBSD make, pick up:
1291	  o fix for -C, .CURDIR and .OBJDIR
1292	* boot-strap:
1293	  o allow share_dir to be set independent of prefix.
1294	  o select default share_dir better when prefix ends in $HOST_TARGET
1295	  o if FORCE_BSD_MK etc were set, include them in the suggested
1296	    install-mk command.
1297
12982009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
1299
1300	* Makefile.in (MAKE_VERSION): bump version to 20090908
1301	* Merge with NetBSD make, pick up:
1302	  o .MAKE.LEVEL for recursion tracking
1303	  o fix for :M scanning \:
1304
13052009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1306
1307	* configure.in: Don't -D__EXTENSIONS__ if
1308	AC_USE_SYSTEM_EXTENSIONS says "no".
1309
13102009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
1311
1312	* Makefile.in (MAKE_VERSION): bump version to 20090826
1313	Simplify MAKE_VERSION to just the bare date.
1314	* Merge with NetBSD make, pick up:
1315	  o -C directory support.
1316	  o support for SIGINFO
1317	  o use $TMPDIR for temp files.
1318	  o child of vfork should be careful about modifying parent's state.
1319
1320
13212009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
1322
1323	* Appy some patches for MiNT from David Brownlee
1324
13252009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
1326
1327	* Makefile.in (BMAKE_VERSION): bump version to 20090222
1328	* Merge with NetBSD make, pick up:
1329	  o Possible null pointer de-ref in Var_Set.
1330
13312009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
1332
1333	* Makefile.in (BMAKE_VERSION): bump version to 20090204
1334	* Merge with NetBSD make, pick up:
1335	  o bmake_malloc et al moved to their own .c
1336	  o Count both () and {} when looking for the end of a :M pattern
1337	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1338	  o strlist.c - functions for processing extendable arrays of pointers to strings.
1339	  o ClientData replaced with void *, so const void * can be used.
1340	  o New debug flag C for DEBUG_CWD
1341
13422008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
1343
1344	* Makefile.in (BMAKE_VERSION): bump version to 20081111
1345	  Apply patch from Joerg Sonnenberge to
1346	  configure.in:
1347	  o remove some redundant checks
1348	  o check for emlloc etc only in libutil and require the whole family.
1349	  util.c:
1350	  o remove [v]asprintf which is no longer used.
1351
13522008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1353
1354	* Makefile.in (BMAKE_VERSION): bump version to 20081101
1355	* Merge with NetBSD make, pick up:
1356	  o util.c: avoid use of putenv() - christos
1357
13582008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1359
1360	* Makefile.in (BMAKE_VERSION): bump version to 20081030
1361	  pick up man page tweaks.
1362
13632008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
1364
1365	* Makefile.in: move processing of LIBOBJS to after is definition!
1366	  thus we'll have getenv.c in SRCS only if needed.
1367
1368	* make.1: add examples of how to use :?
1369
1370	* Makefile.in (BMAKE_VERSION): bump version to 20081029
1371	* Merge with NetBSD make, pick up:
1372	  o fix for .END processing with -j
1373	  o segfault from Parse_Error when no makefile is open
1374	  o handle numeric expressions in any variable expansion
1375	  o debug output now defaults to stderr, -dF to change it - apb
1376	  o make now uses bmake_malloc etc so that it can build natively
1377	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1378
13792008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
1380
1381	* Makefile.in (BMAKE_VERSION): bump version to 20080808
1382	* Merge with NetBSD make, pick up:
1383	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1384	    long lines in Makefiles
1385	  o optimizations for VarQuote by joerg
1386	  o fix for PR/38756: dominik: make dumps core on invalid makefile
1387
13882008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
1389
1390	* Makefile.in (BMAKE_VERSION): bump version to 20080515
1391	* Merge with NetBSD make, pick up:
1392	  o fix skip setting vars in VAR_GLOBAL context, to handle
1393	    cases where VAR_CMD is used for other than command line vars.
1394
13952008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
1396
1397	* boot-strap (make_version): we may need to look in
1398	$prefix/share/mk for sys.mk
1399
1400	* Makefile.in (BMAKE_VERSION): bump version to 20080514
1401	* Merge with NetBSD make, pick up:
1402	  o skip setting vars in VAR_GLOBAL context, when already set in
1403	  VAR_CMD which takes precedence.
1404
14052008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
1406
1407	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
1408	* Merge with NetBSD make, pick up:
1409	  o fix for ?= when LHS contains variable reference.
1410
14112008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1412
1413	* merge some patches from NetBSD pkgsrc.
1414
1415	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1416	the MAKSYSPATH used during bootstrap.
1417
1418	* Makefile.in (BMAKE_VERSION): bump version to 20080215
1419	* Merge with NetBSD make, pick up:
1420	  o warn if non-space chars follow 'empty' in a conditional.
1421
14222008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1423
1424	* Makefile.in (BMAKE_VERSION): bump version to 20080118
1425	* Merge with NetBSD make, pick up:
1426	  o consider dependencies read from .depend as optional - dsl
1427	  o remember when buffer for reading makefile grows - dsl
1428	  o add -dl (aka LOUD) - David O'Brien
1429
14302007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
1431
1432	* Makefile.in (BMAKE_VERSION): bump version to 20071022
1433	* Merge with NetBSD make, pick up:
1434	  o Allow .PATH<suffix> to be used for .include ""
1435
1436	* boot-strap: source default settings from .bmake-boot-strap.rc
1437
14382007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
1439
1440	* Makefile.in: fix maninstall on various systems
1441	  provided that our man.mk is used.
1442	  For non-BSD systems we install the preformatted page
1443	  into $MANDIR/cat1
1444
14452007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
1446
1447	* boot-strap: make bmake.1 too, so maninstall works.
1448
14492007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
1450
1451	* Makefile.in (BMAKE_VERSION): bump version to 20071014
1452	* Merge with NetBSD make, pick up:
1453	  o revamped handling of defshell - configure no longer needs to
1454	    know the content of the shells array - apb
1455	  o stop Var_Subst modifying its input - apb
1456	  o avoid calling ParseTrackInput too often - dsl
1457
14582007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
1459
1460	* Makefile.in (BMAKE_VERSION): bump version to 20071011
1461	* Merge with NetBSD make, pick up:
1462	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1463
1464	* sigcompat.c: some tweaks for HP-UX 11.x based on
1465	  patch from Tobias Nygren
1466
1467	* configure.in: update handling of --with-defshell to match
1468	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
1469	  will now do what one might hope - provided the chosen shell
1470	  behaves enough like sh.
1471
14722007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
1473
1474	* Makefile.in (BMAKE_VERSION): bump to 20071008
1475	* Merge with NetBSD make, pick up:
1476	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1477	  o .export/.MAKE.EXPORTED - export of variables - sjg
1478	  o .MAKE.MAKEFILES - track all makefiles read - sjg
1479	  o performance improvements - dsl
1480	  o revamp parallel job scheduling - dsl
1481
14822006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1483
1484	* Makefile.in (BMAKE_VERSION): bump to 20060728
1485	* Merge with NetBSD make, pick up:
1486	  o extra debug info during variable and cond processing - sjg
1487	  o shell definition now covers newline - rillig
1488	  o minor mem leak in PrintOnError - sjg
1489
14902006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1491
1492	* Makefile.in (BMAKE_VERSION):  bump to 20060511
1493	* Merge with NetBSD make, pick up:
1494	  o more memory leaks - coverity
1495	  o possible overflow in ArchFindMember - coverity
1496	  o extract variable modifier code out of Var_Parse()
1497	    so it can be called recursively - sjg
1498	  o unit-tests/moderrs - sjg
1499
15002006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
1501
1502	* Makefile.in (BMAKE_VERSION): bump to 20060412
1503	* Merge with NetBSD make, pick up:
1504	  o fixes for some memory leaks - coverity
1505	  o only read first sys.mk etc when searching sysIncPath - sjg
1506
1507	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
1508	setting ${MAKEFILE} - OBATA Akio
1509
15102006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
1511
1512	* Makefile.in (BMAKE_VERSION): bump to 20060318
1513	* Merge with NetBSD make, pick up:
1514	  o cleanup of job.c to remove remote handling, distcc is more
1515	    useful and this code was likely bit-rotting - dsl
1516	  o fix for :P modifier - sjg
1517	* boot-strap: set default prefix to something reasonable
1518	  (for me anyway).
1519
15202006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
1521
1522	* Makefile.in (BMAKE_VERSION): bump to 20060301
1523	* Merge with NetBSD make, pick up:
1524	  o make .WAIT apply recursively, document and test case - apb
1525	  o allow variable modifiers in a variable appear anywhere in
1526	    modifier list, document and test case - sjg
1527
15282006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
1529
1530	* Makefile.in (BMAKE_VERSION): bump to 20060222
1531	* Merge with NetBSD make, pick up:
1532	  o improved job token handling - dsl
1533	  o SIG_DFL the correct signal before exec - dsl
1534	  o more debug info during parsing - dsl
1535	  o allow variable modifiers to be specified via variable - sjg
1536	* boot-strap: explain why we died if no mksrc
1537
15382005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
1539
1540	* Makefile.in (BMAKE_VERSION): bump to 20051105
1541	* configure.in: always set default_sys_path
1542	  default is ${prefix}/share/mk
1543	  - remove prefix_sys_path, anyone wanting more than above
1544	    needs to set it manually.
1545
15462005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1547
1548	* boot-strap: make this a bit easier for pkgsrc folk.
1549	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1550	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1551
15522005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
1553
1554	* Makefile.in (BMAKE_VERSION): bump to 20051102
1555	* job.c (JobFinish): fix likely ancient merge lossage
1556	fix from Todd Vierling.
1557	* boot-strap (srcdir): allow setting mksrc=none
1558
15592005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
1560
1561	* Makefile.in (BMAKE_VERSION): bump to 20051031
1562	* ranlib.h: skip on OSF too.
1563	  (NetBSD PR 31864)
1564
15652005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
1566
1567	* Makefile.in (BMAKE_VERSION): bump to 20051002
1568	  fix a silly typo
1569
15702005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1571
1572	* Makefile.in (BMAKE_VERSION): bump to 20051001
1573	  support for UnixWare and some other systems,
1574	  based on patches from pkgsrc/bootstrap
1575
15762005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1577
1578	* Makefile.in (BMAKE_VERSION): bump to 20050901
1579	* Merge with NetBSD make, pick up:
1580	  o possible parse error causing us to wander off.
1581
15822005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
1583
1584	* Makefile.in (BMAKE_VERSION): bump to 20050606
1585	* Merge with NetBSD make, pick up:
1586	  o :0x modifier for randomizing a list
1587	  o fixes for a number of -Wuninitialized issues.
1588
15892005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
1590
1591	* Makefile.in (BMAKE_VERSION): bump to 20050530
1592	* Merge with NetBSD make, pick up:
1593	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
1594
1595	* README: was seriously out of date.
1596
15972005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
1598
1599	* Important to use .MAKE rather than MAKE.
1600
16012005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
1602
1603	* Makefile.in (BMAKE_VERSION): bump to 20050315
1604	* Merge with NetBSD make, pick up:
1605	  o don't mistake .elsefoo for .else
1606	  o use suffix-specific search path correctly
1607	  o bunch of style nits
1608
16092004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1610
1611	* boot-strap:
1612	o ensure that args to --src and --with-mksrc
1613	  are resolved before giving them to configure.
1614	o add -o "objdir" so that builder can control it,
1615	  default is $OS as determined by os.sh
1616	o add -q to suppress all the install instructions.
1617
16182004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
1619
1620	* Remove __IDSTRING()
1621
1622	* Makefile.in (BMAKE_VERSION): bump to 20040508
1623	* Merge with NetBSD make, pick up:
1624	  o posix fixes
1625	    - remove '-e' from compat mode
1626	    - add support for '+' command-line prefix.
1627	  o fix for handling '--' on command-line.
1628	  o fix include in lst.lib/lstInt.h to simplify '-I's
1629	  o we also picked up replacement of MAKE_BOOTSTRAP
1630	    with !MAKE_NATIVE which is a noop, but possibly confusing.
1631
16322004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
1633
1634	* Makefile.in (BMAKE_VERSION): bump to 20040414
1635	* Merge with NetBSD make, pick up:
1636	  o allow quoted strings on lhs of conditionals
1637	  o issue warning when extra .else is seen
1638	  o print line numer when errors encountered during parsing from
1639	  string.
1640
16412004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
1642
1643	* Makefile.in (BMAKE_VERSION):  bump to 20040220
1644	* Merge with NetBSD make, pick up:
1645	  o fix for old :M parsing bug.
1646	  o re-jigged unit-tests
1647
16482004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1649
1650	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1651	so that './bmake -f Makefile test' works.
1652
16532004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
1654
1655	* Makefile.in: (BMAKE_VERSION): bump to 20040214
1656	* Merge with NetBSD make, pick up:
1657	  o search upwards for *.mk
1658	  o fix for double free of var substitution buffers
1659	  o use of getopt replaced with custom code, since the usage
1660	  (re-scanning) isn't posix compatible.
1661
16622004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
1663
1664	* arch.c: don't include ranlib.h on ELF systems
1665	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1666
16672004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1668
1669	* Makefile.in (BMAKE_VERSION): bump to 20040118
1670
1671	* boot-strap (while): export vars we assign to on cmdline
1672	* unit-test/Makefile.in: ternary is .PHONY
1673
16742004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
1675
1676	* Makefile.in (BMAKE_VERSION): bump version to 20040108
1677	* Merge with NetBSD make, pick up:
1678	  o fix for ternary modifier
1679
16802004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
1681
1682	* Makefile.in (BMAKE_VERSION): bump version to 20040105
1683	* Merge with NetBSD make, pick up:
1684	  o fix for cond.c to handle compound expressions better
1685	  o variable expansion within sysV style replacements
1686
16872003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
1688
1689	* Make portable snprintf safer - output to /dev/null first to
1690	check space needed.
1691
1692	* Makefile.in (BMAKE_VERSION): bump version to 20031222
1693	* Merge with NetBSD make, pick up:
1694	  o -dg3 to show input graph when things go wrong.
1695	  o explicitly look for makefiles in objdir if not found in curdir so
1696	    that errors in .depend etc will be reported accurarely.
1697	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1698	    instead as it more accurately reflects the expected behavior and
1699	    is more consistently implemented.
1700	  o avoid use of asprintf.
1701
17022003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
1703
1704	* util.c: Add asprintf and vasprintf.
1705
1706	* Makefile.in (BMAKE_VERSION): bump version to 20030928
1707	* Merge with NetBSD make, pick up:
1708	:[] modifier - allows picking words from a variable.
1709	:tW modifier - allows treating value as one big word.
1710	W flag for :C and :S - allows treating value as one big word.
1711
17122003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
1713
1714	* Merge with NetBSD make
1715	pick up -de flag to enable printing failed command.
1716	don't skip 1st two dir entries (normally . and ..) since
1717	coda does not have them.
1718
17192003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1720
1721	* Makefile.in (BMAKE_VERSION): bump version to 20030909
1722	* Merge with NetBSD make, pick up:
1723	- changes for -V '${VAR}' to print fully expanded value
1724	  cf. -V VAR
1725	- CompatRunCommand now prints the command that failed.
1726	- several files got updated 3 clause Berkeley license.
1727
17282003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
1729
1730	* boot-strap: Allow setting configure args on command line.
1731
17322003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
1733
1734	* configure.in: add --with-defshell to allow sh or ksh
1735	to be selected as default shell.
1736
1737	* Makefile.in: bump version to 20030731
1738
1739	* Merge with NetBSD make
1740	Pick up .SHELL spec for ksh and associate man page changes.
1741	Also compat mode now uses the same shell specs.
1742
17432003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
1744
1745	* var.c (Var_Parse): ensure delim is initialized.
1746
1747	* unit-tests/Makefile.in: use single quotes to avoid problems from
1748	some shells.
1749
1750	* makefile.boot.in:
1751	Run the unit-tests as part of the bootstrap procedure.
1752
17532003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1754
1755	* unit-tests/Makefile.in: always force complaints from
1756	${TEST_MAKE} to be from 'make'.
1757
1758	* configure.in: add check for 'diff -u'
1759	also fix some old autoconf'isms
1760
1761	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
1762	if using GCC add -Wno-cast-qual to CFLAGS for var.o
1763
1764	* Merge with NetBSD make
1765	Pick up fix for :ts parsing error in some cases.
1766	Pick unit-tests.
1767
17682003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
1769
1770	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
1771
1772	* var.c (Var_Parse): fix bug in :ts modifier, after const
1773	correctness fixes, must pass nstr to VarModify.
1774
17752003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
1776
1777	* Makefile.in: BMAKE_VERSION switch to a date based version.
1778	We'll generally use the date of last import from NetBSD.
1779
1780	* Merge with NetBSD make
1781	Pick up fixes for const-correctness, now passes WARNS=3 on
1782	NetBSD.
1783	Pick up :ts modifier, allows controlling the separator used
1784	between words in variable expansion.
1785
17862003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
1787
1788	* FILES: include boot-strap and os.sh
1789
1790	* Makefile.in: only set WARNS if we are NetBSD, the effect on
1791	FreeBSD is known to be bad.
1792
1793	* makefile.boot.in (bootstrap): make this the default target.
1794
1795	* Makefile.in: bump version to 3.1.19
1796
1797	* machine.sh: avoid A-Z with tr as it is bound to lose.
1798
17992003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
1800
1801	* Merge with NetBSD make
1802	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1803	Plus some doc fixes.
1804
18052003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
1806
1807	* Merge with NetBSD make
1808	Pick up fix for PR/1523 - don't count a library as built, if there
1809	is no way to build it
1810
1811	* Bump version to 3.1.18
1812
18132003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
1814
1815	* Merge with NetBSD make
1816	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1817	appears in src list.
1818
18192003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
1820
1821	* Merge with NetBSD make (mmm 10th anniversary!)
1822	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1823	pick up -X which tells us to not export VAR=val via setenv if
1824	we are already doing so via MAKEFLAGS.  This saves valuable env
1825	space on systems like Darwin.
1826	set MAKE_VERSION to 3.1.17
1827
1828	* parse.c: pix up fix for suffix rules
1829
18302003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
1831
1832	* Merge with NetBSD make.
1833	pick up fix for propagating -B via MAKEFLAGS.
1834	set MAKE_VERSION to 3.1.16
1835
1836	* Apply some patches from pkgsrc-bootstrap/bmake
1837	Originally by Grant Beattie <grant@netbsd.org>
1838	I may have missed some - since they are based on bmake-3.1.12
1839
18402002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
1841
1842	* makefile.boot.in (bmake): update install targets for those that
1843	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1844	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
1845
1846	* bmake.cat1: update the pre-formatted man page!
1847
18482002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
1849
1850	* Merge with NetBSD make.
1851	pick up fix for premature free of pointer used in call
1852	to Dir_InitCur().
1853	set MAKE_VERSION to 3.1.15
1854
18552002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
1856
1857	* configure.in: determine suitable value for MKSRC.
1858	override using --with-mksrc=PATH.
1859
1860	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1861	configs(8) will use 'sun4' as an alias for 'sparc'.
1862
18632002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
1864
1865	* Merge with NetBSD make.
1866	pick up ${.PATH}
1867	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1868	set MAKE_VERSION to 3.1.14
1869	add configure checks for killpg and sys/socket.h
1870
18712002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
1872
1873	* tag bmake-3-1-13
1874
1875	* makefile.boot.in (bmake): use install-mk
1876	Also setup ./mk before trying to invoke bmake.boot incase we
1877	needed install-mk to create a sys.mk for us.
1878
1879	* configure.in: If we need to add -I${srcdir}/missing, make it an
1880	absolute path so that it works for lst.lib too.
1881
1882	* make.h: always include sys/cdefs.h since we provide one if the
1883	host does not.
1884
1885	* Makefile.in (install-mk):
1886	use MKSRC/install-mk which will do the right thing.
1887	use uname -p for ARCH if possible.
1888	since install-mk will setup links bsd.prog.mk -> prog.mk if
1889	needed, just .include bsd.prog.mk
1890
1891	* Merge with NetBSD make (NetBSD-1.6)
1892	Code is ansi-C only now.
1893	Bug in handling of dotLast is fixed.
1894	Can now assign .OBJDIR and make will reset its notions of life.
1895	New modifiers :tu :tl for toUpper and toLower.
1896
1897Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1898
1899	* Merge with NetBSD make
1900	pick up fix for .END failure in compat mode.
1901	pick up fix for extra va_end() in ParseVErrorInternal.
1902
1903Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1904
1905	* configure.in: for systems that have sys/cdefs.h check if it is
1906	compatible.  If not, include the one under missing, but tell it to
1907	include the native one too - necessary on Linux.
1908
1909	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1910	include_next (for gcc) to get the native sys/cdefs.h
1911
1912Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1913
1914	* job.c (JobFinish): Fix an earlier merge bug that resulted in
1915	leaking descriptors when using -jN.
1916
1917	* job.c (JobPrintCommand): See if "curdir" exists before
1918	attempting to chdir().  Doing the chdir directly in make (when in
1919	compat mode) fails silently, so let the -jN version do the same.
1920	This can happen when building kernels in an object tree and
1921	playing clever games to reset .CURDIR.
1922
1923	* Merged with NetBSD make
1924	pick up .USEBEFORE
1925
1926Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1927
1928	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1929
1930Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1931
1932	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1933	us not to export the iterator variable when using VAR_CMD context.
1934
1935Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1936
1937	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1938	its the wrong "fix".
1939
1940Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1941
1942	* Redesigned export of VAR_CMD's via MAKEFLAGS.
1943	We now simply append the variable names to .MAKEOVERRIDES, and
1944	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1945	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1946	Apart from fixing quoting bugs in previous version, this allows us
1947	to export vars to the environment by simply doing:
1948	.MAKEOVERRIDES+= PATH
1949	Merged again with NetBSD make, but the above is the only change.
1950
1951	* configure.in: added
1952	--disable-pwd-override		disable $PWD overriding getcwd()
1953	--disable-check-make-chdir	disable make trying to guess
1954		when it should automatically cd ${.CURDIR}
1955
1956	* Merge with NetBSD make, changes include:
1957	parse.c (ParseDoDependency): Spot that the syntax error is
1958	caused by an unresolved cvs/rcs conflict and say so.
1959	var.c: most of Var* functions now take a ctxt as 1st arg.
1960	now does variable substituion on rhs of sysv style modifiers.
1961
1962	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
1963	is now done here.  We append the name='value' to .MAKEOVERRIDES
1964	rather than directly into MAKEFLAGS as this allows a Makefile to
1965	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
1966	very similar mechanism.  Note that in adding name='value' to
1967	.MAKEOVERRIDES we do the moral equivalent of:
1968	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1969
1970Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1971
1972	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1973
1974	* Merged with NetBSD make
1975	make -dx can now be used to run commands via sh -x
1976	better error messages on exec failures.
1977
1978Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1979
1980	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1981	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
1982	MACHINE etc otherwise they propagate from the previous bmake.
1983
1984	* configure.in (machine): allow --with-machine=generic to make
1985	configure use machine.sh to set MACHINE.
1986
1987	* job.c (JobInterrupt): convert to using WAIT_T and friends.
1988
1989	* Makefile.in: mention in bmake.1 that we use autoconf.
1990
1991	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1992
1993Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1994
1995	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1996	as that rather defeats the usefulness of ${MAKEFILE}.
1997
1998	* main.c (MainParseArgs): append command line variable assignments
1999	to MAKEFLAGS so that they get propagated to child make's.
2000	Apparently this is required POSIX behaviour?  Its useful anyway.
2001
2002Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2003
2004	* compat.c (CompatRunCommand): don't use perror() since stdio may
2005	cause problems in child of vfork().
2006
2007	* compat.c, main.c: Call PrintOnError() when we are going to bail.
2008	This routine prints out the .curdir where we stopped and will also
2009	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2010
2011	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
2012	:@ expansion.
2013
2014	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
2015
2016	* Added RCSid's for the files we've touched.
2017
2018Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2019
2020	* configure.in:	Thanks to some clues from mdb@juniper.net,
2021	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2022	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
2023
2024  --with-machine=MACHINE  explicitly set MACHINE
2025  --with-force-machine=MACHINE  set FORCE_MACHINE
2026  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
2027  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
2028  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
2029  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
2030
2031	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2032
2033	* makefile: added a pathetically simple makefile to drive
2034	bootstrapping.  Running configure by hand is more useful.
2035
2036	* Makefile.in: added MAKE_VERSION, and reworked things to be less
2037	dependent on NetBSD bsd.*.mk
2038
2039	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2040	_PATH_OBJDIRPREFIX for those that don't want a default.
2041	construct _PATH_DEFSYSPATH from the info we get from configure.
2042
2043	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2044	if MAKE_VERSION is defined.
2045
2046	* compat.c: when we bail, print out the .CURDIR we were in.
2047
2048Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2049
2050	* Merged with NetBSD make
2051
2052	* var.c: fixed a bug in the handling of the modifier :P
2053	if the node as found but the path was null, we segfault trying to
2054	duplicate it.
2055
2056Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2057
2058	* Merged with NetBSD make
2059
2060	* make.c: Make_OODate's test for a library out of date was using
2061	cmtime where it should have used mtime (my bug).
2062
2063	* compat.c: Use perror() to tell us what really went wrong when we
2064	cannot exec a command.
2065
2066Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2067
2068	* Merged with NetBSD make
2069
2070Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2071
2072	* Merged with NetBSD make
2073
2074Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2075
2076	* Merged with NetBSD make
2077
2078Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2079
2080	* Merged with NetBSD make
2081
2082Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2083
2084	* util.c: don't provide signal() since we use sigcompat.c
2085
2086	* Makefile.in: added a build target.
2087
2088	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2089	These allow some quite clever magic.
2090
2091	* main.c (main): added support for getenv(MAKESYSPATH).
2092
2093Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2094
2095	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2096	This avoids objdir having a different value depending on how a
2097	directory was reached (via command line, or subdir.mk).
2098
2099	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2100
2101Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2102
2103	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2104	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2105	I've been testing this in NetBSD's make for some weeks.
2106
2107	* Turn Makefile into Makefile.in and make it useful.
2108
2109Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
2110
2111	* Imported NetBSD's -current make(1) and resolve conflicts.
2112
2113	* Applied autoconf patches from bmake v2
2114
2115	* Imported clean code base from NetBSD-1.0
2116