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