1 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
3 * Makefile (MAKE_VERSION): 20151020
4 Merge with NetBSD make, pick up
5 o var.c: fix uninitialized var
7 2015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
9 * var.c: the conditional expressions used with ':?' can be
10 expensive, if already discarding do not evaluate or expand
13 2015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
15 * Makefile (MAKE_VERSION): 20151010
16 Merge with NetBSD make, pick up
17 o Add Boolean wantit flag to Var_Subst and Var_Parse
18 when FALSE we know we are discarding the result and can
19 skip operations like Cmd_Exec.
21 2015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
23 * Makefile (MAKE_VERSION): 20151009
24 Merge with NetBSD make, pick up
25 o var.c: don't check for NULL before free()
26 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
28 2015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
30 * Makefile (MAKE_VERSION): 20150910
31 Merge with NetBSD make, pick up
32 o main.c: with -w print Enter/Leaving messages for objdir too
34 o centralize shell metachar handling
36 * FILES: add metachar.[ch]
38 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
40 * Makefile (MAKE_VERSION): 20150606
41 Merge with NetBSD make, pick up
42 o make.1: document .OBJDIR target
44 2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
46 * Makefile (MAKE_VERSION): 20150505
47 Merge with NetBSD make, pick up
48 o cond.c: be strict about lhs of comparison when evaluating .if
49 but less so when called from variable expansion.
50 o unit-tests/cond2.mk: test various error conditions
52 2015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
54 * machine.sh (MACHINE): Add Bitrig
55 patch from joerg@netbsd.org
57 2015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
59 * Makefile (MAKE_VERSION): 20150418
60 Merge with NetBSD make, pick up
61 o job.c: use memmove() rather than memcpy()
63 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
66 2015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
68 * Makefile (MAKE_VERSION): 20150411
69 bump version - only mk/ changes.
71 2015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
73 * Makefile (MAKE_VERSION): 20150410
74 Merge with NetBSD make, pick up
75 o document different handling of '-' in jobs mode vs compat
76 o fix jobs mode so that '-' only applies to whole job
77 when shell lacks hasErrCtl
78 o meta.c: use separate vars to track lcwd and latestdir (read)
81 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
83 * Makefile (MAKE_VERSION): 20150401
84 Merge with NetBSD make, pick up
85 o meta.c: close meta file in child
87 * Makefile: use BINDIR.bmake if set.
88 Same for MANDIR and SHAREDIR
89 Handy for testing release candidates
90 in various environments.
92 2015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
94 * move initialization of savederr to block where it is used
95 to avoid spurious warning from gcc5
97 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
99 * Makefile (MAKE_VERSION): 20141111
102 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
104 * Makefile (MAKE_VERSION): 20141105
105 Merge with NetBSD make, pick up
106 o revert major overhaul of suffix handling
107 and POSIX compliance - too much breakage
108 and impossible to make backwards compatible.
109 o we still have the new unit test structure which is ok.
110 o meta.c ensure "-- filemon" is at start of line.
112 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
114 * configure.in: test that result of getconf PATH_MAX is numeric
115 and discard if not. Apparently needed for Hurd.
117 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
119 * Makefile (MAKE_VERSION): 20140830
120 Merge with NetBSD make, pick up
121 o major overhaul of suffix handling
122 o improved POSIX compliance
123 o overhauled unit-tests
125 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
127 * Makefile (MAKE_VERSION): 20140620
128 Merge with NetBSD make, pick up
129 o var.c return varNoError rather than var_Error for ::= modifiers.
131 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
133 * Makefile (MAKE_VERSION): 20140522
134 Merge with NetBSD make, pick up
135 o var.c detect some parse errors.
137 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
139 * Fix spelling errors - patch from Pedro Giffuni
141 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
143 * Makefile (MAKE_VERSION): 20140214
144 Merge with NetBSD make, pick up
146 o use Var_Value to get MAKEOBJDIR[PREFIX]
147 o reduced realloc'ign in brk_string.
148 * configure.in: add a check for compiler supporting __func__
150 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
152 * boot-strap: ignore mksrc=none
154 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
156 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
158 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
160 * Makefile (MAKE_VERSION): 20140101
161 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
162 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
163 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
165 * configure.in: Add AC_PREREQ and check for
166 sysctl; patch from Andrew Shadura andrewsh at debian.org
168 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
170 * Makefile (MAKE_VERSION): 20131010
171 * lose the const from arg to systcl to avoid problems on older BSDs.
173 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
175 * Makefile (MAKE_VERSION): 20131001
176 Merge with NetBSD make, pick up
177 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
178 hw.machine_arch if necessary.
179 o meta.c: meta_oodate - need to look at src of Link and target
181 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
182 provide __arraycount() if needed.
184 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
186 * Makefile (MAKE_VERSION): 20130904
187 Merge with NetBSD make, pick up
188 o Add VAR_INTERNAL context, so that internal setting of
189 MAKEFILE does not override value set by makefiles.
191 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
193 * Makefile (MAKE_VERSION): 20130902
194 Merge with NetBSD make, pick up
195 o CompatRunCommand: only apply shellErrFlag when errCheck is true
197 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
199 * Makefile (MAKE_VERSION): 20130828
200 Merge with NetBSD make, pick up
201 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
202 o Call Job_SetPrefix() from Job_Init() so makefiles have
203 opportunity to set .MAKE.JOB.PREFIX
205 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
207 * Makefile (MAKE_VERSION): 20130730
208 Merge with NetBSD make, pick up
209 o Allow suppression of --- job -- tokens by setting
210 .MAKE.JOB.PREFIX empty.
212 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
214 * Makefile (MAKE_VERSION): 20130716
215 Merge with NetBSD make, pick up
216 o number of gmake compatibility tweaks
217 -w for gmake style entering/leaving messages
218 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
219 handle MAKEFLAGS containing only letters.
220 o when overriding a GLOBAL variable on the command line,
221 delete it from GLOBAL context so -V doesn't show the wrong
224 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
226 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
228 * Makefile (MAKE_VERSION): 20130706
229 Merge with NetBSD make, pick up
230 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
231 true so that CompatRunCommand() can use it, to ensure
232 consistent behavior with jobs mode.
233 o use MAKE_LEVEL_ENV to define the variable to propagate
234 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
235 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
238 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
240 * Makefile (MAKE_VERSION): 20130604
241 Merge with NetBSD make, pick up
242 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
243 to avoid leaking descriptors.
245 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
247 * Makefile (MAKE_VERSION): 20130528
248 Merge with NetBSD make, pick up
249 o var.c: cleanup some left-overs in VarHash()
251 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
253 * Makefile (MAKE_VERSION): 20130520
254 generate manifest from component FILES rather than have to
255 update FILES when mk/FILES changes.
257 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
259 * Makefile (MAKE_VERSION): 20130518
260 Merge with NetBSD make, pick up
261 o suff.c: don't skip all processsing for .PHONY targets
262 else wildcard srcs do not get expanded.
263 o var.c: expand name of variable to delete if necessary.
265 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
267 * Makefile (MAKE_VERSION): 20130330
268 Merge with NetBSD make, pick up
269 o meta.c: refine the handling of .OODATE in commands.
270 Rather than suppress command comparison for the entire script
271 as though .NOMETA_CMP had been used, only suppress it for the
273 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
274 suppress comparison of a command without otherwise affecting it.
275 o make.1: document that
277 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
279 * Makefile (MAKE_VERSION): 20130321
280 yes, not quite right but its a cooler number.
281 Merge with NetBSD make, pick up
282 o parse.c: fix ParseGmakeExport to be portable
284 * meta.c: call meta_init() before makefiles are read and if built
285 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
286 this let's makefiles test for support.
287 Call meta_mode_init() to process .MAKE.MODE.
289 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
291 * Makefile (MAKE_VERSION): 20130305
292 Merge with NetBSD make, pick up
293 o run .STALE: target when a dependency from .depend is missing.
294 o job.c: add Job_RunTarget() for the above and .BEGIN
296 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
298 * Makefile (MAKE_VERSION): 20130303
299 Merge with NetBSD make, pick up
300 o main.c: set .MAKE.OS to utsname.sysname
301 o job.c: more checks for read and poll errors
302 o var.c: lose VarChangeCase() saves 4% time
304 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
306 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
307 want to use MAKEOBJDIR
309 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
311 * Merge with NetBSD make, pick up
312 o make.1: more info on how shell commands are handled.
313 o job.c,main.c: detect write errors to job pipes.
315 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
317 * Makefile (MAKE_VERSION): 20130123
318 Merge with NetBSD make, pick up
319 o meta.c: if script uses .OODATE and meta_oodate() decides
320 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
321 o var.c: in debug output indicate which variabale modifiers
323 o remove Check_Cwd logic the makefiles have been fixed.
325 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
327 * makefile.in: add a simple makefile for folk who insist on
328 ./configure; make; make install
329 it just runs boot-strap
330 * include mk/* to accommodate the above
331 * boot-strap: re-work to accommodate the above
332 mksrc defaults to $Mydir/mk
333 allow op={configure,build,install,clean,all}
334 add options to facilitate install
335 * Makefile.config.in: just the bits set by configure
336 * Makefile: bump version to 20121212
337 abandon Makefile.in (NetBSD Makefile)
338 leverage mk/* instead
339 * configure.in: ensure srcdir is absolute
341 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
343 * Makefile.in (MAKE_VERSION): 20121111
344 fix generation of bmake.cat1
346 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
348 * Makefile.in (MAKE_VERSION): 20121109
349 Merge with NetBSD make, pick up
350 o make.c: MakeBuildChild: return 0 so search continues if a
351 .ORDER dependency is detected.
352 o unit-tests/order: test the above
354 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
356 * Makefile.in (MAKE_VERSION): 20121102
357 Merge with NetBSD make, pick up
358 o cond.c: allow cond_state[] to grow.
359 In meta mode with a very large tree, we can hit the limit
360 while processing dirdeps.
362 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
364 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
366 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
368 * Makefile.in (MAKE_VERSION): 20121010
369 o protect syntax that only bmake parses correctly.
370 o remove auto setting of FORCE_MACHINE, use configure's
371 --with-force-machine=whatever if that is desired.
373 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
375 * Makefile.in: do not lose history from make.1 when generating bmake.1
377 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
379 * Makefile.in (MAKE_VERSION): 20121007
380 Merge with NetBSD make, pick up
381 o compat.c: ignore empty commands - same as jobs mode.
382 o make.1: document meta chars that cause use of shell
384 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
386 * Makefile.in (MAKE_VERSION): bump version to 20120911
387 * bsd.after-import.mk: include Makefile.inc early and allow it to
390 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
392 * Makefile.in (MAKE_VERSION): bump version to 20120831
393 Merge with NetBSD make, pick up
394 o cast sizeof() to int for comparison
397 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
399 * Makefile.in (MAKE_VERSION): bump version to 20120830
400 Merge with NetBSD make, pick up
401 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
402 o debug flag -dV causes -V to show raw value regardless.
404 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
406 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
409 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
411 * Makefile.in (MAKE_VERSION): bump version to 20120704
412 Merge with NetBSD make, pick up
413 o Job_ParseShell should call Shell_Init if it has been
415 * Makefile.in: set USE_META based on configure result.
416 also .PARSEDIR is safer indicator of bmake.
418 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
420 * Makefile.in: bump version to 20120626
421 ensure CPPFLAGS is in CFLAGS
422 * meta.c: avoid nested externs
423 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
425 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
427 * Makefile.in (MAKE_VERSION): bump version to 20120620
428 Merge with NetBSD make, pick up
429 o make_malloc.c: avoid including make_malloc.h again
431 * Makefile.in: avoid bmake only syntax or protect with
432 .if defined(.MAKE.LEVEL)
433 * bsd.after-import.mk: replace .-include with .sinclude
434 ensure? SRCTOP gets a value
435 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
437 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
439 * Makefile.in (MAKE_VERSION): bump version to 20120612
440 Merge with NetBSD make, pick up
441 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
442 for greater portability.
443 o unit-tests/forloop: check that .for works as expected wrt
444 number of times and with "quoted strings".
446 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
448 * Makefile.in (MAKE_VERSION): bump version to 20120606
449 Merge with NetBSD make, pick up
450 o compat.c: use kill(2) rather than raise(3).
451 * configure.in: look for sys/dev/filemon
452 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
453 and pass BOOTSTRAP_XTRAS to boot-strap.
455 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
457 * Makefile.in (MAKE_VERSION): bump version to 20120604
458 Merge with NetBSD make, pick up
459 o util.c and var.c share same var for tracking if environ
460 has been reallocated.
461 o util.c provide getenv with setenv.
462 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
463 when the shell actively strips .MAKE.* from the environment.
464 We still refer to the variable always as .MAKE.LEVEL
465 * util.c fix bug in findenv() was finding prefix of name.
466 * compat.c: re-raising SIGINT etc after running .INTERRUPT
467 results in more reliable termination of all activity on many
470 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
472 * Makefile.in (MAKE_VERSION): bump version to 20120602
473 Merge with NetBSD make, pick up
474 o for.c: handle quoted items in .for list
476 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
478 * Makefile.in (MAKE_VERSION): bump version to 20120530
479 Merge with NetBSD make, pick up
480 o compat.c: ignore empty command.
482 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
484 * Makefile.in (MAKE_VERSION): bump version to 20120524
485 * FILES: add bsd.after-import.mk:
486 A simple means of integrating bmake into a BSD build system.
488 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
490 * Makefile.in (MAKE_VERSION): bump version to 20120520
491 Merge with NetBSD make, pick up
492 o increased limit for nested conditionals.
494 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
496 * Makefile.in (MAKE_VERSION): bump version to 20120518
497 Merge with NetBSD make, pick up
498 o use _exit(2) in signal hanlder
499 o Don't use the [dir] cache when building nodes that might have
500 changed since the last exec.
501 o Avoid nested extern declaration warnings.
503 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
505 * meta.c (fgetLine): avoid %z - not portable.
506 * parse.c: Since we moved include of sys/mman.h
507 and def's of MAP_COPY etc. we got dups from a merge.
509 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
511 * Makefile.in (MAKE_VERSION): bump version to 20120420
512 Merge with NetBSD make, pick up
513 o restore duplicate supression in .MAKE.MAKEFILES
514 runtime saving can be significant.
515 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
516 consumption up to 20%.
518 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
520 * Makefile.in (MAKE_VERSION): bump version to 20120420
521 Merge with NetBSD make, pick up
522 o remove duplicate supression in .MAKE.MAKEFILES
523 o improved dir cache behavior
524 o gmake'ish export command
526 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
528 * Makefile.in (MAKE_VERSION): bump version to 20120325
529 Merge with NetBSD make, pick up
530 o fix parsing of :[#] in conditionals.
532 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
534 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
535 since some systems cannot cope with .Nx <version>
537 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
539 * Makefile.in (MAKE_VERSION): bump version to 20111111
540 Merge with NetBSD make, pick up
541 o debug output for .PARSEDIR and .PARSEFILE
543 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
545 * Makefile.in (MAKE_VERSION): bump version to 20111010
547 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
549 * boot-strap: check for an expected file in the dirs we look for.
550 * make-bootstrap.sh: pass on LDSTATIC
552 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
554 * Makefile.in (MAKE_VERSION): bump version to 20111001
555 Merge with NetBSD make, pick up
556 o ensure .PREFIX is set for .PHONY
557 and .TARGET set for .PHONY run via .END
558 o __dead used consistently
560 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
562 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
564 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
566 * Makefile.in (MAKE_VERSION): bump version to 20110905
567 Merge with NetBSD make, pick up
568 o meta_oodate: ignore makeDependfile
570 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
572 * Makefile.in (MAKE_VERSION): bump version to 20110828
573 Merge with NetBSD make, pick up
574 o silent=yes in .MAKE.MODE causes meta mode to mark targets
575 as SILENT if a .meta file is created
577 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
579 * Makefile.in (MAKE_VERSION): bump version to 20110818
580 Merge with NetBSD make, pick up
581 o in meta mode, if target flagged .META a missing .meta file
582 means target is out-of-date
583 o fixes for gcc 4.5 warnings
584 o simplify job printing code
586 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
588 * Makefile.in (MAKE_VERSION): bump version to 20110808
589 Merge with NetBSD make, pick up
590 o do not touch OP_SPECIAL targets when doing make -t
592 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
594 * Makefile.in (MAKE_VERSION): bump version to 20110622
595 Merge with NetBSD make, pick up
596 o meta_oodate detect corrupted .meta file and declare oodate.
597 * configure.in: add check for setsid
599 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
601 * Merge with NetBSD make, pick up
602 o unit-tests/modts now works on MirBSD
604 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
606 * Makefile.in (MAKE_VERSION): bump version to 20110606
607 Merge with NetBSD make, pick up
608 o ApplyModifiers: when we parse a variable which is not
609 the entire modifier string, or not followed by ':', do not
610 consider it as containing modifiers.
611 o loadfile: ensure newline at end of mapped file.
613 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
615 * Makefile.in (MAKE_VERSION): bump version to 20110505
616 Merge with NetBSD make, pick up
617 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
618 of make's control. In meta mode, any generated file within
619 said bailiwick, which is found to be missing, causes current
620 target to be out-of-date.
622 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
624 * Makefile.in (MAKE_VERSION): bump version to 20110411
625 Merge with NetBSD make, pick up
626 o when long modifiers fail to match, check sysV style.
629 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
631 * Makefile.in (MAKE_VERSION): bump version to 20110410
632 Merge with NetBSD make, pick up
633 o :hash - cheap 32bit hash of value
634 o :localtime, :gmtime - use value as format string for strftime.
636 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
638 * Makefile.in (MAKE_VERSION): bump version to 20110330
639 mostly because its a cooler version.
640 Merge with NetBSD make, pick up
641 o NetBSD tags for meta.[ch]
642 o job.c call meta_job_finish() after meta_job_error().
643 o meta_job_error() should call meta_job_finish() to ensure
644 .meta file is closed, and safe to copy - if .ERROR target wants.
645 meta_job_finish() is safe to call repeatedly.
647 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
649 * unit-tests/modts: use printf if it is a builtin,
650 to save us from MirBSD
652 * Makefile.in (MAKE_VERSION): bump version to 20110329
653 Merge with NetBSD make, pick up
654 o fix for use after free() in CondDoExists().
655 o meta_oodate() report extra commands and return earlier.
657 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
659 * Makefile.in (MAKE_VERSION): bump version to 20110327
660 Merge with NetBSD make, pick up
661 o meta.c, if .MAKE.MODE contains curdirOk=yes
662 allow creating .meta files in .CURDIR
663 * boot-strap (TOOL_DIFF): aparently at least on linux distro
664 formats the output of 'type' differently - so eat any "()"
666 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
668 * Makefile.in (MAKE_VERSION): bump version to 20110306
669 Merge with NetBSD make, pick up
670 o meta.c, only do getcwd() once
672 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
674 * Makefile.in (MAKE_VERSION): bump version to 20110305
675 Merge with NetBSD make, pick up
676 o correct sysV substitution handling of empty lhs and variable
677 o correct exists() check for dir with trailing /
678 o correct handling of modifiers for non-existant variables
679 during evaluation of conditionals.
680 o ensure MAP_FILE is defined.
681 o meta.c use curdir[] now exported by main.c
683 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
685 * Makefile.in (MAKE_VERSION): bump version to 20110225
686 Merge with NetBSD make, pick up
687 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
688 makefiles have been read.
689 o fix example of :? modifier in man page.
691 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
693 * Makefile.in (MAKE_VERSION): bump version to 20110214
694 Merge with NetBSD make, pick up
695 o meta.c handle realpath() failing when generating meta file
698 * sigcompat.c: convert to ansi so we can use higher warning levels.
701 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
703 * Makefile.in (MAKE_VERSION): bump version to 20110207
704 Merge with NetBSD make, pick up
705 o fix for bug in meta mode.
707 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
709 * parse.c: SunOS 5.8 at least does not have MAP_FILE
711 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
713 * Makefile.in (MAKE_VERSION): bump version to 20110101
714 Merge with NetBSD make, pick up
715 o use mmap(2) if available, for reading makefiles
717 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
719 * Makefile.in (MAKE_VERSION): bump version to 20101215
720 Merge with NetBSD make, pick up
721 o ensure meta_job_error() does not report a previous .meta file
724 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
726 * Makefile.in (MAKE_VERSION): bump version to 20101210
727 Merge with NetBSD make, pick up
728 o meta_oodate: track cwd per process, and only consider target
729 out-of-date if missing file is outside make's CWD.
730 Ignore files in /tmp/ etc.
731 o to ensure unit-tests results match, need to control LC_ALL
733 o fix for parsing bug in var.c
735 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
737 * Makefile.in (MAKE_VERSION): bump version to 20101126
738 Merge with NetBSD make, pick up
739 o if stale dependency is an IMPSRC, search via .PATH
740 o meta_oodate: if a referenced file is missing, target is
742 o meta_oodate: if a target uses .OODATE in its commands,
743 it (.OODATE) needs to be recomputed.
744 o keep a pointer to youngest child node, rather than just its
747 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
749 * Makefile.in (MAKE_VERSION): bump version to 20101101
751 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
753 * machine.sh: like os.sh,
754 allow for uname -p producing useless drivel
756 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
758 * boot-strap: document configure knobs for meta and filemon.
760 * Makefile.in (MAKE_VERSION): bump version to 20100911
761 Merge with NetBSD make, pick up
764 * make-bootstrap.sh.in: handle meta.c
765 * configure.in: add knobs for use_meta and filemon_h
766 also, look for dirname, str[e]sep and strlcpy
767 * util.c: add simple err[x] and warn[x]
769 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
771 * boot-strap (TOOL_DIFF): set this to ensure tests use
772 the same version of diff that configure tested
774 * Makefile.in (MAKE_VERSION): bump version to 20100808
775 Merge with NetBSD make, pick up
776 o in jobs mode, when we discover we cannot make something,
777 call PrintOnError before exit.
779 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
781 * Makefile.in (MAKE_VERSION): bump version to 20100806
782 Merge with NetBSD make, pick up
783 o formatting fixes for ignored errors
784 o ensure jobs are cleaned up regardless of where wait() was called.
786 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
788 * Makefile.in (MAKE_VERSION): bump version to 20100618
789 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
791 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
793 * Makefile.in (MAKE_VERSION): bump version to 20100616
794 Merge with NetBSD make, pick up
796 o call PrintOnError from JobFinish when we detect an error we
799 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
801 * Makefile.in (MAKE_VERSION): bump version to 20100606
802 Merge with NetBSD make, pick up
805 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
807 * Makefile.in (MAKE_VERSION): bump version to 20100605
808 Merge with NetBSD make, pick up
809 o use bmake_signal() which is a wrapper around sigaction()
811 o add .export-env to allow exporting variables to environment
812 without tracking (so no re-export when the internal value is
815 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
817 * Makefile.in (MAKE_VERSION): bump version to 20100524
818 Merge with NetBSD make, pick up
819 o fix for .info et al being greedy.
821 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
823 * Makefile.in (MAKE_VERSION): bump version to 20100520
824 Merge with NetBSD make, pick up
825 o back to using realpath on argv[0]
826 but only if contains '/' and does not start with '/'.
828 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
830 * boot-strap: use absolute path for bmake when running tests.
832 * Makefile.in (MAKE_VERSION): bump version to 20100510
833 Merge with NetBSD make, pick up
834 o revert use of realpath on argv[0]
835 too many corner cases.
836 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
838 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
840 * Makefile.in (MAKE_VERSION): bump version to 20100505
841 Merge with NetBSD make, pick up
842 o fix for missed SIGCHLD when compiled with SunPRO
843 actually for bmake, defining FORCE_POSIX_SIGNALS would have
846 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
848 * Makefile.in (MAKE_VERSION): bump version to 20100430
849 Merge with NetBSD make, pick up
850 o fflush stdout before writing to stdout
852 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
854 * Makefile.in (MAKE_VERSION): bump version to 20100423
855 Merge with NetBSD make, pick up
856 o updated unit tests for Haiku (this time for sure).
857 * boot-strap: based on patch from joerg
858 honor --with-default-sys-path better.
859 * boot-strap: remove mention of --with-prefix-sys-path
861 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
863 * Makefile.in (MAKE_VERSION): bump version to 20100422
864 * Merge with NetBSD make, pick up
865 o fix for vfork() on Darwin.
866 o fix for bogus $TMPDIR.
867 o set .MAKE.MODE=compat for -B
868 o set .MAKE.JOBS=max_jobs for -j max_jobs
869 o allow unit-tests to run without any *.mk
870 o unit-tests/modmisc be more conservative in dirs presumed to exist.
871 * boot-strap: ignore /usr/share/mk except on NetBSD.
872 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
873 ensure sort(1) behaves as expected.
875 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
877 * boot-strap: add FindHereOrAbove so we can use -m .../mk
879 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
881 * Makefile.in (MAKE_VERSION): bump version to 20100420
882 * Merge with NetBSD make, pick up
883 o fix for variable realpath() behavior.
884 we have to stat(2) the result to be sure.
885 o fix for .export (all) when nested vars use :sh
887 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
889 * Makefile.in (MAKE_VERSION): bump version to 20100414
890 * Merge with NetBSD make, pick up
891 o use realpath to resolve argv[0] (for .MAKE) if needed.
892 o add realpath from libc.
893 o add :tA to resolve variable via realpath(3) if possible.
895 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
897 * Makefile.in (MAKE_VERSION): bump version to 20100408
898 * Merge with NetBSD make, pick up
899 o unit tests for .ERROR, .error
900 o fix for .ERROR to ensure it cannot be default target.
902 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
904 * Makefile.in (MAKE_VERSION): bump version to 20100406
905 * Merge with NetBSD make, pick up
906 o fix for compat mode "Error code" going to debug_file.
907 o fix for .ALLSRC being populated twice.
908 o support for .info, .warning and .error directives
909 o .MAKE.MODE to control make's operational mode
910 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
912 o .MAKE.DEPENDFILE to control the name of the depend file
913 o .ERROR target - run on failure.
915 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
917 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
919 * os.sh,arch.c: patch for Haiku from joerg at netbsd
921 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
923 * Makefile.in (MAKE_VERSION): bump version to 20100222
924 * Merge with NetBSD make, pick up
925 o better error msg for .for with mutiple inter vars
928 o use make-bootstrap.sh from joerg at netbsd
929 to avoid the need for a native make when bootstrapping.
930 o add "" everywhere ;-)
931 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
932 otherwise the pre-formated version.
934 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
936 * Makefile.in (MAKE_VERSION): bump version to 20100102
937 * Merge with NetBSD make, pick up:
940 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
942 * Makefile.in (MAKE_VERSION): bump version to 20091118
943 * Merge with NetBSD make, pick up:
945 o report lines that start with '.' and should have ':'
946 (catch typo's of .el*if).
948 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
950 * configure.in: Ensure that srcdir and mksrc are absolute paths.
952 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
954 * Makefile.in (MAKE_VERSION): fix version to 20091007
956 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
958 * Makefile.in (MAKE_VERSION): bump version to 200910007
959 * Merge with NetBSD make, pick up:
960 o fix for parsing of :S;...;...; applied to .for loop iterator
961 appearing in a dependency line.
963 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
965 * Makefile.in (MAKE_VERSION): bump version to 20090909
966 * Merge with NetBSD make, pick up:
967 o fix for -C, .CURDIR and .OBJDIR
969 o allow share_dir to be set independent of prefix.
970 o select default share_dir better when prefix ends in $HOST_TARGET
971 o if FORCE_BSD_MK etc were set, include them in the suggested
974 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
976 * Makefile.in (MAKE_VERSION): bump version to 20090908
977 * Merge with NetBSD make, pick up:
978 o .MAKE.LEVEL for recursion tracking
979 o fix for :M scanning \:
981 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
983 * configure.in: Don't -D__EXTENSIONS__ if
984 AC_USE_SYSTEM_EXTENSIONS says "no".
986 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
988 * Makefile.in (MAKE_VERSION): bump version to 20090826
989 Simplify MAKE_VERSION to just the bare date.
990 * Merge with NetBSD make, pick up:
991 o -C directory support.
992 o support for SIGINFO
993 o use $TMPDIR for temp files.
994 o child of vfork should be careful about modifying parent's state.
997 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
999 * Appy some patches for MiNT from David Brownlee
1001 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
1003 * Makefile.in (BMAKE_VERSION): bump version to 20090222
1004 * Merge with NetBSD make, pick up:
1005 o Possible null pointer de-ref in Var_Set.
1007 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
1009 * Makefile.in (BMAKE_VERSION): bump version to 20090204
1010 * Merge with NetBSD make, pick up:
1011 o bmake_malloc et al moved to their own .c
1012 o Count both () and {} when looking for the end of a :M pattern
1013 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1014 o strlist.c - functions for processing extendable arrays of pointers to strings.
1015 o ClientData replaced with void *, so const void * can be used.
1016 o New debug flag C for DEBUG_CWD
1018 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1020 * Makefile.in (BMAKE_VERSION): bump version to 20081111
1021 Apply patch from Joerg Sonnenberge to
1023 o remove some redundant checks
1024 o check for emlloc etc only in libutil and require the whole family.
1026 o remove [v]asprintf which is no longer used.
1028 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1030 * Makefile.in (BMAKE_VERSION): bump version to 20081101
1031 * Merge with NetBSD make, pick up:
1032 o util.c: avoid use of putenv() - christos
1034 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1036 * Makefile.in (BMAKE_VERSION): bump version to 20081030
1037 pick up man page tweaks.
1039 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
1041 * Makefile.in: move processing of LIBOBJS to after is definition!
1042 thus we'll have getenv.c in SRCS only if needed.
1044 * make.1: add examples of how to use :?
1046 * Makefile.in (BMAKE_VERSION): bump version to 20081029
1047 * Merge with NetBSD make, pick up:
1048 o fix for .END processing with -j
1049 o segfault from Parse_Error when no makefile is open
1050 o handle numeric expressions in any variable expansion
1051 o debug output now defaults to stderr, -dF to change it - apb
1052 o make now uses bmake_malloc etc so that it can build natively
1053 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1055 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
1057 * Makefile.in (BMAKE_VERSION): bump version to 20080808
1058 * Merge with NetBSD make, pick up:
1059 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1060 long lines in Makefiles
1061 o optimizations for VarQuote by joerg
1062 o fix for PR/38756: dominik: make dumps core on invalid makefile
1064 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
1066 * Makefile.in (BMAKE_VERSION): bump version to 20080515
1067 * Merge with NetBSD make, pick up:
1068 o fix skip setting vars in VAR_GLOBAL context, to handle
1069 cases where VAR_CMD is used for other than command line vars.
1071 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
1073 * boot-strap (make_version): we may need to look in
1074 $prefix/share/mk for sys.mk
1076 * Makefile.in (BMAKE_VERSION): bump version to 20080514
1077 * Merge with NetBSD make, pick up:
1078 o skip setting vars in VAR_GLOBAL context, when already set in
1079 VAR_CMD which takes precedence.
1081 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
1083 * Makefile.in (BMAKE_VERSION): bump version to 20080330
1084 * Merge with NetBSD make, pick up:
1085 o fix for ?= when LHS contains variable reference.
1087 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1089 * merge some patches from NetBSD pkgsrc.
1091 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1092 the MAKSYSPATH used during bootstrap.
1094 * Makefile.in (BMAKE_VERSION): bump version to 20080215
1095 * Merge with NetBSD make, pick up:
1096 o warn if non-space chars follow 'empty' in a conditional.
1098 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1100 * Makefile.in (BMAKE_VERSION): bump version to 20080118
1101 * Merge with NetBSD make, pick up:
1102 o consider dependencies read from .depend as optional - dsl
1103 o remember when buffer for reading makefile grows - dsl
1104 o add -dl (aka LOUD) - David O'Brien
1106 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
1108 * Makefile.in (BMAKE_VERSION): bump version to 20071022
1109 * Merge with NetBSD make, pick up:
1110 o Allow .PATH<suffix> to be used for .include ""
1112 * boot-strap: source default settings from .bmake-boot-strap.rc
1114 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
1116 * Makefile.in: fix maninstall on various systems
1117 provided that our man.mk is used.
1118 For non-BSD systems we install the preformatted page
1121 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
1123 * boot-strap: make bmake.1 too, so maninstall works.
1125 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1127 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1128 * Merge with NetBSD make, pick up:
1129 o revamped handling of defshell - configure no longer needs to
1130 know the content of the shells array - apb
1131 o stop Var_Subst modifying its input - apb
1132 o avoid calling ParseTrackInput too often - dsl
1134 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1136 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1137 * Merge with NetBSD make, pick up:
1138 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1140 * sigcompat.c: some tweaks for HP-UX 11.x based on
1141 patch from Tobias Nygren
1143 * configure.in: update handling of --with-defshell to match
1144 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1145 will now do what one might hope - provided the chosen shell
1146 behaves enough like sh.
1148 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1150 * Makefile.in (BMAKE_VERSION): bump to 20071008
1151 * Merge with NetBSD make, pick up:
1152 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1153 o .export/.MAKE.EXPORTED - export of variables - sjg
1154 o .MAKE.MAKEFILES - track all makefiles read - sjg
1155 o performance improvements - dsl
1156 o revamp parallel job scheduling - dsl
1158 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1160 * Makefile.in (BMAKE_VERSION): bump to 20060728
1161 * Merge with NetBSD make, pick up:
1162 o extra debug info during variable and cond processing - sjg
1163 o shell definition now covers newline - rillig
1164 o minor mem leak in PrintOnError - sjg
1166 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1168 * Makefile.in (BMAKE_VERSION): bump to 20060511
1169 * Merge with NetBSD make, pick up:
1170 o more memory leaks - coverity
1171 o possible overflow in ArchFindMember - coverity
1172 o extract variable modifier code out of Var_Parse()
1173 so it can be called recursively - sjg
1174 o unit-tests/moderrs - sjg
1176 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1178 * Makefile.in (BMAKE_VERSION): bump to 20060412
1179 * Merge with NetBSD make, pick up:
1180 o fixes for some memory leaks - coverity
1181 o only read first sys.mk etc when searching sysIncPath - sjg
1183 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1184 setting ${MAKEFILE} - OBATA Akio
1186 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1188 * Makefile.in (BMAKE_VERSION): bump to 20060318
1189 * Merge with NetBSD make, pick up:
1190 o cleanup of job.c to remove remote handling, distcc is more
1191 useful and this code was likely bit-rotting - dsl
1192 o fix for :P modifier - sjg
1193 * boot-strap: set default prefix to something reasonable
1196 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1198 * Makefile.in (BMAKE_VERSION): bump to 20060301
1199 * Merge with NetBSD make, pick up:
1200 o make .WAIT apply recursively, document and test case - apb
1201 o allow variable modifiers in a variable appear anywhere in
1202 modifier list, document and test case - sjg
1204 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1206 * Makefile.in (BMAKE_VERSION): bump to 20060222
1207 * Merge with NetBSD make, pick up:
1208 o improved job token handling - dsl
1209 o SIG_DFL the correct signal before exec - dsl
1210 o more debug info during parsing - dsl
1211 o allow variable modifiers to be specified via variable - sjg
1212 * boot-strap: explain why we died if no mksrc
1214 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1216 * Makefile.in (BMAKE_VERSION): bump to 20051105
1217 * configure.in: always set default_sys_path
1218 default is ${prefix}/share/mk
1219 - remove prefix_sys_path, anyone wanting more than above
1220 needs to set it manually.
1222 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1224 * boot-strap: make this a bit easier for pkgsrc folk.
1225 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1226 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1228 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1230 * Makefile.in (BMAKE_VERSION): bump to 20051102
1231 * job.c (JobFinish): fix likely ancient merge lossage
1232 fix from Todd Vierling.
1233 * boot-strap (srcdir): allow setting mksrc=none
1235 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1237 * Makefile.in (BMAKE_VERSION): bump to 20051031
1238 * ranlib.h: skip on OSF too.
1241 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1243 * Makefile.in (BMAKE_VERSION): bump to 20051002
1246 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1248 * Makefile.in (BMAKE_VERSION): bump to 20051001
1249 support for UnixWare and some other systems,
1250 based on patches from pkgsrc/bootstrap
1252 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1254 * Makefile.in (BMAKE_VERSION): bump to 20050901
1255 * Merge with NetBSD make, pick up:
1256 o possible parse error causing us to wander off.
1258 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1260 * Makefile.in (BMAKE_VERSION): bump to 20050606
1261 * Merge with NetBSD make, pick up:
1262 o :0x modifier for randomizing a list
1263 o fixes for a number of -Wuninitialized issues.
1265 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1267 * Makefile.in (BMAKE_VERSION): bump to 20050530
1268 * Merge with NetBSD make, pick up:
1269 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1271 * README: was seriously out of date.
1273 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1275 * Important to use .MAKE rather than MAKE.
1277 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1279 * Makefile.in (BMAKE_VERSION): bump to 20050315
1280 * Merge with NetBSD make, pick up:
1281 o don't mistake .elsefoo for .else
1282 o use suffix-specific search path correctly
1283 o bunch of style nits
1285 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1288 o ensure that args to --src and --with-mksrc
1289 are resolved before giving them to configure.
1290 o add -o "objdir" so that builder can control it,
1291 default is $OS as determined by os.sh
1292 o add -q to suppress all the install instructions.
1294 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1296 * Remove __IDSTRING()
1298 * Makefile.in (BMAKE_VERSION): bump to 20040508
1299 * Merge with NetBSD make, pick up:
1301 - remove '-e' from compat mode
1302 - add support for '+' command-line prefix.
1303 o fix for handling '--' on command-line.
1304 o fix include in lst.lib/lstInt.h to simplify '-I's
1305 o we also picked up replacement of MAKE_BOOTSTRAP
1306 with !MAKE_NATIVE which is a noop, but possibly confusing.
1308 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1310 * Makefile.in (BMAKE_VERSION): bump to 20040414
1311 * Merge with NetBSD make, pick up:
1312 o allow quoted strings on lhs of conditionals
1313 o issue warning when extra .else is seen
1314 o print line numer when errors encountered during parsing from
1317 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1319 * Makefile.in (BMAKE_VERSION): bump to 20040220
1320 * Merge with NetBSD make, pick up:
1321 o fix for old :M parsing bug.
1322 o re-jigged unit-tests
1324 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1326 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1327 so that './bmake -f Makefile test' works.
1329 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1331 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1332 * Merge with NetBSD make, pick up:
1333 o search upwards for *.mk
1334 o fix for double free of var substitution buffers
1335 o use of getopt replaced with custom code, since the usage
1336 (re-scanning) isn't posix compatible.
1338 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1340 * arch.c: don't include ranlib.h on ELF systems
1341 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1343 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1345 * Makefile.in (BMAKE_VERSION): bump to 20040118
1347 * boot-strap (while): export vars we assign to on cmdline
1348 * unit-test/Makefile.in: ternary is .PHONY
1350 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1352 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1353 * Merge with NetBSD make, pick up:
1354 o fix for ternary modifier
1356 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1358 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1359 * Merge with NetBSD make, pick up:
1360 o fix for cond.c to handle compound expressions better
1361 o variable expansion within sysV style replacements
1363 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1365 * Make portable snprintf safer - output to /dev/null first to
1368 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1369 * Merge with NetBSD make, pick up:
1370 o -dg3 to show input graph when things go wrong.
1371 o explicitly look for makefiles in objdir if not found in curdir so
1372 that errors in .depend etc will be reported accurarely.
1373 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1374 instead as it more accurately reflects the expected behavior and
1375 is more consistently implemented.
1376 o avoid use of asprintf.
1378 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1380 * util.c: Add asprintf and vasprintf.
1382 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1383 * Merge with NetBSD make, pick up:
1384 :[] modifier - allows picking words from a variable.
1385 :tW modifier - allows treating value as one big word.
1386 W flag for :C and :S - allows treating value as one big word.
1388 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1390 * Merge with NetBSD make
1391 pick up -de flag to enable printing failed command.
1392 don't skip 1st two dir entries (normally . and ..) since
1393 coda does not have them.
1395 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1397 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1398 * Merge with NetBSD make, pick up:
1399 - changes for -V '${VAR}' to print fully expanded value
1401 - CompatRunCommand now prints the command that failed.
1402 - several files got updated 3 clause Berkeley license.
1404 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1406 * boot-strap: Allow setting configure args on command line.
1408 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1410 * configure.in: add --with-defshell to allow sh or ksh
1411 to be selected as default shell.
1413 * Makefile.in: bump version to 20030731
1415 * Merge with NetBSD make
1416 Pick up .SHELL spec for ksh and associate man page changes.
1417 Also compat mode now uses the same shell specs.
1419 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1421 * var.c (Var_Parse): ensure delim is initialized.
1423 * unit-tests/Makefile.in: use single quotes to avoid problems from
1427 Run the unit-tests as part of the bootstrap procedure.
1429 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1431 * unit-tests/Makefile.in: always force complaints from
1432 ${TEST_MAKE} to be from 'make'.
1434 * configure.in: add check for 'diff -u'
1435 also fix some old autoconf'isms
1437 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1438 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1440 * Merge with NetBSD make
1441 Pick up fix for :ts parsing error in some cases.
1444 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1446 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1448 * var.c (Var_Parse): fix bug in :ts modifier, after const
1449 correctness fixes, must pass nstr to VarModify.
1451 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1453 * Makefile.in: BMAKE_VERSION switch to a date based version.
1454 We'll generally use the date of last import from NetBSD.
1456 * Merge with NetBSD make
1457 Pick up fixes for const-correctness, now passes WARNS=3 on
1459 Pick up :ts modifier, allows controlling the separator used
1460 between words in variable expansion.
1462 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1464 * FILES: include boot-strap and os.sh
1466 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1467 FreeBSD is known to be bad.
1469 * makefile.boot.in (bootstrap): make this the default target.
1471 * Makefile.in: bump version to 3.1.19
1473 * machine.sh: avoid A-Z with tr as it is bound to lose.
1475 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1477 * Merge with NetBSD make
1478 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1479 Plus some doc fixes.
1481 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1483 * Merge with NetBSD make
1484 Pick up fix for PR/1523 - don't count a library as built, if there
1485 is no way to build it
1487 * Bump version to 3.1.18
1489 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1491 * Merge with NetBSD make
1492 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1493 appears in src list.
1495 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1497 * Merge with NetBSD make (mmm 10th anniversary!)
1498 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1499 pick up -X which tells us to not export VAR=val via setenv if
1500 we are already doing so via MAKEFLAGS. This saves valuable env
1501 space on systems like Darwin.
1502 set MAKE_VERSION to 3.1.17
1504 * parse.c: pix up fix for suffix rules
1506 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1508 * Merge with NetBSD make.
1509 pick up fix for propagating -B via MAKEFLAGS.
1510 set MAKE_VERSION to 3.1.16
1512 * Apply some patches from pkgsrc-bootstrap/bmake
1513 Originally by Grant Beattie <grant@netbsd.org>
1514 I may have missed some - since they are based on bmake-3.1.12
1516 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1518 * makefile.boot.in (bmake): update install targets for those that
1519 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1520 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1522 * bmake.cat1: update the pre-formatted man page!
1524 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1526 * Merge with NetBSD make.
1527 pick up fix for premature free of pointer used in call
1529 set MAKE_VERSION to 3.1.15
1531 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1533 * configure.in: determine suitable value for MKSRC.
1534 override using --with-mksrc=PATH.
1536 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1537 configs(8) will use 'sun4' as an alias for 'sparc'.
1539 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1541 * Merge with NetBSD make.
1543 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1544 set MAKE_VERSION to 3.1.14
1545 add configure checks for killpg and sys/socket.h
1547 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1551 * makefile.boot.in (bmake): use install-mk
1552 Also setup ./mk before trying to invoke bmake.boot incase we
1553 needed install-mk to create a sys.mk for us.
1555 * configure.in: If we need to add -I${srcdir}/missing, make it an
1556 absolute path so that it works for lst.lib too.
1558 * make.h: always include sys/cdefs.h since we provide one if the
1561 * Makefile.in (install-mk):
1562 use MKSRC/install-mk which will do the right thing.
1563 use uname -p for ARCH if possible.
1564 since install-mk will setup links bsd.prog.mk -> prog.mk if
1565 needed, just .include bsd.prog.mk
1567 * Merge with NetBSD make (NetBSD-1.6)
1568 Code is ansi-C only now.
1569 Bug in handling of dotLast is fixed.
1570 Can now assign .OBJDIR and make will reset its notions of life.
1571 New modifiers :tu :tl for toUpper and toLower.
1573 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1575 * Merge with NetBSD make
1576 pick up fix for .END failure in compat mode.
1577 pick up fix for extra va_end() in ParseVErrorInternal.
1579 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1581 * configure.in: for systems that have sys/cdefs.h check if it is
1582 compatible. If not, include the one under missing, but tell it to
1583 include the native one too - necessary on Linux.
1585 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1586 include_next (for gcc) to get the native sys/cdefs.h
1588 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1590 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1591 leaking descriptors when using -jN.
1593 * job.c (JobPrintCommand): See if "curdir" exists before
1594 attempting to chdir(). Doing the chdir directly in make (when in
1595 compat mode) fails silently, so let the -jN version do the same.
1596 This can happen when building kernels in an object tree and
1597 playing clever games to reset .CURDIR.
1599 * Merged with NetBSD make
1602 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1604 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1606 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1608 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1609 us not to export the iterator variable when using VAR_CMD context.
1611 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1613 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1614 its the wrong "fix".
1616 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1618 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1619 We now simply append the variable names to .MAKEOVERRIDES, and
1620 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1621 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1622 Apart from fixing quoting bugs in previous version, this allows us
1623 to export vars to the environment by simply doing:
1624 .MAKEOVERRIDES+= PATH
1625 Merged again with NetBSD make, but the above is the only change.
1627 * configure.in: added
1628 --disable-pwd-override disable $PWD overriding getcwd()
1629 --disable-check-make-chdir disable make trying to guess
1630 when it should automatically cd ${.CURDIR}
1632 * Merge with NetBSD make, changes include:
1633 parse.c (ParseDoDependency): Spot that the syntax error is
1634 caused by an unresolved cvs/rcs conflict and say so.
1635 var.c: most of Var* functions now take a ctxt as 1st arg.
1636 now does variable substituion on rhs of sysv style modifiers.
1638 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1639 is now done here. We append the name='value' to .MAKEOVERRIDES
1640 rather than directly into MAKEFLAGS as this allows a Makefile to
1641 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
1642 very similar mechanism. Note that in adding name='value' to
1643 .MAKEOVERRIDES we do the moral equivalent of:
1644 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1646 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1648 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1650 * Merged with NetBSD make
1651 make -dx can now be used to run commands via sh -x
1652 better error messages on exec failures.
1654 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1656 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1657 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
1658 MACHINE etc otherwise they propagate from the previous bmake.
1660 * configure.in (machine): allow --with-machine=generic to make
1661 configure use machine.sh to set MACHINE.
1663 * job.c (JobInterrupt): convert to using WAIT_T and friends.
1665 * Makefile.in: mention in bmake.1 that we use autoconf.
1667 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1669 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1671 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1672 as that rather defeats the usefulness of ${MAKEFILE}.
1674 * main.c (MainParseArgs): append command line variable assignments
1675 to MAKEFLAGS so that they get propagated to child make's.
1676 Apparently this is required POSIX behaviour? Its useful anyway.
1678 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1680 * compat.c (CompatRunCommand): don't use perror() since stdio may
1681 cause problems in child of vfork().
1683 * compat.c, main.c: Call PrintOnError() when we are going to bail.
1684 This routine prints out the .curdir where we stopped and will also
1685 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1687 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
1690 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
1692 * Added RCSid's for the files we've touched.
1694 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1696 * configure.in: Thanks to some clues from mdb@juniper.net,
1697 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1698 as well as what ends up in _PATH_DEFSYSPATH. We now have:
1700 --with-machine=MACHINE explicitly set MACHINE
1701 --with-force-machine=MACHINE set FORCE_MACHINE
1702 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
1703 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
1704 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
1705 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
1707 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1709 * makefile: added a pathetically simple makefile to drive
1710 bootstrapping. Running configure by hand is more useful.
1712 * Makefile.in: added MAKE_VERSION, and reworked things to be less
1713 dependent on NetBSD bsd.*.mk
1715 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1716 _PATH_OBJDIRPREFIX for those that don't want a default.
1717 construct _PATH_DEFSYSPATH from the info we get from configure.
1719 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1720 if MAKE_VERSION is defined.
1722 * compat.c: when we bail, print out the .CURDIR we were in.
1724 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1726 * Merged with NetBSD make
1728 * var.c: fixed a bug in the handling of the modifier :P
1729 if the node as found but the path was null, we segfault trying to
1732 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1734 * Merged with NetBSD make
1736 * make.c: Make_OODate's test for a library out of date was using
1737 cmtime where it should have used mtime (my bug).
1739 * compat.c: Use perror() to tell us what really went wrong when we
1740 cannot exec a command.
1742 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1744 * Merged with NetBSD make
1746 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1748 * Merged with NetBSD make
1750 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1752 * Merged with NetBSD make
1754 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1756 * Merged with NetBSD make
1758 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1760 * util.c: don't provide signal() since we use sigcompat.c
1762 * Makefile.in: added a build target.
1764 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
1765 These allow some quite clever magic.
1767 * main.c (main): added support for getenv(MAKESYSPATH).
1769 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1771 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
1772 This avoids objdir having a different value depending on how a
1773 directory was reached (via command line, or subdir.mk).
1775 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
1777 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1779 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
1780 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
1781 I've been testing this in NetBSD's make for some weeks.
1783 * Turn Makefile into Makefile.in and make it useful.
1785 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1787 * Imported NetBSD's -current make(1) and resolve conflicts.
1789 * Applied autoconf patches from bmake v2
1791 * Imported clean code base from NetBSD-1.0