1 2018-02-22 Simon J. Gerraty <sjg@bad.crufty.net>
4 Merge with NetBSD make, pick up
5 o parse.c: avoid calling sysconf for every call to loadfile
7 2018-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
10 Merge with NetBSD make, pick up
11 o var.c: Var_Set handle NULL value anytime.
13 2018-02-12 Simon J. Gerraty <sjg@bad.crufty.net>
16 Merge with NetBSD make, pick up
17 o parse.c: do not treat .info as warning with -W
19 2017-12-07 Simon J. Gerraty <sjg@bad.crufty.net>
22 Merge with NetBSD make, pick up
23 o var.c: Var_Append use Var_Set if var not previously set
24 so that VAR_CMD is handled correctly.
25 Add a suitable unit-test.
27 2017-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
29 * VERSION (_MAKE_VERSION): 20171126
31 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
32 since AC_TRY_COMPILE puts input inside main()
33 which upsets modern compilers.
35 2017-11-18 Simon J. Gerraty <sjg@bad.crufty.net>
38 Merge with NetBSD make, pick up
39 o var.c: do not append to variable set on command line
40 add unit-test to catch this.
42 2017-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
45 Merge with NetBSD make, pick up
46 o main.c: ignore empty MAKEOBJDIR
49 make @prefix@ @machine*@ and @default_sys_path@ defaults.
51 2017-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
55 * unit-tests/dotwait.mk: redirect stderr through pipe for more
56 consistent result on some platforms.
58 2017-08-13 Simon J. Gerraty <sjg@bad.crufty.net>
60 * machine.sh: entry for AIX
62 2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
64 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
65 to a file that can be included by configure as well as make.
66 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
68 2017-08-10 Simon J. Gerraty <sjg@bad.crufty.net>
70 * Makefile (_MAKE_VERSION): 20170810
71 Merge with NetBSD make, pick up
72 o meta.c: if target is in subdir we only need subdir name in
75 2017-07-20 Simon J. Gerraty <sjg@bad.crufty.net>
77 * Makefile (_MAKE_VERSION): 20170720
78 Merge with NetBSD make, pick up
79 o compat.c: pass SIGINT etc onto child and wait for it to exit
80 before we self-terminate.
82 2017-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
84 * Makefile (_MAKE_VERSION): 20170711
85 forgot to update after merge on 20170708 ;-)
86 o main.c: refactor to reduce size of main function.
87 add -v option to always fully expand values.
88 o meta.c: ensure command output in meta file has ending newline
89 even when filemon not being used.
90 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
91 pathname via ':L' since any ':' in pathname breaks that.
92 Instead set a '${.p.}' to pathname in the target context and
95 2017-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
97 * Makefile (_MAKE_VERSION): 20170510
98 Merge with NetBSD make, pick up
99 o main.c: Main_SetObjdir: ensure buf2 is in scope
101 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
103 * Makefile (_MAKE_VERSION): 20170505
106 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
108 * parse.c: not everyone has stdint.h
110 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
112 * Makefile (_MAKE_VERSION): 20170501
115 2017-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
117 * Makefile (_MAKE_VERSION): 20170421
118 Merge with NetBSD make, pick up
119 o str.c: Str_Match: fix closure tests for [^] and add unit-test.
121 2017-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
123 * Makefile (_MAKE_VERSION): 20170420
124 Merge with NetBSD make, pick up
125 o main.c: only use -C arg "as is" if it contains no
128 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
130 * Makefile (_MAKE_VERSION): 20170418
131 Merge with NetBSD make, pick up
132 o main.c: fix Main_SetObjdir() for relative paths (eg obj).
134 2017-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
136 * Makefile (_MAKE_VERSION): 20170417
137 Merge with NetBSD make, pick up
138 o fixes a number of coverity complaints
139 - check return value of fseek, fcntl
140 - plug memory leak in Dir_FindFile, Var_LoopExpand,
141 JobPrintCommand, ParseTraditionalInclude
142 - use bmake_malloc() where NULL is not tollerated
143 - use MAKE_ATTR_UNUSED rather that kludges like
144 return(unused ? 0 : 0)
145 - use purge_cached_realpaths() rather than abuse cached_realpath()
147 2017-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
149 * Makefile (_MAKE_VERSION): 20170413
150 Merge with NetBSD make, pick up
151 o main.c: when setting .OBJDIR ignore '$' in paths.
153 * job.c: use MALLOC_OPTIONS to set malloc_options.
155 2017-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
157 * Makefile (_MAKE_VERSION): 20170411
158 Merge with NetBSD make, pick up
159 o str.c: Str_Match: allow [^a-z] to behave as expected.
161 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
163 * Makefile (_MAKE_VERSION): 20170326
164 Merge with NetBSD make, pick up
165 o main.c: purge relative paths from realpath cache when .OBJDIR
168 2017-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
170 * Makefile (_MAKE_VERSION): 20170311
171 Merge with NetBSD make, pick up
172 o main.c: only use -C arg "as is" if it starts with '/'.
174 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
176 * Makefile (_MAKE_VERSION): 20170301
177 Merge with NetBSD make, pick up
178 o main.c: use -C arg "as is" rather than getcwd()
179 if they identify the same directory.
180 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
182 2017-02-01 Simon J. Gerraty <sjg@bad.crufty.net>
184 * Makefile (_MAKE_VERSION): 20170201
185 Merge with NetBSD make, pick up
186 o var.c: allow :_=var and avoid use of special context.
188 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
190 * Makefile (_MAKE_VERSION): 20170130
191 Merge with NetBSD make, pick up
192 o var.c: add :range and :_
193 o main.c: partially initialize Dir_* before MainParseArgs()
195 If -V, skip Main_ExportMAKEFLAGS()
197 2017-01-14 Simon J. Gerraty <sjg@bad.crufty.net>
199 * Makefile (_MAKE_VERSION): 20170114
200 Merge with NetBSD make, pick up
201 o var.c: allow specifying the utc value used by :{gm,local}time
203 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
205 * Makefile (_MAKE_VERSION): 20161212
206 Merge with NetBSD make, pick up
207 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
209 2016-12-09 Simon J. Gerraty <sjg@bad.crufty.net>
211 * Makefile (_MAKE_VERSION): 20161209
212 Merge with NetBSD make, pick up
213 o main.c: cleanup setting of .OBJDIR
214 o parse.c: avoid coredump from (var)=val
216 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
218 * Makefile (_MAKE_VERSION): 20161126
219 Merge with NetBSD make, pick up
220 o make.c: Make_OODate: report src node name if path not set
222 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
224 * Makefile (_MAKE_VERSION): 20160926
225 Merge with NetBSD make, pick up
226 o support for .DELETE_ON_ERROR: (remove targets that fail)
228 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
230 * Makefile MAN: tweak .Dt to match ${PROG}
232 2016-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
234 * Makefile (_MAKE_VERSION): 20160818
235 its a neater number; pick up whitespace fixes to man page.
237 2016-08-17 Simon J. Gerraty <sjg@bad.crufty.net>
239 * Makefile (_MAKE_VERSION): 20160817
240 Merge with NetBSD make, pick up
241 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
242 so we can call it before adding entries to missingFiles.
243 Thus we do not track files we have been told to ignore.
245 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
247 * Makefile (_MAKE_VERSION): 20160815
248 Merge with NetBSD make, pick up
249 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
250 pathnames, and skip if the expansion is empty.
251 Useful for dirdeps.mk when checking DIRDEPS_CACHE.
253 2016-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
255 * Makefile (_MAKE_VERSION): 20160812
256 Merge with NetBSD make, pick up
257 o meta.c: remove all missingFiles entries that match a deleted
259 o main.c: set .ERROR_CMD if possible.
261 2016-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
263 * Makefile (_MAKE_VERSION): 20160606
264 Merge with NetBSD make, pick up
265 o dir.c: extend mtimes cache to others via cached_stat()
267 2016-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
269 * Makefile (_MAKE_VERSION): 20160604
270 Merge with NetBSD make, pick up
271 o meta.c: missing filemon data is only relevant if we read a
273 Also do not return oodate for a missing metafile if gn->path
276 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
278 * Makefile (_MAKE_VERSION): 20160602
279 Merge with NetBSD make, pick up
280 o cached_realpath(): avoid hitting filesystem more than necessary.
281 o meta.c: refactor need_meta decision, add knobs for
282 missing meta file and filemon data wrt out-of-datedness.
284 2016-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
286 * Makefile (_MAKE_VERSION): 20160528
288 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
290 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
292 * Makefile (_MAKE_VERSION): 20160512
293 Merge with NetBSD make, pick up
294 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
295 this is useful for gcov builds.
296 o propagate errors from filemon(4).
298 2016-05-09 Simon J. Gerraty <sjg@bad.crufty.net>
300 * Makefile (_MAKE_VERSION): 20160509
301 Merge with NetBSD make, pick up
302 o remove use of non-standard types u_int etc.
303 o meta.c: apply realpath() before matching against metaIgnorePaths
305 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
307 * Makefile (_MAKE_VERSION): 20160404
308 Merge with NetBSD make, pick up
309 o allow makefile to set .MAKE.JOBS
311 * Makefile (PROG_NAME): use ${_MAKE_VERSION}
313 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
315 * Makefile (_MAKE_VERSION): 20160315
316 Merge with NetBSD make, pick up
317 o fix handling of archive members
319 2016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
321 * Makefile (_MAKE_VERSION): rename variable to avoid interference
322 with checks for ${MAKE_VERSION}
324 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
326 * Makefile (MAKE_VERSION): 20160310
327 Merge with NetBSD make, pick up
328 o meta.c: treat missing Read file same as Write, incase we Delete it.
330 2016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
332 * Makefile (MAKE_VERSION): 20160307
333 Merge with NetBSD make, pick up
334 o var.c: fix :ts\nnn to be octal by default.
335 o meta.c: meta_finish() to cleanup memory.
337 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
339 * Makefile (MAKE_VERSION): 20160226
340 Merge with NetBSD make, pick up
341 o meta.c: allow meta file for makeDepend if makefiles want it.
343 2016-02-19 Simon J. Gerraty <sjg@bad.crufty.net>
345 * var.c: default .MAKE.SAVE_DOLLARS to FALSE
346 for backwards compatability.
348 * Makefile (MAKE_VERSION): 20160220
349 Merge with NetBSD make, pick up
350 o var.c: add knob to control handling of '$$' in :=
352 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
354 * Makefile (MAKE_VERSION): 20160218
355 Merge with NetBSD make, pick up
356 o var.c: add .export-literal allows us to fix sys.clean-env.mk
357 post the changes to Var_Subst.
358 Var_Subst now takes flags, and does not consume '$$' in :=
360 2016-02-17 Simon J. Gerraty <sjg@bad.crufty.net>
362 * Makefile (MAKE_VERSION): 20160217
363 Merge with NetBSD make, pick up
364 o var.c: preserve '$$' in :=
365 o parse.c: add .dinclude for handling included
366 makefile like .depend
368 2015-12-20 Simon J. Gerraty <sjg@bad.crufty.net>
370 * Makefile (MAKE_VERSION): 20151220
371 Merge with NetBSD make, pick up
372 o suff.c: re-initialize suffNull when clearing suffixes.
374 2015-12-01 Simon J. Gerraty <sjg@bad.crufty.net>
376 * Makefile (MAKE_VERSION): 20151201
377 Merge with NetBSD make, pick up
378 o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
379 o meta.c: meta_oodate: use lstat(2) for checking link target
380 in case it is a symlink.
381 o var.c: avoid calling brk_string and Var_Export1 with empty
384 2015-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
386 * Makefile (MAKE_VERSION): 20151126
387 Merge with NetBSD make, pick up
388 o parse.c: ParseTrackInput don't access beyond
391 2015-10-22 Simon J. Gerraty <sjg@bad.crufty.net>
393 * Makefile (MAKE_VERSION): 20151022
395 * Add support for BSD/OS which lacks inttypes.h
396 and really needs sys/param.h for sys/sysctl.h
397 also 'type' is not a shell builtin.
399 * var.c: eliminate uint32_t and need for inttypes.h
401 * main.c: PrintOnError flush stdout before run .ERROR
403 * parse.c: cope with _SC_PAGESIZE not being defined.
406 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
408 * Makefile (MAKE_VERSION): 20151020
409 Merge with NetBSD make, pick up
410 o var.c: fix uninitialized var
412 2015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
414 * var.c: the conditional expressions used with ':?' can be
415 expensive, if already discarding do not evaluate or expand
418 2015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
420 * Makefile (MAKE_VERSION): 20151010
421 Merge with NetBSD make, pick up
422 o Add Boolean wantit flag to Var_Subst and Var_Parse
423 when FALSE we know we are discarding the result and can
424 skip operations like Cmd_Exec.
426 2015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
428 * Makefile (MAKE_VERSION): 20151009
429 Merge with NetBSD make, pick up
430 o var.c: don't check for NULL before free()
431 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
433 2015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
435 * Makefile (MAKE_VERSION): 20150910
436 Merge with NetBSD make, pick up
437 o main.c: with -w print Enter/Leaving messages for objdir too
439 o centralize shell metachar handling
441 * FILES: add metachar.[ch]
443 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
445 * Makefile (MAKE_VERSION): 20150606
446 Merge with NetBSD make, pick up
447 o make.1: document .OBJDIR target
449 2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
451 * Makefile (MAKE_VERSION): 20150505
452 Merge with NetBSD make, pick up
453 o cond.c: be strict about lhs of comparison when evaluating .if
454 but less so when called from variable expansion.
455 o unit-tests/cond2.mk: test various error conditions
457 2015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
459 * machine.sh (MACHINE): Add Bitrig
460 patch from joerg@netbsd.org
462 2015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
464 * Makefile (MAKE_VERSION): 20150418
465 Merge with NetBSD make, pick up
466 o job.c: use memmove() rather than memcpy()
468 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
471 2015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
473 * Makefile (MAKE_VERSION): 20150411
474 bump version - only mk/ changes.
476 2015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
478 * Makefile (MAKE_VERSION): 20150410
479 Merge with NetBSD make, pick up
480 o document different handling of '-' in jobs mode vs compat
481 o fix jobs mode so that '-' only applies to whole job
482 when shell lacks hasErrCtl
483 o meta.c: use separate vars to track lcwd and latestdir (read)
486 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
488 * Makefile (MAKE_VERSION): 20150401
489 Merge with NetBSD make, pick up
490 o meta.c: close meta file in child
492 * Makefile: use BINDIR.bmake if set.
493 Same for MANDIR and SHAREDIR
494 Handy for testing release candidates
495 in various environments.
497 2015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
499 * move initialization of savederr to block where it is used
500 to avoid spurious warning from gcc5
502 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
504 * Makefile (MAKE_VERSION): 20141111
507 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
509 * Makefile (MAKE_VERSION): 20141105
510 Merge with NetBSD make, pick up
511 o revert major overhaul of suffix handling
512 and POSIX compliance - too much breakage
513 and impossible to make backwards compatible.
514 o we still have the new unit test structure which is ok.
515 o meta.c ensure "-- filemon" is at start of line.
517 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
519 * configure.in: test that result of getconf PATH_MAX is numeric
520 and discard if not. Apparently needed for Hurd.
522 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
524 * Makefile (MAKE_VERSION): 20140830
525 Merge with NetBSD make, pick up
526 o major overhaul of suffix handling
527 o improved POSIX compliance
528 o overhauled unit-tests
530 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
532 * Makefile (MAKE_VERSION): 20140620
533 Merge with NetBSD make, pick up
534 o var.c return varNoError rather than var_Error for ::= modifiers.
536 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
538 * Makefile (MAKE_VERSION): 20140522
539 Merge with NetBSD make, pick up
540 o var.c detect some parse errors.
542 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
544 * Fix spelling errors - patch from Pedro Giffuni
546 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
548 * Makefile (MAKE_VERSION): 20140214
549 Merge with NetBSD make, pick up
551 o use Var_Value to get MAKEOBJDIR[PREFIX]
552 o reduced realloc'ign in brk_string.
553 * configure.in: add a check for compiler supporting __func__
555 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
557 * boot-strap: ignore mksrc=none
559 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
561 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
563 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
565 * Makefile (MAKE_VERSION): 20140101
566 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
567 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
568 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
570 * configure.in: Add AC_PREREQ and check for
571 sysctl; patch from Andrew Shadura andrewsh at debian.org
573 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
575 * Makefile (MAKE_VERSION): 20131010
576 * lose the const from arg to systcl to avoid problems on older BSDs.
578 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
580 * Makefile (MAKE_VERSION): 20131001
581 Merge with NetBSD make, pick up
582 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
583 hw.machine_arch if necessary.
584 o meta.c: meta_oodate - need to look at src of Link and target
586 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
587 provide __arraycount() if needed.
589 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
591 * Makefile (MAKE_VERSION): 20130904
592 Merge with NetBSD make, pick up
593 o Add VAR_INTERNAL context, so that internal setting of
594 MAKEFILE does not override value set by makefiles.
596 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
598 * Makefile (MAKE_VERSION): 20130902
599 Merge with NetBSD make, pick up
600 o CompatRunCommand: only apply shellErrFlag when errCheck is true
602 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
604 * Makefile (MAKE_VERSION): 20130828
605 Merge with NetBSD make, pick up
606 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
607 o Call Job_SetPrefix() from Job_Init() so makefiles have
608 opportunity to set .MAKE.JOB.PREFIX
610 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
612 * Makefile (MAKE_VERSION): 20130730
613 Merge with NetBSD make, pick up
614 o Allow suppression of --- job -- tokens by setting
615 .MAKE.JOB.PREFIX empty.
617 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
619 * Makefile (MAKE_VERSION): 20130716
620 Merge with NetBSD make, pick up
621 o number of gmake compatibility tweaks
622 -w for gmake style entering/leaving messages
623 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
624 handle MAKEFLAGS containing only letters.
625 o when overriding a GLOBAL variable on the command line,
626 delete it from GLOBAL context so -V doesn't show the wrong
629 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
631 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
633 * Makefile (MAKE_VERSION): 20130706
634 Merge with NetBSD make, pick up
635 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
636 true so that CompatRunCommand() can use it, to ensure
637 consistent behavior with jobs mode.
638 o use MAKE_LEVEL_ENV to define the variable to propagate
639 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
640 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
643 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
645 * Makefile (MAKE_VERSION): 20130604
646 Merge with NetBSD make, pick up
647 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
648 to avoid leaking descriptors.
650 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
652 * Makefile (MAKE_VERSION): 20130528
653 Merge with NetBSD make, pick up
654 o var.c: cleanup some left-overs in VarHash()
656 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
658 * Makefile (MAKE_VERSION): 20130520
659 generate manifest from component FILES rather than have to
660 update FILES when mk/FILES changes.
662 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
664 * Makefile (MAKE_VERSION): 20130518
665 Merge with NetBSD make, pick up
666 o suff.c: don't skip all processsing for .PHONY targets
667 else wildcard srcs do not get expanded.
668 o var.c: expand name of variable to delete if necessary.
670 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
672 * Makefile (MAKE_VERSION): 20130330
673 Merge with NetBSD make, pick up
674 o meta.c: refine the handling of .OODATE in commands.
675 Rather than suppress command comparison for the entire script
676 as though .NOMETA_CMP had been used, only suppress it for the
678 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
679 suppress comparison of a command without otherwise affecting it.
680 o make.1: document that
682 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
684 * Makefile (MAKE_VERSION): 20130321
685 yes, not quite right but its a cooler number.
686 Merge with NetBSD make, pick up
687 o parse.c: fix ParseGmakeExport to be portable
689 * meta.c: call meta_init() before makefiles are read and if built
690 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
691 this let's makefiles test for support.
692 Call meta_mode_init() to process .MAKE.MODE.
694 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
696 * Makefile (MAKE_VERSION): 20130305
697 Merge with NetBSD make, pick up
698 o run .STALE: target when a dependency from .depend is missing.
699 o job.c: add Job_RunTarget() for the above and .BEGIN
701 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
703 * Makefile (MAKE_VERSION): 20130303
704 Merge with NetBSD make, pick up
705 o main.c: set .MAKE.OS to utsname.sysname
706 o job.c: more checks for read and poll errors
707 o var.c: lose VarChangeCase() saves 4% time
709 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
711 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
712 want to use MAKEOBJDIR
714 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
716 * Merge with NetBSD make, pick up
717 o make.1: more info on how shell commands are handled.
718 o job.c,main.c: detect write errors to job pipes.
720 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
722 * Makefile (MAKE_VERSION): 20130123
723 Merge with NetBSD make, pick up
724 o meta.c: if script uses .OODATE and meta_oodate() decides
725 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
726 o var.c: in debug output indicate which variabale modifiers
728 o remove Check_Cwd logic the makefiles have been fixed.
730 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
732 * makefile.in: add a simple makefile for folk who insist on
733 ./configure; make; make install
734 it just runs boot-strap
735 * include mk/* to accommodate the above
736 * boot-strap: re-work to accommodate the above
737 mksrc defaults to $Mydir/mk
738 allow op={configure,build,install,clean,all}
739 add options to facilitate install
740 * Makefile.config.in: just the bits set by configure
741 * Makefile: bump version to 20121212
742 abandon Makefile.in (NetBSD Makefile)
743 leverage mk/* instead
744 * configure.in: ensure srcdir is absolute
746 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
748 * Makefile.in (MAKE_VERSION): 20121111
749 fix generation of bmake.cat1
751 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
753 * Makefile.in (MAKE_VERSION): 20121109
754 Merge with NetBSD make, pick up
755 o make.c: MakeBuildChild: return 0 so search continues if a
756 .ORDER dependency is detected.
757 o unit-tests/order: test the above
759 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
761 * Makefile.in (MAKE_VERSION): 20121102
762 Merge with NetBSD make, pick up
763 o cond.c: allow cond_state[] to grow.
764 In meta mode with a very large tree, we can hit the limit
765 while processing dirdeps.
767 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
769 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
771 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
773 * Makefile.in (MAKE_VERSION): 20121010
774 o protect syntax that only bmake parses correctly.
775 o remove auto setting of FORCE_MACHINE, use configure's
776 --with-force-machine=whatever if that is desired.
778 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
780 * Makefile.in: do not lose history from make.1 when generating bmake.1
782 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
784 * Makefile.in (MAKE_VERSION): 20121007
785 Merge with NetBSD make, pick up
786 o compat.c: ignore empty commands - same as jobs mode.
787 o make.1: document meta chars that cause use of shell
789 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
791 * Makefile.in (MAKE_VERSION): bump version to 20120911
792 * bsd.after-import.mk: include Makefile.inc early and allow it to
795 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
797 * Makefile.in (MAKE_VERSION): bump version to 20120831
798 Merge with NetBSD make, pick up
799 o cast sizeof() to int for comparison
802 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
804 * Makefile.in (MAKE_VERSION): bump version to 20120830
805 Merge with NetBSD make, pick up
806 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
807 o debug flag -dV causes -V to show raw value regardless.
809 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
811 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
814 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
816 * Makefile.in (MAKE_VERSION): bump version to 20120704
817 Merge with NetBSD make, pick up
818 o Job_ParseShell should call Shell_Init if it has been
820 * Makefile.in: set USE_META based on configure result.
821 also .PARSEDIR is safer indicator of bmake.
823 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
825 * Makefile.in: bump version to 20120626
826 ensure CPPFLAGS is in CFLAGS
827 * meta.c: avoid nested externs
828 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
830 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
832 * Makefile.in (MAKE_VERSION): bump version to 20120620
833 Merge with NetBSD make, pick up
834 o make_malloc.c: avoid including make_malloc.h again
836 * Makefile.in: avoid bmake only syntax or protect with
837 .if defined(.MAKE.LEVEL)
838 * bsd.after-import.mk: replace .-include with .sinclude
839 ensure? SRCTOP gets a value
840 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
842 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
844 * Makefile.in (MAKE_VERSION): bump version to 20120612
845 Merge with NetBSD make, pick up
846 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
847 for greater portability.
848 o unit-tests/forloop: check that .for works as expected wrt
849 number of times and with "quoted strings".
851 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
853 * Makefile.in (MAKE_VERSION): bump version to 20120606
854 Merge with NetBSD make, pick up
855 o compat.c: use kill(2) rather than raise(3).
856 * configure.in: look for sys/dev/filemon
857 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
858 and pass BOOTSTRAP_XTRAS to boot-strap.
860 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
862 * Makefile.in (MAKE_VERSION): bump version to 20120604
863 Merge with NetBSD make, pick up
864 o util.c and var.c share same var for tracking if environ
865 has been reallocated.
866 o util.c provide getenv with setenv.
867 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
868 when the shell actively strips .MAKE.* from the environment.
869 We still refer to the variable always as .MAKE.LEVEL
870 * util.c fix bug in findenv() was finding prefix of name.
871 * compat.c: re-raising SIGINT etc after running .INTERRUPT
872 results in more reliable termination of all activity on many
875 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
877 * Makefile.in (MAKE_VERSION): bump version to 20120602
878 Merge with NetBSD make, pick up
879 o for.c: handle quoted items in .for list
881 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
883 * Makefile.in (MAKE_VERSION): bump version to 20120530
884 Merge with NetBSD make, pick up
885 o compat.c: ignore empty command.
887 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
889 * Makefile.in (MAKE_VERSION): bump version to 20120524
890 * FILES: add bsd.after-import.mk:
891 A simple means of integrating bmake into a BSD build system.
893 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
895 * Makefile.in (MAKE_VERSION): bump version to 20120520
896 Merge with NetBSD make, pick up
897 o increased limit for nested conditionals.
899 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
901 * Makefile.in (MAKE_VERSION): bump version to 20120518
902 Merge with NetBSD make, pick up
903 o use _exit(2) in signal hanlder
904 o Don't use the [dir] cache when building nodes that might have
905 changed since the last exec.
906 o Avoid nested extern declaration warnings.
908 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
910 * meta.c (fgetLine): avoid %z - not portable.
911 * parse.c: Since we moved include of sys/mman.h
912 and def's of MAP_COPY etc. we got dups from a merge.
914 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
916 * Makefile.in (MAKE_VERSION): bump version to 20120420
917 Merge with NetBSD make, pick up
918 o restore duplicate supression in .MAKE.MAKEFILES
919 runtime saving can be significant.
920 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
921 consumption up to 20%.
923 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
925 * Makefile.in (MAKE_VERSION): bump version to 20120420
926 Merge with NetBSD make, pick up
927 o remove duplicate supression in .MAKE.MAKEFILES
928 o improved dir cache behavior
929 o gmake'ish export command
931 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
933 * Makefile.in (MAKE_VERSION): bump version to 20120325
934 Merge with NetBSD make, pick up
935 o fix parsing of :[#] in conditionals.
937 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
939 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
940 since some systems cannot cope with .Nx <version>
942 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
944 * Makefile.in (MAKE_VERSION): bump version to 20111111
945 Merge with NetBSD make, pick up
946 o debug output for .PARSEDIR and .PARSEFILE
948 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
950 * Makefile.in (MAKE_VERSION): bump version to 20111010
952 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
954 * boot-strap: check for an expected file in the dirs we look for.
955 * make-bootstrap.sh: pass on LDSTATIC
957 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
959 * Makefile.in (MAKE_VERSION): bump version to 20111001
960 Merge with NetBSD make, pick up
961 o ensure .PREFIX is set for .PHONY
962 and .TARGET set for .PHONY run via .END
963 o __dead used consistently
965 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
967 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
969 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
971 * Makefile.in (MAKE_VERSION): bump version to 20110905
972 Merge with NetBSD make, pick up
973 o meta_oodate: ignore makeDependfile
975 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
977 * Makefile.in (MAKE_VERSION): bump version to 20110828
978 Merge with NetBSD make, pick up
979 o silent=yes in .MAKE.MODE causes meta mode to mark targets
980 as SILENT if a .meta file is created
982 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
984 * Makefile.in (MAKE_VERSION): bump version to 20110818
985 Merge with NetBSD make, pick up
986 o in meta mode, if target flagged .META a missing .meta file
987 means target is out-of-date
988 o fixes for gcc 4.5 warnings
989 o simplify job printing code
991 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
993 * Makefile.in (MAKE_VERSION): bump version to 20110808
994 Merge with NetBSD make, pick up
995 o do not touch OP_SPECIAL targets when doing make -t
997 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
999 * Makefile.in (MAKE_VERSION): bump version to 20110622
1000 Merge with NetBSD make, pick up
1001 o meta_oodate detect corrupted .meta file and declare oodate.
1002 * configure.in: add check for setsid
1004 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
1006 * Merge with NetBSD make, pick up
1007 o unit-tests/modts now works on MirBSD
1009 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1011 * Makefile.in (MAKE_VERSION): bump version to 20110606
1012 Merge with NetBSD make, pick up
1013 o ApplyModifiers: when we parse a variable which is not
1014 the entire modifier string, or not followed by ':', do not
1015 consider it as containing modifiers.
1016 o loadfile: ensure newline at end of mapped file.
1018 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1020 * Makefile.in (MAKE_VERSION): bump version to 20110505
1021 Merge with NetBSD make, pick up
1022 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
1023 of make's control. In meta mode, any generated file within
1024 said bailiwick, which is found to be missing, causes current
1025 target to be out-of-date.
1027 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
1029 * Makefile.in (MAKE_VERSION): bump version to 20110411
1030 Merge with NetBSD make, pick up
1031 o when long modifiers fail to match, check sysV style.
1034 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
1036 * Makefile.in (MAKE_VERSION): bump version to 20110410
1037 Merge with NetBSD make, pick up
1038 o :hash - cheap 32bit hash of value
1039 o :localtime, :gmtime - use value as format string for strftime.
1041 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1043 * Makefile.in (MAKE_VERSION): bump version to 20110330
1044 mostly because its a cooler version.
1045 Merge with NetBSD make, pick up
1046 o NetBSD tags for meta.[ch]
1047 o job.c call meta_job_finish() after meta_job_error().
1048 o meta_job_error() should call meta_job_finish() to ensure
1049 .meta file is closed, and safe to copy - if .ERROR target wants.
1050 meta_job_finish() is safe to call repeatedly.
1052 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
1054 * unit-tests/modts: use printf if it is a builtin,
1055 to save us from MirBSD
1057 * Makefile.in (MAKE_VERSION): bump version to 20110329
1058 Merge with NetBSD make, pick up
1059 o fix for use after free() in CondDoExists().
1060 o meta_oodate() report extra commands and return earlier.
1062 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
1064 * Makefile.in (MAKE_VERSION): bump version to 20110327
1065 Merge with NetBSD make, pick up
1066 o meta.c, if .MAKE.MODE contains curdirOk=yes
1067 allow creating .meta files in .CURDIR
1068 * boot-strap (TOOL_DIFF): aparently at least on linux distro
1069 formats the output of 'type' differently - so eat any "()"
1071 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
1073 * Makefile.in (MAKE_VERSION): bump version to 20110306
1074 Merge with NetBSD make, pick up
1075 o meta.c, only do getcwd() once
1077 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
1079 * Makefile.in (MAKE_VERSION): bump version to 20110305
1080 Merge with NetBSD make, pick up
1081 o correct sysV substitution handling of empty lhs and variable
1082 o correct exists() check for dir with trailing /
1083 o correct handling of modifiers for non-existant variables
1084 during evaluation of conditionals.
1085 o ensure MAP_FILE is defined.
1086 o meta.c use curdir[] now exported by main.c
1088 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
1090 * Makefile.in (MAKE_VERSION): bump version to 20110225
1091 Merge with NetBSD make, pick up
1092 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1093 makefiles have been read.
1094 o fix example of :? modifier in man page.
1096 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
1098 * Makefile.in (MAKE_VERSION): bump version to 20110214
1099 Merge with NetBSD make, pick up
1100 o meta.c handle realpath() failing when generating meta file
1103 * sigcompat.c: convert to ansi so we can use higher warning levels.
1106 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
1108 * Makefile.in (MAKE_VERSION): bump version to 20110207
1109 Merge with NetBSD make, pick up
1110 o fix for bug in meta mode.
1112 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
1114 * parse.c: SunOS 5.8 at least does not have MAP_FILE
1116 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
1118 * Makefile.in (MAKE_VERSION): bump version to 20110101
1119 Merge with NetBSD make, pick up
1120 o use mmap(2) if available, for reading makefiles
1122 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
1124 * Makefile.in (MAKE_VERSION): bump version to 20101215
1125 Merge with NetBSD make, pick up
1126 o ensure meta_job_error() does not report a previous .meta file
1129 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
1131 * Makefile.in (MAKE_VERSION): bump version to 20101210
1132 Merge with NetBSD make, pick up
1133 o meta_oodate: track cwd per process, and only consider target
1134 out-of-date if missing file is outside make's CWD.
1135 Ignore files in /tmp/ etc.
1136 o to ensure unit-tests results match, need to control LC_ALL
1138 o fix for parsing bug in var.c
1140 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
1142 * Makefile.in (MAKE_VERSION): bump version to 20101126
1143 Merge with NetBSD make, pick up
1144 o if stale dependency is an IMPSRC, search via .PATH
1145 o meta_oodate: if a referenced file is missing, target is
1147 o meta_oodate: if a target uses .OODATE in its commands,
1148 it (.OODATE) needs to be recomputed.
1149 o keep a pointer to youngest child node, rather than just its
1152 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
1154 * Makefile.in (MAKE_VERSION): bump version to 20101101
1156 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
1158 * machine.sh: like os.sh,
1159 allow for uname -p producing useless drivel
1161 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
1163 * boot-strap: document configure knobs for meta and filemon.
1165 * Makefile.in (MAKE_VERSION): bump version to 20100911
1166 Merge with NetBSD make, pick up
1167 o meta.c - meta mode
1169 * make-bootstrap.sh.in: handle meta.c
1170 * configure.in: add knobs for use_meta and filemon_h
1171 also, look for dirname, str[e]sep and strlcpy
1172 * util.c: add simple err[x] and warn[x]
1174 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1176 * boot-strap (TOOL_DIFF): set this to ensure tests use
1177 the same version of diff that configure tested
1179 * Makefile.in (MAKE_VERSION): bump version to 20100808
1180 Merge with NetBSD make, pick up
1181 o in jobs mode, when we discover we cannot make something,
1182 call PrintOnError before exit.
1184 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
1186 * Makefile.in (MAKE_VERSION): bump version to 20100806
1187 Merge with NetBSD make, pick up
1188 o formatting fixes for ignored errors
1189 o ensure jobs are cleaned up regardless of where wait() was called.
1191 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
1193 * Makefile.in (MAKE_VERSION): bump version to 20100618
1194 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1196 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
1198 * Makefile.in (MAKE_VERSION): bump version to 20100616
1199 Merge with NetBSD make, pick up
1201 o call PrintOnError from JobFinish when we detect an error we
1204 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1206 * Makefile.in (MAKE_VERSION): bump version to 20100606
1207 Merge with NetBSD make, pick up
1210 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
1212 * Makefile.in (MAKE_VERSION): bump version to 20100605
1213 Merge with NetBSD make, pick up
1214 o use bmake_signal() which is a wrapper around sigaction()
1215 in place of signal()
1216 o add .export-env to allow exporting variables to environment
1217 without tracking (so no re-export when the internal value is
1220 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1222 * Makefile.in (MAKE_VERSION): bump version to 20100524
1223 Merge with NetBSD make, pick up
1224 o fix for .info et al being greedy.
1226 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
1228 * Makefile.in (MAKE_VERSION): bump version to 20100520
1229 Merge with NetBSD make, pick up
1230 o back to using realpath on argv[0]
1231 but only if contains '/' and does not start with '/'.
1233 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
1235 * boot-strap: use absolute path for bmake when running tests.
1237 * Makefile.in (MAKE_VERSION): bump version to 20100510
1238 Merge with NetBSD make, pick up
1239 o revert use of realpath on argv[0]
1240 too many corner cases.
1241 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1243 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1245 * Makefile.in (MAKE_VERSION): bump version to 20100505
1246 Merge with NetBSD make, pick up
1247 o fix for missed SIGCHLD when compiled with SunPRO
1248 actually for bmake, defining FORCE_POSIX_SIGNALS would have
1251 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
1253 * Makefile.in (MAKE_VERSION): bump version to 20100430
1254 Merge with NetBSD make, pick up
1255 o fflush stdout before writing to stdout
1257 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
1259 * Makefile.in (MAKE_VERSION): bump version to 20100423
1260 Merge with NetBSD make, pick up
1261 o updated unit tests for Haiku (this time for sure).
1262 * boot-strap: based on patch from joerg
1263 honor --with-default-sys-path better.
1264 * boot-strap: remove mention of --with-prefix-sys-path
1266 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
1268 * Makefile.in (MAKE_VERSION): bump version to 20100422
1269 * Merge with NetBSD make, pick up
1270 o fix for vfork() on Darwin.
1271 o fix for bogus $TMPDIR.
1272 o set .MAKE.MODE=compat for -B
1273 o set .MAKE.JOBS=max_jobs for -j max_jobs
1274 o allow unit-tests to run without any *.mk
1275 o unit-tests/modmisc be more conservative in dirs presumed to exist.
1276 * boot-strap: ignore /usr/share/mk except on NetBSD.
1277 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
1278 ensure sort(1) behaves as expected.
1280 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
1282 * boot-strap: add FindHereOrAbove so we can use -m .../mk
1284 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1286 * Makefile.in (MAKE_VERSION): bump version to 20100420
1287 * Merge with NetBSD make, pick up
1288 o fix for variable realpath() behavior.
1289 we have to stat(2) the result to be sure.
1290 o fix for .export (all) when nested vars use :sh
1292 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
1294 * Makefile.in (MAKE_VERSION): bump version to 20100414
1295 * Merge with NetBSD make, pick up
1296 o use realpath to resolve argv[0] (for .MAKE) if needed.
1297 o add realpath from libc.
1298 o add :tA to resolve variable via realpath(3) if possible.
1300 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
1302 * Makefile.in (MAKE_VERSION): bump version to 20100408
1303 * Merge with NetBSD make, pick up
1304 o unit tests for .ERROR, .error
1305 o fix for .ERROR to ensure it cannot be default target.
1307 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
1309 * Makefile.in (MAKE_VERSION): bump version to 20100406
1310 * Merge with NetBSD make, pick up
1311 o fix for compat mode "Error code" going to debug_file.
1312 o fix for .ALLSRC being populated twice.
1313 o support for .info, .warning and .error directives
1314 o .MAKE.MODE to control make's operational mode
1315 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1317 o .MAKE.DEPENDFILE to control the name of the depend file
1318 o .ERROR target - run on failure.
1320 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
1322 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1324 * os.sh,arch.c: patch for Haiku from joerg at netbsd
1326 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
1328 * Makefile.in (MAKE_VERSION): bump version to 20100222
1329 * Merge with NetBSD make, pick up
1330 o better error msg for .for with mutiple inter vars
1333 o use make-bootstrap.sh from joerg at netbsd
1334 to avoid the need for a native make when bootstrapping.
1335 o add "" everywhere ;-)
1336 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1337 otherwise the pre-formated version.
1339 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1341 * Makefile.in (MAKE_VERSION): bump version to 20100102
1342 * Merge with NetBSD make, pick up:
1345 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
1347 * Makefile.in (MAKE_VERSION): bump version to 20091118
1348 * Merge with NetBSD make, pick up:
1350 o report lines that start with '.' and should have ':'
1351 (catch typo's of .el*if).
1353 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1355 * configure.in: Ensure that srcdir and mksrc are absolute paths.
1357 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1359 * Makefile.in (MAKE_VERSION): fix version to 20091007
1361 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
1363 * Makefile.in (MAKE_VERSION): bump version to 200910007
1364 * Merge with NetBSD make, pick up:
1365 o fix for parsing of :S;...;...; applied to .for loop iterator
1366 appearing in a dependency line.
1368 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1370 * Makefile.in (MAKE_VERSION): bump version to 20090909
1371 * Merge with NetBSD make, pick up:
1372 o fix for -C, .CURDIR and .OBJDIR
1374 o allow share_dir to be set independent of prefix.
1375 o select default share_dir better when prefix ends in $HOST_TARGET
1376 o if FORCE_BSD_MK etc were set, include them in the suggested
1379 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1381 * Makefile.in (MAKE_VERSION): bump version to 20090908
1382 * Merge with NetBSD make, pick up:
1383 o .MAKE.LEVEL for recursion tracking
1384 o fix for :M scanning \:
1386 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1388 * configure.in: Don't -D__EXTENSIONS__ if
1389 AC_USE_SYSTEM_EXTENSIONS says "no".
1391 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
1393 * Makefile.in (MAKE_VERSION): bump version to 20090826
1394 Simplify MAKE_VERSION to just the bare date.
1395 * Merge with NetBSD make, pick up:
1396 o -C directory support.
1397 o support for SIGINFO
1398 o use $TMPDIR for temp files.
1399 o child of vfork should be careful about modifying parent's state.
1402 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1404 * Appy some patches for MiNT from David Brownlee
1406 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
1408 * Makefile.in (BMAKE_VERSION): bump version to 20090222
1409 * Merge with NetBSD make, pick up:
1410 o Possible null pointer de-ref in Var_Set.
1412 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
1414 * Makefile.in (BMAKE_VERSION): bump version to 20090204
1415 * Merge with NetBSD make, pick up:
1416 o bmake_malloc et al moved to their own .c
1417 o Count both () and {} when looking for the end of a :M pattern
1418 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1419 o strlist.c - functions for processing extendable arrays of pointers to strings.
1420 o ClientData replaced with void *, so const void * can be used.
1421 o New debug flag C for DEBUG_CWD
1423 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1425 * Makefile.in (BMAKE_VERSION): bump version to 20081111
1426 Apply patch from Joerg Sonnenberge to
1428 o remove some redundant checks
1429 o check for emlloc etc only in libutil and require the whole family.
1431 o remove [v]asprintf which is no longer used.
1433 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1435 * Makefile.in (BMAKE_VERSION): bump version to 20081101
1436 * Merge with NetBSD make, pick up:
1437 o util.c: avoid use of putenv() - christos
1439 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1441 * Makefile.in (BMAKE_VERSION): bump version to 20081030
1442 pick up man page tweaks.
1444 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
1446 * Makefile.in: move processing of LIBOBJS to after is definition!
1447 thus we'll have getenv.c in SRCS only if needed.
1449 * make.1: add examples of how to use :?
1451 * Makefile.in (BMAKE_VERSION): bump version to 20081029
1452 * Merge with NetBSD make, pick up:
1453 o fix for .END processing with -j
1454 o segfault from Parse_Error when no makefile is open
1455 o handle numeric expressions in any variable expansion
1456 o debug output now defaults to stderr, -dF to change it - apb
1457 o make now uses bmake_malloc etc so that it can build natively
1458 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1460 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
1462 * Makefile.in (BMAKE_VERSION): bump version to 20080808
1463 * Merge with NetBSD make, pick up:
1464 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1465 long lines in Makefiles
1466 o optimizations for VarQuote by joerg
1467 o fix for PR/38756: dominik: make dumps core on invalid makefile
1469 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
1471 * Makefile.in (BMAKE_VERSION): bump version to 20080515
1472 * Merge with NetBSD make, pick up:
1473 o fix skip setting vars in VAR_GLOBAL context, to handle
1474 cases where VAR_CMD is used for other than command line vars.
1476 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
1478 * boot-strap (make_version): we may need to look in
1479 $prefix/share/mk for sys.mk
1481 * Makefile.in (BMAKE_VERSION): bump version to 20080514
1482 * Merge with NetBSD make, pick up:
1483 o skip setting vars in VAR_GLOBAL context, when already set in
1484 VAR_CMD which takes precedence.
1486 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
1488 * Makefile.in (BMAKE_VERSION): bump version to 20080330
1489 * Merge with NetBSD make, pick up:
1490 o fix for ?= when LHS contains variable reference.
1492 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1494 * merge some patches from NetBSD pkgsrc.
1496 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1497 the MAKSYSPATH used during bootstrap.
1499 * Makefile.in (BMAKE_VERSION): bump version to 20080215
1500 * Merge with NetBSD make, pick up:
1501 o warn if non-space chars follow 'empty' in a conditional.
1503 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1505 * Makefile.in (BMAKE_VERSION): bump version to 20080118
1506 * Merge with NetBSD make, pick up:
1507 o consider dependencies read from .depend as optional - dsl
1508 o remember when buffer for reading makefile grows - dsl
1509 o add -dl (aka LOUD) - David O'Brien
1511 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
1513 * Makefile.in (BMAKE_VERSION): bump version to 20071022
1514 * Merge with NetBSD make, pick up:
1515 o Allow .PATH<suffix> to be used for .include ""
1517 * boot-strap: source default settings from .bmake-boot-strap.rc
1519 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
1521 * Makefile.in: fix maninstall on various systems
1522 provided that our man.mk is used.
1523 For non-BSD systems we install the preformatted page
1526 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
1528 * boot-strap: make bmake.1 too, so maninstall works.
1530 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1532 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1533 * Merge with NetBSD make, pick up:
1534 o revamped handling of defshell - configure no longer needs to
1535 know the content of the shells array - apb
1536 o stop Var_Subst modifying its input - apb
1537 o avoid calling ParseTrackInput too often - dsl
1539 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1541 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1542 * Merge with NetBSD make, pick up:
1543 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1545 * sigcompat.c: some tweaks for HP-UX 11.x based on
1546 patch from Tobias Nygren
1548 * configure.in: update handling of --with-defshell to match
1549 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1550 will now do what one might hope - provided the chosen shell
1551 behaves enough like sh.
1553 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1555 * Makefile.in (BMAKE_VERSION): bump to 20071008
1556 * Merge with NetBSD make, pick up:
1557 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1558 o .export/.MAKE.EXPORTED - export of variables - sjg
1559 o .MAKE.MAKEFILES - track all makefiles read - sjg
1560 o performance improvements - dsl
1561 o revamp parallel job scheduling - dsl
1563 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1565 * Makefile.in (BMAKE_VERSION): bump to 20060728
1566 * Merge with NetBSD make, pick up:
1567 o extra debug info during variable and cond processing - sjg
1568 o shell definition now covers newline - rillig
1569 o minor mem leak in PrintOnError - sjg
1571 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1573 * Makefile.in (BMAKE_VERSION): bump to 20060511
1574 * Merge with NetBSD make, pick up:
1575 o more memory leaks - coverity
1576 o possible overflow in ArchFindMember - coverity
1577 o extract variable modifier code out of Var_Parse()
1578 so it can be called recursively - sjg
1579 o unit-tests/moderrs - sjg
1581 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1583 * Makefile.in (BMAKE_VERSION): bump to 20060412
1584 * Merge with NetBSD make, pick up:
1585 o fixes for some memory leaks - coverity
1586 o only read first sys.mk etc when searching sysIncPath - sjg
1588 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1589 setting ${MAKEFILE} - OBATA Akio
1591 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1593 * Makefile.in (BMAKE_VERSION): bump to 20060318
1594 * Merge with NetBSD make, pick up:
1595 o cleanup of job.c to remove remote handling, distcc is more
1596 useful and this code was likely bit-rotting - dsl
1597 o fix for :P modifier - sjg
1598 * boot-strap: set default prefix to something reasonable
1601 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1603 * Makefile.in (BMAKE_VERSION): bump to 20060301
1604 * Merge with NetBSD make, pick up:
1605 o make .WAIT apply recursively, document and test case - apb
1606 o allow variable modifiers in a variable appear anywhere in
1607 modifier list, document and test case - sjg
1609 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1611 * Makefile.in (BMAKE_VERSION): bump to 20060222
1612 * Merge with NetBSD make, pick up:
1613 o improved job token handling - dsl
1614 o SIG_DFL the correct signal before exec - dsl
1615 o more debug info during parsing - dsl
1616 o allow variable modifiers to be specified via variable - sjg
1617 * boot-strap: explain why we died if no mksrc
1619 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1621 * Makefile.in (BMAKE_VERSION): bump to 20051105
1622 * configure.in: always set default_sys_path
1623 default is ${prefix}/share/mk
1624 - remove prefix_sys_path, anyone wanting more than above
1625 needs to set it manually.
1627 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1629 * boot-strap: make this a bit easier for pkgsrc folk.
1630 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1631 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1633 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1635 * Makefile.in (BMAKE_VERSION): bump to 20051102
1636 * job.c (JobFinish): fix likely ancient merge lossage
1637 fix from Todd Vierling.
1638 * boot-strap (srcdir): allow setting mksrc=none
1640 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1642 * Makefile.in (BMAKE_VERSION): bump to 20051031
1643 * ranlib.h: skip on OSF too.
1646 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1648 * Makefile.in (BMAKE_VERSION): bump to 20051002
1651 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1653 * Makefile.in (BMAKE_VERSION): bump to 20051001
1654 support for UnixWare and some other systems,
1655 based on patches from pkgsrc/bootstrap
1657 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1659 * Makefile.in (BMAKE_VERSION): bump to 20050901
1660 * Merge with NetBSD make, pick up:
1661 o possible parse error causing us to wander off.
1663 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1665 * Makefile.in (BMAKE_VERSION): bump to 20050606
1666 * Merge with NetBSD make, pick up:
1667 o :0x modifier for randomizing a list
1668 o fixes for a number of -Wuninitialized issues.
1670 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1672 * Makefile.in (BMAKE_VERSION): bump to 20050530
1673 * Merge with NetBSD make, pick up:
1674 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1676 * README: was seriously out of date.
1678 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1680 * Important to use .MAKE rather than MAKE.
1682 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1684 * Makefile.in (BMAKE_VERSION): bump to 20050315
1685 * Merge with NetBSD make, pick up:
1686 o don't mistake .elsefoo for .else
1687 o use suffix-specific search path correctly
1688 o bunch of style nits
1690 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1693 o ensure that args to --src and --with-mksrc
1694 are resolved before giving them to configure.
1695 o add -o "objdir" so that builder can control it,
1696 default is $OS as determined by os.sh
1697 o add -q to suppress all the install instructions.
1699 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1701 * Remove __IDSTRING()
1703 * Makefile.in (BMAKE_VERSION): bump to 20040508
1704 * Merge with NetBSD make, pick up:
1706 - remove '-e' from compat mode
1707 - add support for '+' command-line prefix.
1708 o fix for handling '--' on command-line.
1709 o fix include in lst.lib/lstInt.h to simplify '-I's
1710 o we also picked up replacement of MAKE_BOOTSTRAP
1711 with !MAKE_NATIVE which is a noop, but possibly confusing.
1713 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1715 * Makefile.in (BMAKE_VERSION): bump to 20040414
1716 * Merge with NetBSD make, pick up:
1717 o allow quoted strings on lhs of conditionals
1718 o issue warning when extra .else is seen
1719 o print line numer when errors encountered during parsing from
1722 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1724 * Makefile.in (BMAKE_VERSION): bump to 20040220
1725 * Merge with NetBSD make, pick up:
1726 o fix for old :M parsing bug.
1727 o re-jigged unit-tests
1729 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1731 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1732 so that './bmake -f Makefile test' works.
1734 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1736 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1737 * Merge with NetBSD make, pick up:
1738 o search upwards for *.mk
1739 o fix for double free of var substitution buffers
1740 o use of getopt replaced with custom code, since the usage
1741 (re-scanning) isn't posix compatible.
1743 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1745 * arch.c: don't include ranlib.h on ELF systems
1746 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1748 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1750 * Makefile.in (BMAKE_VERSION): bump to 20040118
1752 * boot-strap (while): export vars we assign to on cmdline
1753 * unit-test/Makefile.in: ternary is .PHONY
1755 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1757 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1758 * Merge with NetBSD make, pick up:
1759 o fix for ternary modifier
1761 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1763 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1764 * Merge with NetBSD make, pick up:
1765 o fix for cond.c to handle compound expressions better
1766 o variable expansion within sysV style replacements
1768 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1770 * Make portable snprintf safer - output to /dev/null first to
1773 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1774 * Merge with NetBSD make, pick up:
1775 o -dg3 to show input graph when things go wrong.
1776 o explicitly look for makefiles in objdir if not found in curdir so
1777 that errors in .depend etc will be reported accurarely.
1778 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1779 instead as it more accurately reflects the expected behavior and
1780 is more consistently implemented.
1781 o avoid use of asprintf.
1783 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1785 * util.c: Add asprintf and vasprintf.
1787 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1788 * Merge with NetBSD make, pick up:
1789 :[] modifier - allows picking words from a variable.
1790 :tW modifier - allows treating value as one big word.
1791 W flag for :C and :S - allows treating value as one big word.
1793 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1795 * Merge with NetBSD make
1796 pick up -de flag to enable printing failed command.
1797 don't skip 1st two dir entries (normally . and ..) since
1798 coda does not have them.
1800 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1802 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1803 * Merge with NetBSD make, pick up:
1804 - changes for -V '${VAR}' to print fully expanded value
1806 - CompatRunCommand now prints the command that failed.
1807 - several files got updated 3 clause Berkeley license.
1809 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1811 * boot-strap: Allow setting configure args on command line.
1813 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1815 * configure.in: add --with-defshell to allow sh or ksh
1816 to be selected as default shell.
1818 * Makefile.in: bump version to 20030731
1820 * Merge with NetBSD make
1821 Pick up .SHELL spec for ksh and associate man page changes.
1822 Also compat mode now uses the same shell specs.
1824 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1826 * var.c (Var_Parse): ensure delim is initialized.
1828 * unit-tests/Makefile.in: use single quotes to avoid problems from
1832 Run the unit-tests as part of the bootstrap procedure.
1834 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1836 * unit-tests/Makefile.in: always force complaints from
1837 ${TEST_MAKE} to be from 'make'.
1839 * configure.in: add check for 'diff -u'
1840 also fix some old autoconf'isms
1842 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1843 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1845 * Merge with NetBSD make
1846 Pick up fix for :ts parsing error in some cases.
1849 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1851 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1853 * var.c (Var_Parse): fix bug in :ts modifier, after const
1854 correctness fixes, must pass nstr to VarModify.
1856 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1858 * Makefile.in: BMAKE_VERSION switch to a date based version.
1859 We'll generally use the date of last import from NetBSD.
1861 * Merge with NetBSD make
1862 Pick up fixes for const-correctness, now passes WARNS=3 on
1864 Pick up :ts modifier, allows controlling the separator used
1865 between words in variable expansion.
1867 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1869 * FILES: include boot-strap and os.sh
1871 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1872 FreeBSD is known to be bad.
1874 * makefile.boot.in (bootstrap): make this the default target.
1876 * Makefile.in: bump version to 3.1.19
1878 * machine.sh: avoid A-Z with tr as it is bound to lose.
1880 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1882 * Merge with NetBSD make
1883 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1884 Plus some doc fixes.
1886 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1888 * Merge with NetBSD make
1889 Pick up fix for PR/1523 - don't count a library as built, if there
1890 is no way to build it
1892 * Bump version to 3.1.18
1894 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1896 * Merge with NetBSD make
1897 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1898 appears in src list.
1900 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1902 * Merge with NetBSD make (mmm 10th anniversary!)
1903 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1904 pick up -X which tells us to not export VAR=val via setenv if
1905 we are already doing so via MAKEFLAGS. This saves valuable env
1906 space on systems like Darwin.
1907 set MAKE_VERSION to 3.1.17
1909 * parse.c: pix up fix for suffix rules
1911 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1913 * Merge with NetBSD make.
1914 pick up fix for propagating -B via MAKEFLAGS.
1915 set MAKE_VERSION to 3.1.16
1917 * Apply some patches from pkgsrc-bootstrap/bmake
1918 Originally by Grant Beattie <grant@netbsd.org>
1919 I may have missed some - since they are based on bmake-3.1.12
1921 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1923 * makefile.boot.in (bmake): update install targets for those that
1924 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1925 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1927 * bmake.cat1: update the pre-formatted man page!
1929 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1931 * Merge with NetBSD make.
1932 pick up fix for premature free of pointer used in call
1934 set MAKE_VERSION to 3.1.15
1936 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1938 * configure.in: determine suitable value for MKSRC.
1939 override using --with-mksrc=PATH.
1941 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1942 configs(8) will use 'sun4' as an alias for 'sparc'.
1944 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1946 * Merge with NetBSD make.
1948 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1949 set MAKE_VERSION to 3.1.14
1950 add configure checks for killpg and sys/socket.h
1952 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1956 * makefile.boot.in (bmake): use install-mk
1957 Also setup ./mk before trying to invoke bmake.boot incase we
1958 needed install-mk to create a sys.mk for us.
1960 * configure.in: If we need to add -I${srcdir}/missing, make it an
1961 absolute path so that it works for lst.lib too.
1963 * make.h: always include sys/cdefs.h since we provide one if the
1966 * Makefile.in (install-mk):
1967 use MKSRC/install-mk which will do the right thing.
1968 use uname -p for ARCH if possible.
1969 since install-mk will setup links bsd.prog.mk -> prog.mk if
1970 needed, just .include bsd.prog.mk
1972 * Merge with NetBSD make (NetBSD-1.6)
1973 Code is ansi-C only now.
1974 Bug in handling of dotLast is fixed.
1975 Can now assign .OBJDIR and make will reset its notions of life.
1976 New modifiers :tu :tl for toUpper and toLower.
1978 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1980 * Merge with NetBSD make
1981 pick up fix for .END failure in compat mode.
1982 pick up fix for extra va_end() in ParseVErrorInternal.
1984 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1986 * configure.in: for systems that have sys/cdefs.h check if it is
1987 compatible. If not, include the one under missing, but tell it to
1988 include the native one too - necessary on Linux.
1990 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1991 include_next (for gcc) to get the native sys/cdefs.h
1993 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1995 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1996 leaking descriptors when using -jN.
1998 * job.c (JobPrintCommand): See if "curdir" exists before
1999 attempting to chdir(). Doing the chdir directly in make (when in
2000 compat mode) fails silently, so let the -jN version do the same.
2001 This can happen when building kernels in an object tree and
2002 playing clever games to reset .CURDIR.
2004 * Merged with NetBSD make
2007 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2009 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
2011 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2013 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
2014 us not to export the iterator variable when using VAR_CMD context.
2016 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2018 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
2019 its the wrong "fix".
2021 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2023 * Redesigned export of VAR_CMD's via MAKEFLAGS.
2024 We now simply append the variable names to .MAKEOVERRIDES, and
2025 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
2026 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
2027 Apart from fixing quoting bugs in previous version, this allows us
2028 to export vars to the environment by simply doing:
2029 .MAKEOVERRIDES+= PATH
2030 Merged again with NetBSD make, but the above is the only change.
2032 * configure.in: added
2033 --disable-pwd-override disable $PWD overriding getcwd()
2034 --disable-check-make-chdir disable make trying to guess
2035 when it should automatically cd ${.CURDIR}
2037 * Merge with NetBSD make, changes include:
2038 parse.c (ParseDoDependency): Spot that the syntax error is
2039 caused by an unresolved cvs/rcs conflict and say so.
2040 var.c: most of Var* functions now take a ctxt as 1st arg.
2041 now does variable substituion on rhs of sysv style modifiers.
2043 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
2044 is now done here. We append the name='value' to .MAKEOVERRIDES
2045 rather than directly into MAKEFLAGS as this allows a Makefile to
2046 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
2047 very similar mechanism. Note that in adding name='value' to
2048 .MAKEOVERRIDES we do the moral equivalent of:
2049 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
2051 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2053 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
2055 * Merged with NetBSD make
2056 make -dx can now be used to run commands via sh -x
2057 better error messages on exec failures.
2059 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2061 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
2062 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
2063 MACHINE etc otherwise they propagate from the previous bmake.
2065 * configure.in (machine): allow --with-machine=generic to make
2066 configure use machine.sh to set MACHINE.
2068 * job.c (JobInterrupt): convert to using WAIT_T and friends.
2070 * Makefile.in: mention in bmake.1 that we use autoconf.
2072 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
2074 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2076 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
2077 as that rather defeats the usefulness of ${MAKEFILE}.
2079 * main.c (MainParseArgs): append command line variable assignments
2080 to MAKEFLAGS so that they get propagated to child make's.
2081 Apparently this is required POSIX behaviour? Its useful anyway.
2083 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2085 * compat.c (CompatRunCommand): don't use perror() since stdio may
2086 cause problems in child of vfork().
2088 * compat.c, main.c: Call PrintOnError() when we are going to bail.
2089 This routine prints out the .curdir where we stopped and will also
2090 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2092 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
2095 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
2097 * Added RCSid's for the files we've touched.
2099 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2101 * configure.in: Thanks to some clues from mdb@juniper.net,
2102 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2103 as well as what ends up in _PATH_DEFSYSPATH. We now have:
2105 --with-machine=MACHINE explicitly set MACHINE
2106 --with-force-machine=MACHINE set FORCE_MACHINE
2107 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
2108 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
2109 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
2110 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
2112 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2114 * makefile: added a pathetically simple makefile to drive
2115 bootstrapping. Running configure by hand is more useful.
2117 * Makefile.in: added MAKE_VERSION, and reworked things to be less
2118 dependent on NetBSD bsd.*.mk
2120 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2121 _PATH_OBJDIRPREFIX for those that don't want a default.
2122 construct _PATH_DEFSYSPATH from the info we get from configure.
2124 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2125 if MAKE_VERSION is defined.
2127 * compat.c: when we bail, print out the .CURDIR we were in.
2129 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2131 * Merged with NetBSD make
2133 * var.c: fixed a bug in the handling of the modifier :P
2134 if the node as found but the path was null, we segfault trying to
2137 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2139 * Merged with NetBSD make
2141 * make.c: Make_OODate's test for a library out of date was using
2142 cmtime where it should have used mtime (my bug).
2144 * compat.c: Use perror() to tell us what really went wrong when we
2145 cannot exec a command.
2147 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2149 * Merged with NetBSD make
2151 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2153 * Merged with NetBSD make
2155 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2157 * Merged with NetBSD make
2159 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2161 * Merged with NetBSD make
2163 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2165 * util.c: don't provide signal() since we use sigcompat.c
2167 * Makefile.in: added a build target.
2169 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2170 These allow some quite clever magic.
2172 * main.c (main): added support for getenv(MAKESYSPATH).
2174 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2176 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2177 This avoids objdir having a different value depending on how a
2178 directory was reached (via command line, or subdir.mk).
2180 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2182 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2184 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2185 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2186 I've been testing this in NetBSD's make for some weeks.
2188 * Turn Makefile into Makefile.in and make it useful.
2190 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2192 * Imported NetBSD's -current make(1) and resolve conflicts.
2194 * Applied autoconf patches from bmake v2
2196 * Imported clean code base from NetBSD-1.0