1 2020-06-06 Simon J Gerraty <sjg@beast.crufty.net>
3 * VERSION (_MAKE_VERSION): 20200606
4 Merge with NetBSD make, pick up
7 * Makefile: fix depends for main.o which broke MAKE_VERSION
9 2020-06-05 Simon J Gerraty <sjg@beast.crufty.net>
11 * VERSION (_MAKE_VERSION): 20200605
12 Merge with NetBSD make, pick up
13 o dir.c: cached_stats - don't confuse stat and lstat results.
14 o var.c: add :Or for reverse sort.
16 2020-05-24 Simon J Gerraty <sjg@beast.crufty.net>
18 * configure.in: add AC_PROG_CC_C99 for mipspro compiler
19 also if --with-filemon= specifies path to filemon.h
21 * dirname.c: remove include of namespace.h
23 2020-05-17 Simon J Gerraty <sjg@beast.crufty.net>
25 * VERSION (_MAKE_VERSION): 20200517
26 Merge with NetBSD make, pick up
27 o modified dollar tests to avoid shell dependencies
28 o new tests for .INCLUDEFROM
30 2020-05-16 Simon J Gerraty <sjg@beast.crufty.net>
32 * unit-tests/dollar.mk: tweak '1 dollar literal' test
33 to not depend so much on shell behavior
35 2020-05-10 Simon J Gerraty <sjg@beast.crufty.net>
37 * VERSION (_MAKE_VERSION): 20200510
38 Merge with NetBSD make, pick up
39 o unit test for dollar handling
41 2020-05-06 Simon J Gerraty <sjg@beast.crufty.net>
43 * VERSION (_MAKE_VERSION): 20200506
44 Merge with NetBSD make, pick up
45 o str.c: empty string does not match % pattern
46 plus unit-test changes
48 2020-05-04 Simon J Gerraty <sjg@beast.crufty.net>
50 * VERSION (_MAKE_VERSION): 20200504
51 May the 4th be with you
52 Merge with NetBSD make, pick up
53 o var.c: import handling of old sysV style modifier using '%'
54 o str.c: refactor brk_string
55 o unit-tests: add test case for lazy conditions
57 2020-04-18 Simon J Gerraty <sjg@beast.crufty.net>
59 * VERSION (_MAKE_VERSION): 20200418
61 * configure.in: use_makefile=no for cygwin et al.
62 case insensitive filesystems just don't work if both
63 makefile and Makefile exist.
64 NOTE: bmake does not support cygwin and likely never will,
65 but if brave souls want to try it - help them out.
67 2020-04-02 Simon J Gerraty <sjg@beast.crufty.net>
69 * VERSION (_MAKE_VERSION): 20200402
70 Merge with NetBSD make, pick up
71 o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD
72 a blank command is perfectly valid.
74 2020-03-30 Simon J Gerraty <sjg@beast.crufty.net>
76 * VERSION (_MAKE_VERSION): 20200330
77 Merge with NetBSD make, pick up
78 o make.h: extern debug_file
80 2020-03-18 Simon J Gerraty <sjg@beast.crufty.net>
82 * VERSION (_MAKE_VERSION): 20200318
83 Merge with NetBSD make, pick up
84 o meta.c: meta_oodate, check for corrupted meta file
85 earlier and more often.
87 2020-02-20 Simon J Gerraty <sjg@beast.crufty.net>
89 * VERSION (_MAKE_VERSION): 20200220
91 2020-02-19 Simon J Gerraty <sjg@beast.crufty.net>
93 * boot-strap: unset MAKEFLAGS
95 2020-02-12 Simon J Gerraty <sjg@beast.crufty.net>
97 * VERSION (_MAKE_VERSION): 20200212
98 * meta.c: meta_compat_parent check for USE_FILEMON
99 patch from Soeren Tempel
101 2020-02-05 Simon J Gerraty <sjg@beast.crufty.net>
104 Merge with NetBSD make, pick up
105 o meta.c: fix compat mode, need to call meta_job_output()
106 o job.c: extra fds for meta mode not needed if using filemon_dev
108 2020-01-22 Simon J Gerraty <sjg@beast.crufty.net>
111 Merge with NetBSD make, pick up
112 o meta.c: avoid passing NULL to filemon_*() when meta_needed()
115 2020-01-21 Simon J Gerraty <sjg@beast.crufty.net>
118 Merge with NetBSD make, pick up
119 o filemon/filemon_{dev,ktrace}.c: allow selection of
120 filemon implementation. filemon_dev.c uses the kernel module
121 while filemon_ktrace.c leverages the fktrace api available in
122 NetBSD. filemon_ktrace.c can hopefully form the basis for
123 adding support for other tracing mechanisms such as strace on
125 o meta.c: when target is out-of-date per normal make rules
126 record value of .OODATE in meta file.
128 2019-09-26 Simon J Gerraty <sjg@beast.crufty.net>
131 Merge with NetBSD make, pick up
132 o parse.c: don't pass NULL to realpath(3)
133 some versions cannot handle it.
135 2019-04-09 Simon J Gerraty <sjg@beast.crufty.net>
138 Merge with NetBSD make, pick up
139 o parse.c: ParseDoDependency: free paths rather than assert
141 2018-12-22 Simon J Gerraty <sjg@beast.crufty.net>
145 * configure.in: add --without-makefile to avoid generating
146 makefile and make-bootstrap.sh
148 * include Makefile.inc if it exists
150 * Use Makefile and Makefile.config.in in unit-tests
151 so we can use just: make obj && make && make test
152 when bmake is already available.
153 We add --without-makefile to CONFIGURE_ARGS in this case.
155 * tweak bsd.after-import.mk (captures Makefile.config etc
156 after import to FreeBSD for example) to cope with all the above.
158 2018-12-21 Simon J Gerraty <sjg@beast.crufty.net>
161 Merge with NetBSD make, pick up
162 o parse.c: ParseVErrorInternal use .PARSEDIR
163 and apply if relative, and then use .PARSEFILE
164 for consistent result.
166 2018-12-20 Simon J Gerraty <sjg@beast.crufty.net>
169 Merge with NetBSD make, pick up
170 o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR
172 o var.c: avoid SEGFAULT in .unexport-env
173 when MAKELEVEL is not set
175 2018-12-16 Simon J Gerraty <sjg@beast.crufty.net>
178 Merge with NetBSD make, pick up
179 o fix for unit-tests/varquote.mk on Debian
181 2018-09-21 Simon J. Gerraty <sjg@bad.crufty.net>
184 Merge with NetBSD make, pick up
186 o dir.c: cleanup caching of stats
188 2018-09-21 Simon J Gerraty <sjg@beast.crufty.net>
190 * Makefile.config.in: use += where it makes sense.
192 2018-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
195 Merge with NetBSD make, pick up
196 o job.c: skip polling job token pipe
198 2018-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
201 Merge with NetBSD make, pick up
202 o parse.c: be more cautious about detecting depenency line
203 rather than sysV style include.
205 2018-02-22 Simon J. Gerraty <sjg@bad.crufty.net>
208 Merge with NetBSD make, pick up
209 o parse.c: avoid calling sysconf for every call to loadfile
211 2018-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
214 Merge with NetBSD make, pick up
215 o var.c: Var_Set handle NULL value anytime.
217 2018-02-12 Simon J. Gerraty <sjg@bad.crufty.net>
220 Merge with NetBSD make, pick up
221 o parse.c: do not treat .info as warning with -W
223 2017-12-07 Simon J. Gerraty <sjg@bad.crufty.net>
226 Merge with NetBSD make, pick up
227 o var.c: Var_Append use Var_Set if var not previously set
228 so that VAR_CMD is handled correctly.
229 Add a suitable unit-test.
231 2017-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
233 * VERSION (_MAKE_VERSION): 20171126
235 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
236 since AC_TRY_COMPILE puts input inside main()
237 which upsets modern compilers.
239 2017-11-18 Simon J. Gerraty <sjg@bad.crufty.net>
242 Merge with NetBSD make, pick up
243 o var.c: do not append to variable set on command line
244 add unit-test to catch this.
246 2017-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
249 Merge with NetBSD make, pick up
250 o main.c: ignore empty MAKEOBJDIR
252 * Makefile.config.in:
253 make @prefix@ @machine*@ and @default_sys_path@ defaults.
255 2017-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
259 * unit-tests/dotwait.mk: redirect stderr through pipe for more
260 consistent result on some platforms.
262 2017-08-13 Simon J. Gerraty <sjg@bad.crufty.net>
264 * machine.sh: entry for AIX
266 2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
268 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
269 to a file that can be included by configure as well as make.
270 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
272 2017-08-10 Simon J. Gerraty <sjg@bad.crufty.net>
274 * Makefile (_MAKE_VERSION): 20170810
275 Merge with NetBSD make, pick up
276 o meta.c: if target is in subdir we only need subdir name in
279 2017-07-20 Simon J. Gerraty <sjg@bad.crufty.net>
281 * Makefile (_MAKE_VERSION): 20170720
282 Merge with NetBSD make, pick up
283 o compat.c: pass SIGINT etc onto child and wait for it to exit
284 before we self-terminate.
286 2017-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
288 * Makefile (_MAKE_VERSION): 20170711
289 forgot to update after merge on 20170708 ;-)
290 o main.c: refactor to reduce size of main function.
291 add -v option to always fully expand values.
292 o meta.c: ensure command output in meta file has ending newline
293 even when filemon not being used.
294 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
295 pathname via ':L' since any ':' in pathname breaks that.
296 Instead set a '${.p.}' to pathname in the target context and
299 2017-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
301 * Makefile (_MAKE_VERSION): 20170510
302 Merge with NetBSD make, pick up
303 o main.c: Main_SetObjdir: ensure buf2 is in scope
305 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
307 * Makefile (_MAKE_VERSION): 20170505
310 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
312 * parse.c: not everyone has stdint.h
314 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
316 * Makefile (_MAKE_VERSION): 20170501
319 2017-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
321 * Makefile (_MAKE_VERSION): 20170421
322 Merge with NetBSD make, pick up
323 o str.c: Str_Match: fix closure tests for [^] and add unit-test.
325 2017-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
327 * Makefile (_MAKE_VERSION): 20170420
328 Merge with NetBSD make, pick up
329 o main.c: only use -C arg "as is" if it contains no
332 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
334 * Makefile (_MAKE_VERSION): 20170418
335 Merge with NetBSD make, pick up
336 o main.c: fix Main_SetObjdir() for relative paths (eg obj).
338 2017-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
340 * Makefile (_MAKE_VERSION): 20170417
341 Merge with NetBSD make, pick up
342 o fixes a number of coverity complaints
343 - check return value of fseek, fcntl
344 - plug memory leak in Dir_FindFile, Var_LoopExpand,
345 JobPrintCommand, ParseTraditionalInclude
346 - use bmake_malloc() where NULL is not tollerated
347 - use MAKE_ATTR_UNUSED rather that kludges like
348 return(unused ? 0 : 0)
349 - use purge_cached_realpaths() rather than abuse cached_realpath()
351 2017-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
353 * Makefile (_MAKE_VERSION): 20170413
354 Merge with NetBSD make, pick up
355 o main.c: when setting .OBJDIR ignore '$' in paths.
357 * job.c: use MALLOC_OPTIONS to set malloc_options.
359 2017-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
361 * Makefile (_MAKE_VERSION): 20170411
362 Merge with NetBSD make, pick up
363 o str.c: Str_Match: allow [^a-z] to behave as expected.
365 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
367 * Makefile (_MAKE_VERSION): 20170326
368 Merge with NetBSD make, pick up
369 o main.c: purge relative paths from realpath cache when .OBJDIR
372 2017-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
374 * Makefile (_MAKE_VERSION): 20170311
375 Merge with NetBSD make, pick up
376 o main.c: only use -C arg "as is" if it starts with '/'.
378 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
380 * Makefile (_MAKE_VERSION): 20170301
381 Merge with NetBSD make, pick up
382 o main.c: use -C arg "as is" rather than getcwd()
383 if they identify the same directory.
384 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
386 2017-02-01 Simon J. Gerraty <sjg@bad.crufty.net>
388 * Makefile (_MAKE_VERSION): 20170201
389 Merge with NetBSD make, pick up
390 o var.c: allow :_=var and avoid use of special context.
392 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
394 * Makefile (_MAKE_VERSION): 20170130
395 Merge with NetBSD make, pick up
396 o var.c: add :range and :_
397 o main.c: partially initialize Dir_* before MainParseArgs()
399 If -V, skip Main_ExportMAKEFLAGS()
401 2017-01-14 Simon J. Gerraty <sjg@bad.crufty.net>
403 * Makefile (_MAKE_VERSION): 20170114
404 Merge with NetBSD make, pick up
405 o var.c: allow specifying the utc value used by :{gm,local}time
407 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
409 * Makefile (_MAKE_VERSION): 20161212
410 Merge with NetBSD make, pick up
411 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
413 2016-12-09 Simon J. Gerraty <sjg@bad.crufty.net>
415 * Makefile (_MAKE_VERSION): 20161209
416 Merge with NetBSD make, pick up
417 o main.c: cleanup setting of .OBJDIR
418 o parse.c: avoid coredump from (var)=val
420 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
422 * Makefile (_MAKE_VERSION): 20161126
423 Merge with NetBSD make, pick up
424 o make.c: Make_OODate: report src node name if path not set
426 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
428 * Makefile (_MAKE_VERSION): 20160926
429 Merge with NetBSD make, pick up
430 o support for .DELETE_ON_ERROR: (remove targets that fail)
432 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
434 * Makefile MAN: tweak .Dt to match ${PROG}
436 2016-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
438 * Makefile (_MAKE_VERSION): 20160818
439 its a neater number; pick up whitespace fixes to man page.
441 2016-08-17 Simon J. Gerraty <sjg@bad.crufty.net>
443 * Makefile (_MAKE_VERSION): 20160817
444 Merge with NetBSD make, pick up
445 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
446 so we can call it before adding entries to missingFiles.
447 Thus we do not track files we have been told to ignore.
449 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
451 * Makefile (_MAKE_VERSION): 20160815
452 Merge with NetBSD make, pick up
453 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
454 pathnames, and skip if the expansion is empty.
455 Useful for dirdeps.mk when checking DIRDEPS_CACHE.
457 2016-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
459 * Makefile (_MAKE_VERSION): 20160812
460 Merge with NetBSD make, pick up
461 o meta.c: remove all missingFiles entries that match a deleted
463 o main.c: set .ERROR_CMD if possible.
465 2016-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
467 * Makefile (_MAKE_VERSION): 20160606
468 Merge with NetBSD make, pick up
469 o dir.c: extend mtimes cache to others via cached_stat()
471 2016-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
473 * Makefile (_MAKE_VERSION): 20160604
474 Merge with NetBSD make, pick up
475 o meta.c: missing filemon data is only relevant if we read a
477 Also do not return oodate for a missing metafile if gn->path
480 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
482 * Makefile (_MAKE_VERSION): 20160602
483 Merge with NetBSD make, pick up
484 o cached_realpath(): avoid hitting filesystem more than necessary.
485 o meta.c: refactor need_meta decision, add knobs for
486 missing meta file and filemon data wrt out-of-datedness.
488 2016-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
490 * Makefile (_MAKE_VERSION): 20160528
492 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
494 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
496 * Makefile (_MAKE_VERSION): 20160512
497 Merge with NetBSD make, pick up
498 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
499 this is useful for gcov builds.
500 o propagate errors from filemon(4).
502 2016-05-09 Simon J. Gerraty <sjg@bad.crufty.net>
504 * Makefile (_MAKE_VERSION): 20160509
505 Merge with NetBSD make, pick up
506 o remove use of non-standard types u_int etc.
507 o meta.c: apply realpath() before matching against metaIgnorePaths
509 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
511 * Makefile (_MAKE_VERSION): 20160404
512 Merge with NetBSD make, pick up
513 o allow makefile to set .MAKE.JOBS
515 * Makefile (PROG_NAME): use ${_MAKE_VERSION}
517 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
519 * Makefile (_MAKE_VERSION): 20160315
520 Merge with NetBSD make, pick up
521 o fix handling of archive members
523 2016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
525 * Makefile (_MAKE_VERSION): rename variable to avoid interference
526 with checks for ${MAKE_VERSION}
528 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
530 * Makefile (MAKE_VERSION): 20160310
531 Merge with NetBSD make, pick up
532 o meta.c: treat missing Read file same as Write, incase we Delete it.
534 2016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
536 * Makefile (MAKE_VERSION): 20160307
537 Merge with NetBSD make, pick up
538 o var.c: fix :ts\nnn to be octal by default.
539 o meta.c: meta_finish() to cleanup memory.
541 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
543 * Makefile (MAKE_VERSION): 20160226
544 Merge with NetBSD make, pick up
545 o meta.c: allow meta file for makeDepend if makefiles want it.
547 2016-02-19 Simon J. Gerraty <sjg@bad.crufty.net>
549 * var.c: default .MAKE.SAVE_DOLLARS to FALSE
550 for backwards compatability.
552 * Makefile (MAKE_VERSION): 20160220
553 Merge with NetBSD make, pick up
554 o var.c: add knob to control handling of '$$' in :=
556 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
558 * Makefile (MAKE_VERSION): 20160218
559 Merge with NetBSD make, pick up
560 o var.c: add .export-literal allows us to fix sys.clean-env.mk
561 post the changes to Var_Subst.
562 Var_Subst now takes flags, and does not consume '$$' in :=
564 2016-02-17 Simon J. Gerraty <sjg@bad.crufty.net>
566 * Makefile (MAKE_VERSION): 20160217
567 Merge with NetBSD make, pick up
568 o var.c: preserve '$$' in :=
569 o parse.c: add .dinclude for handling included
570 makefile like .depend
572 2015-12-20 Simon J. Gerraty <sjg@bad.crufty.net>
574 * Makefile (MAKE_VERSION): 20151220
575 Merge with NetBSD make, pick up
576 o suff.c: re-initialize suffNull when clearing suffixes.
578 2015-12-01 Simon J. Gerraty <sjg@bad.crufty.net>
580 * Makefile (MAKE_VERSION): 20151201
581 Merge with NetBSD make, pick up
582 o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
583 o meta.c: meta_oodate: use lstat(2) for checking link target
584 in case it is a symlink.
585 o var.c: avoid calling brk_string and Var_Export1 with empty
588 2015-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
590 * Makefile (MAKE_VERSION): 20151126
591 Merge with NetBSD make, pick up
592 o parse.c: ParseTrackInput don't access beyond
595 2015-10-22 Simon J. Gerraty <sjg@bad.crufty.net>
597 * Makefile (MAKE_VERSION): 20151022
599 * Add support for BSD/OS which lacks inttypes.h
600 and really needs sys/param.h for sys/sysctl.h
601 also 'type' is not a shell builtin.
603 * var.c: eliminate uint32_t and need for inttypes.h
605 * main.c: PrintOnError flush stdout before run .ERROR
607 * parse.c: cope with _SC_PAGESIZE not being defined.
610 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
612 * Makefile (MAKE_VERSION): 20151020
613 Merge with NetBSD make, pick up
614 o var.c: fix uninitialized var
616 2015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
618 * var.c: the conditional expressions used with ':?' can be
619 expensive, if already discarding do not evaluate or expand
622 2015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
624 * Makefile (MAKE_VERSION): 20151010
625 Merge with NetBSD make, pick up
626 o Add Boolean wantit flag to Var_Subst and Var_Parse
627 when FALSE we know we are discarding the result and can
628 skip operations like Cmd_Exec.
630 2015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
632 * Makefile (MAKE_VERSION): 20151009
633 Merge with NetBSD make, pick up
634 o var.c: don't check for NULL before free()
635 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
637 2015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
639 * Makefile (MAKE_VERSION): 20150910
640 Merge with NetBSD make, pick up
641 o main.c: with -w print Enter/Leaving messages for objdir too
643 o centralize shell metachar handling
645 * FILES: add metachar.[ch]
647 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
649 * Makefile (MAKE_VERSION): 20150606
650 Merge with NetBSD make, pick up
651 o make.1: document .OBJDIR target
653 2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
655 * Makefile (MAKE_VERSION): 20150505
656 Merge with NetBSD make, pick up
657 o cond.c: be strict about lhs of comparison when evaluating .if
658 but less so when called from variable expansion.
659 o unit-tests/cond2.mk: test various error conditions
661 2015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
663 * machine.sh (MACHINE): Add Bitrig
664 patch from joerg@netbsd.org
666 2015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
668 * Makefile (MAKE_VERSION): 20150418
669 Merge with NetBSD make, pick up
670 o job.c: use memmove() rather than memcpy()
672 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
675 2015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
677 * Makefile (MAKE_VERSION): 20150411
678 bump version - only mk/ changes.
680 2015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
682 * Makefile (MAKE_VERSION): 20150410
683 Merge with NetBSD make, pick up
684 o document different handling of '-' in jobs mode vs compat
685 o fix jobs mode so that '-' only applies to whole job
686 when shell lacks hasErrCtl
687 o meta.c: use separate vars to track lcwd and latestdir (read)
690 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
692 * Makefile (MAKE_VERSION): 20150401
693 Merge with NetBSD make, pick up
694 o meta.c: close meta file in child
696 * Makefile: use BINDIR.bmake if set.
697 Same for MANDIR and SHAREDIR
698 Handy for testing release candidates
699 in various environments.
701 2015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
703 * move initialization of savederr to block where it is used
704 to avoid spurious warning from gcc5
706 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
708 * Makefile (MAKE_VERSION): 20141111
711 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
713 * Makefile (MAKE_VERSION): 20141105
714 Merge with NetBSD make, pick up
715 o revert major overhaul of suffix handling
716 and POSIX compliance - too much breakage
717 and impossible to make backwards compatible.
718 o we still have the new unit test structure which is ok.
719 o meta.c ensure "-- filemon" is at start of line.
721 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
723 * configure.in: test that result of getconf PATH_MAX is numeric
724 and discard if not. Apparently needed for Hurd.
726 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
728 * Makefile (MAKE_VERSION): 20140830
729 Merge with NetBSD make, pick up
730 o major overhaul of suffix handling
731 o improved POSIX compliance
732 o overhauled unit-tests
734 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
736 * Makefile (MAKE_VERSION): 20140620
737 Merge with NetBSD make, pick up
738 o var.c return varNoError rather than var_Error for ::= modifiers.
740 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
742 * Makefile (MAKE_VERSION): 20140522
743 Merge with NetBSD make, pick up
744 o var.c detect some parse errors.
746 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
748 * Fix spelling errors - patch from Pedro Giffuni
750 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
752 * Makefile (MAKE_VERSION): 20140214
753 Merge with NetBSD make, pick up
755 o use Var_Value to get MAKEOBJDIR[PREFIX]
756 o reduced realloc'ign in brk_string.
757 * configure.in: add a check for compiler supporting __func__
759 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
761 * boot-strap: ignore mksrc=none
763 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
765 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
767 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
769 * Makefile (MAKE_VERSION): 20140101
770 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
771 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
772 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
774 * configure.in: Add AC_PREREQ and check for
775 sysctl; patch from Andrew Shadura andrewsh at debian.org
777 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
779 * Makefile (MAKE_VERSION): 20131010
780 * lose the const from arg to systcl to avoid problems on older BSDs.
782 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
784 * Makefile (MAKE_VERSION): 20131001
785 Merge with NetBSD make, pick up
786 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
787 hw.machine_arch if necessary.
788 o meta.c: meta_oodate - need to look at src of Link and target
790 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
791 provide __arraycount() if needed.
793 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
795 * Makefile (MAKE_VERSION): 20130904
796 Merge with NetBSD make, pick up
797 o Add VAR_INTERNAL context, so that internal setting of
798 MAKEFILE does not override value set by makefiles.
800 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
802 * Makefile (MAKE_VERSION): 20130902
803 Merge with NetBSD make, pick up
804 o CompatRunCommand: only apply shellErrFlag when errCheck is true
806 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
808 * Makefile (MAKE_VERSION): 20130828
809 Merge with NetBSD make, pick up
810 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
811 o Call Job_SetPrefix() from Job_Init() so makefiles have
812 opportunity to set .MAKE.JOB.PREFIX
814 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
816 * Makefile (MAKE_VERSION): 20130730
817 Merge with NetBSD make, pick up
818 o Allow suppression of --- job -- tokens by setting
819 .MAKE.JOB.PREFIX empty.
821 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
823 * Makefile (MAKE_VERSION): 20130716
824 Merge with NetBSD make, pick up
825 o number of gmake compatibility tweaks
826 -w for gmake style entering/leaving messages
827 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
828 handle MAKEFLAGS containing only letters.
829 o when overriding a GLOBAL variable on the command line,
830 delete it from GLOBAL context so -V doesn't show the wrong
833 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
835 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
837 * Makefile (MAKE_VERSION): 20130706
838 Merge with NetBSD make, pick up
839 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
840 true so that CompatRunCommand() can use it, to ensure
841 consistent behavior with jobs mode.
842 o use MAKE_LEVEL_ENV to define the variable to propagate
843 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
844 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
847 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
849 * Makefile (MAKE_VERSION): 20130604
850 Merge with NetBSD make, pick up
851 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
852 to avoid leaking descriptors.
854 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
856 * Makefile (MAKE_VERSION): 20130528
857 Merge with NetBSD make, pick up
858 o var.c: cleanup some left-overs in VarHash()
860 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
862 * Makefile (MAKE_VERSION): 20130520
863 generate manifest from component FILES rather than have to
864 update FILES when mk/FILES changes.
866 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
868 * Makefile (MAKE_VERSION): 20130518
869 Merge with NetBSD make, pick up
870 o suff.c: don't skip all processsing for .PHONY targets
871 else wildcard srcs do not get expanded.
872 o var.c: expand name of variable to delete if necessary.
874 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
876 * Makefile (MAKE_VERSION): 20130330
877 Merge with NetBSD make, pick up
878 o meta.c: refine the handling of .OODATE in commands.
879 Rather than suppress command comparison for the entire script
880 as though .NOMETA_CMP had been used, only suppress it for the
882 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
883 suppress comparison of a command without otherwise affecting it.
884 o make.1: document that
886 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
888 * Makefile (MAKE_VERSION): 20130321
889 yes, not quite right but its a cooler number.
890 Merge with NetBSD make, pick up
891 o parse.c: fix ParseGmakeExport to be portable
893 * meta.c: call meta_init() before makefiles are read and if built
894 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
895 this let's makefiles test for support.
896 Call meta_mode_init() to process .MAKE.MODE.
898 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
900 * Makefile (MAKE_VERSION): 20130305
901 Merge with NetBSD make, pick up
902 o run .STALE: target when a dependency from .depend is missing.
903 o job.c: add Job_RunTarget() for the above and .BEGIN
905 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
907 * Makefile (MAKE_VERSION): 20130303
908 Merge with NetBSD make, pick up
909 o main.c: set .MAKE.OS to utsname.sysname
910 o job.c: more checks for read and poll errors
911 o var.c: lose VarChangeCase() saves 4% time
913 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
915 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
916 want to use MAKEOBJDIR
918 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
920 * Merge with NetBSD make, pick up
921 o make.1: more info on how shell commands are handled.
922 o job.c,main.c: detect write errors to job pipes.
924 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
926 * Makefile (MAKE_VERSION): 20130123
927 Merge with NetBSD make, pick up
928 o meta.c: if script uses .OODATE and meta_oodate() decides
929 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
930 o var.c: in debug output indicate which variabale modifiers
932 o remove Check_Cwd logic the makefiles have been fixed.
934 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
936 * makefile.in: add a simple makefile for folk who insist on
937 ./configure; make; make install
938 it just runs boot-strap
939 * include mk/* to accommodate the above
940 * boot-strap: re-work to accommodate the above
941 mksrc defaults to $Mydir/mk
942 allow op={configure,build,install,clean,all}
943 add options to facilitate install
944 * Makefile.config.in: just the bits set by configure
945 * Makefile: bump version to 20121212
946 abandon Makefile.in (NetBSD Makefile)
947 leverage mk/* instead
948 * configure.in: ensure srcdir is absolute
950 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
952 * Makefile.in (MAKE_VERSION): 20121111
953 fix generation of bmake.cat1
955 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
957 * Makefile.in (MAKE_VERSION): 20121109
958 Merge with NetBSD make, pick up
959 o make.c: MakeBuildChild: return 0 so search continues if a
960 .ORDER dependency is detected.
961 o unit-tests/order: test the above
963 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
965 * Makefile.in (MAKE_VERSION): 20121102
966 Merge with NetBSD make, pick up
967 o cond.c: allow cond_state[] to grow.
968 In meta mode with a very large tree, we can hit the limit
969 while processing dirdeps.
971 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
973 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
975 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
977 * Makefile.in (MAKE_VERSION): 20121010
978 o protect syntax that only bmake parses correctly.
979 o remove auto setting of FORCE_MACHINE, use configure's
980 --with-force-machine=whatever if that is desired.
982 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
984 * Makefile.in: do not lose history from make.1 when generating bmake.1
986 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
988 * Makefile.in (MAKE_VERSION): 20121007
989 Merge with NetBSD make, pick up
990 o compat.c: ignore empty commands - same as jobs mode.
991 o make.1: document meta chars that cause use of shell
993 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
995 * Makefile.in (MAKE_VERSION): bump version to 20120911
996 * bsd.after-import.mk: include Makefile.inc early and allow it to
999 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
1001 * Makefile.in (MAKE_VERSION): bump version to 20120831
1002 Merge with NetBSD make, pick up
1003 o cast sizeof() to int for comparison
1004 o minor make.1 tweak
1006 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
1008 * Makefile.in (MAKE_VERSION): bump version to 20120830
1009 Merge with NetBSD make, pick up
1010 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
1011 o debug flag -dV causes -V to show raw value regardless.
1013 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
1015 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
1018 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
1020 * Makefile.in (MAKE_VERSION): bump version to 20120704
1021 Merge with NetBSD make, pick up
1022 o Job_ParseShell should call Shell_Init if it has been
1024 * Makefile.in: set USE_META based on configure result.
1025 also .PARSEDIR is safer indicator of bmake.
1027 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
1029 * Makefile.in: bump version to 20120626
1030 ensure CPPFLAGS is in CFLAGS
1031 * meta.c: avoid nested externs
1032 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
1034 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
1036 * Makefile.in (MAKE_VERSION): bump version to 20120620
1037 Merge with NetBSD make, pick up
1038 o make_malloc.c: avoid including make_malloc.h again
1040 * Makefile.in: avoid bmake only syntax or protect with
1041 .if defined(.MAKE.LEVEL)
1042 * bsd.after-import.mk: replace .-include with .sinclude
1043 ensure? SRCTOP gets a value
1044 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
1046 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
1048 * Makefile.in (MAKE_VERSION): bump version to 20120612
1049 Merge with NetBSD make, pick up
1050 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
1051 for greater portability.
1052 o unit-tests/forloop: check that .for works as expected wrt
1053 number of times and with "quoted strings".
1055 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1057 * Makefile.in (MAKE_VERSION): bump version to 20120606
1058 Merge with NetBSD make, pick up
1059 o compat.c: use kill(2) rather than raise(3).
1060 * configure.in: look for sys/dev/filemon
1061 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
1062 and pass BOOTSTRAP_XTRAS to boot-strap.
1064 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1066 * Makefile.in (MAKE_VERSION): bump version to 20120604
1067 Merge with NetBSD make, pick up
1068 o util.c and var.c share same var for tracking if environ
1069 has been reallocated.
1070 o util.c provide getenv with setenv.
1071 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
1072 when the shell actively strips .MAKE.* from the environment.
1073 We still refer to the variable always as .MAKE.LEVEL
1074 * util.c fix bug in findenv() was finding prefix of name.
1075 * compat.c: re-raising SIGINT etc after running .INTERRUPT
1076 results in more reliable termination of all activity on many
1079 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
1081 * Makefile.in (MAKE_VERSION): bump version to 20120602
1082 Merge with NetBSD make, pick up
1083 o for.c: handle quoted items in .for list
1085 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
1087 * Makefile.in (MAKE_VERSION): bump version to 20120530
1088 Merge with NetBSD make, pick up
1089 o compat.c: ignore empty command.
1091 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1093 * Makefile.in (MAKE_VERSION): bump version to 20120524
1094 * FILES: add bsd.after-import.mk:
1095 A simple means of integrating bmake into a BSD build system.
1097 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
1099 * Makefile.in (MAKE_VERSION): bump version to 20120520
1100 Merge with NetBSD make, pick up
1101 o increased limit for nested conditionals.
1103 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
1105 * Makefile.in (MAKE_VERSION): bump version to 20120518
1106 Merge with NetBSD make, pick up
1107 o use _exit(2) in signal hanlder
1108 o Don't use the [dir] cache when building nodes that might have
1109 changed since the last exec.
1110 o Avoid nested extern declaration warnings.
1112 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
1114 * meta.c (fgetLine): avoid %z - not portable.
1115 * parse.c: Since we moved include of sys/mman.h
1116 and def's of MAP_COPY etc. we got dups from a merge.
1118 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
1120 * Makefile.in (MAKE_VERSION): bump version to 20120420
1121 Merge with NetBSD make, pick up
1122 o restore duplicate supression in .MAKE.MAKEFILES
1123 runtime saving can be significant.
1124 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
1125 consumption up to 20%.
1127 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1129 * Makefile.in (MAKE_VERSION): bump version to 20120420
1130 Merge with NetBSD make, pick up
1131 o remove duplicate supression in .MAKE.MAKEFILES
1132 o improved dir cache behavior
1133 o gmake'ish export command
1135 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
1137 * Makefile.in (MAKE_VERSION): bump version to 20120325
1138 Merge with NetBSD make, pick up
1139 o fix parsing of :[#] in conditionals.
1141 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
1143 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
1144 since some systems cannot cope with .Nx <version>
1146 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
1148 * Makefile.in (MAKE_VERSION): bump version to 20111111
1149 Merge with NetBSD make, pick up
1150 o debug output for .PARSEDIR and .PARSEFILE
1152 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1154 * Makefile.in (MAKE_VERSION): bump version to 20111010
1156 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
1158 * boot-strap: check for an expected file in the dirs we look for.
1159 * make-bootstrap.sh: pass on LDSTATIC
1161 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
1163 * Makefile.in (MAKE_VERSION): bump version to 20111001
1164 Merge with NetBSD make, pick up
1165 o ensure .PREFIX is set for .PHONY
1166 and .TARGET set for .PHONY run via .END
1167 o __dead used consistently
1169 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
1171 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
1173 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
1175 * Makefile.in (MAKE_VERSION): bump version to 20110905
1176 Merge with NetBSD make, pick up
1177 o meta_oodate: ignore makeDependfile
1179 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
1181 * Makefile.in (MAKE_VERSION): bump version to 20110828
1182 Merge with NetBSD make, pick up
1183 o silent=yes in .MAKE.MODE causes meta mode to mark targets
1184 as SILENT if a .meta file is created
1186 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
1188 * Makefile.in (MAKE_VERSION): bump version to 20110818
1189 Merge with NetBSD make, pick up
1190 o in meta mode, if target flagged .META a missing .meta file
1191 means target is out-of-date
1192 o fixes for gcc 4.5 warnings
1193 o simplify job printing code
1195 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
1197 * Makefile.in (MAKE_VERSION): bump version to 20110808
1198 Merge with NetBSD make, pick up
1199 o do not touch OP_SPECIAL targets when doing make -t
1201 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
1203 * Makefile.in (MAKE_VERSION): bump version to 20110622
1204 Merge with NetBSD make, pick up
1205 o meta_oodate detect corrupted .meta file and declare oodate.
1206 * configure.in: add check for setsid
1208 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
1210 * Merge with NetBSD make, pick up
1211 o unit-tests/modts now works on MirBSD
1213 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1215 * Makefile.in (MAKE_VERSION): bump version to 20110606
1216 Merge with NetBSD make, pick up
1217 o ApplyModifiers: when we parse a variable which is not
1218 the entire modifier string, or not followed by ':', do not
1219 consider it as containing modifiers.
1220 o loadfile: ensure newline at end of mapped file.
1222 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1224 * Makefile.in (MAKE_VERSION): bump version to 20110505
1225 Merge with NetBSD make, pick up
1226 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
1227 of make's control. In meta mode, any generated file within
1228 said bailiwick, which is found to be missing, causes current
1229 target to be out-of-date.
1231 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
1233 * Makefile.in (MAKE_VERSION): bump version to 20110411
1234 Merge with NetBSD make, pick up
1235 o when long modifiers fail to match, check sysV style.
1238 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
1240 * Makefile.in (MAKE_VERSION): bump version to 20110410
1241 Merge with NetBSD make, pick up
1242 o :hash - cheap 32bit hash of value
1243 o :localtime, :gmtime - use value as format string for strftime.
1245 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1247 * Makefile.in (MAKE_VERSION): bump version to 20110330
1248 mostly because its a cooler version.
1249 Merge with NetBSD make, pick up
1250 o NetBSD tags for meta.[ch]
1251 o job.c call meta_job_finish() after meta_job_error().
1252 o meta_job_error() should call meta_job_finish() to ensure
1253 .meta file is closed, and safe to copy - if .ERROR target wants.
1254 meta_job_finish() is safe to call repeatedly.
1256 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
1258 * unit-tests/modts: use printf if it is a builtin,
1259 to save us from MirBSD
1261 * Makefile.in (MAKE_VERSION): bump version to 20110329
1262 Merge with NetBSD make, pick up
1263 o fix for use after free() in CondDoExists().
1264 o meta_oodate() report extra commands and return earlier.
1266 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
1268 * Makefile.in (MAKE_VERSION): bump version to 20110327
1269 Merge with NetBSD make, pick up
1270 o meta.c, if .MAKE.MODE contains curdirOk=yes
1271 allow creating .meta files in .CURDIR
1272 * boot-strap (TOOL_DIFF): aparently at least on linux distro
1273 formats the output of 'type' differently - so eat any "()"
1275 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
1277 * Makefile.in (MAKE_VERSION): bump version to 20110306
1278 Merge with NetBSD make, pick up
1279 o meta.c, only do getcwd() once
1281 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
1283 * Makefile.in (MAKE_VERSION): bump version to 20110305
1284 Merge with NetBSD make, pick up
1285 o correct sysV substitution handling of empty lhs and variable
1286 o correct exists() check for dir with trailing /
1287 o correct handling of modifiers for non-existant variables
1288 during evaluation of conditionals.
1289 o ensure MAP_FILE is defined.
1290 o meta.c use curdir[] now exported by main.c
1292 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
1294 * Makefile.in (MAKE_VERSION): bump version to 20110225
1295 Merge with NetBSD make, pick up
1296 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1297 makefiles have been read.
1298 o fix example of :? modifier in man page.
1300 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
1302 * Makefile.in (MAKE_VERSION): bump version to 20110214
1303 Merge with NetBSD make, pick up
1304 o meta.c handle realpath() failing when generating meta file
1307 * sigcompat.c: convert to ansi so we can use higher warning levels.
1310 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
1312 * Makefile.in (MAKE_VERSION): bump version to 20110207
1313 Merge with NetBSD make, pick up
1314 o fix for bug in meta mode.
1316 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
1318 * parse.c: SunOS 5.8 at least does not have MAP_FILE
1320 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
1322 * Makefile.in (MAKE_VERSION): bump version to 20110101
1323 Merge with NetBSD make, pick up
1324 o use mmap(2) if available, for reading makefiles
1326 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
1328 * Makefile.in (MAKE_VERSION): bump version to 20101215
1329 Merge with NetBSD make, pick up
1330 o ensure meta_job_error() does not report a previous .meta file
1333 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
1335 * Makefile.in (MAKE_VERSION): bump version to 20101210
1336 Merge with NetBSD make, pick up
1337 o meta_oodate: track cwd per process, and only consider target
1338 out-of-date if missing file is outside make's CWD.
1339 Ignore files in /tmp/ etc.
1340 o to ensure unit-tests results match, need to control LC_ALL
1342 o fix for parsing bug in var.c
1344 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
1346 * Makefile.in (MAKE_VERSION): bump version to 20101126
1347 Merge with NetBSD make, pick up
1348 o if stale dependency is an IMPSRC, search via .PATH
1349 o meta_oodate: if a referenced file is missing, target is
1351 o meta_oodate: if a target uses .OODATE in its commands,
1352 it (.OODATE) needs to be recomputed.
1353 o keep a pointer to youngest child node, rather than just its
1356 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
1358 * Makefile.in (MAKE_VERSION): bump version to 20101101
1360 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
1362 * machine.sh: like os.sh,
1363 allow for uname -p producing useless drivel
1365 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
1367 * boot-strap: document configure knobs for meta and filemon.
1369 * Makefile.in (MAKE_VERSION): bump version to 20100911
1370 Merge with NetBSD make, pick up
1371 o meta.c - meta mode
1373 * make-bootstrap.sh.in: handle meta.c
1374 * configure.in: add knobs for use_meta and filemon_h
1375 also, look for dirname, str[e]sep and strlcpy
1376 * util.c: add simple err[x] and warn[x]
1378 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1380 * boot-strap (TOOL_DIFF): set this to ensure tests use
1381 the same version of diff that configure tested
1383 * Makefile.in (MAKE_VERSION): bump version to 20100808
1384 Merge with NetBSD make, pick up
1385 o in jobs mode, when we discover we cannot make something,
1386 call PrintOnError before exit.
1388 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
1390 * Makefile.in (MAKE_VERSION): bump version to 20100806
1391 Merge with NetBSD make, pick up
1392 o formatting fixes for ignored errors
1393 o ensure jobs are cleaned up regardless of where wait() was called.
1395 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
1397 * Makefile.in (MAKE_VERSION): bump version to 20100618
1398 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1400 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
1402 * Makefile.in (MAKE_VERSION): bump version to 20100616
1403 Merge with NetBSD make, pick up
1405 o call PrintOnError from JobFinish when we detect an error we
1408 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1410 * Makefile.in (MAKE_VERSION): bump version to 20100606
1411 Merge with NetBSD make, pick up
1414 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
1416 * Makefile.in (MAKE_VERSION): bump version to 20100605
1417 Merge with NetBSD make, pick up
1418 o use bmake_signal() which is a wrapper around sigaction()
1419 in place of signal()
1420 o add .export-env to allow exporting variables to environment
1421 without tracking (so no re-export when the internal value is
1424 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1426 * Makefile.in (MAKE_VERSION): bump version to 20100524
1427 Merge with NetBSD make, pick up
1428 o fix for .info et al being greedy.
1430 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
1432 * Makefile.in (MAKE_VERSION): bump version to 20100520
1433 Merge with NetBSD make, pick up
1434 o back to using realpath on argv[0]
1435 but only if contains '/' and does not start with '/'.
1437 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
1439 * boot-strap: use absolute path for bmake when running tests.
1441 * Makefile.in (MAKE_VERSION): bump version to 20100510
1442 Merge with NetBSD make, pick up
1443 o revert use of realpath on argv[0]
1444 too many corner cases.
1445 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1447 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1449 * Makefile.in (MAKE_VERSION): bump version to 20100505
1450 Merge with NetBSD make, pick up
1451 o fix for missed SIGCHLD when compiled with SunPRO
1452 actually for bmake, defining FORCE_POSIX_SIGNALS would have
1455 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
1457 * Makefile.in (MAKE_VERSION): bump version to 20100430
1458 Merge with NetBSD make, pick up
1459 o fflush stdout before writing to stdout
1461 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
1463 * Makefile.in (MAKE_VERSION): bump version to 20100423
1464 Merge with NetBSD make, pick up
1465 o updated unit tests for Haiku (this time for sure).
1466 * boot-strap: based on patch from joerg
1467 honor --with-default-sys-path better.
1468 * boot-strap: remove mention of --with-prefix-sys-path
1470 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
1472 * Makefile.in (MAKE_VERSION): bump version to 20100422
1473 * Merge with NetBSD make, pick up
1474 o fix for vfork() on Darwin.
1475 o fix for bogus $TMPDIR.
1476 o set .MAKE.MODE=compat for -B
1477 o set .MAKE.JOBS=max_jobs for -j max_jobs
1478 o allow unit-tests to run without any *.mk
1479 o unit-tests/modmisc be more conservative in dirs presumed to exist.
1480 * boot-strap: ignore /usr/share/mk except on NetBSD.
1481 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
1482 ensure sort(1) behaves as expected.
1484 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
1486 * boot-strap: add FindHereOrAbove so we can use -m .../mk
1488 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1490 * Makefile.in (MAKE_VERSION): bump version to 20100420
1491 * Merge with NetBSD make, pick up
1492 o fix for variable realpath() behavior.
1493 we have to stat(2) the result to be sure.
1494 o fix for .export (all) when nested vars use :sh
1496 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
1498 * Makefile.in (MAKE_VERSION): bump version to 20100414
1499 * Merge with NetBSD make, pick up
1500 o use realpath to resolve argv[0] (for .MAKE) if needed.
1501 o add realpath from libc.
1502 o add :tA to resolve variable via realpath(3) if possible.
1504 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
1506 * Makefile.in (MAKE_VERSION): bump version to 20100408
1507 * Merge with NetBSD make, pick up
1508 o unit tests for .ERROR, .error
1509 o fix for .ERROR to ensure it cannot be default target.
1511 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
1513 * Makefile.in (MAKE_VERSION): bump version to 20100406
1514 * Merge with NetBSD make, pick up
1515 o fix for compat mode "Error code" going to debug_file.
1516 o fix for .ALLSRC being populated twice.
1517 o support for .info, .warning and .error directives
1518 o .MAKE.MODE to control make's operational mode
1519 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1521 o .MAKE.DEPENDFILE to control the name of the depend file
1522 o .ERROR target - run on failure.
1524 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
1526 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1528 * os.sh,arch.c: patch for Haiku from joerg at netbsd
1530 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
1532 * Makefile.in (MAKE_VERSION): bump version to 20100222
1533 * Merge with NetBSD make, pick up
1534 o better error msg for .for with mutiple inter vars
1537 o use make-bootstrap.sh from joerg at netbsd
1538 to avoid the need for a native make when bootstrapping.
1539 o add "" everywhere ;-)
1540 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1541 otherwise the pre-formated version.
1543 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1545 * Makefile.in (MAKE_VERSION): bump version to 20100102
1546 * Merge with NetBSD make, pick up:
1549 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
1551 * Makefile.in (MAKE_VERSION): bump version to 20091118
1552 * Merge with NetBSD make, pick up:
1554 o report lines that start with '.' and should have ':'
1555 (catch typo's of .el*if).
1557 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1559 * configure.in: Ensure that srcdir and mksrc are absolute paths.
1561 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1563 * Makefile.in (MAKE_VERSION): fix version to 20091007
1565 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
1567 * Makefile.in (MAKE_VERSION): bump version to 200910007
1568 * Merge with NetBSD make, pick up:
1569 o fix for parsing of :S;...;...; applied to .for loop iterator
1570 appearing in a dependency line.
1572 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1574 * Makefile.in (MAKE_VERSION): bump version to 20090909
1575 * Merge with NetBSD make, pick up:
1576 o fix for -C, .CURDIR and .OBJDIR
1578 o allow share_dir to be set independent of prefix.
1579 o select default share_dir better when prefix ends in $HOST_TARGET
1580 o if FORCE_BSD_MK etc were set, include them in the suggested
1583 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1585 * Makefile.in (MAKE_VERSION): bump version to 20090908
1586 * Merge with NetBSD make, pick up:
1587 o .MAKE.LEVEL for recursion tracking
1588 o fix for :M scanning \:
1590 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1592 * configure.in: Don't -D__EXTENSIONS__ if
1593 AC_USE_SYSTEM_EXTENSIONS says "no".
1595 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
1597 * Makefile.in (MAKE_VERSION): bump version to 20090826
1598 Simplify MAKE_VERSION to just the bare date.
1599 * Merge with NetBSD make, pick up:
1600 o -C directory support.
1601 o support for SIGINFO
1602 o use $TMPDIR for temp files.
1603 o child of vfork should be careful about modifying parent's state.
1606 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1608 * Appy some patches for MiNT from David Brownlee
1610 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
1612 * Makefile.in (BMAKE_VERSION): bump version to 20090222
1613 * Merge with NetBSD make, pick up:
1614 o Possible null pointer de-ref in Var_Set.
1616 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
1618 * Makefile.in (BMAKE_VERSION): bump version to 20090204
1619 * Merge with NetBSD make, pick up:
1620 o bmake_malloc et al moved to their own .c
1621 o Count both () and {} when looking for the end of a :M pattern
1622 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1623 o strlist.c - functions for processing extendable arrays of pointers to strings.
1624 o ClientData replaced with void *, so const void * can be used.
1625 o New debug flag C for DEBUG_CWD
1627 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1629 * Makefile.in (BMAKE_VERSION): bump version to 20081111
1630 Apply patch from Joerg Sonnenberge to
1632 o remove some redundant checks
1633 o check for emlloc etc only in libutil and require the whole family.
1635 o remove [v]asprintf which is no longer used.
1637 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1639 * Makefile.in (BMAKE_VERSION): bump version to 20081101
1640 * Merge with NetBSD make, pick up:
1641 o util.c: avoid use of putenv() - christos
1643 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1645 * Makefile.in (BMAKE_VERSION): bump version to 20081030
1646 pick up man page tweaks.
1648 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
1650 * Makefile.in: move processing of LIBOBJS to after is definition!
1651 thus we'll have getenv.c in SRCS only if needed.
1653 * make.1: add examples of how to use :?
1655 * Makefile.in (BMAKE_VERSION): bump version to 20081029
1656 * Merge with NetBSD make, pick up:
1657 o fix for .END processing with -j
1658 o segfault from Parse_Error when no makefile is open
1659 o handle numeric expressions in any variable expansion
1660 o debug output now defaults to stderr, -dF to change it - apb
1661 o make now uses bmake_malloc etc so that it can build natively
1662 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1664 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
1666 * Makefile.in (BMAKE_VERSION): bump version to 20080808
1667 * Merge with NetBSD make, pick up:
1668 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1669 long lines in Makefiles
1670 o optimizations for VarQuote by joerg
1671 o fix for PR/38756: dominik: make dumps core on invalid makefile
1673 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
1675 * Makefile.in (BMAKE_VERSION): bump version to 20080515
1676 * Merge with NetBSD make, pick up:
1677 o fix skip setting vars in VAR_GLOBAL context, to handle
1678 cases where VAR_CMD is used for other than command line vars.
1680 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
1682 * boot-strap (make_version): we may need to look in
1683 $prefix/share/mk for sys.mk
1685 * Makefile.in (BMAKE_VERSION): bump version to 20080514
1686 * Merge with NetBSD make, pick up:
1687 o skip setting vars in VAR_GLOBAL context, when already set in
1688 VAR_CMD which takes precedence.
1690 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
1692 * Makefile.in (BMAKE_VERSION): bump version to 20080330
1693 * Merge with NetBSD make, pick up:
1694 o fix for ?= when LHS contains variable reference.
1696 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1698 * merge some patches from NetBSD pkgsrc.
1700 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1701 the MAKSYSPATH used during bootstrap.
1703 * Makefile.in (BMAKE_VERSION): bump version to 20080215
1704 * Merge with NetBSD make, pick up:
1705 o warn if non-space chars follow 'empty' in a conditional.
1707 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1709 * Makefile.in (BMAKE_VERSION): bump version to 20080118
1710 * Merge with NetBSD make, pick up:
1711 o consider dependencies read from .depend as optional - dsl
1712 o remember when buffer for reading makefile grows - dsl
1713 o add -dl (aka LOUD) - David O'Brien
1715 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
1717 * Makefile.in (BMAKE_VERSION): bump version to 20071022
1718 * Merge with NetBSD make, pick up:
1719 o Allow .PATH<suffix> to be used for .include ""
1721 * boot-strap: source default settings from .bmake-boot-strap.rc
1723 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
1725 * Makefile.in: fix maninstall on various systems
1726 provided that our man.mk is used.
1727 For non-BSD systems we install the preformatted page
1730 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
1732 * boot-strap: make bmake.1 too, so maninstall works.
1734 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1736 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1737 * Merge with NetBSD make, pick up:
1738 o revamped handling of defshell - configure no longer needs to
1739 know the content of the shells array - apb
1740 o stop Var_Subst modifying its input - apb
1741 o avoid calling ParseTrackInput too often - dsl
1743 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1745 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1746 * Merge with NetBSD make, pick up:
1747 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1749 * sigcompat.c: some tweaks for HP-UX 11.x based on
1750 patch from Tobias Nygren
1752 * configure.in: update handling of --with-defshell to match
1753 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1754 will now do what one might hope - provided the chosen shell
1755 behaves enough like sh.
1757 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1759 * Makefile.in (BMAKE_VERSION): bump to 20071008
1760 * Merge with NetBSD make, pick up:
1761 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1762 o .export/.MAKE.EXPORTED - export of variables - sjg
1763 o .MAKE.MAKEFILES - track all makefiles read - sjg
1764 o performance improvements - dsl
1765 o revamp parallel job scheduling - dsl
1767 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1769 * Makefile.in (BMAKE_VERSION): bump to 20060728
1770 * Merge with NetBSD make, pick up:
1771 o extra debug info during variable and cond processing - sjg
1772 o shell definition now covers newline - rillig
1773 o minor mem leak in PrintOnError - sjg
1775 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1777 * Makefile.in (BMAKE_VERSION): bump to 20060511
1778 * Merge with NetBSD make, pick up:
1779 o more memory leaks - coverity
1780 o possible overflow in ArchFindMember - coverity
1781 o extract variable modifier code out of Var_Parse()
1782 so it can be called recursively - sjg
1783 o unit-tests/moderrs - sjg
1785 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1787 * Makefile.in (BMAKE_VERSION): bump to 20060412
1788 * Merge with NetBSD make, pick up:
1789 o fixes for some memory leaks - coverity
1790 o only read first sys.mk etc when searching sysIncPath - sjg
1792 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1793 setting ${MAKEFILE} - OBATA Akio
1795 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1797 * Makefile.in (BMAKE_VERSION): bump to 20060318
1798 * Merge with NetBSD make, pick up:
1799 o cleanup of job.c to remove remote handling, distcc is more
1800 useful and this code was likely bit-rotting - dsl
1801 o fix for :P modifier - sjg
1802 * boot-strap: set default prefix to something reasonable
1805 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1807 * Makefile.in (BMAKE_VERSION): bump to 20060301
1808 * Merge with NetBSD make, pick up:
1809 o make .WAIT apply recursively, document and test case - apb
1810 o allow variable modifiers in a variable appear anywhere in
1811 modifier list, document and test case - sjg
1813 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1815 * Makefile.in (BMAKE_VERSION): bump to 20060222
1816 * Merge with NetBSD make, pick up:
1817 o improved job token handling - dsl
1818 o SIG_DFL the correct signal before exec - dsl
1819 o more debug info during parsing - dsl
1820 o allow variable modifiers to be specified via variable - sjg
1821 * boot-strap: explain why we died if no mksrc
1823 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1825 * Makefile.in (BMAKE_VERSION): bump to 20051105
1826 * configure.in: always set default_sys_path
1827 default is ${prefix}/share/mk
1828 - remove prefix_sys_path, anyone wanting more than above
1829 needs to set it manually.
1831 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1833 * boot-strap: make this a bit easier for pkgsrc folk.
1834 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1835 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1837 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1839 * Makefile.in (BMAKE_VERSION): bump to 20051102
1840 * job.c (JobFinish): fix likely ancient merge lossage
1841 fix from Todd Vierling.
1842 * boot-strap (srcdir): allow setting mksrc=none
1844 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1846 * Makefile.in (BMAKE_VERSION): bump to 20051031
1847 * ranlib.h: skip on OSF too.
1850 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1852 * Makefile.in (BMAKE_VERSION): bump to 20051002
1855 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1857 * Makefile.in (BMAKE_VERSION): bump to 20051001
1858 support for UnixWare and some other systems,
1859 based on patches from pkgsrc/bootstrap
1861 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1863 * Makefile.in (BMAKE_VERSION): bump to 20050901
1864 * Merge with NetBSD make, pick up:
1865 o possible parse error causing us to wander off.
1867 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1869 * Makefile.in (BMAKE_VERSION): bump to 20050606
1870 * Merge with NetBSD make, pick up:
1871 o :0x modifier for randomizing a list
1872 o fixes for a number of -Wuninitialized issues.
1874 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1876 * Makefile.in (BMAKE_VERSION): bump to 20050530
1877 * Merge with NetBSD make, pick up:
1878 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1880 * README: was seriously out of date.
1882 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1884 * Important to use .MAKE rather than MAKE.
1886 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1888 * Makefile.in (BMAKE_VERSION): bump to 20050315
1889 * Merge with NetBSD make, pick up:
1890 o don't mistake .elsefoo for .else
1891 o use suffix-specific search path correctly
1892 o bunch of style nits
1894 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1897 o ensure that args to --src and --with-mksrc
1898 are resolved before giving them to configure.
1899 o add -o "objdir" so that builder can control it,
1900 default is $OS as determined by os.sh
1901 o add -q to suppress all the install instructions.
1903 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1905 * Remove __IDSTRING()
1907 * Makefile.in (BMAKE_VERSION): bump to 20040508
1908 * Merge with NetBSD make, pick up:
1910 - remove '-e' from compat mode
1911 - add support for '+' command-line prefix.
1912 o fix for handling '--' on command-line.
1913 o fix include in lst.lib/lstInt.h to simplify '-I's
1914 o we also picked up replacement of MAKE_BOOTSTRAP
1915 with !MAKE_NATIVE which is a noop, but possibly confusing.
1917 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1919 * Makefile.in (BMAKE_VERSION): bump to 20040414
1920 * Merge with NetBSD make, pick up:
1921 o allow quoted strings on lhs of conditionals
1922 o issue warning when extra .else is seen
1923 o print line numer when errors encountered during parsing from
1926 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1928 * Makefile.in (BMAKE_VERSION): bump to 20040220
1929 * Merge with NetBSD make, pick up:
1930 o fix for old :M parsing bug.
1931 o re-jigged unit-tests
1933 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1935 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1936 so that './bmake -f Makefile test' works.
1938 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1940 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1941 * Merge with NetBSD make, pick up:
1942 o search upwards for *.mk
1943 o fix for double free of var substitution buffers
1944 o use of getopt replaced with custom code, since the usage
1945 (re-scanning) isn't posix compatible.
1947 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1949 * arch.c: don't include ranlib.h on ELF systems
1950 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1952 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1954 * Makefile.in (BMAKE_VERSION): bump to 20040118
1956 * boot-strap (while): export vars we assign to on cmdline
1957 * unit-test/Makefile.in: ternary is .PHONY
1959 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1961 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1962 * Merge with NetBSD make, pick up:
1963 o fix for ternary modifier
1965 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1967 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1968 * Merge with NetBSD make, pick up:
1969 o fix for cond.c to handle compound expressions better
1970 o variable expansion within sysV style replacements
1972 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1974 * Make portable snprintf safer - output to /dev/null first to
1977 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1978 * Merge with NetBSD make, pick up:
1979 o -dg3 to show input graph when things go wrong.
1980 o explicitly look for makefiles in objdir if not found in curdir so
1981 that errors in .depend etc will be reported accurarely.
1982 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1983 instead as it more accurately reflects the expected behavior and
1984 is more consistently implemented.
1985 o avoid use of asprintf.
1987 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1989 * util.c: Add asprintf and vasprintf.
1991 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1992 * Merge with NetBSD make, pick up:
1993 :[] modifier - allows picking words from a variable.
1994 :tW modifier - allows treating value as one big word.
1995 W flag for :C and :S - allows treating value as one big word.
1997 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1999 * Merge with NetBSD make
2000 pick up -de flag to enable printing failed command.
2001 don't skip 1st two dir entries (normally . and ..) since
2002 coda does not have them.
2004 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
2006 * Makefile.in (BMAKE_VERSION): bump version to 20030909
2007 * Merge with NetBSD make, pick up:
2008 - changes for -V '${VAR}' to print fully expanded value
2010 - CompatRunCommand now prints the command that failed.
2011 - several files got updated 3 clause Berkeley license.
2013 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
2015 * boot-strap: Allow setting configure args on command line.
2017 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
2019 * configure.in: add --with-defshell to allow sh or ksh
2020 to be selected as default shell.
2022 * Makefile.in: bump version to 20030731
2024 * Merge with NetBSD make
2025 Pick up .SHELL spec for ksh and associate man page changes.
2026 Also compat mode now uses the same shell specs.
2028 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
2030 * var.c (Var_Parse): ensure delim is initialized.
2032 * unit-tests/Makefile.in: use single quotes to avoid problems from
2036 Run the unit-tests as part of the bootstrap procedure.
2038 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
2040 * unit-tests/Makefile.in: always force complaints from
2041 ${TEST_MAKE} to be from 'make'.
2043 * configure.in: add check for 'diff -u'
2044 also fix some old autoconf'isms
2046 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
2047 if using GCC add -Wno-cast-qual to CFLAGS for var.o
2049 * Merge with NetBSD make
2050 Pick up fix for :ts parsing error in some cases.
2053 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
2055 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
2057 * var.c (Var_Parse): fix bug in :ts modifier, after const
2058 correctness fixes, must pass nstr to VarModify.
2060 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
2062 * Makefile.in: BMAKE_VERSION switch to a date based version.
2063 We'll generally use the date of last import from NetBSD.
2065 * Merge with NetBSD make
2066 Pick up fixes for const-correctness, now passes WARNS=3 on
2068 Pick up :ts modifier, allows controlling the separator used
2069 between words in variable expansion.
2071 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
2073 * FILES: include boot-strap and os.sh
2075 * Makefile.in: only set WARNS if we are NetBSD, the effect on
2076 FreeBSD is known to be bad.
2078 * makefile.boot.in (bootstrap): make this the default target.
2080 * Makefile.in: bump version to 3.1.19
2082 * machine.sh: avoid A-Z with tr as it is bound to lose.
2084 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
2086 * Merge with NetBSD make
2087 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
2088 Plus some doc fixes.
2090 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
2092 * Merge with NetBSD make
2093 Pick up fix for PR/1523 - don't count a library as built, if there
2094 is no way to build it
2096 * Bump version to 3.1.18
2098 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
2100 * Merge with NetBSD make
2101 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
2102 appears in src list.
2104 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
2106 * Merge with NetBSD make (mmm 10th anniversary!)
2107 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
2108 pick up -X which tells us to not export VAR=val via setenv if
2109 we are already doing so via MAKEFLAGS. This saves valuable env
2110 space on systems like Darwin.
2111 set MAKE_VERSION to 3.1.17
2113 * parse.c: pix up fix for suffix rules
2115 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
2117 * Merge with NetBSD make.
2118 pick up fix for propagating -B via MAKEFLAGS.
2119 set MAKE_VERSION to 3.1.16
2121 * Apply some patches from pkgsrc-bootstrap/bmake
2122 Originally by Grant Beattie <grant@netbsd.org>
2123 I may have missed some - since they are based on bmake-3.1.12
2125 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
2127 * makefile.boot.in (bmake): update install targets for those that
2128 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
2129 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
2131 * bmake.cat1: update the pre-formatted man page!
2133 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
2135 * Merge with NetBSD make.
2136 pick up fix for premature free of pointer used in call
2138 set MAKE_VERSION to 3.1.15
2140 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
2142 * configure.in: determine suitable value for MKSRC.
2143 override using --with-mksrc=PATH.
2145 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
2146 configs(8) will use 'sun4' as an alias for 'sparc'.
2148 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
2150 * Merge with NetBSD make.
2152 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
2153 set MAKE_VERSION to 3.1.14
2154 add configure checks for killpg and sys/socket.h
2156 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
2160 * makefile.boot.in (bmake): use install-mk
2161 Also setup ./mk before trying to invoke bmake.boot incase we
2162 needed install-mk to create a sys.mk for us.
2164 * configure.in: If we need to add -I${srcdir}/missing, make it an
2165 absolute path so that it works for lst.lib too.
2167 * make.h: always include sys/cdefs.h since we provide one if the
2170 * Makefile.in (install-mk):
2171 use MKSRC/install-mk which will do the right thing.
2172 use uname -p for ARCH if possible.
2173 since install-mk will setup links bsd.prog.mk -> prog.mk if
2174 needed, just .include bsd.prog.mk
2176 * Merge with NetBSD make (NetBSD-1.6)
2177 Code is ansi-C only now.
2178 Bug in handling of dotLast is fixed.
2179 Can now assign .OBJDIR and make will reset its notions of life.
2180 New modifiers :tu :tl for toUpper and toLower.
2182 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
2184 * Merge with NetBSD make
2185 pick up fix for .END failure in compat mode.
2186 pick up fix for extra va_end() in ParseVErrorInternal.
2188 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
2190 * configure.in: for systems that have sys/cdefs.h check if it is
2191 compatible. If not, include the one under missing, but tell it to
2192 include the native one too - necessary on Linux.
2194 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
2195 include_next (for gcc) to get the native sys/cdefs.h
2197 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2199 * job.c (JobFinish): Fix an earlier merge bug that resulted in
2200 leaking descriptors when using -jN.
2202 * job.c (JobPrintCommand): See if "curdir" exists before
2203 attempting to chdir(). Doing the chdir directly in make (when in
2204 compat mode) fails silently, so let the -jN version do the same.
2205 This can happen when building kernels in an object tree and
2206 playing clever games to reset .CURDIR.
2208 * Merged with NetBSD make
2211 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2213 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
2215 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2217 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
2218 us not to export the iterator variable when using VAR_CMD context.
2220 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2222 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
2223 its the wrong "fix".
2225 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2227 * Redesigned export of VAR_CMD's via MAKEFLAGS.
2228 We now simply append the variable names to .MAKEOVERRIDES, and
2229 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
2230 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
2231 Apart from fixing quoting bugs in previous version, this allows us
2232 to export vars to the environment by simply doing:
2233 .MAKEOVERRIDES+= PATH
2234 Merged again with NetBSD make, but the above is the only change.
2236 * configure.in: added
2237 --disable-pwd-override disable $PWD overriding getcwd()
2238 --disable-check-make-chdir disable make trying to guess
2239 when it should automatically cd ${.CURDIR}
2241 * Merge with NetBSD make, changes include:
2242 parse.c (ParseDoDependency): Spot that the syntax error is
2243 caused by an unresolved cvs/rcs conflict and say so.
2244 var.c: most of Var* functions now take a ctxt as 1st arg.
2245 now does variable substituion on rhs of sysv style modifiers.
2247 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
2248 is now done here. We append the name='value' to .MAKEOVERRIDES
2249 rather than directly into MAKEFLAGS as this allows a Makefile to
2250 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
2251 very similar mechanism. Note that in adding name='value' to
2252 .MAKEOVERRIDES we do the moral equivalent of:
2253 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
2255 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2257 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
2259 * Merged with NetBSD make
2260 make -dx can now be used to run commands via sh -x
2261 better error messages on exec failures.
2263 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2265 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
2266 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
2267 MACHINE etc otherwise they propagate from the previous bmake.
2269 * configure.in (machine): allow --with-machine=generic to make
2270 configure use machine.sh to set MACHINE.
2272 * job.c (JobInterrupt): convert to using WAIT_T and friends.
2274 * Makefile.in: mention in bmake.1 that we use autoconf.
2276 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
2278 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2280 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
2281 as that rather defeats the usefulness of ${MAKEFILE}.
2283 * main.c (MainParseArgs): append command line variable assignments
2284 to MAKEFLAGS so that they get propagated to child make's.
2285 Apparently this is required POSIX behaviour? Its useful anyway.
2287 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2289 * compat.c (CompatRunCommand): don't use perror() since stdio may
2290 cause problems in child of vfork().
2292 * compat.c, main.c: Call PrintOnError() when we are going to bail.
2293 This routine prints out the .curdir where we stopped and will also
2294 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2296 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
2299 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
2301 * Added RCSid's for the files we've touched.
2303 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2305 * configure.in: Thanks to some clues from mdb@juniper.net,
2306 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2307 as well as what ends up in _PATH_DEFSYSPATH. We now have:
2309 --with-machine=MACHINE explicitly set MACHINE
2310 --with-force-machine=MACHINE set FORCE_MACHINE
2311 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
2312 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
2313 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
2314 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
2316 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2318 * makefile: added a pathetically simple makefile to drive
2319 bootstrapping. Running configure by hand is more useful.
2321 * Makefile.in: added MAKE_VERSION, and reworked things to be less
2322 dependent on NetBSD bsd.*.mk
2324 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2325 _PATH_OBJDIRPREFIX for those that don't want a default.
2326 construct _PATH_DEFSYSPATH from the info we get from configure.
2328 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2329 if MAKE_VERSION is defined.
2331 * compat.c: when we bail, print out the .CURDIR we were in.
2333 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2335 * Merged with NetBSD make
2337 * var.c: fixed a bug in the handling of the modifier :P
2338 if the node as found but the path was null, we segfault trying to
2341 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2343 * Merged with NetBSD make
2345 * make.c: Make_OODate's test for a library out of date was using
2346 cmtime where it should have used mtime (my bug).
2348 * compat.c: Use perror() to tell us what really went wrong when we
2349 cannot exec a command.
2351 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2353 * Merged with NetBSD make
2355 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2357 * Merged with NetBSD make
2359 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2361 * Merged with NetBSD make
2363 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2365 * Merged with NetBSD make
2367 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2369 * util.c: don't provide signal() since we use sigcompat.c
2371 * Makefile.in: added a build target.
2373 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2374 These allow some quite clever magic.
2376 * main.c (main): added support for getenv(MAKESYSPATH).
2378 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2380 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2381 This avoids objdir having a different value depending on how a
2382 directory was reached (via command line, or subdir.mk).
2384 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2386 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2388 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2389 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2390 I've been testing this in NetBSD's make for some weeks.
2392 * Turn Makefile into Makefile.in and make it useful.
2394 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2396 * Imported NetBSD's -current make(1) and resolve conflicts.
2398 * Applied autoconf patches from bmake v2
2400 * Imported clean code base from NetBSD-1.0