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