make: update to bmake-20170311
[unleashed.git] / bin / make / ChangeLog
blobd35ec241c9665c3bf03de07ea05999bb100fdfe7
1 2017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
3         * Makefile (_MAKE_VERSION): 20170311
4           Merge with NetBSD make, pick up
5           o main.c: only use -C arg "as is" if it starts with '/'.
7 2017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
9         * Makefile (_MAKE_VERSION): 20170301
10           Merge with NetBSD make, pick up
11           o main.c: use -C arg "as is" rather than getcwd()
12             if they identify the same directory.
13           o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
15 2017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
17         * Makefile (_MAKE_VERSION): 20170201
18           Merge with NetBSD make, pick up
19           o var.c: allow :_=var and avoid use of special context.
21 2017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
23         * Makefile (_MAKE_VERSION): 20170130
24           Merge with NetBSD make, pick up
25           o var.c: add :range and :_
26           o main.c: partially initialize Dir_* before MainParseArgs()
27             can be called.
28             If -V, skip Main_ExportMAKEFLAGS()
30 2017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
32         * Makefile (_MAKE_VERSION): 20170114
33           Merge with NetBSD make, pick up
34           o var.c: allow specifying the utc value used by :{gm,local}time
36 2016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
38         * Makefile (_MAKE_VERSION): 20161212
39           Merge with NetBSD make, pick up
40           o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
42 2016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
44         * Makefile (_MAKE_VERSION): 20161209
45           Merge with NetBSD make, pick up
46           o main.c: cleanup setting of .OBJDIR
47           o parse.c: avoid coredump from (var)=val
49 2016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
51         * Makefile (_MAKE_VERSION): 20161126
52           Merge with NetBSD make, pick up
53           o make.c: Make_OODate: report src node name if path not set
55 2016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
57         * Makefile (_MAKE_VERSION): 20160926
58           Merge with NetBSD make, pick up
59           o support for .DELETE_ON_ERROR: (remove targets that fail)
60         
61 2016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
63         * Makefile MAN: tweak .Dt to match ${PROG}
65 2016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
67         * Makefile (_MAKE_VERSION): 20160818
68           its a neater number; pick up whitespace fixes to man page.
70 2016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
72         * Makefile (_MAKE_VERSION): 20160817
73           Merge with NetBSD make, pick up
74           o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
75             so we can call it before adding entries to missingFiles.
76             Thus we do not track files we have been told to ignore.
78 2016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
80         * Makefile (_MAKE_VERSION): 20160815
81           Merge with NetBSD make, pick up
82           o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
83             pathnames, and skip if the expansion is empty.
84             Useful for dirdeps.mk when checking DIRDEPS_CACHE.
86 2016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
88         * Makefile (_MAKE_VERSION): 20160812
89           Merge with NetBSD make, pick up
90           o meta.c: remove all missingFiles entries that match a deleted
91             dir.
92           o main.c: set .ERROR_CMD if possible.
93           
94 2016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
96         * Makefile (_MAKE_VERSION): 20160606
97           Merge with NetBSD make, pick up
98           o dir.c: extend mtimes cache to others via cached_stat()
100 2016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
102         * Makefile (_MAKE_VERSION): 20160604
103           Merge with NetBSD make, pick up
104           o meta.c: missing filemon data is only relevant if we read a
105             meta file.
106             Also do not return oodate for a missing metafile if gn->path
107             points to .CURDIR
108         
109 2016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
111         * Makefile (_MAKE_VERSION): 20160602
112           Merge with NetBSD make, pick up
113           o cached_realpath(): avoid hitting filesystem more than necessary.
114           o meta.c: refactor need_meta decision, add knobs for 
115             missing meta file and filemon data wrt out-of-datedness.
117 2016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
119         * Makefile (_MAKE_VERSION): 20160528
121         * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 
123 2016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
125         * Makefile (_MAKE_VERSION): 20160512
126           Merge with NetBSD make, pick up
127           o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
128             this is useful for gcov builds.
129           o propagate errors from filemon(4).
130         
131 2016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
133         * Makefile (_MAKE_VERSION): 20160509
134           Merge with NetBSD make, pick up
135           o remove use of non-standard types u_int etc.
136           o meta.c: apply realpath() before matching against metaIgnorePaths
138 2016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
140         * Makefile (_MAKE_VERSION): 20160404
141           Merge with NetBSD make, pick up
142           o allow makefile to set .MAKE.JOBS
144         * Makefile (PROG_NAME): use ${_MAKE_VERSION}
146 2016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
148         * Makefile (_MAKE_VERSION): 20160315
149           Merge with NetBSD make, pick up
150           o fix handling of archive members
152 2016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
154         * Makefile (_MAKE_VERSION): rename variable to avoid interference
155           with checks for ${MAKE_VERSION}
157 2016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
159         * Makefile (MAKE_VERSION): 20160310
160           Merge with NetBSD make, pick up
161           o meta.c: treat missing Read file same as Write, incase we Delete it.
163 2016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
165         * Makefile (MAKE_VERSION): 20160307
166           Merge with NetBSD make, pick up
167           o var.c: fix :ts\nnn to be octal by default.
168           o meta.c: meta_finish() to cleanup memory.
170 2016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
172         * Makefile (MAKE_VERSION): 20160226
173           Merge with NetBSD make, pick up
174           o meta.c: allow meta file for makeDepend if makefiles want it.
176 2016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
178         * var.c: default .MAKE.SAVE_DOLLARS to FALSE
179           for backwards compatability.
181         * Makefile (MAKE_VERSION): 20160220
182           Merge with NetBSD make, pick up
183           o var.c: add knob to control handling of '$$' in :=
185 2016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
187         * Makefile (MAKE_VERSION): 20160218
188           Merge with NetBSD make, pick up
189           o var.c: add .export-literal allows us to fix sys.clean-env.mk
190             post the changes to Var_Subst.
191             Var_Subst now takes flags, and does not consume '$$' in :=
193 2016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
195         * Makefile (MAKE_VERSION): 20160217
196           Merge with NetBSD make, pick up
197           o var.c: preserve '$$' in :=
198           o parse.c: add .dinclude for handling included 
199             makefile like .depend
201 2015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
203         * Makefile (MAKE_VERSION): 20151220
204           Merge with NetBSD make, pick up
205           o suff.c: re-initialize suffNull when clearing suffixes.
207 2015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
209         * Makefile (MAKE_VERSION): 20151201
210           Merge with NetBSD make, pick up
211           o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
212           o meta.c: meta_oodate: use lstat(2) for checking link target
213             in case it is a symlink.
214           o var.c: avoid calling brk_string and Var_Export1 with empty
215             strings.
216         
217 2015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
219         * Makefile (MAKE_VERSION): 20151126
220           Merge with NetBSD make, pick up
221           o parse.c: ParseTrackInput don't access beyond 
222             end of old value.
223         
224 2015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
226         * Makefile (MAKE_VERSION): 20151022
228         * Add support for BSD/OS which lacks inttypes.h
229           and really needs sys/param.h for sys/sysctl.h
230           also 'type' is not a shell builtin.
232         * var.c: eliminate uint32_t and need for inttypes.h
233         
234         * main.c: PrintOnError flush stdout before run .ERROR
236         * parse.c: cope with _SC_PAGESIZE not being defined.
238         
239 2015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
241         * Makefile (MAKE_VERSION): 20151020
242           Merge with NetBSD make, pick up
243           o var.c: fix uninitialized var 
245 2015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
247         * var.c: the conditional expressions used with ':?' can be
248         expensive, if already discarding do not evaluate or expand
249         anything. 
251 2015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
253         * Makefile (MAKE_VERSION): 20151010
254           Merge with NetBSD make, pick up
255           o Add Boolean wantit flag to Var_Subst and Var_Parse
256             when FALSE we know we are discarding the result and can
257             skip operations like Cmd_Exec.
259 2015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
261         * Makefile (MAKE_VERSION): 20151009
262           Merge with NetBSD make, pick up
263           o var.c: don't check for NULL before free()
264           o meta.c: meta_oodate, do not hard code ignore of makeDependfile
266 2015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
268         * Makefile (MAKE_VERSION): 20150910
269           Merge with NetBSD make, pick up
270           o main.c: with -w print Enter/Leaving messages for objdir too
271             if necessary.
272           o centralize shell metachar handling
273         
274         * FILES: add metachar.[ch]
276 2015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
278         * Makefile (MAKE_VERSION): 20150606
279           Merge with NetBSD make, pick up
280           o make.1: document .OBJDIR target
282 2015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
284         * Makefile (MAKE_VERSION): 20150505
285           Merge with NetBSD make, pick up
286           o cond.c: be strict about lhs of comparison when evaluating .if
287             but less so when called from variable expansion.
288           o unit-tests/cond2.mk: test various error conditions
290 2015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
292         * machine.sh (MACHINE): Add Bitrig 
293           patch from joerg@netbsd.org
295 2015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
297         * Makefile (MAKE_VERSION): 20150418
298           Merge with NetBSD make, pick up
299           o job.c: use memmove() rather than memcpy()
301         * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
302           case, so skip it.
304 2015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
306         * Makefile (MAKE_VERSION): 20150411
307           bump version - only mk/ changes.
308         
309 2015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
311         * Makefile (MAKE_VERSION): 20150410
312           Merge with NetBSD make, pick up
313           o document different handling of '-' in jobs mode vs compat
314           o fix jobs mode so that '-' only applies to whole job
315             when shell lacks hasErrCtl
316           o meta.c: use separate vars to track lcwd and latestdir (read)
317             per process
318         
319 2015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
321         * Makefile (MAKE_VERSION): 20150401
322           Merge with NetBSD make, pick up
323           o meta.c: close meta file in child
324         
325         * Makefile: use BINDIR.bmake if set.
326           Same for MANDIR and SHAREDIR
327           Handy for testing release candidates
328           in various environments.
329         
330 2015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
332         * move initialization of savederr to block where it is used
333           to avoid spurious warning from gcc5
335 2014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
337         * Makefile (MAKE_VERSION): 20141111
338           just a cooler number
340 2014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
342         * Makefile (MAKE_VERSION): 20141105
343           Merge with NetBSD make, pick up
344           o revert major overhaul of suffix handling
345             and POSIX compliance - too much breakage
346             and impossible to make backwards compatible.
347           o we still have the new unit test structure which is ok.
348           o meta.c ensure "-- filemon" is at start of line.
350 2014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
352         * configure.in: test that result of getconf PATH_MAX is numeric
353           and discard if not.  Apparently needed for Hurd.
355 2014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
357         * Makefile (MAKE_VERSION): 20140830
358           Merge with NetBSD make, pick up
359           o major overhaul of suffix handling
360           o improved POSIX compliance
361           o overhauled unit-tests
363 2014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
365         * Makefile (MAKE_VERSION): 20140620
366           Merge with NetBSD make, pick up
367           o var.c return varNoError rather than var_Error for ::= modifiers.
369 2014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
371         * Makefile (MAKE_VERSION): 20140522
372           Merge with NetBSD make, pick up
373           o var.c detect some parse errors.
375 2014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
377         * Fix spelling errors - patch from Pedro Giffuni
379 2014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
381         * Makefile (MAKE_VERSION): 20140214
382           Merge with NetBSD make, pick up
383           o .INCLUDEFROM*
384           o use Var_Value to get MAKEOBJDIR[PREFIX]
385           o reduced realloc'ign in brk_string.
386         * configure.in: add a check for compiler supporting __func__
388 2014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
390         * boot-strap: ignore mksrc=none
392 2014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
394         * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
396 2014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
397         
398         * Makefile (MAKE_VERSION): 20140101
399         * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
400         * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
401         * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
402           Hurd) 
403         * configure.in: Add AC_PREREQ and check for
404           sysctl; patch from Andrew Shadura andrewsh at debian.org
406 2013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
408         * Makefile (MAKE_VERSION): 20131010
409         * lose the const from arg to systcl to avoid problems on older BSDs.
411 2013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
413         * Makefile (MAKE_VERSION): 20131001
414           Merge with NetBSD make, pick up
415           o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
416             hw.machine_arch if necessary.
417           o meta.c: meta_oodate - need to look at src of Link and target
418             of Move as well.
419         * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
420           provide __arraycount() if needed.
422 2013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
424         * Makefile (MAKE_VERSION): 20130904
425           Merge with NetBSD make, pick up
426           o Add VAR_INTERNAL context, so that internal setting of
427             MAKEFILE does not override value set by makefiles.
429 2013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
431         * Makefile (MAKE_VERSION): 20130902
432           Merge with NetBSD make, pick up
433           o CompatRunCommand: only apply shellErrFlag when errCheck is true
435 2013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
437         * Makefile (MAKE_VERSION): 20130828
438           Merge with NetBSD make, pick up
439           o Fix VAR :sh = syntax from Will Andrews at freebsd.org
440           o Call Job_SetPrefix() from Job_Init() so makefiles have
441             opportunity to set .MAKE.JOB.PREFIX
443 2013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
445         * Makefile (MAKE_VERSION): 20130730
446           Merge with NetBSD make, pick up
447           o Allow suppression of --- job -- tokens by setting
448             .MAKE.JOB.PREFIX empty.
450 2013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
452         * Makefile (MAKE_VERSION): 20130716
453           Merge with NetBSD make, pick up
454           o number of gmake compatibility tweaks
455             -w for gmake style entering/leaving messages
456             if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
457             handle MAKEFLAGS containing only letters.
458           o when overriding a GLOBAL variable on the command line,
459             delete it from GLOBAL context so -V doesn't show the wrong
460             value.
461         
462 2013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
464         * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
466         * Makefile (MAKE_VERSION): 20130706
467           Merge with NetBSD make, pick up
468           o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
469             true so that CompatRunCommand() can use it, to ensure
470             consistent behavior with jobs mode.
471           o use MAKE_LEVEL_ENV to define the variable to propagate
472             .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
473           o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
474             paths to ignore.
476 2013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
478         * Makefile (MAKE_VERSION): 20130604
479           Merge with NetBSD make, pick up
480           o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
481             to avoid leaking descriptors.
483 2013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
485         * Makefile (MAKE_VERSION): 20130528
486           Merge with NetBSD make, pick up
487           o var.c: cleanup some left-overs in VarHash()
489 2013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
491         * Makefile (MAKE_VERSION): 20130520
492           generate manifest from component FILES rather than have to
493           update FILES when mk/FILES changes.
495 2013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
497         * Makefile (MAKE_VERSION): 20130518
498           Merge with NetBSD make, pick up
499           o suff.c: don't skip all processsing for .PHONY targets
500             else wildcard srcs do not get expanded.
501           o var.c: expand name of variable to delete if necessary.
503 2013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
505         * Makefile (MAKE_VERSION): 20130330
506           Merge with NetBSD make, pick up
507           o meta.c: refine the handling of .OODATE in commands.
508             Rather than suppress command comparison for the entire script
509             as though .NOMETA_CMP had been used, only suppress it for the
510             one command line.
511             This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 
512             suppress comparison of a command without otherwise affecting it.
513           o make.1: document that
515 2013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
517         * Makefile (MAKE_VERSION): 20130321
518           yes, not quite right but its a cooler number.
519           Merge with NetBSD make, pick up
520           o parse.c: fix ParseGmakeExport to be portable 
521             and add a unit-test.
522         * meta.c: call meta_init() before makefiles are read and if built
523           with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
524           this let's makefiles test for support.
525           Call meta_mode_init() to process .MAKE.MODE.
527 2013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
529         * Makefile (MAKE_VERSION): 20130305
530           Merge with NetBSD make, pick up
531           o run .STALE: target when a dependency from .depend is missing.
532           o job.c: add Job_RunTarget() for the above and .BEGIN
534 2013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
536         * Makefile (MAKE_VERSION): 20130303
537           Merge with NetBSD make, pick up
538           o main.c: set .MAKE.OS to utsname.sysname
539           o job.c: more checks for read and poll errors
540           o var.c: lose VarChangeCase() saves 4% time
542 2013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
544         * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
545           want to use MAKEOBJDIR
547 2013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
549         * Merge with NetBSD make, pick up
550           o make.1: more info on how shell commands are handled.
551           o job.c,main.c: detect write errors to job pipes.
553 2013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
555         * Makefile (MAKE_VERSION): 20130123
556           Merge with NetBSD make, pick up
557           o meta.c: if script uses .OODATE and meta_oodate() decides
558             rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
559           o var.c: in debug output indicate which variabale modifiers
560             apply to.
561           o remove Check_Cwd logic the makefiles have been fixed.
562         
563 2012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
565         * makefile.in: add a simple makefile for folk who insist on
566           ./configure; make; make install
567           it just runs boot-strap
568         * include mk/* to accommodate the above
569         * boot-strap:  re-work to accommodate the above
570           mksrc defaults to $Mydir/mk
571           allow op={configure,build,install,clean,all}
572           add options to facilitate install
573         * Makefile.config.in: just the bits set by configure
574         * Makefile: bump version to 20121212
575           abandon Makefile.in (NetBSD Makefile)
576           leverage mk/* instead
577         * configure.in: ensure srcdir is absolute
579 2012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
581         * Makefile.in (MAKE_VERSION): 20121111
582           fix generation of bmake.cat1
584 2012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
586         * Makefile.in (MAKE_VERSION): 20121109
587           Merge with NetBSD make, pick up
588           o make.c: MakeBuildChild: return 0 so search continues if a
589             .ORDER dependency is detected.
590           o unit-tests/order: test the above
591         
592 2012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
594         * Makefile.in (MAKE_VERSION): 20121102
595           Merge with NetBSD make, pick up
596           o cond.c: allow cond_state[] to grow.
597             In meta mode with a very large tree, we can hit the limit
598             while processing dirdeps.
599         
600 2012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
602         * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
604 2012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
606         * Makefile.in (MAKE_VERSION): 20121010
607           o protect syntax that only bmake parses correctly.
608           o remove auto setting of FORCE_MACHINE, use configure's
609             --with-force-machine=whatever if that is desired.
610         
611 2012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
613         * Makefile.in: do not lose history from make.1 when generating bmake.1
615 2012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
617         * Makefile.in (MAKE_VERSION): 20121007
618           Merge with NetBSD make, pick up
619           o compat.c: ignore empty commands - same as jobs mode.
620           o make.1: document meta chars that cause use of shell
622 2012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
624         * Makefile.in (MAKE_VERSION): bump version to 20120911
625         * bsd.after-import.mk: include Makefile.inc early and allow it to
626           override PROG
628 2012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
630         * Makefile.in (MAKE_VERSION): bump version to 20120831
631           Merge with NetBSD make, pick up
632           o cast sizeof() to int for comparison
633           o minor make.1 tweak
635 2012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
637         * Makefile.in (MAKE_VERSION): bump version to 20120830
638           Merge with NetBSD make, pick up
639           o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
640           o debug flag -dV causes -V to show raw value regardless.
641         
642 2012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
644         * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
645           gets SRCTOP set.
647 2012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
649         * Makefile.in (MAKE_VERSION): bump version to 20120704
650           Merge with NetBSD make, pick up
651           o Job_ParseShell should call Shell_Init if it has been
652             previously called.
653         * Makefile.in: set USE_META based on configure result.
654           also .PARSEDIR is safer indicator of bmake.
656 2012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
658         * Makefile.in: bump version to 20120626
659           ensure CPPFLAGS is in CFLAGS
660         * meta.c: avoid nested externs
661         * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
662         
663 2012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
665         * Makefile.in (MAKE_VERSION): bump version to 20120620
666           Merge with NetBSD make, pick up
667           o make_malloc.c: avoid including make_malloc.h again
669         * Makefile.in: avoid bmake only syntax or protect with
670           .if defined(.MAKE.LEVEL)
671         * bsd.after-import.mk: replace .-include with .sinclude
672           ensure? SRCTOP gets a value
673         * configure.in: look for filemon.h in /usr/include/dev/filemon first.
675 2012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
677         * Makefile.in (MAKE_VERSION): bump version to 20120612
678           Merge with NetBSD make, pick up
679           o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
680             for greater portability.
681           o unit-tests/forloop: check that .for works as expected wrt
682             number of times and with "quoted strings".
683         
684 2012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
686         * Makefile.in (MAKE_VERSION): bump version to 20120606
687           Merge with NetBSD make, pick up
688           o compat.c: use kill(2) rather than raise(3).
689         * configure.in: look for sys/dev/filemon
690         * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
691           and pass BOOTSTRAP_XTRAS to boot-strap.
693 2012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
695         * Makefile.in (MAKE_VERSION): bump version to 20120604
696           Merge with NetBSD make, pick up
697           o util.c and var.c share same var for tracking if environ
698             has been reallocated.
699           o util.c provide getenv with setenv.
700         * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
701           when the shell actively strips .MAKE.* from the environment.
702           We still refer to the variable always as .MAKE.LEVEL
703         * util.c fix bug in findenv() was finding prefix of name.
704         * compat.c: re-raising SIGINT etc after running .INTERRUPT
705           results in more reliable termination of all activity on many
706           platforms.
708 2012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
710         * Makefile.in (MAKE_VERSION): bump version to 20120602
711           Merge with NetBSD make, pick up
712           o for.c: handle quoted items in .for list
714 2012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
716         * Makefile.in (MAKE_VERSION): bump version to 20120530
717           Merge with NetBSD make, pick up
718           o compat.c: ignore empty command.
720 2012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
722         * Makefile.in (MAKE_VERSION): bump version to 20120524
723         * FILES: add bsd.after-import.mk:
724           A simple means of integrating bmake into a BSD build system.
726 2012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
728         * Makefile.in (MAKE_VERSION): bump version to 20120520
729           Merge with NetBSD make, pick up
730           o increased limit for nested conditionals.
731         
732 2012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
734         * Makefile.in (MAKE_VERSION): bump version to 20120518
735           Merge with NetBSD make, pick up
736           o use _exit(2) in signal hanlder
737           o Don't use the [dir] cache when building nodes that might have
738             changed since the last exec.
739           o Avoid nested extern declaration warnings.
741 2012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
743         * meta.c (fgetLine): avoid %z - not portable.
744         * parse.c: Since we moved include of sys/mman.h
745           and def's of MAP_COPY etc. we got dups from a merge.
747 2012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
749         * Makefile.in (MAKE_VERSION): bump version to 20120420
750           Merge with NetBSD make, pick up
751           o restore duplicate supression in .MAKE.MAKEFILES
752             runtime saving can be significant.
753           o Var_Subst() uses Buf_DestroyCompact() to reduce memory
754             consumption up to 20%. 
756 2012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
758         * Makefile.in (MAKE_VERSION): bump version to 20120420
759           Merge with NetBSD make, pick up
760           o remove duplicate supression in .MAKE.MAKEFILES
761           o improved dir cache behavior
762           o gmake'ish export command
763         
764 2012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
766         * Makefile.in (MAKE_VERSION): bump version to 20120325
767           Merge with NetBSD make, pick up
768           o fix parsing of :[#] in conditionals.
770 2012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
772         * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
773           since some systems cannot cope with .Nx <version>
775 2011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
777         * Makefile.in (MAKE_VERSION): bump version to 20111111
778           Merge with NetBSD make, pick up
779           o debug output for .PARSEDIR and .PARSEFILE
781 2011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
783         * Makefile.in (MAKE_VERSION):  bump version to 20111010
785 2011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
787         * boot-strap: check for an expected file in the dirs we look for.
788         * make-bootstrap.sh: pass on LDSTATIC
790 2011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
792         * Makefile.in (MAKE_VERSION): bump version to 20111001
793           Merge with NetBSD make, pick up
794           o ensure .PREFIX is set for .PHONY
795             and .TARGET set for .PHONY run via .END
796           o __dead used consistently
797         
798 2011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
800         * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
802 2011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
804         * Makefile.in (MAKE_VERSION): bump version to 20110905
805           Merge with NetBSD make, pick up
806           o meta_oodate: ignore makeDependfile
807         
808 2011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
810         * Makefile.in (MAKE_VERSION): bump version to 20110828
811           Merge with NetBSD make, pick up
812           o silent=yes in .MAKE.MODE causes meta mode to mark targets 
813             as SILENT if a .meta file is created
815 2011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
817         * Makefile.in (MAKE_VERSION): bump version to 20110818
818           Merge with NetBSD make, pick up
819           o in meta mode, if target flagged .META a missing .meta file
820             means target is out-of-date
821           o fixes for gcc 4.5 warnings
822           o simplify job printing code
823         
824 2011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
826         * Makefile.in (MAKE_VERSION): bump version to 20110808
827           Merge with NetBSD make, pick up
828           o do not touch OP_SPECIAL targets when doing make -t
829         
830 2011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
832         * Makefile.in (MAKE_VERSION): bump version to 20110622
833           Merge with NetBSD make, pick up
834           o meta_oodate detect corrupted .meta file and declare oodate.
835         * configure.in: add check for setsid
836         
837 2011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
839         * Merge with NetBSD make, pick up
840           o unit-tests/modts now works on MirBSD
842 2011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
844         * Makefile.in (MAKE_VERSION): bump version to 20110606
845           Merge with NetBSD make, pick up
846           o ApplyModifiers: when we parse a variable which is not
847             the entire modifier string, or not followed by ':', do not
848             consider it as containing modifiers.
849           o loadfile: ensure newline at end of mapped file.
851 2011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
853         * Makefile.in (MAKE_VERSION): bump version to 20110505
854           Merge with NetBSD make, pick up
855           o .MAKE.META.BAILIWICK - list of prefixes which define the scope
856             of make's control.  In meta mode, any generated file within
857             said bailiwick, which  is found to be missing, causes current
858             target to be out-of-date. 
859         
860 2011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
862         * Makefile.in (MAKE_VERSION): bump version to 20110411
863           Merge with NetBSD make, pick up
864           o when long modifiers fail to match, check sysV style.
865             - add a test case
866         
867 2011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
869         * Makefile.in (MAKE_VERSION): bump version to 20110410
870           Merge with NetBSD make, pick up
871           o :hash - cheap 32bit hash of value
872           o :localtime, :gmtime - use value as format string for strftime.
873         
874 2011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
876         * Makefile.in (MAKE_VERSION): bump version to 20110330
877           mostly because its a cooler version.
878           Merge with NetBSD make, pick up
879           o NetBSD tags for meta.[ch]
880           o job.c call meta_job_finish() after meta_job_error().
881           o meta_job_error() should call meta_job_finish() to ensure
882             .meta file is closed, and safe to copy - if .ERROR target wants.
883            meta_job_finish() is safe to call repeatedly.
884         
885 2011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
887         * unit-tests/modts: use printf if it is a builtin, 
888           to save us from MirBSD
890         * Makefile.in (MAKE_VERSION): bump version to 20110329
891           Merge with NetBSD make, pick up
892           o fix for use after free() in CondDoExists().
893           o meta_oodate() report extra commands and return earlier.
894         
895 2011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
897         * Makefile.in (MAKE_VERSION): bump version to 20110327
898           Merge with NetBSD make, pick up
899           o meta.c, if .MAKE.MODE contains curdirOk=yes
900             allow creating .meta files in .CURDIR
901         * boot-strap (TOOL_DIFF): aparently at least on linux distro
902           formats the output of 'type' differently - so eat any "()"
904 2011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
906         * Makefile.in (MAKE_VERSION): bump version to 20110306
907           Merge with NetBSD make, pick up
908           o meta.c, only do getcwd() once
909         
910 2011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
912         * Makefile.in (MAKE_VERSION): bump version to 20110305
913           Merge with NetBSD make, pick up
914           o correct sysV substitution handling of empty lhs and variable
915           o correct exists() check for dir with trailing /
916           o correct handling of modifiers for non-existant variables
917             during evaluation of conditionals.
918           o ensure MAP_FILE is defined.
919           o meta.c use curdir[] now exported by main.c
920         
921 2011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
923         * Makefile.in (MAKE_VERSION): bump version to 20110225
924           Merge with NetBSD make, pick up
925           o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
926             makefiles have been read.
927           o fix example of :? modifier in man page.
928         
929 2011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
931         * Makefile.in (MAKE_VERSION): bump version to 20110214
932           Merge with NetBSD make, pick up
933           o meta.c handle realpath() failing when generating meta file
934             name.
936         * sigcompat.c: convert to ansi so we can use higher warning levels.
939 2011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
941         * Makefile.in (MAKE_VERSION): bump version to 20110207
942           Merge with NetBSD make, pick up
943           o fix for bug in meta mode.
944         
945 2011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
947         * parse.c: SunOS 5.8 at least does not have MAP_FILE
949 2011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
951         * Makefile.in (MAKE_VERSION): bump version to 20110101
952           Merge with NetBSD make, pick up
953           o use mmap(2) if available, for reading makefiles
955 2010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
957         * Makefile.in (MAKE_VERSION): bump version to 20101215
958           Merge with NetBSD make, pick up
959           o ensure meta_job_error() does not report a previous .meta file
960             as being culprit.
962 2010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
964         * Makefile.in (MAKE_VERSION): bump version to 20101210
965           Merge with NetBSD make, pick up
966           o meta_oodate: track cwd per process, and only consider target
967             out-of-date if missing file is outside make's CWD.
968             Ignore files in /tmp/ etc.
969           o to ensure unit-tests results match, need to control LC_ALL
970             as well as LANG.
971           o fix for parsing bug in var.c
973 2010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
975         * Makefile.in (MAKE_VERSION): bump version to 20101126
976           Merge with NetBSD make, pick up
977           o if stale dependency is an IMPSRC, search via .PATH
978           o meta_oodate: if a referenced file is missing, target is
979             out-of-date.
980           o meta_oodate: if a target uses .OODATE in its commands,
981             it (.OODATE) needs to be recomputed.
982           o keep a pointer to youngest child node, rather than just its
983             mtime.
984         
985 2010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
987         * Makefile.in (MAKE_VERSION): bump version to 20101101
989 2010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
991         * machine.sh: like os.sh, 
992         allow for uname -p producing useless drivel
994 2010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
996         * boot-strap: document configure knobs for meta and filemon.
998         * Makefile.in (MAKE_VERSION): bump version to 20100911
999           Merge with NetBSD make, pick up
1000           o meta.c - meta mode
1002         * make-bootstrap.sh.in: handle meta.c
1003         * configure.in: add knobs for use_meta and filemon_h
1004           also, look for dirname, str[e]sep and strlcpy
1005         * util.c: add simple err[x] and warn[x]
1007 2010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1009         * boot-strap (TOOL_DIFF): set this to ensure tests use
1010           the same version of diff that configure tested
1012         * Makefile.in (MAKE_VERSION): bump version to 20100808
1013           Merge with NetBSD make, pick up
1014           o in jobs mode, when we discover we cannot make something,
1015             call PrintOnError before exit.
1016         
1017 2010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1019         * Makefile.in (MAKE_VERSION): bump version to 20100806
1020           Merge with NetBSD make, pick up
1021           o formatting fixes for ignored errors
1022           o ensure jobs are cleaned up regardless of where wait() was called.
1024 2010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1026         * Makefile.in (MAKE_VERSION): bump version to 20100618
1027         * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1029 2010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1031         * Makefile.in (MAKE_VERSION): bump version to 20100616
1032           Merge with NetBSD make, pick up
1033           o man page update
1034           o call PrintOnError from JobFinish when we detect an error we
1035             are not ignoring. 
1036         
1037 2010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1039         * Makefile.in (MAKE_VERSION): bump version to 20100606
1040           Merge with NetBSD make, pick up
1041           o man page update
1043 2010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1045         * Makefile.in (MAKE_VERSION): bump version to 20100605
1046           Merge with NetBSD make, pick up
1047           o use bmake_signal() which is a wrapper around sigaction() 
1048             in place of signal()
1049           o add .export-env to allow exporting variables to environment
1050             without tracking (so no re-export when the internal value is
1051             changed).
1052         
1053 2010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1055         * Makefile.in (MAKE_VERSION): bump version to 20100524
1056           Merge with NetBSD make, pick up
1057           o fix for .info et al being greedy.
1059 2010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1061         * Makefile.in (MAKE_VERSION): bump version to 20100520
1062           Merge with NetBSD make, pick up
1063           o back to using realpath on argv[0] 
1064             but only if contains '/' and does not start with '/'.
1066 2010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1068         * boot-strap: use absolute path for bmake when running tests.
1070         * Makefile.in (MAKE_VERSION):  bump version to 20100510
1071           Merge with NetBSD make, pick up
1072           o revert use of realpath on argv[0]
1073             too many corner cases.
1074           o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1076 2010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1078         * Makefile.in (MAKE_VERSION): bump version to 20100505
1079           Merge with NetBSD make, pick up
1080           o fix for missed SIGCHLD when compiled with SunPRO
1081             actually for bmake, defining FORCE_POSIX_SIGNALS would have
1082             done the job.
1084 2010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1086         * Makefile.in (MAKE_VERSION): bump version to 20100430
1087           Merge with NetBSD make, pick up
1088           o fflush stdout before writing to stdout
1089         
1090 2010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1092         * Makefile.in (MAKE_VERSION): bump version to 20100423
1093           Merge with NetBSD make, pick up
1094           o updated unit tests for Haiku (this time for sure).
1095         * boot-strap: based on patch from joerg 
1096           honor --with-default-sys-path better.
1097         * boot-strap: remove mention of --with-prefix-sys-path
1098         
1099 2010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1101         * Makefile.in (MAKE_VERSION): bump version to 20100422
1102         * Merge with NetBSD make, pick up
1103           o fix for vfork() on Darwin.
1104           o fix for bogus $TMPDIR.
1105           o set .MAKE.MODE=compat for -B
1106           o set .MAKE.JOBS=max_jobs for -j max_jobs
1107           o allow unit-tests to run without any *.mk
1108           o unit-tests/modmisc be more conservative in dirs presumed to exist.
1109         * boot-strap: ignore /usr/share/mk except on NetBSD.
1110         * unit-tests/Makefile.in: set LANG=C when running unit-tests to
1111           ensure sort(1) behaves as expected. 
1112         
1113 2010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1115         * boot-strap: add FindHereOrAbove so we can use -m .../mk
1117 2010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1119         * Makefile.in (MAKE_VERSION): bump version to 20100420
1120         * Merge with NetBSD make, pick up
1121           o fix for variable realpath() behavior.
1122             we have to stat(2) the result to be sure.
1123           o fix for .export (all) when nested vars use :sh
1124         
1125 2010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1127         * Makefile.in (MAKE_VERSION): bump version to 20100414
1128         * Merge with NetBSD make, pick up
1129           o use realpath to resolve argv[0] (for .MAKE) if needed.
1130           o add realpath from libc.
1131           o add :tA to resolve variable via realpath(3) if possible.
1133 2010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1135         * Makefile.in (MAKE_VERSION): bump version to 20100408
1136         * Merge with NetBSD make, pick up
1137           o unit tests for .ERROR, .error
1138           o fix for .ERROR to ensure it cannot be default target.
1140 2010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1142         * Makefile.in (MAKE_VERSION): bump version to 20100406
1143         * Merge with NetBSD make, pick up
1144           o fix for compat mode "Error code" going to debug_file.
1145           o fix for .ALLSRC being populated twice.
1146           o support for .info, .warning and .error directives
1147           o .MAKE.MODE to control make's operational mode
1148           o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1149             name(s).
1150           o .MAKE.DEPENDFILE to control the name of the depend file
1151           o .ERROR target - run on failure.
1152         
1153 2010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1155         * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1157         * os.sh,arch.c: patch for Haiku from joerg at netbsd
1159 2010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1161         * Makefile.in (MAKE_VERSION): bump version to 20100222
1162         * Merge with NetBSD make, pick up
1163           o better error msg for .for with mutiple inter vars
1164         
1165         * boot-strap: 
1166           o use make-bootstrap.sh from joerg at netbsd
1167             to avoid the need for a native make when bootstrapping.
1168           o add "" everywhere ;-)
1169           o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1170             otherwise the pre-formated version.
1172 2010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1174         * Makefile.in (MAKE_VERSION): bump version to 20100102
1175         * Merge with NetBSD make, pick up:
1176           o fix for -m .../
1178 2009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
1180         * Makefile.in (MAKE_VERSION): bump version to 20091118
1181         * Merge with NetBSD make, pick up:
1182           o .unexport
1183           o report lines that start with '.' and should have ':'
1184             (catch typo's of .el*if).
1185         
1186 2009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1188         * configure.in: Ensure that srcdir and mksrc are absolute paths.
1190 2009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1192         * Makefile.in (MAKE_VERSION): fix version to 20091007
1194 2009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
1196         * Makefile.in (MAKE_VERSION): bump version to 200910007
1197         * Merge with NetBSD make, pick up:
1198           o fix for parsing of :S;...;...; applied to .for loop iterator
1199             appearing in a dependency line. 
1200         
1201 2009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1203         * Makefile.in (MAKE_VERSION): bump version to 20090909
1204         * Merge with NetBSD make, pick up:
1205           o fix for -C, .CURDIR and .OBJDIR
1206         * boot-strap: 
1207           o allow share_dir to be set independent of prefix.
1208           o select default share_dir better when prefix ends in $HOST_TARGET
1209           o if FORCE_BSD_MK etc were set, include them in the suggested
1210             install-mk command.
1212 2009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
1214         * Makefile.in (MAKE_VERSION): bump version to 20090908
1215         * Merge with NetBSD make, pick up:
1216           o .MAKE.LEVEL for recursion tracking
1217           o fix for :M scanning \:
1219 2009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1221         * configure.in: Don't -D__EXTENSIONS__ if
1222         AC_USE_SYSTEM_EXTENSIONS says "no".
1224 2009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
1226         * Makefile.in (MAKE_VERSION): bump version to 20090826
1227         Simplify MAKE_VERSION to just the bare date.
1228         * Merge with NetBSD make, pick up:
1229           o -C directory support.
1230           o support for SIGINFO
1231           o use $TMPDIR for temp files.
1232           o child of vfork should be careful about modifying parent's state.
1233         
1235 2009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
1237         * Appy some patches for MiNT from David Brownlee
1239 2009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
1241         * Makefile.in (BMAKE_VERSION): bump version to 20090222
1242         * Merge with NetBSD make, pick up:
1243           o Possible null pointer de-ref in Var_Set.
1245 2009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
1247         * Makefile.in (BMAKE_VERSION): bump version to 20090204
1248         * Merge with NetBSD make, pick up:
1249           o bmake_malloc et al moved to their own .c
1250           o Count both () and {} when looking for the end of a :M pattern
1251           o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1252           o strlist.c - functions for processing extendable arrays of pointers to strings.
1253           o ClientData replaced with void *, so const void * can be used.
1254           o New debug flag C for DEBUG_CWD
1256 2008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
1258         * Makefile.in (BMAKE_VERSION): bump version to 20081111
1259           Apply patch from Joerg Sonnenberge to
1260           configure.in:
1261           o remove some redundant checks
1262           o check for emlloc etc only in libutil and require the whole family.
1263           util.c:
1264           o remove [v]asprintf which is no longer used.
1265         
1266 2008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1268         * Makefile.in (BMAKE_VERSION): bump version to 20081101
1269         * Merge with NetBSD make, pick up:
1270           o util.c: avoid use of putenv() - christos
1272 2008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1274         * Makefile.in (BMAKE_VERSION): bump version to 20081030
1275           pick up man page tweaks.
1277 2008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
1279         * Makefile.in: move processing of LIBOBJS to after is definition!
1280           thus we'll have getenv.c in SRCS only if needed.
1282         * make.1: add examples of how to use :?
1284         * Makefile.in (BMAKE_VERSION): bump version to 20081029
1285         * Merge with NetBSD make, pick up:
1286           o fix for .END processing with -j
1287           o segfault from Parse_Error when no makefile is open
1288           o handle numeric expressions in any variable expansion
1289           o debug output now defaults to stderr, -dF to change it - apb
1290           o make now uses bmake_malloc etc so that it can build natively 
1291             on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1293 2008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
1295         * Makefile.in (BMAKE_VERSION): bump version to 20080808
1296         * Merge with NetBSD make, pick up:
1297           o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1298             long lines in Makefiles 
1299           o optimizations for VarQuote by joerg
1300           o fix for PR/38756: dominik: make dumps core on invalid makefile
1301         
1302 2008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
1304         * Makefile.in (BMAKE_VERSION): bump version to 20080515
1305         * Merge with NetBSD make, pick up:
1306           o fix skip setting vars in VAR_GLOBAL context, to handle
1307             cases where VAR_CMD is used for other than command line vars.
1309 2008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
1311         * boot-strap (make_version): we may need to look in
1312         $prefix/share/mk for sys.mk 
1314         * Makefile.in (BMAKE_VERSION): bump version to 20080514
1315         * Merge with NetBSD make, pick up:
1316           o skip setting vars in VAR_GLOBAL context, when already set in
1317           VAR_CMD which takes precedence.
1319 2008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
1321         * Makefile.in (BMAKE_VERSION):  bump version to 20080330
1322         * Merge with NetBSD make, pick up:
1323           o fix for ?= when LHS contains variable reference.
1325 2008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1327         * merge some patches from NetBSD pkgsrc.
1328         
1329         * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1330         the MAKSYSPATH used during bootstrap. 
1332         * Makefile.in (BMAKE_VERSION): bump version to 20080215
1333         * Merge with NetBSD make, pick up:
1334           o warn if non-space chars follow 'empty' in a conditional.
1336 2008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1338         * Makefile.in (BMAKE_VERSION): bump version to 20080118
1339         * Merge with NetBSD make, pick up:
1340           o consider dependencies read from .depend as optional - dsl
1341           o remember when buffer for reading makefile grows - dsl
1342           o add -dl (aka LOUD) - David O'Brien
1344 2007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
1346         * Makefile.in (BMAKE_VERSION): bump version to 20071022
1347         * Merge with NetBSD make, pick up:
1348           o Allow .PATH<suffix> to be used for .include ""
1350         * boot-strap: source default settings from .bmake-boot-strap.rc
1352 2007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
1354         * Makefile.in: fix maninstall on various systems 
1355           provided that our man.mk is used.
1356           For non-BSD systems we install the preformatted page
1357           into $MANDIR/cat1
1359 2007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
1361         * boot-strap: make bmake.1 too, so maninstall works.
1363 2007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
1365         * Makefile.in (BMAKE_VERSION): bump version to 20071014
1366         * Merge with NetBSD make, pick up:
1367           o revamped handling of defshell - configure no longer needs to
1368             know the content of the shells array - apb
1369           o stop Var_Subst modifying its input - apb
1370           o avoid calling ParseTrackInput too often - dsl
1372 2007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
1374         * Makefile.in (BMAKE_VERSION): bump version to 20071011
1375         * Merge with NetBSD make, pick up:
1376           o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1378         * sigcompat.c: some tweaks for HP-UX 11.x based on 
1379           patch from Tobias Nygren
1381         * configure.in: update handling of --with-defshell to match
1382           new make behavior.  --with-defshell=/usr/xpg4/bin/sh
1383           will now do what one might hope - provided the chosen shell
1384           behaves enough like sh.
1386 2007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
1388         * Makefile.in (BMAKE_VERSION): bump to 20071008
1389         * Merge with NetBSD make, pick up:
1390           o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1391           o .export/.MAKE.EXPORTED - export of variables - sjg
1392           o .MAKE.MAKEFILES - track all makefiles read - sjg
1393           o performance improvements - dsl
1394           o revamp parallel job scheduling - dsl
1395         
1396 2006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1398         * Makefile.in (BMAKE_VERSION): bump to 20060728
1399         * Merge with NetBSD make, pick up:
1400           o extra debug info during variable and cond processing - sjg
1401           o shell definition now covers newline - rillig
1402           o minor mem leak in PrintOnError - sjg
1404 2006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1406         * Makefile.in (BMAKE_VERSION):  bump to 20060511
1407         * Merge with NetBSD make, pick up:
1408           o more memory leaks - coverity
1409           o possible overflow in ArchFindMember - coverity
1410           o extract variable modifier code out of Var_Parse()
1411             so it can be called recursively - sjg
1412           o unit-tests/moderrs - sjg
1414 2006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
1416         * Makefile.in (BMAKE_VERSION): bump to 20060412
1417         * Merge with NetBSD make, pick up:
1418           o fixes for some memory leaks - coverity
1419           o only read first sys.mk etc when searching sysIncPath - sjg
1421         * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1422         setting ${MAKEFILE} - OBATA Akio
1424 2006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
1426         * Makefile.in (BMAKE_VERSION): bump to 20060318
1427         * Merge with NetBSD make, pick up:
1428           o cleanup of job.c to remove remote handling, distcc is more
1429             useful and this code was likely bit-rotting - dsl
1430           o fix for :P modifier - sjg
1431         * boot-strap: set default prefix to something reasonable 
1432           (for me anyway). 
1434 2006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
1436         * Makefile.in (BMAKE_VERSION): bump to 20060301
1437         * Merge with NetBSD make, pick up:
1438           o make .WAIT apply recursively, document and test case - apb
1439           o allow variable modifiers in a variable appear anywhere in
1440             modifier list, document and test case - sjg
1442 2006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
1444         * Makefile.in (BMAKE_VERSION): bump to 20060222
1445         * Merge with NetBSD make, pick up:
1446           o improved job token handling - dsl
1447           o SIG_DFL the correct signal before exec - dsl
1448           o more debug info during parsing - dsl
1449           o allow variable modifiers to be specified via variable - sjg
1450         * boot-strap: explain why we died if no mksrc
1452 2005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
1454         * Makefile.in (BMAKE_VERSION): bump to 20051105
1455         * configure.in: always set default_sys_path 
1456           default is ${prefix}/share/mk
1457           - remove prefix_sys_path, anyone wanting more than above
1458             needs to set it manually.
1460 2005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1462         * boot-strap: make this a bit easier for pkgsrc folk.
1463           bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1464           'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1466 2005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
1468         * Makefile.in (BMAKE_VERSION): bump to 20051102
1469         * job.c (JobFinish): fix likely ancient merge lossage
1470         fix from Todd Vierling.
1471         * boot-strap (srcdir): allow setting mksrc=none
1473 2005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
1475         * Makefile.in (BMAKE_VERSION): bump to 20051031
1476         * ranlib.h: skip on OSF too.
1477           (NetBSD PR 31864)
1479 2005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
1481         * Makefile.in (BMAKE_VERSION): bump to 20051002
1482           fix a silly typo
1484 2005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1486         * Makefile.in (BMAKE_VERSION): bump to 20051001
1487           support for UnixWare and some other systems,
1488           based on patches from pkgsrc/bootstrap
1490 2005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1492         * Makefile.in (BMAKE_VERSION): bump to 20050901
1493         * Merge with NetBSD make, pick up:
1494           o possible parse error causing us to wander off.
1496 2005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
1498         * Makefile.in (BMAKE_VERSION): bump to 20050606
1499         * Merge with NetBSD make, pick up:
1500           o :0x modifier for randomizing a list
1501           o fixes for a number of -Wuninitialized issues.
1503 2005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
1505         * Makefile.in (BMAKE_VERSION): bump to 20050530
1506         * Merge with NetBSD make, pick up:
1507           o Handle dependencies for .BEGIN, .END and .INTERRUPT
1509         * README: was seriously out of date.
1510         
1511 2005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
1513         * Important to use .MAKE rather than MAKE.
1515 2005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
1517         * Makefile.in (BMAKE_VERSION): bump to 20050315
1518         * Merge with NetBSD make, pick up:
1519           o don't mistake .elsefoo for .else
1520           o use suffix-specific search path correctly
1521           o bunch of style nits
1523 2004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1525         * boot-strap: 
1526         o ensure that args to --src and --with-mksrc
1527           are resolved before giving them to configure.
1528         o add -o "objdir" so that builder can control it,
1529           default is $OS as determined by os.sh
1530         o add -q to suppress all the install instructions.
1532 2004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
1534         * Remove __IDSTRING()
1536         * Makefile.in (BMAKE_VERSION): bump to 20040508
1537         * Merge with NetBSD make, pick up:
1538           o posix fixes
1539             - remove '-e' from compat mode
1540             - add support for '+' command-line prefix.
1541           o fix for handling '--' on command-line.
1542           o fix include in lst.lib/lstInt.h to simplify '-I's
1543           o we also picked up replacement of MAKE_BOOTSTRAP 
1544             with !MAKE_NATIVE which is a noop, but possibly confusing.
1546 2004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
1548         * Makefile.in (BMAKE_VERSION): bump to 20040414
1549         * Merge with NetBSD make, pick up:
1550           o allow quoted strings on lhs of conditionals
1551           o issue warning when extra .else is seen
1552           o print line numer when errors encountered during parsing from
1553           string.
1555 2004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
1557         * Makefile.in (BMAKE_VERSION):  bump to 20040220
1558         * Merge with NetBSD make, pick up:
1559           o fix for old :M parsing bug.
1560           o re-jigged unit-tests
1562 2004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1564         * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1565         so that './bmake -f Makefile test' works.
1566         
1567 2004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
1569         * Makefile.in: (BMAKE_VERSION): bump to 20040214
1570         * Merge with NetBSD make, pick up:
1571           o search upwards for *.mk
1572           o fix for double free of var substitution buffers
1573           o use of getopt replaced with custom code, since the usage
1574           (re-scanning) isn't posix compatible.
1576 2004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
1578         * arch.c: don't include ranlib.h on ELF systems
1579         (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1581 2004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1583         * Makefile.in (BMAKE_VERSION): bump to 20040118
1585         * boot-strap (while): export vars we assign to on cmdline
1586         * unit-test/Makefile.in: ternary is .PHONY
1588 2004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
1590         * Makefile.in (BMAKE_VERSION): bump version to 20040108
1591         * Merge with NetBSD make, pick up:
1592           o fix for ternary modifier
1594 2004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
1596         * Makefile.in (BMAKE_VERSION): bump version to 20040105
1597         * Merge with NetBSD make, pick up:
1598           o fix for cond.c to handle compound expressions better
1599           o variable expansion within sysV style replacements
1600           
1601 2003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
1603         * Make portable snprintf safer - output to /dev/null first to
1604         check space needed.
1606         * Makefile.in (BMAKE_VERSION): bump version to 20031222
1607         * Merge with NetBSD make, pick up:
1608           o -dg3 to show input graph when things go wrong.
1609           o explicitly look for makefiles in objdir if not found in curdir so
1610             that errors in .depend etc will be reported accurarely. 
1611           o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1612             instead as it more accurately reflects the expected behavior and
1613             is more consistently implemented.
1614           o avoid use of asprintf.
1616 2003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
1618         * util.c: Add asprintf and vasprintf.
1620         * Makefile.in (BMAKE_VERSION): bump version to 20030928
1621         * Merge with NetBSD make, pick up:
1622         :[] modifier - allows picking words from a variable.
1623         :tW modifier - allows treating value as one big word.
1624         W flag for :C and :S - allows treating value as one big word.
1625         
1626 2003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
1628         * Merge with NetBSD make
1629         pick up -de flag to enable printing failed command.
1630         don't skip 1st two dir entries (normally . and ..) since
1631         coda does not have them.
1633 2003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1635         * Makefile.in (BMAKE_VERSION): bump version to 20030909
1636         * Merge with NetBSD make, pick up:
1637         - changes for -V '${VAR}' to print fully expanded value
1638           cf. -V VAR
1639         - CompatRunCommand now prints the command that failed.
1640         - several files got updated 3 clause Berkeley license.
1641         
1642 2003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
1644         * boot-strap: Allow setting configure args on command line.
1646 2003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
1648         * configure.in: add --with-defshell to allow sh or ksh
1649         to be selected as default shell.
1651         * Makefile.in: bump version to 20030731
1653         * Merge with NetBSD make 
1654         Pick up .SHELL spec for ksh and associate man page changes.
1655         Also compat mode now uses the same shell specs.
1657 2003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
1659         * var.c (Var_Parse): ensure delim is initialized.
1661         * unit-tests/Makefile.in: use single quotes to avoid problems from
1662         some shells.
1664         * makefile.boot.in:
1665         Run the unit-tests as part of the bootstrap procedure.
1667 2003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1669         * unit-tests/Makefile.in: always force complaints from
1670         ${TEST_MAKE} to be from 'make'.
1672         * configure.in: add check for 'diff -u'
1673         also fix some old autoconf'isms
1674         
1675         * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1676         if using GCC add -Wno-cast-qual to CFLAGS for var.o
1678         * Merge with NetBSD make
1679         Pick up fix for :ts parsing error in some cases.
1680         Pick unit-tests.
1682 2003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
1684         * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1686         * var.c (Var_Parse): fix bug in :ts modifier, after const
1687         correctness fixes, must pass nstr to VarModify.
1689 2003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
1691         * Makefile.in: BMAKE_VERSION switch to a date based version.
1692         We'll generally use the date of last import from NetBSD.
1694         * Merge with NetBSD make
1695         Pick up fixes for const-correctness, now passes WARNS=3 on
1696         NetBSD.
1697         Pick up :ts modifier, allows controlling the separator used
1698         between words in variable expansion.
1700 2003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
1702         * FILES: include boot-strap and os.sh
1704         * Makefile.in: only set WARNS if we are NetBSD, the effect on
1705         FreeBSD is known to be bad.
1707         * makefile.boot.in (bootstrap): make this the default target.
1709         * Makefile.in: bump version to 3.1.19
1711         * machine.sh: avoid A-Z with tr as it is bound to lose.
1713 2003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
1715         * Merge with NetBSD make
1716         Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1717         Plus some doc fixes.
1718         
1719 2003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
1721         * Merge with NetBSD make
1722         Pick up fix for PR/1523 - don't count a library as built, if there
1723         is no way to build it 
1725         * Bump version to 3.1.18
1727 2003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
1729         * Merge with NetBSD make
1730         Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1731         appears in src list.
1733 2003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
1735         * Merge with NetBSD make (mmm 10th anniversary!)
1736         pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1737         pick up -X which tells us to not export VAR=val via setenv if
1738         we are already doing so via MAKEFLAGS.  This saves valuable env
1739         space on systems like Darwin.
1740         set MAKE_VERSION to 3.1.17
1742         * parse.c: pix up fix for suffix rules
1744 2003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
1746         * Merge with NetBSD make.
1747         pick up fix for propagating -B via MAKEFLAGS.
1748         set MAKE_VERSION to 3.1.16
1750         * Apply some patches from pkgsrc-bootstrap/bmake
1751         Originally by Grant Beattie <grant@netbsd.org>
1752         I may have missed some - since they are based on bmake-3.1.12
1753         
1754 2002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
1756         * makefile.boot.in (bmake): update install targets for those that
1757         use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1758         havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
1760         * bmake.cat1: update the pre-formatted man page!
1762 2002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
1764         * Merge with NetBSD make.
1765         pick up fix for premature free of pointer used in call
1766         to Dir_InitCur().
1767         set MAKE_VERSION to 3.1.15
1769 2002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
1771         * configure.in: determine suitable value for MKSRC.
1772         override using --with-mksrc=PATH.
1774         * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1775         configs(8) will use 'sun4' as an alias for 'sparc'.
1777 2002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
1779         * Merge with NetBSD make.
1780         pick up ${.PATH}
1781         pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1782         set MAKE_VERSION to 3.1.14
1783         add configure checks for killpg and sys/socket.h
1785 2002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
1787         * tag bmake-3-1-13
1788         
1789         * makefile.boot.in (bmake): use install-mk
1790         Also setup ./mk before trying to invoke bmake.boot incase we
1791         needed install-mk to create a sys.mk for us. 
1793         * configure.in: If we need to add -I${srcdir}/missing, make it an
1794         absolute path so that it works for lst.lib too.
1796         * make.h: always include sys/cdefs.h since we provide one if the
1797         host does not.
1798         
1799         * Makefile.in (install-mk): 
1800         use MKSRC/install-mk which will do the right thing.
1801         use uname -p for ARCH if possible.
1802         since install-mk will setup links bsd.prog.mk -> prog.mk if
1803         needed, just .include bsd.prog.mk
1805         * Merge with NetBSD make (NetBSD-1.6)
1806         Code is ansi-C only now.
1807         Bug in handling of dotLast is fixed.
1808         Can now assign .OBJDIR and make will reset its notions of life.
1809         New modifiers :tu :tl for toUpper and toLower.
1811 Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1813         * Merge with NetBSD make
1814         pick up fix for .END failure in compat mode.
1815         pick up fix for extra va_end() in ParseVErrorInternal.
1817 Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1819         * configure.in: for systems that have sys/cdefs.h check if it is
1820         compatible.  If not, include the one under missing, but tell it to
1821         include the native one too - necessary on Linux.
1823         * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1824         include_next (for gcc) to get the native sys/cdefs.h
1826 Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1828         * job.c (JobFinish): Fix an earlier merge bug that resulted in
1829         leaking descriptors when using -jN.
1830         
1831         * job.c (JobPrintCommand): See if "curdir" exists before
1832         attempting to chdir().  Doing the chdir directly in make (when in
1833         compat mode) fails silently, so let the -jN version do the same.
1834         This can happen when building kernels in an object tree and
1835         playing clever games to reset .CURDIR.
1837         * Merged with NetBSD make
1838         pick up .USEBEFORE
1840 Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1842         * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1844 Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1846         * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1847         us not to export the iterator variable when using VAR_CMD context.
1849 Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1851         * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1852         its the wrong "fix".
1854 Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1856         * Redesigned export of VAR_CMD's via MAKEFLAGS.
1857         We now simply append the variable names to .MAKEOVERRIDES, and
1858         handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1859         ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1860         Apart from fixing quoting bugs in previous version, this allows us
1861         to export vars to the environment by simply doing:
1862         .MAKEOVERRIDES+= PATH 
1863         Merged again with NetBSD make, but the above is the only change.
1865         * configure.in: added
1866         --disable-pwd-override          disable $PWD overriding getcwd()
1867         --disable-check-make-chdir      disable make trying to guess 
1868                 when it should automatically cd ${.CURDIR}
1870         * Merge with NetBSD make, changes include:
1871         parse.c (ParseDoDependency): Spot that the syntax error is
1872         caused by an unresolved cvs/rcs conflict and say so.
1873         var.c: most of Var* functions now take a ctxt as 1st arg.
1874         now does variable substituion on rhs of sysv style modifiers.
1875         
1876         * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1877         is now done here.  We append the name='value' to .MAKEOVERRIDES
1878         rather than directly into MAKEFLAGS as this allows a Makefile to
1879         use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
1880         very similar mechanism.  Note that in adding name='value' to
1881         .MAKEOVERRIDES we do the moral equivalent of:
1882         .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1884 Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1886         * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1888         * Merged with NetBSD make
1889         make -dx can now be used to run commands via sh -x
1890         better error messages on exec failures.
1892 Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1894         * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1895         MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
1896         MACHINE etc otherwise they propagate from the previous bmake.
1898         * configure.in (machine): allow --with-machine=generic to make
1899         configure use machine.sh to set MACHINE. 
1901         * job.c (JobInterrupt): convert to using WAIT_T and friends.
1903         * Makefile.in: mention in bmake.1 that we use autoconf.
1905         * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1907 Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1909         * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1910         as that rather defeats the usefulness of ${MAKEFILE}.
1912         * main.c (MainParseArgs): append command line variable assignments
1913         to MAKEFLAGS so that they get propagated to child make's.
1914         Apparently this is required POSIX behaviour?  Its useful anyway.
1916 Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1918         * compat.c (CompatRunCommand): don't use perror() since stdio may
1919         cause problems in child of vfork().
1921         * compat.c, main.c: Call PrintOnError() when we are going to bail.
1922         This routine prints out the .curdir where we stopped and will also
1923         display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1925         * main.c: add ${.newline} to hold a "\n" - sometimes handy in
1926         :@ expansion.
1928         * var.c: VarLoopExpand: ignore addSpace if a \n is present.
1930         * Added RCSid's for the files we've touched.
1931         
1932 Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1934         * configure.in: Thanks to some clues from mdb@juniper.net,
1935         added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1936         as well as what ends up in _PATH_DEFSYSPATH.  We now have:
1938   --with-machine=MACHINE  explicitly set MACHINE
1939   --with-force-machine=MACHINE  set FORCE_MACHINE
1940   --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
1941   --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
1942   --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
1943   --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
1944         
1945         If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1947         * makefile: added a pathetically simple makefile to drive
1948         bootstrapping.  Running configure by hand is more useful.
1950         * Makefile.in: added MAKE_VERSION, and reworked things to be less
1951         dependent on NetBSD bsd.*.mk
1952         
1953         * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1954         _PATH_OBJDIRPREFIX for those that don't want a default.
1955         construct _PATH_DEFSYSPATH from the info we get from configure.
1957         * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1958         if MAKE_VERSION is defined.
1959         
1960         * compat.c: when we bail, print out the .CURDIR we were in.
1961         
1962 Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1964         * Merged with NetBSD make
1966         * var.c: fixed a bug in the handling of the modifier :P
1967         if the node as found but the path was null, we segfault trying to
1968         duplicate it.
1970 Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1972         * Merged with NetBSD make
1973         
1974         * make.c: Make_OODate's test for a library out of date was using
1975         cmtime where it should have used mtime (my bug).
1977         * compat.c: Use perror() to tell us what really went wrong when we
1978         cannot exec a command.
1979         
1980 Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1982         * Merged with NetBSD make
1983         
1984 Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1986         * Merged with NetBSD make
1987         
1988 Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1990         * Merged with NetBSD make
1991         
1992 Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1994         * Merged with NetBSD make
1995         
1996 Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
1998         * util.c: don't provide signal() since we use sigcompat.c
2000         * Makefile.in: added a build target.
2002         * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2003         These allow some quite clever magic.
2005         * main.c (main): added support for getenv(MAKESYSPATH).
2007 Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2009         * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2010         This avoids objdir having a different value depending on how a
2011         directory was reached (via command line, or subdir.mk).
2013         * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2014         
2015 Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2017         * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2018         MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2019         I've been testing this in NetBSD's make for some weeks.
2021         * Turn Makefile into Makefile.in and make it useful.
2022         
2023 Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
2025         * Imported NetBSD's -current make(1) and resolve conflicts.
2026         
2027         * Applied autoconf patches from bmake v2
2029         * Imported clean code base from NetBSD-1.0