xref: /freebsd/contrib/bmake/ChangeLog (revision 52f72944b8f5abb2386eae924357dee8aea17d5b)
12018-02-22  Simon J. Gerraty  <sjg@bad.crufty.net>
2
3	* VERSION: 20180222
4	  Merge with NetBSD make, pick up
5	  o parse.c: avoid calling sysconf for every call to loadfile
6
72018-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
8
9	* VERSION: 20180218
10	  Merge with NetBSD make, pick up
11	  o var.c: Var_Set handle NULL value anytime.
12
132018-02-12  Simon J. Gerraty  <sjg@bad.crufty.net>
14
15	* VERSION: 20180212
16	  Merge with NetBSD make, pick up
17	  o parse.c: do not treat .info as warning with -W
18
192017-12-07  Simon J. Gerraty  <sjg@bad.crufty.net>
20
21	* VERSION: 20171207
22	  Merge with NetBSD make, pick up
23	  o var.c: Var_Append use Var_Set if var not previously set
24	    so that VAR_CMD is handled correctly.
25	    Add a suitable unit-test.
26
272017-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
28
29	* VERSION (_MAKE_VERSION): 20171126
30
31	* aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
32	  since AC_TRY_COMPILE puts input inside main()
33	  which upsets modern compilers.
34
352017-11-18  Simon J. Gerraty  <sjg@bad.crufty.net>
36
37	* VERSION: 20171118
38	  Merge with NetBSD make, pick up
39	  o var.c: do not append to variable set on command line
40	    add unit-test to catch this.
41
422017-10-28  Simon J. Gerraty  <sjg@bad.crufty.net>
43
44	* VERSION: 20171028
45	  Merge with NetBSD make, pick up
46	  o main.c: ignore empty MAKEOBJDIR
47
48	* Makefile.config.in:
49	  make @prefix@ @machine*@ and @default_sys_path@ defaults.
50
512017-10-05  Simon J. Gerraty  <sjg@bad.crufty.net>
52
53	* VERSION: 20171005
54
55	* unit-tests/dotwait.mk: redirect stderr through pipe for more
56	  consistent result on some platforms.
57
582017-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
59
60	* machine.sh: entry for AIX
61
622017-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
63
64	* VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
65	  to a file that can be included by configure as well as make.
66	  This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
67
682017-08-10  Simon J. Gerraty  <sjg@bad.crufty.net>
69
70	* Makefile (_MAKE_VERSION): 20170810
71	  Merge with NetBSD make, pick up
72	  o meta.c: if target is in subdir we only need subdir name in
73	    meta_name.
74
752017-07-20  Simon J. Gerraty  <sjg@bad.crufty.net>
76
77	* Makefile (_MAKE_VERSION): 20170720
78	  Merge with NetBSD make, pick up
79	  o compat.c: pass SIGINT etc onto child and wait for it to exit
80	    before we self-terminate.
81
822017-07-11  Simon J. Gerraty  <sjg@bad.crufty.net>
83
84	* Makefile (_MAKE_VERSION): 20170711
85	  forgot to update after merge on 20170708 ;-)
86	  o main.c: refactor to reduce size of main function.
87	    add -v option to always fully expand values.
88	  o meta.c: ensure command output in meta file has ending newline
89	    even when filemon not being used.
90	    When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
91	    pathname via ':L' since any ':' in pathname breaks that.
92	    Instead set a '${.p.}' to pathname in the target context and
93	    use that.
94
952017-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
96
97	* Makefile (_MAKE_VERSION): 20170510
98	  Merge with NetBSD make, pick up
99	  o main.c: Main_SetObjdir: ensure buf2 is in scope
100
1012017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
102
103	* Makefile (_MAKE_VERSION): 20170505
104	  see mk/ChangeLog
105
1062017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
107
108	* parse.c: not everyone has stdint.h
109
1102017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
111
112	* Makefile (_MAKE_VERSION): 20170501
113	  see mk/ChangeLog
114
1152017-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
116
117	* Makefile (_MAKE_VERSION): 20170421
118	  Merge with NetBSD make, pick up
119	  o str.c: Str_Match: fix closure tests for [^] and add unit-test.
120
1212017-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
122
123	* Makefile (_MAKE_VERSION): 20170420
124	  Merge with NetBSD make, pick up
125	  o main.c: only use -C arg "as is" if it contains no
126	    relative component.
127
1282017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
129
130	* Makefile (_MAKE_VERSION): 20170418
131	  Merge with NetBSD make, pick up
132	  o main.c: fix Main_SetObjdir() for relative paths (eg obj).
133
1342017-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
135
136	* Makefile (_MAKE_VERSION): 20170417
137	  Merge with NetBSD make, pick up
138	  o fixes a number of coverity complaints
139	    - check return value of fseek, fcntl
140	    - plug memory leak in Dir_FindFile, Var_LoopExpand,
141	      JobPrintCommand, ParseTraditionalInclude
142	    - use bmake_malloc() where NULL is not tollerated
143	    - use MAKE_ATTR_UNUSED rather that kludges like
144	      return(unused ? 0 : 0)
145	    - use purge_cached_realpaths() rather than abuse cached_realpath()
146
1472017-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
148
149	* Makefile (_MAKE_VERSION): 20170413
150	  Merge with NetBSD make, pick up
151	  o main.c: when setting .OBJDIR ignore '$' in paths.
152
153	* job.c: use MALLOC_OPTIONS to set malloc_options.
154
1552017-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
156
157	* Makefile (_MAKE_VERSION): 20170411
158	  Merge with NetBSD make, pick up
159	  o str.c: Str_Match: allow [^a-z] to behave as expected.
160
1612017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
162
163	* Makefile (_MAKE_VERSION): 20170326
164	  Merge with NetBSD make, pick up
165	  o main.c: purge relative paths from realpath cache when .OBJDIR
166	    is changed.
167
1682017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
169
170	* Makefile (_MAKE_VERSION): 20170311
171	  Merge with NetBSD make, pick up
172          o main.c: only use -C arg "as is" if it starts with '/'.
173
1742017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
175
176	* Makefile (_MAKE_VERSION): 20170301
177	  Merge with NetBSD make, pick up
178	  o main.c: use -C arg "as is" rather than getcwd()
179	    if they identify the same directory.
180	  o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
181
1822017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
183
184	* Makefile (_MAKE_VERSION): 20170201
185	  Merge with NetBSD make, pick up
186	  o var.c: allow :_=var and avoid use of special context.
187
1882017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
189
190	* Makefile (_MAKE_VERSION): 20170130
191	  Merge with NetBSD make, pick up
192	  o var.c: add :range and :_
193	  o main.c: partially initialize Dir_* before MainParseArgs()
194	    can be called.
195	    If -V, skip Main_ExportMAKEFLAGS()
196
1972017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
198
199	* Makefile (_MAKE_VERSION): 20170114
200	  Merge with NetBSD make, pick up
201	  o var.c: allow specifying the utc value used by :{gm,local}time
202
2032016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
204
205	* Makefile (_MAKE_VERSION): 20161212
206	  Merge with NetBSD make, pick up
207          o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
208
2092016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
210
211	* Makefile (_MAKE_VERSION): 20161209
212	  Merge with NetBSD make, pick up
213	  o main.c: cleanup setting of .OBJDIR
214	  o parse.c: avoid coredump from (var)=val
215
2162016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
217
218	* Makefile (_MAKE_VERSION): 20161126
219	  Merge with NetBSD make, pick up
220	  o make.c: Make_OODate: report src node name if path not set
221
2222016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
223
224	* Makefile (_MAKE_VERSION): 20160926
225	  Merge with NetBSD make, pick up
226	  o support for .DELETE_ON_ERROR: (remove targets that fail)
227
2282016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
229
230	* Makefile MAN: tweak .Dt to match ${PROG}
231
2322016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
233
234	* Makefile (_MAKE_VERSION): 20160818
235	  its a neater number; pick up whitespace fixes to man page.
236
2372016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
238
239	* Makefile (_MAKE_VERSION): 20160817
240	  Merge with NetBSD make, pick up
241	  o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
242	    so we can call it before adding entries to missingFiles.
243	    Thus we do not track files we have been told to ignore.
244
2452016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
246
247	* Makefile (_MAKE_VERSION): 20160815
248	  Merge with NetBSD make, pick up
249	  o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
250	    pathnames, and skip if the expansion is empty.
251	    Useful for dirdeps.mk when checking DIRDEPS_CACHE.
252
2532016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
254
255	* Makefile (_MAKE_VERSION): 20160812
256	  Merge with NetBSD make, pick up
257	  o meta.c: remove all missingFiles entries that match a deleted
258	    dir.
259	  o main.c: set .ERROR_CMD if possible.
260
2612016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
262
263	* Makefile (_MAKE_VERSION): 20160606
264	  Merge with NetBSD make, pick up
265	  o dir.c: extend mtimes cache to others via cached_stat()
266
2672016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
268
269	* Makefile (_MAKE_VERSION): 20160604
270	  Merge with NetBSD make, pick up
271	  o meta.c: missing filemon data is only relevant if we read a
272	    meta file.
273	    Also do not return oodate for a missing metafile if gn->path
274	    points to .CURDIR
275
2762016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
277
278	* Makefile (_MAKE_VERSION): 20160602
279	  Merge with NetBSD make, pick up
280	  o cached_realpath(): avoid hitting filesystem more than necessary.
281	  o meta.c: refactor need_meta decision, add knobs for
282	    missing meta file and filemon data wrt out-of-datedness.
283
2842016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
285
286	* Makefile (_MAKE_VERSION): 20160528
287
288	* boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
289
2902016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
291
292	* Makefile (_MAKE_VERSION): 20160512
293	  Merge with NetBSD make, pick up
294	  o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
295	    this is useful for gcov builds.
296	  o propagate errors from filemon(4).
297
2982016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
299
300	* Makefile (_MAKE_VERSION): 20160509
301	  Merge with NetBSD make, pick up
302	  o remove use of non-standard types u_int etc.
303	  o meta.c: apply realpath() before matching against metaIgnorePaths
304
3052016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
306
307	* Makefile (_MAKE_VERSION): 20160404
308	  Merge with NetBSD make, pick up
309	  o allow makefile to set .MAKE.JOBS
310
311	* Makefile (PROG_NAME): use ${_MAKE_VERSION}
312
3132016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
314
315	* Makefile (_MAKE_VERSION): 20160315
316	  Merge with NetBSD make, pick up
317	  o fix handling of archive members
318
3192016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
320
321	* Makefile (_MAKE_VERSION): rename variable to avoid interference
322	  with checks for ${MAKE_VERSION}
323
3242016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
325
326	* Makefile (MAKE_VERSION): 20160310
327	  Merge with NetBSD make, pick up
328	  o meta.c: treat missing Read file same as Write, incase we Delete it.
329
3302016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
331
332	* Makefile (MAKE_VERSION): 20160307
333	  Merge with NetBSD make, pick up
334	  o var.c: fix :ts\nnn to be octal by default.
335	  o meta.c: meta_finish() to cleanup memory.
336
3372016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
338
339	* Makefile (MAKE_VERSION): 20160226
340	  Merge with NetBSD make, pick up
341	  o meta.c: allow meta file for makeDepend if makefiles want it.
342
3432016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
344
345	* var.c: default .MAKE.SAVE_DOLLARS to FALSE
346	  for backwards compatability.
347
348	* Makefile (MAKE_VERSION): 20160220
349	  Merge with NetBSD make, pick up
350	  o var.c: add knob to control handling of '$$' in :=
351
3522016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
353
354	* Makefile (MAKE_VERSION): 20160218
355	  Merge with NetBSD make, pick up
356	  o var.c: add .export-literal allows us to fix sys.clean-env.mk
357	    post the changes to Var_Subst.
358	    Var_Subst now takes flags, and does not consume '$$' in :=
359
3602016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
361
362	* Makefile (MAKE_VERSION): 20160217
363	  Merge with NetBSD make, pick up
364	  o var.c: preserve '$$' in :=
365	  o parse.c: add .dinclude for handling included
366	    makefile like .depend
367
3682015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
369
370	* Makefile (MAKE_VERSION): 20151220
371	  Merge with NetBSD make, pick up
372	  o suff.c: re-initialize suffNull when clearing suffixes.
373
3742015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
375
376	* Makefile (MAKE_VERSION): 20151201
377	  Merge with NetBSD make, pick up
378	  o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
379	  o meta.c: meta_oodate: use lstat(2) for checking link target
380	    in case it is a symlink.
381	  o var.c: avoid calling brk_string and Var_Export1 with empty
382	    strings.
383
3842015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
385
386	* Makefile (MAKE_VERSION): 20151126
387	  Merge with NetBSD make, pick up
388	  o parse.c: ParseTrackInput don't access beyond
389	    end of old value.
390
3912015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
392
393	* Makefile (MAKE_VERSION): 20151022
394
395	* Add support for BSD/OS which lacks inttypes.h
396	  and really needs sys/param.h for sys/sysctl.h
397	  also 'type' is not a shell builtin.
398
399	* var.c: eliminate uint32_t and need for inttypes.h
400
401	* main.c: PrintOnError flush stdout before run .ERROR
402
403	* parse.c: cope with _SC_PAGESIZE not being defined.
404
405
4062015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
407
408	* Makefile (MAKE_VERSION): 20151020
409	  Merge with NetBSD make, pick up
410	  o var.c: fix uninitialized var
411
4122015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
413
414	* var.c: the conditional expressions used with ':?' can be
415	expensive, if already discarding do not evaluate or expand
416	anything.
417
4182015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
419
420	* Makefile (MAKE_VERSION): 20151010
421	  Merge with NetBSD make, pick up
422	  o Add Boolean wantit flag to Var_Subst and Var_Parse
423	    when FALSE we know we are discarding the result and can
424	    skip operations like Cmd_Exec.
425
4262015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
427
428	* Makefile (MAKE_VERSION): 20151009
429	  Merge with NetBSD make, pick up
430	  o var.c: don't check for NULL before free()
431	  o meta.c: meta_oodate, do not hard code ignore of makeDependfile
432
4332015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
434
435	* Makefile (MAKE_VERSION): 20150910
436	  Merge with NetBSD make, pick up
437	  o main.c: with -w print Enter/Leaving messages for objdir too
438	    if necessary.
439	  o centralize shell metachar handling
440
441	* FILES: add metachar.[ch]
442
4432015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
444
445	* Makefile (MAKE_VERSION): 20150606
446	  Merge with NetBSD make, pick up
447	  o make.1: document .OBJDIR target
448
4492015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
450
451	* Makefile (MAKE_VERSION): 20150505
452	  Merge with NetBSD make, pick up
453	  o cond.c: be strict about lhs of comparison when evaluating .if
454	    but less so when called from variable expansion.
455	  o unit-tests/cond2.mk: test various error conditions
456
4572015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
458
459	* machine.sh (MACHINE): Add Bitrig
460	  patch from joerg@netbsd.org
461
4622015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
463
464	* Makefile (MAKE_VERSION): 20150418
465	  Merge with NetBSD make, pick up
466	  o job.c: use memmove() rather than memcpy()
467
468	* unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
469	  case, so skip it.
470
4712015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
472
473	* Makefile (MAKE_VERSION): 20150411
474	  bump version - only mk/ changes.
475
4762015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
477
478	* Makefile (MAKE_VERSION): 20150410
479	  Merge with NetBSD make, pick up
480	  o document different handling of '-' in jobs mode vs compat
481	  o fix jobs mode so that '-' only applies to whole job
482	    when shell lacks hasErrCtl
483	  o meta.c: use separate vars to track lcwd and latestdir (read)
484	    per process
485
4862015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
487
488	* Makefile (MAKE_VERSION): 20150401
489	  Merge with NetBSD make, pick up
490	  o meta.c: close meta file in child
491
492	* Makefile: use BINDIR.bmake if set.
493	  Same for MANDIR and SHAREDIR
494	  Handy for testing release candidates
495	  in various environments.
496
4972015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
498
499	* move initialization of savederr to block where it is used
500	  to avoid spurious warning from gcc5
501
5022014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
503
504	* Makefile (MAKE_VERSION): 20141111
505	  just a cooler number
506
5072014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
508
509	* Makefile (MAKE_VERSION): 20141105
510	  Merge with NetBSD make, pick up
511	  o revert major overhaul of suffix handling
512	    and POSIX compliance - too much breakage
513	    and impossible to make backwards compatible.
514	  o we still have the new unit test structure which is ok.
515	  o meta.c ensure "-- filemon" is at start of line.
516
5172014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
518
519	* configure.in: test that result of getconf PATH_MAX is numeric
520	  and discard if not.  Apparently needed for Hurd.
521
5222014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
523
524	* Makefile (MAKE_VERSION): 20140830
525	  Merge with NetBSD make, pick up
526	  o major overhaul of suffix handling
527	  o improved POSIX compliance
528	  o overhauled unit-tests
529
5302014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
531
532	* Makefile (MAKE_VERSION): 20140620
533	  Merge with NetBSD make, pick up
534	  o var.c return varNoError rather than var_Error for ::= modifiers.
535
5362014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
537
538	* Makefile (MAKE_VERSION): 20140522
539	  Merge with NetBSD make, pick up
540	  o var.c detect some parse errors.
541
5422014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
543
544	* Fix spelling errors - patch from Pedro Giffuni
545
5462014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
547
548	* Makefile (MAKE_VERSION): 20140214
549	  Merge with NetBSD make, pick up
550	  o .INCLUDEFROM*
551	  o use Var_Value to get MAKEOBJDIR[PREFIX]
552	  o reduced realloc'ign in brk_string.
553	* configure.in: add a check for compiler supporting __func__
554
5552014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
556
557	* boot-strap: ignore mksrc=none
558
5592014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
560
561	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
562
5632014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
564
565	* Makefile (MAKE_VERSION): 20140101
566	* configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
567	* Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
568	* make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
569	  Hurd)
570	* configure.in: Add AC_PREREQ and check for
571	  sysctl; patch from Andrew Shadura andrewsh at debian.org
572
5732013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
574
575	* Makefile (MAKE_VERSION): 20131010
576	* lose the const from arg to systcl to avoid problems on older BSDs.
577
5782013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
579
580	* Makefile (MAKE_VERSION): 20131001
581	  Merge with NetBSD make, pick up
582	  o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
583	    hw.machine_arch if necessary.
584	  o meta.c: meta_oodate - need to look at src of Link and target
585	    of Move as well.
586	* main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
587	  provide __arraycount() if needed.
588
5892013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
590
591	* Makefile (MAKE_VERSION): 20130904
592	  Merge with NetBSD make, pick up
593	  o Add VAR_INTERNAL context, so that internal setting of
594	    MAKEFILE does not override value set by makefiles.
595
5962013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
597
598	* Makefile (MAKE_VERSION): 20130902
599	  Merge with NetBSD make, pick up
600	  o CompatRunCommand: only apply shellErrFlag when errCheck is true
601
6022013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
603
604	* Makefile (MAKE_VERSION): 20130828
605	  Merge with NetBSD make, pick up
606	  o Fix VAR :sh = syntax from Will Andrews at freebsd.org
607	  o Call Job_SetPrefix() from Job_Init() so makefiles have
608	    opportunity to set .MAKE.JOB.PREFIX
609
6102013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
611
612	* Makefile (MAKE_VERSION): 20130730
613	  Merge with NetBSD make, pick up
614	  o Allow suppression of --- job -- tokens by setting
615	    .MAKE.JOB.PREFIX empty.
616
6172013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
618
619	* Makefile (MAKE_VERSION): 20130716
620	  Merge with NetBSD make, pick up
621	  o number of gmake compatibility tweaks
622	    -w for gmake style entering/leaving messages
623	    if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
624	    handle MAKEFLAGS containing only letters.
625	  o when overriding a GLOBAL variable on the command line,
626	    delete it from GLOBAL context so -V doesn't show the wrong
627	    value.
628
6292013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
630
631	* configure.in: We don't need MAKE_LEVEL_SAFE anymore.
632
633	* Makefile (MAKE_VERSION): 20130706
634	  Merge with NetBSD make, pick up
635	  o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
636	    true so that CompatRunCommand() can use it, to ensure
637	    consistent behavior with jobs mode.
638	  o use MAKE_LEVEL_ENV to define the variable to propagate
639	    .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
640	  o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
641	    paths to ignore.
642
6432013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
644
645	* Makefile (MAKE_VERSION): 20130604
646	  Merge with NetBSD make, pick up
647	  o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
648	    to avoid leaking descriptors.
649
6502013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
651
652	* Makefile (MAKE_VERSION): 20130528
653	  Merge with NetBSD make, pick up
654	  o var.c: cleanup some left-overs in VarHash()
655
6562013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
657
658	* Makefile (MAKE_VERSION): 20130520
659	  generate manifest from component FILES rather than have to
660	  update FILES when mk/FILES changes.
661
6622013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
663
664	* Makefile (MAKE_VERSION): 20130518
665	  Merge with NetBSD make, pick up
666	  o suff.c: don't skip all processsing for .PHONY targets
667	    else wildcard srcs do not get expanded.
668	  o var.c: expand name of variable to delete if necessary.
669
6702013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
671
672	* Makefile (MAKE_VERSION): 20130330
673	  Merge with NetBSD make, pick up
674	  o meta.c: refine the handling of .OODATE in commands.
675	    Rather than suppress command comparison for the entire script
676	    as though .NOMETA_CMP had been used, only suppress it for the
677	    one command line.
678	    This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
679	    suppress comparison of a command without otherwise affecting it.
680	  o make.1: document that
681
6822013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
683
684	* Makefile (MAKE_VERSION): 20130321
685	  yes, not quite right but its a cooler number.
686	  Merge with NetBSD make, pick up
687	  o parse.c: fix ParseGmakeExport to be portable
688	    and add a unit-test.
689	* meta.c: call meta_init() before makefiles are read and if built
690	  with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
691	  this let's makefiles test for support.
692	  Call meta_mode_init() to process .MAKE.MODE.
693
6942013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
695
696	* Makefile (MAKE_VERSION): 20130305
697	  Merge with NetBSD make, pick up
698	  o run .STALE: target when a dependency from .depend is missing.
699	  o job.c: add Job_RunTarget() for the above and .BEGIN
700
7012013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
702
703	* Makefile (MAKE_VERSION): 20130303
704	  Merge with NetBSD make, pick up
705	  o main.c: set .MAKE.OS to utsname.sysname
706	  o job.c: more checks for read and poll errors
707	  o var.c: lose VarChangeCase() saves 4% time
708
7092013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
710
711	* boot-strap: remove MAKEOBJDIRPREFIX from environment since we
712	  want to use MAKEOBJDIR
713
7142013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
715
716	* Merge with NetBSD make, pick up
717	  o make.1: more info on how shell commands are handled.
718	  o job.c,main.c: detect write errors to job pipes.
719
7202013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
721
722	* Makefile (MAKE_VERSION): 20130123
723	  Merge with NetBSD make, pick up
724	  o meta.c: if script uses .OODATE and meta_oodate() decides
725	    rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
726	  o var.c: in debug output indicate which variabale modifiers
727	    apply to.
728	  o remove Check_Cwd logic the makefiles have been fixed.
729
7302012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
731
732	* makefile.in: add a simple makefile for folk who insist on
733	  ./configure; make; make install
734	  it just runs boot-strap
735	* include mk/* to accommodate the above
736	* boot-strap:  re-work to accommodate the above
737	  mksrc defaults to $Mydir/mk
738	  allow op={configure,build,install,clean,all}
739	  add options to facilitate install
740	* Makefile.config.in: just the bits set by configure
741	* Makefile: bump version to 20121212
742	  abandon Makefile.in (NetBSD Makefile)
743	  leverage mk/* instead
744	* configure.in: ensure srcdir is absolute
745
7462012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
747
748	* Makefile.in (MAKE_VERSION): 20121111
749	  fix generation of bmake.cat1
750
7512012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
752
753	* Makefile.in (MAKE_VERSION): 20121109
754	  Merge with NetBSD make, pick up
755	  o make.c: MakeBuildChild: return 0 so search continues if a
756	    .ORDER dependency is detected.
757	  o unit-tests/order: test the above
758
7592012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
760
761	* Makefile.in (MAKE_VERSION): 20121102
762	  Merge with NetBSD make, pick up
763	  o cond.c: allow cond_state[] to grow.
764	    In meta mode with a very large tree, we can hit the limit
765	    while processing dirdeps.
766
7672012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
768
769	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
770
7712012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
772
773	* Makefile.in (MAKE_VERSION): 20121010
774	  o protect syntax that only bmake parses correctly.
775	  o remove auto setting of FORCE_MACHINE, use configure's
776	    --with-force-machine=whatever if that is desired.
777
7782012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
779
780	* Makefile.in: do not lose history from make.1 when generating bmake.1
781
7822012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
783
784	* Makefile.in (MAKE_VERSION): 20121007
785	  Merge with NetBSD make, pick up
786	  o compat.c: ignore empty commands - same as jobs mode.
787	  o make.1: document meta chars that cause use of shell
788
7892012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
790
791	* Makefile.in (MAKE_VERSION): bump version to 20120911
792	* bsd.after-import.mk: include Makefile.inc early and allow it to
793	  override PROG
794
7952012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
796
797	* Makefile.in (MAKE_VERSION): bump version to 20120831
798	  Merge with NetBSD make, pick up
799	  o cast sizeof() to int for comparison
800	  o minor make.1 tweak
801
8022012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
803
804	* Makefile.in (MAKE_VERSION): bump version to 20120830
805	  Merge with NetBSD make, pick up
806	  o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
807	  o debug flag -dV causes -V to show raw value regardless.
808
8092012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
810
811	* bsd.after-import.mk (after-import): ensure unit-tests/Makefile
812	  gets SRCTOP set.
813
8142012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
815
816	* Makefile.in (MAKE_VERSION): bump version to 20120704
817	  Merge with NetBSD make, pick up
818	  o Job_ParseShell should call Shell_Init if it has been
819	    previously called.
820	* Makefile.in: set USE_META based on configure result.
821	  also .PARSEDIR is safer indicator of bmake.
822
8232012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
824
825	* Makefile.in: bump version to 20120626
826	  ensure CPPFLAGS is in CFLAGS
827	* meta.c: avoid nested externs
828	* bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
829
8302012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
831
832	* Makefile.in (MAKE_VERSION): bump version to 20120620
833	  Merge with NetBSD make, pick up
834	  o make_malloc.c: avoid including make_malloc.h again
835
836	* Makefile.in: avoid bmake only syntax or protect with
837	  .if defined(.MAKE.LEVEL)
838	* bsd.after-import.mk: replace .-include with .sinclude
839	  ensure? SRCTOP gets a value
840	* configure.in: look for filemon.h in /usr/include/dev/filemon first.
841
8422012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
843
844	* Makefile.in (MAKE_VERSION): bump version to 20120612
845	  Merge with NetBSD make, pick up
846	  o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
847	    for greater portability.
848	  o unit-tests/forloop: check that .for works as expected wrt
849	    number of times and with "quoted strings".
850
8512012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
852
853	* Makefile.in (MAKE_VERSION): bump version to 20120606
854	  Merge with NetBSD make, pick up
855	  o compat.c: use kill(2) rather than raise(3).
856	* configure.in: look for sys/dev/filemon
857	* bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
858	  and pass BOOTSTRAP_XTRAS to boot-strap.
859
8602012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
861
862	* Makefile.in (MAKE_VERSION): bump version to 20120604
863	  Merge with NetBSD make, pick up
864	  o util.c and var.c share same var for tracking if environ
865	    has been reallocated.
866	  o util.c provide getenv with setenv.
867	* Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
868	  when the shell actively strips .MAKE.* from the environment.
869	  We still refer to the variable always as .MAKE.LEVEL
870	* util.c fix bug in findenv() was finding prefix of name.
871	* compat.c: re-raising SIGINT etc after running .INTERRUPT
872	  results in more reliable termination of all activity on many
873	  platforms.
874
8752012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
876
877	* Makefile.in (MAKE_VERSION): bump version to 20120602
878	  Merge with NetBSD make, pick up
879	  o for.c: handle quoted items in .for list
880
8812012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
882
883	* Makefile.in (MAKE_VERSION): bump version to 20120530
884	  Merge with NetBSD make, pick up
885	  o compat.c: ignore empty command.
886
8872012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
888
889	* Makefile.in (MAKE_VERSION): bump version to 20120524
890	* FILES: add bsd.after-import.mk:
891	  A simple means of integrating bmake into a BSD build system.
892
8932012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
894
895	* Makefile.in (MAKE_VERSION): bump version to 20120520
896	  Merge with NetBSD make, pick up
897	  o increased limit for nested conditionals.
898
8992012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
900
901	* Makefile.in (MAKE_VERSION): bump version to 20120518
902	  Merge with NetBSD make, pick up
903	  o use _exit(2) in signal hanlder
904	  o Don't use the [dir] cache when building nodes that might have
905	    changed since the last exec.
906	  o Avoid nested extern declaration warnings.
907
9082012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
909
910	* meta.c (fgetLine): avoid %z - not portable.
911	* parse.c: Since we moved include of sys/mman.h
912	  and def's of MAP_COPY etc. we got dups from a merge.
913
9142012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
915
916	* Makefile.in (MAKE_VERSION): bump version to 20120420
917	  Merge with NetBSD make, pick up
918	  o restore duplicate supression in .MAKE.MAKEFILES
919	    runtime saving can be significant.
920	  o Var_Subst() uses Buf_DestroyCompact() to reduce memory
921	    consumption up to 20%.
922
9232012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
924
925	* Makefile.in (MAKE_VERSION): bump version to 20120420
926          Merge with NetBSD make, pick up
927	  o remove duplicate supression in .MAKE.MAKEFILES
928	  o improved dir cache behavior
929	  o gmake'ish export command
930
9312012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
932
933	* Makefile.in (MAKE_VERSION): bump version to 20120325
934	  Merge with NetBSD make, pick up
935	  o fix parsing of :[#] in conditionals.
936
9372012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
938
939	* Makefile.in: replace use of .Nx in bmake.1 with NetBSD
940	  since some systems cannot cope with .Nx <version>
941
9422011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
943
944	* Makefile.in (MAKE_VERSION): bump version to 20111111
945	  Merge with NetBSD make, pick up
946	  o debug output for .PARSEDIR and .PARSEFILE
947
9482011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
949
950	* Makefile.in (MAKE_VERSION):  bump version to 20111010
951
9522011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
953
954	* boot-strap: check for an expected file in the dirs we look for.
955	* make-bootstrap.sh: pass on LDSTATIC
956
9572011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
958
959	* Makefile.in (MAKE_VERSION): bump version to 20111001
960	  Merge with NetBSD make, pick up
961	  o ensure .PREFIX is set for .PHONY
962	    and .TARGET set for .PHONY run via .END
963	  o __dead used consistently
964
9652011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
966
967	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
968
9692011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
970
971	* Makefile.in (MAKE_VERSION): bump version to 20110905
972	  Merge with NetBSD make, pick up
973	  o meta_oodate: ignore makeDependfile
974
9752011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
976
977	* Makefile.in (MAKE_VERSION): bump version to 20110828
978	  Merge with NetBSD make, pick up
979	  o silent=yes in .MAKE.MODE causes meta mode to mark targets
980	    as SILENT if a .meta file is created
981
9822011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
983
984	* Makefile.in (MAKE_VERSION): bump version to 20110818
985	  Merge with NetBSD make, pick up
986	  o in meta mode, if target flagged .META a missing .meta file
987	    means target is out-of-date
988	  o fixes for gcc 4.5 warnings
989	  o simplify job printing code
990
9912011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
992
993	* Makefile.in (MAKE_VERSION): bump version to 20110808
994	  Merge with NetBSD make, pick up
995	  o do not touch OP_SPECIAL targets when doing make -t
996
9972011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
998
999	* Makefile.in (MAKE_VERSION): bump version to 20110622
1000	  Merge with NetBSD make, pick up
1001	  o meta_oodate detect corrupted .meta file and declare oodate.
1002	* configure.in: add check for setsid
1003
10042011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1005
1006	* Merge with NetBSD make, pick up
1007	  o unit-tests/modts now works on MirBSD
1008
10092011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1010
1011	* Makefile.in (MAKE_VERSION): bump version to 20110606
1012	  Merge with NetBSD make, pick up
1013	  o ApplyModifiers: when we parse a variable which is not
1014	    the entire modifier string, or not followed by ':', do not
1015	    consider it as containing modifiers.
1016	  o loadfile: ensure newline at end of mapped file.
1017
10182011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1019
1020	* Makefile.in (MAKE_VERSION): bump version to 20110505
1021	  Merge with NetBSD make, pick up
1022	  o .MAKE.META.BAILIWICK - list of prefixes which define the scope
1023	    of make's control.  In meta mode, any generated file within
1024	    said bailiwick, which  is found to be missing, causes current
1025	    target to be out-of-date.
1026
10272011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1028
1029	* Makefile.in (MAKE_VERSION): bump version to 20110411
1030	  Merge with NetBSD make, pick up
1031	  o when long modifiers fail to match, check sysV style.
1032	    - add a test case
1033
10342011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1035
1036	* Makefile.in (MAKE_VERSION): bump version to 20110410
1037	  Merge with NetBSD make, pick up
1038	  o :hash - cheap 32bit hash of value
1039	  o :localtime, :gmtime - use value as format string for strftime.
1040
10412011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1042
1043	* Makefile.in (MAKE_VERSION): bump version to 20110330
1044	  mostly because its a cooler version.
1045	  Merge with NetBSD make, pick up
1046	  o NetBSD tags for meta.[ch]
1047	  o job.c call meta_job_finish() after meta_job_error().
1048	  o meta_job_error() should call meta_job_finish() to ensure
1049	    .meta file is closed, and safe to copy - if .ERROR target wants.
1050	   meta_job_finish() is safe to call repeatedly.
1051
10522011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
1053
1054	* unit-tests/modts: use printf if it is a builtin,
1055	  to save us from MirBSD
1056
1057	* Makefile.in (MAKE_VERSION): bump version to 20110329
1058	  Merge with NetBSD make, pick up
1059	  o fix for use after free() in CondDoExists().
1060	  o meta_oodate() report extra commands and return earlier.
1061
10622011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
1063
1064	* Makefile.in (MAKE_VERSION): bump version to 20110327
1065	  Merge with NetBSD make, pick up
1066	  o meta.c, if .MAKE.MODE contains curdirOk=yes
1067	    allow creating .meta files in .CURDIR
1068	* boot-strap (TOOL_DIFF): aparently at least on linux distro
1069	  formats the output of 'type' differently - so eat any "()"
1070
10712011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1072
1073	* Makefile.in (MAKE_VERSION): bump version to 20110306
1074	  Merge with NetBSD make, pick up
1075	  o meta.c, only do getcwd() once
1076
10772011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1078
1079	* Makefile.in (MAKE_VERSION): bump version to 20110305
1080	  Merge with NetBSD make, pick up
1081	  o correct sysV substitution handling of empty lhs and variable
1082	  o correct exists() check for dir with trailing /
1083	  o correct handling of modifiers for non-existant variables
1084	    during evaluation of conditionals.
1085	  o ensure MAP_FILE is defined.
1086	  o meta.c use curdir[] now exported by main.c
1087
10882011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1089
1090	* Makefile.in (MAKE_VERSION): bump version to 20110225
1091	  Merge with NetBSD make, pick up
1092	  o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1093	    makefiles have been read.
1094	  o fix example of :? modifier in man page.
1095
10962011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1097
1098	* Makefile.in (MAKE_VERSION): bump version to 20110214
1099	  Merge with NetBSD make, pick up
1100	  o meta.c handle realpath() failing when generating meta file
1101	    name.
1102
1103	* sigcompat.c: convert to ansi so we can use higher warning levels.
1104
1105
11062011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1107
1108	* Makefile.in (MAKE_VERSION): bump version to 20110207
1109	  Merge with NetBSD make, pick up
1110	  o fix for bug in meta mode.
1111
11122011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1113
1114	* parse.c: SunOS 5.8 at least does not have MAP_FILE
1115
11162011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1117
1118	* Makefile.in (MAKE_VERSION): bump version to 20110101
1119	  Merge with NetBSD make, pick up
1120	  o use mmap(2) if available, for reading makefiles
1121
11222010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1123
1124	* Makefile.in (MAKE_VERSION): bump version to 20101215
1125	  Merge with NetBSD make, pick up
1126	  o ensure meta_job_error() does not report a previous .meta file
1127	    as being culprit.
1128
11292010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1130
1131	* Makefile.in (MAKE_VERSION): bump version to 20101210
1132	  Merge with NetBSD make, pick up
1133	  o meta_oodate: track cwd per process, and only consider target
1134	    out-of-date if missing file is outside make's CWD.
1135	    Ignore files in /tmp/ etc.
1136	  o to ensure unit-tests results match, need to control LC_ALL
1137	    as well as LANG.
1138	  o fix for parsing bug in var.c
1139
11402010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1141
1142	* Makefile.in (MAKE_VERSION): bump version to 20101126
1143	  Merge with NetBSD make, pick up
1144	  o if stale dependency is an IMPSRC, search via .PATH
1145	  o meta_oodate: if a referenced file is missing, target is
1146	    out-of-date.
1147	  o meta_oodate: if a target uses .OODATE in its commands,
1148	    it (.OODATE) needs to be recomputed.
1149	  o keep a pointer to youngest child node, rather than just its
1150	    mtime.
1151
11522010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1153
1154	* Makefile.in (MAKE_VERSION): bump version to 20101101
1155
11562010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1157
1158	* machine.sh: like os.sh,
1159	allow for uname -p producing useless drivel
1160
11612010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1162
1163	* boot-strap: document configure knobs for meta and filemon.
1164
1165	* Makefile.in (MAKE_VERSION): bump version to 20100911
1166	  Merge with NetBSD make, pick up
1167	  o meta.c - meta mode
1168
1169	* make-bootstrap.sh.in: handle meta.c
1170	* configure.in: add knobs for use_meta and filemon_h
1171	  also, look for dirname, str[e]sep and strlcpy
1172	* util.c: add simple err[x] and warn[x]
1173
11742010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1175
1176	* boot-strap (TOOL_DIFF): set this to ensure tests use
1177	  the same version of diff that configure tested
1178
1179	* Makefile.in (MAKE_VERSION): bump version to 20100808
1180	  Merge with NetBSD make, pick up
1181	  o in jobs mode, when we discover we cannot make something,
1182	    call PrintOnError before exit.
1183
11842010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1185
1186	* Makefile.in (MAKE_VERSION): bump version to 20100806
1187	  Merge with NetBSD make, pick up
1188	  o formatting fixes for ignored errors
1189	  o ensure jobs are cleaned up regardless of where wait() was called.
1190
11912010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1192
1193	* Makefile.in (MAKE_VERSION): bump version to 20100618
1194	* os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1195
11962010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1197
1198	* Makefile.in (MAKE_VERSION): bump version to 20100616
1199	  Merge with NetBSD make, pick up
1200	  o man page update
1201	  o call PrintOnError from JobFinish when we detect an error we
1202	    are not ignoring.
1203
12042010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1205
1206	* Makefile.in (MAKE_VERSION): bump version to 20100606
1207	  Merge with NetBSD make, pick up
1208	  o man page update
1209
12102010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1211
1212	* Makefile.in (MAKE_VERSION): bump version to 20100605
1213	  Merge with NetBSD make, pick up
1214	  o use bmake_signal() which is a wrapper around sigaction()
1215	    in place of signal()
1216	  o add .export-env to allow exporting variables to environment
1217	    without tracking (so no re-export when the internal value is
1218	    changed).
1219
12202010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1221
1222	* Makefile.in (MAKE_VERSION): bump version to 20100524
1223	  Merge with NetBSD make, pick up
1224	  o fix for .info et al being greedy.
1225
12262010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1227
1228	* Makefile.in (MAKE_VERSION): bump version to 20100520
1229	  Merge with NetBSD make, pick up
1230	  o back to using realpath on argv[0]
1231	    but only if contains '/' and does not start with '/'.
1232
12332010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1234
1235	* boot-strap: use absolute path for bmake when running tests.
1236
1237	* Makefile.in (MAKE_VERSION):  bump version to 20100510
1238	  Merge with NetBSD make, pick up
1239	  o revert use of realpath on argv[0]
1240	    too many corner cases.
1241	  o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1242
12432010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1244
1245	* Makefile.in (MAKE_VERSION): bump version to 20100505
1246	  Merge with NetBSD make, pick up
1247	  o fix for missed SIGCHLD when compiled with SunPRO
1248	    actually for bmake, defining FORCE_POSIX_SIGNALS would have
1249	    done the job.
1250
12512010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1252
1253	* Makefile.in (MAKE_VERSION): bump version to 20100430
1254	  Merge with NetBSD make, pick up
1255	  o fflush stdout before writing to stdout
1256
12572010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1258
1259	* Makefile.in (MAKE_VERSION): bump version to 20100423
1260	  Merge with NetBSD make, pick up
1261	  o updated unit tests for Haiku (this time for sure).
1262	* boot-strap: based on patch from joerg
1263	  honor --with-default-sys-path better.
1264	* boot-strap: remove mention of --with-prefix-sys-path
1265
12662010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1267
1268	* Makefile.in (MAKE_VERSION): bump version to 20100422
1269	* Merge with NetBSD make, pick up
1270	  o fix for vfork() on Darwin.
1271	  o fix for bogus $TMPDIR.
1272	  o set .MAKE.MODE=compat for -B
1273	  o set .MAKE.JOBS=max_jobs for -j max_jobs
1274	  o allow unit-tests to run without any *.mk
1275	  o unit-tests/modmisc be more conservative in dirs presumed to exist.
1276	* boot-strap: ignore /usr/share/mk except on NetBSD.
1277	* unit-tests/Makefile.in: set LANG=C when running unit-tests to
1278	  ensure sort(1) behaves as expected.
1279
12802010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1281
1282	* boot-strap: add FindHereOrAbove so we can use -m .../mk
1283
12842010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1285
1286	* Makefile.in (MAKE_VERSION): bump version to 20100420
1287	* Merge with NetBSD make, pick up
1288	  o fix for variable realpath() behavior.
1289	    we have to stat(2) the result to be sure.
1290	  o fix for .export (all) when nested vars use :sh
1291
12922010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1293
1294	* Makefile.in (MAKE_VERSION): bump version to 20100414
1295	* Merge with NetBSD make, pick up
1296	  o use realpath to resolve argv[0] (for .MAKE) if needed.
1297	  o add realpath from libc.
1298	  o add :tA to resolve variable via realpath(3) if possible.
1299
13002010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1301
1302	* Makefile.in (MAKE_VERSION): bump version to 20100408
1303	* Merge with NetBSD make, pick up
1304	  o unit tests for .ERROR, .error
1305	  o fix for .ERROR to ensure it cannot be default target.
1306
13072010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1308
1309	* Makefile.in (MAKE_VERSION): bump version to 20100406
1310	* Merge with NetBSD make, pick up
1311	  o fix for compat mode "Error code" going to debug_file.
1312	  o fix for .ALLSRC being populated twice.
1313	  o support for .info, .warning and .error directives
1314	  o .MAKE.MODE to control make's operational mode
1315	  o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1316	    name(s).
1317	  o .MAKE.DEPENDFILE to control the name of the depend file
1318	  o .ERROR target - run on failure.
1319
13202010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1321
1322	* make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1323
1324	* os.sh,arch.c: patch for Haiku from joerg at netbsd
1325
13262010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1327
1328	* Makefile.in (MAKE_VERSION): bump version to 20100222
1329	* Merge with NetBSD make, pick up
1330	  o better error msg for .for with mutiple inter vars
1331
1332	* boot-strap:
1333	  o use make-bootstrap.sh from joerg at netbsd
1334	    to avoid the need for a native make when bootstrapping.
1335	  o add "" everywhere ;-)
1336	  o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1337	    otherwise the pre-formated version.
1338
13392010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1340
1341	* Makefile.in (MAKE_VERSION): bump version to 20100102
1342	* Merge with NetBSD make, pick up:
1343	  o fix for -m .../
1344
13452009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
1346
1347	* Makefile.in (MAKE_VERSION): bump version to 20091118
1348	* Merge with NetBSD make, pick up:
1349	  o .unexport
1350	  o report lines that start with '.' and should have ':'
1351	    (catch typo's of .el*if).
1352
13532009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1354
1355	* configure.in: Ensure that srcdir and mksrc are absolute paths.
1356
13572009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1358
1359	* Makefile.in (MAKE_VERSION): fix version to 20091007
1360
13612009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
1362
1363	* Makefile.in (MAKE_VERSION): bump version to 200910007
1364	* Merge with NetBSD make, pick up:
1365	  o fix for parsing of :S;...;...; applied to .for loop iterator
1366	    appearing in a dependency line.
1367
13682009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1369
1370	* Makefile.in (MAKE_VERSION): bump version to 20090909
1371	* Merge with NetBSD make, pick up:
1372	  o fix for -C, .CURDIR and .OBJDIR
1373	* boot-strap:
1374	  o allow share_dir to be set independent of prefix.
1375	  o select default share_dir better when prefix ends in $HOST_TARGET
1376	  o if FORCE_BSD_MK etc were set, include them in the suggested
1377	    install-mk command.
1378
13792009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
1380
1381	* Makefile.in (MAKE_VERSION): bump version to 20090908
1382	* Merge with NetBSD make, pick up:
1383	  o .MAKE.LEVEL for recursion tracking
1384	  o fix for :M scanning \:
1385
13862009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1387
1388	* configure.in: Don't -D__EXTENSIONS__ if
1389	AC_USE_SYSTEM_EXTENSIONS says "no".
1390
13912009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
1392
1393	* Makefile.in (MAKE_VERSION): bump version to 20090826
1394	Simplify MAKE_VERSION to just the bare date.
1395	* Merge with NetBSD make, pick up:
1396	  o -C directory support.
1397	  o support for SIGINFO
1398	  o use $TMPDIR for temp files.
1399	  o child of vfork should be careful about modifying parent's state.
1400
1401
14022009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
1403
1404	* Appy some patches for MiNT from David Brownlee
1405
14062009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
1407
1408	* Makefile.in (BMAKE_VERSION): bump version to 20090222
1409	* Merge with NetBSD make, pick up:
1410	  o Possible null pointer de-ref in Var_Set.
1411
14122009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
1413
1414	* Makefile.in (BMAKE_VERSION): bump version to 20090204
1415	* Merge with NetBSD make, pick up:
1416	  o bmake_malloc et al moved to their own .c
1417	  o Count both () and {} when looking for the end of a :M pattern
1418	  o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1419	  o strlist.c - functions for processing extendable arrays of pointers to strings.
1420	  o ClientData replaced with void *, so const void * can be used.
1421	  o New debug flag C for DEBUG_CWD
1422
14232008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
1424
1425	* Makefile.in (BMAKE_VERSION): bump version to 20081111
1426	  Apply patch from Joerg Sonnenberge to
1427	  configure.in:
1428	  o remove some redundant checks
1429	  o check for emlloc etc only in libutil and require the whole family.
1430	  util.c:
1431	  o remove [v]asprintf which is no longer used.
1432
14332008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1434
1435	* Makefile.in (BMAKE_VERSION): bump version to 20081101
1436	* Merge with NetBSD make, pick up:
1437	  o util.c: avoid use of putenv() - christos
1438
14392008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1440
1441	* Makefile.in (BMAKE_VERSION): bump version to 20081030
1442	  pick up man page tweaks.
1443
14442008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
1445
1446	* Makefile.in: move processing of LIBOBJS to after is definition!
1447	  thus we'll have getenv.c in SRCS only if needed.
1448
1449	* make.1: add examples of how to use :?
1450
1451	* Makefile.in (BMAKE_VERSION): bump version to 20081029
1452	* Merge with NetBSD make, pick up:
1453	  o fix for .END processing with -j
1454	  o segfault from Parse_Error when no makefile is open
1455	  o handle numeric expressions in any variable expansion
1456	  o debug output now defaults to stderr, -dF to change it - apb
1457	  o make now uses bmake_malloc etc so that it can build natively
1458	    on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1459
14602008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
1461
1462	* Makefile.in (BMAKE_VERSION): bump version to 20080808
1463	* Merge with NetBSD make, pick up:
1464	  o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1465	    long lines in Makefiles
1466	  o optimizations for VarQuote by joerg
1467	  o fix for PR/38756: dominik: make dumps core on invalid makefile
1468
14692008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
1470
1471	* Makefile.in (BMAKE_VERSION): bump version to 20080515
1472	* Merge with NetBSD make, pick up:
1473	  o fix skip setting vars in VAR_GLOBAL context, to handle
1474	    cases where VAR_CMD is used for other than command line vars.
1475
14762008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
1477
1478	* boot-strap (make_version): we may need to look in
1479	$prefix/share/mk for sys.mk
1480
1481	* Makefile.in (BMAKE_VERSION): bump version to 20080514
1482	* Merge with NetBSD make, pick up:
1483	  o skip setting vars in VAR_GLOBAL context, when already set in
1484	  VAR_CMD which takes precedence.
1485
14862008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
1487
1488	* Makefile.in (BMAKE_VERSION):  bump version to 20080330
1489	* Merge with NetBSD make, pick up:
1490	  o fix for ?= when LHS contains variable reference.
1491
14922008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1493
1494	* merge some patches from NetBSD pkgsrc.
1495
1496	* makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1497	the MAKSYSPATH used during bootstrap.
1498
1499	* Makefile.in (BMAKE_VERSION): bump version to 20080215
1500	* Merge with NetBSD make, pick up:
1501	  o warn if non-space chars follow 'empty' in a conditional.
1502
15032008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1504
1505	* Makefile.in (BMAKE_VERSION): bump version to 20080118
1506	* Merge with NetBSD make, pick up:
1507	  o consider dependencies read from .depend as optional - dsl
1508	  o remember when buffer for reading makefile grows - dsl
1509	  o add -dl (aka LOUD) - David O'Brien
1510
15112007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
1512
1513	* Makefile.in (BMAKE_VERSION): bump version to 20071022
1514	* Merge with NetBSD make, pick up:
1515	  o Allow .PATH<suffix> to be used for .include ""
1516
1517	* boot-strap: source default settings from .bmake-boot-strap.rc
1518
15192007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
1520
1521	* Makefile.in: fix maninstall on various systems
1522	  provided that our man.mk is used.
1523	  For non-BSD systems we install the preformatted page
1524	  into $MANDIR/cat1
1525
15262007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
1527
1528	* boot-strap: make bmake.1 too, so maninstall works.
1529
15302007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
1531
1532	* Makefile.in (BMAKE_VERSION): bump version to 20071014
1533	* Merge with NetBSD make, pick up:
1534	  o revamped handling of defshell - configure no longer needs to
1535	    know the content of the shells array - apb
1536	  o stop Var_Subst modifying its input - apb
1537	  o avoid calling ParseTrackInput too often - dsl
1538
15392007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
1540
1541	* Makefile.in (BMAKE_VERSION): bump version to 20071011
1542	* Merge with NetBSD make, pick up:
1543	  o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1544
1545	* sigcompat.c: some tweaks for HP-UX 11.x based on
1546	  patch from Tobias Nygren
1547
1548	* configure.in: update handling of --with-defshell to match
1549	  new make behavior.  --with-defshell=/usr/xpg4/bin/sh
1550	  will now do what one might hope - provided the chosen shell
1551	  behaves enough like sh.
1552
15532007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
1554
1555	* Makefile.in (BMAKE_VERSION): bump to 20071008
1556	* Merge with NetBSD make, pick up:
1557	  o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1558	  o .export/.MAKE.EXPORTED - export of variables - sjg
1559	  o .MAKE.MAKEFILES - track all makefiles read - sjg
1560	  o performance improvements - dsl
1561	  o revamp parallel job scheduling - dsl
1562
15632006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1564
1565	* Makefile.in (BMAKE_VERSION): bump to 20060728
1566	* Merge with NetBSD make, pick up:
1567	  o extra debug info during variable and cond processing - sjg
1568	  o shell definition now covers newline - rillig
1569	  o minor mem leak in PrintOnError - sjg
1570
15712006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1572
1573	* Makefile.in (BMAKE_VERSION):  bump to 20060511
1574	* Merge with NetBSD make, pick up:
1575	  o more memory leaks - coverity
1576	  o possible overflow in ArchFindMember - coverity
1577	  o extract variable modifier code out of Var_Parse()
1578	    so it can be called recursively - sjg
1579	  o unit-tests/moderrs - sjg
1580
15812006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
1582
1583	* Makefile.in (BMAKE_VERSION): bump to 20060412
1584	* Merge with NetBSD make, pick up:
1585	  o fixes for some memory leaks - coverity
1586	  o only read first sys.mk etc when searching sysIncPath - sjg
1587
1588	* main.c (ReadMakefile): remove hack for __INTERIX that prevented
1589	setting ${MAKEFILE} - OBATA Akio
1590
15912006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
1592
1593	* Makefile.in (BMAKE_VERSION): bump to 20060318
1594	* Merge with NetBSD make, pick up:
1595	  o cleanup of job.c to remove remote handling, distcc is more
1596	    useful and this code was likely bit-rotting - dsl
1597	  o fix for :P modifier - sjg
1598	* boot-strap: set default prefix to something reasonable
1599	  (for me anyway).
1600
16012006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
1602
1603	* Makefile.in (BMAKE_VERSION): bump to 20060301
1604	* Merge with NetBSD make, pick up:
1605	  o make .WAIT apply recursively, document and test case - apb
1606	  o allow variable modifiers in a variable appear anywhere in
1607	    modifier list, document and test case - sjg
1608
16092006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
1610
1611	* Makefile.in (BMAKE_VERSION): bump to 20060222
1612	* Merge with NetBSD make, pick up:
1613	  o improved job token handling - dsl
1614	  o SIG_DFL the correct signal before exec - dsl
1615	  o more debug info during parsing - dsl
1616	  o allow variable modifiers to be specified via variable - sjg
1617	* boot-strap: explain why we died if no mksrc
1618
16192005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
1620
1621	* Makefile.in (BMAKE_VERSION): bump to 20051105
1622	* configure.in: always set default_sys_path
1623	  default is ${prefix}/share/mk
1624	  - remove prefix_sys_path, anyone wanting more than above
1625	    needs to set it manually.
1626
16272005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1628
1629	* boot-strap: make this a bit easier for pkgsrc folk.
1630	  bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1631	  'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1632
16332005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
1634
1635	* Makefile.in (BMAKE_VERSION): bump to 20051102
1636	* job.c (JobFinish): fix likely ancient merge lossage
1637	fix from Todd Vierling.
1638	* boot-strap (srcdir): allow setting mksrc=none
1639
16402005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
1641
1642	* Makefile.in (BMAKE_VERSION): bump to 20051031
1643	* ranlib.h: skip on OSF too.
1644	  (NetBSD PR 31864)
1645
16462005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
1647
1648	* Makefile.in (BMAKE_VERSION): bump to 20051002
1649	  fix a silly typo
1650
16512005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1652
1653	* Makefile.in (BMAKE_VERSION): bump to 20051001
1654	  support for UnixWare and some other systems,
1655	  based on patches from pkgsrc/bootstrap
1656
16572005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1658
1659	* Makefile.in (BMAKE_VERSION): bump to 20050901
1660	* Merge with NetBSD make, pick up:
1661	  o possible parse error causing us to wander off.
1662
16632005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
1664
1665	* Makefile.in (BMAKE_VERSION): bump to 20050606
1666	* Merge with NetBSD make, pick up:
1667	  o :0x modifier for randomizing a list
1668	  o fixes for a number of -Wuninitialized issues.
1669
16702005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
1671
1672	* Makefile.in (BMAKE_VERSION): bump to 20050530
1673	* Merge with NetBSD make, pick up:
1674	  o Handle dependencies for .BEGIN, .END and .INTERRUPT
1675
1676	* README: was seriously out of date.
1677
16782005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
1679
1680	* Important to use .MAKE rather than MAKE.
1681
16822005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
1683
1684	* Makefile.in (BMAKE_VERSION): bump to 20050315
1685	* Merge with NetBSD make, pick up:
1686	  o don't mistake .elsefoo for .else
1687	  o use suffix-specific search path correctly
1688	  o bunch of style nits
1689
16902004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1691
1692	* boot-strap:
1693	o ensure that args to --src and --with-mksrc
1694	  are resolved before giving them to configure.
1695	o add -o "objdir" so that builder can control it,
1696	  default is $OS as determined by os.sh
1697	o add -q to suppress all the install instructions.
1698
16992004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
1700
1701	* Remove __IDSTRING()
1702
1703	* Makefile.in (BMAKE_VERSION): bump to 20040508
1704	* Merge with NetBSD make, pick up:
1705	  o posix fixes
1706	    - remove '-e' from compat mode
1707	    - add support for '+' command-line prefix.
1708	  o fix for handling '--' on command-line.
1709	  o fix include in lst.lib/lstInt.h to simplify '-I's
1710	  o we also picked up replacement of MAKE_BOOTSTRAP
1711	    with !MAKE_NATIVE which is a noop, but possibly confusing.
1712
17132004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
1714
1715	* Makefile.in (BMAKE_VERSION): bump to 20040414
1716	* Merge with NetBSD make, pick up:
1717	  o allow quoted strings on lhs of conditionals
1718	  o issue warning when extra .else is seen
1719	  o print line numer when errors encountered during parsing from
1720	  string.
1721
17222004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
1723
1724	* Makefile.in (BMAKE_VERSION):  bump to 20040220
1725	* Merge with NetBSD make, pick up:
1726	  o fix for old :M parsing bug.
1727	  o re-jigged unit-tests
1728
17292004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1730
1731	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1732	so that './bmake -f Makefile test' works.
1733
17342004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
1735
1736	* Makefile.in: (BMAKE_VERSION): bump to 20040214
1737	* Merge with NetBSD make, pick up:
1738	  o search upwards for *.mk
1739	  o fix for double free of var substitution buffers
1740	  o use of getopt replaced with custom code, since the usage
1741	  (re-scanning) isn't posix compatible.
1742
17432004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
1744
1745	* arch.c: don't include ranlib.h on ELF systems
1746	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1747
17482004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1749
1750	* Makefile.in (BMAKE_VERSION): bump to 20040118
1751
1752	* boot-strap (while): export vars we assign to on cmdline
1753	* unit-test/Makefile.in: ternary is .PHONY
1754
17552004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
1756
1757	* Makefile.in (BMAKE_VERSION): bump version to 20040108
1758	* Merge with NetBSD make, pick up:
1759	  o fix for ternary modifier
1760
17612004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
1762
1763	* Makefile.in (BMAKE_VERSION): bump version to 20040105
1764	* Merge with NetBSD make, pick up:
1765	  o fix for cond.c to handle compound expressions better
1766	  o variable expansion within sysV style replacements
1767
17682003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
1769
1770	* Make portable snprintf safer - output to /dev/null first to
1771	check space needed.
1772
1773	* Makefile.in (BMAKE_VERSION): bump version to 20031222
1774	* Merge with NetBSD make, pick up:
1775	  o -dg3 to show input graph when things go wrong.
1776	  o explicitly look for makefiles in objdir if not found in curdir so
1777	    that errors in .depend etc will be reported accurarely.
1778	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1779	    instead as it more accurately reflects the expected behavior and
1780	    is more consistently implemented.
1781	  o avoid use of asprintf.
1782
17832003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
1784
1785	* util.c: Add asprintf and vasprintf.
1786
1787	* Makefile.in (BMAKE_VERSION): bump version to 20030928
1788	* Merge with NetBSD make, pick up:
1789	:[] modifier - allows picking words from a variable.
1790	:tW modifier - allows treating value as one big word.
1791	W flag for :C and :S - allows treating value as one big word.
1792
17932003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
1794
1795	* Merge with NetBSD make
1796	pick up -de flag to enable printing failed command.
1797	don't skip 1st two dir entries (normally . and ..) since
1798	coda does not have them.
1799
18002003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1801
1802	* Makefile.in (BMAKE_VERSION): bump version to 20030909
1803	* Merge with NetBSD make, pick up:
1804	- changes for -V '${VAR}' to print fully expanded value
1805	  cf. -V VAR
1806	- CompatRunCommand now prints the command that failed.
1807	- several files got updated 3 clause Berkeley license.
1808
18092003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
1810
1811	* boot-strap: Allow setting configure args on command line.
1812
18132003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
1814
1815	* configure.in: add --with-defshell to allow sh or ksh
1816	to be selected as default shell.
1817
1818	* Makefile.in: bump version to 20030731
1819
1820	* Merge with NetBSD make
1821	Pick up .SHELL spec for ksh and associate man page changes.
1822	Also compat mode now uses the same shell specs.
1823
18242003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
1825
1826	* var.c (Var_Parse): ensure delim is initialized.
1827
1828	* unit-tests/Makefile.in: use single quotes to avoid problems from
1829	some shells.
1830
1831	* makefile.boot.in:
1832	Run the unit-tests as part of the bootstrap procedure.
1833
18342003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1835
1836	* unit-tests/Makefile.in: always force complaints from
1837	${TEST_MAKE} to be from 'make'.
1838
1839	* configure.in: add check for 'diff -u'
1840	also fix some old autoconf'isms
1841
1842	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
1843	if using GCC add -Wno-cast-qual to CFLAGS for var.o
1844
1845	* Merge with NetBSD make
1846	Pick up fix for :ts parsing error in some cases.
1847	Pick unit-tests.
1848
18492003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
1850
1851	* Makefile.in (BMAKE_VERSION): bump version to 20030723.
1852
1853	* var.c (Var_Parse): fix bug in :ts modifier, after const
1854	correctness fixes, must pass nstr to VarModify.
1855
18562003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
1857
1858	* Makefile.in: BMAKE_VERSION switch to a date based version.
1859	We'll generally use the date of last import from NetBSD.
1860
1861	* Merge with NetBSD make
1862	Pick up fixes for const-correctness, now passes WARNS=3 on
1863	NetBSD.
1864	Pick up :ts modifier, allows controlling the separator used
1865	between words in variable expansion.
1866
18672003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
1868
1869	* FILES: include boot-strap and os.sh
1870
1871	* Makefile.in: only set WARNS if we are NetBSD, the effect on
1872	FreeBSD is known to be bad.
1873
1874	* makefile.boot.in (bootstrap): make this the default target.
1875
1876	* Makefile.in: bump version to 3.1.19
1877
1878	* machine.sh: avoid A-Z with tr as it is bound to lose.
1879
18802003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
1881
1882	* Merge with NetBSD make
1883	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1884	Plus some doc fixes.
1885
18862003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
1887
1888	* Merge with NetBSD make
1889	Pick up fix for PR/1523 - don't count a library as built, if there
1890	is no way to build it
1891
1892	* Bump version to 3.1.18
1893
18942003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
1895
1896	* Merge with NetBSD make
1897	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1898	appears in src list.
1899
19002003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
1901
1902	* Merge with NetBSD make (mmm 10th anniversary!)
1903	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1904	pick up -X which tells us to not export VAR=val via setenv if
1905	we are already doing so via MAKEFLAGS.  This saves valuable env
1906	space on systems like Darwin.
1907	set MAKE_VERSION to 3.1.17
1908
1909	* parse.c: pix up fix for suffix rules
1910
19112003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
1912
1913	* Merge with NetBSD make.
1914	pick up fix for propagating -B via MAKEFLAGS.
1915	set MAKE_VERSION to 3.1.16
1916
1917	* Apply some patches from pkgsrc-bootstrap/bmake
1918	Originally by Grant Beattie <grant@netbsd.org>
1919	I may have missed some - since they are based on bmake-3.1.12
1920
19212002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
1922
1923	* makefile.boot.in (bmake): update install targets for those that
1924	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1925	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
1926
1927	* bmake.cat1: update the pre-formatted man page!
1928
19292002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
1930
1931	* Merge with NetBSD make.
1932	pick up fix for premature free of pointer used in call
1933	to Dir_InitCur().
1934	set MAKE_VERSION to 3.1.15
1935
19362002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
1937
1938	* configure.in: determine suitable value for MKSRC.
1939	override using --with-mksrc=PATH.
1940
1941	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1942	configs(8) will use 'sun4' as an alias for 'sparc'.
1943
19442002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
1945
1946	* Merge with NetBSD make.
1947	pick up ${.PATH}
1948	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1949	set MAKE_VERSION to 3.1.14
1950	add configure checks for killpg and sys/socket.h
1951
19522002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
1953
1954	* tag bmake-3-1-13
1955
1956	* makefile.boot.in (bmake): use install-mk
1957	Also setup ./mk before trying to invoke bmake.boot incase we
1958	needed install-mk to create a sys.mk for us.
1959
1960	* configure.in: If we need to add -I${srcdir}/missing, make it an
1961	absolute path so that it works for lst.lib too.
1962
1963	* make.h: always include sys/cdefs.h since we provide one if the
1964	host does not.
1965
1966	* Makefile.in (install-mk):
1967	use MKSRC/install-mk which will do the right thing.
1968	use uname -p for ARCH if possible.
1969	since install-mk will setup links bsd.prog.mk -> prog.mk if
1970	needed, just .include bsd.prog.mk
1971
1972	* Merge with NetBSD make (NetBSD-1.6)
1973	Code is ansi-C only now.
1974	Bug in handling of dotLast is fixed.
1975	Can now assign .OBJDIR and make will reset its notions of life.
1976	New modifiers :tu :tl for toUpper and toLower.
1977
1978Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1979
1980	* Merge with NetBSD make
1981	pick up fix for .END failure in compat mode.
1982	pick up fix for extra va_end() in ParseVErrorInternal.
1983
1984Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1985
1986	* configure.in: for systems that have sys/cdefs.h check if it is
1987	compatible.  If not, include the one under missing, but tell it to
1988	include the native one too - necessary on Linux.
1989
1990	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1991	include_next (for gcc) to get the native sys/cdefs.h
1992
1993Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1994
1995	* job.c (JobFinish): Fix an earlier merge bug that resulted in
1996	leaking descriptors when using -jN.
1997
1998	* job.c (JobPrintCommand): See if "curdir" exists before
1999	attempting to chdir().  Doing the chdir directly in make (when in
2000	compat mode) fails silently, so let the -jN version do the same.
2001	This can happen when building kernels in an object tree and
2002	playing clever games to reset .CURDIR.
2003
2004	* Merged with NetBSD make
2005	pick up .USEBEFORE
2006
2007Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2008
2009	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
2010
2011Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2012
2013	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
2014	us not to export the iterator variable when using VAR_CMD context.
2015
2016Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2017
2018	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
2019	its the wrong "fix".
2020
2021Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2022
2023	* Redesigned export of VAR_CMD's via MAKEFLAGS.
2024	We now simply append the variable names to .MAKEOVERRIDES, and
2025	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
2026	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
2027	Apart from fixing quoting bugs in previous version, this allows us
2028	to export vars to the environment by simply doing:
2029	.MAKEOVERRIDES+= PATH
2030	Merged again with NetBSD make, but the above is the only change.
2031
2032	* configure.in: added
2033	--disable-pwd-override		disable $PWD overriding getcwd()
2034	--disable-check-make-chdir	disable make trying to guess
2035		when it should automatically cd ${.CURDIR}
2036
2037	* Merge with NetBSD make, changes include:
2038	parse.c (ParseDoDependency): Spot that the syntax error is
2039	caused by an unresolved cvs/rcs conflict and say so.
2040	var.c: most of Var* functions now take a ctxt as 1st arg.
2041	now does variable substituion on rhs of sysv style modifiers.
2042
2043	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
2044	is now done here.  We append the name='value' to .MAKEOVERRIDES
2045	rather than directly into MAKEFLAGS as this allows a Makefile to
2046	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
2047	very similar mechanism.  Note that in adding name='value' to
2048	.MAKEOVERRIDES we do the moral equivalent of:
2049	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
2050
2051Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2052
2053	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
2054
2055	* Merged with NetBSD make
2056	make -dx can now be used to run commands via sh -x
2057	better error messages on exec failures.
2058
2059Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2060
2061	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
2062	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
2063	MACHINE etc otherwise they propagate from the previous bmake.
2064
2065	* configure.in (machine): allow --with-machine=generic to make
2066	configure use machine.sh to set MACHINE.
2067
2068	* job.c (JobInterrupt): convert to using WAIT_T and friends.
2069
2070	* Makefile.in: mention in bmake.1 that we use autoconf.
2071
2072	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.
2073
2074Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2075
2076	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
2077	as that rather defeats the usefulness of ${MAKEFILE}.
2078
2079	* main.c (MainParseArgs): append command line variable assignments
2080	to MAKEFLAGS so that they get propagated to child make's.
2081	Apparently this is required POSIX behaviour?  Its useful anyway.
2082
2083Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2084
2085	* compat.c (CompatRunCommand): don't use perror() since stdio may
2086	cause problems in child of vfork().
2087
2088	* compat.c, main.c: Call PrintOnError() when we are going to bail.
2089	This routine prints out the .curdir where we stopped and will also
2090	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2091
2092	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
2093	:@ expansion.
2094
2095	* var.c: VarLoopExpand: ignore addSpace if a \n is present.
2096
2097	* Added RCSid's for the files we've touched.
2098
2099Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2100
2101	* configure.in:	Thanks to some clues from mdb@juniper.net,
2102	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2103	as well as what ends up in _PATH_DEFSYSPATH.  We now have:
2104
2105  --with-machine=MACHINE  explicitly set MACHINE
2106  --with-force-machine=MACHINE  set FORCE_MACHINE
2107  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
2108  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
2109  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
2110  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
2111
2112	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2113
2114	* makefile: added a pathetically simple makefile to drive
2115	bootstrapping.  Running configure by hand is more useful.
2116
2117	* Makefile.in: added MAKE_VERSION, and reworked things to be less
2118	dependent on NetBSD bsd.*.mk
2119
2120	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2121	_PATH_OBJDIRPREFIX for those that don't want a default.
2122	construct _PATH_DEFSYSPATH from the info we get from configure.
2123
2124	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2125	if MAKE_VERSION is defined.
2126
2127	* compat.c: when we bail, print out the .CURDIR we were in.
2128
2129Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2130
2131	* Merged with NetBSD make
2132
2133	* var.c: fixed a bug in the handling of the modifier :P
2134	if the node as found but the path was null, we segfault trying to
2135	duplicate it.
2136
2137Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2138
2139	* Merged with NetBSD make
2140
2141	* make.c: Make_OODate's test for a library out of date was using
2142	cmtime where it should have used mtime (my bug).
2143
2144	* compat.c: Use perror() to tell us what really went wrong when we
2145	cannot exec a command.
2146
2147Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2148
2149	* Merged with NetBSD make
2150
2151Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2152
2153	* Merged with NetBSD make
2154
2155Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2156
2157	* Merged with NetBSD make
2158
2159Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2160
2161	* Merged with NetBSD make
2162
2163Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2164
2165	* util.c: don't provide signal() since we use sigcompat.c
2166
2167	* Makefile.in: added a build target.
2168
2169	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2170	These allow some quite clever magic.
2171
2172	* main.c (main): added support for getenv(MAKESYSPATH).
2173
2174Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2175
2176	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2177	This avoids objdir having a different value depending on how a
2178	directory was reached (via command line, or subdir.mk).
2179
2180	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2181
2182Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2183
2184	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2185	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2186	I've been testing this in NetBSD's make for some weeks.
2187
2188	* Turn Makefile into Makefile.in and make it useful.
2189
2190Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
2191
2192	* Imported NetBSD's -current make(1) and resolve conflicts.
2193
2194	* Applied autoconf patches from bmake v2
2195
2196	* Imported clean code base from NetBSD-1.0
2197