1 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
3 * Makefile (MAKE_VERSION): 20140620
4 Merge with NetBSD make, pick up
5 o var.c return varNoError rather than var_Error for ::= modidiers.
7 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
9 * Makefile (MAKE_VERSION): 20140522
10 Merge with NetBSD make, pick up
11 o var.c detect some parse errors.
13 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
15 * Fix spelling errors - patch from Pedro Giffuni
17 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
19 * Makefile (MAKE_VERSION): 20140214
20 Merge with NetBSD make, pick up
22 o use Var_Value to get MAKEOBJDIR[PREFIX]
23 o reduced realloc'ign in brk_string.
24 * configure.in: add a check for compiler supporting __func__
26 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
28 * boot-strap: ignore mksrc=none
30 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
32 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
34 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
36 * Makefile (MAKE_VERSION): 20140101
37 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
38 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
39 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
41 * configure.in: Add AC_PREREQ and check for
42 sysctl; patch from Andrew Shadura andrewsh at debian.org
44 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
46 * Makefile (MAKE_VERSION): 20131010
47 * lose the const from arg to systcl to avoid problems on older BSDs.
49 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
51 * Makefile (MAKE_VERSION): 20131001
52 Merge with NetBSD make, pick up
53 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
54 hw.machine_arch if necessary.
55 o meta.c: meta_oodate - need to look at src of Link and target
57 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
58 provide __arraycount() if needed.
60 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
62 * Makefile (MAKE_VERSION): 20130904
63 Merge with NetBSD make, pick up
64 o Add VAR_INTERNAL context, so that internal setting of
65 MAKEFILE does not override value set by makefiles.
67 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
69 * Makefile (MAKE_VERSION): 20130902
70 Merge with NetBSD make, pick up
71 o CompatRunCommand: only apply shellErrFlag when errCheck is true
73 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
75 * Makefile (MAKE_VERSION): 20130828
76 Merge with NetBSD make, pick up
77 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
78 o Call Job_SetPrefix() from Job_Init() so makefiles have
79 opportunity to set .MAKE.JOB.PREFIX
81 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
83 * Makefile (MAKE_VERSION): 20130730
84 Merge with NetBSD make, pick up
85 o Allow suppression of --- job -- tokens by setting
86 .MAKE.JOB.PREFIX empty.
88 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
90 * Makefile (MAKE_VERSION): 20130716
91 Merge with NetBSD make, pick up
92 o number of gmake compatibility tweaks
93 -w for gmake style entering/leaving messages
94 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
95 handle MAKEFLAGS containing only letters.
96 o when overriding a GLOBAL variable on the command line,
97 delete it from GLOBAL context so -V doesn't show the wrong
100 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
102 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
104 * Makefile (MAKE_VERSION): 20130706
105 Merge with NetBSD make, pick up
106 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
107 true so that CompatRunCommand() can use it, to ensure
108 consistent behavior with jobs mode.
109 o use MAKE_LEVEL_ENV to define the variable to propagate
110 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
111 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
114 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
116 * Makefile (MAKE_VERSION): 20130604
117 Merge with NetBSD make, pick up
118 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
119 to avoid leaking descriptors.
121 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
123 * Makefile (MAKE_VERSION): 20130528
124 Merge with NetBSD make, pick up
125 o var.c: cleanup some left-overs in VarHash()
127 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
129 * Makefile (MAKE_VERSION): 20130520
130 generate manifest from component FILES rather than have to
131 update FILES when mk/FILES changes.
133 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
135 * Makefile (MAKE_VERSION): 20130518
136 Merge with NetBSD make, pick up
137 o suff.c: don't skip all processsing for .PHONY targets
138 else wildcard srcs do not get expanded.
139 o var.c: expand name of variable to delete if necessary.
141 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
143 * Makefile (MAKE_VERSION): 20130330
144 Merge with NetBSD make, pick up
145 o meta.c: refine the handling of .OODATE in commands.
146 Rather than suppress command comparison for the entire script
147 as though .NOMETA_CMP had been used, only suppress it for the
149 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
150 suppress comparison of a command without otherwise affecting it.
151 o make.1: document that
153 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
155 * Makefile (MAKE_VERSION): 20130321
156 yes, not quite right but its a cooler number.
157 Merge with NetBSD make, pick up
158 o parse.c: fix ParseGmakeExport to be portable
160 * meta.c: call meta_init() before makefiles are read and if built
161 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
162 this let's makefiles test for support.
163 Call meta_mode_init() to process .MAKE.MODE.
165 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
167 * Makefile (MAKE_VERSION): 20130305
168 Merge with NetBSD make, pick up
169 o run .STALE: target when a dependency from .depend is missing.
170 o job.c: add Job_RunTarget() for the above and .BEGIN
172 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
174 * Makefile (MAKE_VERSION): 20130303
175 Merge with NetBSD make, pick up
176 o main.c: set .MAKE.OS to utsname.sysname
177 o job.c: more checks for read and poll errors
178 o var.c: lose VarChangeCase() saves 4% time
180 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
182 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
183 want to use MAKEOBJDIR
185 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
187 * Merge with NetBSD make, pick up
188 o make.1: more info on how shell commands are handled.
189 o job.c,main.c: detect write errors to job pipes.
191 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
193 * Makefile (MAKE_VERSION): 20130123
194 Merge with NetBSD make, pick up
195 o meta.c: if script uses .OODATE and meta_oodate() decides
196 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
197 o var.c: in debug output indicate which variabale modifiers
199 o remove Check_Cwd logic the makefiles have been fixed.
201 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
203 * makefile.in: add a simple makefile for folk who insist on
204 ./configure; make; make install
205 it just runs boot-strap
206 * include mk/* to accommodate the above
207 * boot-strap: re-work to accommodate the above
208 mksrc defaults to $Mydir/mk
209 allow op={configure,build,install,clean,all}
210 add options to facilitate install
211 * Makefile.config.in: just the bits set by configure
212 * Makefile: bump version to 20121212
213 abandon Makefile.in (NetBSD Makefile)
214 leverage mk/* instead
215 * configure.in: ensure srcdir is absolute
217 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
219 * Makefile.in (MAKE_VERSION): 20121111
220 fix generation of bmake.cat1
222 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
224 * Makefile.in (MAKE_VERSION): 20121109
225 Merge with NetBSD make, pick up
226 o make.c: MakeBuildChild: return 0 so search continues if a
227 .ORDER dependency is detected.
228 o unit-tests/order: test the above
230 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
232 * Makefile.in (MAKE_VERSION): 20121102
233 Merge with NetBSD make, pick up
234 o cond.c: allow cond_state[] to grow.
235 In meta mode with a very large tree, we can hit the limit
236 while processing dirdeps.
238 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
240 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
242 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
244 * Makefile.in (MAKE_VERSION): 20121010
245 o protect syntax that only bmake parses correctly.
246 o remove auto setting of FORCE_MACHINE, use configure's
247 --with-force-machine=whatever if that is desired.
249 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
251 * Makefile.in: do not lose history from make.1 when generating bmake.1
253 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
255 * Makefile.in (MAKE_VERSION): 20121007
256 Merge with NetBSD make, pick up
257 o compat.c: ignore empty commands - same as jobs mode.
258 o make.1: document meta chars that cause use of shell
260 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
262 * Makefile.in (MAKE_VERSION): bump version to 20120911
263 * bsd.after-import.mk: include Makefile.inc early and allow it to
266 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
268 * Makefile.in (MAKE_VERSION): bump version to 20120831
269 Merge with NetBSD make, pick up
270 o cast sizeof() to int for comparison
273 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
275 * Makefile.in (MAKE_VERSION): bump version to 20120830
276 Merge with NetBSD make, pick up
277 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
278 o debug flag -dV causes -V to show raw value regardless.
280 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
282 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
285 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
287 * Makefile.in (MAKE_VERSION): bump version to 20120704
288 Merge with NetBSD make, pick up
289 o Job_ParseShell should call Shell_Init if it has been
291 * Makefile.in: set USE_META based on configure result.
292 also .PARSEDIR is safer indicator of bmake.
294 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
296 * Makefile.in: bump version to 20120626
297 ensure CPPFLAGS is in CFLAGS
298 * meta.c: avoid nested externs
299 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
301 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
303 * Makefile.in (MAKE_VERSION): bump version to 20120620
304 Merge with NetBSD make, pick up
305 o make_malloc.c: avoid including make_malloc.h again
307 * Makefile.in: avoid bmake only syntax or protect with
308 .if defined(.MAKE.LEVEL)
309 * bsd.after-import.mk: replace .-include with .sinclude
310 ensure? SRCTOP gets a value
311 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
313 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
315 * Makefile.in (MAKE_VERSION): bump version to 20120612
316 Merge with NetBSD make, pick up
317 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
318 for greater portability.
319 o unit-tests/forloop: check that .for works as expected wrt
320 number of times and with "quoted strings".
322 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
324 * Makefile.in (MAKE_VERSION): bump version to 20120606
325 Merge with NetBSD make, pick up
326 o compat.c: use kill(2) rather than raise(3).
327 * configure.in: look for sys/dev/filemon
328 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
329 and pass BOOTSTRAP_XTRAS to boot-strap.
331 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
333 * Makefile.in (MAKE_VERSION): bump version to 20120604
334 Merge with NetBSD make, pick up
335 o util.c and var.c share same var for tracking if environ
336 has been reallocated.
337 o util.c provide getenv with setenv.
338 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
339 when the shell actively strips .MAKE.* from the environment.
340 We still refer to the variable always as .MAKE.LEVEL
341 * util.c fix bug in findenv() was finding prefix of name.
342 * compat.c: re-raising SIGINT etc after running .INTERRUPT
343 results in more reliable termination of all activity on many
346 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
348 * Makefile.in (MAKE_VERSION): bump version to 20120602
349 Merge with NetBSD make, pick up
350 o for.c: handle quoted items in .for list
352 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
354 * Makefile.in (MAKE_VERSION): bump version to 20120530
355 Merge with NetBSD make, pick up
356 o compat.c: ignore empty command.
358 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
360 * Makefile.in (MAKE_VERSION): bump version to 20120524
361 * FILES: add bsd.after-import.mk:
362 A simple means of integrating bmake into a BSD build system.
364 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
366 * Makefile.in (MAKE_VERSION): bump version to 20120520
367 Merge with NetBSD make, pick up
368 o increased limit for nested conditionals.
370 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
372 * Makefile.in (MAKE_VERSION): bump version to 20120518
373 Merge with NetBSD make, pick up
374 o use _exit(2) in signal hanlder
375 o Don't use the [dir] cache when building nodes that might have
376 changed since the last exec.
377 o Avoid nested extern declaration warnings.
379 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
381 * meta.c (fgetLine): avoid %z - not portable.
382 * parse.c: Since we moved include of sys/mman.h
383 and def's of MAP_COPY etc. we got dups from a merge.
385 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
387 * Makefile.in (MAKE_VERSION): bump version to 20120420
388 Merge with NetBSD make, pick up
389 o restore duplicate supression in .MAKE.MAKEFILES
390 runtime saving can be significant.
391 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
392 consumption up to 20%.
394 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
396 * Makefile.in (MAKE_VERSION): bump version to 20120420
397 Merge with NetBSD make, pick up
398 o remove duplicate supression in .MAKE.MAKEFILES
399 o improved dir cache behavior
400 o gmake'ish export command
402 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
404 * Makefile.in (MAKE_VERSION): bump version to 20120325
405 Merge with NetBSD make, pick up
406 o fix parsing of :[#] in conditionals.
408 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
410 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
411 since some systems cannot cope with .Nx <version>
413 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
415 * Makefile.in (MAKE_VERSION): bump version to 20111111
416 Merge with NetBSD make, pick up
417 o debug output for .PARSEDIR and .PARSEFILE
419 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
421 * Makefile.in (MAKE_VERSION): bump version to 20111010
423 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
425 * boot-strap: check for an expected file in the dirs we look for.
426 * make-bootstrap.sh: pass on LDSTATIC
428 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
430 * Makefile.in (MAKE_VERSION): bump version to 20111001
431 Merge with NetBSD make, pick up
432 o ensure .PREFIX is set for .PHONY
433 and .TARGET set for .PHONY run via .END
434 o __dead used consistently
436 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
438 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
440 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
442 * Makefile.in (MAKE_VERSION): bump version to 20110905
443 Merge with NetBSD make, pick up
444 o meta_oodate: ignore makeDependfile
446 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
448 * Makefile.in (MAKE_VERSION): bump version to 20110828
449 Merge with NetBSD make, pick up
450 o silent=yes in .MAKE.MODE causes meta mode to mark targets
451 as SILENT if a .meta file is created
453 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
455 * Makefile.in (MAKE_VERSION): bump version to 20110818
456 Merge with NetBSD make, pick up
457 o in meta mode, if target flagged .META a missing .meta file
458 means target is out-of-date
459 o fixes for gcc 4.5 warnings
460 o simplify job printing code
462 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
464 * Makefile.in (MAKE_VERSION): bump version to 20110808
465 Merge with NetBSD make, pick up
466 o do not touch OP_SPECIAL targets when doing make -t
468 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
470 * Makefile.in (MAKE_VERSION): bump version to 20110622
471 Merge with NetBSD make, pick up
472 o meta_oodate detect corrupted .meta file and declare oodate.
473 * configure.in: add check for setsid
475 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
477 * Merge with NetBSD make, pick up
478 o unit-tests/modts now works on MirBSD
480 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
482 * Makefile.in (MAKE_VERSION): bump version to 20110606
483 Merge with NetBSD make, pick up
484 o ApplyModifiers: when we parse a variable which is not
485 the entire modifier string, or not followed by ':', do not
486 consider it as containing modifiers.
487 o loadfile: ensure newline at end of mapped file.
489 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
491 * Makefile.in (MAKE_VERSION): bump version to 20110505
492 Merge with NetBSD make, pick up
493 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
494 of make's control. In meta mode, any generated file within
495 said bailiwick, which is found to be missing, causes current
496 target to be out-of-date.
498 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
500 * Makefile.in (MAKE_VERSION): bump version to 20110411
501 Merge with NetBSD make, pick up
502 o when long modifiers fail to match, check sysV style.
505 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
507 * Makefile.in (MAKE_VERSION): bump version to 20110410
508 Merge with NetBSD make, pick up
509 o :hash - cheap 32bit hash of value
510 o :localtime, :gmtime - use value as format string for strftime.
512 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
514 * Makefile.in (MAKE_VERSION): bump version to 20110330
515 mostly because its a cooler version.
516 Merge with NetBSD make, pick up
517 o NetBSD tags for meta.[ch]
518 o job.c call meta_job_finish() after meta_job_error().
519 o meta_job_error() should call meta_job_finish() to ensure
520 .meta file is closed, and safe to copy - if .ERROR target wants.
521 meta_job_finish() is safe to call repeatedly.
523 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
525 * unit-tests/modts: use printf if it is a builtin,
526 to save us from MirBSD
528 * Makefile.in (MAKE_VERSION): bump version to 20110329
529 Merge with NetBSD make, pick up
530 o fix for use after free() in CondDoExists().
531 o meta_oodate() report extra commands and return earlier.
533 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
535 * Makefile.in (MAKE_VERSION): bump version to 20110327
536 Merge with NetBSD make, pick up
537 o meta.c, if .MAKE.MODE contains curdirOk=yes
538 allow creating .meta files in .CURDIR
539 * boot-strap (TOOL_DIFF): aparently at least on linux distro
540 formats the output of 'type' differently - so eat any "()"
542 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
544 * Makefile.in (MAKE_VERSION): bump version to 20110306
545 Merge with NetBSD make, pick up
546 o meta.c, only do getcwd() once
548 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
550 * Makefile.in (MAKE_VERSION): bump version to 20110305
551 Merge with NetBSD make, pick up
552 o correct sysV substitution handling of empty lhs and variable
553 o correct exists() check for dir with trailing /
554 o correct handling of modifiers for non-existant variables
555 during evaluation of conditionals.
556 o ensure MAP_FILE is defined.
557 o meta.c use curdir[] now exported by main.c
559 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
561 * Makefile.in (MAKE_VERSION): bump version to 20110225
562 Merge with NetBSD make, pick up
563 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
564 makefiles have been read.
565 o fix example of :? modifier in man page.
567 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
569 * Makefile.in (MAKE_VERSION): bump version to 20110214
570 Merge with NetBSD make, pick up
571 o meta.c handle realpath() failing when generating meta file
574 * sigcompat.c: convert to ansi so we can use higher warning levels.
577 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
579 * Makefile.in (MAKE_VERSION): bump version to 20110207
580 Merge with NetBSD make, pick up
581 o fix for bug in meta mode.
583 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
585 * parse.c: SunOS 5.8 at least does not have MAP_FILE
587 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
589 * Makefile.in (MAKE_VERSION): bump version to 20110101
590 Merge with NetBSD make, pick up
591 o use mmap(2) if available, for reading makefiles
593 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
595 * Makefile.in (MAKE_VERSION): bump version to 20101215
596 Merge with NetBSD make, pick up
597 o ensure meta_job_error() does not report a previous .meta file
600 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
602 * Makefile.in (MAKE_VERSION): bump version to 20101210
603 Merge with NetBSD make, pick up
604 o meta_oodate: track cwd per process, and only consider target
605 out-of-date if missing file is outside make's CWD.
606 Ignore files in /tmp/ etc.
607 o to ensure unit-tests results match, need to control LC_ALL
609 o fix for parsing bug in var.c
611 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
613 * Makefile.in (MAKE_VERSION): bump version to 20101126
614 Merge with NetBSD make, pick up
615 o if stale dependency is an IMPSRC, search via .PATH
616 o meta_oodate: if a referenced file is missing, target is
618 o meta_oodate: if a target uses .OODATE in its commands,
619 it (.OODATE) needs to be recomputed.
620 o keep a pointer to youngest child node, rather than just its
623 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
625 * Makefile.in (MAKE_VERSION): bump version to 20101101
627 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
629 * machine.sh: like os.sh,
630 allow for uname -p producing useless drivel
632 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
634 * boot-strap: document configure knobs for meta and filemon.
636 * Makefile.in (MAKE_VERSION): bump version to 20100911
637 Merge with NetBSD make, pick up
640 * make-bootstrap.sh.in: handle meta.c
641 * configure.in: add knobs for use_meta and filemon_h
642 also, look for dirname, str[e]sep and strlcpy
643 * util.c: add simple err[x] and warn[x]
645 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
647 * boot-strap (TOOL_DIFF): set this to ensure tests use
648 the same version of diff that configure tested
650 * Makefile.in (MAKE_VERSION): bump version to 20100808
651 Merge with NetBSD make, pick up
652 o in jobs mode, when we discover we cannot make something,
653 call PrintOnError before exit.
655 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
657 * Makefile.in (MAKE_VERSION): bump version to 20100806
658 Merge with NetBSD make, pick up
659 o formatting fixes for ignored errors
660 o ensure jobs are cleaned up regardless of where wait() was called.
662 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
664 * Makefile.in (MAKE_VERSION): bump version to 20100618
665 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
667 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
669 * Makefile.in (MAKE_VERSION): bump version to 20100616
670 Merge with NetBSD make, pick up
672 o call PrintOnError from JobFinish when we detect an error we
675 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
677 * Makefile.in (MAKE_VERSION): bump version to 20100606
678 Merge with NetBSD make, pick up
681 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
683 * Makefile.in (MAKE_VERSION): bump version to 20100605
684 Merge with NetBSD make, pick up
685 o use bmake_signal() which is a wrapper around sigaction()
687 o add .export-env to allow exporting variables to environment
688 without tracking (so no re-export when the internal value is
691 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
693 * Makefile.in (MAKE_VERSION): bump version to 20100524
694 Merge with NetBSD make, pick up
695 o fix for .info et al being greedy.
697 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
699 * Makefile.in (MAKE_VERSION): bump version to 20100520
700 Merge with NetBSD make, pick up
701 o back to using realpath on argv[0]
702 but only if contains '/' and does not start with '/'.
704 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
706 * boot-strap: use absolute path for bmake when running tests.
708 * Makefile.in (MAKE_VERSION): bump version to 20100510
709 Merge with NetBSD make, pick up
710 o revert use of realpath on argv[0]
711 too many corner cases.
712 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
714 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
716 * Makefile.in (MAKE_VERSION): bump version to 20100505
717 Merge with NetBSD make, pick up
718 o fix for missed SIGCHLD when compiled with SunPRO
719 actually for bmake, defining FORCE_POSIX_SIGNALS would have
722 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
724 * Makefile.in (MAKE_VERSION): bump version to 20100430
725 Merge with NetBSD make, pick up
726 o fflush stdout before writing to stdout
728 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
730 * Makefile.in (MAKE_VERSION): bump version to 20100423
731 Merge with NetBSD make, pick up
732 o updated unit tests for Haiku (this time for sure).
733 * boot-strap: based on patch from joerg
734 honor --with-default-sys-path better.
735 * boot-strap: remove mention of --with-prefix-sys-path
737 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
739 * Makefile.in (MAKE_VERSION): bump version to 20100422
740 * Merge with NetBSD make, pick up
741 o fix for vfork() on Darwin.
742 o fix for bogus $TMPDIR.
743 o set .MAKE.MODE=compat for -B
744 o set .MAKE.JOBS=max_jobs for -j max_jobs
745 o allow unit-tests to run without any *.mk
746 o unit-tests/modmisc be more conservative in dirs presumed to exist.
747 * boot-strap: ignore /usr/share/mk except on NetBSD.
748 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
749 ensure sort(1) behaves as expected.
751 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
753 * boot-strap: add FindHereOrAbove so we can use -m .../mk
755 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
757 * Makefile.in (MAKE_VERSION): bump version to 20100420
758 * Merge with NetBSD make, pick up
759 o fix for variable realpath() behavior.
760 we have to stat(2) the result to be sure.
761 o fix for .export (all) when nested vars use :sh
763 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
765 * Makefile.in (MAKE_VERSION): bump version to 20100414
766 * Merge with NetBSD make, pick up
767 o use realpath to resolve argv[0] (for .MAKE) if needed.
768 o add realpath from libc.
769 o add :tA to resolve variable via realpath(3) if possible.
771 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
773 * Makefile.in (MAKE_VERSION): bump version to 20100408
774 * Merge with NetBSD make, pick up
775 o unit tests for .ERROR, .error
776 o fix for .ERROR to ensure it cannot be default target.
778 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
780 * Makefile.in (MAKE_VERSION): bump version to 20100406
781 * Merge with NetBSD make, pick up
782 o fix for compat mode "Error code" going to debug_file.
783 o fix for .ALLSRC being populated twice.
784 o support for .info, .warning and .error directives
785 o .MAKE.MODE to control make's operational mode
786 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
788 o .MAKE.DEPENDFILE to control the name of the depend file
789 o .ERROR target - run on failure.
791 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
793 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
795 * os.sh,arch.c: patch for Haiku from joerg at netbsd
797 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
799 * Makefile.in (MAKE_VERSION): bump version to 20100222
800 * Merge with NetBSD make, pick up
801 o better error msg for .for with mutiple inter vars
804 o use make-bootstrap.sh from joerg at netbsd
805 to avoid the need for a native make when bootstrapping.
806 o add "" everywhere ;-)
807 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
808 otherwise the pre-formated version.
810 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
812 * Makefile.in (MAKE_VERSION): bump version to 20100102
813 * Merge with NetBSD make, pick up:
816 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
818 * Makefile.in (MAKE_VERSION): bump version to 20091118
819 * Merge with NetBSD make, pick up:
821 o report lines that start with '.' and should have ':'
822 (catch typo's of .el*if).
824 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
826 * configure.in: Ensure that srcdir and mksrc are absolute paths.
828 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
830 * Makefile.in (MAKE_VERSION): fix version to 20091007
832 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
834 * Makefile.in (MAKE_VERSION): bump version to 200910007
835 * Merge with NetBSD make, pick up:
836 o fix for parsing of :S;...;...; applied to .for loop iterator
837 appearing in a dependency line.
839 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
841 * Makefile.in (MAKE_VERSION): bump version to 20090909
842 * Merge with NetBSD make, pick up:
843 o fix for -C, .CURDIR and .OBJDIR
845 o allow share_dir to be set independent of prefix.
846 o select default share_dir better when prefix ends in $HOST_TARGET
847 o if FORCE_BSD_MK etc were set, include them in the suggested
850 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
852 * Makefile.in (MAKE_VERSION): bump version to 20090908
853 * Merge with NetBSD make, pick up:
854 o .MAKE.LEVEL for recursion tracking
855 o fix for :M scanning \:
857 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
859 * configure.in: Don't -D__EXTENSIONS__ if
860 AC_USE_SYSTEM_EXTENSIONS says "no".
862 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
864 * Makefile.in (MAKE_VERSION): bump version to 20090826
865 Simplify MAKE_VERSION to just the bare date.
866 * Merge with NetBSD make, pick up:
867 o -C directory support.
868 o support for SIGINFO
869 o use $TMPDIR for temp files.
870 o child of vfork should be careful about modifying parent's state.
873 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
875 * Appy some patches for MiNT from David Brownlee
877 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
879 * Makefile.in (BMAKE_VERSION): bump version to 20090222
880 * Merge with NetBSD make, pick up:
881 o Possible null pointer de-ref in Var_Set.
883 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
885 * Makefile.in (BMAKE_VERSION): bump version to 20090204
886 * Merge with NetBSD make, pick up:
887 o bmake_malloc et al moved to their own .c
888 o Count both () and {} when looking for the end of a :M pattern
889 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
890 o strlist.c - functions for processing extendable arrays of pointers to strings.
891 o ClientData replaced with void *, so const void * can be used.
892 o New debug flag C for DEBUG_CWD
894 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
896 * Makefile.in (BMAKE_VERSION): bump version to 20081111
897 Apply patch from Joerg Sonnenberge to
899 o remove some redundant checks
900 o check for emlloc etc only in libutil and require the whole family.
902 o remove [v]asprintf which is no longer used.
904 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
906 * Makefile.in (BMAKE_VERSION): bump version to 20081101
907 * Merge with NetBSD make, pick up:
908 o util.c: avoid use of putenv() - christos
910 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
912 * Makefile.in (BMAKE_VERSION): bump version to 20081030
913 pick up man page tweaks.
915 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
917 * Makefile.in: move processing of LIBOBJS to after is definition!
918 thus we'll have getenv.c in SRCS only if needed.
920 * make.1: add examples of how to use :?
922 * Makefile.in (BMAKE_VERSION): bump version to 20081029
923 * Merge with NetBSD make, pick up:
924 o fix for .END processing with -j
925 o segfault from Parse_Error when no makefile is open
926 o handle numeric expressions in any variable expansion
927 o debug output now defaults to stderr, -dF to change it - apb
928 o make now uses bmake_malloc etc so that it can build natively
929 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
931 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
933 * Makefile.in (BMAKE_VERSION): bump version to 20080808
934 * Merge with NetBSD make, pick up:
935 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
936 long lines in Makefiles
937 o optimizations for VarQuote by joerg
938 o fix for PR/38756: dominik: make dumps core on invalid makefile
940 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
942 * Makefile.in (BMAKE_VERSION): bump version to 20080515
943 * Merge with NetBSD make, pick up:
944 o fix skip setting vars in VAR_GLOBAL context, to handle
945 cases where VAR_CMD is used for other than command line vars.
947 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
949 * boot-strap (make_version): we may need to look in
950 $prefix/share/mk for sys.mk
952 * Makefile.in (BMAKE_VERSION): bump version to 20080514
953 * Merge with NetBSD make, pick up:
954 o skip setting vars in VAR_GLOBAL context, when already set in
955 VAR_CMD which takes precedence.
957 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
959 * Makefile.in (BMAKE_VERSION): bump version to 20080330
960 * Merge with NetBSD make, pick up:
961 o fix for ?= when LHS contains variable reference.
963 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
965 * merge some patches from NetBSD pkgsrc.
967 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
968 the MAKSYSPATH used during bootstrap.
970 * Makefile.in (BMAKE_VERSION): bump version to 20080215
971 * Merge with NetBSD make, pick up:
972 o warn if non-space chars follow 'empty' in a conditional.
974 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
976 * Makefile.in (BMAKE_VERSION): bump version to 20080118
977 * Merge with NetBSD make, pick up:
978 o consider dependencies read from .depend as optional - dsl
979 o remember when buffer for reading makefile grows - dsl
980 o add -dl (aka LOUD) - David O'Brien
982 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
984 * Makefile.in (BMAKE_VERSION): bump version to 20071022
985 * Merge with NetBSD make, pick up:
986 o Allow .PATH<suffix> to be used for .include ""
988 * boot-strap: source default settings from .bmake-boot-strap.rc
990 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
992 * Makefile.in: fix maninstall on various systems
993 provided that our man.mk is used.
994 For non-BSD systems we install the preformatted page
997 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
999 * boot-strap: make bmake.1 too, so maninstall works.
1001 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1003 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1004 * Merge with NetBSD make, pick up:
1005 o revamped handling of defshell - configure no longer needs to
1006 know the content of the shells array - apb
1007 o stop Var_Subst modifying its input - apb
1008 o avoid calling ParseTrackInput too often - dsl
1010 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1012 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1013 * Merge with NetBSD make, pick up:
1014 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1016 * sigcompat.c: some tweaks for HP-UX 11.x based on
1017 patch from Tobias Nygren
1019 * configure.in: update handling of --with-defshell to match
1020 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1021 will now do what one might hope - provided the chosen shell
1022 behaves enough like sh.
1024 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1026 * Makefile.in (BMAKE_VERSION): bump to 20071008
1027 * Merge with NetBSD make, pick up:
1028 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1029 o .export/.MAKE.EXPORTED - export of variables - sjg
1030 o .MAKE.MAKEFILES - track all makefiles read - sjg
1031 o performance improvements - dsl
1032 o revamp parallel job scheduling - dsl
1034 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1036 * Makefile.in (BMAKE_VERSION): bump to 20060728
1037 * Merge with NetBSD make, pick up:
1038 o extra debug info during variable and cond processing - sjg
1039 o shell definition now covers newline - rillig
1040 o minor mem leak in PrintOnError - sjg
1042 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1044 * Makefile.in (BMAKE_VERSION): bump to 20060511
1045 * Merge with NetBSD make, pick up:
1046 o more memory leaks - coverity
1047 o possible overflow in ArchFindMember - coverity
1048 o extract variable modifier code out of Var_Parse()
1049 so it can be called recursively - sjg
1050 o unit-tests/moderrs - sjg
1052 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1054 * Makefile.in (BMAKE_VERSION): bump to 20060412
1055 * Merge with NetBSD make, pick up:
1056 o fixes for some memory leaks - coverity
1057 o only read first sys.mk etc when searching sysIncPath - sjg
1059 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1060 setting ${MAKEFILE} - OBATA Akio
1062 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1064 * Makefile.in (BMAKE_VERSION): bump to 20060318
1065 * Merge with NetBSD make, pick up:
1066 o cleanup of job.c to remove remote handling, distcc is more
1067 useful and this code was likely bit-rotting - dsl
1068 o fix for :P modifier - sjg
1069 * boot-strap: set default prefix to something reasonable
1072 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1074 * Makefile.in (BMAKE_VERSION): bump to 20060301
1075 * Merge with NetBSD make, pick up:
1076 o make .WAIT apply recursively, document and test case - apb
1077 o allow variable modifiers in a variable appear anywhere in
1078 modifier list, document and test case - sjg
1080 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1082 * Makefile.in (BMAKE_VERSION): bump to 20060222
1083 * Merge with NetBSD make, pick up:
1084 o improved job token handling - dsl
1085 o SIG_DFL the correct signal before exec - dsl
1086 o more debug info during parsing - dsl
1087 o allow variable modifiers to be specified via variable - sjg
1088 * boot-strap: explain why we died if no mksrc
1090 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1092 * Makefile.in (BMAKE_VERSION): bump to 20051105
1093 * configure.in: always set default_sys_path
1094 default is ${prefix}/share/mk
1095 - remove prefix_sys_path, anyone wanting more than above
1096 needs to set it manually.
1098 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1100 * boot-strap: make this a bit easier for pkgsrc folk.
1101 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1102 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1104 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1106 * Makefile.in (BMAKE_VERSION): bump to 20051102
1107 * job.c (JobFinish): fix likely ancient merge lossage
1108 fix from Todd Vierling.
1109 * boot-strap (srcdir): allow setting mksrc=none
1111 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1113 * Makefile.in (BMAKE_VERSION): bump to 20051031
1114 * ranlib.h: skip on OSF too.
1117 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1119 * Makefile.in (BMAKE_VERSION): bump to 20051002
1122 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1124 * Makefile.in (BMAKE_VERSION): bump to 20051001
1125 support for UnixWare and some other systems,
1126 based on patches from pkgsrc/bootstrap
1128 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1130 * Makefile.in (BMAKE_VERSION): bump to 20050901
1131 * Merge with NetBSD make, pick up:
1132 o possible parse error causing us to wander off.
1134 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1136 * Makefile.in (BMAKE_VERSION): bump to 20050606
1137 * Merge with NetBSD make, pick up:
1138 o :0x modifier for randomizing a list
1139 o fixes for a number of -Wuninitialized issues.
1141 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1143 * Makefile.in (BMAKE_VERSION): bump to 20050530
1144 * Merge with NetBSD make, pick up:
1145 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1147 * README: was seriously out of date.
1149 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1151 * Important to use .MAKE rather than MAKE.
1153 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1155 * Makefile.in (BMAKE_VERSION): bump to 20050315
1156 * Merge with NetBSD make, pick up:
1157 o don't mistake .elsefoo for .else
1158 o use suffix-specific search path correctly
1159 o bunch of style nits
1161 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1164 o ensure that args to --src and --with-mksrc
1165 are resolved before giving them to configure.
1166 o add -o "objdir" so that builder can control it,
1167 default is $OS as determined by os.sh
1168 o add -q to suppress all the install instructions.
1170 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1172 * Remove __IDSTRING()
1174 * Makefile.in (BMAKE_VERSION): bump to 20040508
1175 * Merge with NetBSD make, pick up:
1177 - remove '-e' from compat mode
1178 - add support for '+' command-line prefix.
1179 o fix for handling '--' on command-line.
1180 o fix include in lst.lib/lstInt.h to simplify '-I's
1181 o we also picked up replacement of MAKE_BOOTSTRAP
1182 with !MAKE_NATIVE which is a noop, but possibly confusing.
1184 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1186 * Makefile.in (BMAKE_VERSION): bump to 20040414
1187 * Merge with NetBSD make, pick up:
1188 o allow quoted strings on lhs of conditionals
1189 o issue warning when extra .else is seen
1190 o print line numer when errors encountered during parsing from
1193 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1195 * Makefile.in (BMAKE_VERSION): bump to 20040220
1196 * Merge with NetBSD make, pick up:
1197 o fix for old :M parsing bug.
1198 o re-jigged unit-tests
1200 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1202 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1203 so that './bmake -f Makefile test' works.
1205 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1207 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1208 * Merge with NetBSD make, pick up:
1209 o search upwards for *.mk
1210 o fix for double free of var substitution buffers
1211 o use of getopt replaced with custom code, since the usage
1212 (re-scanning) isn't posix compatible.
1214 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1216 * arch.c: don't include ranlib.h on ELF systems
1217 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1219 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1221 * Makefile.in (BMAKE_VERSION): bump to 20040118
1223 * boot-strap (while): export vars we assign to on cmdline
1224 * unit-test/Makefile.in: ternary is .PHONY
1226 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1228 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1229 * Merge with NetBSD make, pick up:
1230 o fix for ternary modifier
1232 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1234 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1235 * Merge with NetBSD make, pick up:
1236 o fix for cond.c to handle compound expressions better
1237 o variable expansion within sysV style replacements
1239 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1241 * Make portable snprintf safer - output to /dev/null first to
1244 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1245 * Merge with NetBSD make, pick up:
1246 o -dg3 to show input graph when things go wrong.
1247 o explicitly look for makefiles in objdir if not found in curdir so
1248 that errors in .depend etc will be reported accurarely.
1249 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1250 instead as it more accurately reflects the expected behavior and
1251 is more consistently implemented.
1252 o avoid use of asprintf.
1254 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1256 * util.c: Add asprintf and vasprintf.
1258 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1259 * Merge with NetBSD make, pick up:
1260 :[] modifier - allows picking words from a variable.
1261 :tW modifier - allows treating value as one big word.
1262 W flag for :C and :S - allows treating value as one big word.
1264 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1266 * Merge with NetBSD make
1267 pick up -de flag to enable printing failed command.
1268 don't skip 1st two dir entries (normally . and ..) since
1269 coda does not have them.
1271 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1273 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1274 * Merge with NetBSD make, pick up:
1275 - changes for -V '${VAR}' to print fully expanded value
1277 - CompatRunCommand now prints the command that failed.
1278 - several files got updated 3 clause Berkeley license.
1280 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1282 * boot-strap: Allow setting configure args on command line.
1284 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1286 * configure.in: add --with-defshell to allow sh or ksh
1287 to be selected as default shell.
1289 * Makefile.in: bump version to 20030731
1291 * Merge with NetBSD make
1292 Pick up .SHELL spec for ksh and associate man page changes.
1293 Also compat mode now uses the same shell specs.
1295 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1297 * var.c (Var_Parse): ensure delim is initialized.
1299 * unit-tests/Makefile.in: use single quotes to avoid problems from
1303 Run the unit-tests as part of the bootstrap procedure.
1305 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1307 * unit-tests/Makefile.in: always force complaints from
1308 ${TEST_MAKE} to be from 'make'.
1310 * configure.in: add check for 'diff -u'
1311 also fix some old autoconf'isms
1313 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1314 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1316 * Merge with NetBSD make
1317 Pick up fix for :ts parsing error in some cases.
1320 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1322 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1324 * var.c (Var_Parse): fix bug in :ts modifier, after const
1325 correctness fixes, must pass nstr to VarModify.
1327 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1329 * Makefile.in: BMAKE_VERSION switch to a date based version.
1330 We'll generally use the date of last import from NetBSD.
1332 * Merge with NetBSD make
1333 Pick up fixes for const-correctness, now passes WARNS=3 on
1335 Pick up :ts modifier, allows controlling the separator used
1336 between words in variable expansion.
1338 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1340 * FILES: include boot-strap and os.sh
1342 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1343 FreeBSD is known to be bad.
1345 * makefile.boot.in (bootstrap): make this the default target.
1347 * Makefile.in: bump version to 3.1.19
1349 * machine.sh: avoid A-Z with tr as it is bound to lose.
1351 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1353 * Merge with NetBSD make
1354 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1355 Plus some doc fixes.
1357 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1359 * Merge with NetBSD make
1360 Pick up fix for PR/1523 - don't count a library as built, if there
1361 is no way to build it
1363 * Bump version to 3.1.18
1365 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1367 * Merge with NetBSD make
1368 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1369 appears in src list.
1371 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1373 * Merge with NetBSD make (mmm 10th anniversary!)
1374 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1375 pick up -X which tells us to not export VAR=val via setenv if
1376 we are already doing so via MAKEFLAGS. This saves valuable env
1377 space on systems like Darwin.
1378 set MAKE_VERSION to 3.1.17
1380 * parse.c: pix up fix for suffix rules
1382 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1384 * Merge with NetBSD make.
1385 pick up fix for propagating -B via MAKEFLAGS.
1386 set MAKE_VERSION to 3.1.16
1388 * Apply some patches from pkgsrc-bootstrap/bmake
1389 Originally by Grant Beattie <grant@netbsd.org>
1390 I may have missed some - since they are based on bmake-3.1.12
1392 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1394 * makefile.boot.in (bmake): update install targets for those that
1395 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1396 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1398 * bmake.cat1: update the pre-formatted man page!
1400 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1402 * Merge with NetBSD make.
1403 pick up fix for premature free of pointer used in call
1405 set MAKE_VERSION to 3.1.15
1407 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1409 * configure.in: determine suitable value for MKSRC.
1410 override using --with-mksrc=PATH.
1412 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1413 configs(8) will use 'sun4' as an alias for 'sparc'.
1415 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1417 * Merge with NetBSD make.
1419 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1420 set MAKE_VERSION to 3.1.14
1421 add configure checks for killpg and sys/socket.h
1423 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1427 * makefile.boot.in (bmake): use install-mk
1428 Also setup ./mk before trying to invoke bmake.boot incase we
1429 needed install-mk to create a sys.mk for us.
1431 * configure.in: If we need to add -I${srcdir}/missing, make it an
1432 absolute path so that it works for lst.lib too.
1434 * make.h: always include sys/cdefs.h since we provide one if the
1437 * Makefile.in (install-mk):
1438 use MKSRC/install-mk which will do the right thing.
1439 use uname -p for ARCH if possible.
1440 since install-mk will setup links bsd.prog.mk -> prog.mk if
1441 needed, just .include bsd.prog.mk
1443 * Merge with NetBSD make (NetBSD-1.6)
1444 Code is ansi-C only now.
1445 Bug in handling of dotLast is fixed.
1446 Can now assign .OBJDIR and make will reset its notions of life.
1447 New modifiers :tu :tl for toUpper and toLower.
1449 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1451 * Merge with NetBSD make
1452 pick up fix for .END failure in compat mode.
1453 pick up fix for extra va_end() in ParseVErrorInternal.
1455 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1457 * configure.in: for systems that have sys/cdefs.h check if it is
1458 compatible. If not, include the one under missing, but tell it to
1459 include the native one too - necessary on Linux.
1461 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1462 include_next (for gcc) to get the native sys/cdefs.h
1464 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1466 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1467 leaking descriptors when using -jN.
1469 * job.c (JobPrintCommand): See if "curdir" exists before
1470 attempting to chdir(). Doing the chdir directly in make (when in
1471 compat mode) fails silently, so let the -jN version do the same.
1472 This can happen when building kernels in an object tree and
1473 playing clever games to reset .CURDIR.
1475 * Merged with NetBSD make
1478 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1480 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1482 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1484 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1485 us not to export the iterator variable when using VAR_CMD context.
1487 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1489 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1490 its the wrong "fix".
1492 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1494 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1495 We now simply append the variable names to .MAKEOVERRIDES, and
1496 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1497 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1498 Apart from fixing quoting bugs in previous version, this allows us
1499 to export vars to the environment by simply doing:
1500 .MAKEOVERRIDES+= PATH
1501 Merged again with NetBSD make, but the above is the only change.
1503 * configure.in: added
1504 --disable-pwd-override disable $PWD overriding getcwd()
1505 --disable-check-make-chdir disable make trying to guess
1506 when it should automatically cd ${.CURDIR}
1508 * Merge with NetBSD make, changes include:
1509 parse.c (ParseDoDependency): Spot that the syntax error is
1510 caused by an unresolved cvs/rcs conflict and say so.
1511 var.c: most of Var* functions now take a ctxt as 1st arg.
1512 now does variable substituion on rhs of sysv style modifiers.
1514 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1515 is now done here. We append the name='value' to .MAKEOVERRIDES
1516 rather than directly into MAKEFLAGS as this allows a Makefile to
1517 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
1518 very similar mechanism. Note that in adding name='value' to
1519 .MAKEOVERRIDES we do the moral equivalent of:
1520 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1522 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1524 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1526 * Merged with NetBSD make
1527 make -dx can now be used to run commands via sh -x
1528 better error messages on exec failures.
1530 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1532 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1533 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
1534 MACHINE etc otherwise they propagate from the previous bmake.
1536 * configure.in (machine): allow --with-machine=generic to make
1537 configure use machine.sh to set MACHINE.
1539 * job.c (JobInterrupt): convert to using WAIT_T and friends.
1541 * Makefile.in: mention in bmake.1 that we use autoconf.
1543 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1545 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1547 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1548 as that rather defeats the usefulness of ${MAKEFILE}.
1550 * main.c (MainParseArgs): append command line variable assignments
1551 to MAKEFLAGS so that they get propagated to child make's.
1552 Apparently this is required POSIX behaviour? Its useful anyway.
1554 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1556 * compat.c (CompatRunCommand): don't use perror() since stdio may
1557 cause problems in child of vfork().
1559 * compat.c, main.c: Call PrintOnError() when we are going to bail.
1560 This routine prints out the .curdir where we stopped and will also
1561 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1563 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
1566 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
1568 * Added RCSid's for the files we've touched.
1570 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1572 * configure.in: Thanks to some clues from mdb@juniper.net,
1573 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1574 as well as what ends up in _PATH_DEFSYSPATH. We now have:
1576 --with-machine=MACHINE explicitly set MACHINE
1577 --with-force-machine=MACHINE set FORCE_MACHINE
1578 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
1579 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
1580 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
1581 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
1583 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1585 * makefile: added a pathetically simple makefile to drive
1586 bootstrapping. Running configure by hand is more useful.
1588 * Makefile.in: added MAKE_VERSION, and reworked things to be less
1589 dependent on NetBSD bsd.*.mk
1591 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1592 _PATH_OBJDIRPREFIX for those that don't want a default.
1593 construct _PATH_DEFSYSPATH from the info we get from configure.
1595 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1596 if MAKE_VERSION is defined.
1598 * compat.c: when we bail, print out the .CURDIR we were in.
1600 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1602 * Merged with NetBSD make
1604 * var.c: fixed a bug in the handling of the modifier :P
1605 if the node as found but the path was null, we segfault trying to
1608 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1610 * Merged with NetBSD make
1612 * make.c: Make_OODate's test for a library out of date was using
1613 cmtime where it should have used mtime (my bug).
1615 * compat.c: Use perror() to tell us what really went wrong when we
1616 cannot exec a command.
1618 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1620 * Merged with NetBSD make
1622 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1624 * Merged with NetBSD make
1626 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1628 * Merged with NetBSD make
1630 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1632 * Merged with NetBSD make
1634 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1636 * util.c: don't provide signal() since we use sigcompat.c
1638 * Makefile.in: added a build target.
1640 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
1641 These allow some quite clever magic.
1643 * main.c (main): added support for getenv(MAKESYSPATH).
1645 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1647 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
1648 This avoids objdir having a different value depending on how a
1649 directory was reached (via command line, or subdir.mk).
1651 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
1653 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1655 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
1656 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
1657 I've been testing this in NetBSD's make for some weeks.
1659 * Turn Makefile into Makefile.in and make it useful.
1661 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1663 * Imported NetBSD's -current make(1) and resolve conflicts.
1665 * Applied autoconf patches from bmake v2
1667 * Imported clean code base from NetBSD-1.0