1 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
3 * Makefile (MAKE_VERSION): 20141111
6 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
8 * Makefile (MAKE_VERSION): 20141105
9 Merge with NetBSD make, pick up
10 o revert major overhaul of suffix handling
11 and POSIX compliance - too much breakage
12 and impossible to make backwards compatible.
13 o we still have the new unit test structure which is ok.
14 o meta.c ensure "-- filemon" is at start of line.
16 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
18 * configure.in: test that result of getconf PATH_MAX is numeric
19 and discard if not. Apparently needed for Hurd.
21 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
23 * Makefile (MAKE_VERSION): 20140830
24 Merge with NetBSD make, pick up
25 o major overhaul of suffix handling
26 o improved POSIX compliance
27 o overhauled unit-tests
29 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
31 * Makefile (MAKE_VERSION): 20140620
32 Merge with NetBSD make, pick up
33 o var.c return varNoError rather than var_Error for ::= modifiers.
35 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
37 * Makefile (MAKE_VERSION): 20140522
38 Merge with NetBSD make, pick up
39 o var.c detect some parse errors.
41 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
43 * Fix spelling errors - patch from Pedro Giffuni
45 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
47 * Makefile (MAKE_VERSION): 20140214
48 Merge with NetBSD make, pick up
50 o use Var_Value to get MAKEOBJDIR[PREFIX]
51 o reduced realloc'ign in brk_string.
52 * configure.in: add a check for compiler supporting __func__
54 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
56 * boot-strap: ignore mksrc=none
58 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
60 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
62 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
64 * Makefile (MAKE_VERSION): 20140101
65 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
66 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
67 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
69 * configure.in: Add AC_PREREQ and check for
70 sysctl; patch from Andrew Shadura andrewsh at debian.org
72 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
74 * Makefile (MAKE_VERSION): 20131010
75 * lose the const from arg to systcl to avoid problems on older BSDs.
77 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
79 * Makefile (MAKE_VERSION): 20131001
80 Merge with NetBSD make, pick up
81 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
82 hw.machine_arch if necessary.
83 o meta.c: meta_oodate - need to look at src of Link and target
85 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
86 provide __arraycount() if needed.
88 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
90 * Makefile (MAKE_VERSION): 20130904
91 Merge with NetBSD make, pick up
92 o Add VAR_INTERNAL context, so that internal setting of
93 MAKEFILE does not override value set by makefiles.
95 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
97 * Makefile (MAKE_VERSION): 20130902
98 Merge with NetBSD make, pick up
99 o CompatRunCommand: only apply shellErrFlag when errCheck is true
101 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
103 * Makefile (MAKE_VERSION): 20130828
104 Merge with NetBSD make, pick up
105 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
106 o Call Job_SetPrefix() from Job_Init() so makefiles have
107 opportunity to set .MAKE.JOB.PREFIX
109 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
111 * Makefile (MAKE_VERSION): 20130730
112 Merge with NetBSD make, pick up
113 o Allow suppression of --- job -- tokens by setting
114 .MAKE.JOB.PREFIX empty.
116 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
118 * Makefile (MAKE_VERSION): 20130716
119 Merge with NetBSD make, pick up
120 o number of gmake compatibility tweaks
121 -w for gmake style entering/leaving messages
122 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
123 handle MAKEFLAGS containing only letters.
124 o when overriding a GLOBAL variable on the command line,
125 delete it from GLOBAL context so -V doesn't show the wrong
128 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
130 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
132 * Makefile (MAKE_VERSION): 20130706
133 Merge with NetBSD make, pick up
134 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
135 true so that CompatRunCommand() can use it, to ensure
136 consistent behavior with jobs mode.
137 o use MAKE_LEVEL_ENV to define the variable to propagate
138 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
139 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
142 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
144 * Makefile (MAKE_VERSION): 20130604
145 Merge with NetBSD make, pick up
146 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
147 to avoid leaking descriptors.
149 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
151 * Makefile (MAKE_VERSION): 20130528
152 Merge with NetBSD make, pick up
153 o var.c: cleanup some left-overs in VarHash()
155 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
157 * Makefile (MAKE_VERSION): 20130520
158 generate manifest from component FILES rather than have to
159 update FILES when mk/FILES changes.
161 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
163 * Makefile (MAKE_VERSION): 20130518
164 Merge with NetBSD make, pick up
165 o suff.c: don't skip all processsing for .PHONY targets
166 else wildcard srcs do not get expanded.
167 o var.c: expand name of variable to delete if necessary.
169 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
171 * Makefile (MAKE_VERSION): 20130330
172 Merge with NetBSD make, pick up
173 o meta.c: refine the handling of .OODATE in commands.
174 Rather than suppress command comparison for the entire script
175 as though .NOMETA_CMP had been used, only suppress it for the
177 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
178 suppress comparison of a command without otherwise affecting it.
179 o make.1: document that
181 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
183 * Makefile (MAKE_VERSION): 20130321
184 yes, not quite right but its a cooler number.
185 Merge with NetBSD make, pick up
186 o parse.c: fix ParseGmakeExport to be portable
188 * meta.c: call meta_init() before makefiles are read and if built
189 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
190 this let's makefiles test for support.
191 Call meta_mode_init() to process .MAKE.MODE.
193 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
195 * Makefile (MAKE_VERSION): 20130305
196 Merge with NetBSD make, pick up
197 o run .STALE: target when a dependency from .depend is missing.
198 o job.c: add Job_RunTarget() for the above and .BEGIN
200 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
202 * Makefile (MAKE_VERSION): 20130303
203 Merge with NetBSD make, pick up
204 o main.c: set .MAKE.OS to utsname.sysname
205 o job.c: more checks for read and poll errors
206 o var.c: lose VarChangeCase() saves 4% time
208 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
210 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
211 want to use MAKEOBJDIR
213 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
215 * Merge with NetBSD make, pick up
216 o make.1: more info on how shell commands are handled.
217 o job.c,main.c: detect write errors to job pipes.
219 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
221 * Makefile (MAKE_VERSION): 20130123
222 Merge with NetBSD make, pick up
223 o meta.c: if script uses .OODATE and meta_oodate() decides
224 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
225 o var.c: in debug output indicate which variabale modifiers
227 o remove Check_Cwd logic the makefiles have been fixed.
229 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
231 * makefile.in: add a simple makefile for folk who insist on
232 ./configure; make; make install
233 it just runs boot-strap
234 * include mk/* to accommodate the above
235 * boot-strap: re-work to accommodate the above
236 mksrc defaults to $Mydir/mk
237 allow op={configure,build,install,clean,all}
238 add options to facilitate install
239 * Makefile.config.in: just the bits set by configure
240 * Makefile: bump version to 20121212
241 abandon Makefile.in (NetBSD Makefile)
242 leverage mk/* instead
243 * configure.in: ensure srcdir is absolute
245 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
247 * Makefile.in (MAKE_VERSION): 20121111
248 fix generation of bmake.cat1
250 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
252 * Makefile.in (MAKE_VERSION): 20121109
253 Merge with NetBSD make, pick up
254 o make.c: MakeBuildChild: return 0 so search continues if a
255 .ORDER dependency is detected.
256 o unit-tests/order: test the above
258 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
260 * Makefile.in (MAKE_VERSION): 20121102
261 Merge with NetBSD make, pick up
262 o cond.c: allow cond_state[] to grow.
263 In meta mode with a very large tree, we can hit the limit
264 while processing dirdeps.
266 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
268 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
270 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
272 * Makefile.in (MAKE_VERSION): 20121010
273 o protect syntax that only bmake parses correctly.
274 o remove auto setting of FORCE_MACHINE, use configure's
275 --with-force-machine=whatever if that is desired.
277 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
279 * Makefile.in: do not lose history from make.1 when generating bmake.1
281 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
283 * Makefile.in (MAKE_VERSION): 20121007
284 Merge with NetBSD make, pick up
285 o compat.c: ignore empty commands - same as jobs mode.
286 o make.1: document meta chars that cause use of shell
288 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
290 * Makefile.in (MAKE_VERSION): bump version to 20120911
291 * bsd.after-import.mk: include Makefile.inc early and allow it to
294 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
296 * Makefile.in (MAKE_VERSION): bump version to 20120831
297 Merge with NetBSD make, pick up
298 o cast sizeof() to int for comparison
301 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
303 * Makefile.in (MAKE_VERSION): bump version to 20120830
304 Merge with NetBSD make, pick up
305 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
306 o debug flag -dV causes -V to show raw value regardless.
308 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
310 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
313 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
315 * Makefile.in (MAKE_VERSION): bump version to 20120704
316 Merge with NetBSD make, pick up
317 o Job_ParseShell should call Shell_Init if it has been
319 * Makefile.in: set USE_META based on configure result.
320 also .PARSEDIR is safer indicator of bmake.
322 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
324 * Makefile.in: bump version to 20120626
325 ensure CPPFLAGS is in CFLAGS
326 * meta.c: avoid nested externs
327 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
329 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
331 * Makefile.in (MAKE_VERSION): bump version to 20120620
332 Merge with NetBSD make, pick up
333 o make_malloc.c: avoid including make_malloc.h again
335 * Makefile.in: avoid bmake only syntax or protect with
336 .if defined(.MAKE.LEVEL)
337 * bsd.after-import.mk: replace .-include with .sinclude
338 ensure? SRCTOP gets a value
339 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
341 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
343 * Makefile.in (MAKE_VERSION): bump version to 20120612
344 Merge with NetBSD make, pick up
345 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
346 for greater portability.
347 o unit-tests/forloop: check that .for works as expected wrt
348 number of times and with "quoted strings".
350 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
352 * Makefile.in (MAKE_VERSION): bump version to 20120606
353 Merge with NetBSD make, pick up
354 o compat.c: use kill(2) rather than raise(3).
355 * configure.in: look for sys/dev/filemon
356 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
357 and pass BOOTSTRAP_XTRAS to boot-strap.
359 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
361 * Makefile.in (MAKE_VERSION): bump version to 20120604
362 Merge with NetBSD make, pick up
363 o util.c and var.c share same var for tracking if environ
364 has been reallocated.
365 o util.c provide getenv with setenv.
366 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
367 when the shell actively strips .MAKE.* from the environment.
368 We still refer to the variable always as .MAKE.LEVEL
369 * util.c fix bug in findenv() was finding prefix of name.
370 * compat.c: re-raising SIGINT etc after running .INTERRUPT
371 results in more reliable termination of all activity on many
374 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
376 * Makefile.in (MAKE_VERSION): bump version to 20120602
377 Merge with NetBSD make, pick up
378 o for.c: handle quoted items in .for list
380 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
382 * Makefile.in (MAKE_VERSION): bump version to 20120530
383 Merge with NetBSD make, pick up
384 o compat.c: ignore empty command.
386 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
388 * Makefile.in (MAKE_VERSION): bump version to 20120524
389 * FILES: add bsd.after-import.mk:
390 A simple means of integrating bmake into a BSD build system.
392 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
394 * Makefile.in (MAKE_VERSION): bump version to 20120520
395 Merge with NetBSD make, pick up
396 o increased limit for nested conditionals.
398 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
400 * Makefile.in (MAKE_VERSION): bump version to 20120518
401 Merge with NetBSD make, pick up
402 o use _exit(2) in signal hanlder
403 o Don't use the [dir] cache when building nodes that might have
404 changed since the last exec.
405 o Avoid nested extern declaration warnings.
407 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
409 * meta.c (fgetLine): avoid %z - not portable.
410 * parse.c: Since we moved include of sys/mman.h
411 and def's of MAP_COPY etc. we got dups from a merge.
413 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
415 * Makefile.in (MAKE_VERSION): bump version to 20120420
416 Merge with NetBSD make, pick up
417 o restore duplicate supression in .MAKE.MAKEFILES
418 runtime saving can be significant.
419 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
420 consumption up to 20%.
422 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
424 * Makefile.in (MAKE_VERSION): bump version to 20120420
425 Merge with NetBSD make, pick up
426 o remove duplicate supression in .MAKE.MAKEFILES
427 o improved dir cache behavior
428 o gmake'ish export command
430 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
432 * Makefile.in (MAKE_VERSION): bump version to 20120325
433 Merge with NetBSD make, pick up
434 o fix parsing of :[#] in conditionals.
436 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
438 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
439 since some systems cannot cope with .Nx <version>
441 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
443 * Makefile.in (MAKE_VERSION): bump version to 20111111
444 Merge with NetBSD make, pick up
445 o debug output for .PARSEDIR and .PARSEFILE
447 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
449 * Makefile.in (MAKE_VERSION): bump version to 20111010
451 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
453 * boot-strap: check for an expected file in the dirs we look for.
454 * make-bootstrap.sh: pass on LDSTATIC
456 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
458 * Makefile.in (MAKE_VERSION): bump version to 20111001
459 Merge with NetBSD make, pick up
460 o ensure .PREFIX is set for .PHONY
461 and .TARGET set for .PHONY run via .END
462 o __dead used consistently
464 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
466 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
468 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
470 * Makefile.in (MAKE_VERSION): bump version to 20110905
471 Merge with NetBSD make, pick up
472 o meta_oodate: ignore makeDependfile
474 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
476 * Makefile.in (MAKE_VERSION): bump version to 20110828
477 Merge with NetBSD make, pick up
478 o silent=yes in .MAKE.MODE causes meta mode to mark targets
479 as SILENT if a .meta file is created
481 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
483 * Makefile.in (MAKE_VERSION): bump version to 20110818
484 Merge with NetBSD make, pick up
485 o in meta mode, if target flagged .META a missing .meta file
486 means target is out-of-date
487 o fixes for gcc 4.5 warnings
488 o simplify job printing code
490 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
492 * Makefile.in (MAKE_VERSION): bump version to 20110808
493 Merge with NetBSD make, pick up
494 o do not touch OP_SPECIAL targets when doing make -t
496 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
498 * Makefile.in (MAKE_VERSION): bump version to 20110622
499 Merge with NetBSD make, pick up
500 o meta_oodate detect corrupted .meta file and declare oodate.
501 * configure.in: add check for setsid
503 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
505 * Merge with NetBSD make, pick up
506 o unit-tests/modts now works on MirBSD
508 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
510 * Makefile.in (MAKE_VERSION): bump version to 20110606
511 Merge with NetBSD make, pick up
512 o ApplyModifiers: when we parse a variable which is not
513 the entire modifier string, or not followed by ':', do not
514 consider it as containing modifiers.
515 o loadfile: ensure newline at end of mapped file.
517 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
519 * Makefile.in (MAKE_VERSION): bump version to 20110505
520 Merge with NetBSD make, pick up
521 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
522 of make's control. In meta mode, any generated file within
523 said bailiwick, which is found to be missing, causes current
524 target to be out-of-date.
526 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
528 * Makefile.in (MAKE_VERSION): bump version to 20110411
529 Merge with NetBSD make, pick up
530 o when long modifiers fail to match, check sysV style.
533 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
535 * Makefile.in (MAKE_VERSION): bump version to 20110410
536 Merge with NetBSD make, pick up
537 o :hash - cheap 32bit hash of value
538 o :localtime, :gmtime - use value as format string for strftime.
540 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
542 * Makefile.in (MAKE_VERSION): bump version to 20110330
543 mostly because its a cooler version.
544 Merge with NetBSD make, pick up
545 o NetBSD tags for meta.[ch]
546 o job.c call meta_job_finish() after meta_job_error().
547 o meta_job_error() should call meta_job_finish() to ensure
548 .meta file is closed, and safe to copy - if .ERROR target wants.
549 meta_job_finish() is safe to call repeatedly.
551 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
553 * unit-tests/modts: use printf if it is a builtin,
554 to save us from MirBSD
556 * Makefile.in (MAKE_VERSION): bump version to 20110329
557 Merge with NetBSD make, pick up
558 o fix for use after free() in CondDoExists().
559 o meta_oodate() report extra commands and return earlier.
561 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
563 * Makefile.in (MAKE_VERSION): bump version to 20110327
564 Merge with NetBSD make, pick up
565 o meta.c, if .MAKE.MODE contains curdirOk=yes
566 allow creating .meta files in .CURDIR
567 * boot-strap (TOOL_DIFF): aparently at least on linux distro
568 formats the output of 'type' differently - so eat any "()"
570 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
572 * Makefile.in (MAKE_VERSION): bump version to 20110306
573 Merge with NetBSD make, pick up
574 o meta.c, only do getcwd() once
576 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
578 * Makefile.in (MAKE_VERSION): bump version to 20110305
579 Merge with NetBSD make, pick up
580 o correct sysV substitution handling of empty lhs and variable
581 o correct exists() check for dir with trailing /
582 o correct handling of modifiers for non-existant variables
583 during evaluation of conditionals.
584 o ensure MAP_FILE is defined.
585 o meta.c use curdir[] now exported by main.c
587 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
589 * Makefile.in (MAKE_VERSION): bump version to 20110225
590 Merge with NetBSD make, pick up
591 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
592 makefiles have been read.
593 o fix example of :? modifier in man page.
595 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
597 * Makefile.in (MAKE_VERSION): bump version to 20110214
598 Merge with NetBSD make, pick up
599 o meta.c handle realpath() failing when generating meta file
602 * sigcompat.c: convert to ansi so we can use higher warning levels.
605 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
607 * Makefile.in (MAKE_VERSION): bump version to 20110207
608 Merge with NetBSD make, pick up
609 o fix for bug in meta mode.
611 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
613 * parse.c: SunOS 5.8 at least does not have MAP_FILE
615 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
617 * Makefile.in (MAKE_VERSION): bump version to 20110101
618 Merge with NetBSD make, pick up
619 o use mmap(2) if available, for reading makefiles
621 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
623 * Makefile.in (MAKE_VERSION): bump version to 20101215
624 Merge with NetBSD make, pick up
625 o ensure meta_job_error() does not report a previous .meta file
628 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
630 * Makefile.in (MAKE_VERSION): bump version to 20101210
631 Merge with NetBSD make, pick up
632 o meta_oodate: track cwd per process, and only consider target
633 out-of-date if missing file is outside make's CWD.
634 Ignore files in /tmp/ etc.
635 o to ensure unit-tests results match, need to control LC_ALL
637 o fix for parsing bug in var.c
639 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
641 * Makefile.in (MAKE_VERSION): bump version to 20101126
642 Merge with NetBSD make, pick up
643 o if stale dependency is an IMPSRC, search via .PATH
644 o meta_oodate: if a referenced file is missing, target is
646 o meta_oodate: if a target uses .OODATE in its commands,
647 it (.OODATE) needs to be recomputed.
648 o keep a pointer to youngest child node, rather than just its
651 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
653 * Makefile.in (MAKE_VERSION): bump version to 20101101
655 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
657 * machine.sh: like os.sh,
658 allow for uname -p producing useless drivel
660 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
662 * boot-strap: document configure knobs for meta and filemon.
664 * Makefile.in (MAKE_VERSION): bump version to 20100911
665 Merge with NetBSD make, pick up
668 * make-bootstrap.sh.in: handle meta.c
669 * configure.in: add knobs for use_meta and filemon_h
670 also, look for dirname, str[e]sep and strlcpy
671 * util.c: add simple err[x] and warn[x]
673 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
675 * boot-strap (TOOL_DIFF): set this to ensure tests use
676 the same version of diff that configure tested
678 * Makefile.in (MAKE_VERSION): bump version to 20100808
679 Merge with NetBSD make, pick up
680 o in jobs mode, when we discover we cannot make something,
681 call PrintOnError before exit.
683 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
685 * Makefile.in (MAKE_VERSION): bump version to 20100806
686 Merge with NetBSD make, pick up
687 o formatting fixes for ignored errors
688 o ensure jobs are cleaned up regardless of where wait() was called.
690 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
692 * Makefile.in (MAKE_VERSION): bump version to 20100618
693 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
695 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
697 * Makefile.in (MAKE_VERSION): bump version to 20100616
698 Merge with NetBSD make, pick up
700 o call PrintOnError from JobFinish when we detect an error we
703 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
705 * Makefile.in (MAKE_VERSION): bump version to 20100606
706 Merge with NetBSD make, pick up
709 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
711 * Makefile.in (MAKE_VERSION): bump version to 20100605
712 Merge with NetBSD make, pick up
713 o use bmake_signal() which is a wrapper around sigaction()
715 o add .export-env to allow exporting variables to environment
716 without tracking (so no re-export when the internal value is
719 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
721 * Makefile.in (MAKE_VERSION): bump version to 20100524
722 Merge with NetBSD make, pick up
723 o fix for .info et al being greedy.
725 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
727 * Makefile.in (MAKE_VERSION): bump version to 20100520
728 Merge with NetBSD make, pick up
729 o back to using realpath on argv[0]
730 but only if contains '/' and does not start with '/'.
732 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
734 * boot-strap: use absolute path for bmake when running tests.
736 * Makefile.in (MAKE_VERSION): bump version to 20100510
737 Merge with NetBSD make, pick up
738 o revert use of realpath on argv[0]
739 too many corner cases.
740 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
742 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
744 * Makefile.in (MAKE_VERSION): bump version to 20100505
745 Merge with NetBSD make, pick up
746 o fix for missed SIGCHLD when compiled with SunPRO
747 actually for bmake, defining FORCE_POSIX_SIGNALS would have
750 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
752 * Makefile.in (MAKE_VERSION): bump version to 20100430
753 Merge with NetBSD make, pick up
754 o fflush stdout before writing to stdout
756 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
758 * Makefile.in (MAKE_VERSION): bump version to 20100423
759 Merge with NetBSD make, pick up
760 o updated unit tests for Haiku (this time for sure).
761 * boot-strap: based on patch from joerg
762 honor --with-default-sys-path better.
763 * boot-strap: remove mention of --with-prefix-sys-path
765 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
767 * Makefile.in (MAKE_VERSION): bump version to 20100422
768 * Merge with NetBSD make, pick up
769 o fix for vfork() on Darwin.
770 o fix for bogus $TMPDIR.
771 o set .MAKE.MODE=compat for -B
772 o set .MAKE.JOBS=max_jobs for -j max_jobs
773 o allow unit-tests to run without any *.mk
774 o unit-tests/modmisc be more conservative in dirs presumed to exist.
775 * boot-strap: ignore /usr/share/mk except on NetBSD.
776 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
777 ensure sort(1) behaves as expected.
779 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
781 * boot-strap: add FindHereOrAbove so we can use -m .../mk
783 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
785 * Makefile.in (MAKE_VERSION): bump version to 20100420
786 * Merge with NetBSD make, pick up
787 o fix for variable realpath() behavior.
788 we have to stat(2) the result to be sure.
789 o fix for .export (all) when nested vars use :sh
791 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
793 * Makefile.in (MAKE_VERSION): bump version to 20100414
794 * Merge with NetBSD make, pick up
795 o use realpath to resolve argv[0] (for .MAKE) if needed.
796 o add realpath from libc.
797 o add :tA to resolve variable via realpath(3) if possible.
799 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
801 * Makefile.in (MAKE_VERSION): bump version to 20100408
802 * Merge with NetBSD make, pick up
803 o unit tests for .ERROR, .error
804 o fix for .ERROR to ensure it cannot be default target.
806 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
808 * Makefile.in (MAKE_VERSION): bump version to 20100406
809 * Merge with NetBSD make, pick up
810 o fix for compat mode "Error code" going to debug_file.
811 o fix for .ALLSRC being populated twice.
812 o support for .info, .warning and .error directives
813 o .MAKE.MODE to control make's operational mode
814 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
816 o .MAKE.DEPENDFILE to control the name of the depend file
817 o .ERROR target - run on failure.
819 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
821 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
823 * os.sh,arch.c: patch for Haiku from joerg at netbsd
825 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
827 * Makefile.in (MAKE_VERSION): bump version to 20100222
828 * Merge with NetBSD make, pick up
829 o better error msg for .for with mutiple inter vars
832 o use make-bootstrap.sh from joerg at netbsd
833 to avoid the need for a native make when bootstrapping.
834 o add "" everywhere ;-)
835 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
836 otherwise the pre-formated version.
838 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
840 * Makefile.in (MAKE_VERSION): bump version to 20100102
841 * Merge with NetBSD make, pick up:
844 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
846 * Makefile.in (MAKE_VERSION): bump version to 20091118
847 * Merge with NetBSD make, pick up:
849 o report lines that start with '.' and should have ':'
850 (catch typo's of .el*if).
852 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
854 * configure.in: Ensure that srcdir and mksrc are absolute paths.
856 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
858 * Makefile.in (MAKE_VERSION): fix version to 20091007
860 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
862 * Makefile.in (MAKE_VERSION): bump version to 200910007
863 * Merge with NetBSD make, pick up:
864 o fix for parsing of :S;...;...; applied to .for loop iterator
865 appearing in a dependency line.
867 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
869 * Makefile.in (MAKE_VERSION): bump version to 20090909
870 * Merge with NetBSD make, pick up:
871 o fix for -C, .CURDIR and .OBJDIR
873 o allow share_dir to be set independent of prefix.
874 o select default share_dir better when prefix ends in $HOST_TARGET
875 o if FORCE_BSD_MK etc were set, include them in the suggested
878 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
880 * Makefile.in (MAKE_VERSION): bump version to 20090908
881 * Merge with NetBSD make, pick up:
882 o .MAKE.LEVEL for recursion tracking
883 o fix for :M scanning \:
885 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
887 * configure.in: Don't -D__EXTENSIONS__ if
888 AC_USE_SYSTEM_EXTENSIONS says "no".
890 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
892 * Makefile.in (MAKE_VERSION): bump version to 20090826
893 Simplify MAKE_VERSION to just the bare date.
894 * Merge with NetBSD make, pick up:
895 o -C directory support.
896 o support for SIGINFO
897 o use $TMPDIR for temp files.
898 o child of vfork should be careful about modifying parent's state.
901 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
903 * Appy some patches for MiNT from David Brownlee
905 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
907 * Makefile.in (BMAKE_VERSION): bump version to 20090222
908 * Merge with NetBSD make, pick up:
909 o Possible null pointer de-ref in Var_Set.
911 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
913 * Makefile.in (BMAKE_VERSION): bump version to 20090204
914 * Merge with NetBSD make, pick up:
915 o bmake_malloc et al moved to their own .c
916 o Count both () and {} when looking for the end of a :M pattern
917 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
918 o strlist.c - functions for processing extendable arrays of pointers to strings.
919 o ClientData replaced with void *, so const void * can be used.
920 o New debug flag C for DEBUG_CWD
922 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
924 * Makefile.in (BMAKE_VERSION): bump version to 20081111
925 Apply patch from Joerg Sonnenberge to
927 o remove some redundant checks
928 o check for emlloc etc only in libutil and require the whole family.
930 o remove [v]asprintf which is no longer used.
932 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
934 * Makefile.in (BMAKE_VERSION): bump version to 20081101
935 * Merge with NetBSD make, pick up:
936 o util.c: avoid use of putenv() - christos
938 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
940 * Makefile.in (BMAKE_VERSION): bump version to 20081030
941 pick up man page tweaks.
943 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
945 * Makefile.in: move processing of LIBOBJS to after is definition!
946 thus we'll have getenv.c in SRCS only if needed.
948 * make.1: add examples of how to use :?
950 * Makefile.in (BMAKE_VERSION): bump version to 20081029
951 * Merge with NetBSD make, pick up:
952 o fix for .END processing with -j
953 o segfault from Parse_Error when no makefile is open
954 o handle numeric expressions in any variable expansion
955 o debug output now defaults to stderr, -dF to change it - apb
956 o make now uses bmake_malloc etc so that it can build natively
957 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
959 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
961 * Makefile.in (BMAKE_VERSION): bump version to 20080808
962 * Merge with NetBSD make, pick up:
963 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
964 long lines in Makefiles
965 o optimizations for VarQuote by joerg
966 o fix for PR/38756: dominik: make dumps core on invalid makefile
968 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
970 * Makefile.in (BMAKE_VERSION): bump version to 20080515
971 * Merge with NetBSD make, pick up:
972 o fix skip setting vars in VAR_GLOBAL context, to handle
973 cases where VAR_CMD is used for other than command line vars.
975 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
977 * boot-strap (make_version): we may need to look in
978 $prefix/share/mk for sys.mk
980 * Makefile.in (BMAKE_VERSION): bump version to 20080514
981 * Merge with NetBSD make, pick up:
982 o skip setting vars in VAR_GLOBAL context, when already set in
983 VAR_CMD which takes precedence.
985 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
987 * Makefile.in (BMAKE_VERSION): bump version to 20080330
988 * Merge with NetBSD make, pick up:
989 o fix for ?= when LHS contains variable reference.
991 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
993 * merge some patches from NetBSD pkgsrc.
995 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
996 the MAKSYSPATH used during bootstrap.
998 * Makefile.in (BMAKE_VERSION): bump version to 20080215
999 * Merge with NetBSD make, pick up:
1000 o warn if non-space chars follow 'empty' in a conditional.
1002 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1004 * Makefile.in (BMAKE_VERSION): bump version to 20080118
1005 * Merge with NetBSD make, pick up:
1006 o consider dependencies read from .depend as optional - dsl
1007 o remember when buffer for reading makefile grows - dsl
1008 o add -dl (aka LOUD) - David O'Brien
1010 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
1012 * Makefile.in (BMAKE_VERSION): bump version to 20071022
1013 * Merge with NetBSD make, pick up:
1014 o Allow .PATH<suffix> to be used for .include ""
1016 * boot-strap: source default settings from .bmake-boot-strap.rc
1018 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
1020 * Makefile.in: fix maninstall on various systems
1021 provided that our man.mk is used.
1022 For non-BSD systems we install the preformatted page
1025 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
1027 * boot-strap: make bmake.1 too, so maninstall works.
1029 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1031 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1032 * Merge with NetBSD make, pick up:
1033 o revamped handling of defshell - configure no longer needs to
1034 know the content of the shells array - apb
1035 o stop Var_Subst modifying its input - apb
1036 o avoid calling ParseTrackInput too often - dsl
1038 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1040 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1041 * Merge with NetBSD make, pick up:
1042 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1044 * sigcompat.c: some tweaks for HP-UX 11.x based on
1045 patch from Tobias Nygren
1047 * configure.in: update handling of --with-defshell to match
1048 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1049 will now do what one might hope - provided the chosen shell
1050 behaves enough like sh.
1052 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1054 * Makefile.in (BMAKE_VERSION): bump to 20071008
1055 * Merge with NetBSD make, pick up:
1056 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1057 o .export/.MAKE.EXPORTED - export of variables - sjg
1058 o .MAKE.MAKEFILES - track all makefiles read - sjg
1059 o performance improvements - dsl
1060 o revamp parallel job scheduling - dsl
1062 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1064 * Makefile.in (BMAKE_VERSION): bump to 20060728
1065 * Merge with NetBSD make, pick up:
1066 o extra debug info during variable and cond processing - sjg
1067 o shell definition now covers newline - rillig
1068 o minor mem leak in PrintOnError - sjg
1070 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1072 * Makefile.in (BMAKE_VERSION): bump to 20060511
1073 * Merge with NetBSD make, pick up:
1074 o more memory leaks - coverity
1075 o possible overflow in ArchFindMember - coverity
1076 o extract variable modifier code out of Var_Parse()
1077 so it can be called recursively - sjg
1078 o unit-tests/moderrs - sjg
1080 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1082 * Makefile.in (BMAKE_VERSION): bump to 20060412
1083 * Merge with NetBSD make, pick up:
1084 o fixes for some memory leaks - coverity
1085 o only read first sys.mk etc when searching sysIncPath - sjg
1087 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1088 setting ${MAKEFILE} - OBATA Akio
1090 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1092 * Makefile.in (BMAKE_VERSION): bump to 20060318
1093 * Merge with NetBSD make, pick up:
1094 o cleanup of job.c to remove remote handling, distcc is more
1095 useful and this code was likely bit-rotting - dsl
1096 o fix for :P modifier - sjg
1097 * boot-strap: set default prefix to something reasonable
1100 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1102 * Makefile.in (BMAKE_VERSION): bump to 20060301
1103 * Merge with NetBSD make, pick up:
1104 o make .WAIT apply recursively, document and test case - apb
1105 o allow variable modifiers in a variable appear anywhere in
1106 modifier list, document and test case - sjg
1108 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1110 * Makefile.in (BMAKE_VERSION): bump to 20060222
1111 * Merge with NetBSD make, pick up:
1112 o improved job token handling - dsl
1113 o SIG_DFL the correct signal before exec - dsl
1114 o more debug info during parsing - dsl
1115 o allow variable modifiers to be specified via variable - sjg
1116 * boot-strap: explain why we died if no mksrc
1118 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1120 * Makefile.in (BMAKE_VERSION): bump to 20051105
1121 * configure.in: always set default_sys_path
1122 default is ${prefix}/share/mk
1123 - remove prefix_sys_path, anyone wanting more than above
1124 needs to set it manually.
1126 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1128 * boot-strap: make this a bit easier for pkgsrc folk.
1129 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1130 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1132 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1134 * Makefile.in (BMAKE_VERSION): bump to 20051102
1135 * job.c (JobFinish): fix likely ancient merge lossage
1136 fix from Todd Vierling.
1137 * boot-strap (srcdir): allow setting mksrc=none
1139 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1141 * Makefile.in (BMAKE_VERSION): bump to 20051031
1142 * ranlib.h: skip on OSF too.
1145 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1147 * Makefile.in (BMAKE_VERSION): bump to 20051002
1150 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1152 * Makefile.in (BMAKE_VERSION): bump to 20051001
1153 support for UnixWare and some other systems,
1154 based on patches from pkgsrc/bootstrap
1156 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1158 * Makefile.in (BMAKE_VERSION): bump to 20050901
1159 * Merge with NetBSD make, pick up:
1160 o possible parse error causing us to wander off.
1162 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1164 * Makefile.in (BMAKE_VERSION): bump to 20050606
1165 * Merge with NetBSD make, pick up:
1166 o :0x modifier for randomizing a list
1167 o fixes for a number of -Wuninitialized issues.
1169 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1171 * Makefile.in (BMAKE_VERSION): bump to 20050530
1172 * Merge with NetBSD make, pick up:
1173 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1175 * README: was seriously out of date.
1177 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1179 * Important to use .MAKE rather than MAKE.
1181 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1183 * Makefile.in (BMAKE_VERSION): bump to 20050315
1184 * Merge with NetBSD make, pick up:
1185 o don't mistake .elsefoo for .else
1186 o use suffix-specific search path correctly
1187 o bunch of style nits
1189 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1192 o ensure that args to --src and --with-mksrc
1193 are resolved before giving them to configure.
1194 o add -o "objdir" so that builder can control it,
1195 default is $OS as determined by os.sh
1196 o add -q to suppress all the install instructions.
1198 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1200 * Remove __IDSTRING()
1202 * Makefile.in (BMAKE_VERSION): bump to 20040508
1203 * Merge with NetBSD make, pick up:
1205 - remove '-e' from compat mode
1206 - add support for '+' command-line prefix.
1207 o fix for handling '--' on command-line.
1208 o fix include in lst.lib/lstInt.h to simplify '-I's
1209 o we also picked up replacement of MAKE_BOOTSTRAP
1210 with !MAKE_NATIVE which is a noop, but possibly confusing.
1212 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1214 * Makefile.in (BMAKE_VERSION): bump to 20040414
1215 * Merge with NetBSD make, pick up:
1216 o allow quoted strings on lhs of conditionals
1217 o issue warning when extra .else is seen
1218 o print line numer when errors encountered during parsing from
1221 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1223 * Makefile.in (BMAKE_VERSION): bump to 20040220
1224 * Merge with NetBSD make, pick up:
1225 o fix for old :M parsing bug.
1226 o re-jigged unit-tests
1228 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1230 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1231 so that './bmake -f Makefile test' works.
1233 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1235 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1236 * Merge with NetBSD make, pick up:
1237 o search upwards for *.mk
1238 o fix for double free of var substitution buffers
1239 o use of getopt replaced with custom code, since the usage
1240 (re-scanning) isn't posix compatible.
1242 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1244 * arch.c: don't include ranlib.h on ELF systems
1245 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1247 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1249 * Makefile.in (BMAKE_VERSION): bump to 20040118
1251 * boot-strap (while): export vars we assign to on cmdline
1252 * unit-test/Makefile.in: ternary is .PHONY
1254 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1256 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1257 * Merge with NetBSD make, pick up:
1258 o fix for ternary modifier
1260 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1262 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1263 * Merge with NetBSD make, pick up:
1264 o fix for cond.c to handle compound expressions better
1265 o variable expansion within sysV style replacements
1267 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1269 * Make portable snprintf safer - output to /dev/null first to
1272 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1273 * Merge with NetBSD make, pick up:
1274 o -dg3 to show input graph when things go wrong.
1275 o explicitly look for makefiles in objdir if not found in curdir so
1276 that errors in .depend etc will be reported accurarely.
1277 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1278 instead as it more accurately reflects the expected behavior and
1279 is more consistently implemented.
1280 o avoid use of asprintf.
1282 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1284 * util.c: Add asprintf and vasprintf.
1286 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1287 * Merge with NetBSD make, pick up:
1288 :[] modifier - allows picking words from a variable.
1289 :tW modifier - allows treating value as one big word.
1290 W flag for :C and :S - allows treating value as one big word.
1292 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1294 * Merge with NetBSD make
1295 pick up -de flag to enable printing failed command.
1296 don't skip 1st two dir entries (normally . and ..) since
1297 coda does not have them.
1299 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1301 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1302 * Merge with NetBSD make, pick up:
1303 - changes for -V '${VAR}' to print fully expanded value
1305 - CompatRunCommand now prints the command that failed.
1306 - several files got updated 3 clause Berkeley license.
1308 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1310 * boot-strap: Allow setting configure args on command line.
1312 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1314 * configure.in: add --with-defshell to allow sh or ksh
1315 to be selected as default shell.
1317 * Makefile.in: bump version to 20030731
1319 * Merge with NetBSD make
1320 Pick up .SHELL spec for ksh and associate man page changes.
1321 Also compat mode now uses the same shell specs.
1323 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1325 * var.c (Var_Parse): ensure delim is initialized.
1327 * unit-tests/Makefile.in: use single quotes to avoid problems from
1331 Run the unit-tests as part of the bootstrap procedure.
1333 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1335 * unit-tests/Makefile.in: always force complaints from
1336 ${TEST_MAKE} to be from 'make'.
1338 * configure.in: add check for 'diff -u'
1339 also fix some old autoconf'isms
1341 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1342 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1344 * Merge with NetBSD make
1345 Pick up fix for :ts parsing error in some cases.
1348 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1350 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1352 * var.c (Var_Parse): fix bug in :ts modifier, after const
1353 correctness fixes, must pass nstr to VarModify.
1355 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1357 * Makefile.in: BMAKE_VERSION switch to a date based version.
1358 We'll generally use the date of last import from NetBSD.
1360 * Merge with NetBSD make
1361 Pick up fixes for const-correctness, now passes WARNS=3 on
1363 Pick up :ts modifier, allows controlling the separator used
1364 between words in variable expansion.
1366 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1368 * FILES: include boot-strap and os.sh
1370 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1371 FreeBSD is known to be bad.
1373 * makefile.boot.in (bootstrap): make this the default target.
1375 * Makefile.in: bump version to 3.1.19
1377 * machine.sh: avoid A-Z with tr as it is bound to lose.
1379 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1381 * Merge with NetBSD make
1382 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1383 Plus some doc fixes.
1385 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1387 * Merge with NetBSD make
1388 Pick up fix for PR/1523 - don't count a library as built, if there
1389 is no way to build it
1391 * Bump version to 3.1.18
1393 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1395 * Merge with NetBSD make
1396 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1397 appears in src list.
1399 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1401 * Merge with NetBSD make (mmm 10th anniversary!)
1402 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1403 pick up -X which tells us to not export VAR=val via setenv if
1404 we are already doing so via MAKEFLAGS. This saves valuable env
1405 space on systems like Darwin.
1406 set MAKE_VERSION to 3.1.17
1408 * parse.c: pix up fix for suffix rules
1410 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1412 * Merge with NetBSD make.
1413 pick up fix for propagating -B via MAKEFLAGS.
1414 set MAKE_VERSION to 3.1.16
1416 * Apply some patches from pkgsrc-bootstrap/bmake
1417 Originally by Grant Beattie <grant@netbsd.org>
1418 I may have missed some - since they are based on bmake-3.1.12
1420 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1422 * makefile.boot.in (bmake): update install targets for those that
1423 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1424 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1426 * bmake.cat1: update the pre-formatted man page!
1428 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1430 * Merge with NetBSD make.
1431 pick up fix for premature free of pointer used in call
1433 set MAKE_VERSION to 3.1.15
1435 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1437 * configure.in: determine suitable value for MKSRC.
1438 override using --with-mksrc=PATH.
1440 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1441 configs(8) will use 'sun4' as an alias for 'sparc'.
1443 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1445 * Merge with NetBSD make.
1447 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1448 set MAKE_VERSION to 3.1.14
1449 add configure checks for killpg and sys/socket.h
1451 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1455 * makefile.boot.in (bmake): use install-mk
1456 Also setup ./mk before trying to invoke bmake.boot incase we
1457 needed install-mk to create a sys.mk for us.
1459 * configure.in: If we need to add -I${srcdir}/missing, make it an
1460 absolute path so that it works for lst.lib too.
1462 * make.h: always include sys/cdefs.h since we provide one if the
1465 * Makefile.in (install-mk):
1466 use MKSRC/install-mk which will do the right thing.
1467 use uname -p for ARCH if possible.
1468 since install-mk will setup links bsd.prog.mk -> prog.mk if
1469 needed, just .include bsd.prog.mk
1471 * Merge with NetBSD make (NetBSD-1.6)
1472 Code is ansi-C only now.
1473 Bug in handling of dotLast is fixed.
1474 Can now assign .OBJDIR and make will reset its notions of life.
1475 New modifiers :tu :tl for toUpper and toLower.
1477 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1479 * Merge with NetBSD make
1480 pick up fix for .END failure in compat mode.
1481 pick up fix for extra va_end() in ParseVErrorInternal.
1483 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1485 * configure.in: for systems that have sys/cdefs.h check if it is
1486 compatible. If not, include the one under missing, but tell it to
1487 include the native one too - necessary on Linux.
1489 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1490 include_next (for gcc) to get the native sys/cdefs.h
1492 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1494 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1495 leaking descriptors when using -jN.
1497 * job.c (JobPrintCommand): See if "curdir" exists before
1498 attempting to chdir(). Doing the chdir directly in make (when in
1499 compat mode) fails silently, so let the -jN version do the same.
1500 This can happen when building kernels in an object tree and
1501 playing clever games to reset .CURDIR.
1503 * Merged with NetBSD make
1506 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1508 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1510 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1512 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1513 us not to export the iterator variable when using VAR_CMD context.
1515 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1517 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1518 its the wrong "fix".
1520 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1522 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1523 We now simply append the variable names to .MAKEOVERRIDES, and
1524 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1525 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1526 Apart from fixing quoting bugs in previous version, this allows us
1527 to export vars to the environment by simply doing:
1528 .MAKEOVERRIDES+= PATH
1529 Merged again with NetBSD make, but the above is the only change.
1531 * configure.in: added
1532 --disable-pwd-override disable $PWD overriding getcwd()
1533 --disable-check-make-chdir disable make trying to guess
1534 when it should automatically cd ${.CURDIR}
1536 * Merge with NetBSD make, changes include:
1537 parse.c (ParseDoDependency): Spot that the syntax error is
1538 caused by an unresolved cvs/rcs conflict and say so.
1539 var.c: most of Var* functions now take a ctxt as 1st arg.
1540 now does variable substituion on rhs of sysv style modifiers.
1542 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1543 is now done here. We append the name='value' to .MAKEOVERRIDES
1544 rather than directly into MAKEFLAGS as this allows a Makefile to
1545 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
1546 very similar mechanism. Note that in adding name='value' to
1547 .MAKEOVERRIDES we do the moral equivalent of:
1548 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1550 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1552 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1554 * Merged with NetBSD make
1555 make -dx can now be used to run commands via sh -x
1556 better error messages on exec failures.
1558 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1560 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1561 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
1562 MACHINE etc otherwise they propagate from the previous bmake.
1564 * configure.in (machine): allow --with-machine=generic to make
1565 configure use machine.sh to set MACHINE.
1567 * job.c (JobInterrupt): convert to using WAIT_T and friends.
1569 * Makefile.in: mention in bmake.1 that we use autoconf.
1571 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1573 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1575 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1576 as that rather defeats the usefulness of ${MAKEFILE}.
1578 * main.c (MainParseArgs): append command line variable assignments
1579 to MAKEFLAGS so that they get propagated to child make's.
1580 Apparently this is required POSIX behaviour? Its useful anyway.
1582 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1584 * compat.c (CompatRunCommand): don't use perror() since stdio may
1585 cause problems in child of vfork().
1587 * compat.c, main.c: Call PrintOnError() when we are going to bail.
1588 This routine prints out the .curdir where we stopped and will also
1589 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1591 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
1594 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
1596 * Added RCSid's for the files we've touched.
1598 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1600 * configure.in: Thanks to some clues from mdb@juniper.net,
1601 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1602 as well as what ends up in _PATH_DEFSYSPATH. We now have:
1604 --with-machine=MACHINE explicitly set MACHINE
1605 --with-force-machine=MACHINE set FORCE_MACHINE
1606 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
1607 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
1608 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
1609 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
1611 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1613 * makefile: added a pathetically simple makefile to drive
1614 bootstrapping. Running configure by hand is more useful.
1616 * Makefile.in: added MAKE_VERSION, and reworked things to be less
1617 dependent on NetBSD bsd.*.mk
1619 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1620 _PATH_OBJDIRPREFIX for those that don't want a default.
1621 construct _PATH_DEFSYSPATH from the info we get from configure.
1623 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1624 if MAKE_VERSION is defined.
1626 * compat.c: when we bail, print out the .CURDIR we were in.
1628 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1630 * Merged with NetBSD make
1632 * var.c: fixed a bug in the handling of the modifier :P
1633 if the node as found but the path was null, we segfault trying to
1636 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1638 * Merged with NetBSD make
1640 * make.c: Make_OODate's test for a library out of date was using
1641 cmtime where it should have used mtime (my bug).
1643 * compat.c: Use perror() to tell us what really went wrong when we
1644 cannot exec a command.
1646 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1648 * Merged with NetBSD make
1650 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1652 * Merged with NetBSD make
1654 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1656 * Merged with NetBSD make
1658 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1660 * Merged with NetBSD make
1662 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1664 * util.c: don't provide signal() since we use sigcompat.c
1666 * Makefile.in: added a build target.
1668 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
1669 These allow some quite clever magic.
1671 * main.c (main): added support for getenv(MAKESYSPATH).
1673 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1675 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
1676 This avoids objdir having a different value depending on how a
1677 directory was reached (via command line, or subdir.mk).
1679 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
1681 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1683 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
1684 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
1685 I've been testing this in NetBSD's make for some weeks.
1687 * Turn Makefile into Makefile.in and make it useful.
1689 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1691 * Imported NetBSD's -current make(1) and resolve conflicts.
1693 * Applied autoconf patches from bmake v2
1695 * Imported clean code base from NetBSD-1.0