xref: /freebsd/contrib/bmake/ChangeLog (revision 08c4a937a6685f05667996228898521fc453f8f3)
12018-09-21  Simon J. Gerraty  <sjg@bad.crufty.net>
2
3	* VERSION: 20180919
4	  Merge with NetBSD make, pick up
5	  o var.c: add :q
6	  o dir.c: cleanup caching of stats
7
82018-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
9
10	* Makefile.config.in: use += where it makes sense.
11
122018-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
13
14	* VERSION: 20180512
15	  Merge with NetBSD make, pick up
16	  o job.c: skip polling job token pipe
17
182018-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
19
20	* VERSION: 20180405
21	  Merge with NetBSD make, pick up
22	  o parse.c: be more cautious about detecting depenency line
23	    rather than sysV style include.
24
252018-02-22  Simon J. Gerraty  <sjg@bad.crufty.net>
26
27	* VERSION: 20180222
28	  Merge with NetBSD make, pick up
29	  o parse.c: avoid calling sysconf for every call to loadfile
30
312018-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
32
33	* VERSION: 20180218
34	  Merge with NetBSD make, pick up
35	  o var.c: Var_Set handle NULL value anytime.
36
372018-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
38
39	* VERSION: 20180212
40	  Merge with NetBSD make, pick up
41	  o parse.c: do not treat .info as warning with -W
42
432017-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
44
45	* VERSION: 20171207
46	  Merge with NetBSD make, pick up
47	  o var.c: Var_Append use Var_Set if var not previously set
48	    so that VAR_CMD is handled correctly.
49	    Add a suitable unit-test.
50
512017-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
52
53	* VERSION (_MAKE_VERSION): 20171126
54
55	* aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
56	  since AC_TRY_COMPILE puts input inside main()
57	  which upsets modern compilers.
58
592017-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
60
61	* VERSION: 20171118
62	  Merge with NetBSD make, pick up
63	  o var.c: do not append to variable set on command line
64	    add unit-test to catch this.
65
662017-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
67
68	* VERSION: 20171028
69	  Merge with NetBSD make, pick up
70	  o main.c: ignore empty MAKEOBJDIR
71
72	* Makefile.config.in:
73	  make @prefix@ @machine*@ and @default_sys_path@ defaults.
74
752017-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
76
77	* VERSION: 20171005
78
79	* unit-tests/dotwait.mk: redirect stderr through pipe for more
80	  consistent result on some platforms.
81
822017-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
83
84	* machine.sh: entry for AIX
85
862017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
87
88	* VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
89	  to a file that can be included by configure as well as make.
90	  This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
91
922017-08-10  Simon J. Gerraty  <sjg@bad.crufty.net>
93
94	* Makefile (_MAKE_VERSION): 20170810
95	  Merge with NetBSD make, pick up
96	  o meta.c: if target is in subdir we only need subdir name in
97	    meta_name.
98
992017-07-20  Simon J. Gerraty  <sjg@bad.crufty.net>
100
101	* Makefile (_MAKE_VERSION): 20170720
102	  Merge with NetBSD make, pick up
103	  o compat.c: pass SIGINT etc onto child and wait for it to exit
104	    before we self-terminate.
105
1062017-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
107
108	* Makefile (_MAKE_VERSION): 20170711
109	  forgot to update after merge on 20170708 ;-)
110	  o main.c: refactor to reduce size of main function.
111	    add -v option to always fully expand values.
112	  o meta.c: ensure command output in meta file has ending newline
113	    even when filemon not being used.
114	    When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
115	    pathname via ':L' since any ':' in pathname breaks that.
116	    Instead set a '${.p.}' to pathname in the target context and
117	    use that.
118
1192017-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
120
121	* Makefile (_MAKE_VERSION): 20170510
122	  Merge with NetBSD make, pick up
123	  o main.c: Main_SetObjdir: ensure buf2 is in scope
124
1252017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
126
127	* Makefile (_MAKE_VERSION): 20170505
128	  see mk/ChangeLog
129
1302017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
131
132	* parse.c: not everyone has stdint.h
133
1342017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
135
136	* Makefile (_MAKE_VERSION): 20170501
137	  see mk/ChangeLog
138
1392017-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
140
141	* Makefile (_MAKE_VERSION): 20170421
142	  Merge with NetBSD make, pick up
143	  o str.c: Str_Match: fix closure tests for [^] and add unit-test.
144
1452017-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
146
147	* Makefile (_MAKE_VERSION): 20170420
148	  Merge with NetBSD make, pick up
149	  o main.c: only use -C arg "as is" if it contains no
150	    relative component.
151
1522017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
153
154	* Makefile (_MAKE_VERSION): 20170418
155	  Merge with NetBSD make, pick up
156	  o main.c: fix Main_SetObjdir() for relative paths (eg obj).
157
1582017-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
159
160	* Makefile (_MAKE_VERSION): 20170417
161	  Merge with NetBSD make, pick up
162	  o fixes a number of coverity complaints
163	    - check return value of fseek, fcntl
164	    - plug memory leak in Dir_FindFile, Var_LoopExpand,
165	      JobPrintCommand, ParseTraditionalInclude
166	    - use bmake_malloc() where NULL is not tollerated
167	    - use MAKE_ATTR_UNUSED rather that kludges like
168	      return(unused ? 0 : 0)
169	    - use purge_cached_realpaths() rather than abuse cached_realpath()
170
1712017-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
172
173	* Makefile (_MAKE_VERSION): 20170413
174	  Merge with NetBSD make, pick up
175	  o main.c: when setting .OBJDIR ignore '$' in paths.
176
177	* job.c: use MALLOC_OPTIONS to set malloc_options.
178
1792017-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
180
181	* Makefile (_MAKE_VERSION): 20170411
182	  Merge with NetBSD make, pick up
183	  o str.c: Str_Match: allow [^a-z] to behave as expected.
184
1852017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
186
187	* Makefile (_MAKE_VERSION): 20170326
188	  Merge with NetBSD make, pick up
189	  o main.c: purge relative paths from realpath cache when .OBJDIR
190	    is changed.
191
1922017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
193
194	* Makefile (_MAKE_VERSION): 20170311
195	  Merge with NetBSD make, pick up
196          o main.c: only use -C arg "as is" if it starts with '/'.
197
1982017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
199
200	* Makefile (_MAKE_VERSION): 20170301
201	  Merge with NetBSD make, pick up
202	  o main.c: use -C arg "as is" rather than getcwd()
203	    if they identify the same directory.
204	  o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
205
2062017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
207
208	* Makefile (_MAKE_VERSION): 20170201
209	  Merge with NetBSD make, pick up
210	  o var.c: allow :_=var and avoid use of special context.
211
2122017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
213
214	* Makefile (_MAKE_VERSION): 20170130
215	  Merge with NetBSD make, pick up
216	  o var.c: add :range and :_
217	  o main.c: partially initialize Dir_* before MainParseArgs()
218	    can be called.
219	    If -V, skip Main_ExportMAKEFLAGS()
220
2212017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
222
223	* Makefile (_MAKE_VERSION): 20170114
224	  Merge with NetBSD make, pick up
225	  o var.c: allow specifying the utc value used by :{gm,local}time
226
2272016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
228
229	* Makefile (_MAKE_VERSION): 20161212
230	  Merge with NetBSD make, pick up
231          o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
232
2332016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
234
235	* Makefile (_MAKE_VERSION): 20161209
236	  Merge with NetBSD make, pick up
237	  o main.c: cleanup setting of .OBJDIR
238	  o parse.c: avoid coredump from (var)=val
239
2402016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
241
242	* Makefile (_MAKE_VERSION): 20161126
243	  Merge with NetBSD make, pick up
244	  o make.c: Make_OODate: report src node name if path not set
245
2462016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
247
248	* Makefile (_MAKE_VERSION): 20160926
249	  Merge with NetBSD make, pick up
250	  o support for .DELETE_ON_ERROR: (remove targets that fail)
251
2522016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
253
254	* Makefile MAN: tweak .Dt to match ${PROG}
255
2562016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
257
258	* Makefile (_MAKE_VERSION): 20160818
259	  its a neater number; pick up whitespace fixes to man page.
260
2612016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
262
263	* Makefile (_MAKE_VERSION): 20160817
264	  Merge with NetBSD make, pick up
265	  o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
266	    so we can call it before adding entries to missingFiles.
267	    Thus we do not track files we have been told to ignore.
268
2692016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
270
271	* Makefile (_MAKE_VERSION): 20160815
272	  Merge with NetBSD make, pick up
273	  o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
274	    pathnames, and skip if the expansion is empty.
275	    Useful for dirdeps.mk when checking DIRDEPS_CACHE.
276
2772016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
278
279	* Makefile (_MAKE_VERSION): 20160812
280	  Merge with NetBSD make, pick up
281	  o meta.c: remove all missingFiles entries that match a deleted
282	    dir.
283	  o main.c: set .ERROR_CMD if possible.
284
2852016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
286
287	* Makefile (_MAKE_VERSION): 20160606
288	  Merge with NetBSD make, pick up
289	  o dir.c: extend mtimes cache to others via cached_stat()
290
2912016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
292
293	* Makefile (_MAKE_VERSION): 20160604
294	  Merge with NetBSD make, pick up
295	  o meta.c: missing filemon data is only relevant if we read a
296	    meta file.
297	    Also do not return oodate for a missing metafile if gn->path
298	    points to .CURDIR
299
3002016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
301
302	* Makefile (_MAKE_VERSION): 20160602
303	  Merge with NetBSD make, pick up
304	  o cached_realpath(): avoid hitting filesystem more than necessary.
305	  o meta.c: refactor need_meta decision, add knobs for
306	    missing meta file and filemon data wrt out-of-datedness.
307
3082016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
309
310	* Makefile (_MAKE_VERSION): 20160528
311
312	* boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
313
3142016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
315
316	* Makefile (_MAKE_VERSION): 20160512
317	  Merge with NetBSD make, pick up
318	  o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
319	    this is useful for gcov builds.
320	  o propagate errors from filemon(4).
321
3222016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
323
324	* Makefile (_MAKE_VERSION): 20160509
325	  Merge with NetBSD make, pick up
326	  o remove use of non-standard types u_int etc.
327	  o meta.c: apply realpath() before matching against metaIgnorePaths
328
3292016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
330
331	* Makefile (_MAKE_VERSION): 20160404
332	  Merge with NetBSD make, pick up
333	  o allow makefile to set .MAKE.JOBS
334
335	* Makefile (PROG_NAME): use ${_MAKE_VERSION}
336
3372016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
338
339	* Makefile (_MAKE_VERSION): 20160315
340	  Merge with NetBSD make, pick up
341	  o fix handling of archive members
342
3432016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
344
345	* Makefile (_MAKE_VERSION): rename variable to avoid interference
346	  with checks for ${MAKE_VERSION}
347
3482016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
349
350	* Makefile (MAKE_VERSION): 20160310
351	  Merge with NetBSD make, pick up
352	  o meta.c: treat missing Read file same as Write, incase we Delete it.
353
3542016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
355
356	* Makefile (MAKE_VERSION): 20160307
357	  Merge with NetBSD make, pick up
358	  o var.c: fix :ts\nnn to be octal by default.
359	  o meta.c: meta_finish() to cleanup memory.
360
3612016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
362
363	* Makefile (MAKE_VERSION): 20160226
364	  Merge with NetBSD make, pick up
365	  o meta.c: allow meta file for makeDepend if makefiles want it.
366
3672016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
368
369	* var.c: default .MAKE.SAVE_DOLLARS to FALSE
370	  for backwards compatability.
371
372	* Makefile (MAKE_VERSION): 20160220
373	  Merge with NetBSD make, pick up
374	  o var.c: add knob to control handling of '$$' in :=
375
3762016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
377
378	* Makefile (MAKE_VERSION): 20160218
379	  Merge with NetBSD make, pick up
380	  o var.c: add .export-literal allows us to fix sys.clean-env.mk
381	    post the changes to Var_Subst.
382	    Var_Subst now takes flags, and does not consume '$$' in :=
383
3842016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
385
386	* Makefile (MAKE_VERSION): 20160217
387	  Merge with NetBSD make, pick up
388	  o var.c: preserve '$$' in :=
389	  o parse.c: add .dinclude for handling included
390	    makefile like .depend
391
3922015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
393
394	* Makefile (MAKE_VERSION): 20151220
395	  Merge with NetBSD make, pick up
396	  o suff.c: re-initialize suffNull when clearing suffixes.
397
3982015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
399
400	* Makefile (MAKE_VERSION): 20151201
401	  Merge with NetBSD make, pick up
402	  o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
403	  o meta.c: meta_oodate: use lstat(2) for checking link target
404	    in case it is a symlink.
405	  o var.c: avoid calling brk_string and Var_Export1 with empty
406	    strings.
407
4082015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
409
410	* Makefile (MAKE_VERSION): 20151126
411	  Merge with NetBSD make, pick up
412	  o parse.c: ParseTrackInput don't access beyond
413	    end of old value.
414
4152015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
416
417	* Makefile (MAKE_VERSION): 20151022
418
419	* Add support for BSD/OS which lacks inttypes.h
420	  and really needs sys/param.h for sys/sysctl.h
421	  also 'type' is not a shell builtin.
422
423	* var.c: eliminate uint32_t and need for inttypes.h
424
425	* main.c: PrintOnError flush stdout before run .ERROR
426
427	* parse.c: cope with _SC_PAGESIZE not being defined.
428
429
4302015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
431
432	* Makefile (MAKE_VERSION): 20151020
433	  Merge with NetBSD make, pick up
434	  o var.c: fix uninitialized var
435
4362015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
437
438	* var.c: the conditional expressions used with ':?' can be
439	expensive, if already discarding do not evaluate or expand
440	anything.
441
4422015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
443
444	* Makefile (MAKE_VERSION): 20151010
445	  Merge with NetBSD make, pick up
446	  o Add Boolean wantit flag to Var_Subst and Var_Parse
447	    when FALSE we know we are discarding the result and can
448	    skip operations like Cmd_Exec.
449
4502015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
451
452	* Makefile (MAKE_VERSION): 20151009
453	  Merge with NetBSD make, pick up
454	  o var.c: don't check for NULL before free()
455	  o meta.c: meta_oodate, do not hard code ignore of makeDependfile
456
4572015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
458
459	* Makefile (MAKE_VERSION): 20150910
460	  Merge with NetBSD make, pick up
461	  o main.c: with -w print Enter/Leaving messages for objdir too
462	    if necessary.
463	  o centralize shell metachar handling
464
465	* FILES: add metachar.[ch]
466
4672015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
468
469	* Makefile (MAKE_VERSION): 20150606
470	  Merge with NetBSD make, pick up
471	  o make.1: document .OBJDIR target
472
4732015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
474
475	* Makefile (MAKE_VERSION): 20150505
476	  Merge with NetBSD make, pick up
477	  o cond.c: be strict about lhs of comparison when evaluating .if
478	    but less so when called from variable expansion.
479	  o unit-tests/cond2.mk: test various error conditions
480
4812015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
482
483	* machine.sh (MACHINE): Add Bitrig
484	  patch from joerg@netbsd.org
485
4862015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
487
488	* Makefile (MAKE_VERSION): 20150418
489	  Merge with NetBSD make, pick up
490	  o job.c: use memmove() rather than memcpy()
491
492	* unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
493	  case, so skip it.
494
4952015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
496
497	* Makefile (MAKE_VERSION): 20150411
498	  bump version - only mk/ changes.
499
5002015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
501
502	* Makefile (MAKE_VERSION): 20150410
503	  Merge with NetBSD make, pick up
504	  o document different handling of '-' in jobs mode vs compat
505	  o fix jobs mode so that '-' only applies to whole job
506	    when shell lacks hasErrCtl
507	  o meta.c: use separate vars to track lcwd and latestdir (read)
508	    per process
509
5102015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
511
512	* Makefile (MAKE_VERSION): 20150401
513	  Merge with NetBSD make, pick up
514	  o meta.c: close meta file in child
515
516	* Makefile: use BINDIR.bmake if set.
517	  Same for MANDIR and SHAREDIR
518	  Handy for testing release candidates
519	  in various environments.
520
5212015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
522
523	* move initialization of savederr to block where it is used
524	  to avoid spurious warning from gcc5
525
5262014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
527
528	* Makefile (MAKE_VERSION): 20141111
529	  just a cooler number
530
5312014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
532
533	* Makefile (MAKE_VERSION): 20141105
534	  Merge with NetBSD make, pick up
535	  o revert major overhaul of suffix handling
536	    and POSIX compliance - too much breakage
537	    and impossible to make backwards compatible.
538	  o we still have the new unit test structure which is ok.
539	  o meta.c ensure "-- filemon" is at start of line.
540
5412014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
542
543	* configure.in: test that result of getconf PATH_MAX is numeric
544	  and discard if not.  Apparently needed for Hurd.
545
5462014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
547
548	* Makefile (MAKE_VERSION): 20140830
549	  Merge with NetBSD make, pick up
550	  o major overhaul of suffix handling
551	  o improved POSIX compliance
552	  o overhauled unit-tests
553
5542014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
555
556	* Makefile (MAKE_VERSION): 20140620
557	  Merge with NetBSD make, pick up
558	  o var.c return varNoError rather than var_Error for ::= modifiers.
559
5602014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
561
562	* Makefile (MAKE_VERSION): 20140522
563	  Merge with NetBSD make, pick up
564	  o var.c detect some parse errors.
565
5662014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
567
568	* Fix spelling errors - patch from Pedro Giffuni
569
5702014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
571
572	* Makefile (MAKE_VERSION): 20140214
573	  Merge with NetBSD make, pick up
574	  o .INCLUDEFROM*
575	  o use Var_Value to get MAKEOBJDIR[PREFIX]
576	  o reduced realloc'ign in brk_string.
577	* configure.in: add a check for compiler supporting __func__
578
5792014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
580
581	* boot-strap: ignore mksrc=none
582
5832014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
584
585	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
586
5872014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
588
589	* Makefile (MAKE_VERSION): 20140101
590	* configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
591	* Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
592	* make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
593	  Hurd)
594	* configure.in: Add AC_PREREQ and check for
595	  sysctl; patch from Andrew Shadura andrewsh at debian.org
596
5972013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
598
599	* Makefile (MAKE_VERSION): 20131010
600	* lose the const from arg to systcl to avoid problems on older BSDs.
601
6022013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
603
604	* Makefile (MAKE_VERSION): 20131001
605	  Merge with NetBSD make, pick up
606	  o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
607	    hw.machine_arch if necessary.
608	  o meta.c: meta_oodate - need to look at src of Link and target
609	    of Move as well.
610	* main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
611	  provide __arraycount() if needed.
612
6132013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
614
615	* Makefile (MAKE_VERSION): 20130904
616	  Merge with NetBSD make, pick up
617	  o Add VAR_INTERNAL context, so that internal setting of
618	    MAKEFILE does not override value set by makefiles.
619
6202013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
621
622	* Makefile (MAKE_VERSION): 20130902
623	  Merge with NetBSD make, pick up
624	  o CompatRunCommand: only apply shellErrFlag when errCheck is true
625
6262013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
627
628	* Makefile (MAKE_VERSION): 20130828
629	  Merge with NetBSD make, pick up
630	  o Fix VAR :sh = syntax from Will Andrews at freebsd.org
631	  o Call Job_SetPrefix() from Job_Init() so makefiles have
632	    opportunity to set .MAKE.JOB.PREFIX
633
6342013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
635
636	* Makefile (MAKE_VERSION): 20130730
637	  Merge with NetBSD make, pick up
638	  o Allow suppression of --- job -- tokens by setting
639	    .MAKE.JOB.PREFIX empty.
640
6412013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
642
643	* Makefile (MAKE_VERSION): 20130716
644	  Merge with NetBSD make, pick up
645	  o number of gmake compatibility tweaks
646	    -w for gmake style entering/leaving messages
647	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
648	    handle MAKEFLAGS containing only letters.
649	  o when overriding a GLOBAL variable on the command line,
650	    delete it from GLOBAL context so -V doesn't show the wrong
651	    value.
652
6532013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
654
655	* configure.in: We don't need MAKE_LEVEL_SAFE anymore.
656
657	* Makefile (MAKE_VERSION): 20130706
658	  Merge with NetBSD make, pick up
659	  o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
660	    true so that CompatRunCommand() can use it, to ensure
661	    consistent behavior with jobs mode.
662	  o use MAKE_LEVEL_ENV to define the variable to propagate
663	    .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
664	  o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
665	    paths to ignore.
666
6672013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
668
669	* Makefile (MAKE_VERSION): 20130604
670	  Merge with NetBSD make, pick up
671	  o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
672	    to avoid leaking descriptors.
673
6742013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
675
676	* Makefile (MAKE_VERSION): 20130528
677	  Merge with NetBSD make, pick up
678	  o var.c: cleanup some left-overs in VarHash()
679
6802013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
681
682	* Makefile (MAKE_VERSION): 20130520
683	  generate manifest from component FILES rather than have to
684	  update FILES when mk/FILES changes.
685
6862013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
687
688	* Makefile (MAKE_VERSION): 20130518
689	  Merge with NetBSD make, pick up
690	  o suff.c: don't skip all processsing for .PHONY targets
691	    else wildcard srcs do not get expanded.
692	  o var.c: expand name of variable to delete if necessary.
693
6942013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
695
696	* Makefile (MAKE_VERSION): 20130330
697	  Merge with NetBSD make, pick up
698	  o meta.c: refine the handling of .OODATE in commands.
699	    Rather than suppress command comparison for the entire script
700	    as though .NOMETA_CMP had been used, only suppress it for the
701	    one command line.
702	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
703	    suppress comparison of a command without otherwise affecting it.
704	  o make.1: document that
705
7062013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
707
708	* Makefile (MAKE_VERSION): 20130321
709	  yes, not quite right but its a cooler number.
710	  Merge with NetBSD make, pick up
711	  o parse.c: fix ParseGmakeExport to be portable
712	    and add a unit-test.
713	* meta.c: call meta_init() before makefiles are read and if built
714	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
715	  this let's makefiles test for support.
716	  Call meta_mode_init() to process .MAKE.MODE.
717
7182013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
719
720	* Makefile (MAKE_VERSION): 20130305
721	  Merge with NetBSD make, pick up
722	  o run .STALE: target when a dependency from .depend is missing.
723	  o job.c: add Job_RunTarget() for the above and .BEGIN
724
7252013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
726
727	* Makefile (MAKE_VERSION): 20130303
728	  Merge with NetBSD make, pick up
729	  o main.c: set .MAKE.OS to utsname.sysname
730	  o job.c: more checks for read and poll errors
731	  o var.c: lose VarChangeCase() saves 4% time
732
7332013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
734
735	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
736	  want to use MAKEOBJDIR
737
7382013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
739
740	* Merge with NetBSD make, pick up
741	  o make.1: more info on how shell commands are handled.
742	  o job.c,main.c: detect write errors to job pipes.
743
7442013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
745
746	* Makefile (MAKE_VERSION): 20130123
747	  Merge with NetBSD make, pick up
748	  o meta.c: if script uses .OODATE and meta_oodate() decides
749	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
750	  o var.c: in debug output indicate which variabale modifiers
751	    apply to.
752	  o remove Check_Cwd logic the makefiles have been fixed.
753
7542012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
755
756	* makefile.in: add a simple makefile for folk who insist on
757	  ./configure; make; make install
758	  it just runs boot-strap
759	* include mk/* to accommodate the above
760	* boot-strap:  re-work to accommodate the above
761	  mksrc defaults to $Mydir/mk
762	  allow op={configure,build,install,clean,all}
763	  add options to facilitate install
764	* Makefile.config.in: just the bits set by configure
765	* Makefile: bump version to 20121212
766	  abandon Makefile.in (NetBSD Makefile)
767	  leverage mk/* instead
768	* configure.in: ensure srcdir is absolute
769
7702012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
771
772	* Makefile.in (MAKE_VERSION): 20121111
773	  fix generation of bmake.cat1
774
7752012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
776
777	* Makefile.in (MAKE_VERSION): 20121109
778	  Merge with NetBSD make, pick up
779	  o make.c: MakeBuildChild: return 0 so search continues if a
780	    .ORDER dependency is detected.
781	  o unit-tests/order: test the above
782
7832012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
784
785	* Makefile.in (MAKE_VERSION): 20121102
786	  Merge with NetBSD make, pick up
787	  o cond.c: allow cond_state[] to grow.
788	    In meta mode with a very large tree, we can hit the limit
789	    while processing dirdeps.
790
7912012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
792
793	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
794
7952012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
796
797	* Makefile.in (MAKE_VERSION): 20121010
798	  o protect syntax that only bmake parses correctly.
799	  o remove auto setting of FORCE_MACHINE, use configure's
800	    --with-force-machine=whatever if that is desired.
801
8022012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
803
804	* Makefile.in: do not lose history from make.1 when generating bmake.1
805
8062012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
807
808	* Makefile.in (MAKE_VERSION): 20121007
809	  Merge with NetBSD make, pick up
810	  o compat.c: ignore empty commands - same as jobs mode.
811	  o make.1: document meta chars that cause use of shell
812
8132012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
814
815	* Makefile.in (MAKE_VERSION): bump version to 20120911
816	* bsd.after-import.mk: include Makefile.inc early and allow it to
817	  override PROG
818
8192012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
820
821	* Makefile.in (MAKE_VERSION): bump version to 20120831
822	  Merge with NetBSD make, pick up
823	  o cast sizeof() to int for comparison
824	  o minor make.1 tweak
825
8262012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
827
828	* Makefile.in (MAKE_VERSION): bump version to 20120830
829	  Merge with NetBSD make, pick up
830	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
831	  o debug flag -dV causes -V to show raw value regardless.
832
8332012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
834
835	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
836	  gets SRCTOP set.
837
8382012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
839
840	* Makefile.in (MAKE_VERSION): bump version to 20120704
841	  Merge with NetBSD make, pick up
842	  o Job_ParseShell should call Shell_Init if it has been
843	    previously called.
844	* Makefile.in: set USE_META based on configure result.
845	  also .PARSEDIR is safer indicator of bmake.
846
8472012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
848
849	* Makefile.in: bump version to 20120626
850	  ensure CPPFLAGS is in CFLAGS
851	* meta.c: avoid nested externs
852	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
853
8542012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
855
856	* Makefile.in (MAKE_VERSION): bump version to 20120620
857	  Merge with NetBSD make, pick up
858	  o make_malloc.c: avoid including make_malloc.h again
859
860	* Makefile.in: avoid bmake only syntax or protect with
861	  .if defined(.MAKE.LEVEL)
862	* bsd.after-import.mk: replace .-include with .sinclude
863	  ensure? SRCTOP gets a value
864	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
865
8662012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
867
868	* Makefile.in (MAKE_VERSION): bump version to 20120612
869	  Merge with NetBSD make, pick up
870	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
871	    for greater portability.
872	  o unit-tests/forloop: check that .for works as expected wrt
873	    number of times and with "quoted strings".
874
8752012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
876
877	* Makefile.in (MAKE_VERSION): bump version to 20120606
878	  Merge with NetBSD make, pick up
879	  o compat.c: use kill(2) rather than raise(3).
880	* configure.in: look for sys/dev/filemon
881	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
882	  and pass BOOTSTRAP_XTRAS to boot-strap.
883
8842012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
885
886	* Makefile.in (MAKE_VERSION): bump version to 20120604
887	  Merge with NetBSD make, pick up
888	  o util.c and var.c share same var for tracking if environ
889	    has been reallocated.
890	  o util.c provide getenv with setenv.
891	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
892	  when the shell actively strips .MAKE.* from the environment.
893	  We still refer to the variable always as .MAKE.LEVEL
894	* util.c fix bug in findenv() was finding prefix of name.
895	* compat.c: re-raising SIGINT etc after running .INTERRUPT
896	  results in more reliable termination of all activity on many
897	  platforms.
898
8992012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
900
901	* Makefile.in (MAKE_VERSION): bump version to 20120602
902	  Merge with NetBSD make, pick up
903	  o for.c: handle quoted items in .for list
904
9052012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
906
907	* Makefile.in (MAKE_VERSION): bump version to 20120530
908	  Merge with NetBSD make, pick up
909	  o compat.c: ignore empty command.
910
9112012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
912
913	* Makefile.in (MAKE_VERSION): bump version to 20120524
914	* FILES: add bsd.after-import.mk:
915	  A simple means of integrating bmake into a BSD build system.
916
9172012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
918
919	* Makefile.in (MAKE_VERSION): bump version to 20120520
920	  Merge with NetBSD make, pick up
921	  o increased limit for nested conditionals.
922
9232012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
924
925	* Makefile.in (MAKE_VERSION): bump version to 20120518
926	  Merge with NetBSD make, pick up
927	  o use _exit(2) in signal hanlder
928	  o Don't use the [dir] cache when building nodes that might have
929	    changed since the last exec.
930	  o Avoid nested extern declaration warnings.
931
9322012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
933
934	* meta.c (fgetLine): avoid %z - not portable.
935	* parse.c: Since we moved include of sys/mman.h
936	  and def's of MAP_COPY etc. we got dups from a merge.
937
9382012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
939
940	* Makefile.in (MAKE_VERSION): bump version to 20120420
941	  Merge with NetBSD make, pick up
942	  o restore duplicate supression in .MAKE.MAKEFILES
943	    runtime saving can be significant.
944	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
945	    consumption up to 20%.
946
9472012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
948
949	* Makefile.in (MAKE_VERSION): bump version to 20120420
950          Merge with NetBSD make, pick up
951	  o remove duplicate supression in .MAKE.MAKEFILES
952	  o improved dir cache behavior
953	  o gmake'ish export command
954
9552012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
956
957	* Makefile.in (MAKE_VERSION): bump version to 20120325
958	  Merge with NetBSD make, pick up
959	  o fix parsing of :[#] in conditionals.
960
9612012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
962
963	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
964	  since some systems cannot cope with .Nx <version>
965
9662011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
967
968	* Makefile.in (MAKE_VERSION): bump version to 20111111
969	  Merge with NetBSD make, pick up
970	  o debug output for .PARSEDIR and .PARSEFILE
971
9722011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
973
974	* Makefile.in (MAKE_VERSION):  bump version to 20111010
975
9762011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
977
978	* boot-strap: check for an expected file in the dirs we look for.
979	* make-bootstrap.sh: pass on LDSTATIC
980
9812011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
982
983	* Makefile.in (MAKE_VERSION): bump version to 20111001
984	  Merge with NetBSD make, pick up
985	  o ensure .PREFIX is set for .PHONY
986	    and .TARGET set for .PHONY run via .END
987	  o __dead used consistently
988
9892011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
990
991	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
992
9932011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
994
995	* Makefile.in (MAKE_VERSION): bump version to 20110905
996	  Merge with NetBSD make, pick up
997	  o meta_oodate: ignore makeDependfile
998
9992011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1000
1001	* Makefile.in (MAKE_VERSION): bump version to 20110828
1002	  Merge with NetBSD make, pick up
1003	  o silent=yes in .MAKE.MODE causes meta mode to mark targets
1004	    as SILENT if a .meta file is created
1005
10062011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1007
1008	* Makefile.in (MAKE_VERSION): bump version to 20110818
1009	  Merge with NetBSD make, pick up
1010	  o in meta mode, if target flagged .META a missing .meta file
1011	    means target is out-of-date
1012	  o fixes for gcc 4.5 warnings
1013	  o simplify job printing code
1014
10152011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
1016
1017	* Makefile.in (MAKE_VERSION): bump version to 20110808
1018	  Merge with NetBSD make, pick up
1019	  o do not touch OP_SPECIAL targets when doing make -t
1020
10212011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1022
1023	* Makefile.in (MAKE_VERSION): bump version to 20110622
1024	  Merge with NetBSD make, pick up
1025	  o meta_oodate detect corrupted .meta file and declare oodate.
1026	* configure.in: add check for setsid
1027
10282011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1029
1030	* Merge with NetBSD make, pick up
1031	  o unit-tests/modts now works on MirBSD
1032
10332011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1034
1035	* Makefile.in (MAKE_VERSION): bump version to 20110606
1036	  Merge with NetBSD make, pick up
1037	  o ApplyModifiers: when we parse a variable which is not
1038	    the entire modifier string, or not followed by ':', do not
1039	    consider it as containing modifiers.
1040	  o loadfile: ensure newline at end of mapped file.
1041
10422011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1043
1044	* Makefile.in (MAKE_VERSION): bump version to 20110505
1045	  Merge with NetBSD make, pick up
1046	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
1047	    of make's control.  In meta mode, any generated file within
1048	    said bailiwick, which  is found to be missing, causes current
1049	    target to be out-of-date.
1050
10512011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1052
1053	* Makefile.in (MAKE_VERSION): bump version to 20110411
1054	  Merge with NetBSD make, pick up
1055	  o when long modifiers fail to match, check sysV style.
1056	    - add a test case
1057
10582011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1059
1060	* Makefile.in (MAKE_VERSION): bump version to 20110410
1061	  Merge with NetBSD make, pick up
1062	  o :hash - cheap 32bit hash of value
1063	  o :localtime, :gmtime - use value as format string for strftime.
1064
10652011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1066
1067	* Makefile.in (MAKE_VERSION): bump version to 20110330
1068	  mostly because its a cooler version.
1069	  Merge with NetBSD make, pick up
1070	  o NetBSD tags for meta.[ch]
1071	  o job.c call meta_job_finish() after meta_job_error().
1072	  o meta_job_error() should call meta_job_finish() to ensure
1073	    .meta file is closed, and safe to copy - if .ERROR target wants.
1074	   meta_job_finish() is safe to call repeatedly.
1075
10762011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
1077
1078	* unit-tests/modts: use printf if it is a builtin,
1079	  to save us from MirBSD
1080
1081	* Makefile.in (MAKE_VERSION): bump version to 20110329
1082	  Merge with NetBSD make, pick up
1083	  o fix for use after free() in CondDoExists().
1084	  o meta_oodate() report extra commands and return earlier.
1085
10862011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
1087
1088	* Makefile.in (MAKE_VERSION): bump version to 20110327
1089	  Merge with NetBSD make, pick up
1090	  o meta.c, if .MAKE.MODE contains curdirOk=yes
1091	    allow creating .meta files in .CURDIR
1092	* boot-strap (TOOL_DIFF): aparently at least on linux distro
1093	  formats the output of 'type' differently - so eat any "()"
1094
10952011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1096
1097	* Makefile.in (MAKE_VERSION): bump version to 20110306
1098	  Merge with NetBSD make, pick up
1099	  o meta.c, only do getcwd() once
1100
11012011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1102
1103	* Makefile.in (MAKE_VERSION): bump version to 20110305
1104	  Merge with NetBSD make, pick up
1105	  o correct sysV substitution handling of empty lhs and variable
1106	  o correct exists() check for dir with trailing /
1107	  o correct handling of modifiers for non-existant variables
1108	    during evaluation of conditionals.
1109	  o ensure MAP_FILE is defined.
1110	  o meta.c use curdir[] now exported by main.c
1111
11122011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1113
1114	* Makefile.in (MAKE_VERSION): bump version to 20110225
1115	  Merge with NetBSD make, pick up
1116	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1117	    makefiles have been read.
1118	  o fix example of :? modifier in man page.
1119
11202011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1121
1122	* Makefile.in (MAKE_VERSION): bump version to 20110214
1123	  Merge with NetBSD make, pick up
1124	  o meta.c handle realpath() failing when generating meta file
1125	    name.
1126
1127	* sigcompat.c: convert to ansi so we can use higher warning levels.
1128
1129
11302011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1131
1132	* Makefile.in (MAKE_VERSION): bump version to 20110207
1133	  Merge with NetBSD make, pick up
1134	  o fix for bug in meta mode.
1135
11362011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1137
1138	* parse.c: SunOS 5.8 at least does not have MAP_FILE
1139
11402011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1141
1142	* Makefile.in (MAKE_VERSION): bump version to 20110101
1143	  Merge with NetBSD make, pick up
1144	  o use mmap(2) if available, for reading makefiles
1145
11462010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1147
1148	* Makefile.in (MAKE_VERSION): bump version to 20101215
1149	  Merge with NetBSD make, pick up
1150	  o ensure meta_job_error() does not report a previous .meta file
1151	    as being culprit.
1152
11532010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1154
1155	* Makefile.in (MAKE_VERSION): bump version to 20101210
1156	  Merge with NetBSD make, pick up
1157	  o meta_oodate: track cwd per process, and only consider target
1158	    out-of-date if missing file is outside make's CWD.
1159	    Ignore files in /tmp/ etc.
1160	  o to ensure unit-tests results match, need to control LC_ALL
1161	    as well as LANG.
1162	  o fix for parsing bug in var.c
1163
11642010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1165
1166	* Makefile.in (MAKE_VERSION): bump version to 20101126
1167	  Merge with NetBSD make, pick up
1168	  o if stale dependency is an IMPSRC, search via .PATH
1169	  o meta_oodate: if a referenced file is missing, target is
1170	    out-of-date.
1171	  o meta_oodate: if a target uses .OODATE in its commands,
1172	    it (.OODATE) needs to be recomputed.
1173	  o keep a pointer to youngest child node, rather than just its
1174	    mtime.
1175
11762010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1177
1178	* Makefile.in (MAKE_VERSION): bump version to 20101101
1179
11802010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1181
1182	* machine.sh: like os.sh,
1183	allow for uname -p producing useless drivel
1184
11852010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1186
1187	* boot-strap: document configure knobs for meta and filemon.
1188
1189	* Makefile.in (MAKE_VERSION): bump version to 20100911
1190	  Merge with NetBSD make, pick up
1191	  o meta.c - meta mode
1192
1193	* make-bootstrap.sh.in: handle meta.c
1194	* configure.in: add knobs for use_meta and filemon_h
1195	  also, look for dirname, str[e]sep and strlcpy
1196	* util.c: add simple err[x] and warn[x]
1197
11982010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1199
1200	* boot-strap (TOOL_DIFF): set this to ensure tests use
1201	  the same version of diff that configure tested
1202
1203	* Makefile.in (MAKE_VERSION): bump version to 20100808
1204	  Merge with NetBSD make, pick up
1205	  o in jobs mode, when we discover we cannot make something,
1206	    call PrintOnError before exit.
1207
12082010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1209
1210	* Makefile.in (MAKE_VERSION): bump version to 20100806
1211	  Merge with NetBSD make, pick up
1212	  o formatting fixes for ignored errors
1213	  o ensure jobs are cleaned up regardless of where wait() was called.
1214
12152010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1216
1217	* Makefile.in (MAKE_VERSION): bump version to 20100618
1218	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1219
12202010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1221
1222	* Makefile.in (MAKE_VERSION): bump version to 20100616
1223	  Merge with NetBSD make, pick up
1224	  o man page update
1225	  o call PrintOnError from JobFinish when we detect an error we
1226	    are not ignoring.
1227
12282010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1229
1230	* Makefile.in (MAKE_VERSION): bump version to 20100606
1231	  Merge with NetBSD make, pick up
1232	  o man page update
1233
12342010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1235
1236	* Makefile.in (MAKE_VERSION): bump version to 20100605
1237	  Merge with NetBSD make, pick up
1238	  o use bmake_signal() which is a wrapper around sigaction()
1239	    in place of signal()
1240	  o add .export-env to allow exporting variables to environment
1241	    without tracking (so no re-export when the internal value is
1242	    changed).
1243
12442010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1245
1246	* Makefile.in (MAKE_VERSION): bump version to 20100524
1247	  Merge with NetBSD make, pick up
1248	  o fix for .info et al being greedy.
1249
12502010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1251
1252	* Makefile.in (MAKE_VERSION): bump version to 20100520
1253	  Merge with NetBSD make, pick up
1254	  o back to using realpath on argv[0]
1255	    but only if contains '/' and does not start with '/'.
1256
12572010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1258
1259	* boot-strap: use absolute path for bmake when running tests.
1260
1261	* Makefile.in (MAKE_VERSION):  bump version to 20100510
1262	  Merge with NetBSD make, pick up
1263	  o revert use of realpath on argv[0]
1264	    too many corner cases.
1265	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1266
12672010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1268
1269	* Makefile.in (MAKE_VERSION): bump version to 20100505
1270	  Merge with NetBSD make, pick up
1271	  o fix for missed SIGCHLD when compiled with SunPRO
1272	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
1273	    done the job.
1274
12752010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1276
1277	* Makefile.in (MAKE_VERSION): bump version to 20100430
1278	  Merge with NetBSD make, pick up
1279	  o fflush stdout before writing to stdout
1280
12812010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1282
1283	* Makefile.in (MAKE_VERSION): bump version to 20100423
1284	  Merge with NetBSD make, pick up
1285	  o updated unit tests for Haiku (this time for sure).
1286	* boot-strap: based on patch from joerg
1287	  honor --with-default-sys-path better.
1288	* boot-strap: remove mention of --with-prefix-sys-path
1289
12902010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1291
1292	* Makefile.in (MAKE_VERSION): bump version to 20100422
1293	* Merge with NetBSD make, pick up
1294	  o fix for vfork() on Darwin.
1295	  o fix for bogus $TMPDIR.
1296	  o set .MAKE.MODE=compat for -B
1297	  o set .MAKE.JOBS=max_jobs for -j max_jobs
1298	  o allow unit-tests to run without any *.mk
1299	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
1300	* boot-strap: ignore /usr/share/mk except on NetBSD.
1301	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
1302	  ensure sort(1) behaves as expected.
1303
13042010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1305
1306	* boot-strap: add FindHereOrAbove so we can use -m .../mk
1307
13082010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1309
1310	* Makefile.in (MAKE_VERSION): bump version to 20100420
1311	* Merge with NetBSD make, pick up
1312	  o fix for variable realpath() behavior.
1313	    we have to stat(2) the result to be sure.
1314	  o fix for .export (all) when nested vars use :sh
1315
13162010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1317
1318	* Makefile.in (MAKE_VERSION): bump version to 20100414
1319	* Merge with NetBSD make, pick up
1320	  o use realpath to resolve argv[0] (for .MAKE) if needed.
1321	  o add realpath from libc.
1322	  o add :tA to resolve variable via realpath(3) if possible.
1323
13242010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1325
1326	* Makefile.in (MAKE_VERSION): bump version to 20100408
1327	* Merge with NetBSD make, pick up
1328	  o unit tests for .ERROR, .error
1329	  o fix for .ERROR to ensure it cannot be default target.
1330
13312010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1332
1333	* Makefile.in (MAKE_VERSION): bump version to 20100406
1334	* Merge with NetBSD make, pick up
1335	  o fix for compat mode "Error code" going to debug_file.
1336	  o fix for .ALLSRC being populated twice.
1337	  o support for .info, .warning and .error directives
1338	  o .MAKE.MODE to control make's operational mode
1339	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1340	    name(s).
1341	  o .MAKE.DEPENDFILE to control the name of the depend file
1342	  o .ERROR target - run on failure.
1343
13442010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1345
1346	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1347
1348	* os.sh,arch.c: patch for Haiku from joerg at netbsd
1349
13502010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1351
1352	* Makefile.in (MAKE_VERSION): bump version to 20100222
1353	* Merge with NetBSD make, pick up
1354	  o better error msg for .for with mutiple inter vars
1355
1356	* boot-strap:
1357	  o use make-bootstrap.sh from joerg at netbsd
1358	    to avoid the need for a native make when bootstrapping.
1359	  o add "" everywhere ;-)
1360	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1361	    otherwise the pre-formated version.
1362
13632010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1364
1365	* Makefile.in (MAKE_VERSION): bump version to 20100102
1366	* Merge with NetBSD make, pick up:
1367	  o fix for -m .../
1368
13692009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
1370
1371	* Makefile.in (MAKE_VERSION): bump version to 20091118
1372	* Merge with NetBSD make, pick up:
1373	  o .unexport
1374	  o report lines that start with '.' and should have ':'
1375	    (catch typo's of .el*if).
1376
13772009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1378
1379	* configure.in: Ensure that srcdir and mksrc are absolute paths.
1380
13812009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1382
1383	* Makefile.in (MAKE_VERSION): fix version to 20091007
1384
13852009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
1386
1387	* Makefile.in (MAKE_VERSION): bump version to 200910007
1388	* Merge with NetBSD make, pick up:
1389	  o fix for parsing of :S;...;...; applied to .for loop iterator
1390	    appearing in a dependency line.
1391
13922009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1393
1394	* Makefile.in (MAKE_VERSION): bump version to 20090909
1395	* Merge with NetBSD make, pick up:
1396	  o fix for -C, .CURDIR and .OBJDIR
1397	* boot-strap:
1398	  o allow share_dir to be set independent of prefix.
1399	  o select default share_dir better when prefix ends in $HOST_TARGET
1400	  o if FORCE_BSD_MK etc were set, include them in the suggested
1401	    install-mk command.
1402
14032009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
1404
1405	* Makefile.in (MAKE_VERSION): bump version to 20090908
1406	* Merge with NetBSD make, pick up:
1407	  o .MAKE.LEVEL for recursion tracking
1408	  o fix for :M scanning \:
1409
14102009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1411
1412	* configure.in: Don't -D__EXTENSIONS__ if
1413	AC_USE_SYSTEM_EXTENSIONS says "no".
1414
14152009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
1416
1417	* Makefile.in (MAKE_VERSION): bump version to 20090826
1418	Simplify MAKE_VERSION to just the bare date.
1419	* Merge with NetBSD make, pick up:
1420	  o -C directory support.
1421	  o support for SIGINFO
1422	  o use $TMPDIR for temp files.
1423	  o child of vfork should be careful about modifying parent's state.
1424
1425
14262009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
1427
1428	* Appy some patches for MiNT from David Brownlee
1429
14302009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
1431
1432	* Makefile.in (BMAKE_VERSION): bump version to 20090222
1433	* Merge with NetBSD make, pick up:
1434	  o Possible null pointer de-ref in Var_Set.
1435
14362009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
1437
1438	* Makefile.in (BMAKE_VERSION): bump version to 20090204
1439	* Merge with NetBSD make, pick up:
1440	  o bmake_malloc et al moved to their own .c
1441	  o Count both () and {} when looking for the end of a :M pattern
1442	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1443	  o strlist.c - functions for processing extendable arrays of pointers to strings.
1444	  o ClientData replaced with void *, so const void * can be used.
1445	  o New debug flag C for DEBUG_CWD
1446
14472008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
1448
1449	* Makefile.in (BMAKE_VERSION): bump version to 20081111
1450	  Apply patch from Joerg Sonnenberge to
1451	  configure.in:
1452	  o remove some redundant checks
1453	  o check for emlloc etc only in libutil and require the whole family.
1454	  util.c:
1455	  o remove [v]asprintf which is no longer used.
1456
14572008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1458
1459	* Makefile.in (BMAKE_VERSION): bump version to 20081101
1460	* Merge with NetBSD make, pick up:
1461	  o util.c: avoid use of putenv() - christos
1462
14632008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1464
1465	* Makefile.in (BMAKE_VERSION): bump version to 20081030
1466	  pick up man page tweaks.
1467
14682008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
1469
1470	* Makefile.in: move processing of LIBOBJS to after is definition!
1471	  thus we'll have getenv.c in SRCS only if needed.
1472
1473	* make.1: add examples of how to use :?
1474
1475	* Makefile.in (BMAKE_VERSION): bump version to 20081029
1476	* Merge with NetBSD make, pick up:
1477	  o fix for .END processing with -j
1478	  o segfault from Parse_Error when no makefile is open
1479	  o handle numeric expressions in any variable expansion
1480	  o debug output now defaults to stderr, -dF to change it - apb
1481	  o make now uses bmake_malloc etc so that it can build natively
1482	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1483
14842008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
1485
1486	* Makefile.in (BMAKE_VERSION): bump version to 20080808
1487	* Merge with NetBSD make, pick up:
1488	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1489	    long lines in Makefiles
1490	  o optimizations for VarQuote by joerg
1491	  o fix for PR/38756: dominik: make dumps core on invalid makefile
1492
14932008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
1494
1495	* Makefile.in (BMAKE_VERSION): bump version to 20080515
1496	* Merge with NetBSD make, pick up:
1497	  o fix skip setting vars in VAR_GLOBAL context, to handle
1498	    cases where VAR_CMD is used for other than command line vars.
1499
15002008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
1501
1502	* boot-strap (make_version): we may need to look in
1503	$prefix/share/mk for sys.mk
1504
1505	* Makefile.in (BMAKE_VERSION): bump version to 20080514
1506	* Merge with NetBSD make, pick up:
1507	  o skip setting vars in VAR_GLOBAL context, when already set in
1508	  VAR_CMD which takes precedence.
1509
15102008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
1511
1512	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
1513	* Merge with NetBSD make, pick up:
1514	  o fix for ?= when LHS contains variable reference.
1515
15162008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1517
1518	* merge some patches from NetBSD pkgsrc.
1519
1520	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1521	the MAKSYSPATH used during bootstrap.
1522
1523	* Makefile.in (BMAKE_VERSION): bump version to 20080215
1524	* Merge with NetBSD make, pick up:
1525	  o warn if non-space chars follow 'empty' in a conditional.
1526
15272008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1528
1529	* Makefile.in (BMAKE_VERSION): bump version to 20080118
1530	* Merge with NetBSD make, pick up:
1531	  o consider dependencies read from .depend as optional - dsl
1532	  o remember when buffer for reading makefile grows - dsl
1533	  o add -dl (aka LOUD) - David O'Brien
1534
15352007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
1536
1537	* Makefile.in (BMAKE_VERSION): bump version to 20071022
1538	* Merge with NetBSD make, pick up:
1539	  o Allow .PATH<suffix> to be used for .include ""
1540
1541	* boot-strap: source default settings from .bmake-boot-strap.rc
1542
15432007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
1544
1545	* Makefile.in: fix maninstall on various systems
1546	  provided that our man.mk is used.
1547	  For non-BSD systems we install the preformatted page
1548	  into $MANDIR/cat1
1549
15502007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
1551
1552	* boot-strap: make bmake.1 too, so maninstall works.
1553
15542007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
1555
1556	* Makefile.in (BMAKE_VERSION): bump version to 20071014
1557	* Merge with NetBSD make, pick up:
1558	  o revamped handling of defshell - configure no longer needs to
1559	    know the content of the shells array - apb
1560	  o stop Var_Subst modifying its input - apb
1561	  o avoid calling ParseTrackInput too often - dsl
1562
15632007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
1564
1565	* Makefile.in (BMAKE_VERSION): bump version to 20071011
1566	* Merge with NetBSD make, pick up:
1567	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1568
1569	* sigcompat.c: some tweaks for HP-UX 11.x based on
1570	  patch from Tobias Nygren
1571
1572	* configure.in: update handling of --with-defshell to match
1573	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
1574	  will now do what one might hope - provided the chosen shell
1575	  behaves enough like sh.
1576
15772007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
1578
1579	* Makefile.in (BMAKE_VERSION): bump to 20071008
1580	* Merge with NetBSD make, pick up:
1581	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1582	  o .export/.MAKE.EXPORTED - export of variables - sjg
1583	  o .MAKE.MAKEFILES - track all makefiles read - sjg
1584	  o performance improvements - dsl
1585	  o revamp parallel job scheduling - dsl
1586
15872006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1588
1589	* Makefile.in (BMAKE_VERSION): bump to 20060728
1590	* Merge with NetBSD make, pick up:
1591	  o extra debug info during variable and cond processing - sjg
1592	  o shell definition now covers newline - rillig
1593	  o minor mem leak in PrintOnError - sjg
1594
15952006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1596
1597	* Makefile.in (BMAKE_VERSION):  bump to 20060511
1598	* Merge with NetBSD make, pick up:
1599	  o more memory leaks - coverity
1600	  o possible overflow in ArchFindMember - coverity
1601	  o extract variable modifier code out of Var_Parse()
1602	    so it can be called recursively - sjg
1603	  o unit-tests/moderrs - sjg
1604
16052006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
1606
1607	* Makefile.in (BMAKE_VERSION): bump to 20060412
1608	* Merge with NetBSD make, pick up:
1609	  o fixes for some memory leaks - coverity
1610	  o only read first sys.mk etc when searching sysIncPath - sjg
1611
1612	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
1613	setting ${MAKEFILE} - OBATA Akio
1614
16152006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
1616
1617	* Makefile.in (BMAKE_VERSION): bump to 20060318
1618	* Merge with NetBSD make, pick up:
1619	  o cleanup of job.c to remove remote handling, distcc is more
1620	    useful and this code was likely bit-rotting - dsl
1621	  o fix for :P modifier - sjg
1622	* boot-strap: set default prefix to something reasonable
1623	  (for me anyway).
1624
16252006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
1626
1627	* Makefile.in (BMAKE_VERSION): bump to 20060301
1628	* Merge with NetBSD make, pick up:
1629	  o make .WAIT apply recursively, document and test case - apb
1630	  o allow variable modifiers in a variable appear anywhere in
1631	    modifier list, document and test case - sjg
1632
16332006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
1634
1635	* Makefile.in (BMAKE_VERSION): bump to 20060222
1636	* Merge with NetBSD make, pick up:
1637	  o improved job token handling - dsl
1638	  o SIG_DFL the correct signal before exec - dsl
1639	  o more debug info during parsing - dsl
1640	  o allow variable modifiers to be specified via variable - sjg
1641	* boot-strap: explain why we died if no mksrc
1642
16432005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
1644
1645	* Makefile.in (BMAKE_VERSION): bump to 20051105
1646	* configure.in: always set default_sys_path
1647	  default is ${prefix}/share/mk
1648	  - remove prefix_sys_path, anyone wanting more than above
1649	    needs to set it manually.
1650
16512005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1652
1653	* boot-strap: make this a bit easier for pkgsrc folk.
1654	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1655	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1656
16572005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
1658
1659	* Makefile.in (BMAKE_VERSION): bump to 20051102
1660	* job.c (JobFinish): fix likely ancient merge lossage
1661	fix from Todd Vierling.
1662	* boot-strap (srcdir): allow setting mksrc=none
1663
16642005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
1665
1666	* Makefile.in (BMAKE_VERSION): bump to 20051031
1667	* ranlib.h: skip on OSF too.
1668	  (NetBSD PR 31864)
1669
16702005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
1671
1672	* Makefile.in (BMAKE_VERSION): bump to 20051002
1673	  fix a silly typo
1674
16752005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1676
1677	* Makefile.in (BMAKE_VERSION): bump to 20051001
1678	  support for UnixWare and some other systems,
1679	  based on patches from pkgsrc/bootstrap
1680
16812005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1682
1683	* Makefile.in (BMAKE_VERSION): bump to 20050901
1684	* Merge with NetBSD make, pick up:
1685	  o possible parse error causing us to wander off.
1686
16872005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
1688
1689	* Makefile.in (BMAKE_VERSION): bump to 20050606
1690	* Merge with NetBSD make, pick up:
1691	  o :0x modifier for randomizing a list
1692	  o fixes for a number of -Wuninitialized issues.
1693
16942005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
1695
1696	* Makefile.in (BMAKE_VERSION): bump to 20050530
1697	* Merge with NetBSD make, pick up:
1698	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
1699
1700	* README: was seriously out of date.
1701
17022005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
1703
1704	* Important to use .MAKE rather than MAKE.
1705
17062005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
1707
1708	* Makefile.in (BMAKE_VERSION): bump to 20050315
1709	* Merge with NetBSD make, pick up:
1710	  o don't mistake .elsefoo for .else
1711	  o use suffix-specific search path correctly
1712	  o bunch of style nits
1713
17142004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1715
1716	* boot-strap:
1717	o ensure that args to --src and --with-mksrc
1718	  are resolved before giving them to configure.
1719	o add -o "objdir" so that builder can control it,
1720	  default is $OS as determined by os.sh
1721	o add -q to suppress all the install instructions.
1722
17232004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
1724
1725	* Remove __IDSTRING()
1726
1727	* Makefile.in (BMAKE_VERSION): bump to 20040508
1728	* Merge with NetBSD make, pick up:
1729	  o posix fixes
1730	    - remove '-e' from compat mode
1731	    - add support for '+' command-line prefix.
1732	  o fix for handling '--' on command-line.
1733	  o fix include in lst.lib/lstInt.h to simplify '-I's
1734	  o we also picked up replacement of MAKE_BOOTSTRAP
1735	    with !MAKE_NATIVE which is a noop, but possibly confusing.
1736
17372004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
1738
1739	* Makefile.in (BMAKE_VERSION): bump to 20040414
1740	* Merge with NetBSD make, pick up:
1741	  o allow quoted strings on lhs of conditionals
1742	  o issue warning when extra .else is seen
1743	  o print line numer when errors encountered during parsing from
1744	  string.
1745
17462004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
1747
1748	* Makefile.in (BMAKE_VERSION):  bump to 20040220
1749	* Merge with NetBSD make, pick up:
1750	  o fix for old :M parsing bug.
1751	  o re-jigged unit-tests
1752
17532004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1754
1755	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1756	so that './bmake -f Makefile test' works.
1757
17582004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
1759
1760	* Makefile.in: (BMAKE_VERSION): bump to 20040214
1761	* Merge with NetBSD make, pick up:
1762	  o search upwards for *.mk
1763	  o fix for double free of var substitution buffers
1764	  o use of getopt replaced with custom code, since the usage
1765	  (re-scanning) isn't posix compatible.
1766
17672004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
1768
1769	* arch.c: don't include ranlib.h on ELF systems
1770	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1771
17722004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1773
1774	* Makefile.in (BMAKE_VERSION): bump to 20040118
1775
1776	* boot-strap (while): export vars we assign to on cmdline
1777	* unit-test/Makefile.in: ternary is .PHONY
1778
17792004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
1780
1781	* Makefile.in (BMAKE_VERSION): bump version to 20040108
1782	* Merge with NetBSD make, pick up:
1783	  o fix for ternary modifier
1784
17852004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
1786
1787	* Makefile.in (BMAKE_VERSION): bump version to 20040105
1788	* Merge with NetBSD make, pick up:
1789	  o fix for cond.c to handle compound expressions better
1790	  o variable expansion within sysV style replacements
1791
17922003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
1793
1794	* Make portable snprintf safer - output to /dev/null first to
1795	check space needed.
1796
1797	* Makefile.in (BMAKE_VERSION): bump version to 20031222
1798	* Merge with NetBSD make, pick up:
1799	  o -dg3 to show input graph when things go wrong.
1800	  o explicitly look for makefiles in objdir if not found in curdir so
1801	    that errors in .depend etc will be reported accurarely.
1802	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1803	    instead as it more accurately reflects the expected behavior and
1804	    is more consistently implemented.
1805	  o avoid use of asprintf.
1806
18072003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
1808
1809	* util.c: Add asprintf and vasprintf.
1810
1811	* Makefile.in (BMAKE_VERSION): bump version to 20030928
1812	* Merge with NetBSD make, pick up:
1813	:[] modifier - allows picking words from a variable.
1814	:tW modifier - allows treating value as one big word.
1815	W flag for :C and :S - allows treating value as one big word.
1816
18172003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
1818
1819	* Merge with NetBSD make
1820	pick up -de flag to enable printing failed command.
1821	don't skip 1st two dir entries (normally . and ..) since
1822	coda does not have them.
1823
18242003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1825
1826	* Makefile.in (BMAKE_VERSION): bump version to 20030909
1827	* Merge with NetBSD make, pick up:
1828	- changes for -V '${VAR}' to print fully expanded value
1829	  cf. -V VAR
1830	- CompatRunCommand now prints the command that failed.
1831	- several files got updated 3 clause Berkeley license.
1832
18332003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
1834
1835	* boot-strap: Allow setting configure args on command line.
1836
18372003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
1838
1839	* configure.in: add --with-defshell to allow sh or ksh
1840	to be selected as default shell.
1841
1842	* Makefile.in: bump version to 20030731
1843
1844	* Merge with NetBSD make
1845	Pick up .SHELL spec for ksh and associate man page changes.
1846	Also compat mode now uses the same shell specs.
1847
18482003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
1849
1850	* var.c (Var_Parse): ensure delim is initialized.
1851
1852	* unit-tests/Makefile.in: use single quotes to avoid problems from
1853	some shells.
1854
1855	* makefile.boot.in:
1856	Run the unit-tests as part of the bootstrap procedure.
1857
18582003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1859
1860	* unit-tests/Makefile.in: always force complaints from
1861	${TEST_MAKE} to be from 'make'.
1862
1863	* configure.in: add check for 'diff -u'
1864	also fix some old autoconf'isms
1865
1866	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
1867	if using GCC add -Wno-cast-qual to CFLAGS for var.o
1868
1869	* Merge with NetBSD make
1870	Pick up fix for :ts parsing error in some cases.
1871	Pick unit-tests.
1872
18732003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
1874
1875	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
1876
1877	* var.c (Var_Parse): fix bug in :ts modifier, after const
1878	correctness fixes, must pass nstr to VarModify.
1879
18802003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
1881
1882	* Makefile.in: BMAKE_VERSION switch to a date based version.
1883	We'll generally use the date of last import from NetBSD.
1884
1885	* Merge with NetBSD make
1886	Pick up fixes for const-correctness, now passes WARNS=3 on
1887	NetBSD.
1888	Pick up :ts modifier, allows controlling the separator used
1889	between words in variable expansion.
1890
18912003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
1892
1893	* FILES: include boot-strap and os.sh
1894
1895	* Makefile.in: only set WARNS if we are NetBSD, the effect on
1896	FreeBSD is known to be bad.
1897
1898	* makefile.boot.in (bootstrap): make this the default target.
1899
1900	* Makefile.in: bump version to 3.1.19
1901
1902	* machine.sh: avoid A-Z with tr as it is bound to lose.
1903
19042003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
1905
1906	* Merge with NetBSD make
1907	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1908	Plus some doc fixes.
1909
19102003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
1911
1912	* Merge with NetBSD make
1913	Pick up fix for PR/1523 - don't count a library as built, if there
1914	is no way to build it
1915
1916	* Bump version to 3.1.18
1917
19182003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
1919
1920	* Merge with NetBSD make
1921	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1922	appears in src list.
1923
19242003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
1925
1926	* Merge with NetBSD make (mmm 10th anniversary!)
1927	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1928	pick up -X which tells us to not export VAR=val via setenv if
1929	we are already doing so via MAKEFLAGS.  This saves valuable env
1930	space on systems like Darwin.
1931	set MAKE_VERSION to 3.1.17
1932
1933	* parse.c: pix up fix for suffix rules
1934
19352003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
1936
1937	* Merge with NetBSD make.
1938	pick up fix for propagating -B via MAKEFLAGS.
1939	set MAKE_VERSION to 3.1.16
1940
1941	* Apply some patches from pkgsrc-bootstrap/bmake
1942	Originally by Grant Beattie <grant@netbsd.org>
1943	I may have missed some - since they are based on bmake-3.1.12
1944
19452002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
1946
1947	* makefile.boot.in (bmake): update install targets for those that
1948	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1949	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
1950
1951	* bmake.cat1: update the pre-formatted man page!
1952
19532002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
1954
1955	* Merge with NetBSD make.
1956	pick up fix for premature free of pointer used in call
1957	to Dir_InitCur().
1958	set MAKE_VERSION to 3.1.15
1959
19602002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
1961
1962	* configure.in: determine suitable value for MKSRC.
1963	override using --with-mksrc=PATH.
1964
1965	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1966	configs(8) will use 'sun4' as an alias for 'sparc'.
1967
19682002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
1969
1970	* Merge with NetBSD make.
1971	pick up ${.PATH}
1972	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1973	set MAKE_VERSION to 3.1.14
1974	add configure checks for killpg and sys/socket.h
1975
19762002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
1977
1978	* tag bmake-3-1-13
1979
1980	* makefile.boot.in (bmake): use install-mk
1981	Also setup ./mk before trying to invoke bmake.boot incase we
1982	needed install-mk to create a sys.mk for us.
1983
1984	* configure.in: If we need to add -I${srcdir}/missing, make it an
1985	absolute path so that it works for lst.lib too.
1986
1987	* make.h: always include sys/cdefs.h since we provide one if the
1988	host does not.
1989
1990	* Makefile.in (install-mk):
1991	use MKSRC/install-mk which will do the right thing.
1992	use uname -p for ARCH if possible.
1993	since install-mk will setup links bsd.prog.mk -> prog.mk if
1994	needed, just .include bsd.prog.mk
1995
1996	* Merge with NetBSD make (NetBSD-1.6)
1997	Code is ansi-C only now.
1998	Bug in handling of dotLast is fixed.
1999	Can now assign .OBJDIR and make will reset its notions of life.
2000	New modifiers :tu :tl for toUpper and toLower.
2001
2002Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
2003
2004	* Merge with NetBSD make
2005	pick up fix for .END failure in compat mode.
2006	pick up fix for extra va_end() in ParseVErrorInternal.
2007
2008Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
2009
2010	* configure.in: for systems that have sys/cdefs.h check if it is
2011	compatible.  If not, include the one under missing, but tell it to
2012	include the native one too - necessary on Linux.
2013
2014	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
2015	include_next (for gcc) to get the native sys/cdefs.h
2016
2017Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2018
2019	* job.c (JobFinish): Fix an earlier merge bug that resulted in
2020	leaking descriptors when using -jN.
2021
2022	* job.c (JobPrintCommand): See if "curdir" exists before
2023	attempting to chdir().  Doing the chdir directly in make (when in
2024	compat mode) fails silently, so let the -jN version do the same.
2025	This can happen when building kernels in an object tree and
2026	playing clever games to reset .CURDIR.
2027
2028	* Merged with NetBSD make
2029	pick up .USEBEFORE
2030
2031Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2032
2033	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
2034
2035Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2036
2037	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
2038	us not to export the iterator variable when using VAR_CMD context.
2039
2040Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2041
2042	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
2043	its the wrong "fix".
2044
2045Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2046
2047	* Redesigned export of VAR_CMD's via MAKEFLAGS.
2048	We now simply append the variable names to .MAKEOVERRIDES, and
2049	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
2050	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
2051	Apart from fixing quoting bugs in previous version, this allows us
2052	to export vars to the environment by simply doing:
2053	.MAKEOVERRIDES+= PATH
2054	Merged again with NetBSD make, but the above is the only change.
2055
2056	* configure.in: added
2057	--disable-pwd-override		disable $PWD overriding getcwd()
2058	--disable-check-make-chdir	disable make trying to guess
2059		when it should automatically cd ${.CURDIR}
2060
2061	* Merge with NetBSD make, changes include:
2062	parse.c (ParseDoDependency): Spot that the syntax error is
2063	caused by an unresolved cvs/rcs conflict and say so.
2064	var.c: most of Var* functions now take a ctxt as 1st arg.
2065	now does variable substituion on rhs of sysv style modifiers.
2066
2067	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
2068	is now done here.  We append the name='value' to .MAKEOVERRIDES
2069	rather than directly into MAKEFLAGS as this allows a Makefile to
2070	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
2071	very similar mechanism.  Note that in adding name='value' to
2072	.MAKEOVERRIDES we do the moral equivalent of:
2073	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
2074
2075Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2076
2077	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
2078
2079	* Merged with NetBSD make
2080	make -dx can now be used to run commands via sh -x
2081	better error messages on exec failures.
2082
2083Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2084
2085	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
2086	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
2087	MACHINE etc otherwise they propagate from the previous bmake.
2088
2089	* configure.in (machine): allow --with-machine=generic to make
2090	configure use machine.sh to set MACHINE.
2091
2092	* job.c (JobInterrupt): convert to using WAIT_T and friends.
2093
2094	* Makefile.in: mention in bmake.1 that we use autoconf.
2095
2096	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
2097
2098Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2099
2100	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
2101	as that rather defeats the usefulness of ${MAKEFILE}.
2102
2103	* main.c (MainParseArgs): append command line variable assignments
2104	to MAKEFLAGS so that they get propagated to child make's.
2105	Apparently this is required POSIX behaviour?  Its useful anyway.
2106
2107Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2108
2109	* compat.c (CompatRunCommand): don't use perror() since stdio may
2110	cause problems in child of vfork().
2111
2112	* compat.c, main.c: Call PrintOnError() when we are going to bail.
2113	This routine prints out the .curdir where we stopped and will also
2114	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2115
2116	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
2117	:@ expansion.
2118
2119	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
2120
2121	* Added RCSid's for the files we've touched.
2122
2123Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2124
2125	* configure.in:	Thanks to some clues from mdb@juniper.net,
2126	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2127	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
2128
2129  --with-machine=MACHINE  explicitly set MACHINE
2130  --with-force-machine=MACHINE  set FORCE_MACHINE
2131  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
2132  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
2133  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
2134  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
2135
2136	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2137
2138	* makefile: added a pathetically simple makefile to drive
2139	bootstrapping.  Running configure by hand is more useful.
2140
2141	* Makefile.in: added MAKE_VERSION, and reworked things to be less
2142	dependent on NetBSD bsd.*.mk
2143
2144	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2145	_PATH_OBJDIRPREFIX for those that don't want a default.
2146	construct _PATH_DEFSYSPATH from the info we get from configure.
2147
2148	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2149	if MAKE_VERSION is defined.
2150
2151	* compat.c: when we bail, print out the .CURDIR we were in.
2152
2153Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2154
2155	* Merged with NetBSD make
2156
2157	* var.c: fixed a bug in the handling of the modifier :P
2158	if the node as found but the path was null, we segfault trying to
2159	duplicate it.
2160
2161Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2162
2163	* Merged with NetBSD make
2164
2165	* make.c: Make_OODate's test for a library out of date was using
2166	cmtime where it should have used mtime (my bug).
2167
2168	* compat.c: Use perror() to tell us what really went wrong when we
2169	cannot exec a command.
2170
2171Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2172
2173	* Merged with NetBSD make
2174
2175Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2176
2177	* Merged with NetBSD make
2178
2179Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2180
2181	* Merged with NetBSD make
2182
2183Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2184
2185	* Merged with NetBSD make
2186
2187Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2188
2189	* util.c: don't provide signal() since we use sigcompat.c
2190
2191	* Makefile.in: added a build target.
2192
2193	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2194	These allow some quite clever magic.
2195
2196	* main.c (main): added support for getenv(MAKESYSPATH).
2197
2198Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2199
2200	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2201	This avoids objdir having a different value depending on how a
2202	directory was reached (via command line, or subdir.mk).
2203
2204	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2205
2206Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2207
2208	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2209	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2210	I've been testing this in NetBSD's make for some weeks.
2211
2212	* Turn Makefile into Makefile.in and make it useful.
2213
2214Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
2215
2216	* Imported NetBSD's -current make(1) and resolve conflicts.
2217
2218	* Applied autoconf patches from bmake v2
2219
2220	* Imported clean code base from NetBSD-1.0
2221