xref: /freebsd/contrib/bmake/ChangeLog (revision 96474d2a3fa895fb9636183403fc8ca7ccf60216)
12020-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
102020-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
172020-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
272020-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
452020-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
552020-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
642020-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
702020-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
812020-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
932020-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
1002020-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
1132020-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
1202020-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
1282020-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
1352020-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
1462020-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
1572020-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
1632020-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
1702020-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
1762020-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
1862020-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
1982020-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
2052020-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
2112020-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
2202020-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
2312020-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
2372020-07-11  Simon J Gerraty  <sjg@beast.crufty.net>
238
239	* bsd.after-import.mk: make sure we update unit-tests/Makefile
240
2412020-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
2502020-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
2582020-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
2812020-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
2892020-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
2972020-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
3032020-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
3092020-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
3152020-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
3252020-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
3362020-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
3442020-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
3512020-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
3582020-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
3652020-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
3702020-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
3762020-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
3832020-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
3922020-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
4022020-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
4092020-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
4152020-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
4222020-02-20  Simon J Gerraty  <sjg@beast.crufty.net>
423
424	* VERSION (_MAKE_VERSION): 20200220
425
4262020-02-19  Simon J Gerraty  <sjg@beast.crufty.net>
427
428	* boot-strap: unset MAKEFLAGS
429
4302020-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
4362020-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
4432020-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
4502020-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
4632019-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
4702019-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
4762018-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
4932018-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
5012018-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
5102018-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
5162018-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
5232018-09-21  Simon J Gerraty  <sjg@beast.crufty.net>
524
525	* Makefile.config.in: use += where it makes sense.
526
5272018-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
5332018-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
5402018-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
5462018-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
5522018-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
5582017-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
5662017-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
5742017-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
5812017-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
5902017-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
5972017-08-13  Simon J. Gerraty  <sjg@bad.crufty.net>
598
599	* machine.sh: entry for AIX
600
6012017-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
6072017-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
6142017-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
6212017-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
6342017-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
6402017-05-08  Simon J. Gerraty  <sjg@bad.crufty.net>
641
642	* Makefile (_MAKE_VERSION): 20170505
643	  see mk/ChangeLog
644
6452017-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
646
647	* parse.c: not everyone has stdint.h
648
6492017-05-01  Simon J. Gerraty  <sjg@bad.crufty.net>
650
651	* Makefile (_MAKE_VERSION): 20170501
652	  see mk/ChangeLog
653
6542017-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
6602017-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
6672017-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
6732017-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
6862017-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
6942017-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
7002017-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
7072017-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
7132017-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
7212017-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
7272017-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
7362017-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
7422016-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
7482016-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
7552016-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
7612016-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
7672016-09-26  Simon J. Gerraty  <sjg@bad.crufty.net>
768
769	* Makefile MAN: tweak .Dt to match ${PROG}
770
7712016-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
7762016-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
7842016-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
7922016-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
8002016-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
8062016-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
8152016-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
8232016-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
8292016-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
8372016-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
8442016-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
8522016-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
8582016-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
8632016-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
8692016-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
8762016-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
8822016-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
8912016-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
8992016-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
9072015-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
9132015-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
9232015-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
9302015-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
9452015-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
9512015-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
9572015-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
9652015-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
9722015-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
9822015-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
9882015-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
9962015-05-04  Simon J. Gerraty  <sjg@bad.crufty.net>
997
998	* machine.sh (MACHINE): Add Bitrig
999	  patch from joerg@netbsd.org
1000
10012015-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
10102015-04-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1011
1012	* Makefile (MAKE_VERSION): 20150411
1013	  bump version - only mk/ changes.
1014
10152015-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
10252015-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
10362015-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
10412014-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1042
1043	* Makefile (MAKE_VERSION): 20141111
1044	  just a cooler number
1045
10462014-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
10562014-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
10612014-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
10692014-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
10752014-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
10812014-04-05  Simon J. Gerraty  <sjg@bad.crufty.net>
1082
1083	* Fix spelling errors - patch from Pedro Giffuni
1084
10852014-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
10942014-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1095
1096	* boot-strap: ignore mksrc=none
1097
10982014-01-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1099
1100	* Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
1101
11022014-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
11122013-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
11172013-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
11282013-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
11352013-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
11412013-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
11492013-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
11562013-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
11682013-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
11822013-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
11892013-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
11952013-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
12012013-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
12092013-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
12212013-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
12332013-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
12402013-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
12482013-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
12532013-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
12592013-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
12692012-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
12852012-11-11  Simon J. Gerraty  <sjg@bad.crufty.net>
1286
1287	* Makefile.in (MAKE_VERSION): 20121111
1288	  fix generation of bmake.cat1
1289
12902012-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
12982012-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
13062012-10-25  Simon J. Gerraty  <sjg@bad.crufty.net>
1307
1308	* Makefile.in: we need to use ${srcdir} not ${.CURDIR}
1309
13102012-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
13172012-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
13212012-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
13282012-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
13342012-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
13412012-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
13482012-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
13532012-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
13622012-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
13692012-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
13812012-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
13902012-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
13992012-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
14142012-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
14202012-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
14262012-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
14322012-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
14382012-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
14472012-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
14532012-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
14622012-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
14702012-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
14762012-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
14812011-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
14872011-10-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1488
1489	* Makefile.in (MAKE_VERSION):  bump version to 20111010
1490
14912011-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
14962011-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
15042011-09-10  Simon J. Gerraty  <sjg@bad.crufty.net>
1505
1506	* Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
1507
15082011-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
15142011-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
15212011-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
15302011-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
15362011-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
15432011-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
15482011-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
15572011-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
15662011-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
15732011-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
15802011-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
15912011-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
16012011-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
16102011-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
16162011-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
16272011-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
16352011-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
16452011-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
16512011-01-03  Simon J. Gerraty  <sjg@bad.crufty.net>
1652
1653	* parse.c: SunOS 5.8 at least does not have MAP_FILE
1654
16552011-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
16612010-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
16682010-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
16792010-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
16912010-11-02  Simon J. Gerraty  <sjg@bad.crufty.net>
1692
1693	* Makefile.in (MAKE_VERSION): bump version to 20101101
1694
16952010-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
17002010-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
17132010-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
17232010-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
17302010-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
17352010-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
17432010-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
17492010-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
17592010-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
17652010-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
17722010-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
17822010-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
17902010-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
17962010-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
18052010-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
18192010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
1820
1821	* boot-strap: add FindHereOrAbove so we can use -m .../mk
1822
18232010-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
18312010-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
18392010-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
18462010-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
18592010-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
18652010-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
18782010-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
18842009-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
18922009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
1893
1894	* configure.in: Ensure that srcdir and mksrc are absolute paths.
1895
18962009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
1897
1898	* Makefile.in (MAKE_VERSION): fix version to 20091007
1899
19002009-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
19072009-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
19182009-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
19252009-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
19302009-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
19412009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
1942
1943	* Appy some patches for MiNT from David Brownlee
1944
19452009-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
19512009-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
19622008-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
19722008-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
19782008-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
19832008-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
19992008-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
20082008-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
20152008-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
20252008-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
20312008-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
20422008-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
20502007-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
20582007-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
20652007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
2066
2067	* boot-strap: make bmake.1 too, so maninstall works.
2068
20692007-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
20782007-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
20922007-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
21022006-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
21102006-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
21202006-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
21302006-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
21402006-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
21482006-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
21582005-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
21662005-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
21722005-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
21792005-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
21852005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
2186
2187	* Makefile.in (BMAKE_VERSION): bump to 20051002
2188	  fix a silly typo
2189
21902005-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
21962005-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
22022005-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
22092005-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
22172005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
2218
2219	* Important to use .MAKE rather than MAKE.
2220
22212005-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
22292004-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
22382004-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
22522004-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
22612004-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
22682004-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
22732004-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
22822004-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
22872004-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
22942004-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
23002004-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
23072003-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
23222003-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
23322003-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
23392003-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
23482003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
2349
2350	* boot-strap: Allow setting configure args on command line.
2351
23522003-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
23632003-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
23732003-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
23882003-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
23952003-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
24062003-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
24192003-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
24252003-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
24332003-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
24392003-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
24502003-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
24602002-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
24682002-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
24752002-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
24832002-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
24912002-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
2517Tue 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
2523Thu 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
2532Tue 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
2546Tue 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
2550Tue 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
2555Sun 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
2560Sat 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
2590Fri 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
2598Thu 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
2613Wed 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
2622Tue 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
2638Thu 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
2668Sat 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
2676Mon 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
2686Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2687
2688	* Merged with NetBSD make
2689
2690Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2691
2692	* Merged with NetBSD make
2693
2694Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2695
2696	* Merged with NetBSD make
2697
2698Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
2699
2700	* Merged with NetBSD make
2701
2702Thu 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
2713Mon 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
2721Mon 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
2729Tue 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
2736