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