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