xref: /freebsd/contrib/bmake/ChangeLog (revision e3514747256465c52c3b2aedc9795f52c0d3efe9)
12017-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2
3	* Makefile (_MAKE_VERSION): 20170420
4	  Merge with NetBSD make, pick up
5	  o main.c: only use -C arg "as is" if it contains no
6	    relative component.
7
82017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
9
10	* Makefile (_MAKE_VERSION): 20170418
11	  Merge with NetBSD make, pick up
12	  o main.c: fix Main_SetObjdir() for relative paths (eg obj).
13
142017-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
15
16	* Makefile (_MAKE_VERSION): 20170417
17	  Merge with NetBSD make, pick up
18	  o fixes a number of coverity complaints
19	    - check return value of fseek, fcntl
20	    - plug memory leak in Dir_FindFile, Var_LoopExpand,
21	      JobPrintCommand, ParseTraditionalInclude
22	    - use bmake_malloc() where NULL is not tollerated
23	    - use MAKE_ATTR_UNUSED rather that kludges like
24	      return(unused ? 0 : 0)
25	    - use purge_cached_realpaths() rather than abuse cached_realpath()
26
272017-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
28
29	* Makefile (_MAKE_VERSION): 20170413
30	  Merge with NetBSD make, pick up
31	  o main.c: when setting .OBJDIR ignore '$' in paths.
32
33	* job.c: use MALLOC_OPTIONS to set malloc_options.
34
352017-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
36
37	* Makefile (_MAKE_VERSION): 20170411
38	  Merge with NetBSD make, pick up
39	  o str.c: Str_Match: allow [^a-z] to behave as expected.
40
412017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
42
43	* Makefile (_MAKE_VERSION): 20170326
44	  Merge with NetBSD make, pick up
45	  o main.c: purge relative paths from realpath cache when .OBJDIR
46	    is changed.
47
482017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
49
50	* Makefile (_MAKE_VERSION): 20170311
51	  Merge with NetBSD make, pick up
52          o main.c: only use -C arg "as is" if it starts with '/'.
53
542017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
55
56	* Makefile (_MAKE_VERSION): 20170301
57	  Merge with NetBSD make, pick up
58	  o main.c: use -C arg "as is" rather than getcwd()
59	    if they identify the same directory.
60	  o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
61
622017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
63
64	* Makefile (_MAKE_VERSION): 20170201
65	  Merge with NetBSD make, pick up
66	  o var.c: allow :_=var and avoid use of special context.
67
682017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
69
70	* Makefile (_MAKE_VERSION): 20170130
71	  Merge with NetBSD make, pick up
72	  o var.c: add :range and :_
73	  o main.c: partially initialize Dir_* before MainParseArgs()
74	    can be called.
75	    If -V, skip Main_ExportMAKEFLAGS()
76
772017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
78
79	* Makefile (_MAKE_VERSION): 20170114
80	  Merge with NetBSD make, pick up
81	  o var.c: allow specifying the utc value used by :{gm,local}time
82
832016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
84
85	* Makefile (_MAKE_VERSION): 20161212
86	  Merge with NetBSD make, pick up
87          o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
88
892016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
90
91	* Makefile (_MAKE_VERSION): 20161209
92	  Merge with NetBSD make, pick up
93	  o main.c: cleanup setting of .OBJDIR
94	  o parse.c: avoid coredump from (var)=val
95
962016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
97
98	* Makefile (_MAKE_VERSION): 20161126
99	  Merge with NetBSD make, pick up
100	  o make.c: Make_OODate: report src node name if path not set
101
1022016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
103
104	* Makefile (_MAKE_VERSION): 20160926
105	  Merge with NetBSD make, pick up
106	  o support for .DELETE_ON_ERROR: (remove targets that fail)
107
1082016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
109
110	* Makefile MAN: tweak .Dt to match ${PROG}
111
1122016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
113
114	* Makefile (_MAKE_VERSION): 20160818
115	  its a neater number; pick up whitespace fixes to man page.
116
1172016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
118
119	* Makefile (_MAKE_VERSION): 20160817
120	  Merge with NetBSD make, pick up
121	  o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
122	    so we can call it before adding entries to missingFiles.
123	    Thus we do not track files we have been told to ignore.
124
1252016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
126
127	* Makefile (_MAKE_VERSION): 20160815
128	  Merge with NetBSD make, pick up
129	  o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
130	    pathnames, and skip if the expansion is empty.
131	    Useful for dirdeps.mk when checking DIRDEPS_CACHE.
132
1332016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
134
135	* Makefile (_MAKE_VERSION): 20160812
136	  Merge with NetBSD make, pick up
137	  o meta.c: remove all missingFiles entries that match a deleted
138	    dir.
139	  o main.c: set .ERROR_CMD if possible.
140
1412016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
142
143	* Makefile (_MAKE_VERSION): 20160606
144	  Merge with NetBSD make, pick up
145	  o dir.c: extend mtimes cache to others via cached_stat()
146
1472016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
148
149	* Makefile (_MAKE_VERSION): 20160604
150	  Merge with NetBSD make, pick up
151	  o meta.c: missing filemon data is only relevant if we read a
152	    meta file.
153	    Also do not return oodate for a missing metafile if gn->path
154	    points to .CURDIR
155
1562016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
157
158	* Makefile (_MAKE_VERSION): 20160602
159	  Merge with NetBSD make, pick up
160	  o cached_realpath(): avoid hitting filesystem more than necessary.
161	  o meta.c: refactor need_meta decision, add knobs for
162	    missing meta file and filemon data wrt out-of-datedness.
163
1642016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
165
166	* Makefile (_MAKE_VERSION): 20160528
167
168	* boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
169
1702016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
171
172	* Makefile (_MAKE_VERSION): 20160512
173	  Merge with NetBSD make, pick up
174	  o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
175	    this is useful for gcov builds.
176	  o propagate errors from filemon(4).
177
1782016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
179
180	* Makefile (_MAKE_VERSION): 20160509
181	  Merge with NetBSD make, pick up
182	  o remove use of non-standard types u_int etc.
183	  o meta.c: apply realpath() before matching against metaIgnorePaths
184
1852016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
186
187	* Makefile (_MAKE_VERSION): 20160404
188	  Merge with NetBSD make, pick up
189	  o allow makefile to set .MAKE.JOBS
190
191	* Makefile (PROG_NAME): use ${_MAKE_VERSION}
192
1932016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
194
195	* Makefile (_MAKE_VERSION): 20160315
196	  Merge with NetBSD make, pick up
197	  o fix handling of archive members
198
1992016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
200
201	* Makefile (_MAKE_VERSION): rename variable to avoid interference
202	  with checks for ${MAKE_VERSION}
203
2042016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
205
206	* Makefile (MAKE_VERSION): 20160310
207	  Merge with NetBSD make, pick up
208	  o meta.c: treat missing Read file same as Write, incase we Delete it.
209
2102016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
211
212	* Makefile (MAKE_VERSION): 20160307
213	  Merge with NetBSD make, pick up
214	  o var.c: fix :ts\nnn to be octal by default.
215	  o meta.c: meta_finish() to cleanup memory.
216
2172016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
218
219	* Makefile (MAKE_VERSION): 20160226
220	  Merge with NetBSD make, pick up
221	  o meta.c: allow meta file for makeDepend if makefiles want it.
222
2232016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
224
225	* var.c: default .MAKE.SAVE_DOLLARS to FALSE
226	  for backwards compatability.
227
228	* Makefile (MAKE_VERSION): 20160220
229	  Merge with NetBSD make, pick up
230	  o var.c: add knob to control handling of '$$' in :=
231
2322016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
233
234	* Makefile (MAKE_VERSION): 20160218
235	  Merge with NetBSD make, pick up
236	  o var.c: add .export-literal allows us to fix sys.clean-env.mk
237	    post the changes to Var_Subst.
238	    Var_Subst now takes flags, and does not consume '$$' in :=
239
2402016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
241
242	* Makefile (MAKE_VERSION): 20160217
243	  Merge with NetBSD make, pick up
244	  o var.c: preserve '$$' in :=
245	  o parse.c: add .dinclude for handling included
246	    makefile like .depend
247
2482015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
249
250	* Makefile (MAKE_VERSION): 20151220
251	  Merge with NetBSD make, pick up
252	  o suff.c: re-initialize suffNull when clearing suffixes.
253
2542015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
255
256	* Makefile (MAKE_VERSION): 20151201
257	  Merge with NetBSD make, pick up
258	  o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
259	  o meta.c: meta_oodate: use lstat(2) for checking link target
260	    in case it is a symlink.
261	  o var.c: avoid calling brk_string and Var_Export1 with empty
262	    strings.
263
2642015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
265
266	* Makefile (MAKE_VERSION): 20151126
267	  Merge with NetBSD make, pick up
268	  o parse.c: ParseTrackInput don't access beyond
269	    end of old value.
270
2712015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
272
273	* Makefile (MAKE_VERSION): 20151022
274
275	* Add support for BSD/OS which lacks inttypes.h
276	  and really needs sys/param.h for sys/sysctl.h
277	  also 'type' is not a shell builtin.
278
279	* var.c: eliminate uint32_t and need for inttypes.h
280
281	* main.c: PrintOnError flush stdout before run .ERROR
282
283	* parse.c: cope with _SC_PAGESIZE not being defined.
284
285
2862015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
287
288	* Makefile (MAKE_VERSION): 20151020
289	  Merge with NetBSD make, pick up
290	  o var.c: fix uninitialized var
291
2922015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
293
294	* var.c: the conditional expressions used with ':?' can be
295	expensive, if already discarding do not evaluate or expand
296	anything.
297
2982015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
299
300	* Makefile (MAKE_VERSION): 20151010
301	  Merge with NetBSD make, pick up
302	  o Add Boolean wantit flag to Var_Subst and Var_Parse
303	    when FALSE we know we are discarding the result and can
304	    skip operations like Cmd_Exec.
305
3062015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
307
308	* Makefile (MAKE_VERSION): 20151009
309	  Merge with NetBSD make, pick up
310	  o var.c: don't check for NULL before free()
311	  o meta.c: meta_oodate, do not hard code ignore of makeDependfile
312
3132015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
314
315	* Makefile (MAKE_VERSION): 20150910
316	  Merge with NetBSD make, pick up
317	  o main.c: with -w print Enter/Leaving messages for objdir too
318	    if necessary.
319	  o centralize shell metachar handling
320
321	* FILES: add metachar.[ch]
322
3232015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
324
325	* Makefile (MAKE_VERSION): 20150606
326	  Merge with NetBSD make, pick up
327	  o make.1: document .OBJDIR target
328
3292015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
330
331	* Makefile (MAKE_VERSION): 20150505
332	  Merge with NetBSD make, pick up
333	  o cond.c: be strict about lhs of comparison when evaluating .if
334	    but less so when called from variable expansion.
335	  o unit-tests/cond2.mk: test various error conditions
336
3372015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
338
339	* machine.sh (MACHINE): Add Bitrig
340	  patch from joerg@netbsd.org
341
3422015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
343
344	* Makefile (MAKE_VERSION): 20150418
345	  Merge with NetBSD make, pick up
346	  o job.c: use memmove() rather than memcpy()
347
348	* unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
349	  case, so skip it.
350
3512015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
352
353	* Makefile (MAKE_VERSION): 20150411
354	  bump version - only mk/ changes.
355
3562015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
357
358	* Makefile (MAKE_VERSION): 20150410
359	  Merge with NetBSD make, pick up
360	  o document different handling of '-' in jobs mode vs compat
361	  o fix jobs mode so that '-' only applies to whole job
362	    when shell lacks hasErrCtl
363	  o meta.c: use separate vars to track lcwd and latestdir (read)
364	    per process
365
3662015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
367
368	* Makefile (MAKE_VERSION): 20150401
369	  Merge with NetBSD make, pick up
370	  o meta.c: close meta file in child
371
372	* Makefile: use BINDIR.bmake if set.
373	  Same for MANDIR and SHAREDIR
374	  Handy for testing release candidates
375	  in various environments.
376
3772015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
378
379	* move initialization of savederr to block where it is used
380	  to avoid spurious warning from gcc5
381
3822014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
383
384	* Makefile (MAKE_VERSION): 20141111
385	  just a cooler number
386
3872014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
388
389	* Makefile (MAKE_VERSION): 20141105
390	  Merge with NetBSD make, pick up
391	  o revert major overhaul of suffix handling
392	    and POSIX compliance - too much breakage
393	    and impossible to make backwards compatible.
394	  o we still have the new unit test structure which is ok.
395	  o meta.c ensure "-- filemon" is at start of line.
396
3972014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
398
399	* configure.in: test that result of getconf PATH_MAX is numeric
400	  and discard if not.  Apparently needed for Hurd.
401
4022014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
403
404	* Makefile (MAKE_VERSION): 20140830
405	  Merge with NetBSD make, pick up
406	  o major overhaul of suffix handling
407	  o improved POSIX compliance
408	  o overhauled unit-tests
409
4102014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
411
412	* Makefile (MAKE_VERSION): 20140620
413	  Merge with NetBSD make, pick up
414	  o var.c return varNoError rather than var_Error for ::= modifiers.
415
4162014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
417
418	* Makefile (MAKE_VERSION): 20140522
419	  Merge with NetBSD make, pick up
420	  o var.c detect some parse errors.
421
4222014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
423
424	* Fix spelling errors - patch from Pedro Giffuni
425
4262014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
427
428	* Makefile (MAKE_VERSION): 20140214
429	  Merge with NetBSD make, pick up
430	  o .INCLUDEFROM*
431	  o use Var_Value to get MAKEOBJDIR[PREFIX]
432	  o reduced realloc'ign in brk_string.
433	* configure.in: add a check for compiler supporting __func__
434
4352014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
436
437	* boot-strap: ignore mksrc=none
438
4392014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
440
441	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
442
4432014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
444
445	* Makefile (MAKE_VERSION): 20140101
446	* configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
447	* Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
448	* make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
449	  Hurd)
450	* configure.in: Add AC_PREREQ and check for
451	  sysctl; patch from Andrew Shadura andrewsh at debian.org
452
4532013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
454
455	* Makefile (MAKE_VERSION): 20131010
456	* lose the const from arg to systcl to avoid problems on older BSDs.
457
4582013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
459
460	* Makefile (MAKE_VERSION): 20131001
461	  Merge with NetBSD make, pick up
462	  o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
463	    hw.machine_arch if necessary.
464	  o meta.c: meta_oodate - need to look at src of Link and target
465	    of Move as well.
466	* main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
467	  provide __arraycount() if needed.
468
4692013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
470
471	* Makefile (MAKE_VERSION): 20130904
472	  Merge with NetBSD make, pick up
473	  o Add VAR_INTERNAL context, so that internal setting of
474	    MAKEFILE does not override value set by makefiles.
475
4762013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
477
478	* Makefile (MAKE_VERSION): 20130902
479	  Merge with NetBSD make, pick up
480	  o CompatRunCommand: only apply shellErrFlag when errCheck is true
481
4822013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
483
484	* Makefile (MAKE_VERSION): 20130828
485	  Merge with NetBSD make, pick up
486	  o Fix VAR :sh = syntax from Will Andrews at freebsd.org
487	  o Call Job_SetPrefix() from Job_Init() so makefiles have
488	    opportunity to set .MAKE.JOB.PREFIX
489
4902013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
491
492	* Makefile (MAKE_VERSION): 20130730
493	  Merge with NetBSD make, pick up
494	  o Allow suppression of --- job -- tokens by setting
495	    .MAKE.JOB.PREFIX empty.
496
4972013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
498
499	* Makefile (MAKE_VERSION): 20130716
500	  Merge with NetBSD make, pick up
501	  o number of gmake compatibility tweaks
502	    -w for gmake style entering/leaving messages
503	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
504	    handle MAKEFLAGS containing only letters.
505	  o when overriding a GLOBAL variable on the command line,
506	    delete it from GLOBAL context so -V doesn't show the wrong
507	    value.
508
5092013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
510
511	* configure.in: We don't need MAKE_LEVEL_SAFE anymore.
512
513	* Makefile (MAKE_VERSION): 20130706
514	  Merge with NetBSD make, pick up
515	  o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
516	    true so that CompatRunCommand() can use it, to ensure
517	    consistent behavior with jobs mode.
518	  o use MAKE_LEVEL_ENV to define the variable to propagate
519	    .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
520	  o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
521	    paths to ignore.
522
5232013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
524
525	* Makefile (MAKE_VERSION): 20130604
526	  Merge with NetBSD make, pick up
527	  o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
528	    to avoid leaking descriptors.
529
5302013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
531
532	* Makefile (MAKE_VERSION): 20130528
533	  Merge with NetBSD make, pick up
534	  o var.c: cleanup some left-overs in VarHash()
535
5362013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
537
538	* Makefile (MAKE_VERSION): 20130520
539	  generate manifest from component FILES rather than have to
540	  update FILES when mk/FILES changes.
541
5422013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
543
544	* Makefile (MAKE_VERSION): 20130518
545	  Merge with NetBSD make, pick up
546	  o suff.c: don't skip all processsing for .PHONY targets
547	    else wildcard srcs do not get expanded.
548	  o var.c: expand name of variable to delete if necessary.
549
5502013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
551
552	* Makefile (MAKE_VERSION): 20130330
553	  Merge with NetBSD make, pick up
554	  o meta.c: refine the handling of .OODATE in commands.
555	    Rather than suppress command comparison for the entire script
556	    as though .NOMETA_CMP had been used, only suppress it for the
557	    one command line.
558	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
559	    suppress comparison of a command without otherwise affecting it.
560	  o make.1: document that
561
5622013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
563
564	* Makefile (MAKE_VERSION): 20130321
565	  yes, not quite right but its a cooler number.
566	  Merge with NetBSD make, pick up
567	  o parse.c: fix ParseGmakeExport to be portable
568	    and add a unit-test.
569	* meta.c: call meta_init() before makefiles are read and if built
570	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
571	  this let's makefiles test for support.
572	  Call meta_mode_init() to process .MAKE.MODE.
573
5742013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
575
576	* Makefile (MAKE_VERSION): 20130305
577	  Merge with NetBSD make, pick up
578	  o run .STALE: target when a dependency from .depend is missing.
579	  o job.c: add Job_RunTarget() for the above and .BEGIN
580
5812013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
582
583	* Makefile (MAKE_VERSION): 20130303
584	  Merge with NetBSD make, pick up
585	  o main.c: set .MAKE.OS to utsname.sysname
586	  o job.c: more checks for read and poll errors
587	  o var.c: lose VarChangeCase() saves 4% time
588
5892013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
590
591	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
592	  want to use MAKEOBJDIR
593
5942013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
595
596	* Merge with NetBSD make, pick up
597	  o make.1: more info on how shell commands are handled.
598	  o job.c,main.c: detect write errors to job pipes.
599
6002013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
601
602	* Makefile (MAKE_VERSION): 20130123
603	  Merge with NetBSD make, pick up
604	  o meta.c: if script uses .OODATE and meta_oodate() decides
605	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
606	  o var.c: in debug output indicate which variabale modifiers
607	    apply to.
608	  o remove Check_Cwd logic the makefiles have been fixed.
609
6102012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
611
612	* makefile.in: add a simple makefile for folk who insist on
613	  ./configure; make; make install
614	  it just runs boot-strap
615	* include mk/* to accommodate the above
616	* boot-strap:  re-work to accommodate the above
617	  mksrc defaults to $Mydir/mk
618	  allow op={configure,build,install,clean,all}
619	  add options to facilitate install
620	* Makefile.config.in: just the bits set by configure
621	* Makefile: bump version to 20121212
622	  abandon Makefile.in (NetBSD Makefile)
623	  leverage mk/* instead
624	* configure.in: ensure srcdir is absolute
625
6262012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
627
628	* Makefile.in (MAKE_VERSION): 20121111
629	  fix generation of bmake.cat1
630
6312012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
632
633	* Makefile.in (MAKE_VERSION): 20121109
634	  Merge with NetBSD make, pick up
635	  o make.c: MakeBuildChild: return 0 so search continues if a
636	    .ORDER dependency is detected.
637	  o unit-tests/order: test the above
638
6392012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
640
641	* Makefile.in (MAKE_VERSION): 20121102
642	  Merge with NetBSD make, pick up
643	  o cond.c: allow cond_state[] to grow.
644	    In meta mode with a very large tree, we can hit the limit
645	    while processing dirdeps.
646
6472012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
648
649	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
650
6512012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
652
653	* Makefile.in (MAKE_VERSION): 20121010
654	  o protect syntax that only bmake parses correctly.
655	  o remove auto setting of FORCE_MACHINE, use configure's
656	    --with-force-machine=whatever if that is desired.
657
6582012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
659
660	* Makefile.in: do not lose history from make.1 when generating bmake.1
661
6622012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
663
664	* Makefile.in (MAKE_VERSION): 20121007
665	  Merge with NetBSD make, pick up
666	  o compat.c: ignore empty commands - same as jobs mode.
667	  o make.1: document meta chars that cause use of shell
668
6692012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
670
671	* Makefile.in (MAKE_VERSION): bump version to 20120911
672	* bsd.after-import.mk: include Makefile.inc early and allow it to
673	  override PROG
674
6752012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
676
677	* Makefile.in (MAKE_VERSION): bump version to 20120831
678	  Merge with NetBSD make, pick up
679	  o cast sizeof() to int for comparison
680	  o minor make.1 tweak
681
6822012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
683
684	* Makefile.in (MAKE_VERSION): bump version to 20120830
685	  Merge with NetBSD make, pick up
686	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
687	  o debug flag -dV causes -V to show raw value regardless.
688
6892012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
690
691	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
692	  gets SRCTOP set.
693
6942012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
695
696	* Makefile.in (MAKE_VERSION): bump version to 20120704
697	  Merge with NetBSD make, pick up
698	  o Job_ParseShell should call Shell_Init if it has been
699	    previously called.
700	* Makefile.in: set USE_META based on configure result.
701	  also .PARSEDIR is safer indicator of bmake.
702
7032012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
704
705	* Makefile.in: bump version to 20120626
706	  ensure CPPFLAGS is in CFLAGS
707	* meta.c: avoid nested externs
708	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
709
7102012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
711
712	* Makefile.in (MAKE_VERSION): bump version to 20120620
713	  Merge with NetBSD make, pick up
714	  o make_malloc.c: avoid including make_malloc.h again
715
716	* Makefile.in: avoid bmake only syntax or protect with
717	  .if defined(.MAKE.LEVEL)
718	* bsd.after-import.mk: replace .-include with .sinclude
719	  ensure? SRCTOP gets a value
720	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
721
7222012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
723
724	* Makefile.in (MAKE_VERSION): bump version to 20120612
725	  Merge with NetBSD make, pick up
726	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
727	    for greater portability.
728	  o unit-tests/forloop: check that .for works as expected wrt
729	    number of times and with "quoted strings".
730
7312012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
732
733	* Makefile.in (MAKE_VERSION): bump version to 20120606
734	  Merge with NetBSD make, pick up
735	  o compat.c: use kill(2) rather than raise(3).
736	* configure.in: look for sys/dev/filemon
737	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
738	  and pass BOOTSTRAP_XTRAS to boot-strap.
739
7402012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
741
742	* Makefile.in (MAKE_VERSION): bump version to 20120604
743	  Merge with NetBSD make, pick up
744	  o util.c and var.c share same var for tracking if environ
745	    has been reallocated.
746	  o util.c provide getenv with setenv.
747	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
748	  when the shell actively strips .MAKE.* from the environment.
749	  We still refer to the variable always as .MAKE.LEVEL
750	* util.c fix bug in findenv() was finding prefix of name.
751	* compat.c: re-raising SIGINT etc after running .INTERRUPT
752	  results in more reliable termination of all activity on many
753	  platforms.
754
7552012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
756
757	* Makefile.in (MAKE_VERSION): bump version to 20120602
758	  Merge with NetBSD make, pick up
759	  o for.c: handle quoted items in .for list
760
7612012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
762
763	* Makefile.in (MAKE_VERSION): bump version to 20120530
764	  Merge with NetBSD make, pick up
765	  o compat.c: ignore empty command.
766
7672012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
768
769	* Makefile.in (MAKE_VERSION): bump version to 20120524
770	* FILES: add bsd.after-import.mk:
771	  A simple means of integrating bmake into a BSD build system.
772
7732012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
774
775	* Makefile.in (MAKE_VERSION): bump version to 20120520
776	  Merge with NetBSD make, pick up
777	  o increased limit for nested conditionals.
778
7792012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
780
781	* Makefile.in (MAKE_VERSION): bump version to 20120518
782	  Merge with NetBSD make, pick up
783	  o use _exit(2) in signal hanlder
784	  o Don't use the [dir] cache when building nodes that might have
785	    changed since the last exec.
786	  o Avoid nested extern declaration warnings.
787
7882012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
789
790	* meta.c (fgetLine): avoid %z - not portable.
791	* parse.c: Since we moved include of sys/mman.h
792	  and def's of MAP_COPY etc. we got dups from a merge.
793
7942012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
795
796	* Makefile.in (MAKE_VERSION): bump version to 20120420
797	  Merge with NetBSD make, pick up
798	  o restore duplicate supression in .MAKE.MAKEFILES
799	    runtime saving can be significant.
800	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
801	    consumption up to 20%.
802
8032012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
804
805	* Makefile.in (MAKE_VERSION): bump version to 20120420
806          Merge with NetBSD make, pick up
807	  o remove duplicate supression in .MAKE.MAKEFILES
808	  o improved dir cache behavior
809	  o gmake'ish export command
810
8112012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
812
813	* Makefile.in (MAKE_VERSION): bump version to 20120325
814	  Merge with NetBSD make, pick up
815	  o fix parsing of :[#] in conditionals.
816
8172012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
818
819	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
820	  since some systems cannot cope with .Nx <version>
821
8222011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
823
824	* Makefile.in (MAKE_VERSION): bump version to 20111111
825	  Merge with NetBSD make, pick up
826	  o debug output for .PARSEDIR and .PARSEFILE
827
8282011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
829
830	* Makefile.in (MAKE_VERSION):  bump version to 20111010
831
8322011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
833
834	* boot-strap: check for an expected file in the dirs we look for.
835	* make-bootstrap.sh: pass on LDSTATIC
836
8372011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
838
839	* Makefile.in (MAKE_VERSION): bump version to 20111001
840	  Merge with NetBSD make, pick up
841	  o ensure .PREFIX is set for .PHONY
842	    and .TARGET set for .PHONY run via .END
843	  o __dead used consistently
844
8452011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
846
847	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
848
8492011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
850
851	* Makefile.in (MAKE_VERSION): bump version to 20110905
852	  Merge with NetBSD make, pick up
853	  o meta_oodate: ignore makeDependfile
854
8552011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
856
857	* Makefile.in (MAKE_VERSION): bump version to 20110828
858	  Merge with NetBSD make, pick up
859	  o silent=yes in .MAKE.MODE causes meta mode to mark targets
860	    as SILENT if a .meta file is created
861
8622011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
863
864	* Makefile.in (MAKE_VERSION): bump version to 20110818
865	  Merge with NetBSD make, pick up
866	  o in meta mode, if target flagged .META a missing .meta file
867	    means target is out-of-date
868	  o fixes for gcc 4.5 warnings
869	  o simplify job printing code
870
8712011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
872
873	* Makefile.in (MAKE_VERSION): bump version to 20110808
874	  Merge with NetBSD make, pick up
875	  o do not touch OP_SPECIAL targets when doing make -t
876
8772011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
878
879	* Makefile.in (MAKE_VERSION): bump version to 20110622
880	  Merge with NetBSD make, pick up
881	  o meta_oodate detect corrupted .meta file and declare oodate.
882	* configure.in: add check for setsid
883
8842011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
885
886	* Merge with NetBSD make, pick up
887	  o unit-tests/modts now works on MirBSD
888
8892011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
890
891	* Makefile.in (MAKE_VERSION): bump version to 20110606
892	  Merge with NetBSD make, pick up
893	  o ApplyModifiers: when we parse a variable which is not
894	    the entire modifier string, or not followed by ':', do not
895	    consider it as containing modifiers.
896	  o loadfile: ensure newline at end of mapped file.
897
8982011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
899
900	* Makefile.in (MAKE_VERSION): bump version to 20110505
901	  Merge with NetBSD make, pick up
902	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
903	    of make's control.  In meta mode, any generated file within
904	    said bailiwick, which  is found to be missing, causes current
905	    target to be out-of-date.
906
9072011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
908
909	* Makefile.in (MAKE_VERSION): bump version to 20110411
910	  Merge with NetBSD make, pick up
911	  o when long modifiers fail to match, check sysV style.
912	    - add a test case
913
9142011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
915
916	* Makefile.in (MAKE_VERSION): bump version to 20110410
917	  Merge with NetBSD make, pick up
918	  o :hash - cheap 32bit hash of value
919	  o :localtime, :gmtime - use value as format string for strftime.
920
9212011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
922
923	* Makefile.in (MAKE_VERSION): bump version to 20110330
924	  mostly because its a cooler version.
925	  Merge with NetBSD make, pick up
926	  o NetBSD tags for meta.[ch]
927	  o job.c call meta_job_finish() after meta_job_error().
928	  o meta_job_error() should call meta_job_finish() to ensure
929	    .meta file is closed, and safe to copy - if .ERROR target wants.
930	   meta_job_finish() is safe to call repeatedly.
931
9322011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
933
934	* unit-tests/modts: use printf if it is a builtin,
935	  to save us from MirBSD
936
937	* Makefile.in (MAKE_VERSION): bump version to 20110329
938	  Merge with NetBSD make, pick up
939	  o fix for use after free() in CondDoExists().
940	  o meta_oodate() report extra commands and return earlier.
941
9422011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
943
944	* Makefile.in (MAKE_VERSION): bump version to 20110327
945	  Merge with NetBSD make, pick up
946	  o meta.c, if .MAKE.MODE contains curdirOk=yes
947	    allow creating .meta files in .CURDIR
948	* boot-strap (TOOL_DIFF): aparently at least on linux distro
949	  formats the output of 'type' differently - so eat any "()"
950
9512011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
952
953	* Makefile.in (MAKE_VERSION): bump version to 20110306
954	  Merge with NetBSD make, pick up
955	  o meta.c, only do getcwd() once
956
9572011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
958
959	* Makefile.in (MAKE_VERSION): bump version to 20110305
960	  Merge with NetBSD make, pick up
961	  o correct sysV substitution handling of empty lhs and variable
962	  o correct exists() check for dir with trailing /
963	  o correct handling of modifiers for non-existant variables
964	    during evaluation of conditionals.
965	  o ensure MAP_FILE is defined.
966	  o meta.c use curdir[] now exported by main.c
967
9682011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
969
970	* Makefile.in (MAKE_VERSION): bump version to 20110225
971	  Merge with NetBSD make, pick up
972	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
973	    makefiles have been read.
974	  o fix example of :? modifier in man page.
975
9762011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
977
978	* Makefile.in (MAKE_VERSION): bump version to 20110214
979	  Merge with NetBSD make, pick up
980	  o meta.c handle realpath() failing when generating meta file
981	    name.
982
983	* sigcompat.c: convert to ansi so we can use higher warning levels.
984
985
9862011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
987
988	* Makefile.in (MAKE_VERSION): bump version to 20110207
989	  Merge with NetBSD make, pick up
990	  o fix for bug in meta mode.
991
9922011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
993
994	* parse.c: SunOS 5.8 at least does not have MAP_FILE
995
9962011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
997
998	* Makefile.in (MAKE_VERSION): bump version to 20110101
999	  Merge with NetBSD make, pick up
1000	  o use mmap(2) if available, for reading makefiles
1001
10022010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1003
1004	* Makefile.in (MAKE_VERSION): bump version to 20101215
1005	  Merge with NetBSD make, pick up
1006	  o ensure meta_job_error() does not report a previous .meta file
1007	    as being culprit.
1008
10092010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1010
1011	* Makefile.in (MAKE_VERSION): bump version to 20101210
1012	  Merge with NetBSD make, pick up
1013	  o meta_oodate: track cwd per process, and only consider target
1014	    out-of-date if missing file is outside make's CWD.
1015	    Ignore files in /tmp/ etc.
1016	  o to ensure unit-tests results match, need to control LC_ALL
1017	    as well as LANG.
1018	  o fix for parsing bug in var.c
1019
10202010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1021
1022	* Makefile.in (MAKE_VERSION): bump version to 20101126
1023	  Merge with NetBSD make, pick up
1024	  o if stale dependency is an IMPSRC, search via .PATH
1025	  o meta_oodate: if a referenced file is missing, target is
1026	    out-of-date.
1027	  o meta_oodate: if a target uses .OODATE in its commands,
1028	    it (.OODATE) needs to be recomputed.
1029	  o keep a pointer to youngest child node, rather than just its
1030	    mtime.
1031
10322010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1033
1034	* Makefile.in (MAKE_VERSION): bump version to 20101101
1035
10362010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1037
1038	* machine.sh: like os.sh,
1039	allow for uname -p producing useless drivel
1040
10412010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1042
1043	* boot-strap: document configure knobs for meta and filemon.
1044
1045	* Makefile.in (MAKE_VERSION): bump version to 20100911
1046	  Merge with NetBSD make, pick up
1047	  o meta.c - meta mode
1048
1049	* make-bootstrap.sh.in: handle meta.c
1050	* configure.in: add knobs for use_meta and filemon_h
1051	  also, look for dirname, str[e]sep and strlcpy
1052	* util.c: add simple err[x] and warn[x]
1053
10542010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1055
1056	* boot-strap (TOOL_DIFF): set this to ensure tests use
1057	  the same version of diff that configure tested
1058
1059	* Makefile.in (MAKE_VERSION): bump version to 20100808
1060	  Merge with NetBSD make, pick up
1061	  o in jobs mode, when we discover we cannot make something,
1062	    call PrintOnError before exit.
1063
10642010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1065
1066	* Makefile.in (MAKE_VERSION): bump version to 20100806
1067	  Merge with NetBSD make, pick up
1068	  o formatting fixes for ignored errors
1069	  o ensure jobs are cleaned up regardless of where wait() was called.
1070
10712010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1072
1073	* Makefile.in (MAKE_VERSION): bump version to 20100618
1074	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1075
10762010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1077
1078	* Makefile.in (MAKE_VERSION): bump version to 20100616
1079	  Merge with NetBSD make, pick up
1080	  o man page update
1081	  o call PrintOnError from JobFinish when we detect an error we
1082	    are not ignoring.
1083
10842010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1085
1086	* Makefile.in (MAKE_VERSION): bump version to 20100606
1087	  Merge with NetBSD make, pick up
1088	  o man page update
1089
10902010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1091
1092	* Makefile.in (MAKE_VERSION): bump version to 20100605
1093	  Merge with NetBSD make, pick up
1094	  o use bmake_signal() which is a wrapper around sigaction()
1095	    in place of signal()
1096	  o add .export-env to allow exporting variables to environment
1097	    without tracking (so no re-export when the internal value is
1098	    changed).
1099
11002010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1101
1102	* Makefile.in (MAKE_VERSION): bump version to 20100524
1103	  Merge with NetBSD make, pick up
1104	  o fix for .info et al being greedy.
1105
11062010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1107
1108	* Makefile.in (MAKE_VERSION): bump version to 20100520
1109	  Merge with NetBSD make, pick up
1110	  o back to using realpath on argv[0]
1111	    but only if contains '/' and does not start with '/'.
1112
11132010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1114
1115	* boot-strap: use absolute path for bmake when running tests.
1116
1117	* Makefile.in (MAKE_VERSION):  bump version to 20100510
1118	  Merge with NetBSD make, pick up
1119	  o revert use of realpath on argv[0]
1120	    too many corner cases.
1121	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1122
11232010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1124
1125	* Makefile.in (MAKE_VERSION): bump version to 20100505
1126	  Merge with NetBSD make, pick up
1127	  o fix for missed SIGCHLD when compiled with SunPRO
1128	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
1129	    done the job.
1130
11312010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1132
1133	* Makefile.in (MAKE_VERSION): bump version to 20100430
1134	  Merge with NetBSD make, pick up
1135	  o fflush stdout before writing to stdout
1136
11372010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1138
1139	* Makefile.in (MAKE_VERSION): bump version to 20100423
1140	  Merge with NetBSD make, pick up
1141	  o updated unit tests for Haiku (this time for sure).
1142	* boot-strap: based on patch from joerg
1143	  honor --with-default-sys-path better.
1144	* boot-strap: remove mention of --with-prefix-sys-path
1145
11462010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1147
1148	* Makefile.in (MAKE_VERSION): bump version to 20100422
1149	* Merge with NetBSD make, pick up
1150	  o fix for vfork() on Darwin.
1151	  o fix for bogus $TMPDIR.
1152	  o set .MAKE.MODE=compat for -B
1153	  o set .MAKE.JOBS=max_jobs for -j max_jobs
1154	  o allow unit-tests to run without any *.mk
1155	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
1156	* boot-strap: ignore /usr/share/mk except on NetBSD.
1157	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
1158	  ensure sort(1) behaves as expected.
1159
11602010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1161
1162	* boot-strap: add FindHereOrAbove so we can use -m .../mk
1163
11642010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1165
1166	* Makefile.in (MAKE_VERSION): bump version to 20100420
1167	* Merge with NetBSD make, pick up
1168	  o fix for variable realpath() behavior.
1169	    we have to stat(2) the result to be sure.
1170	  o fix for .export (all) when nested vars use :sh
1171
11722010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1173
1174	* Makefile.in (MAKE_VERSION): bump version to 20100414
1175	* Merge with NetBSD make, pick up
1176	  o use realpath to resolve argv[0] (for .MAKE) if needed.
1177	  o add realpath from libc.
1178	  o add :tA to resolve variable via realpath(3) if possible.
1179
11802010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1181
1182	* Makefile.in (MAKE_VERSION): bump version to 20100408
1183	* Merge with NetBSD make, pick up
1184	  o unit tests for .ERROR, .error
1185	  o fix for .ERROR to ensure it cannot be default target.
1186
11872010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1188
1189	* Makefile.in (MAKE_VERSION): bump version to 20100406
1190	* Merge with NetBSD make, pick up
1191	  o fix for compat mode "Error code" going to debug_file.
1192	  o fix for .ALLSRC being populated twice.
1193	  o support for .info, .warning and .error directives
1194	  o .MAKE.MODE to control make's operational mode
1195	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1196	    name(s).
1197	  o .MAKE.DEPENDFILE to control the name of the depend file
1198	  o .ERROR target - run on failure.
1199
12002010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1201
1202	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1203
1204	* os.sh,arch.c: patch for Haiku from joerg at netbsd
1205
12062010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1207
1208	* Makefile.in (MAKE_VERSION): bump version to 20100222
1209	* Merge with NetBSD make, pick up
1210	  o better error msg for .for with mutiple inter vars
1211
1212	* boot-strap:
1213	  o use make-bootstrap.sh from joerg at netbsd
1214	    to avoid the need for a native make when bootstrapping.
1215	  o add "" everywhere ;-)
1216	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1217	    otherwise the pre-formated version.
1218
12192010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1220
1221	* Makefile.in (MAKE_VERSION): bump version to 20100102
1222	* Merge with NetBSD make, pick up:
1223	  o fix for -m .../
1224
12252009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
1226
1227	* Makefile.in (MAKE_VERSION): bump version to 20091118
1228	* Merge with NetBSD make, pick up:
1229	  o .unexport
1230	  o report lines that start with '.' and should have ':'
1231	    (catch typo's of .el*if).
1232
12332009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1234
1235	* configure.in: Ensure that srcdir and mksrc are absolute paths.
1236
12372009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1238
1239	* Makefile.in (MAKE_VERSION): fix version to 20091007
1240
12412009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
1242
1243	* Makefile.in (MAKE_VERSION): bump version to 200910007
1244	* Merge with NetBSD make, pick up:
1245	  o fix for parsing of :S;...;...; applied to .for loop iterator
1246	    appearing in a dependency line.
1247
12482009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1249
1250	* Makefile.in (MAKE_VERSION): bump version to 20090909
1251	* Merge with NetBSD make, pick up:
1252	  o fix for -C, .CURDIR and .OBJDIR
1253	* boot-strap:
1254	  o allow share_dir to be set independent of prefix.
1255	  o select default share_dir better when prefix ends in $HOST_TARGET
1256	  o if FORCE_BSD_MK etc were set, include them in the suggested
1257	    install-mk command.
1258
12592009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
1260
1261	* Makefile.in (MAKE_VERSION): bump version to 20090908
1262	* Merge with NetBSD make, pick up:
1263	  o .MAKE.LEVEL for recursion tracking
1264	  o fix for :M scanning \:
1265
12662009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1267
1268	* configure.in: Don't -D__EXTENSIONS__ if
1269	AC_USE_SYSTEM_EXTENSIONS says "no".
1270
12712009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
1272
1273	* Makefile.in (MAKE_VERSION): bump version to 20090826
1274	Simplify MAKE_VERSION to just the bare date.
1275	* Merge with NetBSD make, pick up:
1276	  o -C directory support.
1277	  o support for SIGINFO
1278	  o use $TMPDIR for temp files.
1279	  o child of vfork should be careful about modifying parent's state.
1280
1281
12822009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
1283
1284	* Appy some patches for MiNT from David Brownlee
1285
12862009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
1287
1288	* Makefile.in (BMAKE_VERSION): bump version to 20090222
1289	* Merge with NetBSD make, pick up:
1290	  o Possible null pointer de-ref in Var_Set.
1291
12922009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
1293
1294	* Makefile.in (BMAKE_VERSION): bump version to 20090204
1295	* Merge with NetBSD make, pick up:
1296	  o bmake_malloc et al moved to their own .c
1297	  o Count both () and {} when looking for the end of a :M pattern
1298	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1299	  o strlist.c - functions for processing extendable arrays of pointers to strings.
1300	  o ClientData replaced with void *, so const void * can be used.
1301	  o New debug flag C for DEBUG_CWD
1302
13032008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
1304
1305	* Makefile.in (BMAKE_VERSION): bump version to 20081111
1306	  Apply patch from Joerg Sonnenberge to
1307	  configure.in:
1308	  o remove some redundant checks
1309	  o check for emlloc etc only in libutil and require the whole family.
1310	  util.c:
1311	  o remove [v]asprintf which is no longer used.
1312
13132008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1314
1315	* Makefile.in (BMAKE_VERSION): bump version to 20081101
1316	* Merge with NetBSD make, pick up:
1317	  o util.c: avoid use of putenv() - christos
1318
13192008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1320
1321	* Makefile.in (BMAKE_VERSION): bump version to 20081030
1322	  pick up man page tweaks.
1323
13242008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
1325
1326	* Makefile.in: move processing of LIBOBJS to after is definition!
1327	  thus we'll have getenv.c in SRCS only if needed.
1328
1329	* make.1: add examples of how to use :?
1330
1331	* Makefile.in (BMAKE_VERSION): bump version to 20081029
1332	* Merge with NetBSD make, pick up:
1333	  o fix for .END processing with -j
1334	  o segfault from Parse_Error when no makefile is open
1335	  o handle numeric expressions in any variable expansion
1336	  o debug output now defaults to stderr, -dF to change it - apb
1337	  o make now uses bmake_malloc etc so that it can build natively
1338	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1339
13402008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
1341
1342	* Makefile.in (BMAKE_VERSION): bump version to 20080808
1343	* Merge with NetBSD make, pick up:
1344	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1345	    long lines in Makefiles
1346	  o optimizations for VarQuote by joerg
1347	  o fix for PR/38756: dominik: make dumps core on invalid makefile
1348
13492008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
1350
1351	* Makefile.in (BMAKE_VERSION): bump version to 20080515
1352	* Merge with NetBSD make, pick up:
1353	  o fix skip setting vars in VAR_GLOBAL context, to handle
1354	    cases where VAR_CMD is used for other than command line vars.
1355
13562008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
1357
1358	* boot-strap (make_version): we may need to look in
1359	$prefix/share/mk for sys.mk
1360
1361	* Makefile.in (BMAKE_VERSION): bump version to 20080514
1362	* Merge with NetBSD make, pick up:
1363	  o skip setting vars in VAR_GLOBAL context, when already set in
1364	  VAR_CMD which takes precedence.
1365
13662008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
1367
1368	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
1369	* Merge with NetBSD make, pick up:
1370	  o fix for ?= when LHS contains variable reference.
1371
13722008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1373
1374	* merge some patches from NetBSD pkgsrc.
1375
1376	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1377	the MAKSYSPATH used during bootstrap.
1378
1379	* Makefile.in (BMAKE_VERSION): bump version to 20080215
1380	* Merge with NetBSD make, pick up:
1381	  o warn if non-space chars follow 'empty' in a conditional.
1382
13832008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1384
1385	* Makefile.in (BMAKE_VERSION): bump version to 20080118
1386	* Merge with NetBSD make, pick up:
1387	  o consider dependencies read from .depend as optional - dsl
1388	  o remember when buffer for reading makefile grows - dsl
1389	  o add -dl (aka LOUD) - David O'Brien
1390
13912007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
1392
1393	* Makefile.in (BMAKE_VERSION): bump version to 20071022
1394	* Merge with NetBSD make, pick up:
1395	  o Allow .PATH<suffix> to be used for .include ""
1396
1397	* boot-strap: source default settings from .bmake-boot-strap.rc
1398
13992007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
1400
1401	* Makefile.in: fix maninstall on various systems
1402	  provided that our man.mk is used.
1403	  For non-BSD systems we install the preformatted page
1404	  into $MANDIR/cat1
1405
14062007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
1407
1408	* boot-strap: make bmake.1 too, so maninstall works.
1409
14102007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
1411
1412	* Makefile.in (BMAKE_VERSION): bump version to 20071014
1413	* Merge with NetBSD make, pick up:
1414	  o revamped handling of defshell - configure no longer needs to
1415	    know the content of the shells array - apb
1416	  o stop Var_Subst modifying its input - apb
1417	  o avoid calling ParseTrackInput too often - dsl
1418
14192007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
1420
1421	* Makefile.in (BMAKE_VERSION): bump version to 20071011
1422	* Merge with NetBSD make, pick up:
1423	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1424
1425	* sigcompat.c: some tweaks for HP-UX 11.x based on
1426	  patch from Tobias Nygren
1427
1428	* configure.in: update handling of --with-defshell to match
1429	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
1430	  will now do what one might hope - provided the chosen shell
1431	  behaves enough like sh.
1432
14332007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
1434
1435	* Makefile.in (BMAKE_VERSION): bump to 20071008
1436	* Merge with NetBSD make, pick up:
1437	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1438	  o .export/.MAKE.EXPORTED - export of variables - sjg
1439	  o .MAKE.MAKEFILES - track all makefiles read - sjg
1440	  o performance improvements - dsl
1441	  o revamp parallel job scheduling - dsl
1442
14432006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1444
1445	* Makefile.in (BMAKE_VERSION): bump to 20060728
1446	* Merge with NetBSD make, pick up:
1447	  o extra debug info during variable and cond processing - sjg
1448	  o shell definition now covers newline - rillig
1449	  o minor mem leak in PrintOnError - sjg
1450
14512006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1452
1453	* Makefile.in (BMAKE_VERSION):  bump to 20060511
1454	* Merge with NetBSD make, pick up:
1455	  o more memory leaks - coverity
1456	  o possible overflow in ArchFindMember - coverity
1457	  o extract variable modifier code out of Var_Parse()
1458	    so it can be called recursively - sjg
1459	  o unit-tests/moderrs - sjg
1460
14612006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
1462
1463	* Makefile.in (BMAKE_VERSION): bump to 20060412
1464	* Merge with NetBSD make, pick up:
1465	  o fixes for some memory leaks - coverity
1466	  o only read first sys.mk etc when searching sysIncPath - sjg
1467
1468	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
1469	setting ${MAKEFILE} - OBATA Akio
1470
14712006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
1472
1473	* Makefile.in (BMAKE_VERSION): bump to 20060318
1474	* Merge with NetBSD make, pick up:
1475	  o cleanup of job.c to remove remote handling, distcc is more
1476	    useful and this code was likely bit-rotting - dsl
1477	  o fix for :P modifier - sjg
1478	* boot-strap: set default prefix to something reasonable
1479	  (for me anyway).
1480
14812006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
1482
1483	* Makefile.in (BMAKE_VERSION): bump to 20060301
1484	* Merge with NetBSD make, pick up:
1485	  o make .WAIT apply recursively, document and test case - apb
1486	  o allow variable modifiers in a variable appear anywhere in
1487	    modifier list, document and test case - sjg
1488
14892006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
1490
1491	* Makefile.in (BMAKE_VERSION): bump to 20060222
1492	* Merge with NetBSD make, pick up:
1493	  o improved job token handling - dsl
1494	  o SIG_DFL the correct signal before exec - dsl
1495	  o more debug info during parsing - dsl
1496	  o allow variable modifiers to be specified via variable - sjg
1497	* boot-strap: explain why we died if no mksrc
1498
14992005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
1500
1501	* Makefile.in (BMAKE_VERSION): bump to 20051105
1502	* configure.in: always set default_sys_path
1503	  default is ${prefix}/share/mk
1504	  - remove prefix_sys_path, anyone wanting more than above
1505	    needs to set it manually.
1506
15072005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1508
1509	* boot-strap: make this a bit easier for pkgsrc folk.
1510	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1511	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1512
15132005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
1514
1515	* Makefile.in (BMAKE_VERSION): bump to 20051102
1516	* job.c (JobFinish): fix likely ancient merge lossage
1517	fix from Todd Vierling.
1518	* boot-strap (srcdir): allow setting mksrc=none
1519
15202005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
1521
1522	* Makefile.in (BMAKE_VERSION): bump to 20051031
1523	* ranlib.h: skip on OSF too.
1524	  (NetBSD PR 31864)
1525
15262005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
1527
1528	* Makefile.in (BMAKE_VERSION): bump to 20051002
1529	  fix a silly typo
1530
15312005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1532
1533	* Makefile.in (BMAKE_VERSION): bump to 20051001
1534	  support for UnixWare and some other systems,
1535	  based on patches from pkgsrc/bootstrap
1536
15372005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1538
1539	* Makefile.in (BMAKE_VERSION): bump to 20050901
1540	* Merge with NetBSD make, pick up:
1541	  o possible parse error causing us to wander off.
1542
15432005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
1544
1545	* Makefile.in (BMAKE_VERSION): bump to 20050606
1546	* Merge with NetBSD make, pick up:
1547	  o :0x modifier for randomizing a list
1548	  o fixes for a number of -Wuninitialized issues.
1549
15502005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
1551
1552	* Makefile.in (BMAKE_VERSION): bump to 20050530
1553	* Merge with NetBSD make, pick up:
1554	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
1555
1556	* README: was seriously out of date.
1557
15582005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
1559
1560	* Important to use .MAKE rather than MAKE.
1561
15622005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
1563
1564	* Makefile.in (BMAKE_VERSION): bump to 20050315
1565	* Merge with NetBSD make, pick up:
1566	  o don't mistake .elsefoo for .else
1567	  o use suffix-specific search path correctly
1568	  o bunch of style nits
1569
15702004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1571
1572	* boot-strap:
1573	o ensure that args to --src and --with-mksrc
1574	  are resolved before giving them to configure.
1575	o add -o "objdir" so that builder can control it,
1576	  default is $OS as determined by os.sh
1577	o add -q to suppress all the install instructions.
1578
15792004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
1580
1581	* Remove __IDSTRING()
1582
1583	* Makefile.in (BMAKE_VERSION): bump to 20040508
1584	* Merge with NetBSD make, pick up:
1585	  o posix fixes
1586	    - remove '-e' from compat mode
1587	    - add support for '+' command-line prefix.
1588	  o fix for handling '--' on command-line.
1589	  o fix include in lst.lib/lstInt.h to simplify '-I's
1590	  o we also picked up replacement of MAKE_BOOTSTRAP
1591	    with !MAKE_NATIVE which is a noop, but possibly confusing.
1592
15932004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
1594
1595	* Makefile.in (BMAKE_VERSION): bump to 20040414
1596	* Merge with NetBSD make, pick up:
1597	  o allow quoted strings on lhs of conditionals
1598	  o issue warning when extra .else is seen
1599	  o print line numer when errors encountered during parsing from
1600	  string.
1601
16022004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
1603
1604	* Makefile.in (BMAKE_VERSION):  bump to 20040220
1605	* Merge with NetBSD make, pick up:
1606	  o fix for old :M parsing bug.
1607	  o re-jigged unit-tests
1608
16092004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1610
1611	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1612	so that './bmake -f Makefile test' works.
1613
16142004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
1615
1616	* Makefile.in: (BMAKE_VERSION): bump to 20040214
1617	* Merge with NetBSD make, pick up:
1618	  o search upwards for *.mk
1619	  o fix for double free of var substitution buffers
1620	  o use of getopt replaced with custom code, since the usage
1621	  (re-scanning) isn't posix compatible.
1622
16232004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
1624
1625	* arch.c: don't include ranlib.h on ELF systems
1626	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1627
16282004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1629
1630	* Makefile.in (BMAKE_VERSION): bump to 20040118
1631
1632	* boot-strap (while): export vars we assign to on cmdline
1633	* unit-test/Makefile.in: ternary is .PHONY
1634
16352004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
1636
1637	* Makefile.in (BMAKE_VERSION): bump version to 20040108
1638	* Merge with NetBSD make, pick up:
1639	  o fix for ternary modifier
1640
16412004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
1642
1643	* Makefile.in (BMAKE_VERSION): bump version to 20040105
1644	* Merge with NetBSD make, pick up:
1645	  o fix for cond.c to handle compound expressions better
1646	  o variable expansion within sysV style replacements
1647
16482003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
1649
1650	* Make portable snprintf safer - output to /dev/null first to
1651	check space needed.
1652
1653	* Makefile.in (BMAKE_VERSION): bump version to 20031222
1654	* Merge with NetBSD make, pick up:
1655	  o -dg3 to show input graph when things go wrong.
1656	  o explicitly look for makefiles in objdir if not found in curdir so
1657	    that errors in .depend etc will be reported accurarely.
1658	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1659	    instead as it more accurately reflects the expected behavior and
1660	    is more consistently implemented.
1661	  o avoid use of asprintf.
1662
16632003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
1664
1665	* util.c: Add asprintf and vasprintf.
1666
1667	* Makefile.in (BMAKE_VERSION): bump version to 20030928
1668	* Merge with NetBSD make, pick up:
1669	:[] modifier - allows picking words from a variable.
1670	:tW modifier - allows treating value as one big word.
1671	W flag for :C and :S - allows treating value as one big word.
1672
16732003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
1674
1675	* Merge with NetBSD make
1676	pick up -de flag to enable printing failed command.
1677	don't skip 1st two dir entries (normally . and ..) since
1678	coda does not have them.
1679
16802003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1681
1682	* Makefile.in (BMAKE_VERSION): bump version to 20030909
1683	* Merge with NetBSD make, pick up:
1684	- changes for -V '${VAR}' to print fully expanded value
1685	  cf. -V VAR
1686	- CompatRunCommand now prints the command that failed.
1687	- several files got updated 3 clause Berkeley license.
1688
16892003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
1690
1691	* boot-strap: Allow setting configure args on command line.
1692
16932003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
1694
1695	* configure.in: add --with-defshell to allow sh or ksh
1696	to be selected as default shell.
1697
1698	* Makefile.in: bump version to 20030731
1699
1700	* Merge with NetBSD make
1701	Pick up .SHELL spec for ksh and associate man page changes.
1702	Also compat mode now uses the same shell specs.
1703
17042003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
1705
1706	* var.c (Var_Parse): ensure delim is initialized.
1707
1708	* unit-tests/Makefile.in: use single quotes to avoid problems from
1709	some shells.
1710
1711	* makefile.boot.in:
1712	Run the unit-tests as part of the bootstrap procedure.
1713
17142003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1715
1716	* unit-tests/Makefile.in: always force complaints from
1717	${TEST_MAKE} to be from 'make'.
1718
1719	* configure.in: add check for 'diff -u'
1720	also fix some old autoconf'isms
1721
1722	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
1723	if using GCC add -Wno-cast-qual to CFLAGS for var.o
1724
1725	* Merge with NetBSD make
1726	Pick up fix for :ts parsing error in some cases.
1727	Pick unit-tests.
1728
17292003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
1730
1731	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
1732
1733	* var.c (Var_Parse): fix bug in :ts modifier, after const
1734	correctness fixes, must pass nstr to VarModify.
1735
17362003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
1737
1738	* Makefile.in: BMAKE_VERSION switch to a date based version.
1739	We'll generally use the date of last import from NetBSD.
1740
1741	* Merge with NetBSD make
1742	Pick up fixes for const-correctness, now passes WARNS=3 on
1743	NetBSD.
1744	Pick up :ts modifier, allows controlling the separator used
1745	between words in variable expansion.
1746
17472003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
1748
1749	* FILES: include boot-strap and os.sh
1750
1751	* Makefile.in: only set WARNS if we are NetBSD, the effect on
1752	FreeBSD is known to be bad.
1753
1754	* makefile.boot.in (bootstrap): make this the default target.
1755
1756	* Makefile.in: bump version to 3.1.19
1757
1758	* machine.sh: avoid A-Z with tr as it is bound to lose.
1759
17602003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
1761
1762	* Merge with NetBSD make
1763	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1764	Plus some doc fixes.
1765
17662003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
1767
1768	* Merge with NetBSD make
1769	Pick up fix for PR/1523 - don't count a library as built, if there
1770	is no way to build it
1771
1772	* Bump version to 3.1.18
1773
17742003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
1775
1776	* Merge with NetBSD make
1777	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1778	appears in src list.
1779
17802003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
1781
1782	* Merge with NetBSD make (mmm 10th anniversary!)
1783	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1784	pick up -X which tells us to not export VAR=val via setenv if
1785	we are already doing so via MAKEFLAGS.  This saves valuable env
1786	space on systems like Darwin.
1787	set MAKE_VERSION to 3.1.17
1788
1789	* parse.c: pix up fix for suffix rules
1790
17912003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
1792
1793	* Merge with NetBSD make.
1794	pick up fix for propagating -B via MAKEFLAGS.
1795	set MAKE_VERSION to 3.1.16
1796
1797	* Apply some patches from pkgsrc-bootstrap/bmake
1798	Originally by Grant Beattie <grant@netbsd.org>
1799	I may have missed some - since they are based on bmake-3.1.12
1800
18012002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
1802
1803	* makefile.boot.in (bmake): update install targets for those that
1804	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1805	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
1806
1807	* bmake.cat1: update the pre-formatted man page!
1808
18092002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
1810
1811	* Merge with NetBSD make.
1812	pick up fix for premature free of pointer used in call
1813	to Dir_InitCur().
1814	set MAKE_VERSION to 3.1.15
1815
18162002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
1817
1818	* configure.in: determine suitable value for MKSRC.
1819	override using --with-mksrc=PATH.
1820
1821	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1822	configs(8) will use 'sun4' as an alias for 'sparc'.
1823
18242002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
1825
1826	* Merge with NetBSD make.
1827	pick up ${.PATH}
1828	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1829	set MAKE_VERSION to 3.1.14
1830	add configure checks for killpg and sys/socket.h
1831
18322002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
1833
1834	* tag bmake-3-1-13
1835
1836	* makefile.boot.in (bmake): use install-mk
1837	Also setup ./mk before trying to invoke bmake.boot incase we
1838	needed install-mk to create a sys.mk for us.
1839
1840	* configure.in: If we need to add -I${srcdir}/missing, make it an
1841	absolute path so that it works for lst.lib too.
1842
1843	* make.h: always include sys/cdefs.h since we provide one if the
1844	host does not.
1845
1846	* Makefile.in (install-mk):
1847	use MKSRC/install-mk which will do the right thing.
1848	use uname -p for ARCH if possible.
1849	since install-mk will setup links bsd.prog.mk -> prog.mk if
1850	needed, just .include bsd.prog.mk
1851
1852	* Merge with NetBSD make (NetBSD-1.6)
1853	Code is ansi-C only now.
1854	Bug in handling of dotLast is fixed.
1855	Can now assign .OBJDIR and make will reset its notions of life.
1856	New modifiers :tu :tl for toUpper and toLower.
1857
1858Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1859
1860	* Merge with NetBSD make
1861	pick up fix for .END failure in compat mode.
1862	pick up fix for extra va_end() in ParseVErrorInternal.
1863
1864Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1865
1866	* configure.in: for systems that have sys/cdefs.h check if it is
1867	compatible.  If not, include the one under missing, but tell it to
1868	include the native one too - necessary on Linux.
1869
1870	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1871	include_next (for gcc) to get the native sys/cdefs.h
1872
1873Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1874
1875	* job.c (JobFinish): Fix an earlier merge bug that resulted in
1876	leaking descriptors when using -jN.
1877
1878	* job.c (JobPrintCommand): See if "curdir" exists before
1879	attempting to chdir().  Doing the chdir directly in make (when in
1880	compat mode) fails silently, so let the -jN version do the same.
1881	This can happen when building kernels in an object tree and
1882	playing clever games to reset .CURDIR.
1883
1884	* Merged with NetBSD make
1885	pick up .USEBEFORE
1886
1887Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1888
1889	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1890
1891Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1892
1893	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1894	us not to export the iterator variable when using VAR_CMD context.
1895
1896Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1897
1898	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1899	its the wrong "fix".
1900
1901Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1902
1903	* Redesigned export of VAR_CMD's via MAKEFLAGS.
1904	We now simply append the variable names to .MAKEOVERRIDES, and
1905	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1906	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1907	Apart from fixing quoting bugs in previous version, this allows us
1908	to export vars to the environment by simply doing:
1909	.MAKEOVERRIDES+= PATH
1910	Merged again with NetBSD make, but the above is the only change.
1911
1912	* configure.in: added
1913	--disable-pwd-override		disable $PWD overriding getcwd()
1914	--disable-check-make-chdir	disable make trying to guess
1915		when it should automatically cd ${.CURDIR}
1916
1917	* Merge with NetBSD make, changes include:
1918	parse.c (ParseDoDependency): Spot that the syntax error is
1919	caused by an unresolved cvs/rcs conflict and say so.
1920	var.c: most of Var* functions now take a ctxt as 1st arg.
1921	now does variable substituion on rhs of sysv style modifiers.
1922
1923	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
1924	is now done here.  We append the name='value' to .MAKEOVERRIDES
1925	rather than directly into MAKEFLAGS as this allows a Makefile to
1926	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
1927	very similar mechanism.  Note that in adding name='value' to
1928	.MAKEOVERRIDES we do the moral equivalent of:
1929	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1930
1931Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1932
1933	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1934
1935	* Merged with NetBSD make
1936	make -dx can now be used to run commands via sh -x
1937	better error messages on exec failures.
1938
1939Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1940
1941	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1942	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
1943	MACHINE etc otherwise they propagate from the previous bmake.
1944
1945	* configure.in (machine): allow --with-machine=generic to make
1946	configure use machine.sh to set MACHINE.
1947
1948	* job.c (JobInterrupt): convert to using WAIT_T and friends.
1949
1950	* Makefile.in: mention in bmake.1 that we use autoconf.
1951
1952	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1953
1954Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1955
1956	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1957	as that rather defeats the usefulness of ${MAKEFILE}.
1958
1959	* main.c (MainParseArgs): append command line variable assignments
1960	to MAKEFLAGS so that they get propagated to child make's.
1961	Apparently this is required POSIX behaviour?  Its useful anyway.
1962
1963Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1964
1965	* compat.c (CompatRunCommand): don't use perror() since stdio may
1966	cause problems in child of vfork().
1967
1968	* compat.c, main.c: Call PrintOnError() when we are going to bail.
1969	This routine prints out the .curdir where we stopped and will also
1970	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1971
1972	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
1973	:@ expansion.
1974
1975	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
1976
1977	* Added RCSid's for the files we've touched.
1978
1979Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1980
1981	* configure.in:	Thanks to some clues from mdb@juniper.net,
1982	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1983	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
1984
1985  --with-machine=MACHINE  explicitly set MACHINE
1986  --with-force-machine=MACHINE  set FORCE_MACHINE
1987  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
1988  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
1989  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
1990  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
1991
1992	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1993
1994	* makefile: added a pathetically simple makefile to drive
1995	bootstrapping.  Running configure by hand is more useful.
1996
1997	* Makefile.in: added MAKE_VERSION, and reworked things to be less
1998	dependent on NetBSD bsd.*.mk
1999
2000	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2001	_PATH_OBJDIRPREFIX for those that don't want a default.
2002	construct _PATH_DEFSYSPATH from the info we get from configure.
2003
2004	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2005	if MAKE_VERSION is defined.
2006
2007	* compat.c: when we bail, print out the .CURDIR we were in.
2008
2009Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2010
2011	* Merged with NetBSD make
2012
2013	* var.c: fixed a bug in the handling of the modifier :P
2014	if the node as found but the path was null, we segfault trying to
2015	duplicate it.
2016
2017Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2018
2019	* Merged with NetBSD make
2020
2021	* make.c: Make_OODate's test for a library out of date was using
2022	cmtime where it should have used mtime (my bug).
2023
2024	* compat.c: Use perror() to tell us what really went wrong when we
2025	cannot exec a command.
2026
2027Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2028
2029	* Merged with NetBSD make
2030
2031Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2032
2033	* Merged with NetBSD make
2034
2035Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2036
2037	* Merged with NetBSD make
2038
2039Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2040
2041	* Merged with NetBSD make
2042
2043Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2044
2045	* util.c: don't provide signal() since we use sigcompat.c
2046
2047	* Makefile.in: added a build target.
2048
2049	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2050	These allow some quite clever magic.
2051
2052	* main.c (main): added support for getenv(MAKESYSPATH).
2053
2054Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2055
2056	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2057	This avoids objdir having a different value depending on how a
2058	directory was reached (via command line, or subdir.mk).
2059
2060	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2061
2062Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2063
2064	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2065	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2066	I've been testing this in NetBSD's make for some weeks.
2067
2068	* Turn Makefile into Makefile.in and make it useful.
2069
2070Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
2071
2072	* Imported NetBSD's -current make(1) and resolve conflicts.
2073
2074	* Applied autoconf patches from bmake v2
2075
2076	* Imported clean code base from NetBSD-1.0
2077