ChangeLog revision 249033
12013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
2
3	* Makefile (MAKE_VERSION): 20130330
4	  Merge with NetBSD make, pick up
5	  o meta.c: refine the handling of .OODATE in commands.
6	    Rather than suppress command comparison for the entire script
7	    as though .NOMETA_CMP had been used, only suppress it for the
8	    one command line.
9	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 
10	    suppress comparison of a command without otherwise affecting it.
11	  o make.1: document that
12
132013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
14
15	* Makefile (MAKE_VERSION): 20130321
16	  yes, not quite right but its a cooler number.
17	  Merge with NetBSD make, pick up
18	  o parse.c: fix ParseGmakeExport to be portable 
19	    and add a unit-test.
20	* meta.c: call meta_init() before makefiles are read and if built
21	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
22	  this let's makefiles test for support.
23	  Call meta_mode_init() to process .MAKE.MODE.
24
252013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
26
27	* Makefile (MAKE_VERSION): 20130305
28	  Merge with NetBSD make, pick up
29	  o run .STALE: target when a dependency from .depend is missing.
30	  o job.c: add Job_RunTarget() for the above and .BEGIN
31
322013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
33
34	* Makefile (MAKE_VERSION): 20130303
35	  Merge with NetBSD make, pick up
36	  o main.c: set .MAKE.OS to utsname.sysname
37	  o job.c: more checks for read and poll errors
38	  o var.c: lose VarChangeCase() saves 4% time
39
402013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
41
42	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
43	  want to use MAKEOBJDIR
44
452013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
46
47	* Merge with NetBSD make, pick up
48	  o make.1: more info on how shell commands are handled.
49	  o job.c,main.c: detect write errors to job pipes.
50
512013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
52
53	* Makefile (MAKE_VERSION): 20130123
54	  Merge with NetBSD make, pick up
55	  o meta.c: if script uses .OODATE and meta_oodate() decides
56	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
57	  o var.c: in debug output indicate which variabale modifiers
58	    apply to.
59	  o remove Check_Cwd logic the makefiles have been fixed.
60	
612012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
62
63	* makefile.in: add a simple makefile for folk who insist on
64	  ./configure; make; make install
65	  it just runs boot-strap
66	* include mk/* to accommodate the above
67	* boot-strap:  re-work to accommodate the above
68	  mksrc defaults to $Mydir/mk
69	  allow op={configure,build,install,clean,all}
70	  add options to facilitate install
71	* Makefile.config.in: just the bits set by configure
72	* Makefile: bump version to 20121212
73	  abandon Makefile.in (NetBSD Makefile)
74	  leverage mk/* instead
75	* configure.in: ensure srcdir is absolute
76
772012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
78
79	* Makefile.in (MAKE_VERSION): 20121111
80	  fix generation of bmake.cat1
81
822012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
83
84	* Makefile.in (MAKE_VERSION): 20121109
85	  Merge with NetBSD make, pick up
86	  o make.c: MakeBuildChild: return 0 so search continues if a
87	    .ORDER dependency is detected.
88	  o unit-tests/order: test the above
89	
902012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
91
92	* Makefile.in (MAKE_VERSION): 20121102
93	  Merge with NetBSD make, pick up
94	  o cond.c: allow cond_state[] to grow.
95	    In meta mode with a very large tree, we can hit the limit
96	    while processing dirdeps.
97	
982012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
99
100	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
101
1022012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
103
104	* Makefile.in (MAKE_VERSION): 20121010
105	  o protect syntax that only bmake parses correctly.
106	  o remove auto setting of FORCE_MACHINE, use configure's
107	    --with-force-machine=whatever if that is desired.
108	
1092012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
110
111	* Makefile.in: do not lose history from make.1 when generating bmake.1
112
1132012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
114
115	* Makefile.in (MAKE_VERSION): 20121007
116	  Merge with NetBSD make, pick up
117	  o compat.c: ignore empty commands - same as jobs mode.
118	  o make.1: document meta chars that cause use of shell
119
1202012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
121
122	* Makefile.in (MAKE_VERSION): bump version to 20120911
123	* bsd.after-import.mk: include Makefile.inc early and allow it to
124	  override PROG
125
1262012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
127
128	* Makefile.in (MAKE_VERSION): bump version to 20120831
129	  Merge with NetBSD make, pick up
130	  o cast sizeof() to int for comparison
131	  o minor make.1 tweak
132
1332012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
134
135	* Makefile.in (MAKE_VERSION): bump version to 20120830
136	  Merge with NetBSD make, pick up
137	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
138	  o debug flag -dV causes -V to show raw value regardless.
139	
1402012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
141
142	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
143	  gets SRCTOP set.
144
1452012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
146
147	* Makefile.in (MAKE_VERSION): bump version to 20120704
148	  Merge with NetBSD make, pick up
149	  o Job_ParseShell should call Shell_Init if it has been
150	    previously called.
151	* Makefile.in: set USE_META based on configure result.
152	  also .PARSEDIR is safer indicator of bmake.
153
1542012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
155
156	* Makefile.in: bump version to 20120626
157	  ensure CPPFLAGS is in CFLAGS
158	* meta.c: avoid nested externs
159	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
160	
1612012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
162
163	* Makefile.in (MAKE_VERSION): bump version to 20120620
164	  Merge with NetBSD make, pick up
165	  o make_malloc.c: avoid including make_malloc.h again
166
167	* Makefile.in: avoid bmake only syntax or protect with
168	  .if defined(.MAKE.LEVEL)
169	* bsd.after-import.mk: replace .-include with .sinclude
170	  ensure? SRCTOP gets a value
171	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
172
1732012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
174
175	* Makefile.in (MAKE_VERSION): bump version to 20120612
176	  Merge with NetBSD make, pick up
177	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
178	    for greater portability.
179	  o unit-tests/forloop: check that .for works as expected wrt
180	    number of times and with "quoted strings".
181	
1822012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
183
184	* Makefile.in (MAKE_VERSION): bump version to 20120606
185	  Merge with NetBSD make, pick up
186	  o compat.c: use kill(2) rather than raise(3).
187	* configure.in: look for sys/dev/filemon
188	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
189	  and pass BOOTSTRAP_XTRAS to boot-strap.
190
1912012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
192
193	* Makefile.in (MAKE_VERSION): bump version to 20120604
194	  Merge with NetBSD make, pick up
195	  o util.c and var.c share same var for tracking if environ
196	    has been reallocated.
197	  o util.c provide getenv with setenv.
198	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
199	  when the shell actively strips .MAKE.* from the environment.
200	  We still refer to the variable always as .MAKE.LEVEL
201	* util.c fix bug in findenv() was finding prefix of name.
202	* compat.c: re-raising SIGINT etc after running .INTERRUPT
203	  results in more reliable termination of all activity on many
204	  platforms.
205
2062012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
207
208	* Makefile.in (MAKE_VERSION): bump version to 20120602
209	  Merge with NetBSD make, pick up
210	  o for.c: handle quoted items in .for list
211
2122012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
213
214	* Makefile.in (MAKE_VERSION): bump version to 20120530
215	  Merge with NetBSD make, pick up
216	  o compat.c: ignore empty command.
217
2182012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
219
220	* Makefile.in (MAKE_VERSION): bump version to 20120524
221	* FILES: add bsd.after-import.mk:
222	  A simple means of integrating bmake into a BSD build system.
223
2242012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
225
226	* Makefile.in (MAKE_VERSION): bump version to 20120520
227	  Merge with NetBSD make, pick up
228	  o increased limit for nested conditionals.
229	
2302012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
231
232	* Makefile.in (MAKE_VERSION): bump version to 20120518
233	  Merge with NetBSD make, pick up
234	  o use _exit(2) in signal hanlder
235	  o Don't use the [dir] cache when building nodes that might have
236	    changed since the last exec.
237	  o Avoid nested extern declaration warnings.
238
2392012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
240
241	* meta.c (fgetLine): avoid %z - not portable.
242	* parse.c: Since we moved include of sys/mman.h
243	  and def's of MAP_COPY etc. we got dups from a merge.
244
2452012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
246
247	* Makefile.in (MAKE_VERSION): bump version to 20120420
248	  Merge with NetBSD make, pick up
249	  o restore duplicate supression in .MAKE.MAKEFILES
250	    runtime saving can be significant.
251	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
252	    consumption up to 20%. 
253
2542012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
255
256	* Makefile.in (MAKE_VERSION): bump version to 20120420
257          Merge with NetBSD make, pick up
258	  o remove duplicate supression in .MAKE.MAKEFILES
259	  o improved dir cache behavior
260	  o gmake'ish export command
261	
2622012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
263
264	* Makefile.in (MAKE_VERSION): bump version to 20120325
265	  Merge with NetBSD make, pick up
266	  o fix parsing of :[#] in conditionals.
267
2682012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
269
270	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
271	  since some systems cannot cope with .Nx <version>
272
2732011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
274
275	* Makefile.in (MAKE_VERSION): bump version to 20111111
276	  Merge with NetBSD make, pick up
277	  o debug output for .PARSEDIR and .PARSEFILE
278
2792011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
280
281	* Makefile.in (MAKE_VERSION):  bump version to 20111010
282
2832011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
284
285	* boot-strap: check for an expected file in the dirs we look for.
286	* make-bootstrap.sh: pass on LDSTATIC
287
2882011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
289
290	* Makefile.in (MAKE_VERSION): bump version to 20111001
291	  Merge with NetBSD make, pick up
292	  o ensure .PREFIX is set for .PHONY
293	    and .TARGET set for .PHONY run via .END
294	  o __dead used consistently
295	
2962011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
297
298	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
299
3002011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
301
302	* Makefile.in (MAKE_VERSION): bump version to 20110905
303	  Merge with NetBSD make, pick up
304	  o meta_oodate: ignore makeDependfile
305	
3062011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
307
308	* Makefile.in (MAKE_VERSION): bump version to 20110828
309	  Merge with NetBSD make, pick up
310	  o silent=yes in .MAKE.MODE causes meta mode to mark targets 
311	    as SILENT if a .meta file is created
312
3132011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
314
315	* Makefile.in (MAKE_VERSION): bump version to 20110818
316	  Merge with NetBSD make, pick up
317	  o in meta mode, if target flagged .META a missing .meta file
318	    means target is out-of-date
319	  o fixes for gcc 4.5 warnings
320	  o simplify job printing code
321	
3222011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
323
324	* Makefile.in (MAKE_VERSION): bump version to 20110808
325	  Merge with NetBSD make, pick up
326	  o do not touch OP_SPECIAL targets when doing make -t
327	
3282011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
329
330	* Makefile.in (MAKE_VERSION): bump version to 20110622
331	  Merge with NetBSD make, pick up
332	  o meta_oodate detect corrupted .meta file and declare oodate.
333	* configure.in: add check for setsid
334	
3352011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
336
337	* Merge with NetBSD make, pick up
338	  o unit-tests/modts now works on MirBSD
339
3402011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
341
342	* Makefile.in (MAKE_VERSION): bump version to 20110606
343	  Merge with NetBSD make, pick up
344	  o ApplyModifiers: when we parse a variable which is not
345	    the entire modifier string, or not followed by ':', do not
346	    consider it as containing modifiers.
347	  o loadfile: ensure newline at end of mapped file.
348
3492011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
350
351	* Makefile.in (MAKE_VERSION): bump version to 20110505
352	  Merge with NetBSD make, pick up
353	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
354	    of make's control.  In meta mode, any generated file within
355	    said bailiwick, which  is found to be missing, causes current
356	    target to be out-of-date. 
357	
3582011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
359
360	* Makefile.in (MAKE_VERSION): bump version to 20110411
361	  Merge with NetBSD make, pick up
362	  o when long modifiers fail to match, check sysV style.
363	    - add a test case
364	
3652011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
366
367	* Makefile.in (MAKE_VERSION): bump version to 20110410
368	  Merge with NetBSD make, pick up
369	  o :hash - cheap 32bit hash of value
370	  o :localtime, :gmtime - use value as format string for strftime.
371	
3722011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
373
374	* Makefile.in (MAKE_VERSION): bump version to 20110330
375	  mostly because its a cooler version.
376	  Merge with NetBSD make, pick up
377	  o NetBSD tags for meta.[ch]
378	  o job.c call meta_job_finish() after meta_job_error().
379	  o meta_job_error() should call meta_job_finish() to ensure
380	    .meta file is closed, and safe to copy - if .ERROR target wants.
381	   meta_job_finish() is safe to call repeatedly.
382	
3832011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
384
385	* unit-tests/modts: use printf if it is a builtin, 
386	  to save us from MirBSD
387
388	* Makefile.in (MAKE_VERSION): bump version to 20110329
389	  Merge with NetBSD make, pick up
390	  o fix for use after free() in CondDoExists().
391	  o meta_oodate() report extra commands and return earlier.
392	
3932011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
394
395	* Makefile.in (MAKE_VERSION): bump version to 20110327
396	  Merge with NetBSD make, pick up
397	  o meta.c, if .MAKE.MODE contains curdirOk=yes
398	    allow creating .meta files in .CURDIR
399	* boot-strap (TOOL_DIFF): aparently at least on linux distro
400	  formats the output of 'type' differently - so eat any "()"
401
4022011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
403
404	* Makefile.in (MAKE_VERSION): bump version to 20110306
405	  Merge with NetBSD make, pick up
406	  o meta.c, only do getcwd() once
407	
4082011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
409
410	* Makefile.in (MAKE_VERSION): bump version to 20110305
411	  Merge with NetBSD make, pick up
412	  o correct sysV substitution handling of empty lhs and variable
413	  o correct exists() check for dir with trailing /
414	  o correct handling of modifiers for non-existant variables
415	    during evaluation of conditionals.
416	  o ensure MAP_FILE is defined.
417	  o meta.c use curdir[] now exported by main.c
418	
4192011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
420
421	* Makefile.in (MAKE_VERSION): bump version to 20110225
422	  Merge with NetBSD make, pick up
423	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
424	    makefiles have been read.
425	  o fix example of :? modifier in man page.
426	
4272011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
428
429	* Makefile.in (MAKE_VERSION): bump version to 20110214
430	  Merge with NetBSD make, pick up
431	  o meta.c handle realpath() failing when generating meta file
432	    name.
433
434	* sigcompat.c: convert to ansi so we can use higher warning levels.
435
436
4372011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
438
439	* Makefile.in (MAKE_VERSION): bump version to 20110207
440	  Merge with NetBSD make, pick up
441	  o fix for bug in meta mode.
442	
4432011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
444
445	* parse.c: SunOS 5.8 at least does not have MAP_FILE
446
4472011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
448
449	* Makefile.in (MAKE_VERSION): bump version to 20110101
450	  Merge with NetBSD make, pick up
451	  o use mmap(2) if available, for reading makefiles
452
4532010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
454
455	* Makefile.in (MAKE_VERSION): bump version to 20101215
456	  Merge with NetBSD make, pick up
457	  o ensure meta_job_error() does not report a previous .meta file
458	    as being culprit.
459
4602010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
461
462	* Makefile.in (MAKE_VERSION): bump version to 20101210
463	  Merge with NetBSD make, pick up
464	  o meta_oodate: track cwd per process, and only consider target
465	    out-of-date if missing file is outside make's CWD.
466	    Ignore files in /tmp/ etc.
467	  o to ensure unit-tests results match, need to control LC_ALL
468	    as well as LANG.
469	  o fix for parsing bug in var.c
470
4712010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
472
473	* Makefile.in (MAKE_VERSION): bump version to 20101126
474	  Merge with NetBSD make, pick up
475	  o if stale dependency is an IMPSRC, search via .PATH
476	  o meta_oodate: if a referenced file is missing, target is
477	    out-of-date.
478	  o meta_oodate: if a target uses .OODATE in its commands,
479	    it (.OODATE) needs to be recomputed.
480	  o keep a pointer to youngest child node, rather than just its
481	    mtime.
482	
4832010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
484
485	* Makefile.in (MAKE_VERSION): bump version to 20101101
486
4872010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
488
489	* machine.sh: like os.sh, 
490	allow for uname -p producing useless drivel
491
4922010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
493
494	* boot-strap: document configure knobs for meta and filemon.
495
496	* Makefile.in (MAKE_VERSION): bump version to 20100911
497	  Merge with NetBSD make, pick up
498	  o meta.c - meta mode
499
500	* make-bootstrap.sh.in: handle meta.c
501	* configure.in: add knobs for use_meta and filemon_h
502	  also, look for dirname, str[e]sep and strlcpy
503	* util.c: add simple err[x] and warn[x]
504
5052010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
506
507	* boot-strap (TOOL_DIFF): set this to ensure tests use
508	  the same version of diff that configure tested
509
510	* Makefile.in (MAKE_VERSION): bump version to 20100808
511	  Merge with NetBSD make, pick up
512	  o in jobs mode, when we discover we cannot make something,
513	    call PrintOnError before exit.
514	
5152010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
516
517	* Makefile.in (MAKE_VERSION): bump version to 20100806
518	  Merge with NetBSD make, pick up
519	  o formatting fixes for ignored errors
520	  o ensure jobs are cleaned up regardless of where wait() was called.
521
5222010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
523
524	* Makefile.in (MAKE_VERSION): bump version to 20100618
525	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
526
5272010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
528
529	* Makefile.in (MAKE_VERSION): bump version to 20100616
530	  Merge with NetBSD make, pick up
531	  o man page update
532	  o call PrintOnError from JobFinish when we detect an error we
533	    are not ignoring. 
534	
5352010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
536
537	* Makefile.in (MAKE_VERSION): bump version to 20100606
538	  Merge with NetBSD make, pick up
539	  o man page update
540
5412010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
542
543	* Makefile.in (MAKE_VERSION): bump version to 20100605
544	  Merge with NetBSD make, pick up
545	  o use bmake_signal() which is a wrapper around sigaction() 
546	    in place of signal()
547	  o add .export-env to allow exporting variables to environment
548	    without tracking (so no re-export when the internal value is
549	    changed).
550	
5512010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
552
553	* Makefile.in (MAKE_VERSION): bump version to 20100524
554	  Merge with NetBSD make, pick up
555	  o fix for .info et al being greedy.
556
5572010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
558
559	* Makefile.in (MAKE_VERSION): bump version to 20100520
560	  Merge with NetBSD make, pick up
561	  o back to using realpath on argv[0] 
562	    but only if contains '/' and does not start with '/'.
563
5642010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
565
566	* boot-strap: use absolute path for bmake when running tests.
567
568	* Makefile.in (MAKE_VERSION):  bump version to 20100510
569	  Merge with NetBSD make, pick up
570	  o revert use of realpath on argv[0]
571	    too many corner cases.
572	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
573
5742010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
575
576	* Makefile.in (MAKE_VERSION): bump version to 20100505
577	  Merge with NetBSD make, pick up
578	  o fix for missed SIGCHLD when compiled with SunPRO
579	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
580	    done the job.
581
5822010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
583
584	* Makefile.in (MAKE_VERSION): bump version to 20100430
585	  Merge with NetBSD make, pick up
586	  o fflush stdout before writing to stdout
587	
5882010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
589
590	* Makefile.in (MAKE_VERSION): bump version to 20100423
591	  Merge with NetBSD make, pick up
592	  o updated unit tests for Haiku (this time for sure).
593	* boot-strap: based on patch from joerg 
594	  honor --with-default-sys-path better.
595	* boot-strap: remove mention of --with-prefix-sys-path
596	
5972010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
598
599	* Makefile.in (MAKE_VERSION): bump version to 20100422
600	* Merge with NetBSD make, pick up
601	  o fix for vfork() on Darwin.
602	  o fix for bogus $TMPDIR.
603	  o set .MAKE.MODE=compat for -B
604	  o set .MAKE.JOBS=max_jobs for -j max_jobs
605	  o allow unit-tests to run without any *.mk
606	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
607	* boot-strap: ignore /usr/share/mk except on NetBSD.
608	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
609	  ensure sort(1) behaves as expected. 
610	
6112010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
612
613	* boot-strap: add FindHereOrAbove so we can use -m .../mk
614
6152010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
616
617	* Makefile.in (MAKE_VERSION): bump version to 20100420
618	* Merge with NetBSD make, pick up
619	  o fix for variable realpath() behavior.
620	    we have to stat(2) the result to be sure.
621	  o fix for .export (all) when nested vars use :sh
622	
6232010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
624
625	* Makefile.in (MAKE_VERSION): bump version to 20100414
626	* Merge with NetBSD make, pick up
627	  o use realpath to resolve argv[0] (for .MAKE) if needed.
628	  o add realpath from libc.
629	  o add :tA to resolve variable via realpath(3) if possible.
630
6312010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
632
633	* Makefile.in (MAKE_VERSION): bump version to 20100408
634	* Merge with NetBSD make, pick up
635	  o unit tests for .ERROR, .error
636	  o fix for .ERROR to ensure it cannot be default target.
637
6382010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
639
640	* Makefile.in (MAKE_VERSION): bump version to 20100406
641	* Merge with NetBSD make, pick up
642	  o fix for compat mode "Error code" going to debug_file.
643	  o fix for .ALLSRC being populated twice.
644	  o support for .info, .warning and .error directives
645	  o .MAKE.MODE to control make's operational mode
646	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
647	    name(s).
648	  o .MAKE.DEPENDFILE to control the name of the depend file
649	  o .ERROR target - run on failure.
650	
6512010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
652
653	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
654
655	* os.sh,arch.c: patch for Haiku from joerg at netbsd
656
6572010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
658
659	* Makefile.in (MAKE_VERSION): bump version to 20100222
660	* Merge with NetBSD make, pick up
661	  o better error msg for .for with mutiple inter vars
662	
663	* boot-strap: 
664	  o use make-bootstrap.sh from joerg at netbsd
665	    to avoid the need for a native make when bootstrapping.
666	  o add "" everywhere ;-)
667	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
668	    otherwise the pre-formated version.
669
6702010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
671
672	* Makefile.in (MAKE_VERSION): bump version to 20100102
673	* Merge with NetBSD make, pick up:
674	  o fix for -m .../
675
6762009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
677
678	* Makefile.in (MAKE_VERSION): bump version to 20091118
679	* Merge with NetBSD make, pick up:
680	  o .unexport
681	  o report lines that start with '.' and should have ':'
682	    (catch typo's of .el*if).
683	
6842009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
685
686	* configure.in: Ensure that srcdir and mksrc are absolute paths.
687
6882009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
689
690	* Makefile.in (MAKE_VERSION): fix version to 20091007
691
6922009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
693
694	* Makefile.in (MAKE_VERSION): bump version to 200910007
695	* Merge with NetBSD make, pick up:
696	  o fix for parsing of :S;...;...; applied to .for loop iterator
697	    appearing in a dependency line. 
698	
6992009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
700
701	* Makefile.in (MAKE_VERSION): bump version to 20090909
702	* Merge with NetBSD make, pick up:
703	  o fix for -C, .CURDIR and .OBJDIR
704	* boot-strap: 
705	  o allow share_dir to be set independent of prefix.
706	  o select default share_dir better when prefix ends in $HOST_TARGET
707	  o if FORCE_BSD_MK etc were set, include them in the suggested
708	    install-mk command.
709
7102009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
711
712	* Makefile.in (MAKE_VERSION): bump version to 20090908
713	* Merge with NetBSD make, pick up:
714	  o .MAKE.LEVEL for recursion tracking
715	  o fix for :M scanning \:
716
7172009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
718
719	* configure.in: Don't -D__EXTENSIONS__ if
720	AC_USE_SYSTEM_EXTENSIONS says "no".
721
7222009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
723
724	* Makefile.in (MAKE_VERSION): bump version to 20090826
725	Simplify MAKE_VERSION to just the bare date.
726	* Merge with NetBSD make, pick up:
727	  o -C directory support.
728	  o support for SIGINFO
729	  o use $TMPDIR for temp files.
730	  o child of vfork should be careful about modifying parent's state.
731	
732
7332009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
734
735	* Appy some patches for MiNT from David Brownlee
736
7372009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
738
739	* Makefile.in (BMAKE_VERSION): bump version to 20090222
740	* Merge with NetBSD make, pick up:
741	  o Possible null pointer de-ref in Var_Set.
742
7432009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
744
745	* Makefile.in (BMAKE_VERSION): bump version to 20090204
746	* Merge with NetBSD make, pick up:
747	  o bmake_malloc et al moved to their own .c
748	  o Count both () and {} when looking for the end of a :M pattern
749	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
750	  o strlist.c - functions for processing extendable arrays of pointers to strings.
751	  o ClientData replaced with void *, so const void * can be used.
752	  o New debug flag C for DEBUG_CWD
753
7542008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
755
756	* Makefile.in (BMAKE_VERSION): bump version to 20081111
757	  Apply patch from Joerg Sonnenberge to
758	  configure.in:
759	  o remove some redundant checks
760	  o check for emlloc etc only in libutil and require the whole family.
761	  util.c:
762	  o remove [v]asprintf which is no longer used.
763	
7642008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
765
766	* Makefile.in (BMAKE_VERSION): bump version to 20081101
767	* Merge with NetBSD make, pick up:
768	  o util.c: avoid use of putenv() - christos
769
7702008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
771
772	* Makefile.in (BMAKE_VERSION): bump version to 20081030
773	  pick up man page tweaks.
774
7752008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
776
777	* Makefile.in: move processing of LIBOBJS to after is definition!
778	  thus we'll have getenv.c in SRCS only if needed.
779
780	* make.1: add examples of how to use :?
781
782	* Makefile.in (BMAKE_VERSION): bump version to 20081029
783	* Merge with NetBSD make, pick up:
784	  o fix for .END processing with -j
785	  o segfault from Parse_Error when no makefile is open
786	  o handle numeric expressions in any variable expansion
787	  o debug output now defaults to stderr, -dF to change it - apb
788	  o make now uses bmake_malloc etc so that it can build natively 
789	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
790
7912008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
792
793	* Makefile.in (BMAKE_VERSION): bump version to 20080808
794	* Merge with NetBSD make, pick up:
795	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
796	    long lines in Makefiles 
797	  o optimizations for VarQuote by joerg
798	  o fix for PR/38756: dominik: make dumps core on invalid makefile
799	
8002008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
801
802	* Makefile.in (BMAKE_VERSION): bump version to 20080515
803	* Merge with NetBSD make, pick up:
804	  o fix skip setting vars in VAR_GLOBAL context, to handle
805	    cases where VAR_CMD is used for other than command line vars.
806
8072008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
808
809	* boot-strap (make_version): we may need to look in
810	$prefix/share/mk for sys.mk 
811
812	* Makefile.in (BMAKE_VERSION): bump version to 20080514
813	* Merge with NetBSD make, pick up:
814	  o skip setting vars in VAR_GLOBAL context, when already set in
815	  VAR_CMD which takes precedence.
816
8172008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
818
819	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
820	* Merge with NetBSD make, pick up:
821	  o fix for ?= when LHS contains variable reference.
822
8232008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
824
825	* merge some patches from NetBSD pkgsrc.
826	
827	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
828	the MAKSYSPATH used during bootstrap. 
829
830	* Makefile.in (BMAKE_VERSION): bump version to 20080215
831	* Merge with NetBSD make, pick up:
832	  o warn if non-space chars follow 'empty' in a conditional.
833
8342008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
835
836	* Makefile.in (BMAKE_VERSION): bump version to 20080118
837	* Merge with NetBSD make, pick up:
838	  o consider dependencies read from .depend as optional - dsl
839	  o remember when buffer for reading makefile grows - dsl
840	  o add -dl (aka LOUD) - David O'Brien
841
8422007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
843
844	* Makefile.in (BMAKE_VERSION): bump version to 20071022
845	* Merge with NetBSD make, pick up:
846	  o Allow .PATH<suffix> to be used for .include ""
847
848	* boot-strap: source default settings from .bmake-boot-strap.rc
849
8502007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
851
852	* Makefile.in: fix maninstall on various systems 
853	  provided that our man.mk is used.
854	  For non-BSD systems we install the preformatted page
855	  into $MANDIR/cat1
856
8572007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
858
859	* boot-strap: make bmake.1 too, so maninstall works.
860
8612007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
862
863	* Makefile.in (BMAKE_VERSION): bump version to 20071014
864	* Merge with NetBSD make, pick up:
865	  o revamped handling of defshell - configure no longer needs to
866	    know the content of the shells array - apb
867	  o stop Var_Subst modifying its input - apb
868	  o avoid calling ParseTrackInput too often - dsl
869
8702007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
871
872	* Makefile.in (BMAKE_VERSION): bump version to 20071011
873	* Merge with NetBSD make, pick up:
874	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
875
876	* sigcompat.c: some tweaks for HP-UX 11.x based on 
877	  patch from Tobias Nygren
878
879	* configure.in: update handling of --with-defshell to match
880	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
881	  will now do what one might hope - provided the chosen shell
882	  behaves enough like sh.
883
8842007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
885
886	* Makefile.in (BMAKE_VERSION): bump to 20071008
887	* Merge with NetBSD make, pick up:
888	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
889	  o .export/.MAKE.EXPORTED - export of variables - sjg
890	  o .MAKE.MAKEFILES - track all makefiles read - sjg
891	  o performance improvements - dsl
892	  o revamp parallel job scheduling - dsl
893	
8942006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
895
896	* Makefile.in (BMAKE_VERSION): bump to 20060728
897	* Merge with NetBSD make, pick up:
898	  o extra debug info during variable and cond processing - sjg
899	  o shell definition now covers newline - rillig
900	  o minor mem leak in PrintOnError - sjg
901
9022006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
903
904	* Makefile.in (BMAKE_VERSION):  bump to 20060511
905	* Merge with NetBSD make, pick up:
906	  o more memory leaks - coverity
907	  o possible overflow in ArchFindMember - coverity
908	  o extract variable modifier code out of Var_Parse()
909	    so it can be called recursively - sjg
910	  o unit-tests/moderrs - sjg
911
9122006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
913
914	* Makefile.in (BMAKE_VERSION): bump to 20060412
915	* Merge with NetBSD make, pick up:
916	  o fixes for some memory leaks - coverity
917	  o only read first sys.mk etc when searching sysIncPath - sjg
918
919	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
920	setting ${MAKEFILE} - OBATA Akio
921
9222006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
923
924	* Makefile.in (BMAKE_VERSION): bump to 20060318
925	* Merge with NetBSD make, pick up:
926	  o cleanup of job.c to remove remote handling, distcc is more
927	    useful and this code was likely bit-rotting - dsl
928	  o fix for :P modifier - sjg
929	* boot-strap: set default prefix to something reasonable 
930	  (for me anyway). 
931
9322006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
933
934	* Makefile.in (BMAKE_VERSION): bump to 20060301
935	* Merge with NetBSD make, pick up:
936	  o make .WAIT apply recursively, document and test case - apb
937	  o allow variable modifiers in a variable appear anywhere in
938	    modifier list, document and test case - sjg
939
9402006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
941
942	* Makefile.in (BMAKE_VERSION): bump to 20060222
943	* Merge with NetBSD make, pick up:
944	  o improved job token handling - dsl
945	  o SIG_DFL the correct signal before exec - dsl
946	  o more debug info during parsing - dsl
947	  o allow variable modifiers to be specified via variable - sjg
948	* boot-strap: explain why we died if no mksrc
949
9502005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
951
952	* Makefile.in (BMAKE_VERSION): bump to 20051105
953	* configure.in: always set default_sys_path 
954	  default is ${prefix}/share/mk
955	  - remove prefix_sys_path, anyone wanting more than above
956	    needs to set it manually.
957
9582005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
959
960	* boot-strap: make this a bit easier for pkgsrc folk.
961	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
962	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
963
9642005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
965
966	* Makefile.in (BMAKE_VERSION): bump to 20051102
967	* job.c (JobFinish): fix likely ancient merge lossage
968	fix from Todd Vierling.
969	* boot-strap (srcdir): allow setting mksrc=none
970
9712005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
972
973	* Makefile.in (BMAKE_VERSION): bump to 20051031
974	* ranlib.h: skip on OSF too.
975	  (NetBSD PR 31864)
976
9772005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
978
979	* Makefile.in (BMAKE_VERSION): bump to 20051002
980	  fix a silly typo
981
9822005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
983
984	* Makefile.in (BMAKE_VERSION): bump to 20051001
985	  support for UnixWare and some other systems,
986	  based on patches from pkgsrc/bootstrap
987
9882005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
989
990	* Makefile.in (BMAKE_VERSION): bump to 20050901
991	* Merge with NetBSD make, pick up:
992	  o possible parse error causing us to wander off.
993
9942005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
995
996	* Makefile.in (BMAKE_VERSION): bump to 20050606
997	* Merge with NetBSD make, pick up:
998	  o :0x modifier for randomizing a list
999	  o fixes for a number of -Wuninitialized issues.
1000
10012005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
1002
1003	* Makefile.in (BMAKE_VERSION): bump to 20050530
1004	* Merge with NetBSD make, pick up:
1005	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
1006
1007	* README: was seriously out of date.
1008	
10092005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
1010
1011	* Important to use .MAKE rather than MAKE.
1012
10132005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
1014
1015	* Makefile.in (BMAKE_VERSION): bump to 20050315
1016	* Merge with NetBSD make, pick up:
1017	  o don't mistake .elsefoo for .else
1018	  o use suffix-specific search path correctly
1019	  o bunch of style nits
1020
10212004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1022
1023	* boot-strap: 
1024	o ensure that args to --src and --with-mksrc
1025	  are resolved before giving them to configure.
1026	o add -o "objdir" so that builder can control it,
1027	  default is $OS as determined by os.sh
1028	o add -q to suppress all the install instructions.
1029
10302004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
1031
1032	* Remove __IDSTRING()
1033
1034	* Makefile.in (BMAKE_VERSION): bump to 20040508
1035	* Merge with NetBSD make, pick up:
1036	  o posix fixes
1037	    - remove '-e' from compat mode
1038	    - add support for '+' command-line prefix.
1039	  o fix for handling '--' on command-line.
1040	  o fix include in lst.lib/lstInt.h to simplify '-I's
1041	  o we also picked up replacement of MAKE_BOOTSTRAP 
1042	    with !MAKE_NATIVE which is a noop, but possibly confusing.
1043
10442004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
1045
1046	* Makefile.in (BMAKE_VERSION): bump to 20040414
1047	* Merge with NetBSD make, pick up:
1048	  o allow quoted strings on lhs of conditionals
1049	  o issue warning when extra .else is seen
1050	  o print line numer when errors encountered during parsing from
1051	  string.
1052
10532004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
1054
1055	* Makefile.in (BMAKE_VERSION):  bump to 20040220
1056	* Merge with NetBSD make, pick up:
1057	  o fix for old :M parsing bug.
1058	  o re-jigged unit-tests
1059
10602004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1061
1062	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1063	so that './bmake -f Makefile test' works.
1064	
10652004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
1066
1067	* Makefile.in: (BMAKE_VERSION): bump to 20040214
1068	* Merge with NetBSD make, pick up:
1069	  o search upwards for *.mk
1070	  o fix for double free of var substitution buffers
1071	  o use of getopt replaced with custom code, since the usage
1072	  (re-scanning) isn't posix compatible.
1073
10742004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
1075
1076	* arch.c: don't include ranlib.h on ELF systems
1077	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1078
10792004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1080
1081	* Makefile.in (BMAKE_VERSION): bump to 20040118
1082
1083	* boot-strap (while): export vars we assign to on cmdline
1084	* unit-test/Makefile.in: ternary is .PHONY
1085
10862004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
1087
1088	* Makefile.in (BMAKE_VERSION): bump version to 20040108
1089	* Merge with NetBSD make, pick up:
1090	  o fix for ternary modifier
1091
10922004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
1093
1094	* Makefile.in (BMAKE_VERSION): bump version to 20040105
1095	* Merge with NetBSD make, pick up:
1096	  o fix for cond.c to handle compound expressions better
1097	  o variable expansion within sysV style replacements
1098	  
10992003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
1100
1101	* Make portable snprintf safer - output to /dev/null first to
1102	check space needed.
1103
1104	* Makefile.in (BMAKE_VERSION): bump version to 20031222
1105	* Merge with NetBSD make, pick up:
1106	  o -dg3 to show input graph when things go wrong.
1107	  o explicitly look for makefiles in objdir if not found in curdir so
1108	    that errors in .depend etc will be reported accurarely. 
1109	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1110	    instead as it more accurately reflects the expected behavior and
1111	    is more consistently implemented.
1112	  o avoid use of asprintf.
1113
11142003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
1115
1116	* util.c: Add asprintf and vasprintf.
1117
1118	* Makefile.in (BMAKE_VERSION): bump version to 20030928
1119	* Merge with NetBSD make, pick up:
1120	:[] modifier - allows picking words from a variable.
1121	:tW modifier - allows treating value as one big word.
1122	W flag for :C and :S - allows treating value as one big word.
1123	
11242003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
1125
1126	* Merge with NetBSD make
1127	pick up -de flag to enable printing failed command.
1128	don't skip 1st two dir entries (normally . and ..) since
1129	coda does not have them.
1130
11312003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1132
1133	* Makefile.in (BMAKE_VERSION): bump version to 20030909
1134	* Merge with NetBSD make, pick up:
1135	- changes for -V '${VAR}' to print fully expanded value
1136	  cf. -V VAR
1137	- CompatRunCommand now prints the command that failed.
1138	- several files got updated 3 clause Berkeley license.
1139	
11402003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
1141
1142	* boot-strap: Allow setting configure args on command line.
1143
11442003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
1145
1146	* configure.in: add --with-defshell to allow sh or ksh
1147	to be selected as default shell.
1148
1149	* Makefile.in: bump version to 20030731
1150
1151	* Merge with NetBSD make 
1152	Pick up .SHELL spec for ksh and associate man page changes.
1153	Also compat mode now uses the same shell specs.
1154
11552003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
1156
1157	* var.c (Var_Parse): ensure delim is initialized.
1158
1159	* unit-tests/Makefile.in: use single quotes to avoid problems from
1160	some shells.
1161
1162	* makefile.boot.in:
1163	Run the unit-tests as part of the bootstrap procedure.
1164
11652003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1166
1167	* unit-tests/Makefile.in: always force complaints from
1168	${TEST_MAKE} to be from 'make'.
1169
1170	* configure.in: add check for 'diff -u'
1171	also fix some old autoconf'isms
1172	
1173	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
1174	if using GCC add -Wno-cast-qual to CFLAGS for var.o
1175
1176	* Merge with NetBSD make
1177	Pick up fix for :ts parsing error in some cases.
1178	Pick unit-tests.
1179
11802003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
1181
1182	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
1183
1184	* var.c (Var_Parse): fix bug in :ts modifier, after const
1185	correctness fixes, must pass nstr to VarModify.
1186
11872003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
1188
1189	* Makefile.in: BMAKE_VERSION switch to a date based version.
1190	We'll generally use the date of last import from NetBSD.
1191
1192	* Merge with NetBSD make
1193	Pick up fixes for const-correctness, now passes WARNS=3 on
1194	NetBSD.
1195	Pick up :ts modifier, allows controlling the separator used
1196	between words in variable expansion.
1197
11982003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
1199
1200	* FILES: include boot-strap and os.sh
1201
1202	* Makefile.in: only set WARNS if we are NetBSD, the effect on
1203	FreeBSD is known to be bad.
1204
1205	* makefile.boot.in (bootstrap): make this the default target.
1206
1207	* Makefile.in: bump version to 3.1.19
1208
1209	* machine.sh: avoid A-Z with tr as it is bound to lose.
1210
12112003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
1212
1213	* Merge with NetBSD make
1214	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1215	Plus some doc fixes.
1216	
12172003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
1218
1219	* Merge with NetBSD make
1220	Pick up fix for PR/1523 - don't count a library as built, if there
1221	is no way to build it 
1222
1223	* Bump version to 3.1.18
1224
12252003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
1226
1227	* Merge with NetBSD make
1228	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1229	appears in src list.
1230
12312003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
1232
1233	* Merge with NetBSD make (mmm 10th anniversary!)
1234	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1235	pick up -X which tells us to not export VAR=val via setenv if
1236	we are already doing so via MAKEFLAGS.  This saves valuable env
1237	space on systems like Darwin.
1238	set MAKE_VERSION to 3.1.17
1239
1240	* parse.c: pix up fix for suffix rules
1241
12422003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
1243
1244	* Merge with NetBSD make.
1245	pick up fix for propagating -B via MAKEFLAGS.
1246	set MAKE_VERSION to 3.1.16
1247
1248	* Apply some patches from pkgsrc-bootstrap/bmake
1249	Originally by Grant Beattie <grant@netbsd.org>
1250	I may have missed some - since they are based on bmake-3.1.12
1251	
12522002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
1253
1254	* makefile.boot.in (bmake): update install targets for those that
1255	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1256	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
1257
1258	* bmake.cat1: update the pre-formatted man page!
1259
12602002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
1261
1262	* Merge with NetBSD make.
1263	pick up fix for premature free of pointer used in call
1264	to Dir_InitCur().
1265	set MAKE_VERSION to 3.1.15
1266
12672002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
1268
1269	* configure.in: determine suitable value for MKSRC.
1270	override using --with-mksrc=PATH.
1271
1272	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1273	configs(8) will use 'sun4' as an alias for 'sparc'.
1274
12752002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
1276
1277	* Merge with NetBSD make.
1278	pick up ${.PATH}
1279	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1280	set MAKE_VERSION to 3.1.14
1281	add configure checks for killpg and sys/socket.h
1282
12832002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
1284
1285	* tag bmake-3-1-13
1286	
1287	* makefile.boot.in (bmake): use install-mk
1288	Also setup ./mk before trying to invoke bmake.boot incase we
1289	needed install-mk to create a sys.mk for us. 
1290
1291	* configure.in: If we need to add -I${srcdir}/missing, make it an
1292	absolute path so that it works for lst.lib too.
1293
1294	* make.h: always include sys/cdefs.h since we provide one if the
1295	host does not.
1296	
1297	* Makefile.in (install-mk): 
1298	use MKSRC/install-mk which will do the right thing.
1299	use uname -p for ARCH if possible.
1300	since install-mk will setup links bsd.prog.mk -> prog.mk if
1301	needed, just .include bsd.prog.mk
1302
1303	* Merge with NetBSD make (NetBSD-1.6)
1304	Code is ansi-C only now.
1305	Bug in handling of dotLast is fixed.
1306	Can now assign .OBJDIR and make will reset its notions of life.
1307	New modifiers :tu :tl for toUpper and toLower.
1308
1309Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1310
1311	* Merge with NetBSD make
1312	pick up fix for .END failure in compat mode.
1313	pick up fix for extra va_end() in ParseVErrorInternal.
1314
1315Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1316
1317	* configure.in: for systems that have sys/cdefs.h check if it is
1318	compatible.  If not, include the one under missing, but tell it to
1319	include the native one too - necessary on Linux.
1320
1321	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1322	include_next (for gcc) to get the native sys/cdefs.h
1323
1324Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1325
1326	* job.c (JobFinish): Fix an earlier merge bug that resulted in
1327	leaking descriptors when using -jN.
1328	
1329	* job.c (JobPrintCommand): See if "curdir" exists before
1330	attempting to chdir().  Doing the chdir directly in make (when in
1331	compat mode) fails silently, so let the -jN version do the same.
1332	This can happen when building kernels in an object tree and
1333	playing clever games to reset .CURDIR.
1334
1335	* Merged with NetBSD make
1336	pick up .USEBEFORE
1337
1338Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1339
1340	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1341
1342Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1343
1344	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1345	us not to export the iterator variable when using VAR_CMD context.
1346
1347Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1348
1349	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1350	its the wrong "fix".
1351
1352Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1353
1354	* Redesigned export of VAR_CMD's via MAKEFLAGS.
1355	We now simply append the variable names to .MAKEOVERRIDES, and
1356	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1357	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1358	Apart from fixing quoting bugs in previous version, this allows us
1359	to export vars to the environment by simply doing:
1360	.MAKEOVERRIDES+= PATH 
1361	Merged again with NetBSD make, but the above is the only change.
1362
1363	* configure.in: added
1364	--disable-pwd-override		disable $PWD overriding getcwd()
1365	--disable-check-make-chdir	disable make trying to guess 
1366		when it should automatically cd ${.CURDIR}
1367
1368	* Merge with NetBSD make, changes include:
1369	parse.c (ParseDoDependency): Spot that the syntax error is
1370	caused by an unresolved cvs/rcs conflict and say so.
1371	var.c: most of Var* functions now take a ctxt as 1st arg.
1372	now does variable substituion on rhs of sysv style modifiers.
1373	
1374	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
1375	is now done here.  We append the name='value' to .MAKEOVERRIDES
1376	rather than directly into MAKEFLAGS as this allows a Makefile to
1377	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
1378	very similar mechanism.  Note that in adding name='value' to
1379	.MAKEOVERRIDES we do the moral equivalent of:
1380	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1381
1382Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1383
1384	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1385
1386	* Merged with NetBSD make
1387	make -dx can now be used to run commands via sh -x
1388	better error messages on exec failures.
1389
1390Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1391
1392	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1393	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
1394	MACHINE etc otherwise they propagate from the previous bmake.
1395
1396	* configure.in (machine): allow --with-machine=generic to make
1397	configure use machine.sh to set MACHINE. 
1398
1399	* job.c (JobInterrupt): convert to using WAIT_T and friends.
1400
1401	* Makefile.in: mention in bmake.1 that we use autoconf.
1402
1403	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1404
1405Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1406
1407	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1408	as that rather defeats the usefulness of ${MAKEFILE}.
1409
1410	* main.c (MainParseArgs): append command line variable assignments
1411	to MAKEFLAGS so that they get propagated to child make's.
1412	Apparently this is required POSIX behaviour?  Its useful anyway.
1413
1414Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1415
1416	* compat.c (CompatRunCommand): don't use perror() since stdio may
1417	cause problems in child of vfork().
1418
1419	* compat.c, main.c: Call PrintOnError() when we are going to bail.
1420	This routine prints out the .curdir where we stopped and will also
1421	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1422
1423	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
1424	:@ expansion.
1425
1426	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
1427
1428	* Added RCSid's for the files we've touched.
1429	
1430Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1431
1432	* configure.in:	Thanks to some clues from mdb@juniper.net,
1433	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1434	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
1435
1436  --with-machine=MACHINE  explicitly set MACHINE
1437  --with-force-machine=MACHINE  set FORCE_MACHINE
1438  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
1439  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
1440  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
1441  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
1442 	
1443	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1444
1445	* makefile: added a pathetically simple makefile to drive
1446	bootstrapping.  Running configure by hand is more useful.
1447
1448	* Makefile.in: added MAKE_VERSION, and reworked things to be less
1449	dependent on NetBSD bsd.*.mk
1450	
1451	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1452	_PATH_OBJDIRPREFIX for those that don't want a default.
1453	construct _PATH_DEFSYSPATH from the info we get from configure.
1454
1455	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1456	if MAKE_VERSION is defined.
1457	
1458	* compat.c: when we bail, print out the .CURDIR we were in.
1459	
1460Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1461
1462	* Merged with NetBSD make
1463
1464	* var.c: fixed a bug in the handling of the modifier :P
1465	if the node as found but the path was null, we segfault trying to
1466	duplicate it.
1467
1468Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1469
1470	* Merged with NetBSD make
1471	
1472	* make.c: Make_OODate's test for a library out of date was using
1473	cmtime where it should have used mtime (my bug).
1474
1475	* compat.c: Use perror() to tell us what really went wrong when we
1476	cannot exec a command.
1477	
1478Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1479
1480	* Merged with NetBSD make
1481	
1482Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1483
1484	* Merged with NetBSD make
1485	
1486Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1487
1488	* Merged with NetBSD make
1489	
1490Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1491
1492	* Merged with NetBSD make
1493	
1494Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1495
1496	* util.c: don't provide signal() since we use sigcompat.c
1497
1498	* Makefile.in: added a build target.
1499
1500	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
1501	These allow some quite clever magic.
1502
1503	* main.c (main): added support for getenv(MAKESYSPATH).
1504
1505Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1506
1507	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
1508	This avoids objdir having a different value depending on how a
1509	directory was reached (via command line, or subdir.mk).
1510
1511	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
1512	
1513Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1514
1515	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
1516	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
1517	I've been testing this in NetBSD's make for some weeks.
1518
1519	* Turn Makefile into Makefile.in and make it useful.
1520	
1521Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
1522
1523	* Imported NetBSD's -current make(1) and resolve conflicts.
1524	
1525	* Applied autoconf patches from bmake v2
1526
1527	* Imported clean code base from NetBSD-1.0
1528