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