Merge illumos-gate
[unleashed.git] / bin / make / ChangeLog
blob37d3e6e32ba911e887222e78d1aeae66a5a1d847
1 2017-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
3         * Makefile (_MAKE_VERSION): 20170510
4           Merge with NetBSD make, pick up
5           o main.c: Main_SetObjdir: ensure buf2 is in scope
7 2017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
9         * Makefile (_MAKE_VERSION): 20170505
10           see mk/ChangeLog
12 2017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
14         * parse.c: not everyone has stdint.h
16 2017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
18         * Makefile (_MAKE_VERSION): 20170501
19           see mk/ChangeLog
21 2017-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
23         * Makefile (_MAKE_VERSION): 20170421
24           Merge with NetBSD make, pick up
25           o str.c: Str_Match: fix closure tests for [^] and add unit-test.
27 2017-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
29         * Makefile (_MAKE_VERSION): 20170420
30           Merge with NetBSD make, pick up
31           o main.c: only use -C arg "as is" if it contains no 
32             relative component.
34 2017-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
36         * Makefile (_MAKE_VERSION): 20170418
37           Merge with NetBSD make, pick up
38           o main.c: fix Main_SetObjdir() for relative paths (eg obj).
40 2017-04-17  Simon J. Gerraty  <sjg@bad.crufty.net>
42         * Makefile (_MAKE_VERSION): 20170417
43           Merge with NetBSD make, pick up
44           o fixes a number of coverity complaints
45             - check return value of fseek, fcntl
46             - plug memory leak in Dir_FindFile, Var_LoopExpand,
47               JobPrintCommand, ParseTraditionalInclude
48             - use bmake_malloc() where NULL is not tollerated
49             - use MAKE_ATTR_UNUSED rather that kludges like 
50               return(unused ? 0 : 0)
51             - use purge_cached_realpaths() rather than abuse cached_realpath()
53 2017-04-13  Simon J. Gerraty  <sjg@bad.crufty.net>
55         * Makefile (_MAKE_VERSION): 20170413
56           Merge with NetBSD make, pick up
57           o main.c: when setting .OBJDIR ignore '$' in paths.
59         * job.c: use MALLOC_OPTIONS to set malloc_options.
61 2017-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
63         * Makefile (_MAKE_VERSION): 20170411
64           Merge with NetBSD make, pick up
65           o str.c: Str_Match: allow [^a-z] to behave as expected.
67 2017-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
69         * Makefile (_MAKE_VERSION): 20170326
70           Merge with NetBSD make, pick up
71           o main.c: purge relative paths from realpath cache when .OBJDIR
72             is changed.
74 2017-03-11  Simon J. Gerraty  <sjg@bad.crufty.net>
76         * Makefile (_MAKE_VERSION): 20170311
77           Merge with NetBSD make, pick up
78           o main.c: only use -C arg "as is" if it starts with '/'.
80 2017-03-01  Simon J. Gerraty  <sjg@bad.crufty.net>
82         * Makefile (_MAKE_VERSION): 20170301
83           Merge with NetBSD make, pick up
84           o main.c: use -C arg "as is" rather than getcwd()
85             if they identify the same directory.
86           o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
88 2017-02-01  Simon J. Gerraty  <sjg@bad.crufty.net>
90         * Makefile (_MAKE_VERSION): 20170201
91           Merge with NetBSD make, pick up
92           o var.c: allow :_=var and avoid use of special context.
94 2017-01-30  Simon J. Gerraty  <sjg@bad.crufty.net>
96         * Makefile (_MAKE_VERSION): 20170130
97           Merge with NetBSD make, pick up
98           o var.c: add :range and :_
99           o main.c: partially initialize Dir_* before MainParseArgs()
100             can be called.
101             If -V, skip Main_ExportMAKEFLAGS()
103 2017-01-14  Simon J. Gerraty  <sjg@bad.crufty.net>
105         * Makefile (_MAKE_VERSION): 20170114
106           Merge with NetBSD make, pick up
107           o var.c: allow specifying the utc value used by :{gm,local}time
109 2016-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
111         * Makefile (_MAKE_VERSION): 20161212
112           Merge with NetBSD make, pick up
113           o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
115 2016-12-09  Simon J. Gerraty  <sjg@bad.crufty.net>
117         * Makefile (_MAKE_VERSION): 20161209
118           Merge with NetBSD make, pick up
119           o main.c: cleanup setting of .OBJDIR
120           o parse.c: avoid coredump from (var)=val
122 2016-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
124         * Makefile (_MAKE_VERSION): 20161126
125           Merge with NetBSD make, pick up
126           o make.c: Make_OODate: report src node name if path not set
128 2016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
130         * Makefile (_MAKE_VERSION): 20160926
131           Merge with NetBSD make, pick up
132           o support for .DELETE_ON_ERROR: (remove targets that fail)
133         
134 2016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
136         * Makefile MAN: tweak .Dt to match ${PROG}
138 2016-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
140         * Makefile (_MAKE_VERSION): 20160818
141           its a neater number; pick up whitespace fixes to man page.
143 2016-08-17  Simon J. Gerraty  <sjg@bad.crufty.net>
145         * Makefile (_MAKE_VERSION): 20160817
146           Merge with NetBSD make, pick up
147           o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
148             so we can call it before adding entries to missingFiles.
149             Thus we do not track files we have been told to ignore.
151 2016-08-15  Simon J. Gerraty  <sjg@bad.crufty.net>
153         * Makefile (_MAKE_VERSION): 20160815
154           Merge with NetBSD make, pick up
155           o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
156             pathnames, and skip if the expansion is empty.
157             Useful for dirdeps.mk when checking DIRDEPS_CACHE.
159 2016-08-12  Simon J. Gerraty  <sjg@bad.crufty.net>
161         * Makefile (_MAKE_VERSION): 20160812
162           Merge with NetBSD make, pick up
163           o meta.c: remove all missingFiles entries that match a deleted
164             dir.
165           o main.c: set .ERROR_CMD if possible.
166           
167 2016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
169         * Makefile (_MAKE_VERSION): 20160606
170           Merge with NetBSD make, pick up
171           o dir.c: extend mtimes cache to others via cached_stat()
173 2016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
175         * Makefile (_MAKE_VERSION): 20160604
176           Merge with NetBSD make, pick up
177           o meta.c: missing filemon data is only relevant if we read a
178             meta file.
179             Also do not return oodate for a missing metafile if gn->path
180             points to .CURDIR
181         
182 2016-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
184         * Makefile (_MAKE_VERSION): 20160602
185           Merge with NetBSD make, pick up
186           o cached_realpath(): avoid hitting filesystem more than necessary.
187           o meta.c: refactor need_meta decision, add knobs for 
188             missing meta file and filemon data wrt out-of-datedness.
190 2016-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
192         * Makefile (_MAKE_VERSION): 20160528
194         * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 
196 2016-05-12  Simon J. Gerraty  <sjg@bad.crufty.net>
198         * Makefile (_MAKE_VERSION): 20160512
199           Merge with NetBSD make, pick up
200           o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
201             this is useful for gcov builds.
202           o propagate errors from filemon(4).
203         
204 2016-05-09  Simon J. Gerraty  <sjg@bad.crufty.net>
206         * Makefile (_MAKE_VERSION): 20160509
207           Merge with NetBSD make, pick up
208           o remove use of non-standard types u_int etc.
209           o meta.c: apply realpath() before matching against metaIgnorePaths
211 2016-04-04  Simon J. Gerraty  <sjg@bad.crufty.net>
213         * Makefile (_MAKE_VERSION): 20160404
214           Merge with NetBSD make, pick up
215           o allow makefile to set .MAKE.JOBS
217         * Makefile (PROG_NAME): use ${_MAKE_VERSION}
219 2016-03-15  Simon J. Gerraty  <sjg@bad.crufty.net>
221         * Makefile (_MAKE_VERSION): 20160315
222           Merge with NetBSD make, pick up
223           o fix handling of archive members
225 2016-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
227         * Makefile (_MAKE_VERSION): rename variable to avoid interference
228           with checks for ${MAKE_VERSION}
230 2016-03-10  Simon J. Gerraty  <sjg@bad.crufty.net>
232         * Makefile (MAKE_VERSION): 20160310
233           Merge with NetBSD make, pick up
234           o meta.c: treat missing Read file same as Write, incase we Delete it.
236 2016-03-07  Simon J. Gerraty  <sjg@bad.crufty.net>
238         * Makefile (MAKE_VERSION): 20160307
239           Merge with NetBSD make, pick up
240           o var.c: fix :ts\nnn to be octal by default.
241           o meta.c: meta_finish() to cleanup memory.
243 2016-02-26  Simon J. Gerraty  <sjg@bad.crufty.net>
245         * Makefile (MAKE_VERSION): 20160226
246           Merge with NetBSD make, pick up
247           o meta.c: allow meta file for makeDepend if makefiles want it.
249 2016-02-19  Simon J. Gerraty  <sjg@bad.crufty.net>
251         * var.c: default .MAKE.SAVE_DOLLARS to FALSE
252           for backwards compatability.
254         * Makefile (MAKE_VERSION): 20160220
255           Merge with NetBSD make, pick up
256           o var.c: add knob to control handling of '$$' in :=
258 2016-02-18  Simon J. Gerraty  <sjg@bad.crufty.net>
260         * Makefile (MAKE_VERSION): 20160218
261           Merge with NetBSD make, pick up
262           o var.c: add .export-literal allows us to fix sys.clean-env.mk
263             post the changes to Var_Subst.
264             Var_Subst now takes flags, and does not consume '$$' in :=
266 2016-02-17  Simon J. Gerraty  <sjg@bad.crufty.net>
268         * Makefile (MAKE_VERSION): 20160217
269           Merge with NetBSD make, pick up
270           o var.c: preserve '$$' in :=
271           o parse.c: add .dinclude for handling included 
272             makefile like .depend
274 2015-12-20  Simon J. Gerraty  <sjg@bad.crufty.net>
276         * Makefile (MAKE_VERSION): 20151220
277           Merge with NetBSD make, pick up
278           o suff.c: re-initialize suffNull when clearing suffixes.
280 2015-12-01  Simon J. Gerraty  <sjg@bad.crufty.net>
282         * Makefile (MAKE_VERSION): 20151201
283           Merge with NetBSD make, pick up
284           o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
285           o meta.c: meta_oodate: use lstat(2) for checking link target
286             in case it is a symlink.
287           o var.c: avoid calling brk_string and Var_Export1 with empty
288             strings.
289         
290 2015-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
292         * Makefile (MAKE_VERSION): 20151126
293           Merge with NetBSD make, pick up
294           o parse.c: ParseTrackInput don't access beyond 
295             end of old value.
296         
297 2015-10-22  Simon J. Gerraty  <sjg@bad.crufty.net>
299         * Makefile (MAKE_VERSION): 20151022
301         * Add support for BSD/OS which lacks inttypes.h
302           and really needs sys/param.h for sys/sysctl.h
303           also 'type' is not a shell builtin.
305         * var.c: eliminate uint32_t and need for inttypes.h
306         
307         * main.c: PrintOnError flush stdout before run .ERROR
309         * parse.c: cope with _SC_PAGESIZE not being defined.
311         
312 2015-10-20  Simon J. Gerraty  <sjg@bad.crufty.net>
314         * Makefile (MAKE_VERSION): 20151020
315           Merge with NetBSD make, pick up
316           o var.c: fix uninitialized var 
318 2015-10-12  Simon J. Gerraty  <sjg@bad.crufty.net>
320         * var.c: the conditional expressions used with ':?' can be
321         expensive, if already discarding do not evaluate or expand
322         anything. 
324 2015-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
326         * Makefile (MAKE_VERSION): 20151010
327           Merge with NetBSD make, pick up
328           o Add Boolean wantit flag to Var_Subst and Var_Parse
329             when FALSE we know we are discarding the result and can
330             skip operations like Cmd_Exec.
332 2015-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
334         * Makefile (MAKE_VERSION): 20151009
335           Merge with NetBSD make, pick up
336           o var.c: don't check for NULL before free()
337           o meta.c: meta_oodate, do not hard code ignore of makeDependfile
339 2015-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
341         * Makefile (MAKE_VERSION): 20150910
342           Merge with NetBSD make, pick up
343           o main.c: with -w print Enter/Leaving messages for objdir too
344             if necessary.
345           o centralize shell metachar handling
346         
347         * FILES: add metachar.[ch]
349 2015-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
351         * Makefile (MAKE_VERSION): 20150606
352           Merge with NetBSD make, pick up
353           o make.1: document .OBJDIR target
355 2015-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
357         * Makefile (MAKE_VERSION): 20150505
358           Merge with NetBSD make, pick up
359           o cond.c: be strict about lhs of comparison when evaluating .if
360             but less so when called from variable expansion.
361           o unit-tests/cond2.mk: test various error conditions
363 2015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
365         * machine.sh (MACHINE): Add Bitrig 
366           patch from joerg@netbsd.org
368 2015-04-18  Simon J. Gerraty  <sjg@bad.crufty.net>
370         * Makefile (MAKE_VERSION): 20150418
371           Merge with NetBSD make, pick up
372           o job.c: use memmove() rather than memcpy()
374         * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
375           case, so skip it.
377 2015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
379         * Makefile (MAKE_VERSION): 20150411
380           bump version - only mk/ changes.
381         
382 2015-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
384         * Makefile (MAKE_VERSION): 20150410
385           Merge with NetBSD make, pick up
386           o document different handling of '-' in jobs mode vs compat
387           o fix jobs mode so that '-' only applies to whole job
388             when shell lacks hasErrCtl
389           o meta.c: use separate vars to track lcwd and latestdir (read)
390             per process
391         
392 2015-04-01  Simon J. Gerraty  <sjg@bad.crufty.net>
394         * Makefile (MAKE_VERSION): 20150401
395           Merge with NetBSD make, pick up
396           o meta.c: close meta file in child
397         
398         * Makefile: use BINDIR.bmake if set.
399           Same for MANDIR and SHAREDIR
400           Handy for testing release candidates
401           in various environments.
402         
403 2015-03-26  Simon J. Gerraty  <sjg@bad.crufty.net>
405         * move initialization of savederr to block where it is used
406           to avoid spurious warning from gcc5
408 2014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
410         * Makefile (MAKE_VERSION): 20141111
411           just a cooler number
413 2014-11-05  Simon J. Gerraty  <sjg@bad.crufty.net>
415         * Makefile (MAKE_VERSION): 20141105
416           Merge with NetBSD make, pick up
417           o revert major overhaul of suffix handling
418             and POSIX compliance - too much breakage
419             and impossible to make backwards compatible.
420           o we still have the new unit test structure which is ok.
421           o meta.c ensure "-- filemon" is at start of line.
423 2014-09-17  Simon J. Gerraty  <sjg@bad.crufty.net>
425         * configure.in: test that result of getconf PATH_MAX is numeric
426           and discard if not.  Apparently needed for Hurd.
428 2014-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
430         * Makefile (MAKE_VERSION): 20140830
431           Merge with NetBSD make, pick up
432           o major overhaul of suffix handling
433           o improved POSIX compliance
434           o overhauled unit-tests
436 2014-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
438         * Makefile (MAKE_VERSION): 20140620
439           Merge with NetBSD make, pick up
440           o var.c return varNoError rather than var_Error for ::= modifiers.
442 2014-05-22  Simon J. Gerraty  <sjg@bad.crufty.net>
444         * Makefile (MAKE_VERSION): 20140522
445           Merge with NetBSD make, pick up
446           o var.c detect some parse errors.
448 2014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
450         * Fix spelling errors - patch from Pedro Giffuni
452 2014-02-14  Simon J. Gerraty  <sjg@bad.crufty.net>
454         * Makefile (MAKE_VERSION): 20140214
455           Merge with NetBSD make, pick up
456           o .INCLUDEFROM*
457           o use Var_Value to get MAKEOBJDIR[PREFIX]
458           o reduced realloc'ign in brk_string.
459         * configure.in: add a check for compiler supporting __func__
461 2014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
463         * boot-strap: ignore mksrc=none
465 2014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
467         * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
469 2014-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
470         
471         * Makefile (MAKE_VERSION): 20140101
472         * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
473         * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
474         * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
475           Hurd) 
476         * configure.in: Add AC_PREREQ and check for
477           sysctl; patch from Andrew Shadura andrewsh at debian.org
479 2013-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
481         * Makefile (MAKE_VERSION): 20131010
482         * lose the const from arg to systcl to avoid problems on older BSDs.
484 2013-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
486         * Makefile (MAKE_VERSION): 20131001
487           Merge with NetBSD make, pick up
488           o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
489             hw.machine_arch if necessary.
490           o meta.c: meta_oodate - need to look at src of Link and target
491             of Move as well.
492         * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
493           provide __arraycount() if needed.
495 2013-09-04  Simon J. Gerraty  <sjg@bad.crufty.net>
497         * Makefile (MAKE_VERSION): 20130904
498           Merge with NetBSD make, pick up
499           o Add VAR_INTERNAL context, so that internal setting of
500             MAKEFILE does not override value set by makefiles.
502 2013-09-02  Simon J. Gerraty  <sjg@bad.crufty.net>
504         * Makefile (MAKE_VERSION): 20130902
505           Merge with NetBSD make, pick up
506           o CompatRunCommand: only apply shellErrFlag when errCheck is true
508 2013-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
510         * Makefile (MAKE_VERSION): 20130828
511           Merge with NetBSD make, pick up
512           o Fix VAR :sh = syntax from Will Andrews at freebsd.org
513           o Call Job_SetPrefix() from Job_Init() so makefiles have
514             opportunity to set .MAKE.JOB.PREFIX
516 2013-07-30  Simon J. Gerraty  <sjg@bad.crufty.net>
518         * Makefile (MAKE_VERSION): 20130730
519           Merge with NetBSD make, pick up
520           o Allow suppression of --- job -- tokens by setting
521             .MAKE.JOB.PREFIX empty.
523 2013-07-16  Simon J. Gerraty  <sjg@bad.crufty.net>
525         * Makefile (MAKE_VERSION): 20130716
526           Merge with NetBSD make, pick up
527           o number of gmake compatibility tweaks
528             -w for gmake style entering/leaving messages
529             if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
530             handle MAKEFLAGS containing only letters.
531           o when overriding a GLOBAL variable on the command line,
532             delete it from GLOBAL context so -V doesn't show the wrong
533             value.
534         
535 2013-07-06  Simon J. Gerraty  <sjg@bad.crufty.net>
537         * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
539         * Makefile (MAKE_VERSION): 20130706
540           Merge with NetBSD make, pick up
541           o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
542             true so that CompatRunCommand() can use it, to ensure
543             consistent behavior with jobs mode.
544           o use MAKE_LEVEL_ENV to define the variable to propagate
545             .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
546           o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
547             paths to ignore.
549 2013-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
551         * Makefile (MAKE_VERSION): 20130604
552           Merge with NetBSD make, pick up
553           o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
554             to avoid leaking descriptors.
556 2013-05-28  Simon J. Gerraty  <sjg@bad.crufty.net>
558         * Makefile (MAKE_VERSION): 20130528
559           Merge with NetBSD make, pick up
560           o var.c: cleanup some left-overs in VarHash()
562 2013-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
564         * Makefile (MAKE_VERSION): 20130520
565           generate manifest from component FILES rather than have to
566           update FILES when mk/FILES changes.
568 2013-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
570         * Makefile (MAKE_VERSION): 20130518
571           Merge with NetBSD make, pick up
572           o suff.c: don't skip all processsing for .PHONY targets
573             else wildcard srcs do not get expanded.
574           o var.c: expand name of variable to delete if necessary.
576 2013-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
578         * Makefile (MAKE_VERSION): 20130330
579           Merge with NetBSD make, pick up
580           o meta.c: refine the handling of .OODATE in commands.
581             Rather than suppress command comparison for the entire script
582             as though .NOMETA_CMP had been used, only suppress it for the
583             one command line.
584             This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 
585             suppress comparison of a command without otherwise affecting it.
586           o make.1: document that
588 2013-03-22  Simon J. Gerraty  <sjg@bad.crufty.net>
590         * Makefile (MAKE_VERSION): 20130321
591           yes, not quite right but its a cooler number.
592           Merge with NetBSD make, pick up
593           o parse.c: fix ParseGmakeExport to be portable 
594             and add a unit-test.
595         * meta.c: call meta_init() before makefiles are read and if built
596           with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
597           this let's makefiles test for support.
598           Call meta_mode_init() to process .MAKE.MODE.
600 2013-03-13  Simon J. Gerraty  <sjg@bad.crufty.net>
602         * Makefile (MAKE_VERSION): 20130305
603           Merge with NetBSD make, pick up
604           o run .STALE: target when a dependency from .depend is missing.
605           o job.c: add Job_RunTarget() for the above and .BEGIN
607 2013-03-03  Simon J. Gerraty  <sjg@bad.crufty.net>
609         * Makefile (MAKE_VERSION): 20130303
610           Merge with NetBSD make, pick up
611           o main.c: set .MAKE.OS to utsname.sysname
612           o job.c: more checks for read and poll errors
613           o var.c: lose VarChangeCase() saves 4% time
615 2013-03-02  Simon J. Gerraty  <sjg@bad.crufty.net>
617         * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
618           want to use MAKEOBJDIR
620 2013-01-27  Simon J. Gerraty  <sjg@bad.crufty.net>
622         * Merge with NetBSD make, pick up
623           o make.1: more info on how shell commands are handled.
624           o job.c,main.c: detect write errors to job pipes.
626 2013-01-25  Simon J. Gerraty  <sjg@bad.crufty.net>
628         * Makefile (MAKE_VERSION): 20130123
629           Merge with NetBSD make, pick up
630           o meta.c: if script uses .OODATE and meta_oodate() decides
631             rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
632           o var.c: in debug output indicate which variabale modifiers
633             apply to.
634           o remove Check_Cwd logic the makefiles have been fixed.
635         
636 2012-12-12  Simon J. Gerraty  <sjg@bad.crufty.net>
638         * makefile.in: add a simple makefile for folk who insist on
639           ./configure; make; make install
640           it just runs boot-strap
641         * include mk/* to accommodate the above
642         * boot-strap:  re-work to accommodate the above
643           mksrc defaults to $Mydir/mk
644           allow op={configure,build,install,clean,all}
645           add options to facilitate install
646         * Makefile.config.in: just the bits set by configure
647         * Makefile: bump version to 20121212
648           abandon Makefile.in (NetBSD Makefile)
649           leverage mk/* instead
650         * configure.in: ensure srcdir is absolute
652 2012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
654         * Makefile.in (MAKE_VERSION): 20121111
655           fix generation of bmake.cat1
657 2012-11-09  Simon J. Gerraty  <sjg@bad.crufty.net>
659         * Makefile.in (MAKE_VERSION): 20121109
660           Merge with NetBSD make, pick up
661           o make.c: MakeBuildChild: return 0 so search continues if a
662             .ORDER dependency is detected.
663           o unit-tests/order: test the above
664         
665 2012-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
667         * Makefile.in (MAKE_VERSION): 20121102
668           Merge with NetBSD make, pick up
669           o cond.c: allow cond_state[] to grow.
670             In meta mode with a very large tree, we can hit the limit
671             while processing dirdeps.
672         
673 2012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
675         * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
677 2012-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
679         * Makefile.in (MAKE_VERSION): 20121010
680           o protect syntax that only bmake parses correctly.
681           o remove auto setting of FORCE_MACHINE, use configure's
682             --with-force-machine=whatever if that is desired.
683         
684 2012-10-08  Simon J. Gerraty  <sjg@bad.crufty.net>
686         * Makefile.in: do not lose history from make.1 when generating bmake.1
688 2012-10-07  Simon J. Gerraty  <sjg@bad.crufty.net>
690         * Makefile.in (MAKE_VERSION): 20121007
691           Merge with NetBSD make, pick up
692           o compat.c: ignore empty commands - same as jobs mode.
693           o make.1: document meta chars that cause use of shell
695 2012-09-11  Simon J. Gerraty  <sjg@bad.crufty.net>
697         * Makefile.in (MAKE_VERSION): bump version to 20120911
698         * bsd.after-import.mk: include Makefile.inc early and allow it to
699           override PROG
701 2012-08-31  Simon J. Gerraty  <sjg@bad.crufty.net>
703         * Makefile.in (MAKE_VERSION): bump version to 20120831
704           Merge with NetBSD make, pick up
705           o cast sizeof() to int for comparison
706           o minor make.1 tweak
708 2012-08-30  Simon J. Gerraty  <sjg@bad.crufty.net>
710         * Makefile.in (MAKE_VERSION): bump version to 20120830
711           Merge with NetBSD make, pick up
712           o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
713           o debug flag -dV causes -V to show raw value regardless.
714         
715 2012-07-05  Simon J. Gerraty  <sjg@bad.crufty.net>
717         * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
718           gets SRCTOP set.
720 2012-07-04  Simon J. Gerraty  <sjg@bad.crufty.net>
722         * Makefile.in (MAKE_VERSION): bump version to 20120704
723           Merge with NetBSD make, pick up
724           o Job_ParseShell should call Shell_Init if it has been
725             previously called.
726         * Makefile.in: set USE_META based on configure result.
727           also .PARSEDIR is safer indicator of bmake.
729 2012-06-26  Simon J. Gerraty  <sjg@bad.crufty.net>
731         * Makefile.in: bump version to 20120626
732           ensure CPPFLAGS is in CFLAGS
733         * meta.c: avoid nested externs
734         * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
735         
736 2012-06-20  Simon J. Gerraty  <sjg@bad.crufty.net>
738         * Makefile.in (MAKE_VERSION): bump version to 20120620
739           Merge with NetBSD make, pick up
740           o make_malloc.c: avoid including make_malloc.h again
742         * Makefile.in: avoid bmake only syntax or protect with
743           .if defined(.MAKE.LEVEL)
744         * bsd.after-import.mk: replace .-include with .sinclude
745           ensure? SRCTOP gets a value
746         * configure.in: look for filemon.h in /usr/include/dev/filemon first.
748 2012-06-19  Simon J. Gerraty  <sjg@bad.crufty.net>
750         * Makefile.in (MAKE_VERSION): bump version to 20120612
751           Merge with NetBSD make, pick up
752           o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
753             for greater portability.
754           o unit-tests/forloop: check that .for works as expected wrt
755             number of times and with "quoted strings".
756         
757 2012-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
759         * Makefile.in (MAKE_VERSION): bump version to 20120606
760           Merge with NetBSD make, pick up
761           o compat.c: use kill(2) rather than raise(3).
762         * configure.in: look for sys/dev/filemon
763         * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
764           and pass BOOTSTRAP_XTRAS to boot-strap.
766 2012-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
768         * Makefile.in (MAKE_VERSION): bump version to 20120604
769           Merge with NetBSD make, pick up
770           o util.c and var.c share same var for tracking if environ
771             has been reallocated.
772           o util.c provide getenv with setenv.
773         * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
774           when the shell actively strips .MAKE.* from the environment.
775           We still refer to the variable always as .MAKE.LEVEL
776         * util.c fix bug in findenv() was finding prefix of name.
777         * compat.c: re-raising SIGINT etc after running .INTERRUPT
778           results in more reliable termination of all activity on many
779           platforms.
781 2012-06-02  Simon J. Gerraty  <sjg@bad.crufty.net>
783         * Makefile.in (MAKE_VERSION): bump version to 20120602
784           Merge with NetBSD make, pick up
785           o for.c: handle quoted items in .for list
787 2012-05-30  Simon J. Gerraty  <sjg@bad.crufty.net>
789         * Makefile.in (MAKE_VERSION): bump version to 20120530
790           Merge with NetBSD make, pick up
791           o compat.c: ignore empty command.
793 2012-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
795         * Makefile.in (MAKE_VERSION): bump version to 20120524
796         * FILES: add bsd.after-import.mk:
797           A simple means of integrating bmake into a BSD build system.
799 2012-05-20  Simon J. Gerraty  <sjg@bad.crufty.net>
801         * Makefile.in (MAKE_VERSION): bump version to 20120520
802           Merge with NetBSD make, pick up
803           o increased limit for nested conditionals.
804         
805 2012-05-18  Simon J. Gerraty  <sjg@bad.crufty.net>
807         * Makefile.in (MAKE_VERSION): bump version to 20120518
808           Merge with NetBSD make, pick up
809           o use _exit(2) in signal hanlder
810           o Don't use the [dir] cache when building nodes that might have
811             changed since the last exec.
812           o Avoid nested extern declaration warnings.
814 2012-04-27  Simon J. Gerraty  <sjg@bad.crufty.net>
816         * meta.c (fgetLine): avoid %z - not portable.
817         * parse.c: Since we moved include of sys/mman.h
818           and def's of MAP_COPY etc. we got dups from a merge.
820 2012-04-24  Simon J. Gerraty  <sjg@bad.crufty.net>
822         * Makefile.in (MAKE_VERSION): bump version to 20120420
823           Merge with NetBSD make, pick up
824           o restore duplicate supression in .MAKE.MAKEFILES
825             runtime saving can be significant.
826           o Var_Subst() uses Buf_DestroyCompact() to reduce memory
827             consumption up to 20%. 
829 2012-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
831         * Makefile.in (MAKE_VERSION): bump version to 20120420
832           Merge with NetBSD make, pick up
833           o remove duplicate supression in .MAKE.MAKEFILES
834           o improved dir cache behavior
835           o gmake'ish export command
836         
837 2012-03-25  Simon J. Gerraty  <sjg@bad.crufty.net>
839         * Makefile.in (MAKE_VERSION): bump version to 20120325
840           Merge with NetBSD make, pick up
841           o fix parsing of :[#] in conditionals.
843 2012-02-10  Simon J. Gerraty  <sjg@bad.crufty.net>
845         * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
846           since some systems cannot cope with .Nx <version>
848 2011-11-14  Simon J. Gerraty  <sjg@bad.crufty.net>
850         * Makefile.in (MAKE_VERSION): bump version to 20111111
851           Merge with NetBSD make, pick up
852           o debug output for .PARSEDIR and .PARSEFILE
854 2011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
856         * Makefile.in (MAKE_VERSION):  bump version to 20111010
858 2011-10-09  Simon J. Gerraty  <sjg@bad.crufty.net>
860         * boot-strap: check for an expected file in the dirs we look for.
861         * make-bootstrap.sh: pass on LDSTATIC
863 2011-10-01  Simon J. Gerraty  <sjg@bad.crufty.net>
865         * Makefile.in (MAKE_VERSION): bump version to 20111001
866           Merge with NetBSD make, pick up
867           o ensure .PREFIX is set for .PHONY
868             and .TARGET set for .PHONY run via .END
869           o __dead used consistently
870         
871 2011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
873         * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
875 2011-09-05  Simon J. Gerraty  <sjg@bad.crufty.net>
877         * Makefile.in (MAKE_VERSION): bump version to 20110905
878           Merge with NetBSD make, pick up
879           o meta_oodate: ignore makeDependfile
880         
881 2011-08-28  Simon J. Gerraty  <sjg@bad.crufty.net>
883         * Makefile.in (MAKE_VERSION): bump version to 20110828
884           Merge with NetBSD make, pick up
885           o silent=yes in .MAKE.MODE causes meta mode to mark targets 
886             as SILENT if a .meta file is created
888 2011-08-18  Simon J. Gerraty  <sjg@bad.crufty.net>
890         * Makefile.in (MAKE_VERSION): bump version to 20110818
891           Merge with NetBSD make, pick up
892           o in meta mode, if target flagged .META a missing .meta file
893             means target is out-of-date
894           o fixes for gcc 4.5 warnings
895           o simplify job printing code
896         
897 2011-08-09  Simon J. Gerraty  <sjg@bad.crufty.net>
899         * Makefile.in (MAKE_VERSION): bump version to 20110808
900           Merge with NetBSD make, pick up
901           o do not touch OP_SPECIAL targets when doing make -t
902         
903 2011-06-22  Simon J. Gerraty  <sjg@bad.crufty.net>
905         * Makefile.in (MAKE_VERSION): bump version to 20110622
906           Merge with NetBSD make, pick up
907           o meta_oodate detect corrupted .meta file and declare oodate.
908         * configure.in: add check for setsid
909         
910 2011-06-07  Simon J. Gerraty  <sjg@bad.crufty.net>
912         * Merge with NetBSD make, pick up
913           o unit-tests/modts now works on MirBSD
915 2011-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
917         * Makefile.in (MAKE_VERSION): bump version to 20110606
918           Merge with NetBSD make, pick up
919           o ApplyModifiers: when we parse a variable which is not
920             the entire modifier string, or not followed by ':', do not
921             consider it as containing modifiers.
922           o loadfile: ensure newline at end of mapped file.
924 2011-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
926         * Makefile.in (MAKE_VERSION): bump version to 20110505
927           Merge with NetBSD make, pick up
928           o .MAKE.META.BAILIWICK - list of prefixes which define the scope
929             of make's control.  In meta mode, any generated file within
930             said bailiwick, which  is found to be missing, causes current
931             target to be out-of-date. 
932         
933 2011-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
935         * Makefile.in (MAKE_VERSION): bump version to 20110411
936           Merge with NetBSD make, pick up
937           o when long modifiers fail to match, check sysV style.
938             - add a test case
939         
940 2011-04-10  Simon J. Gerraty  <sjg@bad.crufty.net>
942         * Makefile.in (MAKE_VERSION): bump version to 20110410
943           Merge with NetBSD make, pick up
944           o :hash - cheap 32bit hash of value
945           o :localtime, :gmtime - use value as format string for strftime.
946         
947 2011-03-30  Simon J. Gerraty  <sjg@bad.crufty.net>
949         * Makefile.in (MAKE_VERSION): bump version to 20110330
950           mostly because its a cooler version.
951           Merge with NetBSD make, pick up
952           o NetBSD tags for meta.[ch]
953           o job.c call meta_job_finish() after meta_job_error().
954           o meta_job_error() should call meta_job_finish() to ensure
955             .meta file is closed, and safe to copy - if .ERROR target wants.
956            meta_job_finish() is safe to call repeatedly.
957         
958 2011-03-29  Simon J. Gerraty  <sjg@bad.crufty.net>
960         * unit-tests/modts: use printf if it is a builtin, 
961           to save us from MirBSD
963         * Makefile.in (MAKE_VERSION): bump version to 20110329
964           Merge with NetBSD make, pick up
965           o fix for use after free() in CondDoExists().
966           o meta_oodate() report extra commands and return earlier.
967         
968 2011-03-27  Simon J. Gerraty  <sjg@bad.crufty.net>
970         * Makefile.in (MAKE_VERSION): bump version to 20110327
971           Merge with NetBSD make, pick up
972           o meta.c, if .MAKE.MODE contains curdirOk=yes
973             allow creating .meta files in .CURDIR
974         * boot-strap (TOOL_DIFF): aparently at least on linux distro
975           formats the output of 'type' differently - so eat any "()"
977 2011-03-06  Simon J. Gerraty  <sjg@bad.crufty.net>
979         * Makefile.in (MAKE_VERSION): bump version to 20110306
980           Merge with NetBSD make, pick up
981           o meta.c, only do getcwd() once
982         
983 2011-03-05  Simon J. Gerraty  <sjg@bad.crufty.net>
985         * Makefile.in (MAKE_VERSION): bump version to 20110305
986           Merge with NetBSD make, pick up
987           o correct sysV substitution handling of empty lhs and variable
988           o correct exists() check for dir with trailing /
989           o correct handling of modifiers for non-existant variables
990             during evaluation of conditionals.
991           o ensure MAP_FILE is defined.
992           o meta.c use curdir[] now exported by main.c
993         
994 2011-02-25  Simon J. Gerraty  <sjg@bad.crufty.net>
996         * Makefile.in (MAKE_VERSION): bump version to 20110225
997           Merge with NetBSD make, pick up
998           o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
999             makefiles have been read.
1000           o fix example of :? modifier in man page.
1001         
1002 2011-02-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1004         * Makefile.in (MAKE_VERSION): bump version to 20110214
1005           Merge with NetBSD make, pick up
1006           o meta.c handle realpath() failing when generating meta file
1007             name.
1009         * sigcompat.c: convert to ansi so we can use higher warning levels.
1012 2011-02-07  Simon J. Gerraty  <sjg@bad.crufty.net>
1014         * Makefile.in (MAKE_VERSION): bump version to 20110207
1015           Merge with NetBSD make, pick up
1016           o fix for bug in meta mode.
1017         
1018 2011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1020         * parse.c: SunOS 5.8 at least does not have MAP_FILE
1022 2011-01-01  Simon J. Gerraty  <sjg@bad.crufty.net>
1024         * Makefile.in (MAKE_VERSION): bump version to 20110101
1025           Merge with NetBSD make, pick up
1026           o use mmap(2) if available, for reading makefiles
1028 2010-12-15  Simon J. Gerraty  <sjg@bad.crufty.net>
1030         * Makefile.in (MAKE_VERSION): bump version to 20101215
1031           Merge with NetBSD make, pick up
1032           o ensure meta_job_error() does not report a previous .meta file
1033             as being culprit.
1035 2010-12-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1037         * Makefile.in (MAKE_VERSION): bump version to 20101210
1038           Merge with NetBSD make, pick up
1039           o meta_oodate: track cwd per process, and only consider target
1040             out-of-date if missing file is outside make's CWD.
1041             Ignore files in /tmp/ etc.
1042           o to ensure unit-tests results match, need to control LC_ALL
1043             as well as LANG.
1044           o fix for parsing bug in var.c
1046 2010-11-26  Simon J. Gerraty  <sjg@bad.crufty.net>
1048         * Makefile.in (MAKE_VERSION): bump version to 20101126
1049           Merge with NetBSD make, pick up
1050           o if stale dependency is an IMPSRC, search via .PATH
1051           o meta_oodate: if a referenced file is missing, target is
1052             out-of-date.
1053           o meta_oodate: if a target uses .OODATE in its commands,
1054             it (.OODATE) needs to be recomputed.
1055           o keep a pointer to youngest child node, rather than just its
1056             mtime.
1057         
1058 2010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1060         * Makefile.in (MAKE_VERSION): bump version to 20101101
1062 2010-10-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1064         * machine.sh: like os.sh, 
1065         allow for uname -p producing useless drivel
1067 2010-09-13  Simon J. Gerraty  <sjg@bad.crufty.net>
1069         * boot-strap: document configure knobs for meta and filemon.
1071         * Makefile.in (MAKE_VERSION): bump version to 20100911
1072           Merge with NetBSD make, pick up
1073           o meta.c - meta mode
1075         * make-bootstrap.sh.in: handle meta.c
1076         * configure.in: add knobs for use_meta and filemon_h
1077           also, look for dirname, str[e]sep and strlcpy
1078         * util.c: add simple err[x] and warn[x]
1080 2010-08-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1082         * boot-strap (TOOL_DIFF): set this to ensure tests use
1083           the same version of diff that configure tested
1085         * Makefile.in (MAKE_VERSION): bump version to 20100808
1086           Merge with NetBSD make, pick up
1087           o in jobs mode, when we discover we cannot make something,
1088             call PrintOnError before exit.
1089         
1090 2010-08-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1092         * Makefile.in (MAKE_VERSION): bump version to 20100806
1093           Merge with NetBSD make, pick up
1094           o formatting fixes for ignored errors
1095           o ensure jobs are cleaned up regardless of where wait() was called.
1097 2010-06-28  Simon J. Gerraty  <sjg@bad.crufty.net>
1099         * Makefile.in (MAKE_VERSION): bump version to 20100618
1100         * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1102 2010-06-16  Simon J. Gerraty  <sjg@bad.crufty.net>
1104         * Makefile.in (MAKE_VERSION): bump version to 20100616
1105           Merge with NetBSD make, pick up
1106           o man page update
1107           o call PrintOnError from JobFinish when we detect an error we
1108             are not ignoring. 
1109         
1110 2010-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1112         * Makefile.in (MAKE_VERSION): bump version to 20100606
1113           Merge with NetBSD make, pick up
1114           o man page update
1116 2010-06-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1118         * Makefile.in (MAKE_VERSION): bump version to 20100605
1119           Merge with NetBSD make, pick up
1120           o use bmake_signal() which is a wrapper around sigaction() 
1121             in place of signal()
1122           o add .export-env to allow exporting variables to environment
1123             without tracking (so no re-export when the internal value is
1124             changed).
1125         
1126 2010-05-24  Simon J. Gerraty  <sjg@bad.crufty.net>
1128         * Makefile.in (MAKE_VERSION): bump version to 20100524
1129           Merge with NetBSD make, pick up
1130           o fix for .info et al being greedy.
1132 2010-05-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1134         * Makefile.in (MAKE_VERSION): bump version to 20100520
1135           Merge with NetBSD make, pick up
1136           o back to using realpath on argv[0] 
1137             but only if contains '/' and does not start with '/'.
1139 2010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1141         * boot-strap: use absolute path for bmake when running tests.
1143         * Makefile.in (MAKE_VERSION):  bump version to 20100510
1144           Merge with NetBSD make, pick up
1145           o revert use of realpath on argv[0]
1146             too many corner cases.
1147           o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1149 2010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1151         * Makefile.in (MAKE_VERSION): bump version to 20100505
1152           Merge with NetBSD make, pick up
1153           o fix for missed SIGCHLD when compiled with SunPRO
1154             actually for bmake, defining FORCE_POSIX_SIGNALS would have
1155             done the job.
1157 2010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
1159         * Makefile.in (MAKE_VERSION): bump version to 20100430
1160           Merge with NetBSD make, pick up
1161           o fflush stdout before writing to stdout
1162         
1163 2010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
1165         * Makefile.in (MAKE_VERSION): bump version to 20100423
1166           Merge with NetBSD make, pick up
1167           o updated unit tests for Haiku (this time for sure).
1168         * boot-strap: based on patch from joerg 
1169           honor --with-default-sys-path better.
1170         * boot-strap: remove mention of --with-prefix-sys-path
1171         
1172 2010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
1174         * Makefile.in (MAKE_VERSION): bump version to 20100422
1175         * Merge with NetBSD make, pick up
1176           o fix for vfork() on Darwin.
1177           o fix for bogus $TMPDIR.
1178           o set .MAKE.MODE=compat for -B
1179           o set .MAKE.JOBS=max_jobs for -j max_jobs
1180           o allow unit-tests to run without any *.mk
1181           o unit-tests/modmisc be more conservative in dirs presumed to exist.
1182         * boot-strap: ignore /usr/share/mk except on NetBSD.
1183         * unit-tests/Makefile.in: set LANG=C when running unit-tests to
1184           ensure sort(1) behaves as expected. 
1185         
1186 2010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1188         * boot-strap: add FindHereOrAbove so we can use -m .../mk
1190 2010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
1192         * Makefile.in (MAKE_VERSION): bump version to 20100420
1193         * Merge with NetBSD make, pick up
1194           o fix for variable realpath() behavior.
1195             we have to stat(2) the result to be sure.
1196           o fix for .export (all) when nested vars use :sh
1197         
1198 2010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
1200         * Makefile.in (MAKE_VERSION): bump version to 20100414
1201         * Merge with NetBSD make, pick up
1202           o use realpath to resolve argv[0] (for .MAKE) if needed.
1203           o add realpath from libc.
1204           o add :tA to resolve variable via realpath(3) if possible.
1206 2010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
1208         * Makefile.in (MAKE_VERSION): bump version to 20100408
1209         * Merge with NetBSD make, pick up
1210           o unit tests for .ERROR, .error
1211           o fix for .ERROR to ensure it cannot be default target.
1213 2010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
1215         * Makefile.in (MAKE_VERSION): bump version to 20100406
1216         * Merge with NetBSD make, pick up
1217           o fix for compat mode "Error code" going to debug_file.
1218           o fix for .ALLSRC being populated twice.
1219           o support for .info, .warning and .error directives
1220           o .MAKE.MODE to control make's operational mode
1221           o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1222             name(s).
1223           o .MAKE.DEPENDFILE to control the name of the depend file
1224           o .ERROR target - run on failure.
1225         
1226 2010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
1228         * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1230         * os.sh,arch.c: patch for Haiku from joerg at netbsd
1232 2010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
1234         * Makefile.in (MAKE_VERSION): bump version to 20100222
1235         * Merge with NetBSD make, pick up
1236           o better error msg for .for with mutiple inter vars
1237         
1238         * boot-strap: 
1239           o use make-bootstrap.sh from joerg at netbsd
1240             to avoid the need for a native make when bootstrapping.
1241           o add "" everywhere ;-)
1242           o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1243             otherwise the pre-formated version.
1245 2010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
1247         * Makefile.in (MAKE_VERSION): bump version to 20100102
1248         * Merge with NetBSD make, pick up:
1249           o fix for -m .../
1251 2009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
1253         * Makefile.in (MAKE_VERSION): bump version to 20091118
1254         * Merge with NetBSD make, pick up:
1255           o .unexport
1256           o report lines that start with '.' and should have ':'
1257             (catch typo's of .el*if).
1258         
1259 2009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1261         * configure.in: Ensure that srcdir and mksrc are absolute paths.
1263 2009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1265         * Makefile.in (MAKE_VERSION): fix version to 20091007
1267 2009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
1269         * Makefile.in (MAKE_VERSION): bump version to 200910007
1270         * Merge with NetBSD make, pick up:
1271           o fix for parsing of :S;...;...; applied to .for loop iterator
1272             appearing in a dependency line. 
1273         
1274 2009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1276         * Makefile.in (MAKE_VERSION): bump version to 20090909
1277         * Merge with NetBSD make, pick up:
1278           o fix for -C, .CURDIR and .OBJDIR
1279         * boot-strap: 
1280           o allow share_dir to be set independent of prefix.
1281           o select default share_dir better when prefix ends in $HOST_TARGET
1282           o if FORCE_BSD_MK etc were set, include them in the suggested
1283             install-mk command.
1285 2009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
1287         * Makefile.in (MAKE_VERSION): bump version to 20090908
1288         * Merge with NetBSD make, pick up:
1289           o .MAKE.LEVEL for recursion tracking
1290           o fix for :M scanning \:
1292 2009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1294         * configure.in: Don't -D__EXTENSIONS__ if
1295         AC_USE_SYSTEM_EXTENSIONS says "no".
1297 2009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
1299         * Makefile.in (MAKE_VERSION): bump version to 20090826
1300         Simplify MAKE_VERSION to just the bare date.
1301         * Merge with NetBSD make, pick up:
1302           o -C directory support.
1303           o support for SIGINFO
1304           o use $TMPDIR for temp files.
1305           o child of vfork should be careful about modifying parent's state.
1306         
1308 2009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
1310         * Appy some patches for MiNT from David Brownlee
1312 2009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
1314         * Makefile.in (BMAKE_VERSION): bump version to 20090222
1315         * Merge with NetBSD make, pick up:
1316           o Possible null pointer de-ref in Var_Set.
1318 2009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
1320         * Makefile.in (BMAKE_VERSION): bump version to 20090204
1321         * Merge with NetBSD make, pick up:
1322           o bmake_malloc et al moved to their own .c
1323           o Count both () and {} when looking for the end of a :M pattern
1324           o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1325           o strlist.c - functions for processing extendable arrays of pointers to strings.
1326           o ClientData replaced with void *, so const void * can be used.
1327           o New debug flag C for DEBUG_CWD
1329 2008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
1331         * Makefile.in (BMAKE_VERSION): bump version to 20081111
1332           Apply patch from Joerg Sonnenberge to
1333           configure.in:
1334           o remove some redundant checks
1335           o check for emlloc etc only in libutil and require the whole family.
1336           util.c:
1337           o remove [v]asprintf which is no longer used.
1338         
1339 2008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1341         * Makefile.in (BMAKE_VERSION): bump version to 20081101
1342         * Merge with NetBSD make, pick up:
1343           o util.c: avoid use of putenv() - christos
1345 2008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1347         * Makefile.in (BMAKE_VERSION): bump version to 20081030
1348           pick up man page tweaks.
1350 2008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
1352         * Makefile.in: move processing of LIBOBJS to after is definition!
1353           thus we'll have getenv.c in SRCS only if needed.
1355         * make.1: add examples of how to use :?
1357         * Makefile.in (BMAKE_VERSION): bump version to 20081029
1358         * Merge with NetBSD make, pick up:
1359           o fix for .END processing with -j
1360           o segfault from Parse_Error when no makefile is open
1361           o handle numeric expressions in any variable expansion
1362           o debug output now defaults to stderr, -dF to change it - apb
1363           o make now uses bmake_malloc etc so that it can build natively 
1364             on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1366 2008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
1368         * Makefile.in (BMAKE_VERSION): bump version to 20080808
1369         * Merge with NetBSD make, pick up:
1370           o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1371             long lines in Makefiles 
1372           o optimizations for VarQuote by joerg
1373           o fix for PR/38756: dominik: make dumps core on invalid makefile
1374         
1375 2008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
1377         * Makefile.in (BMAKE_VERSION): bump version to 20080515
1378         * Merge with NetBSD make, pick up:
1379           o fix skip setting vars in VAR_GLOBAL context, to handle
1380             cases where VAR_CMD is used for other than command line vars.
1382 2008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
1384         * boot-strap (make_version): we may need to look in
1385         $prefix/share/mk for sys.mk 
1387         * Makefile.in (BMAKE_VERSION): bump version to 20080514
1388         * Merge with NetBSD make, pick up:
1389           o skip setting vars in VAR_GLOBAL context, when already set in
1390           VAR_CMD which takes precedence.
1392 2008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
1394         * Makefile.in (BMAKE_VERSION):  bump version to 20080330
1395         * Merge with NetBSD make, pick up:
1396           o fix for ?= when LHS contains variable reference.
1398 2008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1400         * merge some patches from NetBSD pkgsrc.
1401         
1402         * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1403         the MAKSYSPATH used during bootstrap. 
1405         * Makefile.in (BMAKE_VERSION): bump version to 20080215
1406         * Merge with NetBSD make, pick up:
1407           o warn if non-space chars follow 'empty' in a conditional.
1409 2008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1411         * Makefile.in (BMAKE_VERSION): bump version to 20080118
1412         * Merge with NetBSD make, pick up:
1413           o consider dependencies read from .depend as optional - dsl
1414           o remember when buffer for reading makefile grows - dsl
1415           o add -dl (aka LOUD) - David O'Brien
1417 2007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
1419         * Makefile.in (BMAKE_VERSION): bump version to 20071022
1420         * Merge with NetBSD make, pick up:
1421           o Allow .PATH<suffix> to be used for .include ""
1423         * boot-strap: source default settings from .bmake-boot-strap.rc
1425 2007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
1427         * Makefile.in: fix maninstall on various systems 
1428           provided that our man.mk is used.
1429           For non-BSD systems we install the preformatted page
1430           into $MANDIR/cat1
1432 2007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
1434         * boot-strap: make bmake.1 too, so maninstall works.
1436 2007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
1438         * Makefile.in (BMAKE_VERSION): bump version to 20071014
1439         * Merge with NetBSD make, pick up:
1440           o revamped handling of defshell - configure no longer needs to
1441             know the content of the shells array - apb
1442           o stop Var_Subst modifying its input - apb
1443           o avoid calling ParseTrackInput too often - dsl
1445 2007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
1447         * Makefile.in (BMAKE_VERSION): bump version to 20071011
1448         * Merge with NetBSD make, pick up:
1449           o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1451         * sigcompat.c: some tweaks for HP-UX 11.x based on 
1452           patch from Tobias Nygren
1454         * configure.in: update handling of --with-defshell to match
1455           new make behavior.  --with-defshell=/usr/xpg4/bin/sh
1456           will now do what one might hope - provided the chosen shell
1457           behaves enough like sh.
1459 2007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
1461         * Makefile.in (BMAKE_VERSION): bump to 20071008
1462         * Merge with NetBSD make, pick up:
1463           o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1464           o .export/.MAKE.EXPORTED - export of variables - sjg
1465           o .MAKE.MAKEFILES - track all makefiles read - sjg
1466           o performance improvements - dsl
1467           o revamp parallel job scheduling - dsl
1468         
1469 2006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1471         * Makefile.in (BMAKE_VERSION): bump to 20060728
1472         * Merge with NetBSD make, pick up:
1473           o extra debug info during variable and cond processing - sjg
1474           o shell definition now covers newline - rillig
1475           o minor mem leak in PrintOnError - sjg
1477 2006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1479         * Makefile.in (BMAKE_VERSION):  bump to 20060511
1480         * Merge with NetBSD make, pick up:
1481           o more memory leaks - coverity
1482           o possible overflow in ArchFindMember - coverity
1483           o extract variable modifier code out of Var_Parse()
1484             so it can be called recursively - sjg
1485           o unit-tests/moderrs - sjg
1487 2006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
1489         * Makefile.in (BMAKE_VERSION): bump to 20060412
1490         * Merge with NetBSD make, pick up:
1491           o fixes for some memory leaks - coverity
1492           o only read first sys.mk etc when searching sysIncPath - sjg
1494         * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1495         setting ${MAKEFILE} - OBATA Akio
1497 2006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
1499         * Makefile.in (BMAKE_VERSION): bump to 20060318
1500         * Merge with NetBSD make, pick up:
1501           o cleanup of job.c to remove remote handling, distcc is more
1502             useful and this code was likely bit-rotting - dsl
1503           o fix for :P modifier - sjg
1504         * boot-strap: set default prefix to something reasonable 
1505           (for me anyway). 
1507 2006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
1509         * Makefile.in (BMAKE_VERSION): bump to 20060301
1510         * Merge with NetBSD make, pick up:
1511           o make .WAIT apply recursively, document and test case - apb
1512           o allow variable modifiers in a variable appear anywhere in
1513             modifier list, document and test case - sjg
1515 2006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
1517         * Makefile.in (BMAKE_VERSION): bump to 20060222
1518         * Merge with NetBSD make, pick up:
1519           o improved job token handling - dsl
1520           o SIG_DFL the correct signal before exec - dsl
1521           o more debug info during parsing - dsl
1522           o allow variable modifiers to be specified via variable - sjg
1523         * boot-strap: explain why we died if no mksrc
1525 2005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
1527         * Makefile.in (BMAKE_VERSION): bump to 20051105
1528         * configure.in: always set default_sys_path 
1529           default is ${prefix}/share/mk
1530           - remove prefix_sys_path, anyone wanting more than above
1531             needs to set it manually.
1533 2005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
1535         * boot-strap: make this a bit easier for pkgsrc folk.
1536           bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1537           'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1539 2005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
1541         * Makefile.in (BMAKE_VERSION): bump to 20051102
1542         * job.c (JobFinish): fix likely ancient merge lossage
1543         fix from Todd Vierling.
1544         * boot-strap (srcdir): allow setting mksrc=none
1546 2005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
1548         * Makefile.in (BMAKE_VERSION): bump to 20051031
1549         * ranlib.h: skip on OSF too.
1550           (NetBSD PR 31864)
1552 2005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
1554         * Makefile.in (BMAKE_VERSION): bump to 20051002
1555           fix a silly typo
1557 2005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1559         * Makefile.in (BMAKE_VERSION): bump to 20051001
1560           support for UnixWare and some other systems,
1561           based on patches from pkgsrc/bootstrap
1563 2005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
1565         * Makefile.in (BMAKE_VERSION): bump to 20050901
1566         * Merge with NetBSD make, pick up:
1567           o possible parse error causing us to wander off.
1569 2005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
1571         * Makefile.in (BMAKE_VERSION): bump to 20050606
1572         * Merge with NetBSD make, pick up:
1573           o :0x modifier for randomizing a list
1574           o fixes for a number of -Wuninitialized issues.
1576 2005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
1578         * Makefile.in (BMAKE_VERSION): bump to 20050530
1579         * Merge with NetBSD make, pick up:
1580           o Handle dependencies for .BEGIN, .END and .INTERRUPT
1582         * README: was seriously out of date.
1583         
1584 2005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
1586         * Important to use .MAKE rather than MAKE.
1588 2005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
1590         * Makefile.in (BMAKE_VERSION): bump to 20050315
1591         * Merge with NetBSD make, pick up:
1592           o don't mistake .elsefoo for .else
1593           o use suffix-specific search path correctly
1594           o bunch of style nits
1596 2004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
1598         * boot-strap: 
1599         o ensure that args to --src and --with-mksrc
1600           are resolved before giving them to configure.
1601         o add -o "objdir" so that builder can control it,
1602           default is $OS as determined by os.sh
1603         o add -q to suppress all the install instructions.
1605 2004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
1607         * Remove __IDSTRING()
1609         * Makefile.in (BMAKE_VERSION): bump to 20040508
1610         * Merge with NetBSD make, pick up:
1611           o posix fixes
1612             - remove '-e' from compat mode
1613             - add support for '+' command-line prefix.
1614           o fix for handling '--' on command-line.
1615           o fix include in lst.lib/lstInt.h to simplify '-I's
1616           o we also picked up replacement of MAKE_BOOTSTRAP 
1617             with !MAKE_NATIVE which is a noop, but possibly confusing.
1619 2004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
1621         * Makefile.in (BMAKE_VERSION): bump to 20040414
1622         * Merge with NetBSD make, pick up:
1623           o allow quoted strings on lhs of conditionals
1624           o issue warning when extra .else is seen
1625           o print line numer when errors encountered during parsing from
1626           string.
1628 2004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
1630         * Makefile.in (BMAKE_VERSION):  bump to 20040220
1631         * Merge with NetBSD make, pick up:
1632           o fix for old :M parsing bug.
1633           o re-jigged unit-tests
1635 2004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
1637         * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1638         so that './bmake -f Makefile test' works.
1639         
1640 2004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
1642         * Makefile.in: (BMAKE_VERSION): bump to 20040214
1643         * Merge with NetBSD make, pick up:
1644           o search upwards for *.mk
1645           o fix for double free of var substitution buffers
1646           o use of getopt replaced with custom code, since the usage
1647           (re-scanning) isn't posix compatible.
1649 2004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
1651         * arch.c: don't include ranlib.h on ELF systems
1652         (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1654 2004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
1656         * Makefile.in (BMAKE_VERSION): bump to 20040118
1658         * boot-strap (while): export vars we assign to on cmdline
1659         * unit-test/Makefile.in: ternary is .PHONY
1661 2004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
1663         * Makefile.in (BMAKE_VERSION): bump version to 20040108
1664         * Merge with NetBSD make, pick up:
1665           o fix for ternary modifier
1667 2004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
1669         * Makefile.in (BMAKE_VERSION): bump version to 20040105
1670         * Merge with NetBSD make, pick up:
1671           o fix for cond.c to handle compound expressions better
1672           o variable expansion within sysV style replacements
1673           
1674 2003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
1676         * Make portable snprintf safer - output to /dev/null first to
1677         check space needed.
1679         * Makefile.in (BMAKE_VERSION): bump version to 20031222
1680         * Merge with NetBSD make, pick up:
1681           o -dg3 to show input graph when things go wrong.
1682           o explicitly look for makefiles in objdir if not found in curdir so
1683             that errors in .depend etc will be reported accurarely. 
1684           o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1685             instead as it more accurately reflects the expected behavior and
1686             is more consistently implemented.
1687           o avoid use of asprintf.
1689 2003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
1691         * util.c: Add asprintf and vasprintf.
1693         * Makefile.in (BMAKE_VERSION): bump version to 20030928
1694         * Merge with NetBSD make, pick up:
1695         :[] modifier - allows picking words from a variable.
1696         :tW modifier - allows treating value as one big word.
1697         W flag for :C and :S - allows treating value as one big word.
1698         
1699 2003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
1701         * Merge with NetBSD make
1702         pick up -de flag to enable printing failed command.
1703         don't skip 1st two dir entries (normally . and ..) since
1704         coda does not have them.
1706 2003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
1708         * Makefile.in (BMAKE_VERSION): bump version to 20030909
1709         * Merge with NetBSD make, pick up:
1710         - changes for -V '${VAR}' to print fully expanded value
1711           cf. -V VAR
1712         - CompatRunCommand now prints the command that failed.
1713         - several files got updated 3 clause Berkeley license.
1714         
1715 2003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
1717         * boot-strap: Allow setting configure args on command line.
1719 2003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
1721         * configure.in: add --with-defshell to allow sh or ksh
1722         to be selected as default shell.
1724         * Makefile.in: bump version to 20030731
1726         * Merge with NetBSD make 
1727         Pick up .SHELL spec for ksh and associate man page changes.
1728         Also compat mode now uses the same shell specs.
1730 2003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
1732         * var.c (Var_Parse): ensure delim is initialized.
1734         * unit-tests/Makefile.in: use single quotes to avoid problems from
1735         some shells.
1737         * makefile.boot.in:
1738         Run the unit-tests as part of the bootstrap procedure.
1740 2003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
1742         * unit-tests/Makefile.in: always force complaints from
1743         ${TEST_MAKE} to be from 'make'.
1745         * configure.in: add check for 'diff -u'
1746         also fix some old autoconf'isms
1747         
1748         * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1749         if using GCC add -Wno-cast-qual to CFLAGS for var.o
1751         * Merge with NetBSD make
1752         Pick up fix for :ts parsing error in some cases.
1753         Pick unit-tests.
1755 2003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
1757         * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1759         * var.c (Var_Parse): fix bug in :ts modifier, after const
1760         correctness fixes, must pass nstr to VarModify.
1762 2003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
1764         * Makefile.in: BMAKE_VERSION switch to a date based version.
1765         We'll generally use the date of last import from NetBSD.
1767         * Merge with NetBSD make
1768         Pick up fixes for const-correctness, now passes WARNS=3 on
1769         NetBSD.
1770         Pick up :ts modifier, allows controlling the separator used
1771         between words in variable expansion.
1773 2003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
1775         * FILES: include boot-strap and os.sh
1777         * Makefile.in: only set WARNS if we are NetBSD, the effect on
1778         FreeBSD is known to be bad.
1780         * makefile.boot.in (bootstrap): make this the default target.
1782         * Makefile.in: bump version to 3.1.19
1784         * machine.sh: avoid A-Z with tr as it is bound to lose.
1786 2003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
1788         * Merge with NetBSD make
1789         Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1790         Plus some doc fixes.
1791         
1792 2003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
1794         * Merge with NetBSD make
1795         Pick up fix for PR/1523 - don't count a library as built, if there
1796         is no way to build it 
1798         * Bump version to 3.1.18
1800 2003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
1802         * Merge with NetBSD make
1803         Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1804         appears in src list.
1806 2003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
1808         * Merge with NetBSD make (mmm 10th anniversary!)
1809         pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1810         pick up -X which tells us to not export VAR=val via setenv if
1811         we are already doing so via MAKEFLAGS.  This saves valuable env
1812         space on systems like Darwin.
1813         set MAKE_VERSION to 3.1.17
1815         * parse.c: pix up fix for suffix rules
1817 2003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
1819         * Merge with NetBSD make.
1820         pick up fix for propagating -B via MAKEFLAGS.
1821         set MAKE_VERSION to 3.1.16
1823         * Apply some patches from pkgsrc-bootstrap/bmake
1824         Originally by Grant Beattie <grant@netbsd.org>
1825         I may have missed some - since they are based on bmake-3.1.12
1826         
1827 2002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
1829         * makefile.boot.in (bmake): update install targets for those that
1830         use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1831         havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
1833         * bmake.cat1: update the pre-formatted man page!
1835 2002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
1837         * Merge with NetBSD make.
1838         pick up fix for premature free of pointer used in call
1839         to Dir_InitCur().
1840         set MAKE_VERSION to 3.1.15
1842 2002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
1844         * configure.in: determine suitable value for MKSRC.
1845         override using --with-mksrc=PATH.
1847         * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1848         configs(8) will use 'sun4' as an alias for 'sparc'.
1850 2002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
1852         * Merge with NetBSD make.
1853         pick up ${.PATH}
1854         pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1855         set MAKE_VERSION to 3.1.14
1856         add configure checks for killpg and sys/socket.h
1858 2002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
1860         * tag bmake-3-1-13
1861         
1862         * makefile.boot.in (bmake): use install-mk
1863         Also setup ./mk before trying to invoke bmake.boot incase we
1864         needed install-mk to create a sys.mk for us. 
1866         * configure.in: If we need to add -I${srcdir}/missing, make it an
1867         absolute path so that it works for lst.lib too.
1869         * make.h: always include sys/cdefs.h since we provide one if the
1870         host does not.
1871         
1872         * Makefile.in (install-mk): 
1873         use MKSRC/install-mk which will do the right thing.
1874         use uname -p for ARCH if possible.
1875         since install-mk will setup links bsd.prog.mk -> prog.mk if
1876         needed, just .include bsd.prog.mk
1878         * Merge with NetBSD make (NetBSD-1.6)
1879         Code is ansi-C only now.
1880         Bug in handling of dotLast is fixed.
1881         Can now assign .OBJDIR and make will reset its notions of life.
1882         New modifiers :tu :tl for toUpper and toLower.
1884 Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1886         * Merge with NetBSD make
1887         pick up fix for .END failure in compat mode.
1888         pick up fix for extra va_end() in ParseVErrorInternal.
1890 Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
1892         * configure.in: for systems that have sys/cdefs.h check if it is
1893         compatible.  If not, include the one under missing, but tell it to
1894         include the native one too - necessary on Linux.
1896         * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1897         include_next (for gcc) to get the native sys/cdefs.h
1899 Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1901         * job.c (JobFinish): Fix an earlier merge bug that resulted in
1902         leaking descriptors when using -jN.
1903         
1904         * job.c (JobPrintCommand): See if "curdir" exists before
1905         attempting to chdir().  Doing the chdir directly in make (when in
1906         compat mode) fails silently, so let the -jN version do the same.
1907         This can happen when building kernels in an object tree and
1908         playing clever games to reset .CURDIR.
1910         * Merged with NetBSD make
1911         pick up .USEBEFORE
1913 Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1915         * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1917 Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1919         * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1920         us not to export the iterator variable when using VAR_CMD context.
1922 Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1924         * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1925         its the wrong "fix".
1927 Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1929         * Redesigned export of VAR_CMD's via MAKEFLAGS.
1930         We now simply append the variable names to .MAKEOVERRIDES, and
1931         handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1932         ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1933         Apart from fixing quoting bugs in previous version, this allows us
1934         to export vars to the environment by simply doing:
1935         .MAKEOVERRIDES+= PATH 
1936         Merged again with NetBSD make, but the above is the only change.
1938         * configure.in: added
1939         --disable-pwd-override          disable $PWD overriding getcwd()
1940         --disable-check-make-chdir      disable make trying to guess 
1941                 when it should automatically cd ${.CURDIR}
1943         * Merge with NetBSD make, changes include:
1944         parse.c (ParseDoDependency): Spot that the syntax error is
1945         caused by an unresolved cvs/rcs conflict and say so.
1946         var.c: most of Var* functions now take a ctxt as 1st arg.
1947         now does variable substituion on rhs of sysv style modifiers.
1948         
1949         * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1950         is now done here.  We append the name='value' to .MAKEOVERRIDES
1951         rather than directly into MAKEFLAGS as this allows a Makefile to
1952         use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
1953         very similar mechanism.  Note that in adding name='value' to
1954         .MAKEOVERRIDES we do the moral equivalent of:
1955         .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1957 Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1959         * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1961         * Merged with NetBSD make
1962         make -dx can now be used to run commands via sh -x
1963         better error messages on exec failures.
1965 Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1967         * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1968         MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
1969         MACHINE etc otherwise they propagate from the previous bmake.
1971         * configure.in (machine): allow --with-machine=generic to make
1972         configure use machine.sh to set MACHINE. 
1974         * job.c (JobInterrupt): convert to using WAIT_T and friends.
1976         * Makefile.in: mention in bmake.1 that we use autoconf.
1978         * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1980 Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1982         * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1983         as that rather defeats the usefulness of ${MAKEFILE}.
1985         * main.c (MainParseArgs): append command line variable assignments
1986         to MAKEFLAGS so that they get propagated to child make's.
1987         Apparently this is required POSIX behaviour?  Its useful anyway.
1989 Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
1991         * compat.c (CompatRunCommand): don't use perror() since stdio may
1992         cause problems in child of vfork().
1994         * compat.c, main.c: Call PrintOnError() when we are going to bail.
1995         This routine prints out the .curdir where we stopped and will also
1996         display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1998         * main.c: add ${.newline} to hold a "\n" - sometimes handy in
1999         :@ expansion.
2001         * var.c: VarLoopExpand: ignore addSpace if a \n is present.
2003         * Added RCSid's for the files we've touched.
2004         
2005 Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2007         * configure.in: Thanks to some clues from mdb@juniper.net,
2008         added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2009         as well as what ends up in _PATH_DEFSYSPATH.  We now have:
2011   --with-machine=MACHINE  explicitly set MACHINE
2012   --with-force-machine=MACHINE  set FORCE_MACHINE
2013   --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
2014   --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
2015   --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
2016   --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
2017         
2018         If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2020         * makefile: added a pathetically simple makefile to drive
2021         bootstrapping.  Running configure by hand is more useful.
2023         * Makefile.in: added MAKE_VERSION, and reworked things to be less
2024         dependent on NetBSD bsd.*.mk
2025         
2026         * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2027         _PATH_OBJDIRPREFIX for those that don't want a default.
2028         construct _PATH_DEFSYSPATH from the info we get from configure.
2030         * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2031         if MAKE_VERSION is defined.
2032         
2033         * compat.c: when we bail, print out the .CURDIR we were in.
2034         
2035 Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2037         * Merged with NetBSD make
2039         * var.c: fixed a bug in the handling of the modifier :P
2040         if the node as found but the path was null, we segfault trying to
2041         duplicate it.
2043 Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
2045         * Merged with NetBSD make
2046         
2047         * make.c: Make_OODate's test for a library out of date was using
2048         cmtime where it should have used mtime (my bug).
2050         * compat.c: Use perror() to tell us what really went wrong when we
2051         cannot exec a command.
2052         
2053 Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2055         * Merged with NetBSD make
2056         
2057 Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2059         * Merged with NetBSD make
2060         
2061 Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2063         * Merged with NetBSD make
2064         
2065 Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2067         * Merged with NetBSD make
2068         
2069 Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2071         * util.c: don't provide signal() since we use sigcompat.c
2073         * Makefile.in: added a build target.
2075         * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2076         These allow some quite clever magic.
2078         * main.c (main): added support for getenv(MAKESYSPATH).
2080 Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2082         * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2083         This avoids objdir having a different value depending on how a
2084         directory was reached (via command line, or subdir.mk).
2086         * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2087         
2088 Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2090         * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2091         MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2092         I've been testing this in NetBSD's make for some weeks.
2094         * Turn Makefile into Makefile.in and make it useful.
2095         
2096 Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
2098         * Imported NetBSD's -current make(1) and resolve conflicts.
2099         
2100         * Applied autoconf patches from bmake v2
2102         * Imported clean code base from NetBSD-1.0