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