1 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
3 * Makefile (MAKE_VERSION): 20150606
4 Merge with NetBSD make, pick up
5 o make.1: document .OBJDIR target
7 2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
9 * Makefile (MAKE_VERSION): 20150505
10 Merge with NetBSD make, pick up
11 o cond.c: be strict about lhs of comparison when evaluating .if
12 but less so when called from variable expansion.
13 o unit-tests/cond2.mk: test various error conditions
15 2015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
17 * machine.sh (MACHINE): Add Bitrig
18 patch from joerg@netbsd.org
20 2015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
22 * Makefile (MAKE_VERSION): 20150418
23 Merge with NetBSD make, pick up
24 o job.c: use memmove() rather than memcpy()
26 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
29 2015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
31 * Makefile (MAKE_VERSION): 20150411
32 bump version - only mk/ changes.
34 2015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
36 * Makefile (MAKE_VERSION): 20150410
37 Merge with NetBSD make, pick up
38 o document different handling of '-' in jobs mode vs compat
39 o fix jobs mode so that '-' only applies to whole job
40 when shell lacks hasErrCtl
41 o meta.c: use separate vars to track lcwd and latestdir (read)
44 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
46 * Makefile (MAKE_VERSION): 20150401
47 Merge with NetBSD make, pick up
48 o meta.c: close meta file in child
50 * Makefile: use BINDIR.bmake if set.
51 Same for MANDIR and SHAREDIR
52 Handy for testing release candidates
53 in various environments.
55 2015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
57 * move initialization of savederr to block where it is used
58 to avoid spurious warning from gcc5
60 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
62 * Makefile (MAKE_VERSION): 20141111
65 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
67 * Makefile (MAKE_VERSION): 20141105
68 Merge with NetBSD make, pick up
69 o revert major overhaul of suffix handling
70 and POSIX compliance - too much breakage
71 and impossible to make backwards compatible.
72 o we still have the new unit test structure which is ok.
73 o meta.c ensure "-- filemon" is at start of line.
75 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
77 * configure.in: test that result of getconf PATH_MAX is numeric
78 and discard if not. Apparently needed for Hurd.
80 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
82 * Makefile (MAKE_VERSION): 20140830
83 Merge with NetBSD make, pick up
84 o major overhaul of suffix handling
85 o improved POSIX compliance
86 o overhauled unit-tests
88 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
90 * Makefile (MAKE_VERSION): 20140620
91 Merge with NetBSD make, pick up
92 o var.c return varNoError rather than var_Error for ::= modifiers.
94 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
96 * Makefile (MAKE_VERSION): 20140522
97 Merge with NetBSD make, pick up
98 o var.c detect some parse errors.
100 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
102 * Fix spelling errors - patch from Pedro Giffuni
104 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
106 * Makefile (MAKE_VERSION): 20140214
107 Merge with NetBSD make, pick up
109 o use Var_Value to get MAKEOBJDIR[PREFIX]
110 o reduced realloc'ign in brk_string.
111 * configure.in: add a check for compiler supporting __func__
113 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
115 * boot-strap: ignore mksrc=none
117 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
119 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
121 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
123 * Makefile (MAKE_VERSION): 20140101
124 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
125 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
126 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
128 * configure.in: Add AC_PREREQ and check for
129 sysctl; patch from Andrew Shadura andrewsh at debian.org
131 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
133 * Makefile (MAKE_VERSION): 20131010
134 * lose the const from arg to systcl to avoid problems on older BSDs.
136 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
138 * Makefile (MAKE_VERSION): 20131001
139 Merge with NetBSD make, pick up
140 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
141 hw.machine_arch if necessary.
142 o meta.c: meta_oodate - need to look at src of Link and target
144 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
145 provide __arraycount() if needed.
147 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
149 * Makefile (MAKE_VERSION): 20130904
150 Merge with NetBSD make, pick up
151 o Add VAR_INTERNAL context, so that internal setting of
152 MAKEFILE does not override value set by makefiles.
154 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
156 * Makefile (MAKE_VERSION): 20130902
157 Merge with NetBSD make, pick up
158 o CompatRunCommand: only apply shellErrFlag when errCheck is true
160 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
162 * Makefile (MAKE_VERSION): 20130828
163 Merge with NetBSD make, pick up
164 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
165 o Call Job_SetPrefix() from Job_Init() so makefiles have
166 opportunity to set .MAKE.JOB.PREFIX
168 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
170 * Makefile (MAKE_VERSION): 20130730
171 Merge with NetBSD make, pick up
172 o Allow suppression of --- job -- tokens by setting
173 .MAKE.JOB.PREFIX empty.
175 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
177 * Makefile (MAKE_VERSION): 20130716
178 Merge with NetBSD make, pick up
179 o number of gmake compatibility tweaks
180 -w for gmake style entering/leaving messages
181 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
182 handle MAKEFLAGS containing only letters.
183 o when overriding a GLOBAL variable on the command line,
184 delete it from GLOBAL context so -V doesn't show the wrong
187 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
189 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
191 * Makefile (MAKE_VERSION): 20130706
192 Merge with NetBSD make, pick up
193 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
194 true so that CompatRunCommand() can use it, to ensure
195 consistent behavior with jobs mode.
196 o use MAKE_LEVEL_ENV to define the variable to propagate
197 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
198 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
201 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
203 * Makefile (MAKE_VERSION): 20130604
204 Merge with NetBSD make, pick up
205 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
206 to avoid leaking descriptors.
208 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
210 * Makefile (MAKE_VERSION): 20130528
211 Merge with NetBSD make, pick up
212 o var.c: cleanup some left-overs in VarHash()
214 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
216 * Makefile (MAKE_VERSION): 20130520
217 generate manifest from component FILES rather than have to
218 update FILES when mk/FILES changes.
220 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
222 * Makefile (MAKE_VERSION): 20130518
223 Merge with NetBSD make, pick up
224 o suff.c: don't skip all processsing for .PHONY targets
225 else wildcard srcs do not get expanded.
226 o var.c: expand name of variable to delete if necessary.
228 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
230 * Makefile (MAKE_VERSION): 20130330
231 Merge with NetBSD make, pick up
232 o meta.c: refine the handling of .OODATE in commands.
233 Rather than suppress command comparison for the entire script
234 as though .NOMETA_CMP had been used, only suppress it for the
236 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
237 suppress comparison of a command without otherwise affecting it.
238 o make.1: document that
240 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
242 * Makefile (MAKE_VERSION): 20130321
243 yes, not quite right but its a cooler number.
244 Merge with NetBSD make, pick up
245 o parse.c: fix ParseGmakeExport to be portable
247 * meta.c: call meta_init() before makefiles are read and if built
248 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
249 this let's makefiles test for support.
250 Call meta_mode_init() to process .MAKE.MODE.
252 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
254 * Makefile (MAKE_VERSION): 20130305
255 Merge with NetBSD make, pick up
256 o run .STALE: target when a dependency from .depend is missing.
257 o job.c: add Job_RunTarget() for the above and .BEGIN
259 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
261 * Makefile (MAKE_VERSION): 20130303
262 Merge with NetBSD make, pick up
263 o main.c: set .MAKE.OS to utsname.sysname
264 o job.c: more checks for read and poll errors
265 o var.c: lose VarChangeCase() saves 4% time
267 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
269 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
270 want to use MAKEOBJDIR
272 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
274 * Merge with NetBSD make, pick up
275 o make.1: more info on how shell commands are handled.
276 o job.c,main.c: detect write errors to job pipes.
278 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
280 * Makefile (MAKE_VERSION): 20130123
281 Merge with NetBSD make, pick up
282 o meta.c: if script uses .OODATE and meta_oodate() decides
283 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
284 o var.c: in debug output indicate which variabale modifiers
286 o remove Check_Cwd logic the makefiles have been fixed.
288 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
290 * makefile.in: add a simple makefile for folk who insist on
291 ./configure; make; make install
292 it just runs boot-strap
293 * include mk/* to accommodate the above
294 * boot-strap: re-work to accommodate the above
295 mksrc defaults to $Mydir/mk
296 allow op={configure,build,install,clean,all}
297 add options to facilitate install
298 * Makefile.config.in: just the bits set by configure
299 * Makefile: bump version to 20121212
300 abandon Makefile.in (NetBSD Makefile)
301 leverage mk/* instead
302 * configure.in: ensure srcdir is absolute
304 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
306 * Makefile.in (MAKE_VERSION): 20121111
307 fix generation of bmake.cat1
309 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
311 * Makefile.in (MAKE_VERSION): 20121109
312 Merge with NetBSD make, pick up
313 o make.c: MakeBuildChild: return 0 so search continues if a
314 .ORDER dependency is detected.
315 o unit-tests/order: test the above
317 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
319 * Makefile.in (MAKE_VERSION): 20121102
320 Merge with NetBSD make, pick up
321 o cond.c: allow cond_state[] to grow.
322 In meta mode with a very large tree, we can hit the limit
323 while processing dirdeps.
325 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
327 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
329 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
331 * Makefile.in (MAKE_VERSION): 20121010
332 o protect syntax that only bmake parses correctly.
333 o remove auto setting of FORCE_MACHINE, use configure's
334 --with-force-machine=whatever if that is desired.
336 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
338 * Makefile.in: do not lose history from make.1 when generating bmake.1
340 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
342 * Makefile.in (MAKE_VERSION): 20121007
343 Merge with NetBSD make, pick up
344 o compat.c: ignore empty commands - same as jobs mode.
345 o make.1: document meta chars that cause use of shell
347 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
349 * Makefile.in (MAKE_VERSION): bump version to 20120911
350 * bsd.after-import.mk: include Makefile.inc early and allow it to
353 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
355 * Makefile.in (MAKE_VERSION): bump version to 20120831
356 Merge with NetBSD make, pick up
357 o cast sizeof() to int for comparison
360 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
362 * Makefile.in (MAKE_VERSION): bump version to 20120830
363 Merge with NetBSD make, pick up
364 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
365 o debug flag -dV causes -V to show raw value regardless.
367 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
369 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
372 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
374 * Makefile.in (MAKE_VERSION): bump version to 20120704
375 Merge with NetBSD make, pick up
376 o Job_ParseShell should call Shell_Init if it has been
378 * Makefile.in: set USE_META based on configure result.
379 also .PARSEDIR is safer indicator of bmake.
381 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
383 * Makefile.in: bump version to 20120626
384 ensure CPPFLAGS is in CFLAGS
385 * meta.c: avoid nested externs
386 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
388 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
390 * Makefile.in (MAKE_VERSION): bump version to 20120620
391 Merge with NetBSD make, pick up
392 o make_malloc.c: avoid including make_malloc.h again
394 * Makefile.in: avoid bmake only syntax or protect with
395 .if defined(.MAKE.LEVEL)
396 * bsd.after-import.mk: replace .-include with .sinclude
397 ensure? SRCTOP gets a value
398 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
400 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
402 * Makefile.in (MAKE_VERSION): bump version to 20120612
403 Merge with NetBSD make, pick up
404 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
405 for greater portability.
406 o unit-tests/forloop: check that .for works as expected wrt
407 number of times and with "quoted strings".
409 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
411 * Makefile.in (MAKE_VERSION): bump version to 20120606
412 Merge with NetBSD make, pick up
413 o compat.c: use kill(2) rather than raise(3).
414 * configure.in: look for sys/dev/filemon
415 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
416 and pass BOOTSTRAP_XTRAS to boot-strap.
418 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
420 * Makefile.in (MAKE_VERSION): bump version to 20120604
421 Merge with NetBSD make, pick up
422 o util.c and var.c share same var for tracking if environ
423 has been reallocated.
424 o util.c provide getenv with setenv.
425 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
426 when the shell actively strips .MAKE.* from the environment.
427 We still refer to the variable always as .MAKE.LEVEL
428 * util.c fix bug in findenv() was finding prefix of name.
429 * compat.c: re-raising SIGINT etc after running .INTERRUPT
430 results in more reliable termination of all activity on many
433 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
435 * Makefile.in (MAKE_VERSION): bump version to 20120602
436 Merge with NetBSD make, pick up
437 o for.c: handle quoted items in .for list
439 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
441 * Makefile.in (MAKE_VERSION): bump version to 20120530
442 Merge with NetBSD make, pick up
443 o compat.c: ignore empty command.
445 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
447 * Makefile.in (MAKE_VERSION): bump version to 20120524
448 * FILES: add bsd.after-import.mk:
449 A simple means of integrating bmake into a BSD build system.
451 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
453 * Makefile.in (MAKE_VERSION): bump version to 20120520
454 Merge with NetBSD make, pick up
455 o increased limit for nested conditionals.
457 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
459 * Makefile.in (MAKE_VERSION): bump version to 20120518
460 Merge with NetBSD make, pick up
461 o use _exit(2) in signal hanlder
462 o Don't use the [dir] cache when building nodes that might have
463 changed since the last exec.
464 o Avoid nested extern declaration warnings.
466 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
468 * meta.c (fgetLine): avoid %z - not portable.
469 * parse.c: Since we moved include of sys/mman.h
470 and def's of MAP_COPY etc. we got dups from a merge.
472 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
474 * Makefile.in (MAKE_VERSION): bump version to 20120420
475 Merge with NetBSD make, pick up
476 o restore duplicate supression in .MAKE.MAKEFILES
477 runtime saving can be significant.
478 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
479 consumption up to 20%.
481 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
483 * Makefile.in (MAKE_VERSION): bump version to 20120420
484 Merge with NetBSD make, pick up
485 o remove duplicate supression in .MAKE.MAKEFILES
486 o improved dir cache behavior
487 o gmake'ish export command
489 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
491 * Makefile.in (MAKE_VERSION): bump version to 20120325
492 Merge with NetBSD make, pick up
493 o fix parsing of :[#] in conditionals.
495 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
497 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
498 since some systems cannot cope with .Nx <version>
500 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
502 * Makefile.in (MAKE_VERSION): bump version to 20111111
503 Merge with NetBSD make, pick up
504 o debug output for .PARSEDIR and .PARSEFILE
506 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
508 * Makefile.in (MAKE_VERSION): bump version to 20111010
510 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
512 * boot-strap: check for an expected file in the dirs we look for.
513 * make-bootstrap.sh: pass on LDSTATIC
515 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
517 * Makefile.in (MAKE_VERSION): bump version to 20111001
518 Merge with NetBSD make, pick up
519 o ensure .PREFIX is set for .PHONY
520 and .TARGET set for .PHONY run via .END
521 o __dead used consistently
523 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
525 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
527 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
529 * Makefile.in (MAKE_VERSION): bump version to 20110905
530 Merge with NetBSD make, pick up
531 o meta_oodate: ignore makeDependfile
533 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
535 * Makefile.in (MAKE_VERSION): bump version to 20110828
536 Merge with NetBSD make, pick up
537 o silent=yes in .MAKE.MODE causes meta mode to mark targets
538 as SILENT if a .meta file is created
540 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
542 * Makefile.in (MAKE_VERSION): bump version to 20110818
543 Merge with NetBSD make, pick up
544 o in meta mode, if target flagged .META a missing .meta file
545 means target is out-of-date
546 o fixes for gcc 4.5 warnings
547 o simplify job printing code
549 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
551 * Makefile.in (MAKE_VERSION): bump version to 20110808
552 Merge with NetBSD make, pick up
553 o do not touch OP_SPECIAL targets when doing make -t
555 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
557 * Makefile.in (MAKE_VERSION): bump version to 20110622
558 Merge with NetBSD make, pick up
559 o meta_oodate detect corrupted .meta file and declare oodate.
560 * configure.in: add check for setsid
562 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
564 * Merge with NetBSD make, pick up
565 o unit-tests/modts now works on MirBSD
567 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
569 * Makefile.in (MAKE_VERSION): bump version to 20110606
570 Merge with NetBSD make, pick up
571 o ApplyModifiers: when we parse a variable which is not
572 the entire modifier string, or not followed by ':', do not
573 consider it as containing modifiers.
574 o loadfile: ensure newline at end of mapped file.
576 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
578 * Makefile.in (MAKE_VERSION): bump version to 20110505
579 Merge with NetBSD make, pick up
580 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
581 of make's control. In meta mode, any generated file within
582 said bailiwick, which is found to be missing, causes current
583 target to be out-of-date.
585 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
587 * Makefile.in (MAKE_VERSION): bump version to 20110411
588 Merge with NetBSD make, pick up
589 o when long modifiers fail to match, check sysV style.
592 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
594 * Makefile.in (MAKE_VERSION): bump version to 20110410
595 Merge with NetBSD make, pick up
596 o :hash - cheap 32bit hash of value
597 o :localtime, :gmtime - use value as format string for strftime.
599 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
601 * Makefile.in (MAKE_VERSION): bump version to 20110330
602 mostly because its a cooler version.
603 Merge with NetBSD make, pick up
604 o NetBSD tags for meta.[ch]
605 o job.c call meta_job_finish() after meta_job_error().
606 o meta_job_error() should call meta_job_finish() to ensure
607 .meta file is closed, and safe to copy - if .ERROR target wants.
608 meta_job_finish() is safe to call repeatedly.
610 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
612 * unit-tests/modts: use printf if it is a builtin,
613 to save us from MirBSD
615 * Makefile.in (MAKE_VERSION): bump version to 20110329
616 Merge with NetBSD make, pick up
617 o fix for use after free() in CondDoExists().
618 o meta_oodate() report extra commands and return earlier.
620 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
622 * Makefile.in (MAKE_VERSION): bump version to 20110327
623 Merge with NetBSD make, pick up
624 o meta.c, if .MAKE.MODE contains curdirOk=yes
625 allow creating .meta files in .CURDIR
626 * boot-strap (TOOL_DIFF): aparently at least on linux distro
627 formats the output of 'type' differently - so eat any "()"
629 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
631 * Makefile.in (MAKE_VERSION): bump version to 20110306
632 Merge with NetBSD make, pick up
633 o meta.c, only do getcwd() once
635 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
637 * Makefile.in (MAKE_VERSION): bump version to 20110305
638 Merge with NetBSD make, pick up
639 o correct sysV substitution handling of empty lhs and variable
640 o correct exists() check for dir with trailing /
641 o correct handling of modifiers for non-existant variables
642 during evaluation of conditionals.
643 o ensure MAP_FILE is defined.
644 o meta.c use curdir[] now exported by main.c
646 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
648 * Makefile.in (MAKE_VERSION): bump version to 20110225
649 Merge with NetBSD make, pick up
650 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
651 makefiles have been read.
652 o fix example of :? modifier in man page.
654 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
656 * Makefile.in (MAKE_VERSION): bump version to 20110214
657 Merge with NetBSD make, pick up
658 o meta.c handle realpath() failing when generating meta file
661 * sigcompat.c: convert to ansi so we can use higher warning levels.
664 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
666 * Makefile.in (MAKE_VERSION): bump version to 20110207
667 Merge with NetBSD make, pick up
668 o fix for bug in meta mode.
670 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
672 * parse.c: SunOS 5.8 at least does not have MAP_FILE
674 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
676 * Makefile.in (MAKE_VERSION): bump version to 20110101
677 Merge with NetBSD make, pick up
678 o use mmap(2) if available, for reading makefiles
680 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
682 * Makefile.in (MAKE_VERSION): bump version to 20101215
683 Merge with NetBSD make, pick up
684 o ensure meta_job_error() does not report a previous .meta file
687 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
689 * Makefile.in (MAKE_VERSION): bump version to 20101210
690 Merge with NetBSD make, pick up
691 o meta_oodate: track cwd per process, and only consider target
692 out-of-date if missing file is outside make's CWD.
693 Ignore files in /tmp/ etc.
694 o to ensure unit-tests results match, need to control LC_ALL
696 o fix for parsing bug in var.c
698 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
700 * Makefile.in (MAKE_VERSION): bump version to 20101126
701 Merge with NetBSD make, pick up
702 o if stale dependency is an IMPSRC, search via .PATH
703 o meta_oodate: if a referenced file is missing, target is
705 o meta_oodate: if a target uses .OODATE in its commands,
706 it (.OODATE) needs to be recomputed.
707 o keep a pointer to youngest child node, rather than just its
710 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
712 * Makefile.in (MAKE_VERSION): bump version to 20101101
714 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
716 * machine.sh: like os.sh,
717 allow for uname -p producing useless drivel
719 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
721 * boot-strap: document configure knobs for meta and filemon.
723 * Makefile.in (MAKE_VERSION): bump version to 20100911
724 Merge with NetBSD make, pick up
727 * make-bootstrap.sh.in: handle meta.c
728 * configure.in: add knobs for use_meta and filemon_h
729 also, look for dirname, str[e]sep and strlcpy
730 * util.c: add simple err[x] and warn[x]
732 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
734 * boot-strap (TOOL_DIFF): set this to ensure tests use
735 the same version of diff that configure tested
737 * Makefile.in (MAKE_VERSION): bump version to 20100808
738 Merge with NetBSD make, pick up
739 o in jobs mode, when we discover we cannot make something,
740 call PrintOnError before exit.
742 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
744 * Makefile.in (MAKE_VERSION): bump version to 20100806
745 Merge with NetBSD make, pick up
746 o formatting fixes for ignored errors
747 o ensure jobs are cleaned up regardless of where wait() was called.
749 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
751 * Makefile.in (MAKE_VERSION): bump version to 20100618
752 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
754 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
756 * Makefile.in (MAKE_VERSION): bump version to 20100616
757 Merge with NetBSD make, pick up
759 o call PrintOnError from JobFinish when we detect an error we
762 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
764 * Makefile.in (MAKE_VERSION): bump version to 20100606
765 Merge with NetBSD make, pick up
768 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
770 * Makefile.in (MAKE_VERSION): bump version to 20100605
771 Merge with NetBSD make, pick up
772 o use bmake_signal() which is a wrapper around sigaction()
774 o add .export-env to allow exporting variables to environment
775 without tracking (so no re-export when the internal value is
778 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
780 * Makefile.in (MAKE_VERSION): bump version to 20100524
781 Merge with NetBSD make, pick up
782 o fix for .info et al being greedy.
784 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
786 * Makefile.in (MAKE_VERSION): bump version to 20100520
787 Merge with NetBSD make, pick up
788 o back to using realpath on argv[0]
789 but only if contains '/' and does not start with '/'.
791 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
793 * boot-strap: use absolute path for bmake when running tests.
795 * Makefile.in (MAKE_VERSION): bump version to 20100510
796 Merge with NetBSD make, pick up
797 o revert use of realpath on argv[0]
798 too many corner cases.
799 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
801 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
803 * Makefile.in (MAKE_VERSION): bump version to 20100505
804 Merge with NetBSD make, pick up
805 o fix for missed SIGCHLD when compiled with SunPRO
806 actually for bmake, defining FORCE_POSIX_SIGNALS would have
809 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
811 * Makefile.in (MAKE_VERSION): bump version to 20100430
812 Merge with NetBSD make, pick up
813 o fflush stdout before writing to stdout
815 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
817 * Makefile.in (MAKE_VERSION): bump version to 20100423
818 Merge with NetBSD make, pick up
819 o updated unit tests for Haiku (this time for sure).
820 * boot-strap: based on patch from joerg
821 honor --with-default-sys-path better.
822 * boot-strap: remove mention of --with-prefix-sys-path
824 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
826 * Makefile.in (MAKE_VERSION): bump version to 20100422
827 * Merge with NetBSD make, pick up
828 o fix for vfork() on Darwin.
829 o fix for bogus $TMPDIR.
830 o set .MAKE.MODE=compat for -B
831 o set .MAKE.JOBS=max_jobs for -j max_jobs
832 o allow unit-tests to run without any *.mk
833 o unit-tests/modmisc be more conservative in dirs presumed to exist.
834 * boot-strap: ignore /usr/share/mk except on NetBSD.
835 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
836 ensure sort(1) behaves as expected.
838 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
840 * boot-strap: add FindHereOrAbove so we can use -m .../mk
842 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
844 * Makefile.in (MAKE_VERSION): bump version to 20100420
845 * Merge with NetBSD make, pick up
846 o fix for variable realpath() behavior.
847 we have to stat(2) the result to be sure.
848 o fix for .export (all) when nested vars use :sh
850 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
852 * Makefile.in (MAKE_VERSION): bump version to 20100414
853 * Merge with NetBSD make, pick up
854 o use realpath to resolve argv[0] (for .MAKE) if needed.
855 o add realpath from libc.
856 o add :tA to resolve variable via realpath(3) if possible.
858 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
860 * Makefile.in (MAKE_VERSION): bump version to 20100408
861 * Merge with NetBSD make, pick up
862 o unit tests for .ERROR, .error
863 o fix for .ERROR to ensure it cannot be default target.
865 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
867 * Makefile.in (MAKE_VERSION): bump version to 20100406
868 * Merge with NetBSD make, pick up
869 o fix for compat mode "Error code" going to debug_file.
870 o fix for .ALLSRC being populated twice.
871 o support for .info, .warning and .error directives
872 o .MAKE.MODE to control make's operational mode
873 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
875 o .MAKE.DEPENDFILE to control the name of the depend file
876 o .ERROR target - run on failure.
878 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
880 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
882 * os.sh,arch.c: patch for Haiku from joerg at netbsd
884 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
886 * Makefile.in (MAKE_VERSION): bump version to 20100222
887 * Merge with NetBSD make, pick up
888 o better error msg for .for with mutiple inter vars
891 o use make-bootstrap.sh from joerg at netbsd
892 to avoid the need for a native make when bootstrapping.
893 o add "" everywhere ;-)
894 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
895 otherwise the pre-formated version.
897 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
899 * Makefile.in (MAKE_VERSION): bump version to 20100102
900 * Merge with NetBSD make, pick up:
903 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
905 * Makefile.in (MAKE_VERSION): bump version to 20091118
906 * Merge with NetBSD make, pick up:
908 o report lines that start with '.' and should have ':'
909 (catch typo's of .el*if).
911 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
913 * configure.in: Ensure that srcdir and mksrc are absolute paths.
915 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
917 * Makefile.in (MAKE_VERSION): fix version to 20091007
919 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
921 * Makefile.in (MAKE_VERSION): bump version to 200910007
922 * Merge with NetBSD make, pick up:
923 o fix for parsing of :S;...;...; applied to .for loop iterator
924 appearing in a dependency line.
926 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
928 * Makefile.in (MAKE_VERSION): bump version to 20090909
929 * Merge with NetBSD make, pick up:
930 o fix for -C, .CURDIR and .OBJDIR
932 o allow share_dir to be set independent of prefix.
933 o select default share_dir better when prefix ends in $HOST_TARGET
934 o if FORCE_BSD_MK etc were set, include them in the suggested
937 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
939 * Makefile.in (MAKE_VERSION): bump version to 20090908
940 * Merge with NetBSD make, pick up:
941 o .MAKE.LEVEL for recursion tracking
942 o fix for :M scanning \:
944 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
946 * configure.in: Don't -D__EXTENSIONS__ if
947 AC_USE_SYSTEM_EXTENSIONS says "no".
949 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
951 * Makefile.in (MAKE_VERSION): bump version to 20090826
952 Simplify MAKE_VERSION to just the bare date.
953 * Merge with NetBSD make, pick up:
954 o -C directory support.
955 o support for SIGINFO
956 o use $TMPDIR for temp files.
957 o child of vfork should be careful about modifying parent's state.
960 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
962 * Appy some patches for MiNT from David Brownlee
964 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
966 * Makefile.in (BMAKE_VERSION): bump version to 20090222
967 * Merge with NetBSD make, pick up:
968 o Possible null pointer de-ref in Var_Set.
970 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
972 * Makefile.in (BMAKE_VERSION): bump version to 20090204
973 * Merge with NetBSD make, pick up:
974 o bmake_malloc et al moved to their own .c
975 o Count both () and {} when looking for the end of a :M pattern
976 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
977 o strlist.c - functions for processing extendable arrays of pointers to strings.
978 o ClientData replaced with void *, so const void * can be used.
979 o New debug flag C for DEBUG_CWD
981 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
983 * Makefile.in (BMAKE_VERSION): bump version to 20081111
984 Apply patch from Joerg Sonnenberge to
986 o remove some redundant checks
987 o check for emlloc etc only in libutil and require the whole family.
989 o remove [v]asprintf which is no longer used.
991 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
993 * Makefile.in (BMAKE_VERSION): bump version to 20081101
994 * Merge with NetBSD make, pick up:
995 o util.c: avoid use of putenv() - christos
997 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
999 * Makefile.in (BMAKE_VERSION): bump version to 20081030
1000 pick up man page tweaks.
1002 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
1004 * Makefile.in: move processing of LIBOBJS to after is definition!
1005 thus we'll have getenv.c in SRCS only if needed.
1007 * make.1: add examples of how to use :?
1009 * Makefile.in (BMAKE_VERSION): bump version to 20081029
1010 * Merge with NetBSD make, pick up:
1011 o fix for .END processing with -j
1012 o segfault from Parse_Error when no makefile is open
1013 o handle numeric expressions in any variable expansion
1014 o debug output now defaults to stderr, -dF to change it - apb
1015 o make now uses bmake_malloc etc so that it can build natively
1016 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1018 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
1020 * Makefile.in (BMAKE_VERSION): bump version to 20080808
1021 * Merge with NetBSD make, pick up:
1022 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1023 long lines in Makefiles
1024 o optimizations for VarQuote by joerg
1025 o fix for PR/38756: dominik: make dumps core on invalid makefile
1027 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
1029 * Makefile.in (BMAKE_VERSION): bump version to 20080515
1030 * Merge with NetBSD make, pick up:
1031 o fix skip setting vars in VAR_GLOBAL context, to handle
1032 cases where VAR_CMD is used for other than command line vars.
1034 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
1036 * boot-strap (make_version): we may need to look in
1037 $prefix/share/mk for sys.mk
1039 * Makefile.in (BMAKE_VERSION): bump version to 20080514
1040 * Merge with NetBSD make, pick up:
1041 o skip setting vars in VAR_GLOBAL context, when already set in
1042 VAR_CMD which takes precedence.
1044 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
1046 * Makefile.in (BMAKE_VERSION): bump version to 20080330
1047 * Merge with NetBSD make, pick up:
1048 o fix for ?= when LHS contains variable reference.
1050 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1052 * merge some patches from NetBSD pkgsrc.
1054 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1055 the MAKSYSPATH used during bootstrap.
1057 * Makefile.in (BMAKE_VERSION): bump version to 20080215
1058 * Merge with NetBSD make, pick up:
1059 o warn if non-space chars follow 'empty' in a conditional.
1061 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1063 * Makefile.in (BMAKE_VERSION): bump version to 20080118
1064 * Merge with NetBSD make, pick up:
1065 o consider dependencies read from .depend as optional - dsl
1066 o remember when buffer for reading makefile grows - dsl
1067 o add -dl (aka LOUD) - David O'Brien
1069 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
1071 * Makefile.in (BMAKE_VERSION): bump version to 20071022
1072 * Merge with NetBSD make, pick up:
1073 o Allow .PATH<suffix> to be used for .include ""
1075 * boot-strap: source default settings from .bmake-boot-strap.rc
1077 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
1079 * Makefile.in: fix maninstall on various systems
1080 provided that our man.mk is used.
1081 For non-BSD systems we install the preformatted page
1084 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
1086 * boot-strap: make bmake.1 too, so maninstall works.
1088 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1090 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1091 * Merge with NetBSD make, pick up:
1092 o revamped handling of defshell - configure no longer needs to
1093 know the content of the shells array - apb
1094 o stop Var_Subst modifying its input - apb
1095 o avoid calling ParseTrackInput too often - dsl
1097 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1099 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1100 * Merge with NetBSD make, pick up:
1101 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1103 * sigcompat.c: some tweaks for HP-UX 11.x based on
1104 patch from Tobias Nygren
1106 * configure.in: update handling of --with-defshell to match
1107 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1108 will now do what one might hope - provided the chosen shell
1109 behaves enough like sh.
1111 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1113 * Makefile.in (BMAKE_VERSION): bump to 20071008
1114 * Merge with NetBSD make, pick up:
1115 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1116 o .export/.MAKE.EXPORTED - export of variables - sjg
1117 o .MAKE.MAKEFILES - track all makefiles read - sjg
1118 o performance improvements - dsl
1119 o revamp parallel job scheduling - dsl
1121 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1123 * Makefile.in (BMAKE_VERSION): bump to 20060728
1124 * Merge with NetBSD make, pick up:
1125 o extra debug info during variable and cond processing - sjg
1126 o shell definition now covers newline - rillig
1127 o minor mem leak in PrintOnError - sjg
1129 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1131 * Makefile.in (BMAKE_VERSION): bump to 20060511
1132 * Merge with NetBSD make, pick up:
1133 o more memory leaks - coverity
1134 o possible overflow in ArchFindMember - coverity
1135 o extract variable modifier code out of Var_Parse()
1136 so it can be called recursively - sjg
1137 o unit-tests/moderrs - sjg
1139 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1141 * Makefile.in (BMAKE_VERSION): bump to 20060412
1142 * Merge with NetBSD make, pick up:
1143 o fixes for some memory leaks - coverity
1144 o only read first sys.mk etc when searching sysIncPath - sjg
1146 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1147 setting ${MAKEFILE} - OBATA Akio
1149 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1151 * Makefile.in (BMAKE_VERSION): bump to 20060318
1152 * Merge with NetBSD make, pick up:
1153 o cleanup of job.c to remove remote handling, distcc is more
1154 useful and this code was likely bit-rotting - dsl
1155 o fix for :P modifier - sjg
1156 * boot-strap: set default prefix to something reasonable
1159 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1161 * Makefile.in (BMAKE_VERSION): bump to 20060301
1162 * Merge with NetBSD make, pick up:
1163 o make .WAIT apply recursively, document and test case - apb
1164 o allow variable modifiers in a variable appear anywhere in
1165 modifier list, document and test case - sjg
1167 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1169 * Makefile.in (BMAKE_VERSION): bump to 20060222
1170 * Merge with NetBSD make, pick up:
1171 o improved job token handling - dsl
1172 o SIG_DFL the correct signal before exec - dsl
1173 o more debug info during parsing - dsl
1174 o allow variable modifiers to be specified via variable - sjg
1175 * boot-strap: explain why we died if no mksrc
1177 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1179 * Makefile.in (BMAKE_VERSION): bump to 20051105
1180 * configure.in: always set default_sys_path
1181 default is ${prefix}/share/mk
1182 - remove prefix_sys_path, anyone wanting more than above
1183 needs to set it manually.
1185 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1187 * boot-strap: make this a bit easier for pkgsrc folk.
1188 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1189 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1191 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1193 * Makefile.in (BMAKE_VERSION): bump to 20051102
1194 * job.c (JobFinish): fix likely ancient merge lossage
1195 fix from Todd Vierling.
1196 * boot-strap (srcdir): allow setting mksrc=none
1198 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1200 * Makefile.in (BMAKE_VERSION): bump to 20051031
1201 * ranlib.h: skip on OSF too.
1204 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1206 * Makefile.in (BMAKE_VERSION): bump to 20051002
1209 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1211 * Makefile.in (BMAKE_VERSION): bump to 20051001
1212 support for UnixWare and some other systems,
1213 based on patches from pkgsrc/bootstrap
1215 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1217 * Makefile.in (BMAKE_VERSION): bump to 20050901
1218 * Merge with NetBSD make, pick up:
1219 o possible parse error causing us to wander off.
1221 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1223 * Makefile.in (BMAKE_VERSION): bump to 20050606
1224 * Merge with NetBSD make, pick up:
1225 o :0x modifier for randomizing a list
1226 o fixes for a number of -Wuninitialized issues.
1228 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1230 * Makefile.in (BMAKE_VERSION): bump to 20050530
1231 * Merge with NetBSD make, pick up:
1232 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1234 * README: was seriously out of date.
1236 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1238 * Important to use .MAKE rather than MAKE.
1240 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1242 * Makefile.in (BMAKE_VERSION): bump to 20050315
1243 * Merge with NetBSD make, pick up:
1244 o don't mistake .elsefoo for .else
1245 o use suffix-specific search path correctly
1246 o bunch of style nits
1248 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1251 o ensure that args to --src and --with-mksrc
1252 are resolved before giving them to configure.
1253 o add -o "objdir" so that builder can control it,
1254 default is $OS as determined by os.sh
1255 o add -q to suppress all the install instructions.
1257 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1259 * Remove __IDSTRING()
1261 * Makefile.in (BMAKE_VERSION): bump to 20040508
1262 * Merge with NetBSD make, pick up:
1264 - remove '-e' from compat mode
1265 - add support for '+' command-line prefix.
1266 o fix for handling '--' on command-line.
1267 o fix include in lst.lib/lstInt.h to simplify '-I's
1268 o we also picked up replacement of MAKE_BOOTSTRAP
1269 with !MAKE_NATIVE which is a noop, but possibly confusing.
1271 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1273 * Makefile.in (BMAKE_VERSION): bump to 20040414
1274 * Merge with NetBSD make, pick up:
1275 o allow quoted strings on lhs of conditionals
1276 o issue warning when extra .else is seen
1277 o print line numer when errors encountered during parsing from
1280 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1282 * Makefile.in (BMAKE_VERSION): bump to 20040220
1283 * Merge with NetBSD make, pick up:
1284 o fix for old :M parsing bug.
1285 o re-jigged unit-tests
1287 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1289 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1290 so that './bmake -f Makefile test' works.
1292 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1294 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1295 * Merge with NetBSD make, pick up:
1296 o search upwards for *.mk
1297 o fix for double free of var substitution buffers
1298 o use of getopt replaced with custom code, since the usage
1299 (re-scanning) isn't posix compatible.
1301 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1303 * arch.c: don't include ranlib.h on ELF systems
1304 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1306 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1308 * Makefile.in (BMAKE_VERSION): bump to 20040118
1310 * boot-strap (while): export vars we assign to on cmdline
1311 * unit-test/Makefile.in: ternary is .PHONY
1313 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1315 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1316 * Merge with NetBSD make, pick up:
1317 o fix for ternary modifier
1319 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1321 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1322 * Merge with NetBSD make, pick up:
1323 o fix for cond.c to handle compound expressions better
1324 o variable expansion within sysV style replacements
1326 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1328 * Make portable snprintf safer - output to /dev/null first to
1331 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1332 * Merge with NetBSD make, pick up:
1333 o -dg3 to show input graph when things go wrong.
1334 o explicitly look for makefiles in objdir if not found in curdir so
1335 that errors in .depend etc will be reported accurarely.
1336 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1337 instead as it more accurately reflects the expected behavior and
1338 is more consistently implemented.
1339 o avoid use of asprintf.
1341 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1343 * util.c: Add asprintf and vasprintf.
1345 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1346 * Merge with NetBSD make, pick up:
1347 :[] modifier - allows picking words from a variable.
1348 :tW modifier - allows treating value as one big word.
1349 W flag for :C and :S - allows treating value as one big word.
1351 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1353 * Merge with NetBSD make
1354 pick up -de flag to enable printing failed command.
1355 don't skip 1st two dir entries (normally . and ..) since
1356 coda does not have them.
1358 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1360 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1361 * Merge with NetBSD make, pick up:
1362 - changes for -V '${VAR}' to print fully expanded value
1364 - CompatRunCommand now prints the command that failed.
1365 - several files got updated 3 clause Berkeley license.
1367 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1369 * boot-strap: Allow setting configure args on command line.
1371 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1373 * configure.in: add --with-defshell to allow sh or ksh
1374 to be selected as default shell.
1376 * Makefile.in: bump version to 20030731
1378 * Merge with NetBSD make
1379 Pick up .SHELL spec for ksh and associate man page changes.
1380 Also compat mode now uses the same shell specs.
1382 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1384 * var.c (Var_Parse): ensure delim is initialized.
1386 * unit-tests/Makefile.in: use single quotes to avoid problems from
1390 Run the unit-tests as part of the bootstrap procedure.
1392 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1394 * unit-tests/Makefile.in: always force complaints from
1395 ${TEST_MAKE} to be from 'make'.
1397 * configure.in: add check for 'diff -u'
1398 also fix some old autoconf'isms
1400 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1401 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1403 * Merge with NetBSD make
1404 Pick up fix for :ts parsing error in some cases.
1407 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1409 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1411 * var.c (Var_Parse): fix bug in :ts modifier, after const
1412 correctness fixes, must pass nstr to VarModify.
1414 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1416 * Makefile.in: BMAKE_VERSION switch to a date based version.
1417 We'll generally use the date of last import from NetBSD.
1419 * Merge with NetBSD make
1420 Pick up fixes for const-correctness, now passes WARNS=3 on
1422 Pick up :ts modifier, allows controlling the separator used
1423 between words in variable expansion.
1425 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1427 * FILES: include boot-strap and os.sh
1429 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1430 FreeBSD is known to be bad.
1432 * makefile.boot.in (bootstrap): make this the default target.
1434 * Makefile.in: bump version to 3.1.19
1436 * machine.sh: avoid A-Z with tr as it is bound to lose.
1438 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1440 * Merge with NetBSD make
1441 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1442 Plus some doc fixes.
1444 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1446 * Merge with NetBSD make
1447 Pick up fix for PR/1523 - don't count a library as built, if there
1448 is no way to build it
1450 * Bump version to 3.1.18
1452 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1454 * Merge with NetBSD make
1455 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1456 appears in src list.
1458 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1460 * Merge with NetBSD make (mmm 10th anniversary!)
1461 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1462 pick up -X which tells us to not export VAR=val via setenv if
1463 we are already doing so via MAKEFLAGS. This saves valuable env
1464 space on systems like Darwin.
1465 set MAKE_VERSION to 3.1.17
1467 * parse.c: pix up fix for suffix rules
1469 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1471 * Merge with NetBSD make.
1472 pick up fix for propagating -B via MAKEFLAGS.
1473 set MAKE_VERSION to 3.1.16
1475 * Apply some patches from pkgsrc-bootstrap/bmake
1476 Originally by Grant Beattie <grant@netbsd.org>
1477 I may have missed some - since they are based on bmake-3.1.12
1479 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1481 * makefile.boot.in (bmake): update install targets for those that
1482 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1483 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1485 * bmake.cat1: update the pre-formatted man page!
1487 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1489 * Merge with NetBSD make.
1490 pick up fix for premature free of pointer used in call
1492 set MAKE_VERSION to 3.1.15
1494 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1496 * configure.in: determine suitable value for MKSRC.
1497 override using --with-mksrc=PATH.
1499 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1500 configs(8) will use 'sun4' as an alias for 'sparc'.
1502 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1504 * Merge with NetBSD make.
1506 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1507 set MAKE_VERSION to 3.1.14
1508 add configure checks for killpg and sys/socket.h
1510 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1514 * makefile.boot.in (bmake): use install-mk
1515 Also setup ./mk before trying to invoke bmake.boot incase we
1516 needed install-mk to create a sys.mk for us.
1518 * configure.in: If we need to add -I${srcdir}/missing, make it an
1519 absolute path so that it works for lst.lib too.
1521 * make.h: always include sys/cdefs.h since we provide one if the
1524 * Makefile.in (install-mk):
1525 use MKSRC/install-mk which will do the right thing.
1526 use uname -p for ARCH if possible.
1527 since install-mk will setup links bsd.prog.mk -> prog.mk if
1528 needed, just .include bsd.prog.mk
1530 * Merge with NetBSD make (NetBSD-1.6)
1531 Code is ansi-C only now.
1532 Bug in handling of dotLast is fixed.
1533 Can now assign .OBJDIR and make will reset its notions of life.
1534 New modifiers :tu :tl for toUpper and toLower.
1536 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1538 * Merge with NetBSD make
1539 pick up fix for .END failure in compat mode.
1540 pick up fix for extra va_end() in ParseVErrorInternal.
1542 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1544 * configure.in: for systems that have sys/cdefs.h check if it is
1545 compatible. If not, include the one under missing, but tell it to
1546 include the native one too - necessary on Linux.
1548 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1549 include_next (for gcc) to get the native sys/cdefs.h
1551 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1553 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1554 leaking descriptors when using -jN.
1556 * job.c (JobPrintCommand): See if "curdir" exists before
1557 attempting to chdir(). Doing the chdir directly in make (when in
1558 compat mode) fails silently, so let the -jN version do the same.
1559 This can happen when building kernels in an object tree and
1560 playing clever games to reset .CURDIR.
1562 * Merged with NetBSD make
1565 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1567 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1569 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1571 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1572 us not to export the iterator variable when using VAR_CMD context.
1574 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1576 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1577 its the wrong "fix".
1579 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1581 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1582 We now simply append the variable names to .MAKEOVERRIDES, and
1583 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1584 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1585 Apart from fixing quoting bugs in previous version, this allows us
1586 to export vars to the environment by simply doing:
1587 .MAKEOVERRIDES+= PATH
1588 Merged again with NetBSD make, but the above is the only change.
1590 * configure.in: added
1591 --disable-pwd-override disable $PWD overriding getcwd()
1592 --disable-check-make-chdir disable make trying to guess
1593 when it should automatically cd ${.CURDIR}
1595 * Merge with NetBSD make, changes include:
1596 parse.c (ParseDoDependency): Spot that the syntax error is
1597 caused by an unresolved cvs/rcs conflict and say so.
1598 var.c: most of Var* functions now take a ctxt as 1st arg.
1599 now does variable substituion on rhs of sysv style modifiers.
1601 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1602 is now done here. We append the name='value' to .MAKEOVERRIDES
1603 rather than directly into MAKEFLAGS as this allows a Makefile to
1604 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
1605 very similar mechanism. Note that in adding name='value' to
1606 .MAKEOVERRIDES we do the moral equivalent of:
1607 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1609 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1611 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1613 * Merged with NetBSD make
1614 make -dx can now be used to run commands via sh -x
1615 better error messages on exec failures.
1617 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1619 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1620 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
1621 MACHINE etc otherwise they propagate from the previous bmake.
1623 * configure.in (machine): allow --with-machine=generic to make
1624 configure use machine.sh to set MACHINE.
1626 * job.c (JobInterrupt): convert to using WAIT_T and friends.
1628 * Makefile.in: mention in bmake.1 that we use autoconf.
1630 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1632 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1634 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1635 as that rather defeats the usefulness of ${MAKEFILE}.
1637 * main.c (MainParseArgs): append command line variable assignments
1638 to MAKEFLAGS so that they get propagated to child make's.
1639 Apparently this is required POSIX behaviour? Its useful anyway.
1641 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1643 * compat.c (CompatRunCommand): don't use perror() since stdio may
1644 cause problems in child of vfork().
1646 * compat.c, main.c: Call PrintOnError() when we are going to bail.
1647 This routine prints out the .curdir where we stopped and will also
1648 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1650 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
1653 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
1655 * Added RCSid's for the files we've touched.
1657 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1659 * configure.in: Thanks to some clues from mdb@juniper.net,
1660 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1661 as well as what ends up in _PATH_DEFSYSPATH. We now have:
1663 --with-machine=MACHINE explicitly set MACHINE
1664 --with-force-machine=MACHINE set FORCE_MACHINE
1665 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
1666 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
1667 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
1668 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
1670 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1672 * makefile: added a pathetically simple makefile to drive
1673 bootstrapping. Running configure by hand is more useful.
1675 * Makefile.in: added MAKE_VERSION, and reworked things to be less
1676 dependent on NetBSD bsd.*.mk
1678 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1679 _PATH_OBJDIRPREFIX for those that don't want a default.
1680 construct _PATH_DEFSYSPATH from the info we get from configure.
1682 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1683 if MAKE_VERSION is defined.
1685 * compat.c: when we bail, print out the .CURDIR we were in.
1687 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1689 * Merged with NetBSD make
1691 * var.c: fixed a bug in the handling of the modifier :P
1692 if the node as found but the path was null, we segfault trying to
1695 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1697 * Merged with NetBSD make
1699 * make.c: Make_OODate's test for a library out of date was using
1700 cmtime where it should have used mtime (my bug).
1702 * compat.c: Use perror() to tell us what really went wrong when we
1703 cannot exec a command.
1705 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1707 * Merged with NetBSD make
1709 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1711 * Merged with NetBSD make
1713 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1715 * Merged with NetBSD make
1717 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1719 * Merged with NetBSD make
1721 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1723 * util.c: don't provide signal() since we use sigcompat.c
1725 * Makefile.in: added a build target.
1727 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
1728 These allow some quite clever magic.
1730 * main.c (main): added support for getenv(MAKESYSPATH).
1732 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1734 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
1735 This avoids objdir having a different value depending on how a
1736 directory was reached (via command line, or subdir.mk).
1738 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
1740 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1742 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
1743 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
1744 I've been testing this in NetBSD's make for some weeks.
1746 * Turn Makefile into Makefile.in and make it useful.
1748 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1750 * Imported NetBSD's -current make(1) and resolve conflicts.
1752 * Applied autoconf patches from bmake v2
1754 * Imported clean code base from NetBSD-1.0