1 2018-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
4 Merge with NetBSD make, pick up
5 o job.c: skip polling job token pipe
7 2018-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
10 Merge with NetBSD make, pick up
11 o parse.c: be more cautious about detecting depenency line
12 rather than sysV style include.
14 2018-02-22 Simon J. Gerraty <sjg@bad.crufty.net>
17 Merge with NetBSD make, pick up
18 o parse.c: avoid calling sysconf for every call to loadfile
20 2018-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
23 Merge with NetBSD make, pick up
24 o var.c: Var_Set handle NULL value anytime.
26 2018-02-12 Simon J. Gerraty <sjg@bad.crufty.net>
29 Merge with NetBSD make, pick up
30 o parse.c: do not treat .info as warning with -W
32 2017-12-07 Simon J. Gerraty <sjg@bad.crufty.net>
35 Merge with NetBSD make, pick up
36 o var.c: Var_Append use Var_Set if var not previously set
37 so that VAR_CMD is handled correctly.
38 Add a suitable unit-test.
40 2017-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
42 * VERSION (_MAKE_VERSION): 20171126
44 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
45 since AC_TRY_COMPILE puts input inside main()
46 which upsets modern compilers.
48 2017-11-18 Simon J. Gerraty <sjg@bad.crufty.net>
51 Merge with NetBSD make, pick up
52 o var.c: do not append to variable set on command line
53 add unit-test to catch this.
55 2017-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
58 Merge with NetBSD make, pick up
59 o main.c: ignore empty MAKEOBJDIR
62 make @prefix@ @machine*@ and @default_sys_path@ defaults.
64 2017-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
68 * unit-tests/dotwait.mk: redirect stderr through pipe for more
69 consistent result on some platforms.
71 2017-08-13 Simon J. Gerraty <sjg@bad.crufty.net>
73 * machine.sh: entry for AIX
75 2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
77 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
78 to a file that can be included by configure as well as make.
79 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
81 2017-08-10 Simon J. Gerraty <sjg@bad.crufty.net>
83 * Makefile (_MAKE_VERSION): 20170810
84 Merge with NetBSD make, pick up
85 o meta.c: if target is in subdir we only need subdir name in
88 2017-07-20 Simon J. Gerraty <sjg@bad.crufty.net>
90 * Makefile (_MAKE_VERSION): 20170720
91 Merge with NetBSD make, pick up
92 o compat.c: pass SIGINT etc onto child and wait for it to exit
93 before we self-terminate.
95 2017-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
97 * Makefile (_MAKE_VERSION): 20170711
98 forgot to update after merge on 20170708 ;-)
99 o main.c: refactor to reduce size of main function.
100 add -v option to always fully expand values.
101 o meta.c: ensure command output in meta file has ending newline
102 even when filemon not being used.
103 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
104 pathname via ':L' since any ':' in pathname breaks that.
105 Instead set a '${.p.}' to pathname in the target context and
108 2017-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
110 * Makefile (_MAKE_VERSION): 20170510
111 Merge with NetBSD make, pick up
112 o main.c: Main_SetObjdir: ensure buf2 is in scope
114 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
116 * Makefile (_MAKE_VERSION): 20170505
119 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
121 * parse.c: not everyone has stdint.h
123 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
125 * Makefile (_MAKE_VERSION): 20170501
128 2017-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
130 * Makefile (_MAKE_VERSION): 20170421
131 Merge with NetBSD make, pick up
132 o str.c: Str_Match: fix closure tests for [^] and add unit-test.
134 2017-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
136 * Makefile (_MAKE_VERSION): 20170420
137 Merge with NetBSD make, pick up
138 o main.c: only use -C arg "as is" if it contains no
141 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
143 * Makefile (_MAKE_VERSION): 20170418
144 Merge with NetBSD make, pick up
145 o main.c: fix Main_SetObjdir() for relative paths (eg obj).
147 2017-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
149 * Makefile (_MAKE_VERSION): 20170417
150 Merge with NetBSD make, pick up
151 o fixes a number of coverity complaints
152 - check return value of fseek, fcntl
153 - plug memory leak in Dir_FindFile, Var_LoopExpand,
154 JobPrintCommand, ParseTraditionalInclude
155 - use bmake_malloc() where NULL is not tollerated
156 - use MAKE_ATTR_UNUSED rather that kludges like
157 return(unused ? 0 : 0)
158 - use purge_cached_realpaths() rather than abuse cached_realpath()
160 2017-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
162 * Makefile (_MAKE_VERSION): 20170413
163 Merge with NetBSD make, pick up
164 o main.c: when setting .OBJDIR ignore '$' in paths.
166 * job.c: use MALLOC_OPTIONS to set malloc_options.
168 2017-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
170 * Makefile (_MAKE_VERSION): 20170411
171 Merge with NetBSD make, pick up
172 o str.c: Str_Match: allow [^a-z] to behave as expected.
174 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
176 * Makefile (_MAKE_VERSION): 20170326
177 Merge with NetBSD make, pick up
178 o main.c: purge relative paths from realpath cache when .OBJDIR
181 2017-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
183 * Makefile (_MAKE_VERSION): 20170311
184 Merge with NetBSD make, pick up
185 o main.c: only use -C arg "as is" if it starts with '/'.
187 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
189 * Makefile (_MAKE_VERSION): 20170301
190 Merge with NetBSD make, pick up
191 o main.c: use -C arg "as is" rather than getcwd()
192 if they identify the same directory.
193 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
195 2017-02-01 Simon J. Gerraty <sjg@bad.crufty.net>
197 * Makefile (_MAKE_VERSION): 20170201
198 Merge with NetBSD make, pick up
199 o var.c: allow :_=var and avoid use of special context.
201 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
203 * Makefile (_MAKE_VERSION): 20170130
204 Merge with NetBSD make, pick up
205 o var.c: add :range and :_
206 o main.c: partially initialize Dir_* before MainParseArgs()
208 If -V, skip Main_ExportMAKEFLAGS()
210 2017-01-14 Simon J. Gerraty <sjg@bad.crufty.net>
212 * Makefile (_MAKE_VERSION): 20170114
213 Merge with NetBSD make, pick up
214 o var.c: allow specifying the utc value used by :{gm,local}time
216 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
218 * Makefile (_MAKE_VERSION): 20161212
219 Merge with NetBSD make, pick up
220 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
222 2016-12-09 Simon J. Gerraty <sjg@bad.crufty.net>
224 * Makefile (_MAKE_VERSION): 20161209
225 Merge with NetBSD make, pick up
226 o main.c: cleanup setting of .OBJDIR
227 o parse.c: avoid coredump from (var)=val
229 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
231 * Makefile (_MAKE_VERSION): 20161126
232 Merge with NetBSD make, pick up
233 o make.c: Make_OODate: report src node name if path not set
235 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
237 * Makefile (_MAKE_VERSION): 20160926
238 Merge with NetBSD make, pick up
239 o support for .DELETE_ON_ERROR: (remove targets that fail)
241 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
243 * Makefile MAN: tweak .Dt to match ${PROG}
245 2016-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
247 * Makefile (_MAKE_VERSION): 20160818
248 its a neater number; pick up whitespace fixes to man page.
250 2016-08-17 Simon J. Gerraty <sjg@bad.crufty.net>
252 * Makefile (_MAKE_VERSION): 20160817
253 Merge with NetBSD make, pick up
254 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
255 so we can call it before adding entries to missingFiles.
256 Thus we do not track files we have been told to ignore.
258 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
260 * Makefile (_MAKE_VERSION): 20160815
261 Merge with NetBSD make, pick up
262 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
263 pathnames, and skip if the expansion is empty.
264 Useful for dirdeps.mk when checking DIRDEPS_CACHE.
266 2016-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
268 * Makefile (_MAKE_VERSION): 20160812
269 Merge with NetBSD make, pick up
270 o meta.c: remove all missingFiles entries that match a deleted
272 o main.c: set .ERROR_CMD if possible.
274 2016-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
276 * Makefile (_MAKE_VERSION): 20160606
277 Merge with NetBSD make, pick up
278 o dir.c: extend mtimes cache to others via cached_stat()
280 2016-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
282 * Makefile (_MAKE_VERSION): 20160604
283 Merge with NetBSD make, pick up
284 o meta.c: missing filemon data is only relevant if we read a
286 Also do not return oodate for a missing metafile if gn->path
289 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
291 * Makefile (_MAKE_VERSION): 20160602
292 Merge with NetBSD make, pick up
293 o cached_realpath(): avoid hitting filesystem more than necessary.
294 o meta.c: refactor need_meta decision, add knobs for
295 missing meta file and filemon data wrt out-of-datedness.
297 2016-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
299 * Makefile (_MAKE_VERSION): 20160528
301 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
303 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
305 * Makefile (_MAKE_VERSION): 20160512
306 Merge with NetBSD make, pick up
307 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
308 this is useful for gcov builds.
309 o propagate errors from filemon(4).
311 2016-05-09 Simon J. Gerraty <sjg@bad.crufty.net>
313 * Makefile (_MAKE_VERSION): 20160509
314 Merge with NetBSD make, pick up
315 o remove use of non-standard types u_int etc.
316 o meta.c: apply realpath() before matching against metaIgnorePaths
318 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
320 * Makefile (_MAKE_VERSION): 20160404
321 Merge with NetBSD make, pick up
322 o allow makefile to set .MAKE.JOBS
324 * Makefile (PROG_NAME): use ${_MAKE_VERSION}
326 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
328 * Makefile (_MAKE_VERSION): 20160315
329 Merge with NetBSD make, pick up
330 o fix handling of archive members
332 2016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
334 * Makefile (_MAKE_VERSION): rename variable to avoid interference
335 with checks for ${MAKE_VERSION}
337 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
339 * Makefile (MAKE_VERSION): 20160310
340 Merge with NetBSD make, pick up
341 o meta.c: treat missing Read file same as Write, incase we Delete it.
343 2016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
345 * Makefile (MAKE_VERSION): 20160307
346 Merge with NetBSD make, pick up
347 o var.c: fix :ts\nnn to be octal by default.
348 o meta.c: meta_finish() to cleanup memory.
350 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
352 * Makefile (MAKE_VERSION): 20160226
353 Merge with NetBSD make, pick up
354 o meta.c: allow meta file for makeDepend if makefiles want it.
356 2016-02-19 Simon J. Gerraty <sjg@bad.crufty.net>
358 * var.c: default .MAKE.SAVE_DOLLARS to FALSE
359 for backwards compatability.
361 * Makefile (MAKE_VERSION): 20160220
362 Merge with NetBSD make, pick up
363 o var.c: add knob to control handling of '$$' in :=
365 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
367 * Makefile (MAKE_VERSION): 20160218
368 Merge with NetBSD make, pick up
369 o var.c: add .export-literal allows us to fix sys.clean-env.mk
370 post the changes to Var_Subst.
371 Var_Subst now takes flags, and does not consume '$$' in :=
373 2016-02-17 Simon J. Gerraty <sjg@bad.crufty.net>
375 * Makefile (MAKE_VERSION): 20160217
376 Merge with NetBSD make, pick up
377 o var.c: preserve '$$' in :=
378 o parse.c: add .dinclude for handling included
379 makefile like .depend
381 2015-12-20 Simon J. Gerraty <sjg@bad.crufty.net>
383 * Makefile (MAKE_VERSION): 20151220
384 Merge with NetBSD make, pick up
385 o suff.c: re-initialize suffNull when clearing suffixes.
387 2015-12-01 Simon J. Gerraty <sjg@bad.crufty.net>
389 * Makefile (MAKE_VERSION): 20151201
390 Merge with NetBSD make, pick up
391 o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
392 o meta.c: meta_oodate: use lstat(2) for checking link target
393 in case it is a symlink.
394 o var.c: avoid calling brk_string and Var_Export1 with empty
397 2015-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
399 * Makefile (MAKE_VERSION): 20151126
400 Merge with NetBSD make, pick up
401 o parse.c: ParseTrackInput don't access beyond
404 2015-10-22 Simon J. Gerraty <sjg@bad.crufty.net>
406 * Makefile (MAKE_VERSION): 20151022
408 * Add support for BSD/OS which lacks inttypes.h
409 and really needs sys/param.h for sys/sysctl.h
410 also 'type' is not a shell builtin.
412 * var.c: eliminate uint32_t and need for inttypes.h
414 * main.c: PrintOnError flush stdout before run .ERROR
416 * parse.c: cope with _SC_PAGESIZE not being defined.
419 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
421 * Makefile (MAKE_VERSION): 20151020
422 Merge with NetBSD make, pick up
423 o var.c: fix uninitialized var
425 2015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
427 * var.c: the conditional expressions used with ':?' can be
428 expensive, if already discarding do not evaluate or expand
431 2015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
433 * Makefile (MAKE_VERSION): 20151010
434 Merge with NetBSD make, pick up
435 o Add Boolean wantit flag to Var_Subst and Var_Parse
436 when FALSE we know we are discarding the result and can
437 skip operations like Cmd_Exec.
439 2015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
441 * Makefile (MAKE_VERSION): 20151009
442 Merge with NetBSD make, pick up
443 o var.c: don't check for NULL before free()
444 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
446 2015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
448 * Makefile (MAKE_VERSION): 20150910
449 Merge with NetBSD make, pick up
450 o main.c: with -w print Enter/Leaving messages for objdir too
452 o centralize shell metachar handling
454 * FILES: add metachar.[ch]
456 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
458 * Makefile (MAKE_VERSION): 20150606
459 Merge with NetBSD make, pick up
460 o make.1: document .OBJDIR target
462 2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
464 * Makefile (MAKE_VERSION): 20150505
465 Merge with NetBSD make, pick up
466 o cond.c: be strict about lhs of comparison when evaluating .if
467 but less so when called from variable expansion.
468 o unit-tests/cond2.mk: test various error conditions
470 2015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
472 * machine.sh (MACHINE): Add Bitrig
473 patch from joerg@netbsd.org
475 2015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
477 * Makefile (MAKE_VERSION): 20150418
478 Merge with NetBSD make, pick up
479 o job.c: use memmove() rather than memcpy()
481 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
484 2015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
486 * Makefile (MAKE_VERSION): 20150411
487 bump version - only mk/ changes.
489 2015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
491 * Makefile (MAKE_VERSION): 20150410
492 Merge with NetBSD make, pick up
493 o document different handling of '-' in jobs mode vs compat
494 o fix jobs mode so that '-' only applies to whole job
495 when shell lacks hasErrCtl
496 o meta.c: use separate vars to track lcwd and latestdir (read)
499 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
501 * Makefile (MAKE_VERSION): 20150401
502 Merge with NetBSD make, pick up
503 o meta.c: close meta file in child
505 * Makefile: use BINDIR.bmake if set.
506 Same for MANDIR and SHAREDIR
507 Handy for testing release candidates
508 in various environments.
510 2015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
512 * move initialization of savederr to block where it is used
513 to avoid spurious warning from gcc5
515 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
517 * Makefile (MAKE_VERSION): 20141111
520 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
522 * Makefile (MAKE_VERSION): 20141105
523 Merge with NetBSD make, pick up
524 o revert major overhaul of suffix handling
525 and POSIX compliance - too much breakage
526 and impossible to make backwards compatible.
527 o we still have the new unit test structure which is ok.
528 o meta.c ensure "-- filemon" is at start of line.
530 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
532 * configure.in: test that result of getconf PATH_MAX is numeric
533 and discard if not. Apparently needed for Hurd.
535 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
537 * Makefile (MAKE_VERSION): 20140830
538 Merge with NetBSD make, pick up
539 o major overhaul of suffix handling
540 o improved POSIX compliance
541 o overhauled unit-tests
543 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
545 * Makefile (MAKE_VERSION): 20140620
546 Merge with NetBSD make, pick up
547 o var.c return varNoError rather than var_Error for ::= modifiers.
549 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
551 * Makefile (MAKE_VERSION): 20140522
552 Merge with NetBSD make, pick up
553 o var.c detect some parse errors.
555 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
557 * Fix spelling errors - patch from Pedro Giffuni
559 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
561 * Makefile (MAKE_VERSION): 20140214
562 Merge with NetBSD make, pick up
564 o use Var_Value to get MAKEOBJDIR[PREFIX]
565 o reduced realloc'ign in brk_string.
566 * configure.in: add a check for compiler supporting __func__
568 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
570 * boot-strap: ignore mksrc=none
572 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
574 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
576 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
578 * Makefile (MAKE_VERSION): 20140101
579 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
580 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
581 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
583 * configure.in: Add AC_PREREQ and check for
584 sysctl; patch from Andrew Shadura andrewsh at debian.org
586 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
588 * Makefile (MAKE_VERSION): 20131010
589 * lose the const from arg to systcl to avoid problems on older BSDs.
591 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
593 * Makefile (MAKE_VERSION): 20131001
594 Merge with NetBSD make, pick up
595 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
596 hw.machine_arch if necessary.
597 o meta.c: meta_oodate - need to look at src of Link and target
599 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
600 provide __arraycount() if needed.
602 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
604 * Makefile (MAKE_VERSION): 20130904
605 Merge with NetBSD make, pick up
606 o Add VAR_INTERNAL context, so that internal setting of
607 MAKEFILE does not override value set by makefiles.
609 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
611 * Makefile (MAKE_VERSION): 20130902
612 Merge with NetBSD make, pick up
613 o CompatRunCommand: only apply shellErrFlag when errCheck is true
615 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
617 * Makefile (MAKE_VERSION): 20130828
618 Merge with NetBSD make, pick up
619 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
620 o Call Job_SetPrefix() from Job_Init() so makefiles have
621 opportunity to set .MAKE.JOB.PREFIX
623 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
625 * Makefile (MAKE_VERSION): 20130730
626 Merge with NetBSD make, pick up
627 o Allow suppression of --- job -- tokens by setting
628 .MAKE.JOB.PREFIX empty.
630 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
632 * Makefile (MAKE_VERSION): 20130716
633 Merge with NetBSD make, pick up
634 o number of gmake compatibility tweaks
635 -w for gmake style entering/leaving messages
636 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
637 handle MAKEFLAGS containing only letters.
638 o when overriding a GLOBAL variable on the command line,
639 delete it from GLOBAL context so -V doesn't show the wrong
642 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
644 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
646 * Makefile (MAKE_VERSION): 20130706
647 Merge with NetBSD make, pick up
648 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
649 true so that CompatRunCommand() can use it, to ensure
650 consistent behavior with jobs mode.
651 o use MAKE_LEVEL_ENV to define the variable to propagate
652 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
653 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
656 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
658 * Makefile (MAKE_VERSION): 20130604
659 Merge with NetBSD make, pick up
660 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
661 to avoid leaking descriptors.
663 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
665 * Makefile (MAKE_VERSION): 20130528
666 Merge with NetBSD make, pick up
667 o var.c: cleanup some left-overs in VarHash()
669 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
671 * Makefile (MAKE_VERSION): 20130520
672 generate manifest from component FILES rather than have to
673 update FILES when mk/FILES changes.
675 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
677 * Makefile (MAKE_VERSION): 20130518
678 Merge with NetBSD make, pick up
679 o suff.c: don't skip all processsing for .PHONY targets
680 else wildcard srcs do not get expanded.
681 o var.c: expand name of variable to delete if necessary.
683 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
685 * Makefile (MAKE_VERSION): 20130330
686 Merge with NetBSD make, pick up
687 o meta.c: refine the handling of .OODATE in commands.
688 Rather than suppress command comparison for the entire script
689 as though .NOMETA_CMP had been used, only suppress it for the
691 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
692 suppress comparison of a command without otherwise affecting it.
693 o make.1: document that
695 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
697 * Makefile (MAKE_VERSION): 20130321
698 yes, not quite right but its a cooler number.
699 Merge with NetBSD make, pick up
700 o parse.c: fix ParseGmakeExport to be portable
702 * meta.c: call meta_init() before makefiles are read and if built
703 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
704 this let's makefiles test for support.
705 Call meta_mode_init() to process .MAKE.MODE.
707 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
709 * Makefile (MAKE_VERSION): 20130305
710 Merge with NetBSD make, pick up
711 o run .STALE: target when a dependency from .depend is missing.
712 o job.c: add Job_RunTarget() for the above and .BEGIN
714 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
716 * Makefile (MAKE_VERSION): 20130303
717 Merge with NetBSD make, pick up
718 o main.c: set .MAKE.OS to utsname.sysname
719 o job.c: more checks for read and poll errors
720 o var.c: lose VarChangeCase() saves 4% time
722 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
724 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
725 want to use MAKEOBJDIR
727 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
729 * Merge with NetBSD make, pick up
730 o make.1: more info on how shell commands are handled.
731 o job.c,main.c: detect write errors to job pipes.
733 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
735 * Makefile (MAKE_VERSION): 20130123
736 Merge with NetBSD make, pick up
737 o meta.c: if script uses .OODATE and meta_oodate() decides
738 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
739 o var.c: in debug output indicate which variabale modifiers
741 o remove Check_Cwd logic the makefiles have been fixed.
743 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
745 * makefile.in: add a simple makefile for folk who insist on
746 ./configure; make; make install
747 it just runs boot-strap
748 * include mk/* to accommodate the above
749 * boot-strap: re-work to accommodate the above
750 mksrc defaults to $Mydir/mk
751 allow op={configure,build,install,clean,all}
752 add options to facilitate install
753 * Makefile.config.in: just the bits set by configure
754 * Makefile: bump version to 20121212
755 abandon Makefile.in (NetBSD Makefile)
756 leverage mk/* instead
757 * configure.in: ensure srcdir is absolute
759 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
761 * Makefile.in (MAKE_VERSION): 20121111
762 fix generation of bmake.cat1
764 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
766 * Makefile.in (MAKE_VERSION): 20121109
767 Merge with NetBSD make, pick up
768 o make.c: MakeBuildChild: return 0 so search continues if a
769 .ORDER dependency is detected.
770 o unit-tests/order: test the above
772 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
774 * Makefile.in (MAKE_VERSION): 20121102
775 Merge with NetBSD make, pick up
776 o cond.c: allow cond_state[] to grow.
777 In meta mode with a very large tree, we can hit the limit
778 while processing dirdeps.
780 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
782 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
784 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
786 * Makefile.in (MAKE_VERSION): 20121010
787 o protect syntax that only bmake parses correctly.
788 o remove auto setting of FORCE_MACHINE, use configure's
789 --with-force-machine=whatever if that is desired.
791 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
793 * Makefile.in: do not lose history from make.1 when generating bmake.1
795 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
797 * Makefile.in (MAKE_VERSION): 20121007
798 Merge with NetBSD make, pick up
799 o compat.c: ignore empty commands - same as jobs mode.
800 o make.1: document meta chars that cause use of shell
802 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
804 * Makefile.in (MAKE_VERSION): bump version to 20120911
805 * bsd.after-import.mk: include Makefile.inc early and allow it to
808 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
810 * Makefile.in (MAKE_VERSION): bump version to 20120831
811 Merge with NetBSD make, pick up
812 o cast sizeof() to int for comparison
815 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
817 * Makefile.in (MAKE_VERSION): bump version to 20120830
818 Merge with NetBSD make, pick up
819 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
820 o debug flag -dV causes -V to show raw value regardless.
822 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
824 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
827 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
829 * Makefile.in (MAKE_VERSION): bump version to 20120704
830 Merge with NetBSD make, pick up
831 o Job_ParseShell should call Shell_Init if it has been
833 * Makefile.in: set USE_META based on configure result.
834 also .PARSEDIR is safer indicator of bmake.
836 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
838 * Makefile.in: bump version to 20120626
839 ensure CPPFLAGS is in CFLAGS
840 * meta.c: avoid nested externs
841 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
843 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
845 * Makefile.in (MAKE_VERSION): bump version to 20120620
846 Merge with NetBSD make, pick up
847 o make_malloc.c: avoid including make_malloc.h again
849 * Makefile.in: avoid bmake only syntax or protect with
850 .if defined(.MAKE.LEVEL)
851 * bsd.after-import.mk: replace .-include with .sinclude
852 ensure? SRCTOP gets a value
853 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
855 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
857 * Makefile.in (MAKE_VERSION): bump version to 20120612
858 Merge with NetBSD make, pick up
859 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
860 for greater portability.
861 o unit-tests/forloop: check that .for works as expected wrt
862 number of times and with "quoted strings".
864 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
866 * Makefile.in (MAKE_VERSION): bump version to 20120606
867 Merge with NetBSD make, pick up
868 o compat.c: use kill(2) rather than raise(3).
869 * configure.in: look for sys/dev/filemon
870 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
871 and pass BOOTSTRAP_XTRAS to boot-strap.
873 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
875 * Makefile.in (MAKE_VERSION): bump version to 20120604
876 Merge with NetBSD make, pick up
877 o util.c and var.c share same var for tracking if environ
878 has been reallocated.
879 o util.c provide getenv with setenv.
880 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
881 when the shell actively strips .MAKE.* from the environment.
882 We still refer to the variable always as .MAKE.LEVEL
883 * util.c fix bug in findenv() was finding prefix of name.
884 * compat.c: re-raising SIGINT etc after running .INTERRUPT
885 results in more reliable termination of all activity on many
888 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
890 * Makefile.in (MAKE_VERSION): bump version to 20120602
891 Merge with NetBSD make, pick up
892 o for.c: handle quoted items in .for list
894 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
896 * Makefile.in (MAKE_VERSION): bump version to 20120530
897 Merge with NetBSD make, pick up
898 o compat.c: ignore empty command.
900 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
902 * Makefile.in (MAKE_VERSION): bump version to 20120524
903 * FILES: add bsd.after-import.mk:
904 A simple means of integrating bmake into a BSD build system.
906 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
908 * Makefile.in (MAKE_VERSION): bump version to 20120520
909 Merge with NetBSD make, pick up
910 o increased limit for nested conditionals.
912 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
914 * Makefile.in (MAKE_VERSION): bump version to 20120518
915 Merge with NetBSD make, pick up
916 o use _exit(2) in signal hanlder
917 o Don't use the [dir] cache when building nodes that might have
918 changed since the last exec.
919 o Avoid nested extern declaration warnings.
921 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
923 * meta.c (fgetLine): avoid %z - not portable.
924 * parse.c: Since we moved include of sys/mman.h
925 and def's of MAP_COPY etc. we got dups from a merge.
927 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
929 * Makefile.in (MAKE_VERSION): bump version to 20120420
930 Merge with NetBSD make, pick up
931 o restore duplicate supression in .MAKE.MAKEFILES
932 runtime saving can be significant.
933 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
934 consumption up to 20%.
936 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
938 * Makefile.in (MAKE_VERSION): bump version to 20120420
939 Merge with NetBSD make, pick up
940 o remove duplicate supression in .MAKE.MAKEFILES
941 o improved dir cache behavior
942 o gmake'ish export command
944 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
946 * Makefile.in (MAKE_VERSION): bump version to 20120325
947 Merge with NetBSD make, pick up
948 o fix parsing of :[#] in conditionals.
950 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
952 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
953 since some systems cannot cope with .Nx <version>
955 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
957 * Makefile.in (MAKE_VERSION): bump version to 20111111
958 Merge with NetBSD make, pick up
959 o debug output for .PARSEDIR and .PARSEFILE
961 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
963 * Makefile.in (MAKE_VERSION): bump version to 20111010
965 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
967 * boot-strap: check for an expected file in the dirs we look for.
968 * make-bootstrap.sh: pass on LDSTATIC
970 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
972 * Makefile.in (MAKE_VERSION): bump version to 20111001
973 Merge with NetBSD make, pick up
974 o ensure .PREFIX is set for .PHONY
975 and .TARGET set for .PHONY run via .END
976 o __dead used consistently
978 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
980 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
982 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
984 * Makefile.in (MAKE_VERSION): bump version to 20110905
985 Merge with NetBSD make, pick up
986 o meta_oodate: ignore makeDependfile
988 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
990 * Makefile.in (MAKE_VERSION): bump version to 20110828
991 Merge with NetBSD make, pick up
992 o silent=yes in .MAKE.MODE causes meta mode to mark targets
993 as SILENT if a .meta file is created
995 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
997 * Makefile.in (MAKE_VERSION): bump version to 20110818
998 Merge with NetBSD make, pick up
999 o in meta mode, if target flagged .META a missing .meta file
1000 means target is out-of-date
1001 o fixes for gcc 4.5 warnings
1002 o simplify job printing code
1004 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
1006 * Makefile.in (MAKE_VERSION): bump version to 20110808
1007 Merge with NetBSD make, pick up
1008 o do not touch OP_SPECIAL targets when doing make -t
1010 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
1012 * Makefile.in (MAKE_VERSION): bump version to 20110622
1013 Merge with NetBSD make, pick up
1014 o meta_oodate detect corrupted .meta file and declare oodate.
1015 * configure.in: add check for setsid
1017 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
1019 * Merge with NetBSD make, pick up
1020 o unit-tests/modts now works on MirBSD
1022 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1024 * Makefile.in (MAKE_VERSION): bump version to 20110606
1025 Merge with NetBSD make, pick up
1026 o ApplyModifiers: when we parse a variable which is not
1027 the entire modifier string, or not followed by ':', do not
1028 consider it as containing modifiers.
1029 o loadfile: ensure newline at end of mapped file.
1031 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1033 * Makefile.in (MAKE_VERSION): bump version to 20110505
1034 Merge with NetBSD make, pick up
1035 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
1036 of make's control. In meta mode, any generated file within
1037 said bailiwick, which is found to be missing, causes current
1038 target to be out-of-date.
1040 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
1042 * Makefile.in (MAKE_VERSION): bump version to 20110411
1043 Merge with NetBSD make, pick up
1044 o when long modifiers fail to match, check sysV style.
1047 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
1049 * Makefile.in (MAKE_VERSION): bump version to 20110410
1050 Merge with NetBSD make, pick up
1051 o :hash - cheap 32bit hash of value
1052 o :localtime, :gmtime - use value as format string for strftime.
1054 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1056 * Makefile.in (MAKE_VERSION): bump version to 20110330
1057 mostly because its a cooler version.
1058 Merge with NetBSD make, pick up
1059 o NetBSD tags for meta.[ch]
1060 o job.c call meta_job_finish() after meta_job_error().
1061 o meta_job_error() should call meta_job_finish() to ensure
1062 .meta file is closed, and safe to copy - if .ERROR target wants.
1063 meta_job_finish() is safe to call repeatedly.
1065 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
1067 * unit-tests/modts: use printf if it is a builtin,
1068 to save us from MirBSD
1070 * Makefile.in (MAKE_VERSION): bump version to 20110329
1071 Merge with NetBSD make, pick up
1072 o fix for use after free() in CondDoExists().
1073 o meta_oodate() report extra commands and return earlier.
1075 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
1077 * Makefile.in (MAKE_VERSION): bump version to 20110327
1078 Merge with NetBSD make, pick up
1079 o meta.c, if .MAKE.MODE contains curdirOk=yes
1080 allow creating .meta files in .CURDIR
1081 * boot-strap (TOOL_DIFF): aparently at least on linux distro
1082 formats the output of 'type' differently - so eat any "()"
1084 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
1086 * Makefile.in (MAKE_VERSION): bump version to 20110306
1087 Merge with NetBSD make, pick up
1088 o meta.c, only do getcwd() once
1090 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
1092 * Makefile.in (MAKE_VERSION): bump version to 20110305
1093 Merge with NetBSD make, pick up
1094 o correct sysV substitution handling of empty lhs and variable
1095 o correct exists() check for dir with trailing /
1096 o correct handling of modifiers for non-existant variables
1097 during evaluation of conditionals.
1098 o ensure MAP_FILE is defined.
1099 o meta.c use curdir[] now exported by main.c
1101 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
1103 * Makefile.in (MAKE_VERSION): bump version to 20110225
1104 Merge with NetBSD make, pick up
1105 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1106 makefiles have been read.
1107 o fix example of :? modifier in man page.
1109 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
1111 * Makefile.in (MAKE_VERSION): bump version to 20110214
1112 Merge with NetBSD make, pick up
1113 o meta.c handle realpath() failing when generating meta file
1116 * sigcompat.c: convert to ansi so we can use higher warning levels.
1119 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
1121 * Makefile.in (MAKE_VERSION): bump version to 20110207
1122 Merge with NetBSD make, pick up
1123 o fix for bug in meta mode.
1125 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
1127 * parse.c: SunOS 5.8 at least does not have MAP_FILE
1129 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
1131 * Makefile.in (MAKE_VERSION): bump version to 20110101
1132 Merge with NetBSD make, pick up
1133 o use mmap(2) if available, for reading makefiles
1135 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
1137 * Makefile.in (MAKE_VERSION): bump version to 20101215
1138 Merge with NetBSD make, pick up
1139 o ensure meta_job_error() does not report a previous .meta file
1142 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
1144 * Makefile.in (MAKE_VERSION): bump version to 20101210
1145 Merge with NetBSD make, pick up
1146 o meta_oodate: track cwd per process, and only consider target
1147 out-of-date if missing file is outside make's CWD.
1148 Ignore files in /tmp/ etc.
1149 o to ensure unit-tests results match, need to control LC_ALL
1151 o fix for parsing bug in var.c
1153 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
1155 * Makefile.in (MAKE_VERSION): bump version to 20101126
1156 Merge with NetBSD make, pick up
1157 o if stale dependency is an IMPSRC, search via .PATH
1158 o meta_oodate: if a referenced file is missing, target is
1160 o meta_oodate: if a target uses .OODATE in its commands,
1161 it (.OODATE) needs to be recomputed.
1162 o keep a pointer to youngest child node, rather than just its
1165 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
1167 * Makefile.in (MAKE_VERSION): bump version to 20101101
1169 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
1171 * machine.sh: like os.sh,
1172 allow for uname -p producing useless drivel
1174 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
1176 * boot-strap: document configure knobs for meta and filemon.
1178 * Makefile.in (MAKE_VERSION): bump version to 20100911
1179 Merge with NetBSD make, pick up
1180 o meta.c - meta mode
1182 * make-bootstrap.sh.in: handle meta.c
1183 * configure.in: add knobs for use_meta and filemon_h
1184 also, look for dirname, str[e]sep and strlcpy
1185 * util.c: add simple err[x] and warn[x]
1187 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1189 * boot-strap (TOOL_DIFF): set this to ensure tests use
1190 the same version of diff that configure tested
1192 * Makefile.in (MAKE_VERSION): bump version to 20100808
1193 Merge with NetBSD make, pick up
1194 o in jobs mode, when we discover we cannot make something,
1195 call PrintOnError before exit.
1197 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
1199 * Makefile.in (MAKE_VERSION): bump version to 20100806
1200 Merge with NetBSD make, pick up
1201 o formatting fixes for ignored errors
1202 o ensure jobs are cleaned up regardless of where wait() was called.
1204 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
1206 * Makefile.in (MAKE_VERSION): bump version to 20100618
1207 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1209 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
1211 * Makefile.in (MAKE_VERSION): bump version to 20100616
1212 Merge with NetBSD make, pick up
1214 o call PrintOnError from JobFinish when we detect an error we
1217 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1219 * Makefile.in (MAKE_VERSION): bump version to 20100606
1220 Merge with NetBSD make, pick up
1223 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
1225 * Makefile.in (MAKE_VERSION): bump version to 20100605
1226 Merge with NetBSD make, pick up
1227 o use bmake_signal() which is a wrapper around sigaction()
1228 in place of signal()
1229 o add .export-env to allow exporting variables to environment
1230 without tracking (so no re-export when the internal value is
1233 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1235 * Makefile.in (MAKE_VERSION): bump version to 20100524
1236 Merge with NetBSD make, pick up
1237 o fix for .info et al being greedy.
1239 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
1241 * Makefile.in (MAKE_VERSION): bump version to 20100520
1242 Merge with NetBSD make, pick up
1243 o back to using realpath on argv[0]
1244 but only if contains '/' and does not start with '/'.
1246 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
1248 * boot-strap: use absolute path for bmake when running tests.
1250 * Makefile.in (MAKE_VERSION): bump version to 20100510
1251 Merge with NetBSD make, pick up
1252 o revert use of realpath on argv[0]
1253 too many corner cases.
1254 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1256 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1258 * Makefile.in (MAKE_VERSION): bump version to 20100505
1259 Merge with NetBSD make, pick up
1260 o fix for missed SIGCHLD when compiled with SunPRO
1261 actually for bmake, defining FORCE_POSIX_SIGNALS would have
1264 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
1266 * Makefile.in (MAKE_VERSION): bump version to 20100430
1267 Merge with NetBSD make, pick up
1268 o fflush stdout before writing to stdout
1270 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
1272 * Makefile.in (MAKE_VERSION): bump version to 20100423
1273 Merge with NetBSD make, pick up
1274 o updated unit tests for Haiku (this time for sure).
1275 * boot-strap: based on patch from joerg
1276 honor --with-default-sys-path better.
1277 * boot-strap: remove mention of --with-prefix-sys-path
1279 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
1281 * Makefile.in (MAKE_VERSION): bump version to 20100422
1282 * Merge with NetBSD make, pick up
1283 o fix for vfork() on Darwin.
1284 o fix for bogus $TMPDIR.
1285 o set .MAKE.MODE=compat for -B
1286 o set .MAKE.JOBS=max_jobs for -j max_jobs
1287 o allow unit-tests to run without any *.mk
1288 o unit-tests/modmisc be more conservative in dirs presumed to exist.
1289 * boot-strap: ignore /usr/share/mk except on NetBSD.
1290 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
1291 ensure sort(1) behaves as expected.
1293 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
1295 * boot-strap: add FindHereOrAbove so we can use -m .../mk
1297 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1299 * Makefile.in (MAKE_VERSION): bump version to 20100420
1300 * Merge with NetBSD make, pick up
1301 o fix for variable realpath() behavior.
1302 we have to stat(2) the result to be sure.
1303 o fix for .export (all) when nested vars use :sh
1305 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
1307 * Makefile.in (MAKE_VERSION): bump version to 20100414
1308 * Merge with NetBSD make, pick up
1309 o use realpath to resolve argv[0] (for .MAKE) if needed.
1310 o add realpath from libc.
1311 o add :tA to resolve variable via realpath(3) if possible.
1313 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
1315 * Makefile.in (MAKE_VERSION): bump version to 20100408
1316 * Merge with NetBSD make, pick up
1317 o unit tests for .ERROR, .error
1318 o fix for .ERROR to ensure it cannot be default target.
1320 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
1322 * Makefile.in (MAKE_VERSION): bump version to 20100406
1323 * Merge with NetBSD make, pick up
1324 o fix for compat mode "Error code" going to debug_file.
1325 o fix for .ALLSRC being populated twice.
1326 o support for .info, .warning and .error directives
1327 o .MAKE.MODE to control make's operational mode
1328 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1330 o .MAKE.DEPENDFILE to control the name of the depend file
1331 o .ERROR target - run on failure.
1333 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
1335 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1337 * os.sh,arch.c: patch for Haiku from joerg at netbsd
1339 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
1341 * Makefile.in (MAKE_VERSION): bump version to 20100222
1342 * Merge with NetBSD make, pick up
1343 o better error msg for .for with mutiple inter vars
1346 o use make-bootstrap.sh from joerg at netbsd
1347 to avoid the need for a native make when bootstrapping.
1348 o add "" everywhere ;-)
1349 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1350 otherwise the pre-formated version.
1352 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1354 * Makefile.in (MAKE_VERSION): bump version to 20100102
1355 * Merge with NetBSD make, pick up:
1358 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
1360 * Makefile.in (MAKE_VERSION): bump version to 20091118
1361 * Merge with NetBSD make, pick up:
1363 o report lines that start with '.' and should have ':'
1364 (catch typo's of .el*if).
1366 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1368 * configure.in: Ensure that srcdir and mksrc are absolute paths.
1370 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1372 * Makefile.in (MAKE_VERSION): fix version to 20091007
1374 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
1376 * Makefile.in (MAKE_VERSION): bump version to 200910007
1377 * Merge with NetBSD make, pick up:
1378 o fix for parsing of :S;...;...; applied to .for loop iterator
1379 appearing in a dependency line.
1381 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1383 * Makefile.in (MAKE_VERSION): bump version to 20090909
1384 * Merge with NetBSD make, pick up:
1385 o fix for -C, .CURDIR and .OBJDIR
1387 o allow share_dir to be set independent of prefix.
1388 o select default share_dir better when prefix ends in $HOST_TARGET
1389 o if FORCE_BSD_MK etc were set, include them in the suggested
1392 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1394 * Makefile.in (MAKE_VERSION): bump version to 20090908
1395 * Merge with NetBSD make, pick up:
1396 o .MAKE.LEVEL for recursion tracking
1397 o fix for :M scanning \:
1399 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1401 * configure.in: Don't -D__EXTENSIONS__ if
1402 AC_USE_SYSTEM_EXTENSIONS says "no".
1404 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
1406 * Makefile.in (MAKE_VERSION): bump version to 20090826
1407 Simplify MAKE_VERSION to just the bare date.
1408 * Merge with NetBSD make, pick up:
1409 o -C directory support.
1410 o support for SIGINFO
1411 o use $TMPDIR for temp files.
1412 o child of vfork should be careful about modifying parent's state.
1415 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1417 * Appy some patches for MiNT from David Brownlee
1419 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
1421 * Makefile.in (BMAKE_VERSION): bump version to 20090222
1422 * Merge with NetBSD make, pick up:
1423 o Possible null pointer de-ref in Var_Set.
1425 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
1427 * Makefile.in (BMAKE_VERSION): bump version to 20090204
1428 * Merge with NetBSD make, pick up:
1429 o bmake_malloc et al moved to their own .c
1430 o Count both () and {} when looking for the end of a :M pattern
1431 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1432 o strlist.c - functions for processing extendable arrays of pointers to strings.
1433 o ClientData replaced with void *, so const void * can be used.
1434 o New debug flag C for DEBUG_CWD
1436 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1438 * Makefile.in (BMAKE_VERSION): bump version to 20081111
1439 Apply patch from Joerg Sonnenberge to
1441 o remove some redundant checks
1442 o check for emlloc etc only in libutil and require the whole family.
1444 o remove [v]asprintf which is no longer used.
1446 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1448 * Makefile.in (BMAKE_VERSION): bump version to 20081101
1449 * Merge with NetBSD make, pick up:
1450 o util.c: avoid use of putenv() - christos
1452 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1454 * Makefile.in (BMAKE_VERSION): bump version to 20081030
1455 pick up man page tweaks.
1457 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
1459 * Makefile.in: move processing of LIBOBJS to after is definition!
1460 thus we'll have getenv.c in SRCS only if needed.
1462 * make.1: add examples of how to use :?
1464 * Makefile.in (BMAKE_VERSION): bump version to 20081029
1465 * Merge with NetBSD make, pick up:
1466 o fix for .END processing with -j
1467 o segfault from Parse_Error when no makefile is open
1468 o handle numeric expressions in any variable expansion
1469 o debug output now defaults to stderr, -dF to change it - apb
1470 o make now uses bmake_malloc etc so that it can build natively
1471 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1473 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
1475 * Makefile.in (BMAKE_VERSION): bump version to 20080808
1476 * Merge with NetBSD make, pick up:
1477 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1478 long lines in Makefiles
1479 o optimizations for VarQuote by joerg
1480 o fix for PR/38756: dominik: make dumps core on invalid makefile
1482 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
1484 * Makefile.in (BMAKE_VERSION): bump version to 20080515
1485 * Merge with NetBSD make, pick up:
1486 o fix skip setting vars in VAR_GLOBAL context, to handle
1487 cases where VAR_CMD is used for other than command line vars.
1489 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
1491 * boot-strap (make_version): we may need to look in
1492 $prefix/share/mk for sys.mk
1494 * Makefile.in (BMAKE_VERSION): bump version to 20080514
1495 * Merge with NetBSD make, pick up:
1496 o skip setting vars in VAR_GLOBAL context, when already set in
1497 VAR_CMD which takes precedence.
1499 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
1501 * Makefile.in (BMAKE_VERSION): bump version to 20080330
1502 * Merge with NetBSD make, pick up:
1503 o fix for ?= when LHS contains variable reference.
1505 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1507 * merge some patches from NetBSD pkgsrc.
1509 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1510 the MAKSYSPATH used during bootstrap.
1512 * Makefile.in (BMAKE_VERSION): bump version to 20080215
1513 * Merge with NetBSD make, pick up:
1514 o warn if non-space chars follow 'empty' in a conditional.
1516 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1518 * Makefile.in (BMAKE_VERSION): bump version to 20080118
1519 * Merge with NetBSD make, pick up:
1520 o consider dependencies read from .depend as optional - dsl
1521 o remember when buffer for reading makefile grows - dsl
1522 o add -dl (aka LOUD) - David O'Brien
1524 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
1526 * Makefile.in (BMAKE_VERSION): bump version to 20071022
1527 * Merge with NetBSD make, pick up:
1528 o Allow .PATH<suffix> to be used for .include ""
1530 * boot-strap: source default settings from .bmake-boot-strap.rc
1532 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
1534 * Makefile.in: fix maninstall on various systems
1535 provided that our man.mk is used.
1536 For non-BSD systems we install the preformatted page
1539 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
1541 * boot-strap: make bmake.1 too, so maninstall works.
1543 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1545 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1546 * Merge with NetBSD make, pick up:
1547 o revamped handling of defshell - configure no longer needs to
1548 know the content of the shells array - apb
1549 o stop Var_Subst modifying its input - apb
1550 o avoid calling ParseTrackInput too often - dsl
1552 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1554 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1555 * Merge with NetBSD make, pick up:
1556 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1558 * sigcompat.c: some tweaks for HP-UX 11.x based on
1559 patch from Tobias Nygren
1561 * configure.in: update handling of --with-defshell to match
1562 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1563 will now do what one might hope - provided the chosen shell
1564 behaves enough like sh.
1566 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1568 * Makefile.in (BMAKE_VERSION): bump to 20071008
1569 * Merge with NetBSD make, pick up:
1570 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1571 o .export/.MAKE.EXPORTED - export of variables - sjg
1572 o .MAKE.MAKEFILES - track all makefiles read - sjg
1573 o performance improvements - dsl
1574 o revamp parallel job scheduling - dsl
1576 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1578 * Makefile.in (BMAKE_VERSION): bump to 20060728
1579 * Merge with NetBSD make, pick up:
1580 o extra debug info during variable and cond processing - sjg
1581 o shell definition now covers newline - rillig
1582 o minor mem leak in PrintOnError - sjg
1584 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1586 * Makefile.in (BMAKE_VERSION): bump to 20060511
1587 * Merge with NetBSD make, pick up:
1588 o more memory leaks - coverity
1589 o possible overflow in ArchFindMember - coverity
1590 o extract variable modifier code out of Var_Parse()
1591 so it can be called recursively - sjg
1592 o unit-tests/moderrs - sjg
1594 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1596 * Makefile.in (BMAKE_VERSION): bump to 20060412
1597 * Merge with NetBSD make, pick up:
1598 o fixes for some memory leaks - coverity
1599 o only read first sys.mk etc when searching sysIncPath - sjg
1601 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1602 setting ${MAKEFILE} - OBATA Akio
1604 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1606 * Makefile.in (BMAKE_VERSION): bump to 20060318
1607 * Merge with NetBSD make, pick up:
1608 o cleanup of job.c to remove remote handling, distcc is more
1609 useful and this code was likely bit-rotting - dsl
1610 o fix for :P modifier - sjg
1611 * boot-strap: set default prefix to something reasonable
1614 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1616 * Makefile.in (BMAKE_VERSION): bump to 20060301
1617 * Merge with NetBSD make, pick up:
1618 o make .WAIT apply recursively, document and test case - apb
1619 o allow variable modifiers in a variable appear anywhere in
1620 modifier list, document and test case - sjg
1622 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1624 * Makefile.in (BMAKE_VERSION): bump to 20060222
1625 * Merge with NetBSD make, pick up:
1626 o improved job token handling - dsl
1627 o SIG_DFL the correct signal before exec - dsl
1628 o more debug info during parsing - dsl
1629 o allow variable modifiers to be specified via variable - sjg
1630 * boot-strap: explain why we died if no mksrc
1632 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1634 * Makefile.in (BMAKE_VERSION): bump to 20051105
1635 * configure.in: always set default_sys_path
1636 default is ${prefix}/share/mk
1637 - remove prefix_sys_path, anyone wanting more than above
1638 needs to set it manually.
1640 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1642 * boot-strap: make this a bit easier for pkgsrc folk.
1643 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1644 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1646 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1648 * Makefile.in (BMAKE_VERSION): bump to 20051102
1649 * job.c (JobFinish): fix likely ancient merge lossage
1650 fix from Todd Vierling.
1651 * boot-strap (srcdir): allow setting mksrc=none
1653 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1655 * Makefile.in (BMAKE_VERSION): bump to 20051031
1656 * ranlib.h: skip on OSF too.
1659 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1661 * Makefile.in (BMAKE_VERSION): bump to 20051002
1664 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1666 * Makefile.in (BMAKE_VERSION): bump to 20051001
1667 support for UnixWare and some other systems,
1668 based on patches from pkgsrc/bootstrap
1670 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1672 * Makefile.in (BMAKE_VERSION): bump to 20050901
1673 * Merge with NetBSD make, pick up:
1674 o possible parse error causing us to wander off.
1676 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1678 * Makefile.in (BMAKE_VERSION): bump to 20050606
1679 * Merge with NetBSD make, pick up:
1680 o :0x modifier for randomizing a list
1681 o fixes for a number of -Wuninitialized issues.
1683 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1685 * Makefile.in (BMAKE_VERSION): bump to 20050530
1686 * Merge with NetBSD make, pick up:
1687 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1689 * README: was seriously out of date.
1691 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1693 * Important to use .MAKE rather than MAKE.
1695 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1697 * Makefile.in (BMAKE_VERSION): bump to 20050315
1698 * Merge with NetBSD make, pick up:
1699 o don't mistake .elsefoo for .else
1700 o use suffix-specific search path correctly
1701 o bunch of style nits
1703 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1706 o ensure that args to --src and --with-mksrc
1707 are resolved before giving them to configure.
1708 o add -o "objdir" so that builder can control it,
1709 default is $OS as determined by os.sh
1710 o add -q to suppress all the install instructions.
1712 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1714 * Remove __IDSTRING()
1716 * Makefile.in (BMAKE_VERSION): bump to 20040508
1717 * Merge with NetBSD make, pick up:
1719 - remove '-e' from compat mode
1720 - add support for '+' command-line prefix.
1721 o fix for handling '--' on command-line.
1722 o fix include in lst.lib/lstInt.h to simplify '-I's
1723 o we also picked up replacement of MAKE_BOOTSTRAP
1724 with !MAKE_NATIVE which is a noop, but possibly confusing.
1726 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1728 * Makefile.in (BMAKE_VERSION): bump to 20040414
1729 * Merge with NetBSD make, pick up:
1730 o allow quoted strings on lhs of conditionals
1731 o issue warning when extra .else is seen
1732 o print line numer when errors encountered during parsing from
1735 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1737 * Makefile.in (BMAKE_VERSION): bump to 20040220
1738 * Merge with NetBSD make, pick up:
1739 o fix for old :M parsing bug.
1740 o re-jigged unit-tests
1742 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1744 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1745 so that './bmake -f Makefile test' works.
1747 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1749 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1750 * Merge with NetBSD make, pick up:
1751 o search upwards for *.mk
1752 o fix for double free of var substitution buffers
1753 o use of getopt replaced with custom code, since the usage
1754 (re-scanning) isn't posix compatible.
1756 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1758 * arch.c: don't include ranlib.h on ELF systems
1759 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1761 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1763 * Makefile.in (BMAKE_VERSION): bump to 20040118
1765 * boot-strap (while): export vars we assign to on cmdline
1766 * unit-test/Makefile.in: ternary is .PHONY
1768 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1770 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1771 * Merge with NetBSD make, pick up:
1772 o fix for ternary modifier
1774 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1776 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1777 * Merge with NetBSD make, pick up:
1778 o fix for cond.c to handle compound expressions better
1779 o variable expansion within sysV style replacements
1781 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1783 * Make portable snprintf safer - output to /dev/null first to
1786 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1787 * Merge with NetBSD make, pick up:
1788 o -dg3 to show input graph when things go wrong.
1789 o explicitly look for makefiles in objdir if not found in curdir so
1790 that errors in .depend etc will be reported accurarely.
1791 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1792 instead as it more accurately reflects the expected behavior and
1793 is more consistently implemented.
1794 o avoid use of asprintf.
1796 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1798 * util.c: Add asprintf and vasprintf.
1800 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1801 * Merge with NetBSD make, pick up:
1802 :[] modifier - allows picking words from a variable.
1803 :tW modifier - allows treating value as one big word.
1804 W flag for :C and :S - allows treating value as one big word.
1806 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1808 * Merge with NetBSD make
1809 pick up -de flag to enable printing failed command.
1810 don't skip 1st two dir entries (normally . and ..) since
1811 coda does not have them.
1813 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1815 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1816 * Merge with NetBSD make, pick up:
1817 - changes for -V '${VAR}' to print fully expanded value
1819 - CompatRunCommand now prints the command that failed.
1820 - several files got updated 3 clause Berkeley license.
1822 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1824 * boot-strap: Allow setting configure args on command line.
1826 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1828 * configure.in: add --with-defshell to allow sh or ksh
1829 to be selected as default shell.
1831 * Makefile.in: bump version to 20030731
1833 * Merge with NetBSD make
1834 Pick up .SHELL spec for ksh and associate man page changes.
1835 Also compat mode now uses the same shell specs.
1837 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1839 * var.c (Var_Parse): ensure delim is initialized.
1841 * unit-tests/Makefile.in: use single quotes to avoid problems from
1845 Run the unit-tests as part of the bootstrap procedure.
1847 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1849 * unit-tests/Makefile.in: always force complaints from
1850 ${TEST_MAKE} to be from 'make'.
1852 * configure.in: add check for 'diff -u'
1853 also fix some old autoconf'isms
1855 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1856 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1858 * Merge with NetBSD make
1859 Pick up fix for :ts parsing error in some cases.
1862 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1864 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1866 * var.c (Var_Parse): fix bug in :ts modifier, after const
1867 correctness fixes, must pass nstr to VarModify.
1869 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1871 * Makefile.in: BMAKE_VERSION switch to a date based version.
1872 We'll generally use the date of last import from NetBSD.
1874 * Merge with NetBSD make
1875 Pick up fixes for const-correctness, now passes WARNS=3 on
1877 Pick up :ts modifier, allows controlling the separator used
1878 between words in variable expansion.
1880 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1882 * FILES: include boot-strap and os.sh
1884 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1885 FreeBSD is known to be bad.
1887 * makefile.boot.in (bootstrap): make this the default target.
1889 * Makefile.in: bump version to 3.1.19
1891 * machine.sh: avoid A-Z with tr as it is bound to lose.
1893 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1895 * Merge with NetBSD make
1896 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1897 Plus some doc fixes.
1899 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1901 * Merge with NetBSD make
1902 Pick up fix for PR/1523 - don't count a library as built, if there
1903 is no way to build it
1905 * Bump version to 3.1.18
1907 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1909 * Merge with NetBSD make
1910 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1911 appears in src list.
1913 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1915 * Merge with NetBSD make (mmm 10th anniversary!)
1916 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1917 pick up -X which tells us to not export VAR=val via setenv if
1918 we are already doing so via MAKEFLAGS. This saves valuable env
1919 space on systems like Darwin.
1920 set MAKE_VERSION to 3.1.17
1922 * parse.c: pix up fix for suffix rules
1924 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1926 * Merge with NetBSD make.
1927 pick up fix for propagating -B via MAKEFLAGS.
1928 set MAKE_VERSION to 3.1.16
1930 * Apply some patches from pkgsrc-bootstrap/bmake
1931 Originally by Grant Beattie <grant@netbsd.org>
1932 I may have missed some - since they are based on bmake-3.1.12
1934 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1936 * makefile.boot.in (bmake): update install targets for those that
1937 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1938 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1940 * bmake.cat1: update the pre-formatted man page!
1942 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1944 * Merge with NetBSD make.
1945 pick up fix for premature free of pointer used in call
1947 set MAKE_VERSION to 3.1.15
1949 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1951 * configure.in: determine suitable value for MKSRC.
1952 override using --with-mksrc=PATH.
1954 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1955 configs(8) will use 'sun4' as an alias for 'sparc'.
1957 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1959 * Merge with NetBSD make.
1961 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1962 set MAKE_VERSION to 3.1.14
1963 add configure checks for killpg and sys/socket.h
1965 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1969 * makefile.boot.in (bmake): use install-mk
1970 Also setup ./mk before trying to invoke bmake.boot incase we
1971 needed install-mk to create a sys.mk for us.
1973 * configure.in: If we need to add -I${srcdir}/missing, make it an
1974 absolute path so that it works for lst.lib too.
1976 * make.h: always include sys/cdefs.h since we provide one if the
1979 * Makefile.in (install-mk):
1980 use MKSRC/install-mk which will do the right thing.
1981 use uname -p for ARCH if possible.
1982 since install-mk will setup links bsd.prog.mk -> prog.mk if
1983 needed, just .include bsd.prog.mk
1985 * Merge with NetBSD make (NetBSD-1.6)
1986 Code is ansi-C only now.
1987 Bug in handling of dotLast is fixed.
1988 Can now assign .OBJDIR and make will reset its notions of life.
1989 New modifiers :tu :tl for toUpper and toLower.
1991 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1993 * Merge with NetBSD make
1994 pick up fix for .END failure in compat mode.
1995 pick up fix for extra va_end() in ParseVErrorInternal.
1997 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1999 * configure.in: for systems that have sys/cdefs.h check if it is
2000 compatible. If not, include the one under missing, but tell it to
2001 include the native one too - necessary on Linux.
2003 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
2004 include_next (for gcc) to get the native sys/cdefs.h
2006 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2008 * job.c (JobFinish): Fix an earlier merge bug that resulted in
2009 leaking descriptors when using -jN.
2011 * job.c (JobPrintCommand): See if "curdir" exists before
2012 attempting to chdir(). Doing the chdir directly in make (when in
2013 compat mode) fails silently, so let the -jN version do the same.
2014 This can happen when building kernels in an object tree and
2015 playing clever games to reset .CURDIR.
2017 * Merged with NetBSD make
2020 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2022 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
2024 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2026 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
2027 us not to export the iterator variable when using VAR_CMD context.
2029 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2031 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
2032 its the wrong "fix".
2034 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2036 * Redesigned export of VAR_CMD's via MAKEFLAGS.
2037 We now simply append the variable names to .MAKEOVERRIDES, and
2038 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
2039 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
2040 Apart from fixing quoting bugs in previous version, this allows us
2041 to export vars to the environment by simply doing:
2042 .MAKEOVERRIDES+= PATH
2043 Merged again with NetBSD make, but the above is the only change.
2045 * configure.in: added
2046 --disable-pwd-override disable $PWD overriding getcwd()
2047 --disable-check-make-chdir disable make trying to guess
2048 when it should automatically cd ${.CURDIR}
2050 * Merge with NetBSD make, changes include:
2051 parse.c (ParseDoDependency): Spot that the syntax error is
2052 caused by an unresolved cvs/rcs conflict and say so.
2053 var.c: most of Var* functions now take a ctxt as 1st arg.
2054 now does variable substituion on rhs of sysv style modifiers.
2056 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
2057 is now done here. We append the name='value' to .MAKEOVERRIDES
2058 rather than directly into MAKEFLAGS as this allows a Makefile to
2059 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
2060 very similar mechanism. Note that in adding name='value' to
2061 .MAKEOVERRIDES we do the moral equivalent of:
2062 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
2064 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2066 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
2068 * Merged with NetBSD make
2069 make -dx can now be used to run commands via sh -x
2070 better error messages on exec failures.
2072 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2074 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
2075 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
2076 MACHINE etc otherwise they propagate from the previous bmake.
2078 * configure.in (machine): allow --with-machine=generic to make
2079 configure use machine.sh to set MACHINE.
2081 * job.c (JobInterrupt): convert to using WAIT_T and friends.
2083 * Makefile.in: mention in bmake.1 that we use autoconf.
2085 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
2087 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2089 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
2090 as that rather defeats the usefulness of ${MAKEFILE}.
2092 * main.c (MainParseArgs): append command line variable assignments
2093 to MAKEFLAGS so that they get propagated to child make's.
2094 Apparently this is required POSIX behaviour? Its useful anyway.
2096 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2098 * compat.c (CompatRunCommand): don't use perror() since stdio may
2099 cause problems in child of vfork().
2101 * compat.c, main.c: Call PrintOnError() when we are going to bail.
2102 This routine prints out the .curdir where we stopped and will also
2103 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2105 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
2108 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
2110 * Added RCSid's for the files we've touched.
2112 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2114 * configure.in: Thanks to some clues from mdb@juniper.net,
2115 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2116 as well as what ends up in _PATH_DEFSYSPATH. We now have:
2118 --with-machine=MACHINE explicitly set MACHINE
2119 --with-force-machine=MACHINE set FORCE_MACHINE
2120 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
2121 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
2122 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
2123 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
2125 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2127 * makefile: added a pathetically simple makefile to drive
2128 bootstrapping. Running configure by hand is more useful.
2130 * Makefile.in: added MAKE_VERSION, and reworked things to be less
2131 dependent on NetBSD bsd.*.mk
2133 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2134 _PATH_OBJDIRPREFIX for those that don't want a default.
2135 construct _PATH_DEFSYSPATH from the info we get from configure.
2137 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2138 if MAKE_VERSION is defined.
2140 * compat.c: when we bail, print out the .CURDIR we were in.
2142 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2144 * Merged with NetBSD make
2146 * var.c: fixed a bug in the handling of the modifier :P
2147 if the node as found but the path was null, we segfault trying to
2150 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2152 * Merged with NetBSD make
2154 * make.c: Make_OODate's test for a library out of date was using
2155 cmtime where it should have used mtime (my bug).
2157 * compat.c: Use perror() to tell us what really went wrong when we
2158 cannot exec a command.
2160 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2162 * Merged with NetBSD make
2164 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2166 * Merged with NetBSD make
2168 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2170 * Merged with NetBSD make
2172 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2174 * Merged with NetBSD make
2176 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2178 * util.c: don't provide signal() since we use sigcompat.c
2180 * Makefile.in: added a build target.
2182 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2183 These allow some quite clever magic.
2185 * main.c (main): added support for getenv(MAKESYSPATH).
2187 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2189 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2190 This avoids objdir having a different value depending on how a
2191 directory was reached (via command line, or subdir.mk).
2193 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2195 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2197 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2198 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2199 I've been testing this in NetBSD's make for some weeks.
2201 * Turn Makefile into Makefile.in and make it useful.
2203 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2205 * Imported NetBSD's -current make(1) and resolve conflicts.
2207 * Applied autoconf patches from bmake v2
2209 * Imported clean code base from NetBSD-1.0