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