ChangeLog revision 321653
12017-07-20  Simon J. Gerraty  <sjg@bad.crufty.net>
2
3	* Makefile (_MAKE_VERSION): 20170720
4	  Merge with NetBSD make, pick up
5	  o compat.c: pass SIGINT etc onto child and wait for it to exit
6	    before we self-terminate.
7
82017-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
9
10	* Makefile (_MAKE_VERSION): 20170711
11	  forgot to update after merge on 20170708 ;-)
12	  o main.c: refactor to reduce size of main function.
13	    add -v option to always fully expand values.
14	  o meta.c: ensure command output in meta file has ending newline
15	    even when filemon not being used.
16	    When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
17	    pathname via ':L' since any ':' in pathname breaks that.
18	    Instead set a '${.p.}' to pathname in the target context and
19	    use that.
20
212017-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
22
23	* Makefile (_MAKE_VERSION): 20170510
24	  Merge with NetBSD make, pick up
25	  o main.c: Main_SetObjdir: ensure buf2 is in scope
26
272017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
28
29	* Makefile (_MAKE_VERSION): 20170505
30	  see mk/ChangeLog
31
322017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
33
34	* parse.c: not everyone has stdint.h
35
362017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
37
38	* Makefile (_MAKE_VERSION): 20170501
39	  see mk/ChangeLog
40
412017-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
42
43	* Makefile (_MAKE_VERSION): 20170421
44	  Merge with NetBSD make, pick up
45	  o str.c: Str_Match: fix closure tests for [^] and add unit-test.
46
472017-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
48
49	* Makefile (_MAKE_VERSION): 20170420
50	  Merge with NetBSD make, pick up
51	  o main.c: only use -C arg "as is" if it contains no 
52	    relative component.
53
542017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
55
56	* Makefile (_MAKE_VERSION): 20170418
57	  Merge with NetBSD make, pick up
58	  o main.c: fix Main_SetObjdir() for relative paths (eg obj).
59
602017-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
61
62	* Makefile (_MAKE_VERSION): 20170417
63	  Merge with NetBSD make, pick up
64	  o fixes a number of coverity complaints
65	    - check return value of fseek, fcntl
66	    - plug memory leak in Dir_FindFile, Var_LoopExpand,
67	      JobPrintCommand, ParseTraditionalInclude
68	    - use bmake_malloc() where NULL is not tollerated
69	    - use MAKE_ATTR_UNUSED rather that kludges like 
70	      return(unused ? 0 : 0)
71	    - use purge_cached_realpaths() rather than abuse cached_realpath()
72
732017-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
74
75	* Makefile (_MAKE_VERSION): 20170413
76	  Merge with NetBSD make, pick up
77	  o main.c: when setting .OBJDIR ignore '$' in paths.
78
79	* job.c: use MALLOC_OPTIONS to set malloc_options.
80
812017-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
82
83	* Makefile (_MAKE_VERSION): 20170411
84	  Merge with NetBSD make, pick up
85	  o str.c: Str_Match: allow [^a-z] to behave as expected.
86
872017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
88
89	* Makefile (_MAKE_VERSION): 20170326
90	  Merge with NetBSD make, pick up
91	  o main.c: purge relative paths from realpath cache when .OBJDIR
92	    is changed.
93
942017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
95
96	* Makefile (_MAKE_VERSION): 20170311
97	  Merge with NetBSD make, pick up
98          o main.c: only use -C arg "as is" if it starts with '/'.
99
1002017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
101
102	* Makefile (_MAKE_VERSION): 20170301
103	  Merge with NetBSD make, pick up
104	  o main.c: use -C arg "as is" rather than getcwd()
105	    if they identify the same directory.
106	  o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
107
1082017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
109
110	* Makefile (_MAKE_VERSION): 20170201
111	  Merge with NetBSD make, pick up
112	  o var.c: allow :_=var and avoid use of special context.
113
1142017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
115
116	* Makefile (_MAKE_VERSION): 20170130
117	  Merge with NetBSD make, pick up
118	  o var.c: add :range and :_
119	  o main.c: partially initialize Dir_* before MainParseArgs()
120	    can be called.
121	    If -V, skip Main_ExportMAKEFLAGS()
122
1232017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
124
125	* Makefile (_MAKE_VERSION): 20170114
126	  Merge with NetBSD make, pick up
127	  o var.c: allow specifying the utc value used by :{gm,local}time
128
1292016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
130
131	* Makefile (_MAKE_VERSION): 20161212
132	  Merge with NetBSD make, pick up
133          o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
134
1352016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
136
137	* Makefile (_MAKE_VERSION): 20161209
138	  Merge with NetBSD make, pick up
139	  o main.c: cleanup setting of .OBJDIR
140	  o parse.c: avoid coredump from (var)=val
141
1422016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
143
144	* Makefile (_MAKE_VERSION): 20161126
145	  Merge with NetBSD make, pick up
146	  o make.c: Make_OODate: report src node name if path not set
147
1482016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
149
150	* Makefile (_MAKE_VERSION): 20160926
151	  Merge with NetBSD make, pick up
152	  o support for .DELETE_ON_ERROR: (remove targets that fail)
153	
1542016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
155
156	* Makefile MAN: tweak .Dt to match ${PROG}
157
1582016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
159
160	* Makefile (_MAKE_VERSION): 20160818
161	  its a neater number; pick up whitespace fixes to man page.
162
1632016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
164
165	* Makefile (_MAKE_VERSION): 20160817
166	  Merge with NetBSD make, pick up
167	  o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
168	    so we can call it before adding entries to missingFiles.
169	    Thus we do not track files we have been told to ignore.
170
1712016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
172
173	* Makefile (_MAKE_VERSION): 20160815
174	  Merge with NetBSD make, pick up
175	  o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
176	    pathnames, and skip if the expansion is empty.
177	    Useful for dirdeps.mk when checking DIRDEPS_CACHE.
178
1792016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
180
181	* Makefile (_MAKE_VERSION): 20160812
182	  Merge with NetBSD make, pick up
183	  o meta.c: remove all missingFiles entries that match a deleted
184	    dir.
185	  o main.c: set .ERROR_CMD if possible.
186	  
1872016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
188
189	* Makefile (_MAKE_VERSION): 20160606
190	  Merge with NetBSD make, pick up
191	  o dir.c: extend mtimes cache to others via cached_stat()
192
1932016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
194
195	* Makefile (_MAKE_VERSION): 20160604
196	  Merge with NetBSD make, pick up
197	  o meta.c: missing filemon data is only relevant if we read a
198	    meta file.
199	    Also do not return oodate for a missing metafile if gn->path
200	    points to .CURDIR
201	
2022016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
203
204	* Makefile (_MAKE_VERSION): 20160602
205	  Merge with NetBSD make, pick up
206	  o cached_realpath(): avoid hitting filesystem more than necessary.
207	  o meta.c: refactor need_meta decision, add knobs for 
208	    missing meta file and filemon data wrt out-of-datedness.
209
2102016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
211
212	* Makefile (_MAKE_VERSION): 20160528
213
214	* boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 
215
2162016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
217
218	* Makefile (_MAKE_VERSION): 20160512
219	  Merge with NetBSD make, pick up
220	  o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
221	    this is useful for gcov builds.
222	  o propagate errors from filemon(4).
223	
2242016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
225
226	* Makefile (_MAKE_VERSION): 20160509
227	  Merge with NetBSD make, pick up
228	  o remove use of non-standard types u_int etc.
229	  o meta.c: apply realpath() before matching against metaIgnorePaths
230
2312016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
232
233	* Makefile (_MAKE_VERSION): 20160404
234	  Merge with NetBSD make, pick up
235	  o allow makefile to set .MAKE.JOBS
236
237	* Makefile (PROG_NAME): use ${_MAKE_VERSION}
238
2392016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
240
241	* Makefile (_MAKE_VERSION): 20160315
242	  Merge with NetBSD make, pick up
243	  o fix handling of archive members
244
2452016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
246
247	* Makefile (_MAKE_VERSION): rename variable to avoid interference
248	  with checks for ${MAKE_VERSION}
249
2502016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
251
252	* Makefile (MAKE_VERSION): 20160310
253	  Merge with NetBSD make, pick up
254	  o meta.c: treat missing Read file same as Write, incase we Delete it.
255
2562016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
257
258	* Makefile (MAKE_VERSION): 20160307
259	  Merge with NetBSD make, pick up
260	  o var.c: fix :ts\nnn to be octal by default.
261	  o meta.c: meta_finish() to cleanup memory.
262
2632016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
264
265	* Makefile (MAKE_VERSION): 20160226
266	  Merge with NetBSD make, pick up
267	  o meta.c: allow meta file for makeDepend if makefiles want it.
268
2692016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
270
271	* var.c: default .MAKE.SAVE_DOLLARS to FALSE
272	  for backwards compatability.
273
274	* Makefile (MAKE_VERSION): 20160220
275	  Merge with NetBSD make, pick up
276	  o var.c: add knob to control handling of '$$' in :=
277
2782016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
279
280	* Makefile (MAKE_VERSION): 20160218
281	  Merge with NetBSD make, pick up
282	  o var.c: add .export-literal allows us to fix sys.clean-env.mk
283	    post the changes to Var_Subst.
284	    Var_Subst now takes flags, and does not consume '$$' in :=
285
2862016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
287
288	* Makefile (MAKE_VERSION): 20160217
289	  Merge with NetBSD make, pick up
290	  o var.c: preserve '$$' in :=
291	  o parse.c: add .dinclude for handling included 
292	    makefile like .depend
293
2942015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
295
296	* Makefile (MAKE_VERSION): 20151220
297	  Merge with NetBSD make, pick up
298	  o suff.c: re-initialize suffNull when clearing suffixes.
299
3002015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
301
302	* Makefile (MAKE_VERSION): 20151201
303	  Merge with NetBSD make, pick up
304	  o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
305	  o meta.c: meta_oodate: use lstat(2) for checking link target
306	    in case it is a symlink.
307	  o var.c: avoid calling brk_string and Var_Export1 with empty
308	    strings.
309	
3102015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
311
312	* Makefile (MAKE_VERSION): 20151126
313	  Merge with NetBSD make, pick up
314	  o parse.c: ParseTrackInput don't access beyond 
315	    end of old value.
316	
3172015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
318
319	* Makefile (MAKE_VERSION): 20151022
320
321	* Add support for BSD/OS which lacks inttypes.h
322	  and really needs sys/param.h for sys/sysctl.h
323	  also 'type' is not a shell builtin.
324
325	* var.c: eliminate uint32_t and need for inttypes.h
326	
327	* main.c: PrintOnError flush stdout before run .ERROR
328
329	* parse.c: cope with _SC_PAGESIZE not being defined.
330
331	
3322015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
333
334	* Makefile (MAKE_VERSION): 20151020
335	  Merge with NetBSD make, pick up
336	  o var.c: fix uninitialized var 
337
3382015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
339
340	* var.c: the conditional expressions used with ':?' can be
341	expensive, if already discarding do not evaluate or expand
342	anything. 
343
3442015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
345
346	* Makefile (MAKE_VERSION): 20151010
347	  Merge with NetBSD make, pick up
348	  o Add Boolean wantit flag to Var_Subst and Var_Parse
349	    when FALSE we know we are discarding the result and can
350	    skip operations like Cmd_Exec.
351
3522015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
353
354	* Makefile (MAKE_VERSION): 20151009
355	  Merge with NetBSD make, pick up
356	  o var.c: don't check for NULL before free()
357	  o meta.c: meta_oodate, do not hard code ignore of makeDependfile
358
3592015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
360
361	* Makefile (MAKE_VERSION): 20150910
362	  Merge with NetBSD make, pick up
363	  o main.c: with -w print Enter/Leaving messages for objdir too
364	    if necessary.
365	  o centralize shell metachar handling
366	
367	* FILES: add metachar.[ch]
368
3692015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
370
371	* Makefile (MAKE_VERSION): 20150606
372	  Merge with NetBSD make, pick up
373	  o make.1: document .OBJDIR target
374
3752015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
376
377	* Makefile (MAKE_VERSION): 20150505
378	  Merge with NetBSD make, pick up
379	  o cond.c: be strict about lhs of comparison when evaluating .if
380	    but less so when called from variable expansion.
381	  o unit-tests/cond2.mk: test various error conditions
382
3832015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
384
385	* machine.sh (MACHINE): Add Bitrig 
386	  patch from joerg@netbsd.org
387
3882015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
389
390	* Makefile (MAKE_VERSION): 20150418
391	  Merge with NetBSD make, pick up
392	  o job.c: use memmove() rather than memcpy()
393
394	* unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
395	  case, so skip it.
396
3972015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
398
399	* Makefile (MAKE_VERSION): 20150411
400	  bump version - only mk/ changes.
401	
4022015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
403
404	* Makefile (MAKE_VERSION): 20150410
405	  Merge with NetBSD make, pick up
406	  o document different handling of '-' in jobs mode vs compat
407	  o fix jobs mode so that '-' only applies to whole job
408	    when shell lacks hasErrCtl
409	  o meta.c: use separate vars to track lcwd and latestdir (read)
410	    per process
411	
4122015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
413
414	* Makefile (MAKE_VERSION): 20150401
415	  Merge with NetBSD make, pick up
416	  o meta.c: close meta file in child
417	
418	* Makefile: use BINDIR.bmake if set.
419	  Same for MANDIR and SHAREDIR
420	  Handy for testing release candidates
421	  in various environments.
422	
4232015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
424
425	* move initialization of savederr to block where it is used
426	  to avoid spurious warning from gcc5
427
4282014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
429
430	* Makefile (MAKE_VERSION): 20141111
431	  just a cooler number
432
4332014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
434
435	* Makefile (MAKE_VERSION): 20141105
436	  Merge with NetBSD make, pick up
437	  o revert major overhaul of suffix handling
438	    and POSIX compliance - too much breakage
439	    and impossible to make backwards compatible.
440	  o we still have the new unit test structure which is ok.
441	  o meta.c ensure "-- filemon" is at start of line.
442
4432014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
444
445	* configure.in: test that result of getconf PATH_MAX is numeric
446	  and discard if not.  Apparently needed for Hurd.
447
4482014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
449
450	* Makefile (MAKE_VERSION): 20140830
451	  Merge with NetBSD make, pick up
452	  o major overhaul of suffix handling
453	  o improved POSIX compliance
454	  o overhauled unit-tests
455
4562014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
457
458	* Makefile (MAKE_VERSION): 20140620
459	  Merge with NetBSD make, pick up
460	  o var.c return varNoError rather than var_Error for ::= modifiers.
461
4622014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
463
464	* Makefile (MAKE_VERSION): 20140522
465	  Merge with NetBSD make, pick up
466	  o var.c detect some parse errors.
467
4682014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
469
470	* Fix spelling errors - patch from Pedro Giffuni
471
4722014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
473
474	* Makefile (MAKE_VERSION): 20140214
475	  Merge with NetBSD make, pick up
476	  o .INCLUDEFROM*
477	  o use Var_Value to get MAKEOBJDIR[PREFIX]
478	  o reduced realloc'ign in brk_string.
479	* configure.in: add a check for compiler supporting __func__
480
4812014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
482
483	* boot-strap: ignore mksrc=none
484
4852014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
486
487	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
488
4892014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
490	
491	* Makefile (MAKE_VERSION): 20140101
492	* configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
493	* Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
494	* make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
495	  Hurd) 
496	* configure.in: Add AC_PREREQ and check for
497	  sysctl; patch from Andrew Shadura andrewsh at debian.org
498
4992013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
500
501	* Makefile (MAKE_VERSION): 20131010
502	* lose the const from arg to systcl to avoid problems on older BSDs.
503
5042013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
505
506	* Makefile (MAKE_VERSION): 20131001
507	  Merge with NetBSD make, pick up
508	  o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
509	    hw.machine_arch if necessary.
510	  o meta.c: meta_oodate - need to look at src of Link and target
511	    of Move as well.
512	* main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
513	  provide __arraycount() if needed.
514
5152013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
516
517	* Makefile (MAKE_VERSION): 20130904
518	  Merge with NetBSD make, pick up
519	  o Add VAR_INTERNAL context, so that internal setting of
520	    MAKEFILE does not override value set by makefiles.
521
5222013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
523
524	* Makefile (MAKE_VERSION): 20130902
525	  Merge with NetBSD make, pick up
526	  o CompatRunCommand: only apply shellErrFlag when errCheck is true
527
5282013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
529
530	* Makefile (MAKE_VERSION): 20130828
531	  Merge with NetBSD make, pick up
532	  o Fix VAR :sh = syntax from Will Andrews at freebsd.org
533	  o Call Job_SetPrefix() from Job_Init() so makefiles have
534	    opportunity to set .MAKE.JOB.PREFIX
535
5362013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
537
538	* Makefile (MAKE_VERSION): 20130730
539	  Merge with NetBSD make, pick up
540	  o Allow suppression of --- job -- tokens by setting
541	    .MAKE.JOB.PREFIX empty.
542
5432013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
544
545	* Makefile (MAKE_VERSION): 20130716
546	  Merge with NetBSD make, pick up
547	  o number of gmake compatibility tweaks
548	    -w for gmake style entering/leaving messages
549	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
550	    handle MAKEFLAGS containing only letters.
551	  o when overriding a GLOBAL variable on the command line,
552	    delete it from GLOBAL context so -V doesn't show the wrong
553	    value.
554	
5552013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
556
557	* configure.in: We don't need MAKE_LEVEL_SAFE anymore.
558
559	* Makefile (MAKE_VERSION): 20130706
560	  Merge with NetBSD make, pick up
561	  o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
562	    true so that CompatRunCommand() can use it, to ensure
563	    consistent behavior with jobs mode.
564	  o use MAKE_LEVEL_ENV to define the variable to propagate
565	    .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
566	  o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
567	    paths to ignore.
568
5692013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
570
571	* Makefile (MAKE_VERSION): 20130604
572	  Merge with NetBSD make, pick up
573	  o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
574	    to avoid leaking descriptors.
575
5762013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
577
578	* Makefile (MAKE_VERSION): 20130528
579	  Merge with NetBSD make, pick up
580	  o var.c: cleanup some left-overs in VarHash()
581
5822013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
583
584	* Makefile (MAKE_VERSION): 20130520
585	  generate manifest from component FILES rather than have to
586	  update FILES when mk/FILES changes.
587
5882013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
589
590	* Makefile (MAKE_VERSION): 20130518
591	  Merge with NetBSD make, pick up
592	  o suff.c: don't skip all processsing for .PHONY targets
593	    else wildcard srcs do not get expanded.
594	  o var.c: expand name of variable to delete if necessary.
595
5962013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
597
598	* Makefile (MAKE_VERSION): 20130330
599	  Merge with NetBSD make, pick up
600	  o meta.c: refine the handling of .OODATE in commands.
601	    Rather than suppress command comparison for the entire script
602	    as though .NOMETA_CMP had been used, only suppress it for the
603	    one command line.
604	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 
605	    suppress comparison of a command without otherwise affecting it.
606	  o make.1: document that
607
6082013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
609
610	* Makefile (MAKE_VERSION): 20130321
611	  yes, not quite right but its a cooler number.
612	  Merge with NetBSD make, pick up
613	  o parse.c: fix ParseGmakeExport to be portable 
614	    and add a unit-test.
615	* meta.c: call meta_init() before makefiles are read and if built
616	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
617	  this let's makefiles test for support.
618	  Call meta_mode_init() to process .MAKE.MODE.
619
6202013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
621
622	* Makefile (MAKE_VERSION): 20130305
623	  Merge with NetBSD make, pick up
624	  o run .STALE: target when a dependency from .depend is missing.
625	  o job.c: add Job_RunTarget() for the above and .BEGIN
626
6272013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
628
629	* Makefile (MAKE_VERSION): 20130303
630	  Merge with NetBSD make, pick up
631	  o main.c: set .MAKE.OS to utsname.sysname
632	  o job.c: more checks for read and poll errors
633	  o var.c: lose VarChangeCase() saves 4% time
634
6352013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
636
637	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
638	  want to use MAKEOBJDIR
639
6402013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
641
642	* Merge with NetBSD make, pick up
643	  o make.1: more info on how shell commands are handled.
644	  o job.c,main.c: detect write errors to job pipes.
645
6462013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
647
648	* Makefile (MAKE_VERSION): 20130123
649	  Merge with NetBSD make, pick up
650	  o meta.c: if script uses .OODATE and meta_oodate() decides
651	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
652	  o var.c: in debug output indicate which variabale modifiers
653	    apply to.
654	  o remove Check_Cwd logic the makefiles have been fixed.
655	
6562012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
657
658	* makefile.in: add a simple makefile for folk who insist on
659	  ./configure; make; make install
660	  it just runs boot-strap
661	* include mk/* to accommodate the above
662	* boot-strap:  re-work to accommodate the above
663	  mksrc defaults to $Mydir/mk
664	  allow op={configure,build,install,clean,all}
665	  add options to facilitate install
666	* Makefile.config.in: just the bits set by configure
667	* Makefile: bump version to 20121212
668	  abandon Makefile.in (NetBSD Makefile)
669	  leverage mk/* instead
670	* configure.in: ensure srcdir is absolute
671
6722012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
673
674	* Makefile.in (MAKE_VERSION): 20121111
675	  fix generation of bmake.cat1
676
6772012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
678
679	* Makefile.in (MAKE_VERSION): 20121109
680	  Merge with NetBSD make, pick up
681	  o make.c: MakeBuildChild: return 0 so search continues if a
682	    .ORDER dependency is detected.
683	  o unit-tests/order: test the above
684	
6852012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
686
687	* Makefile.in (MAKE_VERSION): 20121102
688	  Merge with NetBSD make, pick up
689	  o cond.c: allow cond_state[] to grow.
690	    In meta mode with a very large tree, we can hit the limit
691	    while processing dirdeps.
692	
6932012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
694
695	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
696
6972012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
698
699	* Makefile.in (MAKE_VERSION): 20121010
700	  o protect syntax that only bmake parses correctly.
701	  o remove auto setting of FORCE_MACHINE, use configure's
702	    --with-force-machine=whatever if that is desired.
703	
7042012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
705
706	* Makefile.in: do not lose history from make.1 when generating bmake.1
707
7082012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
709
710	* Makefile.in (MAKE_VERSION): 20121007
711	  Merge with NetBSD make, pick up
712	  o compat.c: ignore empty commands - same as jobs mode.
713	  o make.1: document meta chars that cause use of shell
714
7152012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
716
717	* Makefile.in (MAKE_VERSION): bump version to 20120911
718	* bsd.after-import.mk: include Makefile.inc early and allow it to
719	  override PROG
720
7212012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
722
723	* Makefile.in (MAKE_VERSION): bump version to 20120831
724	  Merge with NetBSD make, pick up
725	  o cast sizeof() to int for comparison
726	  o minor make.1 tweak
727
7282012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
729
730	* Makefile.in (MAKE_VERSION): bump version to 20120830
731	  Merge with NetBSD make, pick up
732	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
733	  o debug flag -dV causes -V to show raw value regardless.
734	
7352012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
736
737	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
738	  gets SRCTOP set.
739
7402012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
741
742	* Makefile.in (MAKE_VERSION): bump version to 20120704
743	  Merge with NetBSD make, pick up
744	  o Job_ParseShell should call Shell_Init if it has been
745	    previously called.
746	* Makefile.in: set USE_META based on configure result.
747	  also .PARSEDIR is safer indicator of bmake.
748
7492012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
750
751	* Makefile.in: bump version to 20120626
752	  ensure CPPFLAGS is in CFLAGS
753	* meta.c: avoid nested externs
754	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
755	
7562012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
757
758	* Makefile.in (MAKE_VERSION): bump version to 20120620
759	  Merge with NetBSD make, pick up
760	  o make_malloc.c: avoid including make_malloc.h again
761
762	* Makefile.in: avoid bmake only syntax or protect with
763	  .if defined(.MAKE.LEVEL)
764	* bsd.after-import.mk: replace .-include with .sinclude
765	  ensure? SRCTOP gets a value
766	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
767
7682012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
769
770	* Makefile.in (MAKE_VERSION): bump version to 20120612
771	  Merge with NetBSD make, pick up
772	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
773	    for greater portability.
774	  o unit-tests/forloop: check that .for works as expected wrt
775	    number of times and with "quoted strings".
776	
7772012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
778
779	* Makefile.in (MAKE_VERSION): bump version to 20120606
780	  Merge with NetBSD make, pick up
781	  o compat.c: use kill(2) rather than raise(3).
782	* configure.in: look for sys/dev/filemon
783	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
784	  and pass BOOTSTRAP_XTRAS to boot-strap.
785
7862012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
787
788	* Makefile.in (MAKE_VERSION): bump version to 20120604
789	  Merge with NetBSD make, pick up
790	  o util.c and var.c share same var for tracking if environ
791	    has been reallocated.
792	  o util.c provide getenv with setenv.
793	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
794	  when the shell actively strips .MAKE.* from the environment.
795	  We still refer to the variable always as .MAKE.LEVEL
796	* util.c fix bug in findenv() was finding prefix of name.
797	* compat.c: re-raising SIGINT etc after running .INTERRUPT
798	  results in more reliable termination of all activity on many
799	  platforms.
800
8012012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
802
803	* Makefile.in (MAKE_VERSION): bump version to 20120602
804	  Merge with NetBSD make, pick up
805	  o for.c: handle quoted items in .for list
806
8072012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
808
809	* Makefile.in (MAKE_VERSION): bump version to 20120530
810	  Merge with NetBSD make, pick up
811	  o compat.c: ignore empty command.
812
8132012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
814
815	* Makefile.in (MAKE_VERSION): bump version to 20120524
816	* FILES: add bsd.after-import.mk:
817	  A simple means of integrating bmake into a BSD build system.
818
8192012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
820
821	* Makefile.in (MAKE_VERSION): bump version to 20120520
822	  Merge with NetBSD make, pick up
823	  o increased limit for nested conditionals.
824	
8252012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
826
827	* Makefile.in (MAKE_VERSION): bump version to 20120518
828	  Merge with NetBSD make, pick up
829	  o use _exit(2) in signal hanlder
830	  o Don't use the [dir] cache when building nodes that might have
831	    changed since the last exec.
832	  o Avoid nested extern declaration warnings.
833
8342012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
835
836	* meta.c (fgetLine): avoid %z - not portable.
837	* parse.c: Since we moved include of sys/mman.h
838	  and def's of MAP_COPY etc. we got dups from a merge.
839
8402012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
841
842	* Makefile.in (MAKE_VERSION): bump version to 20120420
843	  Merge with NetBSD make, pick up
844	  o restore duplicate supression in .MAKE.MAKEFILES
845	    runtime saving can be significant.
846	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
847	    consumption up to 20%. 
848
8492012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
850
851	* Makefile.in (MAKE_VERSION): bump version to 20120420
852          Merge with NetBSD make, pick up
853	  o remove duplicate supression in .MAKE.MAKEFILES
854	  o improved dir cache behavior
855	  o gmake'ish export command
856	
8572012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
858
859	* Makefile.in (MAKE_VERSION): bump version to 20120325
860	  Merge with NetBSD make, pick up
861	  o fix parsing of :[#] in conditionals.
862
8632012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
864
865	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
866	  since some systems cannot cope with .Nx <version>
867
8682011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
869
870	* Makefile.in (MAKE_VERSION): bump version to 20111111
871	  Merge with NetBSD make, pick up
872	  o debug output for .PARSEDIR and .PARSEFILE
873
8742011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
875
876	* Makefile.in (MAKE_VERSION):  bump version to 20111010
877
8782011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
879
880	* boot-strap: check for an expected file in the dirs we look for.
881	* make-bootstrap.sh: pass on LDSTATIC
882
8832011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
884
885	* Makefile.in (MAKE_VERSION): bump version to 20111001
886	  Merge with NetBSD make, pick up
887	  o ensure .PREFIX is set for .PHONY
888	    and .TARGET set for .PHONY run via .END
889	  o __dead used consistently
890	
8912011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
892
893	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
894
8952011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
896
897	* Makefile.in (MAKE_VERSION): bump version to 20110905
898	  Merge with NetBSD make, pick up
899	  o meta_oodate: ignore makeDependfile
900	
9012011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
902
903	* Makefile.in (MAKE_VERSION): bump version to 20110828
904	  Merge with NetBSD make, pick up
905	  o silent=yes in .MAKE.MODE causes meta mode to mark targets 
906	    as SILENT if a .meta file is created
907
9082011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
909
910	* Makefile.in (MAKE_VERSION): bump version to 20110818
911	  Merge with NetBSD make, pick up
912	  o in meta mode, if target flagged .META a missing .meta file
913	    means target is out-of-date
914	  o fixes for gcc 4.5 warnings
915	  o simplify job printing code
916	
9172011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
918
919	* Makefile.in (MAKE_VERSION): bump version to 20110808
920	  Merge with NetBSD make, pick up
921	  o do not touch OP_SPECIAL targets when doing make -t
922	
9232011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
924
925	* Makefile.in (MAKE_VERSION): bump version to 20110622
926	  Merge with NetBSD make, pick up
927	  o meta_oodate detect corrupted .meta file and declare oodate.
928	* configure.in: add check for setsid
929	
9302011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
931
932	* Merge with NetBSD make, pick up
933	  o unit-tests/modts now works on MirBSD
934
9352011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
936
937	* Makefile.in (MAKE_VERSION): bump version to 20110606
938	  Merge with NetBSD make, pick up
939	  o ApplyModifiers: when we parse a variable which is not
940	    the entire modifier string, or not followed by ':', do not
941	    consider it as containing modifiers.
942	  o loadfile: ensure newline at end of mapped file.
943
9442011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
945
946	* Makefile.in (MAKE_VERSION): bump version to 20110505
947	  Merge with NetBSD make, pick up
948	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
949	    of make's control.  In meta mode, any generated file within
950	    said bailiwick, which  is found to be missing, causes current
951	    target to be out-of-date. 
952	
9532011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
954
955	* Makefile.in (MAKE_VERSION): bump version to 20110411
956	  Merge with NetBSD make, pick up
957	  o when long modifiers fail to match, check sysV style.
958	    - add a test case
959	
9602011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
961
962	* Makefile.in (MAKE_VERSION): bump version to 20110410
963	  Merge with NetBSD make, pick up
964	  o :hash - cheap 32bit hash of value
965	  o :localtime, :gmtime - use value as format string for strftime.
966	
9672011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
968
969	* Makefile.in (MAKE_VERSION): bump version to 20110330
970	  mostly because its a cooler version.
971	  Merge with NetBSD make, pick up
972	  o NetBSD tags for meta.[ch]
973	  o job.c call meta_job_finish() after meta_job_error().
974	  o meta_job_error() should call meta_job_finish() to ensure
975	    .meta file is closed, and safe to copy - if .ERROR target wants.
976	   meta_job_finish() is safe to call repeatedly.
977	
9782011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
979
980	* unit-tests/modts: use printf if it is a builtin, 
981	  to save us from MirBSD
982
983	* Makefile.in (MAKE_VERSION): bump version to 20110329
984	  Merge with NetBSD make, pick up
985	  o fix for use after free() in CondDoExists().
986	  o meta_oodate() report extra commands and return earlier.
987	
9882011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
989
990	* Makefile.in (MAKE_VERSION): bump version to 20110327
991	  Merge with NetBSD make, pick up
992	  o meta.c, if .MAKE.MODE contains curdirOk=yes
993	    allow creating .meta files in .CURDIR
994	* boot-strap (TOOL_DIFF): aparently at least on linux distro
995	  formats the output of 'type' differently - so eat any "()"
996
9972011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
998
999	* Makefile.in (MAKE_VERSION): bump version to 20110306
1000	  Merge with NetBSD make, pick up
1001	  o meta.c, only do getcwd() once
1002	
10032011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1004
1005	* Makefile.in (MAKE_VERSION): bump version to 20110305
1006	  Merge with NetBSD make, pick up
1007	  o correct sysV substitution handling of empty lhs and variable
1008	  o correct exists() check for dir with trailing /
1009	  o correct handling of modifiers for non-existant variables
1010	    during evaluation of conditionals.
1011	  o ensure MAP_FILE is defined.
1012	  o meta.c use curdir[] now exported by main.c
1013	
10142011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1015
1016	* Makefile.in (MAKE_VERSION): bump version to 20110225
1017	  Merge with NetBSD make, pick up
1018	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1019	    makefiles have been read.
1020	  o fix example of :? modifier in man page.
1021	
10222011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1023
1024	* Makefile.in (MAKE_VERSION): bump version to 20110214
1025	  Merge with NetBSD make, pick up
1026	  o meta.c handle realpath() failing when generating meta file
1027	    name.
1028
1029	* sigcompat.c: convert to ansi so we can use higher warning levels.
1030
1031
10322011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1033
1034	* Makefile.in (MAKE_VERSION): bump version to 20110207
1035	  Merge with NetBSD make, pick up
1036	  o fix for bug in meta mode.
1037	
10382011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1039
1040	* parse.c: SunOS 5.8 at least does not have MAP_FILE
1041
10422011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1043
1044	* Makefile.in (MAKE_VERSION): bump version to 20110101
1045	  Merge with NetBSD make, pick up
1046	  o use mmap(2) if available, for reading makefiles
1047
10482010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1049
1050	* Makefile.in (MAKE_VERSION): bump version to 20101215
1051	  Merge with NetBSD make, pick up
1052	  o ensure meta_job_error() does not report a previous .meta file
1053	    as being culprit.
1054
10552010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1056
1057	* Makefile.in (MAKE_VERSION): bump version to 20101210
1058	  Merge with NetBSD make, pick up
1059	  o meta_oodate: track cwd per process, and only consider target
1060	    out-of-date if missing file is outside make's CWD.
1061	    Ignore files in /tmp/ etc.
1062	  o to ensure unit-tests results match, need to control LC_ALL
1063	    as well as LANG.
1064	  o fix for parsing bug in var.c
1065
10662010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1067
1068	* Makefile.in (MAKE_VERSION): bump version to 20101126
1069	  Merge with NetBSD make, pick up
1070	  o if stale dependency is an IMPSRC, search via .PATH
1071	  o meta_oodate: if a referenced file is missing, target is
1072	    out-of-date.
1073	  o meta_oodate: if a target uses .OODATE in its commands,
1074	    it (.OODATE) needs to be recomputed.
1075	  o keep a pointer to youngest child node, rather than just its
1076	    mtime.
1077	
10782010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1079
1080	* Makefile.in (MAKE_VERSION): bump version to 20101101
1081
10822010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1083
1084	* machine.sh: like os.sh, 
1085	allow for uname -p producing useless drivel
1086
10872010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1088
1089	* boot-strap: document configure knobs for meta and filemon.
1090
1091	* Makefile.in (MAKE_VERSION): bump version to 20100911
1092	  Merge with NetBSD make, pick up
1093	  o meta.c - meta mode
1094
1095	* make-bootstrap.sh.in: handle meta.c
1096	* configure.in: add knobs for use_meta and filemon_h
1097	  also, look for dirname, str[e]sep and strlcpy
1098	* util.c: add simple err[x] and warn[x]
1099
11002010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1101
1102	* boot-strap (TOOL_DIFF): set this to ensure tests use
1103	  the same version of diff that configure tested
1104
1105	* Makefile.in (MAKE_VERSION): bump version to 20100808
1106	  Merge with NetBSD make, pick up
1107	  o in jobs mode, when we discover we cannot make something,
1108	    call PrintOnError before exit.
1109	
11102010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1111
1112	* Makefile.in (MAKE_VERSION): bump version to 20100806
1113	  Merge with NetBSD make, pick up
1114	  o formatting fixes for ignored errors
1115	  o ensure jobs are cleaned up regardless of where wait() was called.
1116
11172010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1118
1119	* Makefile.in (MAKE_VERSION): bump version to 20100618
1120	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1121
11222010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1123
1124	* Makefile.in (MAKE_VERSION): bump version to 20100616
1125	  Merge with NetBSD make, pick up
1126	  o man page update
1127	  o call PrintOnError from JobFinish when we detect an error we
1128	    are not ignoring. 
1129	
11302010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1131
1132	* Makefile.in (MAKE_VERSION): bump version to 20100606
1133	  Merge with NetBSD make, pick up
1134	  o man page update
1135
11362010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1137
1138	* Makefile.in (MAKE_VERSION): bump version to 20100605
1139	  Merge with NetBSD make, pick up
1140	  o use bmake_signal() which is a wrapper around sigaction() 
1141	    in place of signal()
1142	  o add .export-env to allow exporting variables to environment
1143	    without tracking (so no re-export when the internal value is
1144	    changed).
1145	
11462010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1147
1148	* Makefile.in (MAKE_VERSION): bump version to 20100524
1149	  Merge with NetBSD make, pick up
1150	  o fix for .info et al being greedy.
1151
11522010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1153
1154	* Makefile.in (MAKE_VERSION): bump version to 20100520
1155	  Merge with NetBSD make, pick up
1156	  o back to using realpath on argv[0] 
1157	    but only if contains '/' and does not start with '/'.
1158
11592010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1160
1161	* boot-strap: use absolute path for bmake when running tests.
1162
1163	* Makefile.in (MAKE_VERSION):  bump version to 20100510
1164	  Merge with NetBSD make, pick up
1165	  o revert use of realpath on argv[0]
1166	    too many corner cases.
1167	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1168
11692010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1170
1171	* Makefile.in (MAKE_VERSION): bump version to 20100505
1172	  Merge with NetBSD make, pick up
1173	  o fix for missed SIGCHLD when compiled with SunPRO
1174	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
1175	    done the job.
1176
11772010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1178
1179	* Makefile.in (MAKE_VERSION): bump version to 20100430
1180	  Merge with NetBSD make, pick up
1181	  o fflush stdout before writing to stdout
1182	
11832010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1184
1185	* Makefile.in (MAKE_VERSION): bump version to 20100423
1186	  Merge with NetBSD make, pick up
1187	  o updated unit tests for Haiku (this time for sure).
1188	* boot-strap: based on patch from joerg 
1189	  honor --with-default-sys-path better.
1190	* boot-strap: remove mention of --with-prefix-sys-path
1191	
11922010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1193
1194	* Makefile.in (MAKE_VERSION): bump version to 20100422
1195	* Merge with NetBSD make, pick up
1196	  o fix for vfork() on Darwin.
1197	  o fix for bogus $TMPDIR.
1198	  o set .MAKE.MODE=compat for -B
1199	  o set .MAKE.JOBS=max_jobs for -j max_jobs
1200	  o allow unit-tests to run without any *.mk
1201	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
1202	* boot-strap: ignore /usr/share/mk except on NetBSD.
1203	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
1204	  ensure sort(1) behaves as expected. 
1205	
12062010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1207
1208	* boot-strap: add FindHereOrAbove so we can use -m .../mk
1209
12102010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1211
1212	* Makefile.in (MAKE_VERSION): bump version to 20100420
1213	* Merge with NetBSD make, pick up
1214	  o fix for variable realpath() behavior.
1215	    we have to stat(2) the result to be sure.
1216	  o fix for .export (all) when nested vars use :sh
1217	
12182010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1219
1220	* Makefile.in (MAKE_VERSION): bump version to 20100414
1221	* Merge with NetBSD make, pick up
1222	  o use realpath to resolve argv[0] (for .MAKE) if needed.
1223	  o add realpath from libc.
1224	  o add :tA to resolve variable via realpath(3) if possible.
1225
12262010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1227
1228	* Makefile.in (MAKE_VERSION): bump version to 20100408
1229	* Merge with NetBSD make, pick up
1230	  o unit tests for .ERROR, .error
1231	  o fix for .ERROR to ensure it cannot be default target.
1232
12332010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1234
1235	* Makefile.in (MAKE_VERSION): bump version to 20100406
1236	* Merge with NetBSD make, pick up
1237	  o fix for compat mode "Error code" going to debug_file.
1238	  o fix for .ALLSRC being populated twice.
1239	  o support for .info, .warning and .error directives
1240	  o .MAKE.MODE to control make's operational mode
1241	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1242	    name(s).
1243	  o .MAKE.DEPENDFILE to control the name of the depend file
1244	  o .ERROR target - run on failure.
1245	
12462010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1247
1248	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1249
1250	* os.sh,arch.c: patch for Haiku from joerg at netbsd
1251
12522010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1253
1254	* Makefile.in (MAKE_VERSION): bump version to 20100222
1255	* Merge with NetBSD make, pick up
1256	  o better error msg for .for with mutiple inter vars
1257	
1258	* boot-strap: 
1259	  o use make-bootstrap.sh from joerg at netbsd
1260	    to avoid the need for a native make when bootstrapping.
1261	  o add "" everywhere ;-)
1262	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1263	    otherwise the pre-formated version.
1264
12652010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1266
1267	* Makefile.in (MAKE_VERSION): bump version to 20100102
1268	* Merge with NetBSD make, pick up:
1269	  o fix for -m .../
1270
12712009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
1272
1273	* Makefile.in (MAKE_VERSION): bump version to 20091118
1274	* Merge with NetBSD make, pick up:
1275	  o .unexport
1276	  o report lines that start with '.' and should have ':'
1277	    (catch typo's of .el*if).
1278	
12792009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1280
1281	* configure.in: Ensure that srcdir and mksrc are absolute paths.
1282
12832009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1284
1285	* Makefile.in (MAKE_VERSION): fix version to 20091007
1286
12872009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
1288
1289	* Makefile.in (MAKE_VERSION): bump version to 200910007
1290	* Merge with NetBSD make, pick up:
1291	  o fix for parsing of :S;...;...; applied to .for loop iterator
1292	    appearing in a dependency line. 
1293	
12942009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1295
1296	* Makefile.in (MAKE_VERSION): bump version to 20090909
1297	* Merge with NetBSD make, pick up:
1298	  o fix for -C, .CURDIR and .OBJDIR
1299	* boot-strap: 
1300	  o allow share_dir to be set independent of prefix.
1301	  o select default share_dir better when prefix ends in $HOST_TARGET
1302	  o if FORCE_BSD_MK etc were set, include them in the suggested
1303	    install-mk command.
1304
13052009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
1306
1307	* Makefile.in (MAKE_VERSION): bump version to 20090908
1308	* Merge with NetBSD make, pick up:
1309	  o .MAKE.LEVEL for recursion tracking
1310	  o fix for :M scanning \:
1311
13122009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1313
1314	* configure.in: Don't -D__EXTENSIONS__ if
1315	AC_USE_SYSTEM_EXTENSIONS says "no".
1316
13172009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
1318
1319	* Makefile.in (MAKE_VERSION): bump version to 20090826
1320	Simplify MAKE_VERSION to just the bare date.
1321	* Merge with NetBSD make, pick up:
1322	  o -C directory support.
1323	  o support for SIGINFO
1324	  o use $TMPDIR for temp files.
1325	  o child of vfork should be careful about modifying parent's state.
1326	
1327
13282009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
1329
1330	* Appy some patches for MiNT from David Brownlee
1331
13322009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
1333
1334	* Makefile.in (BMAKE_VERSION): bump version to 20090222
1335	* Merge with NetBSD make, pick up:
1336	  o Possible null pointer de-ref in Var_Set.
1337
13382009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
1339
1340	* Makefile.in (BMAKE_VERSION): bump version to 20090204
1341	* Merge with NetBSD make, pick up:
1342	  o bmake_malloc et al moved to their own .c
1343	  o Count both () and {} when looking for the end of a :M pattern
1344	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1345	  o strlist.c - functions for processing extendable arrays of pointers to strings.
1346	  o ClientData replaced with void *, so const void * can be used.
1347	  o New debug flag C for DEBUG_CWD
1348
13492008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
1350
1351	* Makefile.in (BMAKE_VERSION): bump version to 20081111
1352	  Apply patch from Joerg Sonnenberge to
1353	  configure.in:
1354	  o remove some redundant checks
1355	  o check for emlloc etc only in libutil and require the whole family.
1356	  util.c:
1357	  o remove [v]asprintf which is no longer used.
1358	
13592008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1360
1361	* Makefile.in (BMAKE_VERSION): bump version to 20081101
1362	* Merge with NetBSD make, pick up:
1363	  o util.c: avoid use of putenv() - christos
1364
13652008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1366
1367	* Makefile.in (BMAKE_VERSION): bump version to 20081030
1368	  pick up man page tweaks.
1369
13702008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
1371
1372	* Makefile.in: move processing of LIBOBJS to after is definition!
1373	  thus we'll have getenv.c in SRCS only if needed.
1374
1375	* make.1: add examples of how to use :?
1376
1377	* Makefile.in (BMAKE_VERSION): bump version to 20081029
1378	* Merge with NetBSD make, pick up:
1379	  o fix for .END processing with -j
1380	  o segfault from Parse_Error when no makefile is open
1381	  o handle numeric expressions in any variable expansion
1382	  o debug output now defaults to stderr, -dF to change it - apb
1383	  o make now uses bmake_malloc etc so that it can build natively 
1384	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1385
13862008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
1387
1388	* Makefile.in (BMAKE_VERSION): bump version to 20080808
1389	* Merge with NetBSD make, pick up:
1390	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1391	    long lines in Makefiles 
1392	  o optimizations for VarQuote by joerg
1393	  o fix for PR/38756: dominik: make dumps core on invalid makefile
1394	
13952008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
1396
1397	* Makefile.in (BMAKE_VERSION): bump version to 20080515
1398	* Merge with NetBSD make, pick up:
1399	  o fix skip setting vars in VAR_GLOBAL context, to handle
1400	    cases where VAR_CMD is used for other than command line vars.
1401
14022008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
1403
1404	* boot-strap (make_version): we may need to look in
1405	$prefix/share/mk for sys.mk 
1406
1407	* Makefile.in (BMAKE_VERSION): bump version to 20080514
1408	* Merge with NetBSD make, pick up:
1409	  o skip setting vars in VAR_GLOBAL context, when already set in
1410	  VAR_CMD which takes precedence.
1411
14122008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
1413
1414	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
1415	* Merge with NetBSD make, pick up:
1416	  o fix for ?= when LHS contains variable reference.
1417
14182008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1419
1420	* merge some patches from NetBSD pkgsrc.
1421	
1422	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1423	the MAKSYSPATH used during bootstrap. 
1424
1425	* Makefile.in (BMAKE_VERSION): bump version to 20080215
1426	* Merge with NetBSD make, pick up:
1427	  o warn if non-space chars follow 'empty' in a conditional.
1428
14292008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1430
1431	* Makefile.in (BMAKE_VERSION): bump version to 20080118
1432	* Merge with NetBSD make, pick up:
1433	  o consider dependencies read from .depend as optional - dsl
1434	  o remember when buffer for reading makefile grows - dsl
1435	  o add -dl (aka LOUD) - David O'Brien
1436
14372007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
1438
1439	* Makefile.in (BMAKE_VERSION): bump version to 20071022
1440	* Merge with NetBSD make, pick up:
1441	  o Allow .PATH<suffix> to be used for .include ""
1442
1443	* boot-strap: source default settings from .bmake-boot-strap.rc
1444
14452007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
1446
1447	* Makefile.in: fix maninstall on various systems 
1448	  provided that our man.mk is used.
1449	  For non-BSD systems we install the preformatted page
1450	  into $MANDIR/cat1
1451
14522007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
1453
1454	* boot-strap: make bmake.1 too, so maninstall works.
1455
14562007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
1457
1458	* Makefile.in (BMAKE_VERSION): bump version to 20071014
1459	* Merge with NetBSD make, pick up:
1460	  o revamped handling of defshell - configure no longer needs to
1461	    know the content of the shells array - apb
1462	  o stop Var_Subst modifying its input - apb
1463	  o avoid calling ParseTrackInput too often - dsl
1464
14652007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
1466
1467	* Makefile.in (BMAKE_VERSION): bump version to 20071011
1468	* Merge with NetBSD make, pick up:
1469	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1470
1471	* sigcompat.c: some tweaks for HP-UX 11.x based on 
1472	  patch from Tobias Nygren
1473
1474	* configure.in: update handling of --with-defshell to match
1475	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
1476	  will now do what one might hope - provided the chosen shell
1477	  behaves enough like sh.
1478
14792007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
1480
1481	* Makefile.in (BMAKE_VERSION): bump to 20071008
1482	* Merge with NetBSD make, pick up:
1483	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1484	  o .export/.MAKE.EXPORTED - export of variables - sjg
1485	  o .MAKE.MAKEFILES - track all makefiles read - sjg
1486	  o performance improvements - dsl
1487	  o revamp parallel job scheduling - dsl
1488	
14892006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1490
1491	* Makefile.in (BMAKE_VERSION): bump to 20060728
1492	* Merge with NetBSD make, pick up:
1493	  o extra debug info during variable and cond processing - sjg
1494	  o shell definition now covers newline - rillig
1495	  o minor mem leak in PrintOnError - sjg
1496
14972006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1498
1499	* Makefile.in (BMAKE_VERSION):  bump to 20060511
1500	* Merge with NetBSD make, pick up:
1501	  o more memory leaks - coverity
1502	  o possible overflow in ArchFindMember - coverity
1503	  o extract variable modifier code out of Var_Parse()
1504	    so it can be called recursively - sjg
1505	  o unit-tests/moderrs - sjg
1506
15072006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
1508
1509	* Makefile.in (BMAKE_VERSION): bump to 20060412
1510	* Merge with NetBSD make, pick up:
1511	  o fixes for some memory leaks - coverity
1512	  o only read first sys.mk etc when searching sysIncPath - sjg
1513
1514	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
1515	setting ${MAKEFILE} - OBATA Akio
1516
15172006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
1518
1519	* Makefile.in (BMAKE_VERSION): bump to 20060318
1520	* Merge with NetBSD make, pick up:
1521	  o cleanup of job.c to remove remote handling, distcc is more
1522	    useful and this code was likely bit-rotting - dsl
1523	  o fix for :P modifier - sjg
1524	* boot-strap: set default prefix to something reasonable 
1525	  (for me anyway). 
1526
15272006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
1528
1529	* Makefile.in (BMAKE_VERSION): bump to 20060301
1530	* Merge with NetBSD make, pick up:
1531	  o make .WAIT apply recursively, document and test case - apb
1532	  o allow variable modifiers in a variable appear anywhere in
1533	    modifier list, document and test case - sjg
1534
15352006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
1536
1537	* Makefile.in (BMAKE_VERSION): bump to 20060222
1538	* Merge with NetBSD make, pick up:
1539	  o improved job token handling - dsl
1540	  o SIG_DFL the correct signal before exec - dsl
1541	  o more debug info during parsing - dsl
1542	  o allow variable modifiers to be specified via variable - sjg
1543	* boot-strap: explain why we died if no mksrc
1544
15452005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
1546
1547	* Makefile.in (BMAKE_VERSION): bump to 20051105
1548	* configure.in: always set default_sys_path 
1549	  default is ${prefix}/share/mk
1550	  - remove prefix_sys_path, anyone wanting more than above
1551	    needs to set it manually.
1552
15532005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1554
1555	* boot-strap: make this a bit easier for pkgsrc folk.
1556	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1557	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1558
15592005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
1560
1561	* Makefile.in (BMAKE_VERSION): bump to 20051102
1562	* job.c (JobFinish): fix likely ancient merge lossage
1563	fix from Todd Vierling.
1564	* boot-strap (srcdir): allow setting mksrc=none
1565
15662005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
1567
1568	* Makefile.in (BMAKE_VERSION): bump to 20051031
1569	* ranlib.h: skip on OSF too.
1570	  (NetBSD PR 31864)
1571
15722005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
1573
1574	* Makefile.in (BMAKE_VERSION): bump to 20051002
1575	  fix a silly typo
1576
15772005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1578
1579	* Makefile.in (BMAKE_VERSION): bump to 20051001
1580	  support for UnixWare and some other systems,
1581	  based on patches from pkgsrc/bootstrap
1582
15832005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1584
1585	* Makefile.in (BMAKE_VERSION): bump to 20050901
1586	* Merge with NetBSD make, pick up:
1587	  o possible parse error causing us to wander off.
1588
15892005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
1590
1591	* Makefile.in (BMAKE_VERSION): bump to 20050606
1592	* Merge with NetBSD make, pick up:
1593	  o :0x modifier for randomizing a list
1594	  o fixes for a number of -Wuninitialized issues.
1595
15962005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
1597
1598	* Makefile.in (BMAKE_VERSION): bump to 20050530
1599	* Merge with NetBSD make, pick up:
1600	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
1601
1602	* README: was seriously out of date.
1603	
16042005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
1605
1606	* Important to use .MAKE rather than MAKE.
1607
16082005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
1609
1610	* Makefile.in (BMAKE_VERSION): bump to 20050315
1611	* Merge with NetBSD make, pick up:
1612	  o don't mistake .elsefoo for .else
1613	  o use suffix-specific search path correctly
1614	  o bunch of style nits
1615
16162004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1617
1618	* boot-strap: 
1619	o ensure that args to --src and --with-mksrc
1620	  are resolved before giving them to configure.
1621	o add -o "objdir" so that builder can control it,
1622	  default is $OS as determined by os.sh
1623	o add -q to suppress all the install instructions.
1624
16252004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
1626
1627	* Remove __IDSTRING()
1628
1629	* Makefile.in (BMAKE_VERSION): bump to 20040508
1630	* Merge with NetBSD make, pick up:
1631	  o posix fixes
1632	    - remove '-e' from compat mode
1633	    - add support for '+' command-line prefix.
1634	  o fix for handling '--' on command-line.
1635	  o fix include in lst.lib/lstInt.h to simplify '-I's
1636	  o we also picked up replacement of MAKE_BOOTSTRAP 
1637	    with !MAKE_NATIVE which is a noop, but possibly confusing.
1638
16392004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
1640
1641	* Makefile.in (BMAKE_VERSION): bump to 20040414
1642	* Merge with NetBSD make, pick up:
1643	  o allow quoted strings on lhs of conditionals
1644	  o issue warning when extra .else is seen
1645	  o print line numer when errors encountered during parsing from
1646	  string.
1647
16482004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
1649
1650	* Makefile.in (BMAKE_VERSION):  bump to 20040220
1651	* Merge with NetBSD make, pick up:
1652	  o fix for old :M parsing bug.
1653	  o re-jigged unit-tests
1654
16552004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1656
1657	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1658	so that './bmake -f Makefile test' works.
1659	
16602004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
1661
1662	* Makefile.in: (BMAKE_VERSION): bump to 20040214
1663	* Merge with NetBSD make, pick up:
1664	  o search upwards for *.mk
1665	  o fix for double free of var substitution buffers
1666	  o use of getopt replaced with custom code, since the usage
1667	  (re-scanning) isn't posix compatible.
1668
16692004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
1670
1671	* arch.c: don't include ranlib.h on ELF systems
1672	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1673
16742004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1675
1676	* Makefile.in (BMAKE_VERSION): bump to 20040118
1677
1678	* boot-strap (while): export vars we assign to on cmdline
1679	* unit-test/Makefile.in: ternary is .PHONY
1680
16812004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
1682
1683	* Makefile.in (BMAKE_VERSION): bump version to 20040108
1684	* Merge with NetBSD make, pick up:
1685	  o fix for ternary modifier
1686
16872004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
1688
1689	* Makefile.in (BMAKE_VERSION): bump version to 20040105
1690	* Merge with NetBSD make, pick up:
1691	  o fix for cond.c to handle compound expressions better
1692	  o variable expansion within sysV style replacements
1693	  
16942003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
1695
1696	* Make portable snprintf safer - output to /dev/null first to
1697	check space needed.
1698
1699	* Makefile.in (BMAKE_VERSION): bump version to 20031222
1700	* Merge with NetBSD make, pick up:
1701	  o -dg3 to show input graph when things go wrong.
1702	  o explicitly look for makefiles in objdir if not found in curdir so
1703	    that errors in .depend etc will be reported accurarely. 
1704	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1705	    instead as it more accurately reflects the expected behavior and
1706	    is more consistently implemented.
1707	  o avoid use of asprintf.
1708
17092003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
1710
1711	* util.c: Add asprintf and vasprintf.
1712
1713	* Makefile.in (BMAKE_VERSION): bump version to 20030928
1714	* Merge with NetBSD make, pick up:
1715	:[] modifier - allows picking words from a variable.
1716	:tW modifier - allows treating value as one big word.
1717	W flag for :C and :S - allows treating value as one big word.
1718	
17192003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
1720
1721	* Merge with NetBSD make
1722	pick up -de flag to enable printing failed command.
1723	don't skip 1st two dir entries (normally . and ..) since
1724	coda does not have them.
1725
17262003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1727
1728	* Makefile.in (BMAKE_VERSION): bump version to 20030909
1729	* Merge with NetBSD make, pick up:
1730	- changes for -V '${VAR}' to print fully expanded value
1731	  cf. -V VAR
1732	- CompatRunCommand now prints the command that failed.
1733	- several files got updated 3 clause Berkeley license.
1734	
17352003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
1736
1737	* boot-strap: Allow setting configure args on command line.
1738
17392003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
1740
1741	* configure.in: add --with-defshell to allow sh or ksh
1742	to be selected as default shell.
1743
1744	* Makefile.in: bump version to 20030731
1745
1746	* Merge with NetBSD make 
1747	Pick up .SHELL spec for ksh and associate man page changes.
1748	Also compat mode now uses the same shell specs.
1749
17502003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
1751
1752	* var.c (Var_Parse): ensure delim is initialized.
1753
1754	* unit-tests/Makefile.in: use single quotes to avoid problems from
1755	some shells.
1756
1757	* makefile.boot.in:
1758	Run the unit-tests as part of the bootstrap procedure.
1759
17602003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1761
1762	* unit-tests/Makefile.in: always force complaints from
1763	${TEST_MAKE} to be from 'make'.
1764
1765	* configure.in: add check for 'diff -u'
1766	also fix some old autoconf'isms
1767	
1768	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
1769	if using GCC add -Wno-cast-qual to CFLAGS for var.o
1770
1771	* Merge with NetBSD make
1772	Pick up fix for :ts parsing error in some cases.
1773	Pick unit-tests.
1774
17752003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
1776
1777	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
1778
1779	* var.c (Var_Parse): fix bug in :ts modifier, after const
1780	correctness fixes, must pass nstr to VarModify.
1781
17822003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
1783
1784	* Makefile.in: BMAKE_VERSION switch to a date based version.
1785	We'll generally use the date of last import from NetBSD.
1786
1787	* Merge with NetBSD make
1788	Pick up fixes for const-correctness, now passes WARNS=3 on
1789	NetBSD.
1790	Pick up :ts modifier, allows controlling the separator used
1791	between words in variable expansion.
1792
17932003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
1794
1795	* FILES: include boot-strap and os.sh
1796
1797	* Makefile.in: only set WARNS if we are NetBSD, the effect on
1798	FreeBSD is known to be bad.
1799
1800	* makefile.boot.in (bootstrap): make this the default target.
1801
1802	* Makefile.in: bump version to 3.1.19
1803
1804	* machine.sh: avoid A-Z with tr as it is bound to lose.
1805
18062003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
1807
1808	* Merge with NetBSD make
1809	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1810	Plus some doc fixes.
1811	
18122003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
1813
1814	* Merge with NetBSD make
1815	Pick up fix for PR/1523 - don't count a library as built, if there
1816	is no way to build it 
1817
1818	* Bump version to 3.1.18
1819
18202003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
1821
1822	* Merge with NetBSD make
1823	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1824	appears in src list.
1825
18262003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
1827
1828	* Merge with NetBSD make (mmm 10th anniversary!)
1829	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1830	pick up -X which tells us to not export VAR=val via setenv if
1831	we are already doing so via MAKEFLAGS.  This saves valuable env
1832	space on systems like Darwin.
1833	set MAKE_VERSION to 3.1.17
1834
1835	* parse.c: pix up fix for suffix rules
1836
18372003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
1838
1839	* Merge with NetBSD make.
1840	pick up fix for propagating -B via MAKEFLAGS.
1841	set MAKE_VERSION to 3.1.16
1842
1843	* Apply some patches from pkgsrc-bootstrap/bmake
1844	Originally by Grant Beattie <grant@netbsd.org>
1845	I may have missed some - since they are based on bmake-3.1.12
1846	
18472002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
1848
1849	* makefile.boot.in (bmake): update install targets for those that
1850	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1851	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
1852
1853	* bmake.cat1: update the pre-formatted man page!
1854
18552002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
1856
1857	* Merge with NetBSD make.
1858	pick up fix for premature free of pointer used in call
1859	to Dir_InitCur().
1860	set MAKE_VERSION to 3.1.15
1861
18622002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
1863
1864	* configure.in: determine suitable value for MKSRC.
1865	override using --with-mksrc=PATH.
1866
1867	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1868	configs(8) will use 'sun4' as an alias for 'sparc'.
1869
18702002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
1871
1872	* Merge with NetBSD make.
1873	pick up ${.PATH}
1874	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1875	set MAKE_VERSION to 3.1.14
1876	add configure checks for killpg and sys/socket.h
1877
18782002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
1879
1880	* tag bmake-3-1-13
1881	
1882	* makefile.boot.in (bmake): use install-mk
1883	Also setup ./mk before trying to invoke bmake.boot incase we
1884	needed install-mk to create a sys.mk for us. 
1885
1886	* configure.in: If we need to add -I${srcdir}/missing, make it an
1887	absolute path so that it works for lst.lib too.
1888
1889	* make.h: always include sys/cdefs.h since we provide one if the
1890	host does not.
1891	
1892	* Makefile.in (install-mk): 
1893	use MKSRC/install-mk which will do the right thing.
1894	use uname -p for ARCH if possible.
1895	since install-mk will setup links bsd.prog.mk -> prog.mk if
1896	needed, just .include bsd.prog.mk
1897
1898	* Merge with NetBSD make (NetBSD-1.6)
1899	Code is ansi-C only now.
1900	Bug in handling of dotLast is fixed.
1901	Can now assign .OBJDIR and make will reset its notions of life.
1902	New modifiers :tu :tl for toUpper and toLower.
1903
1904Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1905
1906	* Merge with NetBSD make
1907	pick up fix for .END failure in compat mode.
1908	pick up fix for extra va_end() in ParseVErrorInternal.
1909
1910Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1911
1912	* configure.in: for systems that have sys/cdefs.h check if it is
1913	compatible.  If not, include the one under missing, but tell it to
1914	include the native one too - necessary on Linux.
1915
1916	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1917	include_next (for gcc) to get the native sys/cdefs.h
1918
1919Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1920
1921	* job.c (JobFinish): Fix an earlier merge bug that resulted in
1922	leaking descriptors when using -jN.
1923	
1924	* job.c (JobPrintCommand): See if "curdir" exists before
1925	attempting to chdir().  Doing the chdir directly in make (when in
1926	compat mode) fails silently, so let the -jN version do the same.
1927	This can happen when building kernels in an object tree and
1928	playing clever games to reset .CURDIR.
1929
1930	* Merged with NetBSD make
1931	pick up .USEBEFORE
1932
1933Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1934
1935	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1936
1937Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1938
1939	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1940	us not to export the iterator variable when using VAR_CMD context.
1941
1942Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1943
1944	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1945	its the wrong "fix".
1946
1947Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1948
1949	* Redesigned export of VAR_CMD's via MAKEFLAGS.
1950	We now simply append the variable names to .MAKEOVERRIDES, and
1951	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1952	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1953	Apart from fixing quoting bugs in previous version, this allows us
1954	to export vars to the environment by simply doing:
1955	.MAKEOVERRIDES+= PATH 
1956	Merged again with NetBSD make, but the above is the only change.
1957
1958	* configure.in: added
1959	--disable-pwd-override		disable $PWD overriding getcwd()
1960	--disable-check-make-chdir	disable make trying to guess 
1961		when it should automatically cd ${.CURDIR}
1962
1963	* Merge with NetBSD make, changes include:
1964	parse.c (ParseDoDependency): Spot that the syntax error is
1965	caused by an unresolved cvs/rcs conflict and say so.
1966	var.c: most of Var* functions now take a ctxt as 1st arg.
1967	now does variable substituion on rhs of sysv style modifiers.
1968	
1969	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
1970	is now done here.  We append the name='value' to .MAKEOVERRIDES
1971	rather than directly into MAKEFLAGS as this allows a Makefile to
1972	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
1973	very similar mechanism.  Note that in adding name='value' to
1974	.MAKEOVERRIDES we do the moral equivalent of:
1975	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1976
1977Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1978
1979	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1980
1981	* Merged with NetBSD make
1982	make -dx can now be used to run commands via sh -x
1983	better error messages on exec failures.
1984
1985Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1986
1987	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1988	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
1989	MACHINE etc otherwise they propagate from the previous bmake.
1990
1991	* configure.in (machine): allow --with-machine=generic to make
1992	configure use machine.sh to set MACHINE. 
1993
1994	* job.c (JobInterrupt): convert to using WAIT_T and friends.
1995
1996	* Makefile.in: mention in bmake.1 that we use autoconf.
1997
1998	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1999
2000Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2001
2002	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
2003	as that rather defeats the usefulness of ${MAKEFILE}.
2004
2005	* main.c (MainParseArgs): append command line variable assignments
2006	to MAKEFLAGS so that they get propagated to child make's.
2007	Apparently this is required POSIX behaviour?  Its useful anyway.
2008
2009Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2010
2011	* compat.c (CompatRunCommand): don't use perror() since stdio may
2012	cause problems in child of vfork().
2013
2014	* compat.c, main.c: Call PrintOnError() when we are going to bail.
2015	This routine prints out the .curdir where we stopped and will also
2016	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2017
2018	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
2019	:@ expansion.
2020
2021	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
2022
2023	* Added RCSid's for the files we've touched.
2024	
2025Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2026
2027	* configure.in:	Thanks to some clues from mdb@juniper.net,
2028	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2029	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
2030
2031  --with-machine=MACHINE  explicitly set MACHINE
2032  --with-force-machine=MACHINE  set FORCE_MACHINE
2033  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
2034  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
2035  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
2036  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
2037 	
2038	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2039
2040	* makefile: added a pathetically simple makefile to drive
2041	bootstrapping.  Running configure by hand is more useful.
2042
2043	* Makefile.in: added MAKE_VERSION, and reworked things to be less
2044	dependent on NetBSD bsd.*.mk
2045	
2046	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2047	_PATH_OBJDIRPREFIX for those that don't want a default.
2048	construct _PATH_DEFSYSPATH from the info we get from configure.
2049
2050	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2051	if MAKE_VERSION is defined.
2052	
2053	* compat.c: when we bail, print out the .CURDIR we were in.
2054	
2055Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2056
2057	* Merged with NetBSD make
2058
2059	* var.c: fixed a bug in the handling of the modifier :P
2060	if the node as found but the path was null, we segfault trying to
2061	duplicate it.
2062
2063Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2064
2065	* Merged with NetBSD make
2066	
2067	* make.c: Make_OODate's test for a library out of date was using
2068	cmtime where it should have used mtime (my bug).
2069
2070	* compat.c: Use perror() to tell us what really went wrong when we
2071	cannot exec a command.
2072	
2073Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2074
2075	* Merged with NetBSD make
2076	
2077Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2078
2079	* Merged with NetBSD make
2080	
2081Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2082
2083	* Merged with NetBSD make
2084	
2085Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2086
2087	* Merged with NetBSD make
2088	
2089Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2090
2091	* util.c: don't provide signal() since we use sigcompat.c
2092
2093	* Makefile.in: added a build target.
2094
2095	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2096	These allow some quite clever magic.
2097
2098	* main.c (main): added support for getenv(MAKESYSPATH).
2099
2100Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2101
2102	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2103	This avoids objdir having a different value depending on how a
2104	directory was reached (via command line, or subdir.mk).
2105
2106	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2107	
2108Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2109
2110	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2111	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2112	I've been testing this in NetBSD's make for some weeks.
2113
2114	* Turn Makefile into Makefile.in and make it useful.
2115	
2116Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
2117
2118	* Imported NetBSD's -current make(1) and resolve conflicts.
2119	
2120	* Applied autoconf patches from bmake v2
2121
2122	* Imported clean code base from NetBSD-1.0
2123