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