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