xref: /freebsd/contrib/bmake/ChangeLog (revision d4ae33f0721c1b170fe37d97e395228ffcfb3f80)
12013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
2
3	* Makefile (MAKE_VERSION): 20130904
4	  Merge with NetBSD make, pick up
5	  o Add VAR_INTERNAL context, so that internal setting of
6	    MAKEFILE does not override value set by makefiles.
7
82013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
9
10	* Makefile (MAKE_VERSION): 20130902
11	  Merge with NetBSD make, pick up
12	  o CompatRunCommand: only apply shellErrFlag when errCheck is true
13
142013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
15
16	* Makefile (MAKE_VERSION): 20130828
17	  Merge with NetBSD make, pick up
18	  o Fix VAR :sh = syntax from Will Andrews at freebsd.org
19	  o Call Job_SetPrefix() from Job_Init() so makefiles have
20	    opportunity to set .MAKE.JOB.PREFIX
21
222013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
23
24	* Makefile (MAKE_VERSION): 20130730
25	  Merge with NetBSD make, pick up
26	  o Allow suppression of --- job -- tokens by setting
27	    .MAKE.JOB.PREFIX empty.
28
292013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
30
31	* Makefile (MAKE_VERSION): 20130716
32	  Merge with NetBSD make, pick up
33	  o number of gmake compatability tweaks
34	    -w for gmake style entering/leaving messages
35	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
36	    handle MAKEFLAGS containing only letters.
37	  o when overriding a GLOBAL variable on the command line,
38	    delete it from GLOBAL context so -V doesn't show the wrong
39	    value.
40
412013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
42
43	* configure.in: We don't need MAKE_LEVEL_SAFE anymore.
44
45	* Makefile (MAKE_VERSION): 20130706
46	  Merge with NetBSD make, pick up
47	  o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
48	    true so that CompatRunCommand() can use it, to ensure
49	    consistent behavior with jobs mode.
50	  o use MAKE_LEVEL_ENV to define the variable to propagate
51	    .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
52	  o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
53	    paths to ignore.
54
552013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
56
57	* Makefile (MAKE_VERSION): 20130604
58	  Merge with NetBSD make, pick up
59	  o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
60	    to avoid leaking descriptors.
61
622013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
63
64	* Makefile (MAKE_VERSION): 20130528
65	  Merge with NetBSD make, pick up
66	  o var.c: cleanup some left-overs in VarHash()
67
682013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
69
70	* Makefile (MAKE_VERSION): 20130520
71	  generate manifest from component FILES rather than have to
72	  update FILES when mk/FILES changes.
73
742013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
75
76	* Makefile (MAKE_VERSION): 20130518
77	  Merge with NetBSD make, pick up
78	  o suff.c: don't skip all processsing for .PHONY targets
79	    else wildcard srcs do not get expanded.
80	  o var.c: expand name of variable to delete if necessary.
81
822013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
83
84	* Makefile (MAKE_VERSION): 20130330
85	  Merge with NetBSD make, pick up
86	  o meta.c: refine the handling of .OODATE in commands.
87	    Rather than suppress command comparison for the entire script
88	    as though .NOMETA_CMP had been used, only suppress it for the
89	    one command line.
90	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
91	    suppress comparison of a command without otherwise affecting it.
92	  o make.1: document that
93
942013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
95
96	* Makefile (MAKE_VERSION): 20130321
97	  yes, not quite right but its a cooler number.
98	  Merge with NetBSD make, pick up
99	  o parse.c: fix ParseGmakeExport to be portable
100	    and add a unit-test.
101	* meta.c: call meta_init() before makefiles are read and if built
102	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
103	  this let's makefiles test for support.
104	  Call meta_mode_init() to process .MAKE.MODE.
105
1062013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
107
108	* Makefile (MAKE_VERSION): 20130305
109	  Merge with NetBSD make, pick up
110	  o run .STALE: target when a dependency from .depend is missing.
111	  o job.c: add Job_RunTarget() for the above and .BEGIN
112
1132013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
114
115	* Makefile (MAKE_VERSION): 20130303
116	  Merge with NetBSD make, pick up
117	  o main.c: set .MAKE.OS to utsname.sysname
118	  o job.c: more checks for read and poll errors
119	  o var.c: lose VarChangeCase() saves 4% time
120
1212013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
122
123	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
124	  want to use MAKEOBJDIR
125
1262013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
127
128	* Merge with NetBSD make, pick up
129	  o make.1: more info on how shell commands are handled.
130	  o job.c,main.c: detect write errors to job pipes.
131
1322013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
133
134	* Makefile (MAKE_VERSION): 20130123
135	  Merge with NetBSD make, pick up
136	  o meta.c: if script uses .OODATE and meta_oodate() decides
137	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
138	  o var.c: in debug output indicate which variabale modifiers
139	    apply to.
140	  o remove Check_Cwd logic the makefiles have been fixed.
141
1422012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
143
144	* makefile.in: add a simple makefile for folk who insist on
145	  ./configure; make; make install
146	  it just runs boot-strap
147	* include mk/* to accommodate the above
148	* boot-strap:  re-work to accommodate the above
149	  mksrc defaults to $Mydir/mk
150	  allow op={configure,build,install,clean,all}
151	  add options to facilitate install
152	* Makefile.config.in: just the bits set by configure
153	* Makefile: bump version to 20121212
154	  abandon Makefile.in (NetBSD Makefile)
155	  leverage mk/* instead
156	* configure.in: ensure srcdir is absolute
157
1582012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
159
160	* Makefile.in (MAKE_VERSION): 20121111
161	  fix generation of bmake.cat1
162
1632012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
164
165	* Makefile.in (MAKE_VERSION): 20121109
166	  Merge with NetBSD make, pick up
167	  o make.c: MakeBuildChild: return 0 so search continues if a
168	    .ORDER dependency is detected.
169	  o unit-tests/order: test the above
170
1712012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
172
173	* Makefile.in (MAKE_VERSION): 20121102
174	  Merge with NetBSD make, pick up
175	  o cond.c: allow cond_state[] to grow.
176	    In meta mode with a very large tree, we can hit the limit
177	    while processing dirdeps.
178
1792012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
180
181	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
182
1832012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
184
185	* Makefile.in (MAKE_VERSION): 20121010
186	  o protect syntax that only bmake parses correctly.
187	  o remove auto setting of FORCE_MACHINE, use configure's
188	    --with-force-machine=whatever if that is desired.
189
1902012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
191
192	* Makefile.in: do not lose history from make.1 when generating bmake.1
193
1942012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
195
196	* Makefile.in (MAKE_VERSION): 20121007
197	  Merge with NetBSD make, pick up
198	  o compat.c: ignore empty commands - same as jobs mode.
199	  o make.1: document meta chars that cause use of shell
200
2012012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
202
203	* Makefile.in (MAKE_VERSION): bump version to 20120911
204	* bsd.after-import.mk: include Makefile.inc early and allow it to
205	  override PROG
206
2072012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
208
209	* Makefile.in (MAKE_VERSION): bump version to 20120831
210	  Merge with NetBSD make, pick up
211	  o cast sizeof() to int for comparison
212	  o minor make.1 tweak
213
2142012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
215
216	* Makefile.in (MAKE_VERSION): bump version to 20120830
217	  Merge with NetBSD make, pick up
218	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
219	  o debug flag -dV causes -V to show raw value regardless.
220
2212012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
222
223	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
224	  gets SRCTOP set.
225
2262012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
227
228	* Makefile.in (MAKE_VERSION): bump version to 20120704
229	  Merge with NetBSD make, pick up
230	  o Job_ParseShell should call Shell_Init if it has been
231	    previously called.
232	* Makefile.in: set USE_META based on configure result.
233	  also .PARSEDIR is safer indicator of bmake.
234
2352012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
236
237	* Makefile.in: bump version to 20120626
238	  ensure CPPFLAGS is in CFLAGS
239	* meta.c: avoid nested externs
240	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
241
2422012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
243
244	* Makefile.in (MAKE_VERSION): bump version to 20120620
245	  Merge with NetBSD make, pick up
246	  o make_malloc.c: avoid including make_malloc.h again
247
248	* Makefile.in: avoid bmake only syntax or protect with
249	  .if defined(.MAKE.LEVEL)
250	* bsd.after-import.mk: replace .-include with .sinclude
251	  ensure? SRCTOP gets a value
252	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
253
2542012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
255
256	* Makefile.in (MAKE_VERSION): bump version to 20120612
257	  Merge with NetBSD make, pick up
258	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
259	    for greater portability.
260	  o unit-tests/forloop: check that .for works as expected wrt
261	    number of times and with "quoted strings".
262
2632012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
264
265	* Makefile.in (MAKE_VERSION): bump version to 20120606
266	  Merge with NetBSD make, pick up
267	  o compat.c: use kill(2) rather than raise(3).
268	* configure.in: look for sys/dev/filemon
269	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
270	  and pass BOOTSTRAP_XTRAS to boot-strap.
271
2722012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
273
274	* Makefile.in (MAKE_VERSION): bump version to 20120604
275	  Merge with NetBSD make, pick up
276	  o util.c and var.c share same var for tracking if environ
277	    has been reallocated.
278	  o util.c provide getenv with setenv.
279	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
280	  when the shell actively strips .MAKE.* from the environment.
281	  We still refer to the variable always as .MAKE.LEVEL
282	* util.c fix bug in findenv() was finding prefix of name.
283	* compat.c: re-raising SIGINT etc after running .INTERRUPT
284	  results in more reliable termination of all activity on many
285	  platforms.
286
2872012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
288
289	* Makefile.in (MAKE_VERSION): bump version to 20120602
290	  Merge with NetBSD make, pick up
291	  o for.c: handle quoted items in .for list
292
2932012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
294
295	* Makefile.in (MAKE_VERSION): bump version to 20120530
296	  Merge with NetBSD make, pick up
297	  o compat.c: ignore empty command.
298
2992012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
300
301	* Makefile.in (MAKE_VERSION): bump version to 20120524
302	* FILES: add bsd.after-import.mk:
303	  A simple means of integrating bmake into a BSD build system.
304
3052012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
306
307	* Makefile.in (MAKE_VERSION): bump version to 20120520
308	  Merge with NetBSD make, pick up
309	  o increased limit for nested conditionals.
310
3112012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
312
313	* Makefile.in (MAKE_VERSION): bump version to 20120518
314	  Merge with NetBSD make, pick up
315	  o use _exit(2) in signal hanlder
316	  o Don't use the [dir] cache when building nodes that might have
317	    changed since the last exec.
318	  o Avoid nested extern declaration warnings.
319
3202012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
321
322	* meta.c (fgetLine): avoid %z - not portable.
323	* parse.c: Since we moved include of sys/mman.h
324	  and def's of MAP_COPY etc. we got dups from a merge.
325
3262012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
327
328	* Makefile.in (MAKE_VERSION): bump version to 20120420
329	  Merge with NetBSD make, pick up
330	  o restore duplicate supression in .MAKE.MAKEFILES
331	    runtime saving can be significant.
332	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
333	    consumption up to 20%.
334
3352012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
336
337	* Makefile.in (MAKE_VERSION): bump version to 20120420
338          Merge with NetBSD make, pick up
339	  o remove duplicate supression in .MAKE.MAKEFILES
340	  o improved dir cache behavior
341	  o gmake'ish export command
342
3432012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
344
345	* Makefile.in (MAKE_VERSION): bump version to 20120325
346	  Merge with NetBSD make, pick up
347	  o fix parsing of :[#] in conditionals.
348
3492012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
350
351	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
352	  since some systems cannot cope with .Nx <version>
353
3542011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
355
356	* Makefile.in (MAKE_VERSION): bump version to 20111111
357	  Merge with NetBSD make, pick up
358	  o debug output for .PARSEDIR and .PARSEFILE
359
3602011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
361
362	* Makefile.in (MAKE_VERSION):  bump version to 20111010
363
3642011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
365
366	* boot-strap: check for an expected file in the dirs we look for.
367	* make-bootstrap.sh: pass on LDSTATIC
368
3692011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
370
371	* Makefile.in (MAKE_VERSION): bump version to 20111001
372	  Merge with NetBSD make, pick up
373	  o ensure .PREFIX is set for .PHONY
374	    and .TARGET set for .PHONY run via .END
375	  o __dead used consistently
376
3772011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
378
379	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
380
3812011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
382
383	* Makefile.in (MAKE_VERSION): bump version to 20110905
384	  Merge with NetBSD make, pick up
385	  o meta_oodate: ignore makeDependfile
386
3872011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
388
389	* Makefile.in (MAKE_VERSION): bump version to 20110828
390	  Merge with NetBSD make, pick up
391	  o silent=yes in .MAKE.MODE causes meta mode to mark targets
392	    as SILENT if a .meta file is created
393
3942011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
395
396	* Makefile.in (MAKE_VERSION): bump version to 20110818
397	  Merge with NetBSD make, pick up
398	  o in meta mode, if target flagged .META a missing .meta file
399	    means target is out-of-date
400	  o fixes for gcc 4.5 warnings
401	  o simplify job printing code
402
4032011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
404
405	* Makefile.in (MAKE_VERSION): bump version to 20110808
406	  Merge with NetBSD make, pick up
407	  o do not touch OP_SPECIAL targets when doing make -t
408
4092011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
410
411	* Makefile.in (MAKE_VERSION): bump version to 20110622
412	  Merge with NetBSD make, pick up
413	  o meta_oodate detect corrupted .meta file and declare oodate.
414	* configure.in: add check for setsid
415
4162011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
417
418	* Merge with NetBSD make, pick up
419	  o unit-tests/modts now works on MirBSD
420
4212011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
422
423	* Makefile.in (MAKE_VERSION): bump version to 20110606
424	  Merge with NetBSD make, pick up
425	  o ApplyModifiers: when we parse a variable which is not
426	    the entire modifier string, or not followed by ':', do not
427	    consider it as containing modifiers.
428	  o loadfile: ensure newline at end of mapped file.
429
4302011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
431
432	* Makefile.in (MAKE_VERSION): bump version to 20110505
433	  Merge with NetBSD make, pick up
434	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
435	    of make's control.  In meta mode, any generated file within
436	    said bailiwick, which  is found to be missing, causes current
437	    target to be out-of-date.
438
4392011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
440
441	* Makefile.in (MAKE_VERSION): bump version to 20110411
442	  Merge with NetBSD make, pick up
443	  o when long modifiers fail to match, check sysV style.
444	    - add a test case
445
4462011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
447
448	* Makefile.in (MAKE_VERSION): bump version to 20110410
449	  Merge with NetBSD make, pick up
450	  o :hash - cheap 32bit hash of value
451	  o :localtime, :gmtime - use value as format string for strftime.
452
4532011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
454
455	* Makefile.in (MAKE_VERSION): bump version to 20110330
456	  mostly because its a cooler version.
457	  Merge with NetBSD make, pick up
458	  o NetBSD tags for meta.[ch]
459	  o job.c call meta_job_finish() after meta_job_error().
460	  o meta_job_error() should call meta_job_finish() to ensure
461	    .meta file is closed, and safe to copy - if .ERROR target wants.
462	   meta_job_finish() is safe to call repeatedly.
463
4642011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
465
466	* unit-tests/modts: use printf if it is a builtin,
467	  to save us from MirBSD
468
469	* Makefile.in (MAKE_VERSION): bump version to 20110329
470	  Merge with NetBSD make, pick up
471	  o fix for use after free() in CondDoExists().
472	  o meta_oodate() report extra commands and return earlier.
473
4742011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
475
476	* Makefile.in (MAKE_VERSION): bump version to 20110327
477	  Merge with NetBSD make, pick up
478	  o meta.c, if .MAKE.MODE contains curdirOk=yes
479	    allow creating .meta files in .CURDIR
480	* boot-strap (TOOL_DIFF): aparently at least on linux distro
481	  formats the output of 'type' differently - so eat any "()"
482
4832011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
484
485	* Makefile.in (MAKE_VERSION): bump version to 20110306
486	  Merge with NetBSD make, pick up
487	  o meta.c, only do getcwd() once
488
4892011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
490
491	* Makefile.in (MAKE_VERSION): bump version to 20110305
492	  Merge with NetBSD make, pick up
493	  o correct sysV substitution handling of empty lhs and variable
494	  o correct exists() check for dir with trailing /
495	  o correct handling of modifiers for non-existant variables
496	    during evaluation of conditionals.
497	  o ensure MAP_FILE is defined.
498	  o meta.c use curdir[] now exported by main.c
499
5002011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
501
502	* Makefile.in (MAKE_VERSION): bump version to 20110225
503	  Merge with NetBSD make, pick up
504	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
505	    makefiles have been read.
506	  o fix example of :? modifier in man page.
507
5082011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
509
510	* Makefile.in (MAKE_VERSION): bump version to 20110214
511	  Merge with NetBSD make, pick up
512	  o meta.c handle realpath() failing when generating meta file
513	    name.
514
515	* sigcompat.c: convert to ansi so we can use higher warning levels.
516
517
5182011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
519
520	* Makefile.in (MAKE_VERSION): bump version to 20110207
521	  Merge with NetBSD make, pick up
522	  o fix for bug in meta mode.
523
5242011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
525
526	* parse.c: SunOS 5.8 at least does not have MAP_FILE
527
5282011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
529
530	* Makefile.in (MAKE_VERSION): bump version to 20110101
531	  Merge with NetBSD make, pick up
532	  o use mmap(2) if available, for reading makefiles
533
5342010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
535
536	* Makefile.in (MAKE_VERSION): bump version to 20101215
537	  Merge with NetBSD make, pick up
538	  o ensure meta_job_error() does not report a previous .meta file
539	    as being culprit.
540
5412010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
542
543	* Makefile.in (MAKE_VERSION): bump version to 20101210
544	  Merge with NetBSD make, pick up
545	  o meta_oodate: track cwd per process, and only consider target
546	    out-of-date if missing file is outside make's CWD.
547	    Ignore files in /tmp/ etc.
548	  o to ensure unit-tests results match, need to control LC_ALL
549	    as well as LANG.
550	  o fix for parsing bug in var.c
551
5522010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
553
554	* Makefile.in (MAKE_VERSION): bump version to 20101126
555	  Merge with NetBSD make, pick up
556	  o if stale dependency is an IMPSRC, search via .PATH
557	  o meta_oodate: if a referenced file is missing, target is
558	    out-of-date.
559	  o meta_oodate: if a target uses .OODATE in its commands,
560	    it (.OODATE) needs to be recomputed.
561	  o keep a pointer to youngest child node, rather than just its
562	    mtime.
563
5642010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
565
566	* Makefile.in (MAKE_VERSION): bump version to 20101101
567
5682010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
569
570	* machine.sh: like os.sh,
571	allow for uname -p producing useless drivel
572
5732010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
574
575	* boot-strap: document configure knobs for meta and filemon.
576
577	* Makefile.in (MAKE_VERSION): bump version to 20100911
578	  Merge with NetBSD make, pick up
579	  o meta.c - meta mode
580
581	* make-bootstrap.sh.in: handle meta.c
582	* configure.in: add knobs for use_meta and filemon_h
583	  also, look for dirname, str[e]sep and strlcpy
584	* util.c: add simple err[x] and warn[x]
585
5862010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
587
588	* boot-strap (TOOL_DIFF): set this to ensure tests use
589	  the same version of diff that configure tested
590
591	* Makefile.in (MAKE_VERSION): bump version to 20100808
592	  Merge with NetBSD make, pick up
593	  o in jobs mode, when we discover we cannot make something,
594	    call PrintOnError before exit.
595
5962010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
597
598	* Makefile.in (MAKE_VERSION): bump version to 20100806
599	  Merge with NetBSD make, pick up
600	  o formatting fixes for ignored errors
601	  o ensure jobs are cleaned up regardless of where wait() was called.
602
6032010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
604
605	* Makefile.in (MAKE_VERSION): bump version to 20100618
606	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
607
6082010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
609
610	* Makefile.in (MAKE_VERSION): bump version to 20100616
611	  Merge with NetBSD make, pick up
612	  o man page update
613	  o call PrintOnError from JobFinish when we detect an error we
614	    are not ignoring.
615
6162010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
617
618	* Makefile.in (MAKE_VERSION): bump version to 20100606
619	  Merge with NetBSD make, pick up
620	  o man page update
621
6222010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
623
624	* Makefile.in (MAKE_VERSION): bump version to 20100605
625	  Merge with NetBSD make, pick up
626	  o use bmake_signal() which is a wrapper around sigaction()
627	    in place of signal()
628	  o add .export-env to allow exporting variables to environment
629	    without tracking (so no re-export when the internal value is
630	    changed).
631
6322010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
633
634	* Makefile.in (MAKE_VERSION): bump version to 20100524
635	  Merge with NetBSD make, pick up
636	  o fix for .info et al being greedy.
637
6382010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
639
640	* Makefile.in (MAKE_VERSION): bump version to 20100520
641	  Merge with NetBSD make, pick up
642	  o back to using realpath on argv[0]
643	    but only if contains '/' and does not start with '/'.
644
6452010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
646
647	* boot-strap: use absolute path for bmake when running tests.
648
649	* Makefile.in (MAKE_VERSION):  bump version to 20100510
650	  Merge with NetBSD make, pick up
651	  o revert use of realpath on argv[0]
652	    too many corner cases.
653	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
654
6552010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
656
657	* Makefile.in (MAKE_VERSION): bump version to 20100505
658	  Merge with NetBSD make, pick up
659	  o fix for missed SIGCHLD when compiled with SunPRO
660	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
661	    done the job.
662
6632010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
664
665	* Makefile.in (MAKE_VERSION): bump version to 20100430
666	  Merge with NetBSD make, pick up
667	  o fflush stdout before writing to stdout
668
6692010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
670
671	* Makefile.in (MAKE_VERSION): bump version to 20100423
672	  Merge with NetBSD make, pick up
673	  o updated unit tests for Haiku (this time for sure).
674	* boot-strap: based on patch from joerg
675	  honor --with-default-sys-path better.
676	* boot-strap: remove mention of --with-prefix-sys-path
677
6782010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
679
680	* Makefile.in (MAKE_VERSION): bump version to 20100422
681	* Merge with NetBSD make, pick up
682	  o fix for vfork() on Darwin.
683	  o fix for bogus $TMPDIR.
684	  o set .MAKE.MODE=compat for -B
685	  o set .MAKE.JOBS=max_jobs for -j max_jobs
686	  o allow unit-tests to run without any *.mk
687	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
688	* boot-strap: ignore /usr/share/mk except on NetBSD.
689	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
690	  ensure sort(1) behaves as expected.
691
6922010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
693
694	* boot-strap: add FindHereOrAbove so we can use -m .../mk
695
6962010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
697
698	* Makefile.in (MAKE_VERSION): bump version to 20100420
699	* Merge with NetBSD make, pick up
700	  o fix for variable realpath() behavior.
701	    we have to stat(2) the result to be sure.
702	  o fix for .export (all) when nested vars use :sh
703
7042010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
705
706	* Makefile.in (MAKE_VERSION): bump version to 20100414
707	* Merge with NetBSD make, pick up
708	  o use realpath to resolve argv[0] (for .MAKE) if needed.
709	  o add realpath from libc.
710	  o add :tA to resolve variable via realpath(3) if possible.
711
7122010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
713
714	* Makefile.in (MAKE_VERSION): bump version to 20100408
715	* Merge with NetBSD make, pick up
716	  o unit tests for .ERROR, .error
717	  o fix for .ERROR to ensure it cannot be default target.
718
7192010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
720
721	* Makefile.in (MAKE_VERSION): bump version to 20100406
722	* Merge with NetBSD make, pick up
723	  o fix for compat mode "Error code" going to debug_file.
724	  o fix for .ALLSRC being populated twice.
725	  o support for .info, .warning and .error directives
726	  o .MAKE.MODE to control make's operational mode
727	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
728	    name(s).
729	  o .MAKE.DEPENDFILE to control the name of the depend file
730	  o .ERROR target - run on failure.
731
7322010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
733
734	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
735
736	* os.sh,arch.c: patch for Haiku from joerg at netbsd
737
7382010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
739
740	* Makefile.in (MAKE_VERSION): bump version to 20100222
741	* Merge with NetBSD make, pick up
742	  o better error msg for .for with mutiple inter vars
743
744	* boot-strap:
745	  o use make-bootstrap.sh from joerg at netbsd
746	    to avoid the need for a native make when bootstrapping.
747	  o add "" everywhere ;-)
748	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
749	    otherwise the pre-formated version.
750
7512010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
752
753	* Makefile.in (MAKE_VERSION): bump version to 20100102
754	* Merge with NetBSD make, pick up:
755	  o fix for -m .../
756
7572009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
758
759	* Makefile.in (MAKE_VERSION): bump version to 20091118
760	* Merge with NetBSD make, pick up:
761	  o .unexport
762	  o report lines that start with '.' and should have ':'
763	    (catch typo's of .el*if).
764
7652009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
766
767	* configure.in: Ensure that srcdir and mksrc are absolute paths.
768
7692009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
770
771	* Makefile.in (MAKE_VERSION): fix version to 20091007
772
7732009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
774
775	* Makefile.in (MAKE_VERSION): bump version to 200910007
776	* Merge with NetBSD make, pick up:
777	  o fix for parsing of :S;...;...; applied to .for loop iterator
778	    appearing in a dependency line.
779
7802009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
781
782	* Makefile.in (MAKE_VERSION): bump version to 20090909
783	* Merge with NetBSD make, pick up:
784	  o fix for -C, .CURDIR and .OBJDIR
785	* boot-strap:
786	  o allow share_dir to be set independent of prefix.
787	  o select default share_dir better when prefix ends in $HOST_TARGET
788	  o if FORCE_BSD_MK etc were set, include them in the suggested
789	    install-mk command.
790
7912009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
792
793	* Makefile.in (MAKE_VERSION): bump version to 20090908
794	* Merge with NetBSD make, pick up:
795	  o .MAKE.LEVEL for recursion tracking
796	  o fix for :M scanning \:
797
7982009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
799
800	* configure.in: Don't -D__EXTENSIONS__ if
801	AC_USE_SYSTEM_EXTENSIONS says "no".
802
8032009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
804
805	* Makefile.in (MAKE_VERSION): bump version to 20090826
806	Simplify MAKE_VERSION to just the bare date.
807	* Merge with NetBSD make, pick up:
808	  o -C directory support.
809	  o support for SIGINFO
810	  o use $TMPDIR for temp files.
811	  o child of vfork should be careful about modifying parent's state.
812
813
8142009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
815
816	* Appy some patches for MiNT from David Brownlee
817
8182009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
819
820	* Makefile.in (BMAKE_VERSION): bump version to 20090222
821	* Merge with NetBSD make, pick up:
822	  o Possible null pointer de-ref in Var_Set.
823
8242009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
825
826	* Makefile.in (BMAKE_VERSION): bump version to 20090204
827	* Merge with NetBSD make, pick up:
828	  o bmake_malloc et al moved to their own .c
829	  o Count both () and {} when looking for the end of a :M pattern
830	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
831	  o strlist.c - functions for processing extendable arrays of pointers to strings.
832	  o ClientData replaced with void *, so const void * can be used.
833	  o New debug flag C for DEBUG_CWD
834
8352008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
836
837	* Makefile.in (BMAKE_VERSION): bump version to 20081111
838	  Apply patch from Joerg Sonnenberge to
839	  configure.in:
840	  o remove some redundant checks
841	  o check for emlloc etc only in libutil and require the whole family.
842	  util.c:
843	  o remove [v]asprintf which is no longer used.
844
8452008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
846
847	* Makefile.in (BMAKE_VERSION): bump version to 20081101
848	* Merge with NetBSD make, pick up:
849	  o util.c: avoid use of putenv() - christos
850
8512008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
852
853	* Makefile.in (BMAKE_VERSION): bump version to 20081030
854	  pick up man page tweaks.
855
8562008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
857
858	* Makefile.in: move processing of LIBOBJS to after is definition!
859	  thus we'll have getenv.c in SRCS only if needed.
860
861	* make.1: add examples of how to use :?
862
863	* Makefile.in (BMAKE_VERSION): bump version to 20081029
864	* Merge with NetBSD make, pick up:
865	  o fix for .END processing with -j
866	  o segfault from Parse_Error when no makefile is open
867	  o handle numeric expressions in any variable expansion
868	  o debug output now defaults to stderr, -dF to change it - apb
869	  o make now uses bmake_malloc etc so that it can build natively
870	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
871
8722008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
873
874	* Makefile.in (BMAKE_VERSION): bump version to 20080808
875	* Merge with NetBSD make, pick up:
876	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
877	    long lines in Makefiles
878	  o optimizations for VarQuote by joerg
879	  o fix for PR/38756: dominik: make dumps core on invalid makefile
880
8812008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
882
883	* Makefile.in (BMAKE_VERSION): bump version to 20080515
884	* Merge with NetBSD make, pick up:
885	  o fix skip setting vars in VAR_GLOBAL context, to handle
886	    cases where VAR_CMD is used for other than command line vars.
887
8882008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
889
890	* boot-strap (make_version): we may need to look in
891	$prefix/share/mk for sys.mk
892
893	* Makefile.in (BMAKE_VERSION): bump version to 20080514
894	* Merge with NetBSD make, pick up:
895	  o skip setting vars in VAR_GLOBAL context, when already set in
896	  VAR_CMD which takes precedence.
897
8982008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
899
900	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
901	* Merge with NetBSD make, pick up:
902	  o fix for ?= when LHS contains variable reference.
903
9042008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
905
906	* merge some patches from NetBSD pkgsrc.
907
908	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
909	the MAKSYSPATH used during bootstrap.
910
911	* Makefile.in (BMAKE_VERSION): bump version to 20080215
912	* Merge with NetBSD make, pick up:
913	  o warn if non-space chars follow 'empty' in a conditional.
914
9152008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
916
917	* Makefile.in (BMAKE_VERSION): bump version to 20080118
918	* Merge with NetBSD make, pick up:
919	  o consider dependencies read from .depend as optional - dsl
920	  o remember when buffer for reading makefile grows - dsl
921	  o add -dl (aka LOUD) - David O'Brien
922
9232007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
924
925	* Makefile.in (BMAKE_VERSION): bump version to 20071022
926	* Merge with NetBSD make, pick up:
927	  o Allow .PATH<suffix> to be used for .include ""
928
929	* boot-strap: source default settings from .bmake-boot-strap.rc
930
9312007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
932
933	* Makefile.in: fix maninstall on various systems
934	  provided that our man.mk is used.
935	  For non-BSD systems we install the preformatted page
936	  into $MANDIR/cat1
937
9382007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
939
940	* boot-strap: make bmake.1 too, so maninstall works.
941
9422007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
943
944	* Makefile.in (BMAKE_VERSION): bump version to 20071014
945	* Merge with NetBSD make, pick up:
946	  o revamped handling of defshell - configure no longer needs to
947	    know the content of the shells array - apb
948	  o stop Var_Subst modifying its input - apb
949	  o avoid calling ParseTrackInput too often - dsl
950
9512007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
952
953	* Makefile.in (BMAKE_VERSION): bump version to 20071011
954	* Merge with NetBSD make, pick up:
955	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
956
957	* sigcompat.c: some tweaks for HP-UX 11.x based on
958	  patch from Tobias Nygren
959
960	* configure.in: update handling of --with-defshell to match
961	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
962	  will now do what one might hope - provided the chosen shell
963	  behaves enough like sh.
964
9652007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
966
967	* Makefile.in (BMAKE_VERSION): bump to 20071008
968	* Merge with NetBSD make, pick up:
969	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
970	  o .export/.MAKE.EXPORTED - export of variables - sjg
971	  o .MAKE.MAKEFILES - track all makefiles read - sjg
972	  o performance improvements - dsl
973	  o revamp parallel job scheduling - dsl
974
9752006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
976
977	* Makefile.in (BMAKE_VERSION): bump to 20060728
978	* Merge with NetBSD make, pick up:
979	  o extra debug info during variable and cond processing - sjg
980	  o shell definition now covers newline - rillig
981	  o minor mem leak in PrintOnError - sjg
982
9832006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
984
985	* Makefile.in (BMAKE_VERSION):  bump to 20060511
986	* Merge with NetBSD make, pick up:
987	  o more memory leaks - coverity
988	  o possible overflow in ArchFindMember - coverity
989	  o extract variable modifier code out of Var_Parse()
990	    so it can be called recursively - sjg
991	  o unit-tests/moderrs - sjg
992
9932006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
994
995	* Makefile.in (BMAKE_VERSION): bump to 20060412
996	* Merge with NetBSD make, pick up:
997	  o fixes for some memory leaks - coverity
998	  o only read first sys.mk etc when searching sysIncPath - sjg
999
1000	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
1001	setting ${MAKEFILE} - OBATA Akio
1002
10032006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
1004
1005	* Makefile.in (BMAKE_VERSION): bump to 20060318
1006	* Merge with NetBSD make, pick up:
1007	  o cleanup of job.c to remove remote handling, distcc is more
1008	    useful and this code was likely bit-rotting - dsl
1009	  o fix for :P modifier - sjg
1010	* boot-strap: set default prefix to something reasonable
1011	  (for me anyway).
1012
10132006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
1014
1015	* Makefile.in (BMAKE_VERSION): bump to 20060301
1016	* Merge with NetBSD make, pick up:
1017	  o make .WAIT apply recursively, document and test case - apb
1018	  o allow variable modifiers in a variable appear anywhere in
1019	    modifier list, document and test case - sjg
1020
10212006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
1022
1023	* Makefile.in (BMAKE_VERSION): bump to 20060222
1024	* Merge with NetBSD make, pick up:
1025	  o improved job token handling - dsl
1026	  o SIG_DFL the correct signal before exec - dsl
1027	  o more debug info during parsing - dsl
1028	  o allow variable modifiers to be specified via variable - sjg
1029	* boot-strap: explain why we died if no mksrc
1030
10312005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
1032
1033	* Makefile.in (BMAKE_VERSION): bump to 20051105
1034	* configure.in: always set default_sys_path
1035	  default is ${prefix}/share/mk
1036	  - remove prefix_sys_path, anyone wanting more than above
1037	    needs to set it manually.
1038
10392005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1040
1041	* boot-strap: make this a bit easier for pkgsrc folk.
1042	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1043	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1044
10452005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
1046
1047	* Makefile.in (BMAKE_VERSION): bump to 20051102
1048	* job.c (JobFinish): fix likely ancient merge lossage
1049	fix from Todd Vierling.
1050	* boot-strap (srcdir): allow setting mksrc=none
1051
10522005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
1053
1054	* Makefile.in (BMAKE_VERSION): bump to 20051031
1055	* ranlib.h: skip on OSF too.
1056	  (NetBSD PR 31864)
1057
10582005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
1059
1060	* Makefile.in (BMAKE_VERSION): bump to 20051002
1061	  fix a silly typo
1062
10632005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1064
1065	* Makefile.in (BMAKE_VERSION): bump to 20051001
1066	  support for UnixWare and some other systems,
1067	  based on patches from pkgsrc/bootstrap
1068
10692005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1070
1071	* Makefile.in (BMAKE_VERSION): bump to 20050901
1072	* Merge with NetBSD make, pick up:
1073	  o possible parse error causing us to wander off.
1074
10752005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
1076
1077	* Makefile.in (BMAKE_VERSION): bump to 20050606
1078	* Merge with NetBSD make, pick up:
1079	  o :0x modifier for randomizing a list
1080	  o fixes for a number of -Wuninitialized issues.
1081
10822005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
1083
1084	* Makefile.in (BMAKE_VERSION): bump to 20050530
1085	* Merge with NetBSD make, pick up:
1086	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
1087
1088	* README: was seriously out of date.
1089
10902005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
1091
1092	* Important to use .MAKE rather than MAKE.
1093
10942005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
1095
1096	* Makefile.in (BMAKE_VERSION): bump to 20050315
1097	* Merge with NetBSD make, pick up:
1098	  o don't mistake .elsefoo for .else
1099	  o use suffix-specific search path correctly
1100	  o bunch of style nits
1101
11022004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1103
1104	* boot-strap:
1105	o ensure that args to --src and --with-mksrc
1106	  are resolved before giving them to configure.
1107	o add -o "objdir" so that builder can control it,
1108	  default is $OS as determined by os.sh
1109	o add -q to suppress all the install instructions.
1110
11112004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
1112
1113	* Remove __IDSTRING()
1114
1115	* Makefile.in (BMAKE_VERSION): bump to 20040508
1116	* Merge with NetBSD make, pick up:
1117	  o posix fixes
1118	    - remove '-e' from compat mode
1119	    - add support for '+' command-line prefix.
1120	  o fix for handling '--' on command-line.
1121	  o fix include in lst.lib/lstInt.h to simplify '-I's
1122	  o we also picked up replacement of MAKE_BOOTSTRAP
1123	    with !MAKE_NATIVE which is a noop, but possibly confusing.
1124
11252004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
1126
1127	* Makefile.in (BMAKE_VERSION): bump to 20040414
1128	* Merge with NetBSD make, pick up:
1129	  o allow quoted strings on lhs of conditionals
1130	  o issue warning when extra .else is seen
1131	  o print line numer when errors encountered during parsing from
1132	  string.
1133
11342004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
1135
1136	* Makefile.in (BMAKE_VERSION):  bump to 20040220
1137	* Merge with NetBSD make, pick up:
1138	  o fix for old :M parsing bug.
1139	  o re-jigged unit-tests
1140
11412004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1142
1143	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1144	so that './bmake -f Makefile test' works.
1145
11462004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
1147
1148	* Makefile.in: (BMAKE_VERSION): bump to 20040214
1149	* Merge with NetBSD make, pick up:
1150	  o search upwards for *.mk
1151	  o fix for double free of var substitution buffers
1152	  o use of getopt replaced with custom code, since the usage
1153	  (re-scanning) isn't posix compatible.
1154
11552004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
1156
1157	* arch.c: don't include ranlib.h on ELF systems
1158	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1159
11602004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1161
1162	* Makefile.in (BMAKE_VERSION): bump to 20040118
1163
1164	* boot-strap (while): export vars we assign to on cmdline
1165	* unit-test/Makefile.in: ternary is .PHONY
1166
11672004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
1168
1169	* Makefile.in (BMAKE_VERSION): bump version to 20040108
1170	* Merge with NetBSD make, pick up:
1171	  o fix for ternary modifier
1172
11732004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
1174
1175	* Makefile.in (BMAKE_VERSION): bump version to 20040105
1176	* Merge with NetBSD make, pick up:
1177	  o fix for cond.c to handle compound expressions better
1178	  o variable expansion within sysV style replacements
1179
11802003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
1181
1182	* Make portable snprintf safer - output to /dev/null first to
1183	check space needed.
1184
1185	* Makefile.in (BMAKE_VERSION): bump version to 20031222
1186	* Merge with NetBSD make, pick up:
1187	  o -dg3 to show input graph when things go wrong.
1188	  o explicitly look for makefiles in objdir if not found in curdir so
1189	    that errors in .depend etc will be reported accurarely.
1190	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1191	    instead as it more accurately reflects the expected behavior and
1192	    is more consistently implemented.
1193	  o avoid use of asprintf.
1194
11952003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
1196
1197	* util.c: Add asprintf and vasprintf.
1198
1199	* Makefile.in (BMAKE_VERSION): bump version to 20030928
1200	* Merge with NetBSD make, pick up:
1201	:[] modifier - allows picking words from a variable.
1202	:tW modifier - allows treating value as one big word.
1203	W flag for :C and :S - allows treating value as one big word.
1204
12052003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
1206
1207	* Merge with NetBSD make
1208	pick up -de flag to enable printing failed command.
1209	don't skip 1st two dir entries (normally . and ..) since
1210	coda does not have them.
1211
12122003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1213
1214	* Makefile.in (BMAKE_VERSION): bump version to 20030909
1215	* Merge with NetBSD make, pick up:
1216	- changes for -V '${VAR}' to print fully expanded value
1217	  cf. -V VAR
1218	- CompatRunCommand now prints the command that failed.
1219	- several files got updated 3 clause Berkeley license.
1220
12212003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
1222
1223	* boot-strap: Allow setting configure args on command line.
1224
12252003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
1226
1227	* configure.in: add --with-defshell to allow sh or ksh
1228	to be selected as default shell.
1229
1230	* Makefile.in: bump version to 20030731
1231
1232	* Merge with NetBSD make
1233	Pick up .SHELL spec for ksh and associate man page changes.
1234	Also compat mode now uses the same shell specs.
1235
12362003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
1237
1238	* var.c (Var_Parse): ensure delim is initialized.
1239
1240	* unit-tests/Makefile.in: use single quotes to avoid problems from
1241	some shells.
1242
1243	* makefile.boot.in:
1244	Run the unit-tests as part of the bootstrap procedure.
1245
12462003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1247
1248	* unit-tests/Makefile.in: always force complaints from
1249	${TEST_MAKE} to be from 'make'.
1250
1251	* configure.in: add check for 'diff -u'
1252	also fix some old autoconf'isms
1253
1254	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
1255	if using GCC add -Wno-cast-qual to CFLAGS for var.o
1256
1257	* Merge with NetBSD make
1258	Pick up fix for :ts parsing error in some cases.
1259	Pick unit-tests.
1260
12612003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
1262
1263	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
1264
1265	* var.c (Var_Parse): fix bug in :ts modifier, after const
1266	correctness fixes, must pass nstr to VarModify.
1267
12682003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
1269
1270	* Makefile.in: BMAKE_VERSION switch to a date based version.
1271	We'll generally use the date of last import from NetBSD.
1272
1273	* Merge with NetBSD make
1274	Pick up fixes for const-correctness, now passes WARNS=3 on
1275	NetBSD.
1276	Pick up :ts modifier, allows controlling the separator used
1277	between words in variable expansion.
1278
12792003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
1280
1281	* FILES: include boot-strap and os.sh
1282
1283	* Makefile.in: only set WARNS if we are NetBSD, the effect on
1284	FreeBSD is known to be bad.
1285
1286	* makefile.boot.in (bootstrap): make this the default target.
1287
1288	* Makefile.in: bump version to 3.1.19
1289
1290	* machine.sh: avoid A-Z with tr as it is bound to lose.
1291
12922003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
1293
1294	* Merge with NetBSD make
1295	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1296	Plus some doc fixes.
1297
12982003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
1299
1300	* Merge with NetBSD make
1301	Pick up fix for PR/1523 - don't count a library as built, if there
1302	is no way to build it
1303
1304	* Bump version to 3.1.18
1305
13062003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
1307
1308	* Merge with NetBSD make
1309	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1310	appears in src list.
1311
13122003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
1313
1314	* Merge with NetBSD make (mmm 10th anniversary!)
1315	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1316	pick up -X which tells us to not export VAR=val via setenv if
1317	we are already doing so via MAKEFLAGS.  This saves valuable env
1318	space on systems like Darwin.
1319	set MAKE_VERSION to 3.1.17
1320
1321	* parse.c: pix up fix for suffix rules
1322
13232003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
1324
1325	* Merge with NetBSD make.
1326	pick up fix for propagating -B via MAKEFLAGS.
1327	set MAKE_VERSION to 3.1.16
1328
1329	* Apply some patches from pkgsrc-bootstrap/bmake
1330	Originally by Grant Beattie <grant@netbsd.org>
1331	I may have missed some - since they are based on bmake-3.1.12
1332
13332002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
1334
1335	* makefile.boot.in (bmake): update install targets for those that
1336	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1337	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
1338
1339	* bmake.cat1: update the pre-formatted man page!
1340
13412002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
1342
1343	* Merge with NetBSD make.
1344	pick up fix for premature free of pointer used in call
1345	to Dir_InitCur().
1346	set MAKE_VERSION to 3.1.15
1347
13482002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
1349
1350	* configure.in: determine suitable value for MKSRC.
1351	override using --with-mksrc=PATH.
1352
1353	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1354	configs(8) will use 'sun4' as an alias for 'sparc'.
1355
13562002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
1357
1358	* Merge with NetBSD make.
1359	pick up ${.PATH}
1360	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1361	set MAKE_VERSION to 3.1.14
1362	add configure checks for killpg and sys/socket.h
1363
13642002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
1365
1366	* tag bmake-3-1-13
1367
1368	* makefile.boot.in (bmake): use install-mk
1369	Also setup ./mk before trying to invoke bmake.boot incase we
1370	needed install-mk to create a sys.mk for us.
1371
1372	* configure.in: If we need to add -I${srcdir}/missing, make it an
1373	absolute path so that it works for lst.lib too.
1374
1375	* make.h: always include sys/cdefs.h since we provide one if the
1376	host does not.
1377
1378	* Makefile.in (install-mk):
1379	use MKSRC/install-mk which will do the right thing.
1380	use uname -p for ARCH if possible.
1381	since install-mk will setup links bsd.prog.mk -> prog.mk if
1382	needed, just .include bsd.prog.mk
1383
1384	* Merge with NetBSD make (NetBSD-1.6)
1385	Code is ansi-C only now.
1386	Bug in handling of dotLast is fixed.
1387	Can now assign .OBJDIR and make will reset its notions of life.
1388	New modifiers :tu :tl for toUpper and toLower.
1389
1390Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1391
1392	* Merge with NetBSD make
1393	pick up fix for .END failure in compat mode.
1394	pick up fix for extra va_end() in ParseVErrorInternal.
1395
1396Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1397
1398	* configure.in: for systems that have sys/cdefs.h check if it is
1399	compatible.  If not, include the one under missing, but tell it to
1400	include the native one too - necessary on Linux.
1401
1402	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1403	include_next (for gcc) to get the native sys/cdefs.h
1404
1405Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1406
1407	* job.c (JobFinish): Fix an earlier merge bug that resulted in
1408	leaking descriptors when using -jN.
1409
1410	* job.c (JobPrintCommand): See if "curdir" exists before
1411	attempting to chdir().  Doing the chdir directly in make (when in
1412	compat mode) fails silently, so let the -jN version do the same.
1413	This can happen when building kernels in an object tree and
1414	playing clever games to reset .CURDIR.
1415
1416	* Merged with NetBSD make
1417	pick up .USEBEFORE
1418
1419Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1420
1421	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1422
1423Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1424
1425	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1426	us not to export the iterator variable when using VAR_CMD context.
1427
1428Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1429
1430	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1431	its the wrong "fix".
1432
1433Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1434
1435	* Redesigned export of VAR_CMD's via MAKEFLAGS.
1436	We now simply append the variable names to .MAKEOVERRIDES, and
1437	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1438	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1439	Apart from fixing quoting bugs in previous version, this allows us
1440	to export vars to the environment by simply doing:
1441	.MAKEOVERRIDES+= PATH
1442	Merged again with NetBSD make, but the above is the only change.
1443
1444	* configure.in: added
1445	--disable-pwd-override		disable $PWD overriding getcwd()
1446	--disable-check-make-chdir	disable make trying to guess
1447		when it should automatically cd ${.CURDIR}
1448
1449	* Merge with NetBSD make, changes include:
1450	parse.c (ParseDoDependency): Spot that the syntax error is
1451	caused by an unresolved cvs/rcs conflict and say so.
1452	var.c: most of Var* functions now take a ctxt as 1st arg.
1453	now does variable substituion on rhs of sysv style modifiers.
1454
1455	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
1456	is now done here.  We append the name='value' to .MAKEOVERRIDES
1457	rather than directly into MAKEFLAGS as this allows a Makefile to
1458	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
1459	very similar mechanism.  Note that in adding name='value' to
1460	.MAKEOVERRIDES we do the moral equivalent of:
1461	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1462
1463Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1464
1465	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1466
1467	* Merged with NetBSD make
1468	make -dx can now be used to run commands via sh -x
1469	better error messages on exec failures.
1470
1471Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1472
1473	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1474	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
1475	MACHINE etc otherwise they propagate from the previous bmake.
1476
1477	* configure.in (machine): allow --with-machine=generic to make
1478	configure use machine.sh to set MACHINE.
1479
1480	* job.c (JobInterrupt): convert to using WAIT_T and friends.
1481
1482	* Makefile.in: mention in bmake.1 that we use autoconf.
1483
1484	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1485
1486Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1487
1488	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1489	as that rather defeats the usefulness of ${MAKEFILE}.
1490
1491	* main.c (MainParseArgs): append command line variable assignments
1492	to MAKEFLAGS so that they get propagated to child make's.
1493	Apparently this is required POSIX behaviour?  Its useful anyway.
1494
1495Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1496
1497	* compat.c (CompatRunCommand): don't use perror() since stdio may
1498	cause problems in child of vfork().
1499
1500	* compat.c, main.c: Call PrintOnError() when we are going to bail.
1501	This routine prints out the .curdir where we stopped and will also
1502	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1503
1504	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
1505	:@ expansion.
1506
1507	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
1508
1509	* Added RCSid's for the files we've touched.
1510
1511Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1512
1513	* configure.in:	Thanks to some clues from mdb@juniper.net,
1514	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1515	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
1516
1517  --with-machine=MACHINE  explicitly set MACHINE
1518  --with-force-machine=MACHINE  set FORCE_MACHINE
1519  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
1520  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
1521  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
1522  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
1523
1524	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1525
1526	* makefile: added a pathetically simple makefile to drive
1527	bootstrapping.  Running configure by hand is more useful.
1528
1529	* Makefile.in: added MAKE_VERSION, and reworked things to be less
1530	dependent on NetBSD bsd.*.mk
1531
1532	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1533	_PATH_OBJDIRPREFIX for those that don't want a default.
1534	construct _PATH_DEFSYSPATH from the info we get from configure.
1535
1536	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1537	if MAKE_VERSION is defined.
1538
1539	* compat.c: when we bail, print out the .CURDIR we were in.
1540
1541Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1542
1543	* Merged with NetBSD make
1544
1545	* var.c: fixed a bug in the handling of the modifier :P
1546	if the node as found but the path was null, we segfault trying to
1547	duplicate it.
1548
1549Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1550
1551	* Merged with NetBSD make
1552
1553	* make.c: Make_OODate's test for a library out of date was using
1554	cmtime where it should have used mtime (my bug).
1555
1556	* compat.c: Use perror() to tell us what really went wrong when we
1557	cannot exec a command.
1558
1559Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1560
1561	* Merged with NetBSD make
1562
1563Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1564
1565	* Merged with NetBSD make
1566
1567Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1568
1569	* Merged with NetBSD make
1570
1571Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1572
1573	* Merged with NetBSD make
1574
1575Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1576
1577	* util.c: don't provide signal() since we use sigcompat.c
1578
1579	* Makefile.in: added a build target.
1580
1581	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
1582	These allow some quite clever magic.
1583
1584	* main.c (main): added support for getenv(MAKESYSPATH).
1585
1586Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1587
1588	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
1589	This avoids objdir having a different value depending on how a
1590	directory was reached (via command line, or subdir.mk).
1591
1592	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
1593
1594Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1595
1596	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
1597	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
1598	I've been testing this in NetBSD's make for some weeks.
1599
1600	* Turn Makefile into Makefile.in and make it useful.
1601
1602Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
1603
1604	* Imported NetBSD's -current make(1) and resolve conflicts.
1605
1606	* Applied autoconf patches from bmake v2
1607
1608	* Imported clean code base from NetBSD-1.0
1609