1 2018-12-21 Simon J Gerraty <sjg@beast.crufty.net>
4 Merge with NetBSD make, pick up
5 o parse.c: ParseVErrorInternal use .PARSEDIR
6 and apply if relative, and then use .PARSEFILE
9 2018-12-20 Simon J Gerraty <sjg@beast.crufty.net>
12 Merge with NetBSD make, pick up
13 o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR
15 o var.c: avoid SEGFAULT in .unexport-env
16 when MAKELEVEL is not set
18 2018-12-16 Simon J Gerraty <sjg@beast.crufty.net>
21 Merge with NetBSD make, pick up
22 o fix for unit-tests/varquote.mk on Debian
24 2018-09-21 Simon J. Gerraty <sjg@bad.crufty.net>
27 Merge with NetBSD make, pick up
29 o dir.c: cleanup caching of stats
31 2018-09-21 Simon J Gerraty <sjg@beast.crufty.net>
33 * Makefile.config.in: use += where it makes sense.
35 2018-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
38 Merge with NetBSD make, pick up
39 o job.c: skip polling job token pipe
41 2018-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
44 Merge with NetBSD make, pick up
45 o parse.c: be more cautious about detecting depenency line
46 rather than sysV style include.
48 2018-02-22 Simon J. Gerraty <sjg@bad.crufty.net>
51 Merge with NetBSD make, pick up
52 o parse.c: avoid calling sysconf for every call to loadfile
54 2018-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
57 Merge with NetBSD make, pick up
58 o var.c: Var_Set handle NULL value anytime.
60 2018-02-12 Simon J. Gerraty <sjg@bad.crufty.net>
63 Merge with NetBSD make, pick up
64 o parse.c: do not treat .info as warning with -W
66 2017-12-07 Simon J. Gerraty <sjg@bad.crufty.net>
69 Merge with NetBSD make, pick up
70 o var.c: Var_Append use Var_Set if var not previously set
71 so that VAR_CMD is handled correctly.
72 Add a suitable unit-test.
74 2017-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
76 * VERSION (_MAKE_VERSION): 20171126
78 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
79 since AC_TRY_COMPILE puts input inside main()
80 which upsets modern compilers.
82 2017-11-18 Simon J. Gerraty <sjg@bad.crufty.net>
85 Merge with NetBSD make, pick up
86 o var.c: do not append to variable set on command line
87 add unit-test to catch this.
89 2017-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
92 Merge with NetBSD make, pick up
93 o main.c: ignore empty MAKEOBJDIR
96 make @prefix@ @machine*@ and @default_sys_path@ defaults.
98 2017-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
102 * unit-tests/dotwait.mk: redirect stderr through pipe for more
103 consistent result on some platforms.
105 2017-08-13 Simon J. Gerraty <sjg@bad.crufty.net>
107 * machine.sh: entry for AIX
109 2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
111 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
112 to a file that can be included by configure as well as make.
113 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
115 2017-08-10 Simon J. Gerraty <sjg@bad.crufty.net>
117 * Makefile (_MAKE_VERSION): 20170810
118 Merge with NetBSD make, pick up
119 o meta.c: if target is in subdir we only need subdir name in
122 2017-07-20 Simon J. Gerraty <sjg@bad.crufty.net>
124 * Makefile (_MAKE_VERSION): 20170720
125 Merge with NetBSD make, pick up
126 o compat.c: pass SIGINT etc onto child and wait for it to exit
127 before we self-terminate.
129 2017-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
131 * Makefile (_MAKE_VERSION): 20170711
132 forgot to update after merge on 20170708 ;-)
133 o main.c: refactor to reduce size of main function.
134 add -v option to always fully expand values.
135 o meta.c: ensure command output in meta file has ending newline
136 even when filemon not being used.
137 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
138 pathname via ':L' since any ':' in pathname breaks that.
139 Instead set a '${.p.}' to pathname in the target context and
142 2017-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
144 * Makefile (_MAKE_VERSION): 20170510
145 Merge with NetBSD make, pick up
146 o main.c: Main_SetObjdir: ensure buf2 is in scope
148 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
150 * Makefile (_MAKE_VERSION): 20170505
153 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
155 * parse.c: not everyone has stdint.h
157 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
159 * Makefile (_MAKE_VERSION): 20170501
162 2017-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
164 * Makefile (_MAKE_VERSION): 20170421
165 Merge with NetBSD make, pick up
166 o str.c: Str_Match: fix closure tests for [^] and add unit-test.
168 2017-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
170 * Makefile (_MAKE_VERSION): 20170420
171 Merge with NetBSD make, pick up
172 o main.c: only use -C arg "as is" if it contains no
175 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
177 * Makefile (_MAKE_VERSION): 20170418
178 Merge with NetBSD make, pick up
179 o main.c: fix Main_SetObjdir() for relative paths (eg obj).
181 2017-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
183 * Makefile (_MAKE_VERSION): 20170417
184 Merge with NetBSD make, pick up
185 o fixes a number of coverity complaints
186 - check return value of fseek, fcntl
187 - plug memory leak in Dir_FindFile, Var_LoopExpand,
188 JobPrintCommand, ParseTraditionalInclude
189 - use bmake_malloc() where NULL is not tollerated
190 - use MAKE_ATTR_UNUSED rather that kludges like
191 return(unused ? 0 : 0)
192 - use purge_cached_realpaths() rather than abuse cached_realpath()
194 2017-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
196 * Makefile (_MAKE_VERSION): 20170413
197 Merge with NetBSD make, pick up
198 o main.c: when setting .OBJDIR ignore '$' in paths.
200 * job.c: use MALLOC_OPTIONS to set malloc_options.
202 2017-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
204 * Makefile (_MAKE_VERSION): 20170411
205 Merge with NetBSD make, pick up
206 o str.c: Str_Match: allow [^a-z] to behave as expected.
208 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
210 * Makefile (_MAKE_VERSION): 20170326
211 Merge with NetBSD make, pick up
212 o main.c: purge relative paths from realpath cache when .OBJDIR
215 2017-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
217 * Makefile (_MAKE_VERSION): 20170311
218 Merge with NetBSD make, pick up
219 o main.c: only use -C arg "as is" if it starts with '/'.
221 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
223 * Makefile (_MAKE_VERSION): 20170301
224 Merge with NetBSD make, pick up
225 o main.c: use -C arg "as is" rather than getcwd()
226 if they identify the same directory.
227 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
229 2017-02-01 Simon J. Gerraty <sjg@bad.crufty.net>
231 * Makefile (_MAKE_VERSION): 20170201
232 Merge with NetBSD make, pick up
233 o var.c: allow :_=var and avoid use of special context.
235 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
237 * Makefile (_MAKE_VERSION): 20170130
238 Merge with NetBSD make, pick up
239 o var.c: add :range and :_
240 o main.c: partially initialize Dir_* before MainParseArgs()
242 If -V, skip Main_ExportMAKEFLAGS()
244 2017-01-14 Simon J. Gerraty <sjg@bad.crufty.net>
246 * Makefile (_MAKE_VERSION): 20170114
247 Merge with NetBSD make, pick up
248 o var.c: allow specifying the utc value used by :{gm,local}time
250 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
252 * Makefile (_MAKE_VERSION): 20161212
253 Merge with NetBSD make, pick up
254 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
256 2016-12-09 Simon J. Gerraty <sjg@bad.crufty.net>
258 * Makefile (_MAKE_VERSION): 20161209
259 Merge with NetBSD make, pick up
260 o main.c: cleanup setting of .OBJDIR
261 o parse.c: avoid coredump from (var)=val
263 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
265 * Makefile (_MAKE_VERSION): 20161126
266 Merge with NetBSD make, pick up
267 o make.c: Make_OODate: report src node name if path not set
269 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
271 * Makefile (_MAKE_VERSION): 20160926
272 Merge with NetBSD make, pick up
273 o support for .DELETE_ON_ERROR: (remove targets that fail)
275 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
277 * Makefile MAN: tweak .Dt to match ${PROG}
279 2016-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
281 * Makefile (_MAKE_VERSION): 20160818
282 its a neater number; pick up whitespace fixes to man page.
284 2016-08-17 Simon J. Gerraty <sjg@bad.crufty.net>
286 * Makefile (_MAKE_VERSION): 20160817
287 Merge with NetBSD make, pick up
288 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
289 so we can call it before adding entries to missingFiles.
290 Thus we do not track files we have been told to ignore.
292 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
294 * Makefile (_MAKE_VERSION): 20160815
295 Merge with NetBSD make, pick up
296 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
297 pathnames, and skip if the expansion is empty.
298 Useful for dirdeps.mk when checking DIRDEPS_CACHE.
300 2016-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
302 * Makefile (_MAKE_VERSION): 20160812
303 Merge with NetBSD make, pick up
304 o meta.c: remove all missingFiles entries that match a deleted
306 o main.c: set .ERROR_CMD if possible.
308 2016-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
310 * Makefile (_MAKE_VERSION): 20160606
311 Merge with NetBSD make, pick up
312 o dir.c: extend mtimes cache to others via cached_stat()
314 2016-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
316 * Makefile (_MAKE_VERSION): 20160604
317 Merge with NetBSD make, pick up
318 o meta.c: missing filemon data is only relevant if we read a
320 Also do not return oodate for a missing metafile if gn->path
323 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
325 * Makefile (_MAKE_VERSION): 20160602
326 Merge with NetBSD make, pick up
327 o cached_realpath(): avoid hitting filesystem more than necessary.
328 o meta.c: refactor need_meta decision, add knobs for
329 missing meta file and filemon data wrt out-of-datedness.
331 2016-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
333 * Makefile (_MAKE_VERSION): 20160528
335 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
337 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
339 * Makefile (_MAKE_VERSION): 20160512
340 Merge with NetBSD make, pick up
341 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
342 this is useful for gcov builds.
343 o propagate errors from filemon(4).
345 2016-05-09 Simon J. Gerraty <sjg@bad.crufty.net>
347 * Makefile (_MAKE_VERSION): 20160509
348 Merge with NetBSD make, pick up
349 o remove use of non-standard types u_int etc.
350 o meta.c: apply realpath() before matching against metaIgnorePaths
352 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
354 * Makefile (_MAKE_VERSION): 20160404
355 Merge with NetBSD make, pick up
356 o allow makefile to set .MAKE.JOBS
358 * Makefile (PROG_NAME): use ${_MAKE_VERSION}
360 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
362 * Makefile (_MAKE_VERSION): 20160315
363 Merge with NetBSD make, pick up
364 o fix handling of archive members
366 2016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
368 * Makefile (_MAKE_VERSION): rename variable to avoid interference
369 with checks for ${MAKE_VERSION}
371 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
373 * Makefile (MAKE_VERSION): 20160310
374 Merge with NetBSD make, pick up
375 o meta.c: treat missing Read file same as Write, incase we Delete it.
377 2016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
379 * Makefile (MAKE_VERSION): 20160307
380 Merge with NetBSD make, pick up
381 o var.c: fix :ts\nnn to be octal by default.
382 o meta.c: meta_finish() to cleanup memory.
384 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
386 * Makefile (MAKE_VERSION): 20160226
387 Merge with NetBSD make, pick up
388 o meta.c: allow meta file for makeDepend if makefiles want it.
390 2016-02-19 Simon J. Gerraty <sjg@bad.crufty.net>
392 * var.c: default .MAKE.SAVE_DOLLARS to FALSE
393 for backwards compatability.
395 * Makefile (MAKE_VERSION): 20160220
396 Merge with NetBSD make, pick up
397 o var.c: add knob to control handling of '$$' in :=
399 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
401 * Makefile (MAKE_VERSION): 20160218
402 Merge with NetBSD make, pick up
403 o var.c: add .export-literal allows us to fix sys.clean-env.mk
404 post the changes to Var_Subst.
405 Var_Subst now takes flags, and does not consume '$$' in :=
407 2016-02-17 Simon J. Gerraty <sjg@bad.crufty.net>
409 * Makefile (MAKE_VERSION): 20160217
410 Merge with NetBSD make, pick up
411 o var.c: preserve '$$' in :=
412 o parse.c: add .dinclude for handling included
413 makefile like .depend
415 2015-12-20 Simon J. Gerraty <sjg@bad.crufty.net>
417 * Makefile (MAKE_VERSION): 20151220
418 Merge with NetBSD make, pick up
419 o suff.c: re-initialize suffNull when clearing suffixes.
421 2015-12-01 Simon J. Gerraty <sjg@bad.crufty.net>
423 * Makefile (MAKE_VERSION): 20151201
424 Merge with NetBSD make, pick up
425 o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
426 o meta.c: meta_oodate: use lstat(2) for checking link target
427 in case it is a symlink.
428 o var.c: avoid calling brk_string and Var_Export1 with empty
431 2015-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
433 * Makefile (MAKE_VERSION): 20151126
434 Merge with NetBSD make, pick up
435 o parse.c: ParseTrackInput don't access beyond
438 2015-10-22 Simon J. Gerraty <sjg@bad.crufty.net>
440 * Makefile (MAKE_VERSION): 20151022
442 * Add support for BSD/OS which lacks inttypes.h
443 and really needs sys/param.h for sys/sysctl.h
444 also 'type' is not a shell builtin.
446 * var.c: eliminate uint32_t and need for inttypes.h
448 * main.c: PrintOnError flush stdout before run .ERROR
450 * parse.c: cope with _SC_PAGESIZE not being defined.
453 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
455 * Makefile (MAKE_VERSION): 20151020
456 Merge with NetBSD make, pick up
457 o var.c: fix uninitialized var
459 2015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
461 * var.c: the conditional expressions used with ':?' can be
462 expensive, if already discarding do not evaluate or expand
465 2015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
467 * Makefile (MAKE_VERSION): 20151010
468 Merge with NetBSD make, pick up
469 o Add Boolean wantit flag to Var_Subst and Var_Parse
470 when FALSE we know we are discarding the result and can
471 skip operations like Cmd_Exec.
473 2015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
475 * Makefile (MAKE_VERSION): 20151009
476 Merge with NetBSD make, pick up
477 o var.c: don't check for NULL before free()
478 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
480 2015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
482 * Makefile (MAKE_VERSION): 20150910
483 Merge with NetBSD make, pick up
484 o main.c: with -w print Enter/Leaving messages for objdir too
486 o centralize shell metachar handling
488 * FILES: add metachar.[ch]
490 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
492 * Makefile (MAKE_VERSION): 20150606
493 Merge with NetBSD make, pick up
494 o make.1: document .OBJDIR target
496 2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
498 * Makefile (MAKE_VERSION): 20150505
499 Merge with NetBSD make, pick up
500 o cond.c: be strict about lhs of comparison when evaluating .if
501 but less so when called from variable expansion.
502 o unit-tests/cond2.mk: test various error conditions
504 2015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
506 * machine.sh (MACHINE): Add Bitrig
507 patch from joerg@netbsd.org
509 2015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
511 * Makefile (MAKE_VERSION): 20150418
512 Merge with NetBSD make, pick up
513 o job.c: use memmove() rather than memcpy()
515 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
518 2015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
520 * Makefile (MAKE_VERSION): 20150411
521 bump version - only mk/ changes.
523 2015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
525 * Makefile (MAKE_VERSION): 20150410
526 Merge with NetBSD make, pick up
527 o document different handling of '-' in jobs mode vs compat
528 o fix jobs mode so that '-' only applies to whole job
529 when shell lacks hasErrCtl
530 o meta.c: use separate vars to track lcwd and latestdir (read)
533 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
535 * Makefile (MAKE_VERSION): 20150401
536 Merge with NetBSD make, pick up
537 o meta.c: close meta file in child
539 * Makefile: use BINDIR.bmake if set.
540 Same for MANDIR and SHAREDIR
541 Handy for testing release candidates
542 in various environments.
544 2015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
546 * move initialization of savederr to block where it is used
547 to avoid spurious warning from gcc5
549 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
551 * Makefile (MAKE_VERSION): 20141111
554 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
556 * Makefile (MAKE_VERSION): 20141105
557 Merge with NetBSD make, pick up
558 o revert major overhaul of suffix handling
559 and POSIX compliance - too much breakage
560 and impossible to make backwards compatible.
561 o we still have the new unit test structure which is ok.
562 o meta.c ensure "-- filemon" is at start of line.
564 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
566 * configure.in: test that result of getconf PATH_MAX is numeric
567 and discard if not. Apparently needed for Hurd.
569 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
571 * Makefile (MAKE_VERSION): 20140830
572 Merge with NetBSD make, pick up
573 o major overhaul of suffix handling
574 o improved POSIX compliance
575 o overhauled unit-tests
577 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
579 * Makefile (MAKE_VERSION): 20140620
580 Merge with NetBSD make, pick up
581 o var.c return varNoError rather than var_Error for ::= modifiers.
583 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
585 * Makefile (MAKE_VERSION): 20140522
586 Merge with NetBSD make, pick up
587 o var.c detect some parse errors.
589 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
591 * Fix spelling errors - patch from Pedro Giffuni
593 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
595 * Makefile (MAKE_VERSION): 20140214
596 Merge with NetBSD make, pick up
598 o use Var_Value to get MAKEOBJDIR[PREFIX]
599 o reduced realloc'ign in brk_string.
600 * configure.in: add a check for compiler supporting __func__
602 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
604 * boot-strap: ignore mksrc=none
606 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
608 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
610 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
612 * Makefile (MAKE_VERSION): 20140101
613 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
614 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
615 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
617 * configure.in: Add AC_PREREQ and check for
618 sysctl; patch from Andrew Shadura andrewsh at debian.org
620 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
622 * Makefile (MAKE_VERSION): 20131010
623 * lose the const from arg to systcl to avoid problems on older BSDs.
625 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
627 * Makefile (MAKE_VERSION): 20131001
628 Merge with NetBSD make, pick up
629 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
630 hw.machine_arch if necessary.
631 o meta.c: meta_oodate - need to look at src of Link and target
633 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
634 provide __arraycount() if needed.
636 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
638 * Makefile (MAKE_VERSION): 20130904
639 Merge with NetBSD make, pick up
640 o Add VAR_INTERNAL context, so that internal setting of
641 MAKEFILE does not override value set by makefiles.
643 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
645 * Makefile (MAKE_VERSION): 20130902
646 Merge with NetBSD make, pick up
647 o CompatRunCommand: only apply shellErrFlag when errCheck is true
649 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
651 * Makefile (MAKE_VERSION): 20130828
652 Merge with NetBSD make, pick up
653 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
654 o Call Job_SetPrefix() from Job_Init() so makefiles have
655 opportunity to set .MAKE.JOB.PREFIX
657 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
659 * Makefile (MAKE_VERSION): 20130730
660 Merge with NetBSD make, pick up
661 o Allow suppression of --- job -- tokens by setting
662 .MAKE.JOB.PREFIX empty.
664 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
666 * Makefile (MAKE_VERSION): 20130716
667 Merge with NetBSD make, pick up
668 o number of gmake compatibility tweaks
669 -w for gmake style entering/leaving messages
670 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
671 handle MAKEFLAGS containing only letters.
672 o when overriding a GLOBAL variable on the command line,
673 delete it from GLOBAL context so -V doesn't show the wrong
676 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
678 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
680 * Makefile (MAKE_VERSION): 20130706
681 Merge with NetBSD make, pick up
682 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
683 true so that CompatRunCommand() can use it, to ensure
684 consistent behavior with jobs mode.
685 o use MAKE_LEVEL_ENV to define the variable to propagate
686 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
687 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
690 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
692 * Makefile (MAKE_VERSION): 20130604
693 Merge with NetBSD make, pick up
694 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
695 to avoid leaking descriptors.
697 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
699 * Makefile (MAKE_VERSION): 20130528
700 Merge with NetBSD make, pick up
701 o var.c: cleanup some left-overs in VarHash()
703 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
705 * Makefile (MAKE_VERSION): 20130520
706 generate manifest from component FILES rather than have to
707 update FILES when mk/FILES changes.
709 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
711 * Makefile (MAKE_VERSION): 20130518
712 Merge with NetBSD make, pick up
713 o suff.c: don't skip all processsing for .PHONY targets
714 else wildcard srcs do not get expanded.
715 o var.c: expand name of variable to delete if necessary.
717 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
719 * Makefile (MAKE_VERSION): 20130330
720 Merge with NetBSD make, pick up
721 o meta.c: refine the handling of .OODATE in commands.
722 Rather than suppress command comparison for the entire script
723 as though .NOMETA_CMP had been used, only suppress it for the
725 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
726 suppress comparison of a command without otherwise affecting it.
727 o make.1: document that
729 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
731 * Makefile (MAKE_VERSION): 20130321
732 yes, not quite right but its a cooler number.
733 Merge with NetBSD make, pick up
734 o parse.c: fix ParseGmakeExport to be portable
736 * meta.c: call meta_init() before makefiles are read and if built
737 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
738 this let's makefiles test for support.
739 Call meta_mode_init() to process .MAKE.MODE.
741 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
743 * Makefile (MAKE_VERSION): 20130305
744 Merge with NetBSD make, pick up
745 o run .STALE: target when a dependency from .depend is missing.
746 o job.c: add Job_RunTarget() for the above and .BEGIN
748 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
750 * Makefile (MAKE_VERSION): 20130303
751 Merge with NetBSD make, pick up
752 o main.c: set .MAKE.OS to utsname.sysname
753 o job.c: more checks for read and poll errors
754 o var.c: lose VarChangeCase() saves 4% time
756 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
758 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
759 want to use MAKEOBJDIR
761 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
763 * Merge with NetBSD make, pick up
764 o make.1: more info on how shell commands are handled.
765 o job.c,main.c: detect write errors to job pipes.
767 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
769 * Makefile (MAKE_VERSION): 20130123
770 Merge with NetBSD make, pick up
771 o meta.c: if script uses .OODATE and meta_oodate() decides
772 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
773 o var.c: in debug output indicate which variabale modifiers
775 o remove Check_Cwd logic the makefiles have been fixed.
777 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
779 * makefile.in: add a simple makefile for folk who insist on
780 ./configure; make; make install
781 it just runs boot-strap
782 * include mk/* to accommodate the above
783 * boot-strap: re-work to accommodate the above
784 mksrc defaults to $Mydir/mk
785 allow op={configure,build,install,clean,all}
786 add options to facilitate install
787 * Makefile.config.in: just the bits set by configure
788 * Makefile: bump version to 20121212
789 abandon Makefile.in (NetBSD Makefile)
790 leverage mk/* instead
791 * configure.in: ensure srcdir is absolute
793 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
795 * Makefile.in (MAKE_VERSION): 20121111
796 fix generation of bmake.cat1
798 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
800 * Makefile.in (MAKE_VERSION): 20121109
801 Merge with NetBSD make, pick up
802 o make.c: MakeBuildChild: return 0 so search continues if a
803 .ORDER dependency is detected.
804 o unit-tests/order: test the above
806 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
808 * Makefile.in (MAKE_VERSION): 20121102
809 Merge with NetBSD make, pick up
810 o cond.c: allow cond_state[] to grow.
811 In meta mode with a very large tree, we can hit the limit
812 while processing dirdeps.
814 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
816 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
818 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
820 * Makefile.in (MAKE_VERSION): 20121010
821 o protect syntax that only bmake parses correctly.
822 o remove auto setting of FORCE_MACHINE, use configure's
823 --with-force-machine=whatever if that is desired.
825 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
827 * Makefile.in: do not lose history from make.1 when generating bmake.1
829 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
831 * Makefile.in (MAKE_VERSION): 20121007
832 Merge with NetBSD make, pick up
833 o compat.c: ignore empty commands - same as jobs mode.
834 o make.1: document meta chars that cause use of shell
836 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
838 * Makefile.in (MAKE_VERSION): bump version to 20120911
839 * bsd.after-import.mk: include Makefile.inc early and allow it to
842 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
844 * Makefile.in (MAKE_VERSION): bump version to 20120831
845 Merge with NetBSD make, pick up
846 o cast sizeof() to int for comparison
849 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
851 * Makefile.in (MAKE_VERSION): bump version to 20120830
852 Merge with NetBSD make, pick up
853 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
854 o debug flag -dV causes -V to show raw value regardless.
856 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
858 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
861 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
863 * Makefile.in (MAKE_VERSION): bump version to 20120704
864 Merge with NetBSD make, pick up
865 o Job_ParseShell should call Shell_Init if it has been
867 * Makefile.in: set USE_META based on configure result.
868 also .PARSEDIR is safer indicator of bmake.
870 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
872 * Makefile.in: bump version to 20120626
873 ensure CPPFLAGS is in CFLAGS
874 * meta.c: avoid nested externs
875 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
877 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
879 * Makefile.in (MAKE_VERSION): bump version to 20120620
880 Merge with NetBSD make, pick up
881 o make_malloc.c: avoid including make_malloc.h again
883 * Makefile.in: avoid bmake only syntax or protect with
884 .if defined(.MAKE.LEVEL)
885 * bsd.after-import.mk: replace .-include with .sinclude
886 ensure? SRCTOP gets a value
887 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
889 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
891 * Makefile.in (MAKE_VERSION): bump version to 20120612
892 Merge with NetBSD make, pick up
893 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
894 for greater portability.
895 o unit-tests/forloop: check that .for works as expected wrt
896 number of times and with "quoted strings".
898 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
900 * Makefile.in (MAKE_VERSION): bump version to 20120606
901 Merge with NetBSD make, pick up
902 o compat.c: use kill(2) rather than raise(3).
903 * configure.in: look for sys/dev/filemon
904 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
905 and pass BOOTSTRAP_XTRAS to boot-strap.
907 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
909 * Makefile.in (MAKE_VERSION): bump version to 20120604
910 Merge with NetBSD make, pick up
911 o util.c and var.c share same var for tracking if environ
912 has been reallocated.
913 o util.c provide getenv with setenv.
914 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
915 when the shell actively strips .MAKE.* from the environment.
916 We still refer to the variable always as .MAKE.LEVEL
917 * util.c fix bug in findenv() was finding prefix of name.
918 * compat.c: re-raising SIGINT etc after running .INTERRUPT
919 results in more reliable termination of all activity on many
922 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
924 * Makefile.in (MAKE_VERSION): bump version to 20120602
925 Merge with NetBSD make, pick up
926 o for.c: handle quoted items in .for list
928 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
930 * Makefile.in (MAKE_VERSION): bump version to 20120530
931 Merge with NetBSD make, pick up
932 o compat.c: ignore empty command.
934 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
936 * Makefile.in (MAKE_VERSION): bump version to 20120524
937 * FILES: add bsd.after-import.mk:
938 A simple means of integrating bmake into a BSD build system.
940 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
942 * Makefile.in (MAKE_VERSION): bump version to 20120520
943 Merge with NetBSD make, pick up
944 o increased limit for nested conditionals.
946 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
948 * Makefile.in (MAKE_VERSION): bump version to 20120518
949 Merge with NetBSD make, pick up
950 o use _exit(2) in signal hanlder
951 o Don't use the [dir] cache when building nodes that might have
952 changed since the last exec.
953 o Avoid nested extern declaration warnings.
955 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
957 * meta.c (fgetLine): avoid %z - not portable.
958 * parse.c: Since we moved include of sys/mman.h
959 and def's of MAP_COPY etc. we got dups from a merge.
961 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
963 * Makefile.in (MAKE_VERSION): bump version to 20120420
964 Merge with NetBSD make, pick up
965 o restore duplicate supression in .MAKE.MAKEFILES
966 runtime saving can be significant.
967 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
968 consumption up to 20%.
970 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
972 * Makefile.in (MAKE_VERSION): bump version to 20120420
973 Merge with NetBSD make, pick up
974 o remove duplicate supression in .MAKE.MAKEFILES
975 o improved dir cache behavior
976 o gmake'ish export command
978 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
980 * Makefile.in (MAKE_VERSION): bump version to 20120325
981 Merge with NetBSD make, pick up
982 o fix parsing of :[#] in conditionals.
984 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
986 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
987 since some systems cannot cope with .Nx <version>
989 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
991 * Makefile.in (MAKE_VERSION): bump version to 20111111
992 Merge with NetBSD make, pick up
993 o debug output for .PARSEDIR and .PARSEFILE
995 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
997 * Makefile.in (MAKE_VERSION): bump version to 20111010
999 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
1001 * boot-strap: check for an expected file in the dirs we look for.
1002 * make-bootstrap.sh: pass on LDSTATIC
1004 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
1006 * Makefile.in (MAKE_VERSION): bump version to 20111001
1007 Merge with NetBSD make, pick up
1008 o ensure .PREFIX is set for .PHONY
1009 and .TARGET set for .PHONY run via .END
1010 o __dead used consistently
1012 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
1014 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
1016 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
1018 * Makefile.in (MAKE_VERSION): bump version to 20110905
1019 Merge with NetBSD make, pick up
1020 o meta_oodate: ignore makeDependfile
1022 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
1024 * Makefile.in (MAKE_VERSION): bump version to 20110828
1025 Merge with NetBSD make, pick up
1026 o silent=yes in .MAKE.MODE causes meta mode to mark targets
1027 as SILENT if a .meta file is created
1029 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
1031 * Makefile.in (MAKE_VERSION): bump version to 20110818
1032 Merge with NetBSD make, pick up
1033 o in meta mode, if target flagged .META a missing .meta file
1034 means target is out-of-date
1035 o fixes for gcc 4.5 warnings
1036 o simplify job printing code
1038 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
1040 * Makefile.in (MAKE_VERSION): bump version to 20110808
1041 Merge with NetBSD make, pick up
1042 o do not touch OP_SPECIAL targets when doing make -t
1044 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
1046 * Makefile.in (MAKE_VERSION): bump version to 20110622
1047 Merge with NetBSD make, pick up
1048 o meta_oodate detect corrupted .meta file and declare oodate.
1049 * configure.in: add check for setsid
1051 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
1053 * Merge with NetBSD make, pick up
1054 o unit-tests/modts now works on MirBSD
1056 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1058 * Makefile.in (MAKE_VERSION): bump version to 20110606
1059 Merge with NetBSD make, pick up
1060 o ApplyModifiers: when we parse a variable which is not
1061 the entire modifier string, or not followed by ':', do not
1062 consider it as containing modifiers.
1063 o loadfile: ensure newline at end of mapped file.
1065 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1067 * Makefile.in (MAKE_VERSION): bump version to 20110505
1068 Merge with NetBSD make, pick up
1069 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
1070 of make's control. In meta mode, any generated file within
1071 said bailiwick, which is found to be missing, causes current
1072 target to be out-of-date.
1074 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
1076 * Makefile.in (MAKE_VERSION): bump version to 20110411
1077 Merge with NetBSD make, pick up
1078 o when long modifiers fail to match, check sysV style.
1081 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
1083 * Makefile.in (MAKE_VERSION): bump version to 20110410
1084 Merge with NetBSD make, pick up
1085 o :hash - cheap 32bit hash of value
1086 o :localtime, :gmtime - use value as format string for strftime.
1088 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1090 * Makefile.in (MAKE_VERSION): bump version to 20110330
1091 mostly because its a cooler version.
1092 Merge with NetBSD make, pick up
1093 o NetBSD tags for meta.[ch]
1094 o job.c call meta_job_finish() after meta_job_error().
1095 o meta_job_error() should call meta_job_finish() to ensure
1096 .meta file is closed, and safe to copy - if .ERROR target wants.
1097 meta_job_finish() is safe to call repeatedly.
1099 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
1101 * unit-tests/modts: use printf if it is a builtin,
1102 to save us from MirBSD
1104 * Makefile.in (MAKE_VERSION): bump version to 20110329
1105 Merge with NetBSD make, pick up
1106 o fix for use after free() in CondDoExists().
1107 o meta_oodate() report extra commands and return earlier.
1109 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
1111 * Makefile.in (MAKE_VERSION): bump version to 20110327
1112 Merge with NetBSD make, pick up
1113 o meta.c, if .MAKE.MODE contains curdirOk=yes
1114 allow creating .meta files in .CURDIR
1115 * boot-strap (TOOL_DIFF): aparently at least on linux distro
1116 formats the output of 'type' differently - so eat any "()"
1118 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
1120 * Makefile.in (MAKE_VERSION): bump version to 20110306
1121 Merge with NetBSD make, pick up
1122 o meta.c, only do getcwd() once
1124 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
1126 * Makefile.in (MAKE_VERSION): bump version to 20110305
1127 Merge with NetBSD make, pick up
1128 o correct sysV substitution handling of empty lhs and variable
1129 o correct exists() check for dir with trailing /
1130 o correct handling of modifiers for non-existant variables
1131 during evaluation of conditionals.
1132 o ensure MAP_FILE is defined.
1133 o meta.c use curdir[] now exported by main.c
1135 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
1137 * Makefile.in (MAKE_VERSION): bump version to 20110225
1138 Merge with NetBSD make, pick up
1139 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1140 makefiles have been read.
1141 o fix example of :? modifier in man page.
1143 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
1145 * Makefile.in (MAKE_VERSION): bump version to 20110214
1146 Merge with NetBSD make, pick up
1147 o meta.c handle realpath() failing when generating meta file
1150 * sigcompat.c: convert to ansi so we can use higher warning levels.
1153 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
1155 * Makefile.in (MAKE_VERSION): bump version to 20110207
1156 Merge with NetBSD make, pick up
1157 o fix for bug in meta mode.
1159 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
1161 * parse.c: SunOS 5.8 at least does not have MAP_FILE
1163 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
1165 * Makefile.in (MAKE_VERSION): bump version to 20110101
1166 Merge with NetBSD make, pick up
1167 o use mmap(2) if available, for reading makefiles
1169 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
1171 * Makefile.in (MAKE_VERSION): bump version to 20101215
1172 Merge with NetBSD make, pick up
1173 o ensure meta_job_error() does not report a previous .meta file
1176 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
1178 * Makefile.in (MAKE_VERSION): bump version to 20101210
1179 Merge with NetBSD make, pick up
1180 o meta_oodate: track cwd per process, and only consider target
1181 out-of-date if missing file is outside make's CWD.
1182 Ignore files in /tmp/ etc.
1183 o to ensure unit-tests results match, need to control LC_ALL
1185 o fix for parsing bug in var.c
1187 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
1189 * Makefile.in (MAKE_VERSION): bump version to 20101126
1190 Merge with NetBSD make, pick up
1191 o if stale dependency is an IMPSRC, search via .PATH
1192 o meta_oodate: if a referenced file is missing, target is
1194 o meta_oodate: if a target uses .OODATE in its commands,
1195 it (.OODATE) needs to be recomputed.
1196 o keep a pointer to youngest child node, rather than just its
1199 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
1201 * Makefile.in (MAKE_VERSION): bump version to 20101101
1203 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
1205 * machine.sh: like os.sh,
1206 allow for uname -p producing useless drivel
1208 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
1210 * boot-strap: document configure knobs for meta and filemon.
1212 * Makefile.in (MAKE_VERSION): bump version to 20100911
1213 Merge with NetBSD make, pick up
1214 o meta.c - meta mode
1216 * make-bootstrap.sh.in: handle meta.c
1217 * configure.in: add knobs for use_meta and filemon_h
1218 also, look for dirname, str[e]sep and strlcpy
1219 * util.c: add simple err[x] and warn[x]
1221 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1223 * boot-strap (TOOL_DIFF): set this to ensure tests use
1224 the same version of diff that configure tested
1226 * Makefile.in (MAKE_VERSION): bump version to 20100808
1227 Merge with NetBSD make, pick up
1228 o in jobs mode, when we discover we cannot make something,
1229 call PrintOnError before exit.
1231 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
1233 * Makefile.in (MAKE_VERSION): bump version to 20100806
1234 Merge with NetBSD make, pick up
1235 o formatting fixes for ignored errors
1236 o ensure jobs are cleaned up regardless of where wait() was called.
1238 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
1240 * Makefile.in (MAKE_VERSION): bump version to 20100618
1241 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1243 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
1245 * Makefile.in (MAKE_VERSION): bump version to 20100616
1246 Merge with NetBSD make, pick up
1248 o call PrintOnError from JobFinish when we detect an error we
1251 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1253 * Makefile.in (MAKE_VERSION): bump version to 20100606
1254 Merge with NetBSD make, pick up
1257 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
1259 * Makefile.in (MAKE_VERSION): bump version to 20100605
1260 Merge with NetBSD make, pick up
1261 o use bmake_signal() which is a wrapper around sigaction()
1262 in place of signal()
1263 o add .export-env to allow exporting variables to environment
1264 without tracking (so no re-export when the internal value is
1267 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1269 * Makefile.in (MAKE_VERSION): bump version to 20100524
1270 Merge with NetBSD make, pick up
1271 o fix for .info et al being greedy.
1273 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
1275 * Makefile.in (MAKE_VERSION): bump version to 20100520
1276 Merge with NetBSD make, pick up
1277 o back to using realpath on argv[0]
1278 but only if contains '/' and does not start with '/'.
1280 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
1282 * boot-strap: use absolute path for bmake when running tests.
1284 * Makefile.in (MAKE_VERSION): bump version to 20100510
1285 Merge with NetBSD make, pick up
1286 o revert use of realpath on argv[0]
1287 too many corner cases.
1288 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1290 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1292 * Makefile.in (MAKE_VERSION): bump version to 20100505
1293 Merge with NetBSD make, pick up
1294 o fix for missed SIGCHLD when compiled with SunPRO
1295 actually for bmake, defining FORCE_POSIX_SIGNALS would have
1298 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
1300 * Makefile.in (MAKE_VERSION): bump version to 20100430
1301 Merge with NetBSD make, pick up
1302 o fflush stdout before writing to stdout
1304 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
1306 * Makefile.in (MAKE_VERSION): bump version to 20100423
1307 Merge with NetBSD make, pick up
1308 o updated unit tests for Haiku (this time for sure).
1309 * boot-strap: based on patch from joerg
1310 honor --with-default-sys-path better.
1311 * boot-strap: remove mention of --with-prefix-sys-path
1313 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
1315 * Makefile.in (MAKE_VERSION): bump version to 20100422
1316 * Merge with NetBSD make, pick up
1317 o fix for vfork() on Darwin.
1318 o fix for bogus $TMPDIR.
1319 o set .MAKE.MODE=compat for -B
1320 o set .MAKE.JOBS=max_jobs for -j max_jobs
1321 o allow unit-tests to run without any *.mk
1322 o unit-tests/modmisc be more conservative in dirs presumed to exist.
1323 * boot-strap: ignore /usr/share/mk except on NetBSD.
1324 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
1325 ensure sort(1) behaves as expected.
1327 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
1329 * boot-strap: add FindHereOrAbove so we can use -m .../mk
1331 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1333 * Makefile.in (MAKE_VERSION): bump version to 20100420
1334 * Merge with NetBSD make, pick up
1335 o fix for variable realpath() behavior.
1336 we have to stat(2) the result to be sure.
1337 o fix for .export (all) when nested vars use :sh
1339 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
1341 * Makefile.in (MAKE_VERSION): bump version to 20100414
1342 * Merge with NetBSD make, pick up
1343 o use realpath to resolve argv[0] (for .MAKE) if needed.
1344 o add realpath from libc.
1345 o add :tA to resolve variable via realpath(3) if possible.
1347 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
1349 * Makefile.in (MAKE_VERSION): bump version to 20100408
1350 * Merge with NetBSD make, pick up
1351 o unit tests for .ERROR, .error
1352 o fix for .ERROR to ensure it cannot be default target.
1354 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
1356 * Makefile.in (MAKE_VERSION): bump version to 20100406
1357 * Merge with NetBSD make, pick up
1358 o fix for compat mode "Error code" going to debug_file.
1359 o fix for .ALLSRC being populated twice.
1360 o support for .info, .warning and .error directives
1361 o .MAKE.MODE to control make's operational mode
1362 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1364 o .MAKE.DEPENDFILE to control the name of the depend file
1365 o .ERROR target - run on failure.
1367 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
1369 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1371 * os.sh,arch.c: patch for Haiku from joerg at netbsd
1373 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
1375 * Makefile.in (MAKE_VERSION): bump version to 20100222
1376 * Merge with NetBSD make, pick up
1377 o better error msg for .for with mutiple inter vars
1380 o use make-bootstrap.sh from joerg at netbsd
1381 to avoid the need for a native make when bootstrapping.
1382 o add "" everywhere ;-)
1383 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1384 otherwise the pre-formated version.
1386 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1388 * Makefile.in (MAKE_VERSION): bump version to 20100102
1389 * Merge with NetBSD make, pick up:
1392 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
1394 * Makefile.in (MAKE_VERSION): bump version to 20091118
1395 * Merge with NetBSD make, pick up:
1397 o report lines that start with '.' and should have ':'
1398 (catch typo's of .el*if).
1400 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1402 * configure.in: Ensure that srcdir and mksrc are absolute paths.
1404 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1406 * Makefile.in (MAKE_VERSION): fix version to 20091007
1408 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
1410 * Makefile.in (MAKE_VERSION): bump version to 200910007
1411 * Merge with NetBSD make, pick up:
1412 o fix for parsing of :S;...;...; applied to .for loop iterator
1413 appearing in a dependency line.
1415 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1417 * Makefile.in (MAKE_VERSION): bump version to 20090909
1418 * Merge with NetBSD make, pick up:
1419 o fix for -C, .CURDIR and .OBJDIR
1421 o allow share_dir to be set independent of prefix.
1422 o select default share_dir better when prefix ends in $HOST_TARGET
1423 o if FORCE_BSD_MK etc were set, include them in the suggested
1426 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1428 * Makefile.in (MAKE_VERSION): bump version to 20090908
1429 * Merge with NetBSD make, pick up:
1430 o .MAKE.LEVEL for recursion tracking
1431 o fix for :M scanning \:
1433 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1435 * configure.in: Don't -D__EXTENSIONS__ if
1436 AC_USE_SYSTEM_EXTENSIONS says "no".
1438 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
1440 * Makefile.in (MAKE_VERSION): bump version to 20090826
1441 Simplify MAKE_VERSION to just the bare date.
1442 * Merge with NetBSD make, pick up:
1443 o -C directory support.
1444 o support for SIGINFO
1445 o use $TMPDIR for temp files.
1446 o child of vfork should be careful about modifying parent's state.
1449 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1451 * Appy some patches for MiNT from David Brownlee
1453 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
1455 * Makefile.in (BMAKE_VERSION): bump version to 20090222
1456 * Merge with NetBSD make, pick up:
1457 o Possible null pointer de-ref in Var_Set.
1459 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
1461 * Makefile.in (BMAKE_VERSION): bump version to 20090204
1462 * Merge with NetBSD make, pick up:
1463 o bmake_malloc et al moved to their own .c
1464 o Count both () and {} when looking for the end of a :M pattern
1465 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1466 o strlist.c - functions for processing extendable arrays of pointers to strings.
1467 o ClientData replaced with void *, so const void * can be used.
1468 o New debug flag C for DEBUG_CWD
1470 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1472 * Makefile.in (BMAKE_VERSION): bump version to 20081111
1473 Apply patch from Joerg Sonnenberge to
1475 o remove some redundant checks
1476 o check for emlloc etc only in libutil and require the whole family.
1478 o remove [v]asprintf which is no longer used.
1480 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1482 * Makefile.in (BMAKE_VERSION): bump version to 20081101
1483 * Merge with NetBSD make, pick up:
1484 o util.c: avoid use of putenv() - christos
1486 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1488 * Makefile.in (BMAKE_VERSION): bump version to 20081030
1489 pick up man page tweaks.
1491 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
1493 * Makefile.in: move processing of LIBOBJS to after is definition!
1494 thus we'll have getenv.c in SRCS only if needed.
1496 * make.1: add examples of how to use :?
1498 * Makefile.in (BMAKE_VERSION): bump version to 20081029
1499 * Merge with NetBSD make, pick up:
1500 o fix for .END processing with -j
1501 o segfault from Parse_Error when no makefile is open
1502 o handle numeric expressions in any variable expansion
1503 o debug output now defaults to stderr, -dF to change it - apb
1504 o make now uses bmake_malloc etc so that it can build natively
1505 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1507 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
1509 * Makefile.in (BMAKE_VERSION): bump version to 20080808
1510 * Merge with NetBSD make, pick up:
1511 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1512 long lines in Makefiles
1513 o optimizations for VarQuote by joerg
1514 o fix for PR/38756: dominik: make dumps core on invalid makefile
1516 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
1518 * Makefile.in (BMAKE_VERSION): bump version to 20080515
1519 * Merge with NetBSD make, pick up:
1520 o fix skip setting vars in VAR_GLOBAL context, to handle
1521 cases where VAR_CMD is used for other than command line vars.
1523 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
1525 * boot-strap (make_version): we may need to look in
1526 $prefix/share/mk for sys.mk
1528 * Makefile.in (BMAKE_VERSION): bump version to 20080514
1529 * Merge with NetBSD make, pick up:
1530 o skip setting vars in VAR_GLOBAL context, when already set in
1531 VAR_CMD which takes precedence.
1533 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
1535 * Makefile.in (BMAKE_VERSION): bump version to 20080330
1536 * Merge with NetBSD make, pick up:
1537 o fix for ?= when LHS contains variable reference.
1539 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1541 * merge some patches from NetBSD pkgsrc.
1543 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1544 the MAKSYSPATH used during bootstrap.
1546 * Makefile.in (BMAKE_VERSION): bump version to 20080215
1547 * Merge with NetBSD make, pick up:
1548 o warn if non-space chars follow 'empty' in a conditional.
1550 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1552 * Makefile.in (BMAKE_VERSION): bump version to 20080118
1553 * Merge with NetBSD make, pick up:
1554 o consider dependencies read from .depend as optional - dsl
1555 o remember when buffer for reading makefile grows - dsl
1556 o add -dl (aka LOUD) - David O'Brien
1558 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
1560 * Makefile.in (BMAKE_VERSION): bump version to 20071022
1561 * Merge with NetBSD make, pick up:
1562 o Allow .PATH<suffix> to be used for .include ""
1564 * boot-strap: source default settings from .bmake-boot-strap.rc
1566 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
1568 * Makefile.in: fix maninstall on various systems
1569 provided that our man.mk is used.
1570 For non-BSD systems we install the preformatted page
1573 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
1575 * boot-strap: make bmake.1 too, so maninstall works.
1577 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1579 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1580 * Merge with NetBSD make, pick up:
1581 o revamped handling of defshell - configure no longer needs to
1582 know the content of the shells array - apb
1583 o stop Var_Subst modifying its input - apb
1584 o avoid calling ParseTrackInput too often - dsl
1586 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1588 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1589 * Merge with NetBSD make, pick up:
1590 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1592 * sigcompat.c: some tweaks for HP-UX 11.x based on
1593 patch from Tobias Nygren
1595 * configure.in: update handling of --with-defshell to match
1596 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1597 will now do what one might hope - provided the chosen shell
1598 behaves enough like sh.
1600 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1602 * Makefile.in (BMAKE_VERSION): bump to 20071008
1603 * Merge with NetBSD make, pick up:
1604 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1605 o .export/.MAKE.EXPORTED - export of variables - sjg
1606 o .MAKE.MAKEFILES - track all makefiles read - sjg
1607 o performance improvements - dsl
1608 o revamp parallel job scheduling - dsl
1610 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1612 * Makefile.in (BMAKE_VERSION): bump to 20060728
1613 * Merge with NetBSD make, pick up:
1614 o extra debug info during variable and cond processing - sjg
1615 o shell definition now covers newline - rillig
1616 o minor mem leak in PrintOnError - sjg
1618 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1620 * Makefile.in (BMAKE_VERSION): bump to 20060511
1621 * Merge with NetBSD make, pick up:
1622 o more memory leaks - coverity
1623 o possible overflow in ArchFindMember - coverity
1624 o extract variable modifier code out of Var_Parse()
1625 so it can be called recursively - sjg
1626 o unit-tests/moderrs - sjg
1628 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1630 * Makefile.in (BMAKE_VERSION): bump to 20060412
1631 * Merge with NetBSD make, pick up:
1632 o fixes for some memory leaks - coverity
1633 o only read first sys.mk etc when searching sysIncPath - sjg
1635 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1636 setting ${MAKEFILE} - OBATA Akio
1638 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1640 * Makefile.in (BMAKE_VERSION): bump to 20060318
1641 * Merge with NetBSD make, pick up:
1642 o cleanup of job.c to remove remote handling, distcc is more
1643 useful and this code was likely bit-rotting - dsl
1644 o fix for :P modifier - sjg
1645 * boot-strap: set default prefix to something reasonable
1648 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1650 * Makefile.in (BMAKE_VERSION): bump to 20060301
1651 * Merge with NetBSD make, pick up:
1652 o make .WAIT apply recursively, document and test case - apb
1653 o allow variable modifiers in a variable appear anywhere in
1654 modifier list, document and test case - sjg
1656 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1658 * Makefile.in (BMAKE_VERSION): bump to 20060222
1659 * Merge with NetBSD make, pick up:
1660 o improved job token handling - dsl
1661 o SIG_DFL the correct signal before exec - dsl
1662 o more debug info during parsing - dsl
1663 o allow variable modifiers to be specified via variable - sjg
1664 * boot-strap: explain why we died if no mksrc
1666 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1668 * Makefile.in (BMAKE_VERSION): bump to 20051105
1669 * configure.in: always set default_sys_path
1670 default is ${prefix}/share/mk
1671 - remove prefix_sys_path, anyone wanting more than above
1672 needs to set it manually.
1674 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1676 * boot-strap: make this a bit easier for pkgsrc folk.
1677 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1678 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1680 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1682 * Makefile.in (BMAKE_VERSION): bump to 20051102
1683 * job.c (JobFinish): fix likely ancient merge lossage
1684 fix from Todd Vierling.
1685 * boot-strap (srcdir): allow setting mksrc=none
1687 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1689 * Makefile.in (BMAKE_VERSION): bump to 20051031
1690 * ranlib.h: skip on OSF too.
1693 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1695 * Makefile.in (BMAKE_VERSION): bump to 20051002
1698 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1700 * Makefile.in (BMAKE_VERSION): bump to 20051001
1701 support for UnixWare and some other systems,
1702 based on patches from pkgsrc/bootstrap
1704 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1706 * Makefile.in (BMAKE_VERSION): bump to 20050901
1707 * Merge with NetBSD make, pick up:
1708 o possible parse error causing us to wander off.
1710 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1712 * Makefile.in (BMAKE_VERSION): bump to 20050606
1713 * Merge with NetBSD make, pick up:
1714 o :0x modifier for randomizing a list
1715 o fixes for a number of -Wuninitialized issues.
1717 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1719 * Makefile.in (BMAKE_VERSION): bump to 20050530
1720 * Merge with NetBSD make, pick up:
1721 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1723 * README: was seriously out of date.
1725 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1727 * Important to use .MAKE rather than MAKE.
1729 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1731 * Makefile.in (BMAKE_VERSION): bump to 20050315
1732 * Merge with NetBSD make, pick up:
1733 o don't mistake .elsefoo for .else
1734 o use suffix-specific search path correctly
1735 o bunch of style nits
1737 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1740 o ensure that args to --src and --with-mksrc
1741 are resolved before giving them to configure.
1742 o add -o "objdir" so that builder can control it,
1743 default is $OS as determined by os.sh
1744 o add -q to suppress all the install instructions.
1746 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1748 * Remove __IDSTRING()
1750 * Makefile.in (BMAKE_VERSION): bump to 20040508
1751 * Merge with NetBSD make, pick up:
1753 - remove '-e' from compat mode
1754 - add support for '+' command-line prefix.
1755 o fix for handling '--' on command-line.
1756 o fix include in lst.lib/lstInt.h to simplify '-I's
1757 o we also picked up replacement of MAKE_BOOTSTRAP
1758 with !MAKE_NATIVE which is a noop, but possibly confusing.
1760 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1762 * Makefile.in (BMAKE_VERSION): bump to 20040414
1763 * Merge with NetBSD make, pick up:
1764 o allow quoted strings on lhs of conditionals
1765 o issue warning when extra .else is seen
1766 o print line numer when errors encountered during parsing from
1769 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1771 * Makefile.in (BMAKE_VERSION): bump to 20040220
1772 * Merge with NetBSD make, pick up:
1773 o fix for old :M parsing bug.
1774 o re-jigged unit-tests
1776 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1778 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1779 so that './bmake -f Makefile test' works.
1781 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1783 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1784 * Merge with NetBSD make, pick up:
1785 o search upwards for *.mk
1786 o fix for double free of var substitution buffers
1787 o use of getopt replaced with custom code, since the usage
1788 (re-scanning) isn't posix compatible.
1790 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1792 * arch.c: don't include ranlib.h on ELF systems
1793 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1795 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1797 * Makefile.in (BMAKE_VERSION): bump to 20040118
1799 * boot-strap (while): export vars we assign to on cmdline
1800 * unit-test/Makefile.in: ternary is .PHONY
1802 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1804 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1805 * Merge with NetBSD make, pick up:
1806 o fix for ternary modifier
1808 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1810 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1811 * Merge with NetBSD make, pick up:
1812 o fix for cond.c to handle compound expressions better
1813 o variable expansion within sysV style replacements
1815 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1817 * Make portable snprintf safer - output to /dev/null first to
1820 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1821 * Merge with NetBSD make, pick up:
1822 o -dg3 to show input graph when things go wrong.
1823 o explicitly look for makefiles in objdir if not found in curdir so
1824 that errors in .depend etc will be reported accurarely.
1825 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1826 instead as it more accurately reflects the expected behavior and
1827 is more consistently implemented.
1828 o avoid use of asprintf.
1830 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1832 * util.c: Add asprintf and vasprintf.
1834 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1835 * Merge with NetBSD make, pick up:
1836 :[] modifier - allows picking words from a variable.
1837 :tW modifier - allows treating value as one big word.
1838 W flag for :C and :S - allows treating value as one big word.
1840 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1842 * Merge with NetBSD make
1843 pick up -de flag to enable printing failed command.
1844 don't skip 1st two dir entries (normally . and ..) since
1845 coda does not have them.
1847 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1849 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1850 * Merge with NetBSD make, pick up:
1851 - changes for -V '${VAR}' to print fully expanded value
1853 - CompatRunCommand now prints the command that failed.
1854 - several files got updated 3 clause Berkeley license.
1856 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1858 * boot-strap: Allow setting configure args on command line.
1860 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1862 * configure.in: add --with-defshell to allow sh or ksh
1863 to be selected as default shell.
1865 * Makefile.in: bump version to 20030731
1867 * Merge with NetBSD make
1868 Pick up .SHELL spec for ksh and associate man page changes.
1869 Also compat mode now uses the same shell specs.
1871 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1873 * var.c (Var_Parse): ensure delim is initialized.
1875 * unit-tests/Makefile.in: use single quotes to avoid problems from
1879 Run the unit-tests as part of the bootstrap procedure.
1881 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1883 * unit-tests/Makefile.in: always force complaints from
1884 ${TEST_MAKE} to be from 'make'.
1886 * configure.in: add check for 'diff -u'
1887 also fix some old autoconf'isms
1889 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1890 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1892 * Merge with NetBSD make
1893 Pick up fix for :ts parsing error in some cases.
1896 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1898 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1900 * var.c (Var_Parse): fix bug in :ts modifier, after const
1901 correctness fixes, must pass nstr to VarModify.
1903 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1905 * Makefile.in: BMAKE_VERSION switch to a date based version.
1906 We'll generally use the date of last import from NetBSD.
1908 * Merge with NetBSD make
1909 Pick up fixes for const-correctness, now passes WARNS=3 on
1911 Pick up :ts modifier, allows controlling the separator used
1912 between words in variable expansion.
1914 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1916 * FILES: include boot-strap and os.sh
1918 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1919 FreeBSD is known to be bad.
1921 * makefile.boot.in (bootstrap): make this the default target.
1923 * Makefile.in: bump version to 3.1.19
1925 * machine.sh: avoid A-Z with tr as it is bound to lose.
1927 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1929 * Merge with NetBSD make
1930 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1931 Plus some doc fixes.
1933 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1935 * Merge with NetBSD make
1936 Pick up fix for PR/1523 - don't count a library as built, if there
1937 is no way to build it
1939 * Bump version to 3.1.18
1941 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1943 * Merge with NetBSD make
1944 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1945 appears in src list.
1947 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1949 * Merge with NetBSD make (mmm 10th anniversary!)
1950 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1951 pick up -X which tells us to not export VAR=val via setenv if
1952 we are already doing so via MAKEFLAGS. This saves valuable env
1953 space on systems like Darwin.
1954 set MAKE_VERSION to 3.1.17
1956 * parse.c: pix up fix for suffix rules
1958 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1960 * Merge with NetBSD make.
1961 pick up fix for propagating -B via MAKEFLAGS.
1962 set MAKE_VERSION to 3.1.16
1964 * Apply some patches from pkgsrc-bootstrap/bmake
1965 Originally by Grant Beattie <grant@netbsd.org>
1966 I may have missed some - since they are based on bmake-3.1.12
1968 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1970 * makefile.boot.in (bmake): update install targets for those that
1971 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1972 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1974 * bmake.cat1: update the pre-formatted man page!
1976 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1978 * Merge with NetBSD make.
1979 pick up fix for premature free of pointer used in call
1981 set MAKE_VERSION to 3.1.15
1983 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1985 * configure.in: determine suitable value for MKSRC.
1986 override using --with-mksrc=PATH.
1988 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1989 configs(8) will use 'sun4' as an alias for 'sparc'.
1991 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1993 * Merge with NetBSD make.
1995 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1996 set MAKE_VERSION to 3.1.14
1997 add configure checks for killpg and sys/socket.h
1999 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
2003 * makefile.boot.in (bmake): use install-mk
2004 Also setup ./mk before trying to invoke bmake.boot incase we
2005 needed install-mk to create a sys.mk for us.
2007 * configure.in: If we need to add -I${srcdir}/missing, make it an
2008 absolute path so that it works for lst.lib too.
2010 * make.h: always include sys/cdefs.h since we provide one if the
2013 * Makefile.in (install-mk):
2014 use MKSRC/install-mk which will do the right thing.
2015 use uname -p for ARCH if possible.
2016 since install-mk will setup links bsd.prog.mk -> prog.mk if
2017 needed, just .include bsd.prog.mk
2019 * Merge with NetBSD make (NetBSD-1.6)
2020 Code is ansi-C only now.
2021 Bug in handling of dotLast is fixed.
2022 Can now assign .OBJDIR and make will reset its notions of life.
2023 New modifiers :tu :tl for toUpper and toLower.
2025 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
2027 * Merge with NetBSD make
2028 pick up fix for .END failure in compat mode.
2029 pick up fix for extra va_end() in ParseVErrorInternal.
2031 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
2033 * configure.in: for systems that have sys/cdefs.h check if it is
2034 compatible. If not, include the one under missing, but tell it to
2035 include the native one too - necessary on Linux.
2037 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
2038 include_next (for gcc) to get the native sys/cdefs.h
2040 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2042 * job.c (JobFinish): Fix an earlier merge bug that resulted in
2043 leaking descriptors when using -jN.
2045 * job.c (JobPrintCommand): See if "curdir" exists before
2046 attempting to chdir(). Doing the chdir directly in make (when in
2047 compat mode) fails silently, so let the -jN version do the same.
2048 This can happen when building kernels in an object tree and
2049 playing clever games to reset .CURDIR.
2051 * Merged with NetBSD make
2054 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2056 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
2058 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2060 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
2061 us not to export the iterator variable when using VAR_CMD context.
2063 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2065 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
2066 its the wrong "fix".
2068 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2070 * Redesigned export of VAR_CMD's via MAKEFLAGS.
2071 We now simply append the variable names to .MAKEOVERRIDES, and
2072 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
2073 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
2074 Apart from fixing quoting bugs in previous version, this allows us
2075 to export vars to the environment by simply doing:
2076 .MAKEOVERRIDES+= PATH
2077 Merged again with NetBSD make, but the above is the only change.
2079 * configure.in: added
2080 --disable-pwd-override disable $PWD overriding getcwd()
2081 --disable-check-make-chdir disable make trying to guess
2082 when it should automatically cd ${.CURDIR}
2084 * Merge with NetBSD make, changes include:
2085 parse.c (ParseDoDependency): Spot that the syntax error is
2086 caused by an unresolved cvs/rcs conflict and say so.
2087 var.c: most of Var* functions now take a ctxt as 1st arg.
2088 now does variable substituion on rhs of sysv style modifiers.
2090 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
2091 is now done here. We append the name='value' to .MAKEOVERRIDES
2092 rather than directly into MAKEFLAGS as this allows a Makefile to
2093 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
2094 very similar mechanism. Note that in adding name='value' to
2095 .MAKEOVERRIDES we do the moral equivalent of:
2096 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
2098 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2100 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
2102 * Merged with NetBSD make
2103 make -dx can now be used to run commands via sh -x
2104 better error messages on exec failures.
2106 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2108 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
2109 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
2110 MACHINE etc otherwise they propagate from the previous bmake.
2112 * configure.in (machine): allow --with-machine=generic to make
2113 configure use machine.sh to set MACHINE.
2115 * job.c (JobInterrupt): convert to using WAIT_T and friends.
2117 * Makefile.in: mention in bmake.1 that we use autoconf.
2119 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
2121 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2123 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
2124 as that rather defeats the usefulness of ${MAKEFILE}.
2126 * main.c (MainParseArgs): append command line variable assignments
2127 to MAKEFLAGS so that they get propagated to child make's.
2128 Apparently this is required POSIX behaviour? Its useful anyway.
2130 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2132 * compat.c (CompatRunCommand): don't use perror() since stdio may
2133 cause problems in child of vfork().
2135 * compat.c, main.c: Call PrintOnError() when we are going to bail.
2136 This routine prints out the .curdir where we stopped and will also
2137 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2139 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
2142 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
2144 * Added RCSid's for the files we've touched.
2146 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2148 * configure.in: Thanks to some clues from mdb@juniper.net,
2149 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2150 as well as what ends up in _PATH_DEFSYSPATH. We now have:
2152 --with-machine=MACHINE explicitly set MACHINE
2153 --with-force-machine=MACHINE set FORCE_MACHINE
2154 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
2155 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
2156 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
2157 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
2159 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2161 * makefile: added a pathetically simple makefile to drive
2162 bootstrapping. Running configure by hand is more useful.
2164 * Makefile.in: added MAKE_VERSION, and reworked things to be less
2165 dependent on NetBSD bsd.*.mk
2167 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2168 _PATH_OBJDIRPREFIX for those that don't want a default.
2169 construct _PATH_DEFSYSPATH from the info we get from configure.
2171 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2172 if MAKE_VERSION is defined.
2174 * compat.c: when we bail, print out the .CURDIR we were in.
2176 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2178 * Merged with NetBSD make
2180 * var.c: fixed a bug in the handling of the modifier :P
2181 if the node as found but the path was null, we segfault trying to
2184 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2186 * Merged with NetBSD make
2188 * make.c: Make_OODate's test for a library out of date was using
2189 cmtime where it should have used mtime (my bug).
2191 * compat.c: Use perror() to tell us what really went wrong when we
2192 cannot exec a command.
2194 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2196 * Merged with NetBSD make
2198 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2200 * Merged with NetBSD make
2202 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2204 * Merged with NetBSD make
2206 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2208 * Merged with NetBSD make
2210 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2212 * util.c: don't provide signal() since we use sigcompat.c
2214 * Makefile.in: added a build target.
2216 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2217 These allow some quite clever magic.
2219 * main.c (main): added support for getenv(MAKESYSPATH).
2221 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2223 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2224 This avoids objdir having a different value depending on how a
2225 directory was reached (via command line, or subdir.mk).
2227 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2229 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2231 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2232 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2233 I've been testing this in NetBSD's make for some weeks.
2235 * Turn Makefile into Makefile.in and make it useful.
2237 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2239 * Imported NetBSD's -current make(1) and resolve conflicts.
2241 * Applied autoconf patches from bmake v2
2243 * Imported clean code base from NetBSD-1.0