1 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
3 * Makefile (MAKE_VERSION): 20130904
4 Merge with NetBSD make, pick up
5 o Add VAR_INTERNAL context, so that internal setting of
6 MAKEFILE does not override value set by makefiles.
8 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
10 * Makefile (MAKE_VERSION): 20130902
11 Merge with NetBSD make, pick up
12 o CompatRunCommand: only apply shellErrFlag when errCheck is true
14 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
16 * Makefile (MAKE_VERSION): 20130828
17 Merge with NetBSD make, pick up
18 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
19 o Call Job_SetPrefix() from Job_Init() so makefiles have
20 opportunity to set .MAKE.JOB.PREFIX
22 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
24 * Makefile (MAKE_VERSION): 20130730
25 Merge with NetBSD make, pick up
26 o Allow suppression of --- job -- tokens by setting
27 .MAKE.JOB.PREFIX empty.
29 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
31 * Makefile (MAKE_VERSION): 20130716
32 Merge with NetBSD make, pick up
33 o number of gmake compatability tweaks
34 -w for gmake style entering/leaving messages
35 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
36 handle MAKEFLAGS containing only letters.
37 o when overriding a GLOBAL variable on the command line,
38 delete it from GLOBAL context so -V doesn't show the wrong
41 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
43 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
45 * Makefile (MAKE_VERSION): 20130706
46 Merge with NetBSD make, pick up
47 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
48 true so that CompatRunCommand() can use it, to ensure
49 consistent behavior with jobs mode.
50 o use MAKE_LEVEL_ENV to define the variable to propagate
51 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
52 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
55 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
57 * Makefile (MAKE_VERSION): 20130604
58 Merge with NetBSD make, pick up
59 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
60 to avoid leaking descriptors.
62 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
64 * Makefile (MAKE_VERSION): 20130528
65 Merge with NetBSD make, pick up
66 o var.c: cleanup some left-overs in VarHash()
68 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
70 * Makefile (MAKE_VERSION): 20130520
71 generate manifest from component FILES rather than have to
72 update FILES when mk/FILES changes.
74 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
76 * Makefile (MAKE_VERSION): 20130518
77 Merge with NetBSD make, pick up
78 o suff.c: don't skip all processsing for .PHONY targets
79 else wildcard srcs do not get expanded.
80 o var.c: expand name of variable to delete if necessary.
82 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
84 * Makefile (MAKE_VERSION): 20130330
85 Merge with NetBSD make, pick up
86 o meta.c: refine the handling of .OODATE in commands.
87 Rather than suppress command comparison for the entire script
88 as though .NOMETA_CMP had been used, only suppress it for the
90 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
91 suppress comparison of a command without otherwise affecting it.
92 o make.1: document that
94 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
96 * Makefile (MAKE_VERSION): 20130321
97 yes, not quite right but its a cooler number.
98 Merge with NetBSD make, pick up
99 o parse.c: fix ParseGmakeExport to be portable
101 * meta.c: call meta_init() before makefiles are read and if built
102 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
103 this let's makefiles test for support.
104 Call meta_mode_init() to process .MAKE.MODE.
106 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
108 * Makefile (MAKE_VERSION): 20130305
109 Merge with NetBSD make, pick up
110 o run .STALE: target when a dependency from .depend is missing.
111 o job.c: add Job_RunTarget() for the above and .BEGIN
113 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
115 * Makefile (MAKE_VERSION): 20130303
116 Merge with NetBSD make, pick up
117 o main.c: set .MAKE.OS to utsname.sysname
118 o job.c: more checks for read and poll errors
119 o var.c: lose VarChangeCase() saves 4% time
121 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
123 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
124 want to use MAKEOBJDIR
126 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
128 * Merge with NetBSD make, pick up
129 o make.1: more info on how shell commands are handled.
130 o job.c,main.c: detect write errors to job pipes.
132 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
134 * Makefile (MAKE_VERSION): 20130123
135 Merge with NetBSD make, pick up
136 o meta.c: if script uses .OODATE and meta_oodate() decides
137 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
138 o var.c: in debug output indicate which variabale modifiers
140 o remove Check_Cwd logic the makefiles have been fixed.
142 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
144 * makefile.in: add a simple makefile for folk who insist on
145 ./configure; make; make install
146 it just runs boot-strap
147 * include mk/* to accommodate the above
148 * boot-strap: re-work to accommodate the above
149 mksrc defaults to $Mydir/mk
150 allow op={configure,build,install,clean,all}
151 add options to facilitate install
152 * Makefile.config.in: just the bits set by configure
153 * Makefile: bump version to 20121212
154 abandon Makefile.in (NetBSD Makefile)
155 leverage mk/* instead
156 * configure.in: ensure srcdir is absolute
158 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
160 * Makefile.in (MAKE_VERSION): 20121111
161 fix generation of bmake.cat1
163 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
165 * Makefile.in (MAKE_VERSION): 20121109
166 Merge with NetBSD make, pick up
167 o make.c: MakeBuildChild: return 0 so search continues if a
168 .ORDER dependency is detected.
169 o unit-tests/order: test the above
171 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
173 * Makefile.in (MAKE_VERSION): 20121102
174 Merge with NetBSD make, pick up
175 o cond.c: allow cond_state[] to grow.
176 In meta mode with a very large tree, we can hit the limit
177 while processing dirdeps.
179 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
181 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
183 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
185 * Makefile.in (MAKE_VERSION): 20121010
186 o protect syntax that only bmake parses correctly.
187 o remove auto setting of FORCE_MACHINE, use configure's
188 --with-force-machine=whatever if that is desired.
190 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
192 * Makefile.in: do not lose history from make.1 when generating bmake.1
194 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
196 * Makefile.in (MAKE_VERSION): 20121007
197 Merge with NetBSD make, pick up
198 o compat.c: ignore empty commands - same as jobs mode.
199 o make.1: document meta chars that cause use of shell
201 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
203 * Makefile.in (MAKE_VERSION): bump version to 20120911
204 * bsd.after-import.mk: include Makefile.inc early and allow it to
207 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
209 * Makefile.in (MAKE_VERSION): bump version to 20120831
210 Merge with NetBSD make, pick up
211 o cast sizeof() to int for comparison
214 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
216 * Makefile.in (MAKE_VERSION): bump version to 20120830
217 Merge with NetBSD make, pick up
218 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
219 o debug flag -dV causes -V to show raw value regardless.
221 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
223 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
226 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
228 * Makefile.in (MAKE_VERSION): bump version to 20120704
229 Merge with NetBSD make, pick up
230 o Job_ParseShell should call Shell_Init if it has been
232 * Makefile.in: set USE_META based on configure result.
233 also .PARSEDIR is safer indicator of bmake.
235 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
237 * Makefile.in: bump version to 20120626
238 ensure CPPFLAGS is in CFLAGS
239 * meta.c: avoid nested externs
240 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
242 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
244 * Makefile.in (MAKE_VERSION): bump version to 20120620
245 Merge with NetBSD make, pick up
246 o make_malloc.c: avoid including make_malloc.h again
248 * Makefile.in: avoid bmake only syntax or protect with
249 .if defined(.MAKE.LEVEL)
250 * bsd.after-import.mk: replace .-include with .sinclude
251 ensure? SRCTOP gets a value
252 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
254 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
256 * Makefile.in (MAKE_VERSION): bump version to 20120612
257 Merge with NetBSD make, pick up
258 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
259 for greater portability.
260 o unit-tests/forloop: check that .for works as expected wrt
261 number of times and with "quoted strings".
263 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
265 * Makefile.in (MAKE_VERSION): bump version to 20120606
266 Merge with NetBSD make, pick up
267 o compat.c: use kill(2) rather than raise(3).
268 * configure.in: look for sys/dev/filemon
269 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
270 and pass BOOTSTRAP_XTRAS to boot-strap.
272 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
274 * Makefile.in (MAKE_VERSION): bump version to 20120604
275 Merge with NetBSD make, pick up
276 o util.c and var.c share same var for tracking if environ
277 has been reallocated.
278 o util.c provide getenv with setenv.
279 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
280 when the shell actively strips .MAKE.* from the environment.
281 We still refer to the variable always as .MAKE.LEVEL
282 * util.c fix bug in findenv() was finding prefix of name.
283 * compat.c: re-raising SIGINT etc after running .INTERRUPT
284 results in more reliable termination of all activity on many
287 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
289 * Makefile.in (MAKE_VERSION): bump version to 20120602
290 Merge with NetBSD make, pick up
291 o for.c: handle quoted items in .for list
293 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
295 * Makefile.in (MAKE_VERSION): bump version to 20120530
296 Merge with NetBSD make, pick up
297 o compat.c: ignore empty command.
299 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
301 * Makefile.in (MAKE_VERSION): bump version to 20120524
302 * FILES: add bsd.after-import.mk:
303 A simple means of integrating bmake into a BSD build system.
305 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
307 * Makefile.in (MAKE_VERSION): bump version to 20120520
308 Merge with NetBSD make, pick up
309 o increased limit for nested conditionals.
311 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
313 * Makefile.in (MAKE_VERSION): bump version to 20120518
314 Merge with NetBSD make, pick up
315 o use _exit(2) in signal hanlder
316 o Don't use the [dir] cache when building nodes that might have
317 changed since the last exec.
318 o Avoid nested extern declaration warnings.
320 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
322 * meta.c (fgetLine): avoid %z - not portable.
323 * parse.c: Since we moved include of sys/mman.h
324 and def's of MAP_COPY etc. we got dups from a merge.
326 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
328 * Makefile.in (MAKE_VERSION): bump version to 20120420
329 Merge with NetBSD make, pick up
330 o restore duplicate supression in .MAKE.MAKEFILES
331 runtime saving can be significant.
332 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
333 consumption up to 20%.
335 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
337 * Makefile.in (MAKE_VERSION): bump version to 20120420
338 Merge with NetBSD make, pick up
339 o remove duplicate supression in .MAKE.MAKEFILES
340 o improved dir cache behavior
341 o gmake'ish export command
343 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
345 * Makefile.in (MAKE_VERSION): bump version to 20120325
346 Merge with NetBSD make, pick up
347 o fix parsing of :[#] in conditionals.
349 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
351 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
352 since some systems cannot cope with .Nx <version>
354 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
356 * Makefile.in (MAKE_VERSION): bump version to 20111111
357 Merge with NetBSD make, pick up
358 o debug output for .PARSEDIR and .PARSEFILE
360 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
362 * Makefile.in (MAKE_VERSION): bump version to 20111010
364 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
366 * boot-strap: check for an expected file in the dirs we look for.
367 * make-bootstrap.sh: pass on LDSTATIC
369 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
371 * Makefile.in (MAKE_VERSION): bump version to 20111001
372 Merge with NetBSD make, pick up
373 o ensure .PREFIX is set for .PHONY
374 and .TARGET set for .PHONY run via .END
375 o __dead used consistently
377 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
379 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
381 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
383 * Makefile.in (MAKE_VERSION): bump version to 20110905
384 Merge with NetBSD make, pick up
385 o meta_oodate: ignore makeDependfile
387 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
389 * Makefile.in (MAKE_VERSION): bump version to 20110828
390 Merge with NetBSD make, pick up
391 o silent=yes in .MAKE.MODE causes meta mode to mark targets
392 as SILENT if a .meta file is created
394 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
396 * Makefile.in (MAKE_VERSION): bump version to 20110818
397 Merge with NetBSD make, pick up
398 o in meta mode, if target flagged .META a missing .meta file
399 means target is out-of-date
400 o fixes for gcc 4.5 warnings
401 o simplify job printing code
403 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
405 * Makefile.in (MAKE_VERSION): bump version to 20110808
406 Merge with NetBSD make, pick up
407 o do not touch OP_SPECIAL targets when doing make -t
409 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
411 * Makefile.in (MAKE_VERSION): bump version to 20110622
412 Merge with NetBSD make, pick up
413 o meta_oodate detect corrupted .meta file and declare oodate.
414 * configure.in: add check for setsid
416 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
418 * Merge with NetBSD make, pick up
419 o unit-tests/modts now works on MirBSD
421 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
423 * Makefile.in (MAKE_VERSION): bump version to 20110606
424 Merge with NetBSD make, pick up
425 o ApplyModifiers: when we parse a variable which is not
426 the entire modifier string, or not followed by ':', do not
427 consider it as containing modifiers.
428 o loadfile: ensure newline at end of mapped file.
430 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
432 * Makefile.in (MAKE_VERSION): bump version to 20110505
433 Merge with NetBSD make, pick up
434 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
435 of make's control. In meta mode, any generated file within
436 said bailiwick, which is found to be missing, causes current
437 target to be out-of-date.
439 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
441 * Makefile.in (MAKE_VERSION): bump version to 20110411
442 Merge with NetBSD make, pick up
443 o when long modifiers fail to match, check sysV style.
446 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
448 * Makefile.in (MAKE_VERSION): bump version to 20110410
449 Merge with NetBSD make, pick up
450 o :hash - cheap 32bit hash of value
451 o :localtime, :gmtime - use value as format string for strftime.
453 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
455 * Makefile.in (MAKE_VERSION): bump version to 20110330
456 mostly because its a cooler version.
457 Merge with NetBSD make, pick up
458 o NetBSD tags for meta.[ch]
459 o job.c call meta_job_finish() after meta_job_error().
460 o meta_job_error() should call meta_job_finish() to ensure
461 .meta file is closed, and safe to copy - if .ERROR target wants.
462 meta_job_finish() is safe to call repeatedly.
464 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
466 * unit-tests/modts: use printf if it is a builtin,
467 to save us from MirBSD
469 * Makefile.in (MAKE_VERSION): bump version to 20110329
470 Merge with NetBSD make, pick up
471 o fix for use after free() in CondDoExists().
472 o meta_oodate() report extra commands and return earlier.
474 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
476 * Makefile.in (MAKE_VERSION): bump version to 20110327
477 Merge with NetBSD make, pick up
478 o meta.c, if .MAKE.MODE contains curdirOk=yes
479 allow creating .meta files in .CURDIR
480 * boot-strap (TOOL_DIFF): aparently at least on linux distro
481 formats the output of 'type' differently - so eat any "()"
483 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
485 * Makefile.in (MAKE_VERSION): bump version to 20110306
486 Merge with NetBSD make, pick up
487 o meta.c, only do getcwd() once
489 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
491 * Makefile.in (MAKE_VERSION): bump version to 20110305
492 Merge with NetBSD make, pick up
493 o correct sysV substitution handling of empty lhs and variable
494 o correct exists() check for dir with trailing /
495 o correct handling of modifiers for non-existant variables
496 during evaluation of conditionals.
497 o ensure MAP_FILE is defined.
498 o meta.c use curdir[] now exported by main.c
500 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
502 * Makefile.in (MAKE_VERSION): bump version to 20110225
503 Merge with NetBSD make, pick up
504 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
505 makefiles have been read.
506 o fix example of :? modifier in man page.
508 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
510 * Makefile.in (MAKE_VERSION): bump version to 20110214
511 Merge with NetBSD make, pick up
512 o meta.c handle realpath() failing when generating meta file
515 * sigcompat.c: convert to ansi so we can use higher warning levels.
518 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
520 * Makefile.in (MAKE_VERSION): bump version to 20110207
521 Merge with NetBSD make, pick up
522 o fix for bug in meta mode.
524 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
526 * parse.c: SunOS 5.8 at least does not have MAP_FILE
528 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
530 * Makefile.in (MAKE_VERSION): bump version to 20110101
531 Merge with NetBSD make, pick up
532 o use mmap(2) if available, for reading makefiles
534 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
536 * Makefile.in (MAKE_VERSION): bump version to 20101215
537 Merge with NetBSD make, pick up
538 o ensure meta_job_error() does not report a previous .meta file
541 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
543 * Makefile.in (MAKE_VERSION): bump version to 20101210
544 Merge with NetBSD make, pick up
545 o meta_oodate: track cwd per process, and only consider target
546 out-of-date if missing file is outside make's CWD.
547 Ignore files in /tmp/ etc.
548 o to ensure unit-tests results match, need to control LC_ALL
550 o fix for parsing bug in var.c
552 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
554 * Makefile.in (MAKE_VERSION): bump version to 20101126
555 Merge with NetBSD make, pick up
556 o if stale dependency is an IMPSRC, search via .PATH
557 o meta_oodate: if a referenced file is missing, target is
559 o meta_oodate: if a target uses .OODATE in its commands,
560 it (.OODATE) needs to be recomputed.
561 o keep a pointer to youngest child node, rather than just its
564 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
566 * Makefile.in (MAKE_VERSION): bump version to 20101101
568 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
570 * machine.sh: like os.sh,
571 allow for uname -p producing useless drivel
573 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
575 * boot-strap: document configure knobs for meta and filemon.
577 * Makefile.in (MAKE_VERSION): bump version to 20100911
578 Merge with NetBSD make, pick up
581 * make-bootstrap.sh.in: handle meta.c
582 * configure.in: add knobs for use_meta and filemon_h
583 also, look for dirname, str[e]sep and strlcpy
584 * util.c: add simple err[x] and warn[x]
586 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
588 * boot-strap (TOOL_DIFF): set this to ensure tests use
589 the same version of diff that configure tested
591 * Makefile.in (MAKE_VERSION): bump version to 20100808
592 Merge with NetBSD make, pick up
593 o in jobs mode, when we discover we cannot make something,
594 call PrintOnError before exit.
596 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
598 * Makefile.in (MAKE_VERSION): bump version to 20100806
599 Merge with NetBSD make, pick up
600 o formatting fixes for ignored errors
601 o ensure jobs are cleaned up regardless of where wait() was called.
603 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
605 * Makefile.in (MAKE_VERSION): bump version to 20100618
606 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
608 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
610 * Makefile.in (MAKE_VERSION): bump version to 20100616
611 Merge with NetBSD make, pick up
613 o call PrintOnError from JobFinish when we detect an error we
616 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
618 * Makefile.in (MAKE_VERSION): bump version to 20100606
619 Merge with NetBSD make, pick up
622 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
624 * Makefile.in (MAKE_VERSION): bump version to 20100605
625 Merge with NetBSD make, pick up
626 o use bmake_signal() which is a wrapper around sigaction()
628 o add .export-env to allow exporting variables to environment
629 without tracking (so no re-export when the internal value is
632 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
634 * Makefile.in (MAKE_VERSION): bump version to 20100524
635 Merge with NetBSD make, pick up
636 o fix for .info et al being greedy.
638 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
640 * Makefile.in (MAKE_VERSION): bump version to 20100520
641 Merge with NetBSD make, pick up
642 o back to using realpath on argv[0]
643 but only if contains '/' and does not start with '/'.
645 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
647 * boot-strap: use absolute path for bmake when running tests.
649 * Makefile.in (MAKE_VERSION): bump version to 20100510
650 Merge with NetBSD make, pick up
651 o revert use of realpath on argv[0]
652 too many corner cases.
653 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
655 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
657 * Makefile.in (MAKE_VERSION): bump version to 20100505
658 Merge with NetBSD make, pick up
659 o fix for missed SIGCHLD when compiled with SunPRO
660 actually for bmake, defining FORCE_POSIX_SIGNALS would have
663 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
665 * Makefile.in (MAKE_VERSION): bump version to 20100430
666 Merge with NetBSD make, pick up
667 o fflush stdout before writing to stdout
669 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
671 * Makefile.in (MAKE_VERSION): bump version to 20100423
672 Merge with NetBSD make, pick up
673 o updated unit tests for Haiku (this time for sure).
674 * boot-strap: based on patch from joerg
675 honor --with-default-sys-path better.
676 * boot-strap: remove mention of --with-prefix-sys-path
678 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
680 * Makefile.in (MAKE_VERSION): bump version to 20100422
681 * Merge with NetBSD make, pick up
682 o fix for vfork() on Darwin.
683 o fix for bogus $TMPDIR.
684 o set .MAKE.MODE=compat for -B
685 o set .MAKE.JOBS=max_jobs for -j max_jobs
686 o allow unit-tests to run without any *.mk
687 o unit-tests/modmisc be more conservative in dirs presumed to exist.
688 * boot-strap: ignore /usr/share/mk except on NetBSD.
689 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
690 ensure sort(1) behaves as expected.
692 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
694 * boot-strap: add FindHereOrAbove so we can use -m .../mk
696 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
698 * Makefile.in (MAKE_VERSION): bump version to 20100420
699 * Merge with NetBSD make, pick up
700 o fix for variable realpath() behavior.
701 we have to stat(2) the result to be sure.
702 o fix for .export (all) when nested vars use :sh
704 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
706 * Makefile.in (MAKE_VERSION): bump version to 20100414
707 * Merge with NetBSD make, pick up
708 o use realpath to resolve argv[0] (for .MAKE) if needed.
709 o add realpath from libc.
710 o add :tA to resolve variable via realpath(3) if possible.
712 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
714 * Makefile.in (MAKE_VERSION): bump version to 20100408
715 * Merge with NetBSD make, pick up
716 o unit tests for .ERROR, .error
717 o fix for .ERROR to ensure it cannot be default target.
719 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
721 * Makefile.in (MAKE_VERSION): bump version to 20100406
722 * Merge with NetBSD make, pick up
723 o fix for compat mode "Error code" going to debug_file.
724 o fix for .ALLSRC being populated twice.
725 o support for .info, .warning and .error directives
726 o .MAKE.MODE to control make's operational mode
727 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
729 o .MAKE.DEPENDFILE to control the name of the depend file
730 o .ERROR target - run on failure.
732 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
734 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
736 * os.sh,arch.c: patch for Haiku from joerg at netbsd
738 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
740 * Makefile.in (MAKE_VERSION): bump version to 20100222
741 * Merge with NetBSD make, pick up
742 o better error msg for .for with mutiple inter vars
745 o use make-bootstrap.sh from joerg at netbsd
746 to avoid the need for a native make when bootstrapping.
747 o add "" everywhere ;-)
748 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
749 otherwise the pre-formated version.
751 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
753 * Makefile.in (MAKE_VERSION): bump version to 20100102
754 * Merge with NetBSD make, pick up:
757 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
759 * Makefile.in (MAKE_VERSION): bump version to 20091118
760 * Merge with NetBSD make, pick up:
762 o report lines that start with '.' and should have ':'
763 (catch typo's of .el*if).
765 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
767 * configure.in: Ensure that srcdir and mksrc are absolute paths.
769 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
771 * Makefile.in (MAKE_VERSION): fix version to 20091007
773 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
775 * Makefile.in (MAKE_VERSION): bump version to 200910007
776 * Merge with NetBSD make, pick up:
777 o fix for parsing of :S;...;...; applied to .for loop iterator
778 appearing in a dependency line.
780 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
782 * Makefile.in (MAKE_VERSION): bump version to 20090909
783 * Merge with NetBSD make, pick up:
784 o fix for -C, .CURDIR and .OBJDIR
786 o allow share_dir to be set independent of prefix.
787 o select default share_dir better when prefix ends in $HOST_TARGET
788 o if FORCE_BSD_MK etc were set, include them in the suggested
791 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
793 * Makefile.in (MAKE_VERSION): bump version to 20090908
794 * Merge with NetBSD make, pick up:
795 o .MAKE.LEVEL for recursion tracking
796 o fix for :M scanning \:
798 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
800 * configure.in: Don't -D__EXTENSIONS__ if
801 AC_USE_SYSTEM_EXTENSIONS says "no".
803 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
805 * Makefile.in (MAKE_VERSION): bump version to 20090826
806 Simplify MAKE_VERSION to just the bare date.
807 * Merge with NetBSD make, pick up:
808 o -C directory support.
809 o support for SIGINFO
810 o use $TMPDIR for temp files.
811 o child of vfork should be careful about modifying parent's state.
814 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
816 * Appy some patches for MiNT from David Brownlee
818 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
820 * Makefile.in (BMAKE_VERSION): bump version to 20090222
821 * Merge with NetBSD make, pick up:
822 o Possible null pointer de-ref in Var_Set.
824 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
826 * Makefile.in (BMAKE_VERSION): bump version to 20090204
827 * Merge with NetBSD make, pick up:
828 o bmake_malloc et al moved to their own .c
829 o Count both () and {} when looking for the end of a :M pattern
830 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
831 o strlist.c - functions for processing extendable arrays of pointers to strings.
832 o ClientData replaced with void *, so const void * can be used.
833 o New debug flag C for DEBUG_CWD
835 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
837 * Makefile.in (BMAKE_VERSION): bump version to 20081111
838 Apply patch from Joerg Sonnenberge to
840 o remove some redundant checks
841 o check for emlloc etc only in libutil and require the whole family.
843 o remove [v]asprintf which is no longer used.
845 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
847 * Makefile.in (BMAKE_VERSION): bump version to 20081101
848 * Merge with NetBSD make, pick up:
849 o util.c: avoid use of putenv() - christos
851 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
853 * Makefile.in (BMAKE_VERSION): bump version to 20081030
854 pick up man page tweaks.
856 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
858 * Makefile.in: move processing of LIBOBJS to after is definition!
859 thus we'll have getenv.c in SRCS only if needed.
861 * make.1: add examples of how to use :?
863 * Makefile.in (BMAKE_VERSION): bump version to 20081029
864 * Merge with NetBSD make, pick up:
865 o fix for .END processing with -j
866 o segfault from Parse_Error when no makefile is open
867 o handle numeric expressions in any variable expansion
868 o debug output now defaults to stderr, -dF to change it - apb
869 o make now uses bmake_malloc etc so that it can build natively
870 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
872 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
874 * Makefile.in (BMAKE_VERSION): bump version to 20080808
875 * Merge with NetBSD make, pick up:
876 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
877 long lines in Makefiles
878 o optimizations for VarQuote by joerg
879 o fix for PR/38756: dominik: make dumps core on invalid makefile
881 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
883 * Makefile.in (BMAKE_VERSION): bump version to 20080515
884 * Merge with NetBSD make, pick up:
885 o fix skip setting vars in VAR_GLOBAL context, to handle
886 cases where VAR_CMD is used for other than command line vars.
888 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
890 * boot-strap (make_version): we may need to look in
891 $prefix/share/mk for sys.mk
893 * Makefile.in (BMAKE_VERSION): bump version to 20080514
894 * Merge with NetBSD make, pick up:
895 o skip setting vars in VAR_GLOBAL context, when already set in
896 VAR_CMD which takes precedence.
898 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
900 * Makefile.in (BMAKE_VERSION): bump version to 20080330
901 * Merge with NetBSD make, pick up:
902 o fix for ?= when LHS contains variable reference.
904 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
906 * merge some patches from NetBSD pkgsrc.
908 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
909 the MAKSYSPATH used during bootstrap.
911 * Makefile.in (BMAKE_VERSION): bump version to 20080215
912 * Merge with NetBSD make, pick up:
913 o warn if non-space chars follow 'empty' in a conditional.
915 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
917 * Makefile.in (BMAKE_VERSION): bump version to 20080118
918 * Merge with NetBSD make, pick up:
919 o consider dependencies read from .depend as optional - dsl
920 o remember when buffer for reading makefile grows - dsl
921 o add -dl (aka LOUD) - David O'Brien
923 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
925 * Makefile.in (BMAKE_VERSION): bump version to 20071022
926 * Merge with NetBSD make, pick up:
927 o Allow .PATH<suffix> to be used for .include ""
929 * boot-strap: source default settings from .bmake-boot-strap.rc
931 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
933 * Makefile.in: fix maninstall on various systems
934 provided that our man.mk is used.
935 For non-BSD systems we install the preformatted page
938 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
940 * boot-strap: make bmake.1 too, so maninstall works.
942 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
944 * Makefile.in (BMAKE_VERSION): bump version to 20071014
945 * Merge with NetBSD make, pick up:
946 o revamped handling of defshell - configure no longer needs to
947 know the content of the shells array - apb
948 o stop Var_Subst modifying its input - apb
949 o avoid calling ParseTrackInput too often - dsl
951 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
953 * Makefile.in (BMAKE_VERSION): bump version to 20071011
954 * Merge with NetBSD make, pick up:
955 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
957 * sigcompat.c: some tweaks for HP-UX 11.x based on
958 patch from Tobias Nygren
960 * configure.in: update handling of --with-defshell to match
961 new make behavior. --with-defshell=/usr/xpg4/bin/sh
962 will now do what one might hope - provided the chosen shell
963 behaves enough like sh.
965 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
967 * Makefile.in (BMAKE_VERSION): bump to 20071008
968 * Merge with NetBSD make, pick up:
969 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
970 o .export/.MAKE.EXPORTED - export of variables - sjg
971 o .MAKE.MAKEFILES - track all makefiles read - sjg
972 o performance improvements - dsl
973 o revamp parallel job scheduling - dsl
975 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
977 * Makefile.in (BMAKE_VERSION): bump to 20060728
978 * Merge with NetBSD make, pick up:
979 o extra debug info during variable and cond processing - sjg
980 o shell definition now covers newline - rillig
981 o minor mem leak in PrintOnError - sjg
983 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
985 * Makefile.in (BMAKE_VERSION): bump to 20060511
986 * Merge with NetBSD make, pick up:
987 o more memory leaks - coverity
988 o possible overflow in ArchFindMember - coverity
989 o extract variable modifier code out of Var_Parse()
990 so it can be called recursively - sjg
991 o unit-tests/moderrs - sjg
993 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
995 * Makefile.in (BMAKE_VERSION): bump to 20060412
996 * Merge with NetBSD make, pick up:
997 o fixes for some memory leaks - coverity
998 o only read first sys.mk etc when searching sysIncPath - sjg
1000 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1001 setting ${MAKEFILE} - OBATA Akio
1003 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1005 * Makefile.in (BMAKE_VERSION): bump to 20060318
1006 * Merge with NetBSD make, pick up:
1007 o cleanup of job.c to remove remote handling, distcc is more
1008 useful and this code was likely bit-rotting - dsl
1009 o fix for :P modifier - sjg
1010 * boot-strap: set default prefix to something reasonable
1013 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1015 * Makefile.in (BMAKE_VERSION): bump to 20060301
1016 * Merge with NetBSD make, pick up:
1017 o make .WAIT apply recursively, document and test case - apb
1018 o allow variable modifiers in a variable appear anywhere in
1019 modifier list, document and test case - sjg
1021 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1023 * Makefile.in (BMAKE_VERSION): bump to 20060222
1024 * Merge with NetBSD make, pick up:
1025 o improved job token handling - dsl
1026 o SIG_DFL the correct signal before exec - dsl
1027 o more debug info during parsing - dsl
1028 o allow variable modifiers to be specified via variable - sjg
1029 * boot-strap: explain why we died if no mksrc
1031 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1033 * Makefile.in (BMAKE_VERSION): bump to 20051105
1034 * configure.in: always set default_sys_path
1035 default is ${prefix}/share/mk
1036 - remove prefix_sys_path, anyone wanting more than above
1037 needs to set it manually.
1039 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1041 * boot-strap: make this a bit easier for pkgsrc folk.
1042 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1043 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1045 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1047 * Makefile.in (BMAKE_VERSION): bump to 20051102
1048 * job.c (JobFinish): fix likely ancient merge lossage
1049 fix from Todd Vierling.
1050 * boot-strap (srcdir): allow setting mksrc=none
1052 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1054 * Makefile.in (BMAKE_VERSION): bump to 20051031
1055 * ranlib.h: skip on OSF too.
1058 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1060 * Makefile.in (BMAKE_VERSION): bump to 20051002
1063 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1065 * Makefile.in (BMAKE_VERSION): bump to 20051001
1066 support for UnixWare and some other systems,
1067 based on patches from pkgsrc/bootstrap
1069 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1071 * Makefile.in (BMAKE_VERSION): bump to 20050901
1072 * Merge with NetBSD make, pick up:
1073 o possible parse error causing us to wander off.
1075 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1077 * Makefile.in (BMAKE_VERSION): bump to 20050606
1078 * Merge with NetBSD make, pick up:
1079 o :0x modifier for randomizing a list
1080 o fixes for a number of -Wuninitialized issues.
1082 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1084 * Makefile.in (BMAKE_VERSION): bump to 20050530
1085 * Merge with NetBSD make, pick up:
1086 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1088 * README: was seriously out of date.
1090 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1092 * Important to use .MAKE rather than MAKE.
1094 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1096 * Makefile.in (BMAKE_VERSION): bump to 20050315
1097 * Merge with NetBSD make, pick up:
1098 o don't mistake .elsefoo for .else
1099 o use suffix-specific search path correctly
1100 o bunch of style nits
1102 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1105 o ensure that args to --src and --with-mksrc
1106 are resolved before giving them to configure.
1107 o add -o "objdir" so that builder can control it,
1108 default is $OS as determined by os.sh
1109 o add -q to suppress all the install instructions.
1111 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1113 * Remove __IDSTRING()
1115 * Makefile.in (BMAKE_VERSION): bump to 20040508
1116 * Merge with NetBSD make, pick up:
1118 - remove '-e' from compat mode
1119 - add support for '+' command-line prefix.
1120 o fix for handling '--' on command-line.
1121 o fix include in lst.lib/lstInt.h to simplify '-I's
1122 o we also picked up replacement of MAKE_BOOTSTRAP
1123 with !MAKE_NATIVE which is a noop, but possibly confusing.
1125 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1127 * Makefile.in (BMAKE_VERSION): bump to 20040414
1128 * Merge with NetBSD make, pick up:
1129 o allow quoted strings on lhs of conditionals
1130 o issue warning when extra .else is seen
1131 o print line numer when errors encountered during parsing from
1134 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1136 * Makefile.in (BMAKE_VERSION): bump to 20040220
1137 * Merge with NetBSD make, pick up:
1138 o fix for old :M parsing bug.
1139 o re-jigged unit-tests
1141 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1143 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1144 so that './bmake -f Makefile test' works.
1146 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1148 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1149 * Merge with NetBSD make, pick up:
1150 o search upwards for *.mk
1151 o fix for double free of var substitution buffers
1152 o use of getopt replaced with custom code, since the usage
1153 (re-scanning) isn't posix compatible.
1155 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1157 * arch.c: don't include ranlib.h on ELF systems
1158 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1160 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1162 * Makefile.in (BMAKE_VERSION): bump to 20040118
1164 * boot-strap (while): export vars we assign to on cmdline
1165 * unit-test/Makefile.in: ternary is .PHONY
1167 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1169 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1170 * Merge with NetBSD make, pick up:
1171 o fix for ternary modifier
1173 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1175 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1176 * Merge with NetBSD make, pick up:
1177 o fix for cond.c to handle compound expressions better
1178 o variable expansion within sysV style replacements
1180 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1182 * Make portable snprintf safer - output to /dev/null first to
1185 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1186 * Merge with NetBSD make, pick up:
1187 o -dg3 to show input graph when things go wrong.
1188 o explicitly look for makefiles in objdir if not found in curdir so
1189 that errors in .depend etc will be reported accurarely.
1190 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1191 instead as it more accurately reflects the expected behavior and
1192 is more consistently implemented.
1193 o avoid use of asprintf.
1195 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1197 * util.c: Add asprintf and vasprintf.
1199 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1200 * Merge with NetBSD make, pick up:
1201 :[] modifier - allows picking words from a variable.
1202 :tW modifier - allows treating value as one big word.
1203 W flag for :C and :S - allows treating value as one big word.
1205 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1207 * Merge with NetBSD make
1208 pick up -de flag to enable printing failed command.
1209 don't skip 1st two dir entries (normally . and ..) since
1210 coda does not have them.
1212 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1214 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1215 * Merge with NetBSD make, pick up:
1216 - changes for -V '${VAR}' to print fully expanded value
1218 - CompatRunCommand now prints the command that failed.
1219 - several files got updated 3 clause Berkeley license.
1221 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1223 * boot-strap: Allow setting configure args on command line.
1225 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1227 * configure.in: add --with-defshell to allow sh or ksh
1228 to be selected as default shell.
1230 * Makefile.in: bump version to 20030731
1232 * Merge with NetBSD make
1233 Pick up .SHELL spec for ksh and associate man page changes.
1234 Also compat mode now uses the same shell specs.
1236 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1238 * var.c (Var_Parse): ensure delim is initialized.
1240 * unit-tests/Makefile.in: use single quotes to avoid problems from
1244 Run the unit-tests as part of the bootstrap procedure.
1246 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1248 * unit-tests/Makefile.in: always force complaints from
1249 ${TEST_MAKE} to be from 'make'.
1251 * configure.in: add check for 'diff -u'
1252 also fix some old autoconf'isms
1254 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1255 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1257 * Merge with NetBSD make
1258 Pick up fix for :ts parsing error in some cases.
1261 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1263 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1265 * var.c (Var_Parse): fix bug in :ts modifier, after const
1266 correctness fixes, must pass nstr to VarModify.
1268 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1270 * Makefile.in: BMAKE_VERSION switch to a date based version.
1271 We'll generally use the date of last import from NetBSD.
1273 * Merge with NetBSD make
1274 Pick up fixes for const-correctness, now passes WARNS=3 on
1276 Pick up :ts modifier, allows controlling the separator used
1277 between words in variable expansion.
1279 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1281 * FILES: include boot-strap and os.sh
1283 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1284 FreeBSD is known to be bad.
1286 * makefile.boot.in (bootstrap): make this the default target.
1288 * Makefile.in: bump version to 3.1.19
1290 * machine.sh: avoid A-Z with tr as it is bound to lose.
1292 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1294 * Merge with NetBSD make
1295 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1296 Plus some doc fixes.
1298 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1300 * Merge with NetBSD make
1301 Pick up fix for PR/1523 - don't count a library as built, if there
1302 is no way to build it
1304 * Bump version to 3.1.18
1306 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1308 * Merge with NetBSD make
1309 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1310 appears in src list.
1312 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1314 * Merge with NetBSD make (mmm 10th anniversary!)
1315 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1316 pick up -X which tells us to not export VAR=val via setenv if
1317 we are already doing so via MAKEFLAGS. This saves valuable env
1318 space on systems like Darwin.
1319 set MAKE_VERSION to 3.1.17
1321 * parse.c: pix up fix for suffix rules
1323 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1325 * Merge with NetBSD make.
1326 pick up fix for propagating -B via MAKEFLAGS.
1327 set MAKE_VERSION to 3.1.16
1329 * Apply some patches from pkgsrc-bootstrap/bmake
1330 Originally by Grant Beattie <grant@netbsd.org>
1331 I may have missed some - since they are based on bmake-3.1.12
1333 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1335 * makefile.boot.in (bmake): update install targets for those that
1336 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1337 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1339 * bmake.cat1: update the pre-formatted man page!
1341 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1343 * Merge with NetBSD make.
1344 pick up fix for premature free of pointer used in call
1346 set MAKE_VERSION to 3.1.15
1348 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1350 * configure.in: determine suitable value for MKSRC.
1351 override using --with-mksrc=PATH.
1353 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1354 configs(8) will use 'sun4' as an alias for 'sparc'.
1356 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1358 * Merge with NetBSD make.
1360 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1361 set MAKE_VERSION to 3.1.14
1362 add configure checks for killpg and sys/socket.h
1364 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1368 * makefile.boot.in (bmake): use install-mk
1369 Also setup ./mk before trying to invoke bmake.boot incase we
1370 needed install-mk to create a sys.mk for us.
1372 * configure.in: If we need to add -I${srcdir}/missing, make it an
1373 absolute path so that it works for lst.lib too.
1375 * make.h: always include sys/cdefs.h since we provide one if the
1378 * Makefile.in (install-mk):
1379 use MKSRC/install-mk which will do the right thing.
1380 use uname -p for ARCH if possible.
1381 since install-mk will setup links bsd.prog.mk -> prog.mk if
1382 needed, just .include bsd.prog.mk
1384 * Merge with NetBSD make (NetBSD-1.6)
1385 Code is ansi-C only now.
1386 Bug in handling of dotLast is fixed.
1387 Can now assign .OBJDIR and make will reset its notions of life.
1388 New modifiers :tu :tl for toUpper and toLower.
1390 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1392 * Merge with NetBSD make
1393 pick up fix for .END failure in compat mode.
1394 pick up fix for extra va_end() in ParseVErrorInternal.
1396 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1398 * configure.in: for systems that have sys/cdefs.h check if it is
1399 compatible. If not, include the one under missing, but tell it to
1400 include the native one too - necessary on Linux.
1402 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1403 include_next (for gcc) to get the native sys/cdefs.h
1405 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1407 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1408 leaking descriptors when using -jN.
1410 * job.c (JobPrintCommand): See if "curdir" exists before
1411 attempting to chdir(). Doing the chdir directly in make (when in
1412 compat mode) fails silently, so let the -jN version do the same.
1413 This can happen when building kernels in an object tree and
1414 playing clever games to reset .CURDIR.
1416 * Merged with NetBSD make
1419 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1421 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1423 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1425 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1426 us not to export the iterator variable when using VAR_CMD context.
1428 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1430 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1431 its the wrong "fix".
1433 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1435 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1436 We now simply append the variable names to .MAKEOVERRIDES, and
1437 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1438 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1439 Apart from fixing quoting bugs in previous version, this allows us
1440 to export vars to the environment by simply doing:
1441 .MAKEOVERRIDES+= PATH
1442 Merged again with NetBSD make, but the above is the only change.
1444 * configure.in: added
1445 --disable-pwd-override disable $PWD overriding getcwd()
1446 --disable-check-make-chdir disable make trying to guess
1447 when it should automatically cd ${.CURDIR}
1449 * Merge with NetBSD make, changes include:
1450 parse.c (ParseDoDependency): Spot that the syntax error is
1451 caused by an unresolved cvs/rcs conflict and say so.
1452 var.c: most of Var* functions now take a ctxt as 1st arg.
1453 now does variable substituion on rhs of sysv style modifiers.
1455 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1456 is now done here. We append the name='value' to .MAKEOVERRIDES
1457 rather than directly into MAKEFLAGS as this allows a Makefile to
1458 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
1459 very similar mechanism. Note that in adding name='value' to
1460 .MAKEOVERRIDES we do the moral equivalent of:
1461 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1463 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1465 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1467 * Merged with NetBSD make
1468 make -dx can now be used to run commands via sh -x
1469 better error messages on exec failures.
1471 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1473 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1474 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
1475 MACHINE etc otherwise they propagate from the previous bmake.
1477 * configure.in (machine): allow --with-machine=generic to make
1478 configure use machine.sh to set MACHINE.
1480 * job.c (JobInterrupt): convert to using WAIT_T and friends.
1482 * Makefile.in: mention in bmake.1 that we use autoconf.
1484 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1486 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1488 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1489 as that rather defeats the usefulness of ${MAKEFILE}.
1491 * main.c (MainParseArgs): append command line variable assignments
1492 to MAKEFLAGS so that they get propagated to child make's.
1493 Apparently this is required POSIX behaviour? Its useful anyway.
1495 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1497 * compat.c (CompatRunCommand): don't use perror() since stdio may
1498 cause problems in child of vfork().
1500 * compat.c, main.c: Call PrintOnError() when we are going to bail.
1501 This routine prints out the .curdir where we stopped and will also
1502 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1504 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
1507 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
1509 * Added RCSid's for the files we've touched.
1511 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1513 * configure.in: Thanks to some clues from mdb@juniper.net,
1514 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1515 as well as what ends up in _PATH_DEFSYSPATH. We now have:
1517 --with-machine=MACHINE explicitly set MACHINE
1518 --with-force-machine=MACHINE set FORCE_MACHINE
1519 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
1520 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
1521 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
1522 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
1524 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1526 * makefile: added a pathetically simple makefile to drive
1527 bootstrapping. Running configure by hand is more useful.
1529 * Makefile.in: added MAKE_VERSION, and reworked things to be less
1530 dependent on NetBSD bsd.*.mk
1532 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1533 _PATH_OBJDIRPREFIX for those that don't want a default.
1534 construct _PATH_DEFSYSPATH from the info we get from configure.
1536 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1537 if MAKE_VERSION is defined.
1539 * compat.c: when we bail, print out the .CURDIR we were in.
1541 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1543 * Merged with NetBSD make
1545 * var.c: fixed a bug in the handling of the modifier :P
1546 if the node as found but the path was null, we segfault trying to
1549 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1551 * Merged with NetBSD make
1553 * make.c: Make_OODate's test for a library out of date was using
1554 cmtime where it should have used mtime (my bug).
1556 * compat.c: Use perror() to tell us what really went wrong when we
1557 cannot exec a command.
1559 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1561 * Merged with NetBSD make
1563 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1565 * Merged with NetBSD make
1567 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1569 * Merged with NetBSD make
1571 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1573 * Merged with NetBSD make
1575 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1577 * util.c: don't provide signal() since we use sigcompat.c
1579 * Makefile.in: added a build target.
1581 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
1582 These allow some quite clever magic.
1584 * main.c (main): added support for getenv(MAKESYSPATH).
1586 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1588 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
1589 This avoids objdir having a different value depending on how a
1590 directory was reached (via command line, or subdir.mk).
1592 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
1594 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1596 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
1597 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
1598 I've been testing this in NetBSD's make for some weeks.
1600 * Turn Makefile into Makefile.in and make it useful.
1602 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1604 * Imported NetBSD's -current make(1) and resolve conflicts.
1606 * Applied autoconf patches from bmake v2
1608 * Imported clean code base from NetBSD-1.0