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