1 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
3 * Makefile (_MAKE_VERSION): 20161212
4 Merge with NetBSD make, pick up
5 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
7 2016-12-09 Simon J. Gerraty <sjg@bad.crufty.net>
9 * Makefile (_MAKE_VERSION): 20161209
10 Merge with NetBSD make, pick up
11 o main.c: cleanup setting of .OBJDIR
12 o parse.c: avoid coredump from (var)=val
14 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
16 * Makefile (_MAKE_VERSION): 20161126
17 Merge with NetBSD make, pick up
18 o make.c: Make_OODate: report src node name if path not set
20 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
22 * Makefile (_MAKE_VERSION): 20160926
23 Merge with NetBSD make, pick up
24 o support for .DELETE_ON_ERROR: (remove targets that fail)
26 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
28 * Makefile MAN: tweak .Dt to match ${PROG}
30 2016-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
32 * Makefile (_MAKE_VERSION): 20160818
33 its a neater number; pick up whitespace fixes to man page.
35 2016-08-17 Simon J. Gerraty <sjg@bad.crufty.net>
37 * Makefile (_MAKE_VERSION): 20160817
38 Merge with NetBSD make, pick up
39 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
40 so we can call it before adding entries to missingFiles.
41 Thus we do not track files we have been told to ignore.
43 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
45 * Makefile (_MAKE_VERSION): 20160815
46 Merge with NetBSD make, pick up
47 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
48 pathnames, and skip if the expansion is empty.
49 Useful for dirdeps.mk when checking DIRDEPS_CACHE.
51 2016-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
53 * Makefile (_MAKE_VERSION): 20160812
54 Merge with NetBSD make, pick up
55 o meta.c: remove all missingFiles entries that match a deleted
57 o main.c: set .ERROR_CMD if possible.
59 2016-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
61 * Makefile (_MAKE_VERSION): 20160606
62 Merge with NetBSD make, pick up
63 o dir.c: extend mtimes cache to others via cached_stat()
65 2016-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
67 * Makefile (_MAKE_VERSION): 20160604
68 Merge with NetBSD make, pick up
69 o meta.c: missing filemon data is only relevant if we read a
71 Also do not return oodate for a missing metafile if gn->path
74 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
76 * Makefile (_MAKE_VERSION): 20160602
77 Merge with NetBSD make, pick up
78 o cached_realpath(): avoid hitting filesystem more than necessary.
79 o meta.c: refactor need_meta decision, add knobs for
80 missing meta file and filemon data wrt out-of-datedness.
82 2016-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
84 * Makefile (_MAKE_VERSION): 20160528
86 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
88 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
90 * Makefile (_MAKE_VERSION): 20160512
91 Merge with NetBSD make, pick up
92 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
93 this is useful for gcov builds.
94 o propagate errors from filemon(4).
96 2016-05-09 Simon J. Gerraty <sjg@bad.crufty.net>
98 * Makefile (_MAKE_VERSION): 20160509
99 Merge with NetBSD make, pick up
100 o remove use of non-standard types u_int etc.
101 o meta.c: apply realpath() before matching against metaIgnorePaths
103 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
105 * Makefile (_MAKE_VERSION): 20160404
106 Merge with NetBSD make, pick up
107 o allow makefile to set .MAKE.JOBS
109 * Makefile (PROG_NAME): use ${_MAKE_VERSION}
111 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
113 * Makefile (_MAKE_VERSION): 20160315
114 Merge with NetBSD make, pick up
115 o fix handling of archive members
117 2016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
119 * Makefile (_MAKE_VERSION): rename variable to avoid interference
120 with checks for ${MAKE_VERSION}
122 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
124 * Makefile (MAKE_VERSION): 20160310
125 Merge with NetBSD make, pick up
126 o meta.c: treat missing Read file same as Write, incase we Delete it.
128 2016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
130 * Makefile (MAKE_VERSION): 20160307
131 Merge with NetBSD make, pick up
132 o var.c: fix :ts\nnn to be octal by default.
133 o meta.c: meta_finish() to cleanup memory.
135 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
137 * Makefile (MAKE_VERSION): 20160226
138 Merge with NetBSD make, pick up
139 o meta.c: allow meta file for makeDepend if makefiles want it.
141 2016-02-19 Simon J. Gerraty <sjg@bad.crufty.net>
143 * var.c: default .MAKE.SAVE_DOLLARS to FALSE
144 for backwards compatability.
146 * Makefile (MAKE_VERSION): 20160220
147 Merge with NetBSD make, pick up
148 o var.c: add knob to control handling of '$$' in :=
150 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
152 * Makefile (MAKE_VERSION): 20160218
153 Merge with NetBSD make, pick up
154 o var.c: add .export-literal allows us to fix sys.clean-env.mk
155 post the changes to Var_Subst.
156 Var_Subst now takes flags, and does not consume '$$' in :=
158 2016-02-17 Simon J. Gerraty <sjg@bad.crufty.net>
160 * Makefile (MAKE_VERSION): 20160217
161 Merge with NetBSD make, pick up
162 o var.c: preserve '$$' in :=
163 o parse.c: add .dinclude for handling included
164 makefile like .depend
166 2015-12-20 Simon J. Gerraty <sjg@bad.crufty.net>
168 * Makefile (MAKE_VERSION): 20151220
169 Merge with NetBSD make, pick up
170 o suff.c: re-initialize suffNull when clearing suffixes.
172 2015-12-01 Simon J. Gerraty <sjg@bad.crufty.net>
174 * Makefile (MAKE_VERSION): 20151201
175 Merge with NetBSD make, pick up
176 o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
177 o meta.c: meta_oodate: use lstat(2) for checking link target
178 in case it is a symlink.
179 o var.c: avoid calling brk_string and Var_Export1 with empty
182 2015-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
184 * Makefile (MAKE_VERSION): 20151126
185 Merge with NetBSD make, pick up
186 o parse.c: ParseTrackInput don't access beyond
189 2015-10-22 Simon J. Gerraty <sjg@bad.crufty.net>
191 * Makefile (MAKE_VERSION): 20151022
193 * Add support for BSD/OS which lacks inttypes.h
194 and really needs sys/param.h for sys/sysctl.h
195 also 'type' is not a shell builtin.
197 * var.c: eliminate uint32_t and need for inttypes.h
199 * main.c: PrintOnError flush stdout before run .ERROR
201 * parse.c: cope with _SC_PAGESIZE not being defined.
204 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
206 * Makefile (MAKE_VERSION): 20151020
207 Merge with NetBSD make, pick up
208 o var.c: fix uninitialized var
210 2015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
212 * var.c: the conditional expressions used with ':?' can be
213 expensive, if already discarding do not evaluate or expand
216 2015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
218 * Makefile (MAKE_VERSION): 20151010
219 Merge with NetBSD make, pick up
220 o Add Boolean wantit flag to Var_Subst and Var_Parse
221 when FALSE we know we are discarding the result and can
222 skip operations like Cmd_Exec.
224 2015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
226 * Makefile (MAKE_VERSION): 20151009
227 Merge with NetBSD make, pick up
228 o var.c: don't check for NULL before free()
229 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
231 2015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
233 * Makefile (MAKE_VERSION): 20150910
234 Merge with NetBSD make, pick up
235 o main.c: with -w print Enter/Leaving messages for objdir too
237 o centralize shell metachar handling
239 * FILES: add metachar.[ch]
241 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
243 * Makefile (MAKE_VERSION): 20150606
244 Merge with NetBSD make, pick up
245 o make.1: document .OBJDIR target
247 2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
249 * Makefile (MAKE_VERSION): 20150505
250 Merge with NetBSD make, pick up
251 o cond.c: be strict about lhs of comparison when evaluating .if
252 but less so when called from variable expansion.
253 o unit-tests/cond2.mk: test various error conditions
255 2015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
257 * machine.sh (MACHINE): Add Bitrig
258 patch from joerg@netbsd.org
260 2015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
262 * Makefile (MAKE_VERSION): 20150418
263 Merge with NetBSD make, pick up
264 o job.c: use memmove() rather than memcpy()
266 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
269 2015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
271 * Makefile (MAKE_VERSION): 20150411
272 bump version - only mk/ changes.
274 2015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
276 * Makefile (MAKE_VERSION): 20150410
277 Merge with NetBSD make, pick up
278 o document different handling of '-' in jobs mode vs compat
279 o fix jobs mode so that '-' only applies to whole job
280 when shell lacks hasErrCtl
281 o meta.c: use separate vars to track lcwd and latestdir (read)
284 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
286 * Makefile (MAKE_VERSION): 20150401
287 Merge with NetBSD make, pick up
288 o meta.c: close meta file in child
290 * Makefile: use BINDIR.bmake if set.
291 Same for MANDIR and SHAREDIR
292 Handy for testing release candidates
293 in various environments.
295 2015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
297 * move initialization of savederr to block where it is used
298 to avoid spurious warning from gcc5
300 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
302 * Makefile (MAKE_VERSION): 20141111
305 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
307 * Makefile (MAKE_VERSION): 20141105
308 Merge with NetBSD make, pick up
309 o revert major overhaul of suffix handling
310 and POSIX compliance - too much breakage
311 and impossible to make backwards compatible.
312 o we still have the new unit test structure which is ok.
313 o meta.c ensure "-- filemon" is at start of line.
315 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
317 * configure.in: test that result of getconf PATH_MAX is numeric
318 and discard if not. Apparently needed for Hurd.
320 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
322 * Makefile (MAKE_VERSION): 20140830
323 Merge with NetBSD make, pick up
324 o major overhaul of suffix handling
325 o improved POSIX compliance
326 o overhauled unit-tests
328 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
330 * Makefile (MAKE_VERSION): 20140620
331 Merge with NetBSD make, pick up
332 o var.c return varNoError rather than var_Error for ::= modifiers.
334 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
336 * Makefile (MAKE_VERSION): 20140522
337 Merge with NetBSD make, pick up
338 o var.c detect some parse errors.
340 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
342 * Fix spelling errors - patch from Pedro Giffuni
344 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
346 * Makefile (MAKE_VERSION): 20140214
347 Merge with NetBSD make, pick up
349 o use Var_Value to get MAKEOBJDIR[PREFIX]
350 o reduced realloc'ign in brk_string.
351 * configure.in: add a check for compiler supporting __func__
353 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
355 * boot-strap: ignore mksrc=none
357 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
359 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
361 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
363 * Makefile (MAKE_VERSION): 20140101
364 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
365 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
366 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
368 * configure.in: Add AC_PREREQ and check for
369 sysctl; patch from Andrew Shadura andrewsh at debian.org
371 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
373 * Makefile (MAKE_VERSION): 20131010
374 * lose the const from arg to systcl to avoid problems on older BSDs.
376 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
378 * Makefile (MAKE_VERSION): 20131001
379 Merge with NetBSD make, pick up
380 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
381 hw.machine_arch if necessary.
382 o meta.c: meta_oodate - need to look at src of Link and target
384 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
385 provide __arraycount() if needed.
387 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
389 * Makefile (MAKE_VERSION): 20130904
390 Merge with NetBSD make, pick up
391 o Add VAR_INTERNAL context, so that internal setting of
392 MAKEFILE does not override value set by makefiles.
394 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
396 * Makefile (MAKE_VERSION): 20130902
397 Merge with NetBSD make, pick up
398 o CompatRunCommand: only apply shellErrFlag when errCheck is true
400 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
402 * Makefile (MAKE_VERSION): 20130828
403 Merge with NetBSD make, pick up
404 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
405 o Call Job_SetPrefix() from Job_Init() so makefiles have
406 opportunity to set .MAKE.JOB.PREFIX
408 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
410 * Makefile (MAKE_VERSION): 20130730
411 Merge with NetBSD make, pick up
412 o Allow suppression of --- job -- tokens by setting
413 .MAKE.JOB.PREFIX empty.
415 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
417 * Makefile (MAKE_VERSION): 20130716
418 Merge with NetBSD make, pick up
419 o number of gmake compatibility tweaks
420 -w for gmake style entering/leaving messages
421 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
422 handle MAKEFLAGS containing only letters.
423 o when overriding a GLOBAL variable on the command line,
424 delete it from GLOBAL context so -V doesn't show the wrong
427 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
429 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
431 * Makefile (MAKE_VERSION): 20130706
432 Merge with NetBSD make, pick up
433 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
434 true so that CompatRunCommand() can use it, to ensure
435 consistent behavior with jobs mode.
436 o use MAKE_LEVEL_ENV to define the variable to propagate
437 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
438 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
441 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
443 * Makefile (MAKE_VERSION): 20130604
444 Merge with NetBSD make, pick up
445 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
446 to avoid leaking descriptors.
448 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
450 * Makefile (MAKE_VERSION): 20130528
451 Merge with NetBSD make, pick up
452 o var.c: cleanup some left-overs in VarHash()
454 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
456 * Makefile (MAKE_VERSION): 20130520
457 generate manifest from component FILES rather than have to
458 update FILES when mk/FILES changes.
460 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
462 * Makefile (MAKE_VERSION): 20130518
463 Merge with NetBSD make, pick up
464 o suff.c: don't skip all processsing for .PHONY targets
465 else wildcard srcs do not get expanded.
466 o var.c: expand name of variable to delete if necessary.
468 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
470 * Makefile (MAKE_VERSION): 20130330
471 Merge with NetBSD make, pick up
472 o meta.c: refine the handling of .OODATE in commands.
473 Rather than suppress command comparison for the entire script
474 as though .NOMETA_CMP had been used, only suppress it for the
476 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
477 suppress comparison of a command without otherwise affecting it.
478 o make.1: document that
480 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
482 * Makefile (MAKE_VERSION): 20130321
483 yes, not quite right but its a cooler number.
484 Merge with NetBSD make, pick up
485 o parse.c: fix ParseGmakeExport to be portable
487 * meta.c: call meta_init() before makefiles are read and if built
488 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
489 this let's makefiles test for support.
490 Call meta_mode_init() to process .MAKE.MODE.
492 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
494 * Makefile (MAKE_VERSION): 20130305
495 Merge with NetBSD make, pick up
496 o run .STALE: target when a dependency from .depend is missing.
497 o job.c: add Job_RunTarget() for the above and .BEGIN
499 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
501 * Makefile (MAKE_VERSION): 20130303
502 Merge with NetBSD make, pick up
503 o main.c: set .MAKE.OS to utsname.sysname
504 o job.c: more checks for read and poll errors
505 o var.c: lose VarChangeCase() saves 4% time
507 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
509 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
510 want to use MAKEOBJDIR
512 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
514 * Merge with NetBSD make, pick up
515 o make.1: more info on how shell commands are handled.
516 o job.c,main.c: detect write errors to job pipes.
518 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
520 * Makefile (MAKE_VERSION): 20130123
521 Merge with NetBSD make, pick up
522 o meta.c: if script uses .OODATE and meta_oodate() decides
523 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
524 o var.c: in debug output indicate which variabale modifiers
526 o remove Check_Cwd logic the makefiles have been fixed.
528 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
530 * makefile.in: add a simple makefile for folk who insist on
531 ./configure; make; make install
532 it just runs boot-strap
533 * include mk/* to accommodate the above
534 * boot-strap: re-work to accommodate the above
535 mksrc defaults to $Mydir/mk
536 allow op={configure,build,install,clean,all}
537 add options to facilitate install
538 * Makefile.config.in: just the bits set by configure
539 * Makefile: bump version to 20121212
540 abandon Makefile.in (NetBSD Makefile)
541 leverage mk/* instead
542 * configure.in: ensure srcdir is absolute
544 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
546 * Makefile.in (MAKE_VERSION): 20121111
547 fix generation of bmake.cat1
549 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
551 * Makefile.in (MAKE_VERSION): 20121109
552 Merge with NetBSD make, pick up
553 o make.c: MakeBuildChild: return 0 so search continues if a
554 .ORDER dependency is detected.
555 o unit-tests/order: test the above
557 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
559 * Makefile.in (MAKE_VERSION): 20121102
560 Merge with NetBSD make, pick up
561 o cond.c: allow cond_state[] to grow.
562 In meta mode with a very large tree, we can hit the limit
563 while processing dirdeps.
565 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
567 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
569 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
571 * Makefile.in (MAKE_VERSION): 20121010
572 o protect syntax that only bmake parses correctly.
573 o remove auto setting of FORCE_MACHINE, use configure's
574 --with-force-machine=whatever if that is desired.
576 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
578 * Makefile.in: do not lose history from make.1 when generating bmake.1
580 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
582 * Makefile.in (MAKE_VERSION): 20121007
583 Merge with NetBSD make, pick up
584 o compat.c: ignore empty commands - same as jobs mode.
585 o make.1: document meta chars that cause use of shell
587 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
589 * Makefile.in (MAKE_VERSION): bump version to 20120911
590 * bsd.after-import.mk: include Makefile.inc early and allow it to
593 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
595 * Makefile.in (MAKE_VERSION): bump version to 20120831
596 Merge with NetBSD make, pick up
597 o cast sizeof() to int for comparison
600 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
602 * Makefile.in (MAKE_VERSION): bump version to 20120830
603 Merge with NetBSD make, pick up
604 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
605 o debug flag -dV causes -V to show raw value regardless.
607 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
609 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
612 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
614 * Makefile.in (MAKE_VERSION): bump version to 20120704
615 Merge with NetBSD make, pick up
616 o Job_ParseShell should call Shell_Init if it has been
618 * Makefile.in: set USE_META based on configure result.
619 also .PARSEDIR is safer indicator of bmake.
621 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
623 * Makefile.in: bump version to 20120626
624 ensure CPPFLAGS is in CFLAGS
625 * meta.c: avoid nested externs
626 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
628 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
630 * Makefile.in (MAKE_VERSION): bump version to 20120620
631 Merge with NetBSD make, pick up
632 o make_malloc.c: avoid including make_malloc.h again
634 * Makefile.in: avoid bmake only syntax or protect with
635 .if defined(.MAKE.LEVEL)
636 * bsd.after-import.mk: replace .-include with .sinclude
637 ensure? SRCTOP gets a value
638 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
640 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
642 * Makefile.in (MAKE_VERSION): bump version to 20120612
643 Merge with NetBSD make, pick up
644 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
645 for greater portability.
646 o unit-tests/forloop: check that .for works as expected wrt
647 number of times and with "quoted strings".
649 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
651 * Makefile.in (MAKE_VERSION): bump version to 20120606
652 Merge with NetBSD make, pick up
653 o compat.c: use kill(2) rather than raise(3).
654 * configure.in: look for sys/dev/filemon
655 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
656 and pass BOOTSTRAP_XTRAS to boot-strap.
658 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
660 * Makefile.in (MAKE_VERSION): bump version to 20120604
661 Merge with NetBSD make, pick up
662 o util.c and var.c share same var for tracking if environ
663 has been reallocated.
664 o util.c provide getenv with setenv.
665 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
666 when the shell actively strips .MAKE.* from the environment.
667 We still refer to the variable always as .MAKE.LEVEL
668 * util.c fix bug in findenv() was finding prefix of name.
669 * compat.c: re-raising SIGINT etc after running .INTERRUPT
670 results in more reliable termination of all activity on many
673 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
675 * Makefile.in (MAKE_VERSION): bump version to 20120602
676 Merge with NetBSD make, pick up
677 o for.c: handle quoted items in .for list
679 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
681 * Makefile.in (MAKE_VERSION): bump version to 20120530
682 Merge with NetBSD make, pick up
683 o compat.c: ignore empty command.
685 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
687 * Makefile.in (MAKE_VERSION): bump version to 20120524
688 * FILES: add bsd.after-import.mk:
689 A simple means of integrating bmake into a BSD build system.
691 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
693 * Makefile.in (MAKE_VERSION): bump version to 20120520
694 Merge with NetBSD make, pick up
695 o increased limit for nested conditionals.
697 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
699 * Makefile.in (MAKE_VERSION): bump version to 20120518
700 Merge with NetBSD make, pick up
701 o use _exit(2) in signal hanlder
702 o Don't use the [dir] cache when building nodes that might have
703 changed since the last exec.
704 o Avoid nested extern declaration warnings.
706 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
708 * meta.c (fgetLine): avoid %z - not portable.
709 * parse.c: Since we moved include of sys/mman.h
710 and def's of MAP_COPY etc. we got dups from a merge.
712 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
714 * Makefile.in (MAKE_VERSION): bump version to 20120420
715 Merge with NetBSD make, pick up
716 o restore duplicate supression in .MAKE.MAKEFILES
717 runtime saving can be significant.
718 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
719 consumption up to 20%.
721 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
723 * Makefile.in (MAKE_VERSION): bump version to 20120420
724 Merge with NetBSD make, pick up
725 o remove duplicate supression in .MAKE.MAKEFILES
726 o improved dir cache behavior
727 o gmake'ish export command
729 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
731 * Makefile.in (MAKE_VERSION): bump version to 20120325
732 Merge with NetBSD make, pick up
733 o fix parsing of :[#] in conditionals.
735 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
737 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
738 since some systems cannot cope with .Nx <version>
740 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
742 * Makefile.in (MAKE_VERSION): bump version to 20111111
743 Merge with NetBSD make, pick up
744 o debug output for .PARSEDIR and .PARSEFILE
746 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
748 * Makefile.in (MAKE_VERSION): bump version to 20111010
750 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
752 * boot-strap: check for an expected file in the dirs we look for.
753 * make-bootstrap.sh: pass on LDSTATIC
755 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
757 * Makefile.in (MAKE_VERSION): bump version to 20111001
758 Merge with NetBSD make, pick up
759 o ensure .PREFIX is set for .PHONY
760 and .TARGET set for .PHONY run via .END
761 o __dead used consistently
763 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
765 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
767 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
769 * Makefile.in (MAKE_VERSION): bump version to 20110905
770 Merge with NetBSD make, pick up
771 o meta_oodate: ignore makeDependfile
773 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
775 * Makefile.in (MAKE_VERSION): bump version to 20110828
776 Merge with NetBSD make, pick up
777 o silent=yes in .MAKE.MODE causes meta mode to mark targets
778 as SILENT if a .meta file is created
780 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
782 * Makefile.in (MAKE_VERSION): bump version to 20110818
783 Merge with NetBSD make, pick up
784 o in meta mode, if target flagged .META a missing .meta file
785 means target is out-of-date
786 o fixes for gcc 4.5 warnings
787 o simplify job printing code
789 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
791 * Makefile.in (MAKE_VERSION): bump version to 20110808
792 Merge with NetBSD make, pick up
793 o do not touch OP_SPECIAL targets when doing make -t
795 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
797 * Makefile.in (MAKE_VERSION): bump version to 20110622
798 Merge with NetBSD make, pick up
799 o meta_oodate detect corrupted .meta file and declare oodate.
800 * configure.in: add check for setsid
802 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
804 * Merge with NetBSD make, pick up
805 o unit-tests/modts now works on MirBSD
807 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
809 * Makefile.in (MAKE_VERSION): bump version to 20110606
810 Merge with NetBSD make, pick up
811 o ApplyModifiers: when we parse a variable which is not
812 the entire modifier string, or not followed by ':', do not
813 consider it as containing modifiers.
814 o loadfile: ensure newline at end of mapped file.
816 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
818 * Makefile.in (MAKE_VERSION): bump version to 20110505
819 Merge with NetBSD make, pick up
820 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
821 of make's control. In meta mode, any generated file within
822 said bailiwick, which is found to be missing, causes current
823 target to be out-of-date.
825 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
827 * Makefile.in (MAKE_VERSION): bump version to 20110411
828 Merge with NetBSD make, pick up
829 o when long modifiers fail to match, check sysV style.
832 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
834 * Makefile.in (MAKE_VERSION): bump version to 20110410
835 Merge with NetBSD make, pick up
836 o :hash - cheap 32bit hash of value
837 o :localtime, :gmtime - use value as format string for strftime.
839 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
841 * Makefile.in (MAKE_VERSION): bump version to 20110330
842 mostly because its a cooler version.
843 Merge with NetBSD make, pick up
844 o NetBSD tags for meta.[ch]
845 o job.c call meta_job_finish() after meta_job_error().
846 o meta_job_error() should call meta_job_finish() to ensure
847 .meta file is closed, and safe to copy - if .ERROR target wants.
848 meta_job_finish() is safe to call repeatedly.
850 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
852 * unit-tests/modts: use printf if it is a builtin,
853 to save us from MirBSD
855 * Makefile.in (MAKE_VERSION): bump version to 20110329
856 Merge with NetBSD make, pick up
857 o fix for use after free() in CondDoExists().
858 o meta_oodate() report extra commands and return earlier.
860 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
862 * Makefile.in (MAKE_VERSION): bump version to 20110327
863 Merge with NetBSD make, pick up
864 o meta.c, if .MAKE.MODE contains curdirOk=yes
865 allow creating .meta files in .CURDIR
866 * boot-strap (TOOL_DIFF): aparently at least on linux distro
867 formats the output of 'type' differently - so eat any "()"
869 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
871 * Makefile.in (MAKE_VERSION): bump version to 20110306
872 Merge with NetBSD make, pick up
873 o meta.c, only do getcwd() once
875 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
877 * Makefile.in (MAKE_VERSION): bump version to 20110305
878 Merge with NetBSD make, pick up
879 o correct sysV substitution handling of empty lhs and variable
880 o correct exists() check for dir with trailing /
881 o correct handling of modifiers for non-existant variables
882 during evaluation of conditionals.
883 o ensure MAP_FILE is defined.
884 o meta.c use curdir[] now exported by main.c
886 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
888 * Makefile.in (MAKE_VERSION): bump version to 20110225
889 Merge with NetBSD make, pick up
890 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
891 makefiles have been read.
892 o fix example of :? modifier in man page.
894 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
896 * Makefile.in (MAKE_VERSION): bump version to 20110214
897 Merge with NetBSD make, pick up
898 o meta.c handle realpath() failing when generating meta file
901 * sigcompat.c: convert to ansi so we can use higher warning levels.
904 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
906 * Makefile.in (MAKE_VERSION): bump version to 20110207
907 Merge with NetBSD make, pick up
908 o fix for bug in meta mode.
910 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
912 * parse.c: SunOS 5.8 at least does not have MAP_FILE
914 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
916 * Makefile.in (MAKE_VERSION): bump version to 20110101
917 Merge with NetBSD make, pick up
918 o use mmap(2) if available, for reading makefiles
920 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
922 * Makefile.in (MAKE_VERSION): bump version to 20101215
923 Merge with NetBSD make, pick up
924 o ensure meta_job_error() does not report a previous .meta file
927 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
929 * Makefile.in (MAKE_VERSION): bump version to 20101210
930 Merge with NetBSD make, pick up
931 o meta_oodate: track cwd per process, and only consider target
932 out-of-date if missing file is outside make's CWD.
933 Ignore files in /tmp/ etc.
934 o to ensure unit-tests results match, need to control LC_ALL
936 o fix for parsing bug in var.c
938 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
940 * Makefile.in (MAKE_VERSION): bump version to 20101126
941 Merge with NetBSD make, pick up
942 o if stale dependency is an IMPSRC, search via .PATH
943 o meta_oodate: if a referenced file is missing, target is
945 o meta_oodate: if a target uses .OODATE in its commands,
946 it (.OODATE) needs to be recomputed.
947 o keep a pointer to youngest child node, rather than just its
950 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
952 * Makefile.in (MAKE_VERSION): bump version to 20101101
954 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
956 * machine.sh: like os.sh,
957 allow for uname -p producing useless drivel
959 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
961 * boot-strap: document configure knobs for meta and filemon.
963 * Makefile.in (MAKE_VERSION): bump version to 20100911
964 Merge with NetBSD make, pick up
967 * make-bootstrap.sh.in: handle meta.c
968 * configure.in: add knobs for use_meta and filemon_h
969 also, look for dirname, str[e]sep and strlcpy
970 * util.c: add simple err[x] and warn[x]
972 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
974 * boot-strap (TOOL_DIFF): set this to ensure tests use
975 the same version of diff that configure tested
977 * Makefile.in (MAKE_VERSION): bump version to 20100808
978 Merge with NetBSD make, pick up
979 o in jobs mode, when we discover we cannot make something,
980 call PrintOnError before exit.
982 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
984 * Makefile.in (MAKE_VERSION): bump version to 20100806
985 Merge with NetBSD make, pick up
986 o formatting fixes for ignored errors
987 o ensure jobs are cleaned up regardless of where wait() was called.
989 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
991 * Makefile.in (MAKE_VERSION): bump version to 20100618
992 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
994 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
996 * Makefile.in (MAKE_VERSION): bump version to 20100616
997 Merge with NetBSD make, pick up
999 o call PrintOnError from JobFinish when we detect an error we
1002 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1004 * Makefile.in (MAKE_VERSION): bump version to 20100606
1005 Merge with NetBSD make, pick up
1008 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
1010 * Makefile.in (MAKE_VERSION): bump version to 20100605
1011 Merge with NetBSD make, pick up
1012 o use bmake_signal() which is a wrapper around sigaction()
1013 in place of signal()
1014 o add .export-env to allow exporting variables to environment
1015 without tracking (so no re-export when the internal value is
1018 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1020 * Makefile.in (MAKE_VERSION): bump version to 20100524
1021 Merge with NetBSD make, pick up
1022 o fix for .info et al being greedy.
1024 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
1026 * Makefile.in (MAKE_VERSION): bump version to 20100520
1027 Merge with NetBSD make, pick up
1028 o back to using realpath on argv[0]
1029 but only if contains '/' and does not start with '/'.
1031 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
1033 * boot-strap: use absolute path for bmake when running tests.
1035 * Makefile.in (MAKE_VERSION): bump version to 20100510
1036 Merge with NetBSD make, pick up
1037 o revert use of realpath on argv[0]
1038 too many corner cases.
1039 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1041 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1043 * Makefile.in (MAKE_VERSION): bump version to 20100505
1044 Merge with NetBSD make, pick up
1045 o fix for missed SIGCHLD when compiled with SunPRO
1046 actually for bmake, defining FORCE_POSIX_SIGNALS would have
1049 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
1051 * Makefile.in (MAKE_VERSION): bump version to 20100430
1052 Merge with NetBSD make, pick up
1053 o fflush stdout before writing to stdout
1055 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
1057 * Makefile.in (MAKE_VERSION): bump version to 20100423
1058 Merge with NetBSD make, pick up
1059 o updated unit tests for Haiku (this time for sure).
1060 * boot-strap: based on patch from joerg
1061 honor --with-default-sys-path better.
1062 * boot-strap: remove mention of --with-prefix-sys-path
1064 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
1066 * Makefile.in (MAKE_VERSION): bump version to 20100422
1067 * Merge with NetBSD make, pick up
1068 o fix for vfork() on Darwin.
1069 o fix for bogus $TMPDIR.
1070 o set .MAKE.MODE=compat for -B
1071 o set .MAKE.JOBS=max_jobs for -j max_jobs
1072 o allow unit-tests to run without any *.mk
1073 o unit-tests/modmisc be more conservative in dirs presumed to exist.
1074 * boot-strap: ignore /usr/share/mk except on NetBSD.
1075 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
1076 ensure sort(1) behaves as expected.
1078 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
1080 * boot-strap: add FindHereOrAbove so we can use -m .../mk
1082 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1084 * Makefile.in (MAKE_VERSION): bump version to 20100420
1085 * Merge with NetBSD make, pick up
1086 o fix for variable realpath() behavior.
1087 we have to stat(2) the result to be sure.
1088 o fix for .export (all) when nested vars use :sh
1090 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
1092 * Makefile.in (MAKE_VERSION): bump version to 20100414
1093 * Merge with NetBSD make, pick up
1094 o use realpath to resolve argv[0] (for .MAKE) if needed.
1095 o add realpath from libc.
1096 o add :tA to resolve variable via realpath(3) if possible.
1098 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
1100 * Makefile.in (MAKE_VERSION): bump version to 20100408
1101 * Merge with NetBSD make, pick up
1102 o unit tests for .ERROR, .error
1103 o fix for .ERROR to ensure it cannot be default target.
1105 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
1107 * Makefile.in (MAKE_VERSION): bump version to 20100406
1108 * Merge with NetBSD make, pick up
1109 o fix for compat mode "Error code" going to debug_file.
1110 o fix for .ALLSRC being populated twice.
1111 o support for .info, .warning and .error directives
1112 o .MAKE.MODE to control make's operational mode
1113 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1115 o .MAKE.DEPENDFILE to control the name of the depend file
1116 o .ERROR target - run on failure.
1118 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
1120 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1122 * os.sh,arch.c: patch for Haiku from joerg at netbsd
1124 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
1126 * Makefile.in (MAKE_VERSION): bump version to 20100222
1127 * Merge with NetBSD make, pick up
1128 o better error msg for .for with mutiple inter vars
1131 o use make-bootstrap.sh from joerg at netbsd
1132 to avoid the need for a native make when bootstrapping.
1133 o add "" everywhere ;-)
1134 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1135 otherwise the pre-formated version.
1137 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1139 * Makefile.in (MAKE_VERSION): bump version to 20100102
1140 * Merge with NetBSD make, pick up:
1143 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
1145 * Makefile.in (MAKE_VERSION): bump version to 20091118
1146 * Merge with NetBSD make, pick up:
1148 o report lines that start with '.' and should have ':'
1149 (catch typo's of .el*if).
1151 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1153 * configure.in: Ensure that srcdir and mksrc are absolute paths.
1155 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1157 * Makefile.in (MAKE_VERSION): fix version to 20091007
1159 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
1161 * Makefile.in (MAKE_VERSION): bump version to 200910007
1162 * Merge with NetBSD make, pick up:
1163 o fix for parsing of :S;...;...; applied to .for loop iterator
1164 appearing in a dependency line.
1166 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1168 * Makefile.in (MAKE_VERSION): bump version to 20090909
1169 * Merge with NetBSD make, pick up:
1170 o fix for -C, .CURDIR and .OBJDIR
1172 o allow share_dir to be set independent of prefix.
1173 o select default share_dir better when prefix ends in $HOST_TARGET
1174 o if FORCE_BSD_MK etc were set, include them in the suggested
1177 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1179 * Makefile.in (MAKE_VERSION): bump version to 20090908
1180 * Merge with NetBSD make, pick up:
1181 o .MAKE.LEVEL for recursion tracking
1182 o fix for :M scanning \:
1184 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1186 * configure.in: Don't -D__EXTENSIONS__ if
1187 AC_USE_SYSTEM_EXTENSIONS says "no".
1189 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
1191 * Makefile.in (MAKE_VERSION): bump version to 20090826
1192 Simplify MAKE_VERSION to just the bare date.
1193 * Merge with NetBSD make, pick up:
1194 o -C directory support.
1195 o support for SIGINFO
1196 o use $TMPDIR for temp files.
1197 o child of vfork should be careful about modifying parent's state.
1200 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1202 * Appy some patches for MiNT from David Brownlee
1204 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
1206 * Makefile.in (BMAKE_VERSION): bump version to 20090222
1207 * Merge with NetBSD make, pick up:
1208 o Possible null pointer de-ref in Var_Set.
1210 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
1212 * Makefile.in (BMAKE_VERSION): bump version to 20090204
1213 * Merge with NetBSD make, pick up:
1214 o bmake_malloc et al moved to their own .c
1215 o Count both () and {} when looking for the end of a :M pattern
1216 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1217 o strlist.c - functions for processing extendable arrays of pointers to strings.
1218 o ClientData replaced with void *, so const void * can be used.
1219 o New debug flag C for DEBUG_CWD
1221 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1223 * Makefile.in (BMAKE_VERSION): bump version to 20081111
1224 Apply patch from Joerg Sonnenberge to
1226 o remove some redundant checks
1227 o check for emlloc etc only in libutil and require the whole family.
1229 o remove [v]asprintf which is no longer used.
1231 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1233 * Makefile.in (BMAKE_VERSION): bump version to 20081101
1234 * Merge with NetBSD make, pick up:
1235 o util.c: avoid use of putenv() - christos
1237 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1239 * Makefile.in (BMAKE_VERSION): bump version to 20081030
1240 pick up man page tweaks.
1242 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
1244 * Makefile.in: move processing of LIBOBJS to after is definition!
1245 thus we'll have getenv.c in SRCS only if needed.
1247 * make.1: add examples of how to use :?
1249 * Makefile.in (BMAKE_VERSION): bump version to 20081029
1250 * Merge with NetBSD make, pick up:
1251 o fix for .END processing with -j
1252 o segfault from Parse_Error when no makefile is open
1253 o handle numeric expressions in any variable expansion
1254 o debug output now defaults to stderr, -dF to change it - apb
1255 o make now uses bmake_malloc etc so that it can build natively
1256 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1258 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
1260 * Makefile.in (BMAKE_VERSION): bump version to 20080808
1261 * Merge with NetBSD make, pick up:
1262 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1263 long lines in Makefiles
1264 o optimizations for VarQuote by joerg
1265 o fix for PR/38756: dominik: make dumps core on invalid makefile
1267 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
1269 * Makefile.in (BMAKE_VERSION): bump version to 20080515
1270 * Merge with NetBSD make, pick up:
1271 o fix skip setting vars in VAR_GLOBAL context, to handle
1272 cases where VAR_CMD is used for other than command line vars.
1274 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
1276 * boot-strap (make_version): we may need to look in
1277 $prefix/share/mk for sys.mk
1279 * Makefile.in (BMAKE_VERSION): bump version to 20080514
1280 * Merge with NetBSD make, pick up:
1281 o skip setting vars in VAR_GLOBAL context, when already set in
1282 VAR_CMD which takes precedence.
1284 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
1286 * Makefile.in (BMAKE_VERSION): bump version to 20080330
1287 * Merge with NetBSD make, pick up:
1288 o fix for ?= when LHS contains variable reference.
1290 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1292 * merge some patches from NetBSD pkgsrc.
1294 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1295 the MAKSYSPATH used during bootstrap.
1297 * Makefile.in (BMAKE_VERSION): bump version to 20080215
1298 * Merge with NetBSD make, pick up:
1299 o warn if non-space chars follow 'empty' in a conditional.
1301 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1303 * Makefile.in (BMAKE_VERSION): bump version to 20080118
1304 * Merge with NetBSD make, pick up:
1305 o consider dependencies read from .depend as optional - dsl
1306 o remember when buffer for reading makefile grows - dsl
1307 o add -dl (aka LOUD) - David O'Brien
1309 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
1311 * Makefile.in (BMAKE_VERSION): bump version to 20071022
1312 * Merge with NetBSD make, pick up:
1313 o Allow .PATH<suffix> to be used for .include ""
1315 * boot-strap: source default settings from .bmake-boot-strap.rc
1317 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
1319 * Makefile.in: fix maninstall on various systems
1320 provided that our man.mk is used.
1321 For non-BSD systems we install the preformatted page
1324 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
1326 * boot-strap: make bmake.1 too, so maninstall works.
1328 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1330 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1331 * Merge with NetBSD make, pick up:
1332 o revamped handling of defshell - configure no longer needs to
1333 know the content of the shells array - apb
1334 o stop Var_Subst modifying its input - apb
1335 o avoid calling ParseTrackInput too often - dsl
1337 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1339 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1340 * Merge with NetBSD make, pick up:
1341 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1343 * sigcompat.c: some tweaks for HP-UX 11.x based on
1344 patch from Tobias Nygren
1346 * configure.in: update handling of --with-defshell to match
1347 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1348 will now do what one might hope - provided the chosen shell
1349 behaves enough like sh.
1351 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1353 * Makefile.in (BMAKE_VERSION): bump to 20071008
1354 * Merge with NetBSD make, pick up:
1355 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1356 o .export/.MAKE.EXPORTED - export of variables - sjg
1357 o .MAKE.MAKEFILES - track all makefiles read - sjg
1358 o performance improvements - dsl
1359 o revamp parallel job scheduling - dsl
1361 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1363 * Makefile.in (BMAKE_VERSION): bump to 20060728
1364 * Merge with NetBSD make, pick up:
1365 o extra debug info during variable and cond processing - sjg
1366 o shell definition now covers newline - rillig
1367 o minor mem leak in PrintOnError - sjg
1369 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1371 * Makefile.in (BMAKE_VERSION): bump to 20060511
1372 * Merge with NetBSD make, pick up:
1373 o more memory leaks - coverity
1374 o possible overflow in ArchFindMember - coverity
1375 o extract variable modifier code out of Var_Parse()
1376 so it can be called recursively - sjg
1377 o unit-tests/moderrs - sjg
1379 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1381 * Makefile.in (BMAKE_VERSION): bump to 20060412
1382 * Merge with NetBSD make, pick up:
1383 o fixes for some memory leaks - coverity
1384 o only read first sys.mk etc when searching sysIncPath - sjg
1386 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1387 setting ${MAKEFILE} - OBATA Akio
1389 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1391 * Makefile.in (BMAKE_VERSION): bump to 20060318
1392 * Merge with NetBSD make, pick up:
1393 o cleanup of job.c to remove remote handling, distcc is more
1394 useful and this code was likely bit-rotting - dsl
1395 o fix for :P modifier - sjg
1396 * boot-strap: set default prefix to something reasonable
1399 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1401 * Makefile.in (BMAKE_VERSION): bump to 20060301
1402 * Merge with NetBSD make, pick up:
1403 o make .WAIT apply recursively, document and test case - apb
1404 o allow variable modifiers in a variable appear anywhere in
1405 modifier list, document and test case - sjg
1407 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1409 * Makefile.in (BMAKE_VERSION): bump to 20060222
1410 * Merge with NetBSD make, pick up:
1411 o improved job token handling - dsl
1412 o SIG_DFL the correct signal before exec - dsl
1413 o more debug info during parsing - dsl
1414 o allow variable modifiers to be specified via variable - sjg
1415 * boot-strap: explain why we died if no mksrc
1417 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1419 * Makefile.in (BMAKE_VERSION): bump to 20051105
1420 * configure.in: always set default_sys_path
1421 default is ${prefix}/share/mk
1422 - remove prefix_sys_path, anyone wanting more than above
1423 needs to set it manually.
1425 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1427 * boot-strap: make this a bit easier for pkgsrc folk.
1428 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1429 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1431 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1433 * Makefile.in (BMAKE_VERSION): bump to 20051102
1434 * job.c (JobFinish): fix likely ancient merge lossage
1435 fix from Todd Vierling.
1436 * boot-strap (srcdir): allow setting mksrc=none
1438 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1440 * Makefile.in (BMAKE_VERSION): bump to 20051031
1441 * ranlib.h: skip on OSF too.
1444 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1446 * Makefile.in (BMAKE_VERSION): bump to 20051002
1449 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1451 * Makefile.in (BMAKE_VERSION): bump to 20051001
1452 support for UnixWare and some other systems,
1453 based on patches from pkgsrc/bootstrap
1455 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1457 * Makefile.in (BMAKE_VERSION): bump to 20050901
1458 * Merge with NetBSD make, pick up:
1459 o possible parse error causing us to wander off.
1461 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1463 * Makefile.in (BMAKE_VERSION): bump to 20050606
1464 * Merge with NetBSD make, pick up:
1465 o :0x modifier for randomizing a list
1466 o fixes for a number of -Wuninitialized issues.
1468 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1470 * Makefile.in (BMAKE_VERSION): bump to 20050530
1471 * Merge with NetBSD make, pick up:
1472 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1474 * README: was seriously out of date.
1476 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1478 * Important to use .MAKE rather than MAKE.
1480 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1482 * Makefile.in (BMAKE_VERSION): bump to 20050315
1483 * Merge with NetBSD make, pick up:
1484 o don't mistake .elsefoo for .else
1485 o use suffix-specific search path correctly
1486 o bunch of style nits
1488 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1491 o ensure that args to --src and --with-mksrc
1492 are resolved before giving them to configure.
1493 o add -o "objdir" so that builder can control it,
1494 default is $OS as determined by os.sh
1495 o add -q to suppress all the install instructions.
1497 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1499 * Remove __IDSTRING()
1501 * Makefile.in (BMAKE_VERSION): bump to 20040508
1502 * Merge with NetBSD make, pick up:
1504 - remove '-e' from compat mode
1505 - add support for '+' command-line prefix.
1506 o fix for handling '--' on command-line.
1507 o fix include in lst.lib/lstInt.h to simplify '-I's
1508 o we also picked up replacement of MAKE_BOOTSTRAP
1509 with !MAKE_NATIVE which is a noop, but possibly confusing.
1511 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1513 * Makefile.in (BMAKE_VERSION): bump to 20040414
1514 * Merge with NetBSD make, pick up:
1515 o allow quoted strings on lhs of conditionals
1516 o issue warning when extra .else is seen
1517 o print line numer when errors encountered during parsing from
1520 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1522 * Makefile.in (BMAKE_VERSION): bump to 20040220
1523 * Merge with NetBSD make, pick up:
1524 o fix for old :M parsing bug.
1525 o re-jigged unit-tests
1527 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1529 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1530 so that './bmake -f Makefile test' works.
1532 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1534 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1535 * Merge with NetBSD make, pick up:
1536 o search upwards for *.mk
1537 o fix for double free of var substitution buffers
1538 o use of getopt replaced with custom code, since the usage
1539 (re-scanning) isn't posix compatible.
1541 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1543 * arch.c: don't include ranlib.h on ELF systems
1544 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1546 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1548 * Makefile.in (BMAKE_VERSION): bump to 20040118
1550 * boot-strap (while): export vars we assign to on cmdline
1551 * unit-test/Makefile.in: ternary is .PHONY
1553 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1555 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1556 * Merge with NetBSD make, pick up:
1557 o fix for ternary modifier
1559 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1561 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1562 * Merge with NetBSD make, pick up:
1563 o fix for cond.c to handle compound expressions better
1564 o variable expansion within sysV style replacements
1566 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1568 * Make portable snprintf safer - output to /dev/null first to
1571 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1572 * Merge with NetBSD make, pick up:
1573 o -dg3 to show input graph when things go wrong.
1574 o explicitly look for makefiles in objdir if not found in curdir so
1575 that errors in .depend etc will be reported accurarely.
1576 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1577 instead as it more accurately reflects the expected behavior and
1578 is more consistently implemented.
1579 o avoid use of asprintf.
1581 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1583 * util.c: Add asprintf and vasprintf.
1585 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1586 * Merge with NetBSD make, pick up:
1587 :[] modifier - allows picking words from a variable.
1588 :tW modifier - allows treating value as one big word.
1589 W flag for :C and :S - allows treating value as one big word.
1591 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1593 * Merge with NetBSD make
1594 pick up -de flag to enable printing failed command.
1595 don't skip 1st two dir entries (normally . and ..) since
1596 coda does not have them.
1598 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1600 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1601 * Merge with NetBSD make, pick up:
1602 - changes for -V '${VAR}' to print fully expanded value
1604 - CompatRunCommand now prints the command that failed.
1605 - several files got updated 3 clause Berkeley license.
1607 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1609 * boot-strap: Allow setting configure args on command line.
1611 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1613 * configure.in: add --with-defshell to allow sh or ksh
1614 to be selected as default shell.
1616 * Makefile.in: bump version to 20030731
1618 * Merge with NetBSD make
1619 Pick up .SHELL spec for ksh and associate man page changes.
1620 Also compat mode now uses the same shell specs.
1622 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1624 * var.c (Var_Parse): ensure delim is initialized.
1626 * unit-tests/Makefile.in: use single quotes to avoid problems from
1630 Run the unit-tests as part of the bootstrap procedure.
1632 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1634 * unit-tests/Makefile.in: always force complaints from
1635 ${TEST_MAKE} to be from 'make'.
1637 * configure.in: add check for 'diff -u'
1638 also fix some old autoconf'isms
1640 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1641 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1643 * Merge with NetBSD make
1644 Pick up fix for :ts parsing error in some cases.
1647 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1649 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1651 * var.c (Var_Parse): fix bug in :ts modifier, after const
1652 correctness fixes, must pass nstr to VarModify.
1654 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1656 * Makefile.in: BMAKE_VERSION switch to a date based version.
1657 We'll generally use the date of last import from NetBSD.
1659 * Merge with NetBSD make
1660 Pick up fixes for const-correctness, now passes WARNS=3 on
1662 Pick up :ts modifier, allows controlling the separator used
1663 between words in variable expansion.
1665 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1667 * FILES: include boot-strap and os.sh
1669 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1670 FreeBSD is known to be bad.
1672 * makefile.boot.in (bootstrap): make this the default target.
1674 * Makefile.in: bump version to 3.1.19
1676 * machine.sh: avoid A-Z with tr as it is bound to lose.
1678 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1680 * Merge with NetBSD make
1681 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1682 Plus some doc fixes.
1684 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1686 * Merge with NetBSD make
1687 Pick up fix for PR/1523 - don't count a library as built, if there
1688 is no way to build it
1690 * Bump version to 3.1.18
1692 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1694 * Merge with NetBSD make
1695 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1696 appears in src list.
1698 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1700 * Merge with NetBSD make (mmm 10th anniversary!)
1701 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1702 pick up -X which tells us to not export VAR=val via setenv if
1703 we are already doing so via MAKEFLAGS. This saves valuable env
1704 space on systems like Darwin.
1705 set MAKE_VERSION to 3.1.17
1707 * parse.c: pix up fix for suffix rules
1709 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1711 * Merge with NetBSD make.
1712 pick up fix for propagating -B via MAKEFLAGS.
1713 set MAKE_VERSION to 3.1.16
1715 * Apply some patches from pkgsrc-bootstrap/bmake
1716 Originally by Grant Beattie <grant@netbsd.org>
1717 I may have missed some - since they are based on bmake-3.1.12
1719 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1721 * makefile.boot.in (bmake): update install targets for those that
1722 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1723 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1725 * bmake.cat1: update the pre-formatted man page!
1727 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1729 * Merge with NetBSD make.
1730 pick up fix for premature free of pointer used in call
1732 set MAKE_VERSION to 3.1.15
1734 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1736 * configure.in: determine suitable value for MKSRC.
1737 override using --with-mksrc=PATH.
1739 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1740 configs(8) will use 'sun4' as an alias for 'sparc'.
1742 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1744 * Merge with NetBSD make.
1746 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1747 set MAKE_VERSION to 3.1.14
1748 add configure checks for killpg and sys/socket.h
1750 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1754 * makefile.boot.in (bmake): use install-mk
1755 Also setup ./mk before trying to invoke bmake.boot incase we
1756 needed install-mk to create a sys.mk for us.
1758 * configure.in: If we need to add -I${srcdir}/missing, make it an
1759 absolute path so that it works for lst.lib too.
1761 * make.h: always include sys/cdefs.h since we provide one if the
1764 * Makefile.in (install-mk):
1765 use MKSRC/install-mk which will do the right thing.
1766 use uname -p for ARCH if possible.
1767 since install-mk will setup links bsd.prog.mk -> prog.mk if
1768 needed, just .include bsd.prog.mk
1770 * Merge with NetBSD make (NetBSD-1.6)
1771 Code is ansi-C only now.
1772 Bug in handling of dotLast is fixed.
1773 Can now assign .OBJDIR and make will reset its notions of life.
1774 New modifiers :tu :tl for toUpper and toLower.
1776 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1778 * Merge with NetBSD make
1779 pick up fix for .END failure in compat mode.
1780 pick up fix for extra va_end() in ParseVErrorInternal.
1782 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1784 * configure.in: for systems that have sys/cdefs.h check if it is
1785 compatible. If not, include the one under missing, but tell it to
1786 include the native one too - necessary on Linux.
1788 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1789 include_next (for gcc) to get the native sys/cdefs.h
1791 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1793 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1794 leaking descriptors when using -jN.
1796 * job.c (JobPrintCommand): See if "curdir" exists before
1797 attempting to chdir(). Doing the chdir directly in make (when in
1798 compat mode) fails silently, so let the -jN version do the same.
1799 This can happen when building kernels in an object tree and
1800 playing clever games to reset .CURDIR.
1802 * Merged with NetBSD make
1805 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1807 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1809 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1811 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1812 us not to export the iterator variable when using VAR_CMD context.
1814 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1816 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1817 its the wrong "fix".
1819 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1821 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1822 We now simply append the variable names to .MAKEOVERRIDES, and
1823 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1824 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1825 Apart from fixing quoting bugs in previous version, this allows us
1826 to export vars to the environment by simply doing:
1827 .MAKEOVERRIDES+= PATH
1828 Merged again with NetBSD make, but the above is the only change.
1830 * configure.in: added
1831 --disable-pwd-override disable $PWD overriding getcwd()
1832 --disable-check-make-chdir disable make trying to guess
1833 when it should automatically cd ${.CURDIR}
1835 * Merge with NetBSD make, changes include:
1836 parse.c (ParseDoDependency): Spot that the syntax error is
1837 caused by an unresolved cvs/rcs conflict and say so.
1838 var.c: most of Var* functions now take a ctxt as 1st arg.
1839 now does variable substituion on rhs of sysv style modifiers.
1841 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1842 is now done here. We append the name='value' to .MAKEOVERRIDES
1843 rather than directly into MAKEFLAGS as this allows a Makefile to
1844 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
1845 very similar mechanism. Note that in adding name='value' to
1846 .MAKEOVERRIDES we do the moral equivalent of:
1847 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1849 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1851 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1853 * Merged with NetBSD make
1854 make -dx can now be used to run commands via sh -x
1855 better error messages on exec failures.
1857 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1859 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1860 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
1861 MACHINE etc otherwise they propagate from the previous bmake.
1863 * configure.in (machine): allow --with-machine=generic to make
1864 configure use machine.sh to set MACHINE.
1866 * job.c (JobInterrupt): convert to using WAIT_T and friends.
1868 * Makefile.in: mention in bmake.1 that we use autoconf.
1870 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1872 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1874 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1875 as that rather defeats the usefulness of ${MAKEFILE}.
1877 * main.c (MainParseArgs): append command line variable assignments
1878 to MAKEFLAGS so that they get propagated to child make's.
1879 Apparently this is required POSIX behaviour? Its useful anyway.
1881 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1883 * compat.c (CompatRunCommand): don't use perror() since stdio may
1884 cause problems in child of vfork().
1886 * compat.c, main.c: Call PrintOnError() when we are going to bail.
1887 This routine prints out the .curdir where we stopped and will also
1888 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1890 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
1893 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
1895 * Added RCSid's for the files we've touched.
1897 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1899 * configure.in: Thanks to some clues from mdb@juniper.net,
1900 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1901 as well as what ends up in _PATH_DEFSYSPATH. We now have:
1903 --with-machine=MACHINE explicitly set MACHINE
1904 --with-force-machine=MACHINE set FORCE_MACHINE
1905 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
1906 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
1907 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
1908 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
1910 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1912 * makefile: added a pathetically simple makefile to drive
1913 bootstrapping. Running configure by hand is more useful.
1915 * Makefile.in: added MAKE_VERSION, and reworked things to be less
1916 dependent on NetBSD bsd.*.mk
1918 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1919 _PATH_OBJDIRPREFIX for those that don't want a default.
1920 construct _PATH_DEFSYSPATH from the info we get from configure.
1922 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1923 if MAKE_VERSION is defined.
1925 * compat.c: when we bail, print out the .CURDIR we were in.
1927 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1929 * Merged with NetBSD make
1931 * var.c: fixed a bug in the handling of the modifier :P
1932 if the node as found but the path was null, we segfault trying to
1935 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1937 * Merged with NetBSD make
1939 * make.c: Make_OODate's test for a library out of date was using
1940 cmtime where it should have used mtime (my bug).
1942 * compat.c: Use perror() to tell us what really went wrong when we
1943 cannot exec a command.
1945 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1947 * Merged with NetBSD make
1949 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1951 * Merged with NetBSD make
1953 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1955 * Merged with NetBSD make
1957 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1959 * Merged with NetBSD make
1961 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1963 * util.c: don't provide signal() since we use sigcompat.c
1965 * Makefile.in: added a build target.
1967 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
1968 These allow some quite clever magic.
1970 * main.c (main): added support for getenv(MAKESYSPATH).
1972 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1974 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
1975 This avoids objdir having a different value depending on how a
1976 directory was reached (via command line, or subdir.mk).
1978 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
1980 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1982 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
1983 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
1984 I've been testing this in NetBSD's make for some weeks.
1986 * Turn Makefile into Makefile.in and make it useful.
1988 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1990 * Imported NetBSD's -current make(1) and resolve conflicts.
1992 * Applied autoconf patches from bmake v2
1994 * Imported clean code base from NetBSD-1.0