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