1 2017-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
3 * Makefile (_MAKE_VERSION): 20170711
4 forgot to update after merge on 20170708 ;-)
5 o main.c: refactor to reduce size of main function.
6 add -v option to always fully expand values.
7 o meta.c: ensure command output in meta file has ending newline
8 even when filemon not being used.
9 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
10 pathname via ':L' since any ':' in pathname breaks that.
11 Instead set a '${.p.}' to pathname in the target context and
14 2017-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
16 * Makefile (_MAKE_VERSION): 20170510
17 Merge with NetBSD make, pick up
18 o main.c: Main_SetObjdir: ensure buf2 is in scope
20 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
22 * Makefile (_MAKE_VERSION): 20170505
25 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
27 * parse.c: not everyone has stdint.h
29 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
31 * Makefile (_MAKE_VERSION): 20170501
34 2017-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
36 * Makefile (_MAKE_VERSION): 20170421
37 Merge with NetBSD make, pick up
38 o str.c: Str_Match: fix closure tests for [^] and add unit-test.
40 2017-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
42 * Makefile (_MAKE_VERSION): 20170420
43 Merge with NetBSD make, pick up
44 o main.c: only use -C arg "as is" if it contains no
47 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
49 * Makefile (_MAKE_VERSION): 20170418
50 Merge with NetBSD make, pick up
51 o main.c: fix Main_SetObjdir() for relative paths (eg obj).
53 2017-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
55 * Makefile (_MAKE_VERSION): 20170417
56 Merge with NetBSD make, pick up
57 o fixes a number of coverity complaints
58 - check return value of fseek, fcntl
59 - plug memory leak in Dir_FindFile, Var_LoopExpand,
60 JobPrintCommand, ParseTraditionalInclude
61 - use bmake_malloc() where NULL is not tollerated
62 - use MAKE_ATTR_UNUSED rather that kludges like
63 return(unused ? 0 : 0)
64 - use purge_cached_realpaths() rather than abuse cached_realpath()
66 2017-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
68 * Makefile (_MAKE_VERSION): 20170413
69 Merge with NetBSD make, pick up
70 o main.c: when setting .OBJDIR ignore '$' in paths.
72 * job.c: use MALLOC_OPTIONS to set malloc_options.
74 2017-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
76 * Makefile (_MAKE_VERSION): 20170411
77 Merge with NetBSD make, pick up
78 o str.c: Str_Match: allow [^a-z] to behave as expected.
80 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
82 * Makefile (_MAKE_VERSION): 20170326
83 Merge with NetBSD make, pick up
84 o main.c: purge relative paths from realpath cache when .OBJDIR
87 2017-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
89 * Makefile (_MAKE_VERSION): 20170311
90 Merge with NetBSD make, pick up
91 o main.c: only use -C arg "as is" if it starts with '/'.
93 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
95 * Makefile (_MAKE_VERSION): 20170301
96 Merge with NetBSD make, pick up
97 o main.c: use -C arg "as is" rather than getcwd()
98 if they identify the same directory.
99 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
101 2017-02-01 Simon J. Gerraty <sjg@bad.crufty.net>
103 * Makefile (_MAKE_VERSION): 20170201
104 Merge with NetBSD make, pick up
105 o var.c: allow :_=var and avoid use of special context.
107 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
109 * Makefile (_MAKE_VERSION): 20170130
110 Merge with NetBSD make, pick up
111 o var.c: add :range and :_
112 o main.c: partially initialize Dir_* before MainParseArgs()
114 If -V, skip Main_ExportMAKEFLAGS()
116 2017-01-14 Simon J. Gerraty <sjg@bad.crufty.net>
118 * Makefile (_MAKE_VERSION): 20170114
119 Merge with NetBSD make, pick up
120 o var.c: allow specifying the utc value used by :{gm,local}time
122 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
124 * Makefile (_MAKE_VERSION): 20161212
125 Merge with NetBSD make, pick up
126 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
128 2016-12-09 Simon J. Gerraty <sjg@bad.crufty.net>
130 * Makefile (_MAKE_VERSION): 20161209
131 Merge with NetBSD make, pick up
132 o main.c: cleanup setting of .OBJDIR
133 o parse.c: avoid coredump from (var)=val
135 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
137 * Makefile (_MAKE_VERSION): 20161126
138 Merge with NetBSD make, pick up
139 o make.c: Make_OODate: report src node name if path not set
141 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
143 * Makefile (_MAKE_VERSION): 20160926
144 Merge with NetBSD make, pick up
145 o support for .DELETE_ON_ERROR: (remove targets that fail)
147 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
149 * Makefile MAN: tweak .Dt to match ${PROG}
151 2016-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
153 * Makefile (_MAKE_VERSION): 20160818
154 its a neater number; pick up whitespace fixes to man page.
156 2016-08-17 Simon J. Gerraty <sjg@bad.crufty.net>
158 * Makefile (_MAKE_VERSION): 20160817
159 Merge with NetBSD make, pick up
160 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
161 so we can call it before adding entries to missingFiles.
162 Thus we do not track files we have been told to ignore.
164 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
166 * Makefile (_MAKE_VERSION): 20160815
167 Merge with NetBSD make, pick up
168 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
169 pathnames, and skip if the expansion is empty.
170 Useful for dirdeps.mk when checking DIRDEPS_CACHE.
172 2016-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
174 * Makefile (_MAKE_VERSION): 20160812
175 Merge with NetBSD make, pick up
176 o meta.c: remove all missingFiles entries that match a deleted
178 o main.c: set .ERROR_CMD if possible.
180 2016-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
182 * Makefile (_MAKE_VERSION): 20160606
183 Merge with NetBSD make, pick up
184 o dir.c: extend mtimes cache to others via cached_stat()
186 2016-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
188 * Makefile (_MAKE_VERSION): 20160604
189 Merge with NetBSD make, pick up
190 o meta.c: missing filemon data is only relevant if we read a
192 Also do not return oodate for a missing metafile if gn->path
195 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
197 * Makefile (_MAKE_VERSION): 20160602
198 Merge with NetBSD make, pick up
199 o cached_realpath(): avoid hitting filesystem more than necessary.
200 o meta.c: refactor need_meta decision, add knobs for
201 missing meta file and filemon data wrt out-of-datedness.
203 2016-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
205 * Makefile (_MAKE_VERSION): 20160528
207 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
209 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
211 * Makefile (_MAKE_VERSION): 20160512
212 Merge with NetBSD make, pick up
213 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
214 this is useful for gcov builds.
215 o propagate errors from filemon(4).
217 2016-05-09 Simon J. Gerraty <sjg@bad.crufty.net>
219 * Makefile (_MAKE_VERSION): 20160509
220 Merge with NetBSD make, pick up
221 o remove use of non-standard types u_int etc.
222 o meta.c: apply realpath() before matching against metaIgnorePaths
224 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
226 * Makefile (_MAKE_VERSION): 20160404
227 Merge with NetBSD make, pick up
228 o allow makefile to set .MAKE.JOBS
230 * Makefile (PROG_NAME): use ${_MAKE_VERSION}
232 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
234 * Makefile (_MAKE_VERSION): 20160315
235 Merge with NetBSD make, pick up
236 o fix handling of archive members
238 2016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
240 * Makefile (_MAKE_VERSION): rename variable to avoid interference
241 with checks for ${MAKE_VERSION}
243 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
245 * Makefile (MAKE_VERSION): 20160310
246 Merge with NetBSD make, pick up
247 o meta.c: treat missing Read file same as Write, incase we Delete it.
249 2016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
251 * Makefile (MAKE_VERSION): 20160307
252 Merge with NetBSD make, pick up
253 o var.c: fix :ts\nnn to be octal by default.
254 o meta.c: meta_finish() to cleanup memory.
256 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
258 * Makefile (MAKE_VERSION): 20160226
259 Merge with NetBSD make, pick up
260 o meta.c: allow meta file for makeDepend if makefiles want it.
262 2016-02-19 Simon J. Gerraty <sjg@bad.crufty.net>
264 * var.c: default .MAKE.SAVE_DOLLARS to FALSE
265 for backwards compatability.
267 * Makefile (MAKE_VERSION): 20160220
268 Merge with NetBSD make, pick up
269 o var.c: add knob to control handling of '$$' in :=
271 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
273 * Makefile (MAKE_VERSION): 20160218
274 Merge with NetBSD make, pick up
275 o var.c: add .export-literal allows us to fix sys.clean-env.mk
276 post the changes to Var_Subst.
277 Var_Subst now takes flags, and does not consume '$$' in :=
279 2016-02-17 Simon J. Gerraty <sjg@bad.crufty.net>
281 * Makefile (MAKE_VERSION): 20160217
282 Merge with NetBSD make, pick up
283 o var.c: preserve '$$' in :=
284 o parse.c: add .dinclude for handling included
285 makefile like .depend
287 2015-12-20 Simon J. Gerraty <sjg@bad.crufty.net>
289 * Makefile (MAKE_VERSION): 20151220
290 Merge with NetBSD make, pick up
291 o suff.c: re-initialize suffNull when clearing suffixes.
293 2015-12-01 Simon J. Gerraty <sjg@bad.crufty.net>
295 * Makefile (MAKE_VERSION): 20151201
296 Merge with NetBSD make, pick up
297 o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
298 o meta.c: meta_oodate: use lstat(2) for checking link target
299 in case it is a symlink.
300 o var.c: avoid calling brk_string and Var_Export1 with empty
303 2015-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
305 * Makefile (MAKE_VERSION): 20151126
306 Merge with NetBSD make, pick up
307 o parse.c: ParseTrackInput don't access beyond
310 2015-10-22 Simon J. Gerraty <sjg@bad.crufty.net>
312 * Makefile (MAKE_VERSION): 20151022
314 * Add support for BSD/OS which lacks inttypes.h
315 and really needs sys/param.h for sys/sysctl.h
316 also 'type' is not a shell builtin.
318 * var.c: eliminate uint32_t and need for inttypes.h
320 * main.c: PrintOnError flush stdout before run .ERROR
322 * parse.c: cope with _SC_PAGESIZE not being defined.
325 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
327 * Makefile (MAKE_VERSION): 20151020
328 Merge with NetBSD make, pick up
329 o var.c: fix uninitialized var
331 2015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
333 * var.c: the conditional expressions used with ':?' can be
334 expensive, if already discarding do not evaluate or expand
337 2015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
339 * Makefile (MAKE_VERSION): 20151010
340 Merge with NetBSD make, pick up
341 o Add Boolean wantit flag to Var_Subst and Var_Parse
342 when FALSE we know we are discarding the result and can
343 skip operations like Cmd_Exec.
345 2015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
347 * Makefile (MAKE_VERSION): 20151009
348 Merge with NetBSD make, pick up
349 o var.c: don't check for NULL before free()
350 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
352 2015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
354 * Makefile (MAKE_VERSION): 20150910
355 Merge with NetBSD make, pick up
356 o main.c: with -w print Enter/Leaving messages for objdir too
358 o centralize shell metachar handling
360 * FILES: add metachar.[ch]
362 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
364 * Makefile (MAKE_VERSION): 20150606
365 Merge with NetBSD make, pick up
366 o make.1: document .OBJDIR target
368 2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
370 * Makefile (MAKE_VERSION): 20150505
371 Merge with NetBSD make, pick up
372 o cond.c: be strict about lhs of comparison when evaluating .if
373 but less so when called from variable expansion.
374 o unit-tests/cond2.mk: test various error conditions
376 2015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
378 * machine.sh (MACHINE): Add Bitrig
379 patch from joerg@netbsd.org
381 2015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
383 * Makefile (MAKE_VERSION): 20150418
384 Merge with NetBSD make, pick up
385 o job.c: use memmove() rather than memcpy()
387 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
390 2015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
392 * Makefile (MAKE_VERSION): 20150411
393 bump version - only mk/ changes.
395 2015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
397 * Makefile (MAKE_VERSION): 20150410
398 Merge with NetBSD make, pick up
399 o document different handling of '-' in jobs mode vs compat
400 o fix jobs mode so that '-' only applies to whole job
401 when shell lacks hasErrCtl
402 o meta.c: use separate vars to track lcwd and latestdir (read)
405 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
407 * Makefile (MAKE_VERSION): 20150401
408 Merge with NetBSD make, pick up
409 o meta.c: close meta file in child
411 * Makefile: use BINDIR.bmake if set.
412 Same for MANDIR and SHAREDIR
413 Handy for testing release candidates
414 in various environments.
416 2015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
418 * move initialization of savederr to block where it is used
419 to avoid spurious warning from gcc5
421 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
423 * Makefile (MAKE_VERSION): 20141111
426 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
428 * Makefile (MAKE_VERSION): 20141105
429 Merge with NetBSD make, pick up
430 o revert major overhaul of suffix handling
431 and POSIX compliance - too much breakage
432 and impossible to make backwards compatible.
433 o we still have the new unit test structure which is ok.
434 o meta.c ensure "-- filemon" is at start of line.
436 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
438 * configure.in: test that result of getconf PATH_MAX is numeric
439 and discard if not. Apparently needed for Hurd.
441 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
443 * Makefile (MAKE_VERSION): 20140830
444 Merge with NetBSD make, pick up
445 o major overhaul of suffix handling
446 o improved POSIX compliance
447 o overhauled unit-tests
449 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
451 * Makefile (MAKE_VERSION): 20140620
452 Merge with NetBSD make, pick up
453 o var.c return varNoError rather than var_Error for ::= modifiers.
455 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
457 * Makefile (MAKE_VERSION): 20140522
458 Merge with NetBSD make, pick up
459 o var.c detect some parse errors.
461 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
463 * Fix spelling errors - patch from Pedro Giffuni
465 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
467 * Makefile (MAKE_VERSION): 20140214
468 Merge with NetBSD make, pick up
470 o use Var_Value to get MAKEOBJDIR[PREFIX]
471 o reduced realloc'ign in brk_string.
472 * configure.in: add a check for compiler supporting __func__
474 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
476 * boot-strap: ignore mksrc=none
478 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
480 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
482 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
484 * Makefile (MAKE_VERSION): 20140101
485 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
486 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
487 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
489 * configure.in: Add AC_PREREQ and check for
490 sysctl; patch from Andrew Shadura andrewsh at debian.org
492 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
494 * Makefile (MAKE_VERSION): 20131010
495 * lose the const from arg to systcl to avoid problems on older BSDs.
497 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
499 * Makefile (MAKE_VERSION): 20131001
500 Merge with NetBSD make, pick up
501 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
502 hw.machine_arch if necessary.
503 o meta.c: meta_oodate - need to look at src of Link and target
505 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
506 provide __arraycount() if needed.
508 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
510 * Makefile (MAKE_VERSION): 20130904
511 Merge with NetBSD make, pick up
512 o Add VAR_INTERNAL context, so that internal setting of
513 MAKEFILE does not override value set by makefiles.
515 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
517 * Makefile (MAKE_VERSION): 20130902
518 Merge with NetBSD make, pick up
519 o CompatRunCommand: only apply shellErrFlag when errCheck is true
521 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
523 * Makefile (MAKE_VERSION): 20130828
524 Merge with NetBSD make, pick up
525 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
526 o Call Job_SetPrefix() from Job_Init() so makefiles have
527 opportunity to set .MAKE.JOB.PREFIX
529 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
531 * Makefile (MAKE_VERSION): 20130730
532 Merge with NetBSD make, pick up
533 o Allow suppression of --- job -- tokens by setting
534 .MAKE.JOB.PREFIX empty.
536 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
538 * Makefile (MAKE_VERSION): 20130716
539 Merge with NetBSD make, pick up
540 o number of gmake compatibility tweaks
541 -w for gmake style entering/leaving messages
542 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
543 handle MAKEFLAGS containing only letters.
544 o when overriding a GLOBAL variable on the command line,
545 delete it from GLOBAL context so -V doesn't show the wrong
548 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
550 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
552 * Makefile (MAKE_VERSION): 20130706
553 Merge with NetBSD make, pick up
554 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
555 true so that CompatRunCommand() can use it, to ensure
556 consistent behavior with jobs mode.
557 o use MAKE_LEVEL_ENV to define the variable to propagate
558 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
559 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
562 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
564 * Makefile (MAKE_VERSION): 20130604
565 Merge with NetBSD make, pick up
566 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
567 to avoid leaking descriptors.
569 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
571 * Makefile (MAKE_VERSION): 20130528
572 Merge with NetBSD make, pick up
573 o var.c: cleanup some left-overs in VarHash()
575 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
577 * Makefile (MAKE_VERSION): 20130520
578 generate manifest from component FILES rather than have to
579 update FILES when mk/FILES changes.
581 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
583 * Makefile (MAKE_VERSION): 20130518
584 Merge with NetBSD make, pick up
585 o suff.c: don't skip all processsing for .PHONY targets
586 else wildcard srcs do not get expanded.
587 o var.c: expand name of variable to delete if necessary.
589 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
591 * Makefile (MAKE_VERSION): 20130330
592 Merge with NetBSD make, pick up
593 o meta.c: refine the handling of .OODATE in commands.
594 Rather than suppress command comparison for the entire script
595 as though .NOMETA_CMP had been used, only suppress it for the
597 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
598 suppress comparison of a command without otherwise affecting it.
599 o make.1: document that
601 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
603 * Makefile (MAKE_VERSION): 20130321
604 yes, not quite right but its a cooler number.
605 Merge with NetBSD make, pick up
606 o parse.c: fix ParseGmakeExport to be portable
608 * meta.c: call meta_init() before makefiles are read and if built
609 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
610 this let's makefiles test for support.
611 Call meta_mode_init() to process .MAKE.MODE.
613 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
615 * Makefile (MAKE_VERSION): 20130305
616 Merge with NetBSD make, pick up
617 o run .STALE: target when a dependency from .depend is missing.
618 o job.c: add Job_RunTarget() for the above and .BEGIN
620 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
622 * Makefile (MAKE_VERSION): 20130303
623 Merge with NetBSD make, pick up
624 o main.c: set .MAKE.OS to utsname.sysname
625 o job.c: more checks for read and poll errors
626 o var.c: lose VarChangeCase() saves 4% time
628 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
630 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
631 want to use MAKEOBJDIR
633 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
635 * Merge with NetBSD make, pick up
636 o make.1: more info on how shell commands are handled.
637 o job.c,main.c: detect write errors to job pipes.
639 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
641 * Makefile (MAKE_VERSION): 20130123
642 Merge with NetBSD make, pick up
643 o meta.c: if script uses .OODATE and meta_oodate() decides
644 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
645 o var.c: in debug output indicate which variabale modifiers
647 o remove Check_Cwd logic the makefiles have been fixed.
649 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
651 * makefile.in: add a simple makefile for folk who insist on
652 ./configure; make; make install
653 it just runs boot-strap
654 * include mk/* to accommodate the above
655 * boot-strap: re-work to accommodate the above
656 mksrc defaults to $Mydir/mk
657 allow op={configure,build,install,clean,all}
658 add options to facilitate install
659 * Makefile.config.in: just the bits set by configure
660 * Makefile: bump version to 20121212
661 abandon Makefile.in (NetBSD Makefile)
662 leverage mk/* instead
663 * configure.in: ensure srcdir is absolute
665 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
667 * Makefile.in (MAKE_VERSION): 20121111
668 fix generation of bmake.cat1
670 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
672 * Makefile.in (MAKE_VERSION): 20121109
673 Merge with NetBSD make, pick up
674 o make.c: MakeBuildChild: return 0 so search continues if a
675 .ORDER dependency is detected.
676 o unit-tests/order: test the above
678 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
680 * Makefile.in (MAKE_VERSION): 20121102
681 Merge with NetBSD make, pick up
682 o cond.c: allow cond_state[] to grow.
683 In meta mode with a very large tree, we can hit the limit
684 while processing dirdeps.
686 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
688 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
690 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
692 * Makefile.in (MAKE_VERSION): 20121010
693 o protect syntax that only bmake parses correctly.
694 o remove auto setting of FORCE_MACHINE, use configure's
695 --with-force-machine=whatever if that is desired.
697 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
699 * Makefile.in: do not lose history from make.1 when generating bmake.1
701 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
703 * Makefile.in (MAKE_VERSION): 20121007
704 Merge with NetBSD make, pick up
705 o compat.c: ignore empty commands - same as jobs mode.
706 o make.1: document meta chars that cause use of shell
708 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
710 * Makefile.in (MAKE_VERSION): bump version to 20120911
711 * bsd.after-import.mk: include Makefile.inc early and allow it to
714 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
716 * Makefile.in (MAKE_VERSION): bump version to 20120831
717 Merge with NetBSD make, pick up
718 o cast sizeof() to int for comparison
721 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
723 * Makefile.in (MAKE_VERSION): bump version to 20120830
724 Merge with NetBSD make, pick up
725 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
726 o debug flag -dV causes -V to show raw value regardless.
728 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
730 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
733 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
735 * Makefile.in (MAKE_VERSION): bump version to 20120704
736 Merge with NetBSD make, pick up
737 o Job_ParseShell should call Shell_Init if it has been
739 * Makefile.in: set USE_META based on configure result.
740 also .PARSEDIR is safer indicator of bmake.
742 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
744 * Makefile.in: bump version to 20120626
745 ensure CPPFLAGS is in CFLAGS
746 * meta.c: avoid nested externs
747 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
749 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
751 * Makefile.in (MAKE_VERSION): bump version to 20120620
752 Merge with NetBSD make, pick up
753 o make_malloc.c: avoid including make_malloc.h again
755 * Makefile.in: avoid bmake only syntax or protect with
756 .if defined(.MAKE.LEVEL)
757 * bsd.after-import.mk: replace .-include with .sinclude
758 ensure? SRCTOP gets a value
759 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
761 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
763 * Makefile.in (MAKE_VERSION): bump version to 20120612
764 Merge with NetBSD make, pick up
765 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
766 for greater portability.
767 o unit-tests/forloop: check that .for works as expected wrt
768 number of times and with "quoted strings".
770 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
772 * Makefile.in (MAKE_VERSION): bump version to 20120606
773 Merge with NetBSD make, pick up
774 o compat.c: use kill(2) rather than raise(3).
775 * configure.in: look for sys/dev/filemon
776 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
777 and pass BOOTSTRAP_XTRAS to boot-strap.
779 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
781 * Makefile.in (MAKE_VERSION): bump version to 20120604
782 Merge with NetBSD make, pick up
783 o util.c and var.c share same var for tracking if environ
784 has been reallocated.
785 o util.c provide getenv with setenv.
786 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
787 when the shell actively strips .MAKE.* from the environment.
788 We still refer to the variable always as .MAKE.LEVEL
789 * util.c fix bug in findenv() was finding prefix of name.
790 * compat.c: re-raising SIGINT etc after running .INTERRUPT
791 results in more reliable termination of all activity on many
794 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
796 * Makefile.in (MAKE_VERSION): bump version to 20120602
797 Merge with NetBSD make, pick up
798 o for.c: handle quoted items in .for list
800 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
802 * Makefile.in (MAKE_VERSION): bump version to 20120530
803 Merge with NetBSD make, pick up
804 o compat.c: ignore empty command.
806 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
808 * Makefile.in (MAKE_VERSION): bump version to 20120524
809 * FILES: add bsd.after-import.mk:
810 A simple means of integrating bmake into a BSD build system.
812 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
814 * Makefile.in (MAKE_VERSION): bump version to 20120520
815 Merge with NetBSD make, pick up
816 o increased limit for nested conditionals.
818 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
820 * Makefile.in (MAKE_VERSION): bump version to 20120518
821 Merge with NetBSD make, pick up
822 o use _exit(2) in signal hanlder
823 o Don't use the [dir] cache when building nodes that might have
824 changed since the last exec.
825 o Avoid nested extern declaration warnings.
827 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
829 * meta.c (fgetLine): avoid %z - not portable.
830 * parse.c: Since we moved include of sys/mman.h
831 and def's of MAP_COPY etc. we got dups from a merge.
833 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
835 * Makefile.in (MAKE_VERSION): bump version to 20120420
836 Merge with NetBSD make, pick up
837 o restore duplicate supression in .MAKE.MAKEFILES
838 runtime saving can be significant.
839 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
840 consumption up to 20%.
842 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
844 * Makefile.in (MAKE_VERSION): bump version to 20120420
845 Merge with NetBSD make, pick up
846 o remove duplicate supression in .MAKE.MAKEFILES
847 o improved dir cache behavior
848 o gmake'ish export command
850 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
852 * Makefile.in (MAKE_VERSION): bump version to 20120325
853 Merge with NetBSD make, pick up
854 o fix parsing of :[#] in conditionals.
856 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
858 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
859 since some systems cannot cope with .Nx <version>
861 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
863 * Makefile.in (MAKE_VERSION): bump version to 20111111
864 Merge with NetBSD make, pick up
865 o debug output for .PARSEDIR and .PARSEFILE
867 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
869 * Makefile.in (MAKE_VERSION): bump version to 20111010
871 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
873 * boot-strap: check for an expected file in the dirs we look for.
874 * make-bootstrap.sh: pass on LDSTATIC
876 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
878 * Makefile.in (MAKE_VERSION): bump version to 20111001
879 Merge with NetBSD make, pick up
880 o ensure .PREFIX is set for .PHONY
881 and .TARGET set for .PHONY run via .END
882 o __dead used consistently
884 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
886 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
888 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
890 * Makefile.in (MAKE_VERSION): bump version to 20110905
891 Merge with NetBSD make, pick up
892 o meta_oodate: ignore makeDependfile
894 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
896 * Makefile.in (MAKE_VERSION): bump version to 20110828
897 Merge with NetBSD make, pick up
898 o silent=yes in .MAKE.MODE causes meta mode to mark targets
899 as SILENT if a .meta file is created
901 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
903 * Makefile.in (MAKE_VERSION): bump version to 20110818
904 Merge with NetBSD make, pick up
905 o in meta mode, if target flagged .META a missing .meta file
906 means target is out-of-date
907 o fixes for gcc 4.5 warnings
908 o simplify job printing code
910 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
912 * Makefile.in (MAKE_VERSION): bump version to 20110808
913 Merge with NetBSD make, pick up
914 o do not touch OP_SPECIAL targets when doing make -t
916 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
918 * Makefile.in (MAKE_VERSION): bump version to 20110622
919 Merge with NetBSD make, pick up
920 o meta_oodate detect corrupted .meta file and declare oodate.
921 * configure.in: add check for setsid
923 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
925 * Merge with NetBSD make, pick up
926 o unit-tests/modts now works on MirBSD
928 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
930 * Makefile.in (MAKE_VERSION): bump version to 20110606
931 Merge with NetBSD make, pick up
932 o ApplyModifiers: when we parse a variable which is not
933 the entire modifier string, or not followed by ':', do not
934 consider it as containing modifiers.
935 o loadfile: ensure newline at end of mapped file.
937 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
939 * Makefile.in (MAKE_VERSION): bump version to 20110505
940 Merge with NetBSD make, pick up
941 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
942 of make's control. In meta mode, any generated file within
943 said bailiwick, which is found to be missing, causes current
944 target to be out-of-date.
946 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
948 * Makefile.in (MAKE_VERSION): bump version to 20110411
949 Merge with NetBSD make, pick up
950 o when long modifiers fail to match, check sysV style.
953 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
955 * Makefile.in (MAKE_VERSION): bump version to 20110410
956 Merge with NetBSD make, pick up
957 o :hash - cheap 32bit hash of value
958 o :localtime, :gmtime - use value as format string for strftime.
960 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
962 * Makefile.in (MAKE_VERSION): bump version to 20110330
963 mostly because its a cooler version.
964 Merge with NetBSD make, pick up
965 o NetBSD tags for meta.[ch]
966 o job.c call meta_job_finish() after meta_job_error().
967 o meta_job_error() should call meta_job_finish() to ensure
968 .meta file is closed, and safe to copy - if .ERROR target wants.
969 meta_job_finish() is safe to call repeatedly.
971 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
973 * unit-tests/modts: use printf if it is a builtin,
974 to save us from MirBSD
976 * Makefile.in (MAKE_VERSION): bump version to 20110329
977 Merge with NetBSD make, pick up
978 o fix for use after free() in CondDoExists().
979 o meta_oodate() report extra commands and return earlier.
981 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
983 * Makefile.in (MAKE_VERSION): bump version to 20110327
984 Merge with NetBSD make, pick up
985 o meta.c, if .MAKE.MODE contains curdirOk=yes
986 allow creating .meta files in .CURDIR
987 * boot-strap (TOOL_DIFF): aparently at least on linux distro
988 formats the output of 'type' differently - so eat any "()"
990 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
992 * Makefile.in (MAKE_VERSION): bump version to 20110306
993 Merge with NetBSD make, pick up
994 o meta.c, only do getcwd() once
996 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
998 * Makefile.in (MAKE_VERSION): bump version to 20110305
999 Merge with NetBSD make, pick up
1000 o correct sysV substitution handling of empty lhs and variable
1001 o correct exists() check for dir with trailing /
1002 o correct handling of modifiers for non-existant variables
1003 during evaluation of conditionals.
1004 o ensure MAP_FILE is defined.
1005 o meta.c use curdir[] now exported by main.c
1007 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
1009 * Makefile.in (MAKE_VERSION): bump version to 20110225
1010 Merge with NetBSD make, pick up
1011 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1012 makefiles have been read.
1013 o fix example of :? modifier in man page.
1015 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
1017 * Makefile.in (MAKE_VERSION): bump version to 20110214
1018 Merge with NetBSD make, pick up
1019 o meta.c handle realpath() failing when generating meta file
1022 * sigcompat.c: convert to ansi so we can use higher warning levels.
1025 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
1027 * Makefile.in (MAKE_VERSION): bump version to 20110207
1028 Merge with NetBSD make, pick up
1029 o fix for bug in meta mode.
1031 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
1033 * parse.c: SunOS 5.8 at least does not have MAP_FILE
1035 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
1037 * Makefile.in (MAKE_VERSION): bump version to 20110101
1038 Merge with NetBSD make, pick up
1039 o use mmap(2) if available, for reading makefiles
1041 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
1043 * Makefile.in (MAKE_VERSION): bump version to 20101215
1044 Merge with NetBSD make, pick up
1045 o ensure meta_job_error() does not report a previous .meta file
1048 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
1050 * Makefile.in (MAKE_VERSION): bump version to 20101210
1051 Merge with NetBSD make, pick up
1052 o meta_oodate: track cwd per process, and only consider target
1053 out-of-date if missing file is outside make's CWD.
1054 Ignore files in /tmp/ etc.
1055 o to ensure unit-tests results match, need to control LC_ALL
1057 o fix for parsing bug in var.c
1059 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
1061 * Makefile.in (MAKE_VERSION): bump version to 20101126
1062 Merge with NetBSD make, pick up
1063 o if stale dependency is an IMPSRC, search via .PATH
1064 o meta_oodate: if a referenced file is missing, target is
1066 o meta_oodate: if a target uses .OODATE in its commands,
1067 it (.OODATE) needs to be recomputed.
1068 o keep a pointer to youngest child node, rather than just its
1071 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
1073 * Makefile.in (MAKE_VERSION): bump version to 20101101
1075 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
1077 * machine.sh: like os.sh,
1078 allow for uname -p producing useless drivel
1080 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
1082 * boot-strap: document configure knobs for meta and filemon.
1084 * Makefile.in (MAKE_VERSION): bump version to 20100911
1085 Merge with NetBSD make, pick up
1086 o meta.c - meta mode
1088 * make-bootstrap.sh.in: handle meta.c
1089 * configure.in: add knobs for use_meta and filemon_h
1090 also, look for dirname, str[e]sep and strlcpy
1091 * util.c: add simple err[x] and warn[x]
1093 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1095 * boot-strap (TOOL_DIFF): set this to ensure tests use
1096 the same version of diff that configure tested
1098 * Makefile.in (MAKE_VERSION): bump version to 20100808
1099 Merge with NetBSD make, pick up
1100 o in jobs mode, when we discover we cannot make something,
1101 call PrintOnError before exit.
1103 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
1105 * Makefile.in (MAKE_VERSION): bump version to 20100806
1106 Merge with NetBSD make, pick up
1107 o formatting fixes for ignored errors
1108 o ensure jobs are cleaned up regardless of where wait() was called.
1110 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
1112 * Makefile.in (MAKE_VERSION): bump version to 20100618
1113 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1115 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
1117 * Makefile.in (MAKE_VERSION): bump version to 20100616
1118 Merge with NetBSD make, pick up
1120 o call PrintOnError from JobFinish when we detect an error we
1123 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1125 * Makefile.in (MAKE_VERSION): bump version to 20100606
1126 Merge with NetBSD make, pick up
1129 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
1131 * Makefile.in (MAKE_VERSION): bump version to 20100605
1132 Merge with NetBSD make, pick up
1133 o use bmake_signal() which is a wrapper around sigaction()
1134 in place of signal()
1135 o add .export-env to allow exporting variables to environment
1136 without tracking (so no re-export when the internal value is
1139 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1141 * Makefile.in (MAKE_VERSION): bump version to 20100524
1142 Merge with NetBSD make, pick up
1143 o fix for .info et al being greedy.
1145 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
1147 * Makefile.in (MAKE_VERSION): bump version to 20100520
1148 Merge with NetBSD make, pick up
1149 o back to using realpath on argv[0]
1150 but only if contains '/' and does not start with '/'.
1152 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
1154 * boot-strap: use absolute path for bmake when running tests.
1156 * Makefile.in (MAKE_VERSION): bump version to 20100510
1157 Merge with NetBSD make, pick up
1158 o revert use of realpath on argv[0]
1159 too many corner cases.
1160 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1162 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1164 * Makefile.in (MAKE_VERSION): bump version to 20100505
1165 Merge with NetBSD make, pick up
1166 o fix for missed SIGCHLD when compiled with SunPRO
1167 actually for bmake, defining FORCE_POSIX_SIGNALS would have
1170 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
1172 * Makefile.in (MAKE_VERSION): bump version to 20100430
1173 Merge with NetBSD make, pick up
1174 o fflush stdout before writing to stdout
1176 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
1178 * Makefile.in (MAKE_VERSION): bump version to 20100423
1179 Merge with NetBSD make, pick up
1180 o updated unit tests for Haiku (this time for sure).
1181 * boot-strap: based on patch from joerg
1182 honor --with-default-sys-path better.
1183 * boot-strap: remove mention of --with-prefix-sys-path
1185 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
1187 * Makefile.in (MAKE_VERSION): bump version to 20100422
1188 * Merge with NetBSD make, pick up
1189 o fix for vfork() on Darwin.
1190 o fix for bogus $TMPDIR.
1191 o set .MAKE.MODE=compat for -B
1192 o set .MAKE.JOBS=max_jobs for -j max_jobs
1193 o allow unit-tests to run without any *.mk
1194 o unit-tests/modmisc be more conservative in dirs presumed to exist.
1195 * boot-strap: ignore /usr/share/mk except on NetBSD.
1196 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
1197 ensure sort(1) behaves as expected.
1199 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
1201 * boot-strap: add FindHereOrAbove so we can use -m .../mk
1203 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1205 * Makefile.in (MAKE_VERSION): bump version to 20100420
1206 * Merge with NetBSD make, pick up
1207 o fix for variable realpath() behavior.
1208 we have to stat(2) the result to be sure.
1209 o fix for .export (all) when nested vars use :sh
1211 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
1213 * Makefile.in (MAKE_VERSION): bump version to 20100414
1214 * Merge with NetBSD make, pick up
1215 o use realpath to resolve argv[0] (for .MAKE) if needed.
1216 o add realpath from libc.
1217 o add :tA to resolve variable via realpath(3) if possible.
1219 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
1221 * Makefile.in (MAKE_VERSION): bump version to 20100408
1222 * Merge with NetBSD make, pick up
1223 o unit tests for .ERROR, .error
1224 o fix for .ERROR to ensure it cannot be default target.
1226 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
1228 * Makefile.in (MAKE_VERSION): bump version to 20100406
1229 * Merge with NetBSD make, pick up
1230 o fix for compat mode "Error code" going to debug_file.
1231 o fix for .ALLSRC being populated twice.
1232 o support for .info, .warning and .error directives
1233 o .MAKE.MODE to control make's operational mode
1234 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1236 o .MAKE.DEPENDFILE to control the name of the depend file
1237 o .ERROR target - run on failure.
1239 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
1241 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1243 * os.sh,arch.c: patch for Haiku from joerg at netbsd
1245 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
1247 * Makefile.in (MAKE_VERSION): bump version to 20100222
1248 * Merge with NetBSD make, pick up
1249 o better error msg for .for with mutiple inter vars
1252 o use make-bootstrap.sh from joerg at netbsd
1253 to avoid the need for a native make when bootstrapping.
1254 o add "" everywhere ;-)
1255 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1256 otherwise the pre-formated version.
1258 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1260 * Makefile.in (MAKE_VERSION): bump version to 20100102
1261 * Merge with NetBSD make, pick up:
1264 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
1266 * Makefile.in (MAKE_VERSION): bump version to 20091118
1267 * Merge with NetBSD make, pick up:
1269 o report lines that start with '.' and should have ':'
1270 (catch typo's of .el*if).
1272 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1274 * configure.in: Ensure that srcdir and mksrc are absolute paths.
1276 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1278 * Makefile.in (MAKE_VERSION): fix version to 20091007
1280 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
1282 * Makefile.in (MAKE_VERSION): bump version to 200910007
1283 * Merge with NetBSD make, pick up:
1284 o fix for parsing of :S;...;...; applied to .for loop iterator
1285 appearing in a dependency line.
1287 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1289 * Makefile.in (MAKE_VERSION): bump version to 20090909
1290 * Merge with NetBSD make, pick up:
1291 o fix for -C, .CURDIR and .OBJDIR
1293 o allow share_dir to be set independent of prefix.
1294 o select default share_dir better when prefix ends in $HOST_TARGET
1295 o if FORCE_BSD_MK etc were set, include them in the suggested
1298 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1300 * Makefile.in (MAKE_VERSION): bump version to 20090908
1301 * Merge with NetBSD make, pick up:
1302 o .MAKE.LEVEL for recursion tracking
1303 o fix for :M scanning \:
1305 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1307 * configure.in: Don't -D__EXTENSIONS__ if
1308 AC_USE_SYSTEM_EXTENSIONS says "no".
1310 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
1312 * Makefile.in (MAKE_VERSION): bump version to 20090826
1313 Simplify MAKE_VERSION to just the bare date.
1314 * Merge with NetBSD make, pick up:
1315 o -C directory support.
1316 o support for SIGINFO
1317 o use $TMPDIR for temp files.
1318 o child of vfork should be careful about modifying parent's state.
1321 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1323 * Appy some patches for MiNT from David Brownlee
1325 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
1327 * Makefile.in (BMAKE_VERSION): bump version to 20090222
1328 * Merge with NetBSD make, pick up:
1329 o Possible null pointer de-ref in Var_Set.
1331 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
1333 * Makefile.in (BMAKE_VERSION): bump version to 20090204
1334 * Merge with NetBSD make, pick up:
1335 o bmake_malloc et al moved to their own .c
1336 o Count both () and {} when looking for the end of a :M pattern
1337 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1338 o strlist.c - functions for processing extendable arrays of pointers to strings.
1339 o ClientData replaced with void *, so const void * can be used.
1340 o New debug flag C for DEBUG_CWD
1342 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1344 * Makefile.in (BMAKE_VERSION): bump version to 20081111
1345 Apply patch from Joerg Sonnenberge to
1347 o remove some redundant checks
1348 o check for emlloc etc only in libutil and require the whole family.
1350 o remove [v]asprintf which is no longer used.
1352 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1354 * Makefile.in (BMAKE_VERSION): bump version to 20081101
1355 * Merge with NetBSD make, pick up:
1356 o util.c: avoid use of putenv() - christos
1358 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1360 * Makefile.in (BMAKE_VERSION): bump version to 20081030
1361 pick up man page tweaks.
1363 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
1365 * Makefile.in: move processing of LIBOBJS to after is definition!
1366 thus we'll have getenv.c in SRCS only if needed.
1368 * make.1: add examples of how to use :?
1370 * Makefile.in (BMAKE_VERSION): bump version to 20081029
1371 * Merge with NetBSD make, pick up:
1372 o fix for .END processing with -j
1373 o segfault from Parse_Error when no makefile is open
1374 o handle numeric expressions in any variable expansion
1375 o debug output now defaults to stderr, -dF to change it - apb
1376 o make now uses bmake_malloc etc so that it can build natively
1377 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1379 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
1381 * Makefile.in (BMAKE_VERSION): bump version to 20080808
1382 * Merge with NetBSD make, pick up:
1383 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1384 long lines in Makefiles
1385 o optimizations for VarQuote by joerg
1386 o fix for PR/38756: dominik: make dumps core on invalid makefile
1388 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
1390 * Makefile.in (BMAKE_VERSION): bump version to 20080515
1391 * Merge with NetBSD make, pick up:
1392 o fix skip setting vars in VAR_GLOBAL context, to handle
1393 cases where VAR_CMD is used for other than command line vars.
1395 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
1397 * boot-strap (make_version): we may need to look in
1398 $prefix/share/mk for sys.mk
1400 * Makefile.in (BMAKE_VERSION): bump version to 20080514
1401 * Merge with NetBSD make, pick up:
1402 o skip setting vars in VAR_GLOBAL context, when already set in
1403 VAR_CMD which takes precedence.
1405 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
1407 * Makefile.in (BMAKE_VERSION): bump version to 20080330
1408 * Merge with NetBSD make, pick up:
1409 o fix for ?= when LHS contains variable reference.
1411 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1413 * merge some patches from NetBSD pkgsrc.
1415 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1416 the MAKSYSPATH used during bootstrap.
1418 * Makefile.in (BMAKE_VERSION): bump version to 20080215
1419 * Merge with NetBSD make, pick up:
1420 o warn if non-space chars follow 'empty' in a conditional.
1422 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1424 * Makefile.in (BMAKE_VERSION): bump version to 20080118
1425 * Merge with NetBSD make, pick up:
1426 o consider dependencies read from .depend as optional - dsl
1427 o remember when buffer for reading makefile grows - dsl
1428 o add -dl (aka LOUD) - David O'Brien
1430 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
1432 * Makefile.in (BMAKE_VERSION): bump version to 20071022
1433 * Merge with NetBSD make, pick up:
1434 o Allow .PATH<suffix> to be used for .include ""
1436 * boot-strap: source default settings from .bmake-boot-strap.rc
1438 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
1440 * Makefile.in: fix maninstall on various systems
1441 provided that our man.mk is used.
1442 For non-BSD systems we install the preformatted page
1445 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
1447 * boot-strap: make bmake.1 too, so maninstall works.
1449 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1451 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1452 * Merge with NetBSD make, pick up:
1453 o revamped handling of defshell - configure no longer needs to
1454 know the content of the shells array - apb
1455 o stop Var_Subst modifying its input - apb
1456 o avoid calling ParseTrackInput too often - dsl
1458 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1460 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1461 * Merge with NetBSD make, pick up:
1462 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1464 * sigcompat.c: some tweaks for HP-UX 11.x based on
1465 patch from Tobias Nygren
1467 * configure.in: update handling of --with-defshell to match
1468 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1469 will now do what one might hope - provided the chosen shell
1470 behaves enough like sh.
1472 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1474 * Makefile.in (BMAKE_VERSION): bump to 20071008
1475 * Merge with NetBSD make, pick up:
1476 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1477 o .export/.MAKE.EXPORTED - export of variables - sjg
1478 o .MAKE.MAKEFILES - track all makefiles read - sjg
1479 o performance improvements - dsl
1480 o revamp parallel job scheduling - dsl
1482 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1484 * Makefile.in (BMAKE_VERSION): bump to 20060728
1485 * Merge with NetBSD make, pick up:
1486 o extra debug info during variable and cond processing - sjg
1487 o shell definition now covers newline - rillig
1488 o minor mem leak in PrintOnError - sjg
1490 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1492 * Makefile.in (BMAKE_VERSION): bump to 20060511
1493 * Merge with NetBSD make, pick up:
1494 o more memory leaks - coverity
1495 o possible overflow in ArchFindMember - coverity
1496 o extract variable modifier code out of Var_Parse()
1497 so it can be called recursively - sjg
1498 o unit-tests/moderrs - sjg
1500 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1502 * Makefile.in (BMAKE_VERSION): bump to 20060412
1503 * Merge with NetBSD make, pick up:
1504 o fixes for some memory leaks - coverity
1505 o only read first sys.mk etc when searching sysIncPath - sjg
1507 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1508 setting ${MAKEFILE} - OBATA Akio
1510 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1512 * Makefile.in (BMAKE_VERSION): bump to 20060318
1513 * Merge with NetBSD make, pick up:
1514 o cleanup of job.c to remove remote handling, distcc is more
1515 useful and this code was likely bit-rotting - dsl
1516 o fix for :P modifier - sjg
1517 * boot-strap: set default prefix to something reasonable
1520 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1522 * Makefile.in (BMAKE_VERSION): bump to 20060301
1523 * Merge with NetBSD make, pick up:
1524 o make .WAIT apply recursively, document and test case - apb
1525 o allow variable modifiers in a variable appear anywhere in
1526 modifier list, document and test case - sjg
1528 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1530 * Makefile.in (BMAKE_VERSION): bump to 20060222
1531 * Merge with NetBSD make, pick up:
1532 o improved job token handling - dsl
1533 o SIG_DFL the correct signal before exec - dsl
1534 o more debug info during parsing - dsl
1535 o allow variable modifiers to be specified via variable - sjg
1536 * boot-strap: explain why we died if no mksrc
1538 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1540 * Makefile.in (BMAKE_VERSION): bump to 20051105
1541 * configure.in: always set default_sys_path
1542 default is ${prefix}/share/mk
1543 - remove prefix_sys_path, anyone wanting more than above
1544 needs to set it manually.
1546 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1548 * boot-strap: make this a bit easier for pkgsrc folk.
1549 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1550 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1552 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1554 * Makefile.in (BMAKE_VERSION): bump to 20051102
1555 * job.c (JobFinish): fix likely ancient merge lossage
1556 fix from Todd Vierling.
1557 * boot-strap (srcdir): allow setting mksrc=none
1559 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1561 * Makefile.in (BMAKE_VERSION): bump to 20051031
1562 * ranlib.h: skip on OSF too.
1565 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1567 * Makefile.in (BMAKE_VERSION): bump to 20051002
1570 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1572 * Makefile.in (BMAKE_VERSION): bump to 20051001
1573 support for UnixWare and some other systems,
1574 based on patches from pkgsrc/bootstrap
1576 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1578 * Makefile.in (BMAKE_VERSION): bump to 20050901
1579 * Merge with NetBSD make, pick up:
1580 o possible parse error causing us to wander off.
1582 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1584 * Makefile.in (BMAKE_VERSION): bump to 20050606
1585 * Merge with NetBSD make, pick up:
1586 o :0x modifier for randomizing a list
1587 o fixes for a number of -Wuninitialized issues.
1589 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1591 * Makefile.in (BMAKE_VERSION): bump to 20050530
1592 * Merge with NetBSD make, pick up:
1593 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1595 * README: was seriously out of date.
1597 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1599 * Important to use .MAKE rather than MAKE.
1601 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1603 * Makefile.in (BMAKE_VERSION): bump to 20050315
1604 * Merge with NetBSD make, pick up:
1605 o don't mistake .elsefoo for .else
1606 o use suffix-specific search path correctly
1607 o bunch of style nits
1609 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1612 o ensure that args to --src and --with-mksrc
1613 are resolved before giving them to configure.
1614 o add -o "objdir" so that builder can control it,
1615 default is $OS as determined by os.sh
1616 o add -q to suppress all the install instructions.
1618 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1620 * Remove __IDSTRING()
1622 * Makefile.in (BMAKE_VERSION): bump to 20040508
1623 * Merge with NetBSD make, pick up:
1625 - remove '-e' from compat mode
1626 - add support for '+' command-line prefix.
1627 o fix for handling '--' on command-line.
1628 o fix include in lst.lib/lstInt.h to simplify '-I's
1629 o we also picked up replacement of MAKE_BOOTSTRAP
1630 with !MAKE_NATIVE which is a noop, but possibly confusing.
1632 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1634 * Makefile.in (BMAKE_VERSION): bump to 20040414
1635 * Merge with NetBSD make, pick up:
1636 o allow quoted strings on lhs of conditionals
1637 o issue warning when extra .else is seen
1638 o print line numer when errors encountered during parsing from
1641 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1643 * Makefile.in (BMAKE_VERSION): bump to 20040220
1644 * Merge with NetBSD make, pick up:
1645 o fix for old :M parsing bug.
1646 o re-jigged unit-tests
1648 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1650 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1651 so that './bmake -f Makefile test' works.
1653 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1655 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1656 * Merge with NetBSD make, pick up:
1657 o search upwards for *.mk
1658 o fix for double free of var substitution buffers
1659 o use of getopt replaced with custom code, since the usage
1660 (re-scanning) isn't posix compatible.
1662 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1664 * arch.c: don't include ranlib.h on ELF systems
1665 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1667 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1669 * Makefile.in (BMAKE_VERSION): bump to 20040118
1671 * boot-strap (while): export vars we assign to on cmdline
1672 * unit-test/Makefile.in: ternary is .PHONY
1674 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1676 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1677 * Merge with NetBSD make, pick up:
1678 o fix for ternary modifier
1680 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1682 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1683 * Merge with NetBSD make, pick up:
1684 o fix for cond.c to handle compound expressions better
1685 o variable expansion within sysV style replacements
1687 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1689 * Make portable snprintf safer - output to /dev/null first to
1692 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1693 * Merge with NetBSD make, pick up:
1694 o -dg3 to show input graph when things go wrong.
1695 o explicitly look for makefiles in objdir if not found in curdir so
1696 that errors in .depend etc will be reported accurarely.
1697 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1698 instead as it more accurately reflects the expected behavior and
1699 is more consistently implemented.
1700 o avoid use of asprintf.
1702 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1704 * util.c: Add asprintf and vasprintf.
1706 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1707 * Merge with NetBSD make, pick up:
1708 :[] modifier - allows picking words from a variable.
1709 :tW modifier - allows treating value as one big word.
1710 W flag for :C and :S - allows treating value as one big word.
1712 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1714 * Merge with NetBSD make
1715 pick up -de flag to enable printing failed command.
1716 don't skip 1st two dir entries (normally . and ..) since
1717 coda does not have them.
1719 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1721 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1722 * Merge with NetBSD make, pick up:
1723 - changes for -V '${VAR}' to print fully expanded value
1725 - CompatRunCommand now prints the command that failed.
1726 - several files got updated 3 clause Berkeley license.
1728 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1730 * boot-strap: Allow setting configure args on command line.
1732 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1734 * configure.in: add --with-defshell to allow sh or ksh
1735 to be selected as default shell.
1737 * Makefile.in: bump version to 20030731
1739 * Merge with NetBSD make
1740 Pick up .SHELL spec for ksh and associate man page changes.
1741 Also compat mode now uses the same shell specs.
1743 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1745 * var.c (Var_Parse): ensure delim is initialized.
1747 * unit-tests/Makefile.in: use single quotes to avoid problems from
1751 Run the unit-tests as part of the bootstrap procedure.
1753 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1755 * unit-tests/Makefile.in: always force complaints from
1756 ${TEST_MAKE} to be from 'make'.
1758 * configure.in: add check for 'diff -u'
1759 also fix some old autoconf'isms
1761 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1762 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1764 * Merge with NetBSD make
1765 Pick up fix for :ts parsing error in some cases.
1768 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1770 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1772 * var.c (Var_Parse): fix bug in :ts modifier, after const
1773 correctness fixes, must pass nstr to VarModify.
1775 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1777 * Makefile.in: BMAKE_VERSION switch to a date based version.
1778 We'll generally use the date of last import from NetBSD.
1780 * Merge with NetBSD make
1781 Pick up fixes for const-correctness, now passes WARNS=3 on
1783 Pick up :ts modifier, allows controlling the separator used
1784 between words in variable expansion.
1786 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1788 * FILES: include boot-strap and os.sh
1790 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1791 FreeBSD is known to be bad.
1793 * makefile.boot.in (bootstrap): make this the default target.
1795 * Makefile.in: bump version to 3.1.19
1797 * machine.sh: avoid A-Z with tr as it is bound to lose.
1799 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1801 * Merge with NetBSD make
1802 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1803 Plus some doc fixes.
1805 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1807 * Merge with NetBSD make
1808 Pick up fix for PR/1523 - don't count a library as built, if there
1809 is no way to build it
1811 * Bump version to 3.1.18
1813 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1815 * Merge with NetBSD make
1816 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1817 appears in src list.
1819 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1821 * Merge with NetBSD make (mmm 10th anniversary!)
1822 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1823 pick up -X which tells us to not export VAR=val via setenv if
1824 we are already doing so via MAKEFLAGS. This saves valuable env
1825 space on systems like Darwin.
1826 set MAKE_VERSION to 3.1.17
1828 * parse.c: pix up fix for suffix rules
1830 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1832 * Merge with NetBSD make.
1833 pick up fix for propagating -B via MAKEFLAGS.
1834 set MAKE_VERSION to 3.1.16
1836 * Apply some patches from pkgsrc-bootstrap/bmake
1837 Originally by Grant Beattie <grant@netbsd.org>
1838 I may have missed some - since they are based on bmake-3.1.12
1840 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1842 * makefile.boot.in (bmake): update install targets for those that
1843 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1844 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1846 * bmake.cat1: update the pre-formatted man page!
1848 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1850 * Merge with NetBSD make.
1851 pick up fix for premature free of pointer used in call
1853 set MAKE_VERSION to 3.1.15
1855 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1857 * configure.in: determine suitable value for MKSRC.
1858 override using --with-mksrc=PATH.
1860 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1861 configs(8) will use 'sun4' as an alias for 'sparc'.
1863 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1865 * Merge with NetBSD make.
1867 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1868 set MAKE_VERSION to 3.1.14
1869 add configure checks for killpg and sys/socket.h
1871 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1875 * makefile.boot.in (bmake): use install-mk
1876 Also setup ./mk before trying to invoke bmake.boot incase we
1877 needed install-mk to create a sys.mk for us.
1879 * configure.in: If we need to add -I${srcdir}/missing, make it an
1880 absolute path so that it works for lst.lib too.
1882 * make.h: always include sys/cdefs.h since we provide one if the
1885 * Makefile.in (install-mk):
1886 use MKSRC/install-mk which will do the right thing.
1887 use uname -p for ARCH if possible.
1888 since install-mk will setup links bsd.prog.mk -> prog.mk if
1889 needed, just .include bsd.prog.mk
1891 * Merge with NetBSD make (NetBSD-1.6)
1892 Code is ansi-C only now.
1893 Bug in handling of dotLast is fixed.
1894 Can now assign .OBJDIR and make will reset its notions of life.
1895 New modifiers :tu :tl for toUpper and toLower.
1897 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1899 * Merge with NetBSD make
1900 pick up fix for .END failure in compat mode.
1901 pick up fix for extra va_end() in ParseVErrorInternal.
1903 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1905 * configure.in: for systems that have sys/cdefs.h check if it is
1906 compatible. If not, include the one under missing, but tell it to
1907 include the native one too - necessary on Linux.
1909 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1910 include_next (for gcc) to get the native sys/cdefs.h
1912 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1914 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1915 leaking descriptors when using -jN.
1917 * job.c (JobPrintCommand): See if "curdir" exists before
1918 attempting to chdir(). Doing the chdir directly in make (when in
1919 compat mode) fails silently, so let the -jN version do the same.
1920 This can happen when building kernels in an object tree and
1921 playing clever games to reset .CURDIR.
1923 * Merged with NetBSD make
1926 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1928 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1930 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1932 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1933 us not to export the iterator variable when using VAR_CMD context.
1935 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1937 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1938 its the wrong "fix".
1940 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1942 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1943 We now simply append the variable names to .MAKEOVERRIDES, and
1944 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1945 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1946 Apart from fixing quoting bugs in previous version, this allows us
1947 to export vars to the environment by simply doing:
1948 .MAKEOVERRIDES+= PATH
1949 Merged again with NetBSD make, but the above is the only change.
1951 * configure.in: added
1952 --disable-pwd-override disable $PWD overriding getcwd()
1953 --disable-check-make-chdir disable make trying to guess
1954 when it should automatically cd ${.CURDIR}
1956 * Merge with NetBSD make, changes include:
1957 parse.c (ParseDoDependency): Spot that the syntax error is
1958 caused by an unresolved cvs/rcs conflict and say so.
1959 var.c: most of Var* functions now take a ctxt as 1st arg.
1960 now does variable substituion on rhs of sysv style modifiers.
1962 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1963 is now done here. We append the name='value' to .MAKEOVERRIDES
1964 rather than directly into MAKEFLAGS as this allows a Makefile to
1965 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
1966 very similar mechanism. Note that in adding name='value' to
1967 .MAKEOVERRIDES we do the moral equivalent of:
1968 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1970 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1972 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1974 * Merged with NetBSD make
1975 make -dx can now be used to run commands via sh -x
1976 better error messages on exec failures.
1978 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1980 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1981 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
1982 MACHINE etc otherwise they propagate from the previous bmake.
1984 * configure.in (machine): allow --with-machine=generic to make
1985 configure use machine.sh to set MACHINE.
1987 * job.c (JobInterrupt): convert to using WAIT_T and friends.
1989 * Makefile.in: mention in bmake.1 that we use autoconf.
1991 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1993 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1995 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1996 as that rather defeats the usefulness of ${MAKEFILE}.
1998 * main.c (MainParseArgs): append command line variable assignments
1999 to MAKEFLAGS so that they get propagated to child make's.
2000 Apparently this is required POSIX behaviour? Its useful anyway.
2002 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2004 * compat.c (CompatRunCommand): don't use perror() since stdio may
2005 cause problems in child of vfork().
2007 * compat.c, main.c: Call PrintOnError() when we are going to bail.
2008 This routine prints out the .curdir where we stopped and will also
2009 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2011 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
2014 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
2016 * Added RCSid's for the files we've touched.
2018 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2020 * configure.in: Thanks to some clues from mdb@juniper.net,
2021 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2022 as well as what ends up in _PATH_DEFSYSPATH. We now have:
2024 --with-machine=MACHINE explicitly set MACHINE
2025 --with-force-machine=MACHINE set FORCE_MACHINE
2026 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
2027 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
2028 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
2029 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
2031 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2033 * makefile: added a pathetically simple makefile to drive
2034 bootstrapping. Running configure by hand is more useful.
2036 * Makefile.in: added MAKE_VERSION, and reworked things to be less
2037 dependent on NetBSD bsd.*.mk
2039 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2040 _PATH_OBJDIRPREFIX for those that don't want a default.
2041 construct _PATH_DEFSYSPATH from the info we get from configure.
2043 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2044 if MAKE_VERSION is defined.
2046 * compat.c: when we bail, print out the .CURDIR we were in.
2048 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2050 * Merged with NetBSD make
2052 * var.c: fixed a bug in the handling of the modifier :P
2053 if the node as found but the path was null, we segfault trying to
2056 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2058 * Merged with NetBSD make
2060 * make.c: Make_OODate's test for a library out of date was using
2061 cmtime where it should have used mtime (my bug).
2063 * compat.c: Use perror() to tell us what really went wrong when we
2064 cannot exec a command.
2066 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2068 * Merged with NetBSD make
2070 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2072 * Merged with NetBSD make
2074 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2076 * Merged with NetBSD make
2078 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2080 * Merged with NetBSD make
2082 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2084 * util.c: don't provide signal() since we use sigcompat.c
2086 * Makefile.in: added a build target.
2088 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2089 These allow some quite clever magic.
2091 * main.c (main): added support for getenv(MAKESYSPATH).
2093 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2095 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2096 This avoids objdir having a different value depending on how a
2097 directory was reached (via command line, or subdir.mk).
2099 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2101 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2103 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2104 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2105 I've been testing this in NetBSD's make for some weeks.
2107 * Turn Makefile into Makefile.in and make it useful.
2109 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2111 * Imported NetBSD's -current make(1) and resolve conflicts.
2113 * Applied autoconf patches from bmake v2
2115 * Imported clean code base from NetBSD-1.0