1 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
3 * Makefile (MAKE_VERSION): 20130604
4 Merge with NetBSD make, pick up
5 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
6 to avoid leaking descriptors.
8 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
10 * Makefile (MAKE_VERSION): 20130528
11 Merge with NetBSD make, pick up
12 o var.c: cleanup some left-overs in VarHash()
14 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
16 * Makefile (MAKE_VERSION): 20130520
17 generate manifest from component FILES rather than have to
18 update FILES when mk/FILES changes.
20 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
22 * Makefile (MAKE_VERSION): 20130518
23 Merge with NetBSD make, pick up
24 o suff.c: don't skip all processsing for .PHONY targets
25 else wildcard srcs do not get expanded.
26 o var.c: expand name of variable to delete if necessary.
28 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
30 * Makefile (MAKE_VERSION): 20130330
31 Merge with NetBSD make, pick up
32 o meta.c: refine the handling of .OODATE in commands.
33 Rather than suppress command comparison for the entire script
34 as though .NOMETA_CMP had been used, only suppress it for the
36 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
37 suppress comparison of a command without otherwise affecting it.
38 o make.1: document that
40 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
42 * Makefile (MAKE_VERSION): 20130321
43 yes, not quite right but its a cooler number.
44 Merge with NetBSD make, pick up
45 o parse.c: fix ParseGmakeExport to be portable
47 * meta.c: call meta_init() before makefiles are read and if built
48 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
49 this let's makefiles test for support.
50 Call meta_mode_init() to process .MAKE.MODE.
52 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
54 * Makefile (MAKE_VERSION): 20130305
55 Merge with NetBSD make, pick up
56 o run .STALE: target when a dependency from .depend is missing.
57 o job.c: add Job_RunTarget() for the above and .BEGIN
59 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
61 * Makefile (MAKE_VERSION): 20130303
62 Merge with NetBSD make, pick up
63 o main.c: set .MAKE.OS to utsname.sysname
64 o job.c: more checks for read and poll errors
65 o var.c: lose VarChangeCase() saves 4% time
67 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
69 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
70 want to use MAKEOBJDIR
72 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
74 * Merge with NetBSD make, pick up
75 o make.1: more info on how shell commands are handled.
76 o job.c,main.c: detect write errors to job pipes.
78 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
80 * Makefile (MAKE_VERSION): 20130123
81 Merge with NetBSD make, pick up
82 o meta.c: if script uses .OODATE and meta_oodate() decides
83 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
84 o var.c: in debug output indicate which variabale modifiers
86 o remove Check_Cwd logic the makefiles have been fixed.
88 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
90 * makefile.in: add a simple makefile for folk who insist on
91 ./configure; make; make install
92 it just runs boot-strap
93 * include mk/* to accommodate the above
94 * boot-strap: re-work to accommodate the above
95 mksrc defaults to $Mydir/mk
96 allow op={configure,build,install,clean,all}
97 add options to facilitate install
98 * Makefile.config.in: just the bits set by configure
99 * Makefile: bump version to 20121212
100 abandon Makefile.in (NetBSD Makefile)
101 leverage mk/* instead
102 * configure.in: ensure srcdir is absolute
104 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
106 * Makefile.in (MAKE_VERSION): 20121111
107 fix generation of bmake.cat1
109 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
111 * Makefile.in (MAKE_VERSION): 20121109
112 Merge with NetBSD make, pick up
113 o make.c: MakeBuildChild: return 0 so search continues if a
114 .ORDER dependency is detected.
115 o unit-tests/order: test the above
117 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
119 * Makefile.in (MAKE_VERSION): 20121102
120 Merge with NetBSD make, pick up
121 o cond.c: allow cond_state[] to grow.
122 In meta mode with a very large tree, we can hit the limit
123 while processing dirdeps.
125 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
127 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
129 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
131 * Makefile.in (MAKE_VERSION): 20121010
132 o protect syntax that only bmake parses correctly.
133 o remove auto setting of FORCE_MACHINE, use configure's
134 --with-force-machine=whatever if that is desired.
136 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
138 * Makefile.in: do not lose history from make.1 when generating bmake.1
140 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
142 * Makefile.in (MAKE_VERSION): 20121007
143 Merge with NetBSD make, pick up
144 o compat.c: ignore empty commands - same as jobs mode.
145 o make.1: document meta chars that cause use of shell
147 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
149 * Makefile.in (MAKE_VERSION): bump version to 20120911
150 * bsd.after-import.mk: include Makefile.inc early and allow it to
153 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
155 * Makefile.in (MAKE_VERSION): bump version to 20120831
156 Merge with NetBSD make, pick up
157 o cast sizeof() to int for comparison
160 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
162 * Makefile.in (MAKE_VERSION): bump version to 20120830
163 Merge with NetBSD make, pick up
164 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
165 o debug flag -dV causes -V to show raw value regardless.
167 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
169 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
172 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
174 * Makefile.in (MAKE_VERSION): bump version to 20120704
175 Merge with NetBSD make, pick up
176 o Job_ParseShell should call Shell_Init if it has been
178 * Makefile.in: set USE_META based on configure result.
179 also .PARSEDIR is safer indicator of bmake.
181 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
183 * Makefile.in: bump version to 20120626
184 ensure CPPFLAGS is in CFLAGS
185 * meta.c: avoid nested externs
186 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
188 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
190 * Makefile.in (MAKE_VERSION): bump version to 20120620
191 Merge with NetBSD make, pick up
192 o make_malloc.c: avoid including make_malloc.h again
194 * Makefile.in: avoid bmake only syntax or protect with
195 .if defined(.MAKE.LEVEL)
196 * bsd.after-import.mk: replace .-include with .sinclude
197 ensure? SRCTOP gets a value
198 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
200 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
202 * Makefile.in (MAKE_VERSION): bump version to 20120612
203 Merge with NetBSD make, pick up
204 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
205 for greater portability.
206 o unit-tests/forloop: check that .for works as expected wrt
207 number of times and with "quoted strings".
209 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
211 * Makefile.in (MAKE_VERSION): bump version to 20120606
212 Merge with NetBSD make, pick up
213 o compat.c: use kill(2) rather than raise(3).
214 * configure.in: look for sys/dev/filemon
215 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
216 and pass BOOTSTRAP_XTRAS to boot-strap.
218 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
220 * Makefile.in (MAKE_VERSION): bump version to 20120604
221 Merge with NetBSD make, pick up
222 o util.c and var.c share same var for tracking if environ
223 has been reallocated.
224 o util.c provide getenv with setenv.
225 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
226 when the shell actively strips .MAKE.* from the environment.
227 We still refer to the variable always as .MAKE.LEVEL
228 * util.c fix bug in findenv() was finding prefix of name.
229 * compat.c: re-raising SIGINT etc after running .INTERRUPT
230 results in more reliable termination of all activity on many
233 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
235 * Makefile.in (MAKE_VERSION): bump version to 20120602
236 Merge with NetBSD make, pick up
237 o for.c: handle quoted items in .for list
239 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
241 * Makefile.in (MAKE_VERSION): bump version to 20120530
242 Merge with NetBSD make, pick up
243 o compat.c: ignore empty command.
245 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
247 * Makefile.in (MAKE_VERSION): bump version to 20120524
248 * FILES: add bsd.after-import.mk:
249 A simple means of integrating bmake into a BSD build system.
251 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
253 * Makefile.in (MAKE_VERSION): bump version to 20120520
254 Merge with NetBSD make, pick up
255 o increased limit for nested conditionals.
257 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
259 * Makefile.in (MAKE_VERSION): bump version to 20120518
260 Merge with NetBSD make, pick up
261 o use _exit(2) in signal hanlder
262 o Don't use the [dir] cache when building nodes that might have
263 changed since the last exec.
264 o Avoid nested extern declaration warnings.
266 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
268 * meta.c (fgetLine): avoid %z - not portable.
269 * parse.c: Since we moved include of sys/mman.h
270 and def's of MAP_COPY etc. we got dups from a merge.
272 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
274 * Makefile.in (MAKE_VERSION): bump version to 20120420
275 Merge with NetBSD make, pick up
276 o restore duplicate supression in .MAKE.MAKEFILES
277 runtime saving can be significant.
278 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
279 consumption up to 20%.
281 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
283 * Makefile.in (MAKE_VERSION): bump version to 20120420
284 Merge with NetBSD make, pick up
285 o remove duplicate supression in .MAKE.MAKEFILES
286 o improved dir cache behavior
287 o gmake'ish export command
289 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
291 * Makefile.in (MAKE_VERSION): bump version to 20120325
292 Merge with NetBSD make, pick up
293 o fix parsing of :[#] in conditionals.
295 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
297 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
298 since some systems cannot cope with .Nx <version>
300 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
302 * Makefile.in (MAKE_VERSION): bump version to 20111111
303 Merge with NetBSD make, pick up
304 o debug output for .PARSEDIR and .PARSEFILE
306 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
308 * Makefile.in (MAKE_VERSION): bump version to 20111010
310 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
312 * boot-strap: check for an expected file in the dirs we look for.
313 * make-bootstrap.sh: pass on LDSTATIC
315 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
317 * Makefile.in (MAKE_VERSION): bump version to 20111001
318 Merge with NetBSD make, pick up
319 o ensure .PREFIX is set for .PHONY
320 and .TARGET set for .PHONY run via .END
321 o __dead used consistently
323 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
325 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
327 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
329 * Makefile.in (MAKE_VERSION): bump version to 20110905
330 Merge with NetBSD make, pick up
331 o meta_oodate: ignore makeDependfile
333 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
335 * Makefile.in (MAKE_VERSION): bump version to 20110828
336 Merge with NetBSD make, pick up
337 o silent=yes in .MAKE.MODE causes meta mode to mark targets
338 as SILENT if a .meta file is created
340 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
342 * Makefile.in (MAKE_VERSION): bump version to 20110818
343 Merge with NetBSD make, pick up
344 o in meta mode, if target flagged .META a missing .meta file
345 means target is out-of-date
346 o fixes for gcc 4.5 warnings
347 o simplify job printing code
349 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
351 * Makefile.in (MAKE_VERSION): bump version to 20110808
352 Merge with NetBSD make, pick up
353 o do not touch OP_SPECIAL targets when doing make -t
355 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
357 * Makefile.in (MAKE_VERSION): bump version to 20110622
358 Merge with NetBSD make, pick up
359 o meta_oodate detect corrupted .meta file and declare oodate.
360 * configure.in: add check for setsid
362 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
364 * Merge with NetBSD make, pick up
365 o unit-tests/modts now works on MirBSD
367 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
369 * Makefile.in (MAKE_VERSION): bump version to 20110606
370 Merge with NetBSD make, pick up
371 o ApplyModifiers: when we parse a variable which is not
372 the entire modifier string, or not followed by ':', do not
373 consider it as containing modifiers.
374 o loadfile: ensure newline at end of mapped file.
376 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
378 * Makefile.in (MAKE_VERSION): bump version to 20110505
379 Merge with NetBSD make, pick up
380 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
381 of make's control. In meta mode, any generated file within
382 said bailiwick, which is found to be missing, causes current
383 target to be out-of-date.
385 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
387 * Makefile.in (MAKE_VERSION): bump version to 20110411
388 Merge with NetBSD make, pick up
389 o when long modifiers fail to match, check sysV style.
392 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
394 * Makefile.in (MAKE_VERSION): bump version to 20110410
395 Merge with NetBSD make, pick up
396 o :hash - cheap 32bit hash of value
397 o :localtime, :gmtime - use value as format string for strftime.
399 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
401 * Makefile.in (MAKE_VERSION): bump version to 20110330
402 mostly because its a cooler version.
403 Merge with NetBSD make, pick up
404 o NetBSD tags for meta.[ch]
405 o job.c call meta_job_finish() after meta_job_error().
406 o meta_job_error() should call meta_job_finish() to ensure
407 .meta file is closed, and safe to copy - if .ERROR target wants.
408 meta_job_finish() is safe to call repeatedly.
410 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
412 * unit-tests/modts: use printf if it is a builtin,
413 to save us from MirBSD
415 * Makefile.in (MAKE_VERSION): bump version to 20110329
416 Merge with NetBSD make, pick up
417 o fix for use after free() in CondDoExists().
418 o meta_oodate() report extra commands and return earlier.
420 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
422 * Makefile.in (MAKE_VERSION): bump version to 20110327
423 Merge with NetBSD make, pick up
424 o meta.c, if .MAKE.MODE contains curdirOk=yes
425 allow creating .meta files in .CURDIR
426 * boot-strap (TOOL_DIFF): aparently at least on linux distro
427 formats the output of 'type' differently - so eat any "()"
429 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
431 * Makefile.in (MAKE_VERSION): bump version to 20110306
432 Merge with NetBSD make, pick up
433 o meta.c, only do getcwd() once
435 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
437 * Makefile.in (MAKE_VERSION): bump version to 20110305
438 Merge with NetBSD make, pick up
439 o correct sysV substitution handling of empty lhs and variable
440 o correct exists() check for dir with trailing /
441 o correct handling of modifiers for non-existant variables
442 during evaluation of conditionals.
443 o ensure MAP_FILE is defined.
444 o meta.c use curdir[] now exported by main.c
446 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
448 * Makefile.in (MAKE_VERSION): bump version to 20110225
449 Merge with NetBSD make, pick up
450 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
451 makefiles have been read.
452 o fix example of :? modifier in man page.
454 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
456 * Makefile.in (MAKE_VERSION): bump version to 20110214
457 Merge with NetBSD make, pick up
458 o meta.c handle realpath() failing when generating meta file
461 * sigcompat.c: convert to ansi so we can use higher warning levels.
464 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
466 * Makefile.in (MAKE_VERSION): bump version to 20110207
467 Merge with NetBSD make, pick up
468 o fix for bug in meta mode.
470 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
472 * parse.c: SunOS 5.8 at least does not have MAP_FILE
474 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
476 * Makefile.in (MAKE_VERSION): bump version to 20110101
477 Merge with NetBSD make, pick up
478 o use mmap(2) if available, for reading makefiles
480 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
482 * Makefile.in (MAKE_VERSION): bump version to 20101215
483 Merge with NetBSD make, pick up
484 o ensure meta_job_error() does not report a previous .meta file
487 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
489 * Makefile.in (MAKE_VERSION): bump version to 20101210
490 Merge with NetBSD make, pick up
491 o meta_oodate: track cwd per process, and only consider target
492 out-of-date if missing file is outside make's CWD.
493 Ignore files in /tmp/ etc.
494 o to ensure unit-tests results match, need to control LC_ALL
496 o fix for parsing bug in var.c
498 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
500 * Makefile.in (MAKE_VERSION): bump version to 20101126
501 Merge with NetBSD make, pick up
502 o if stale dependency is an IMPSRC, search via .PATH
503 o meta_oodate: if a referenced file is missing, target is
505 o meta_oodate: if a target uses .OODATE in its commands,
506 it (.OODATE) needs to be recomputed.
507 o keep a pointer to youngest child node, rather than just its
510 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
512 * Makefile.in (MAKE_VERSION): bump version to 20101101
514 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
516 * machine.sh: like os.sh,
517 allow for uname -p producing useless drivel
519 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
521 * boot-strap: document configure knobs for meta and filemon.
523 * Makefile.in (MAKE_VERSION): bump version to 20100911
524 Merge with NetBSD make, pick up
527 * make-bootstrap.sh.in: handle meta.c
528 * configure.in: add knobs for use_meta and filemon_h
529 also, look for dirname, str[e]sep and strlcpy
530 * util.c: add simple err[x] and warn[x]
532 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
534 * boot-strap (TOOL_DIFF): set this to ensure tests use
535 the same version of diff that configure tested
537 * Makefile.in (MAKE_VERSION): bump version to 20100808
538 Merge with NetBSD make, pick up
539 o in jobs mode, when we discover we cannot make something,
540 call PrintOnError before exit.
542 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
544 * Makefile.in (MAKE_VERSION): bump version to 20100806
545 Merge with NetBSD make, pick up
546 o formatting fixes for ignored errors
547 o ensure jobs are cleaned up regardless of where wait() was called.
549 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
551 * Makefile.in (MAKE_VERSION): bump version to 20100618
552 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
554 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
556 * Makefile.in (MAKE_VERSION): bump version to 20100616
557 Merge with NetBSD make, pick up
559 o call PrintOnError from JobFinish when we detect an error we
562 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
564 * Makefile.in (MAKE_VERSION): bump version to 20100606
565 Merge with NetBSD make, pick up
568 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
570 * Makefile.in (MAKE_VERSION): bump version to 20100605
571 Merge with NetBSD make, pick up
572 o use bmake_signal() which is a wrapper around sigaction()
574 o add .export-env to allow exporting variables to environment
575 without tracking (so no re-export when the internal value is
578 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
580 * Makefile.in (MAKE_VERSION): bump version to 20100524
581 Merge with NetBSD make, pick up
582 o fix for .info et al being greedy.
584 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
586 * Makefile.in (MAKE_VERSION): bump version to 20100520
587 Merge with NetBSD make, pick up
588 o back to using realpath on argv[0]
589 but only if contains '/' and does not start with '/'.
591 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
593 * boot-strap: use absolute path for bmake when running tests.
595 * Makefile.in (MAKE_VERSION): bump version to 20100510
596 Merge with NetBSD make, pick up
597 o revert use of realpath on argv[0]
598 too many corner cases.
599 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
601 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
603 * Makefile.in (MAKE_VERSION): bump version to 20100505
604 Merge with NetBSD make, pick up
605 o fix for missed SIGCHLD when compiled with SunPRO
606 actually for bmake, defining FORCE_POSIX_SIGNALS would have
609 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
611 * Makefile.in (MAKE_VERSION): bump version to 20100430
612 Merge with NetBSD make, pick up
613 o fflush stdout before writing to stdout
615 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
617 * Makefile.in (MAKE_VERSION): bump version to 20100423
618 Merge with NetBSD make, pick up
619 o updated unit tests for Haiku (this time for sure).
620 * boot-strap: based on patch from joerg
621 honor --with-default-sys-path better.
622 * boot-strap: remove mention of --with-prefix-sys-path
624 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
626 * Makefile.in (MAKE_VERSION): bump version to 20100422
627 * Merge with NetBSD make, pick up
628 o fix for vfork() on Darwin.
629 o fix for bogus $TMPDIR.
630 o set .MAKE.MODE=compat for -B
631 o set .MAKE.JOBS=max_jobs for -j max_jobs
632 o allow unit-tests to run without any *.mk
633 o unit-tests/modmisc be more conservative in dirs presumed to exist.
634 * boot-strap: ignore /usr/share/mk except on NetBSD.
635 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
636 ensure sort(1) behaves as expected.
638 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
640 * boot-strap: add FindHereOrAbove so we can use -m .../mk
642 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
644 * Makefile.in (MAKE_VERSION): bump version to 20100420
645 * Merge with NetBSD make, pick up
646 o fix for variable realpath() behavior.
647 we have to stat(2) the result to be sure.
648 o fix for .export (all) when nested vars use :sh
650 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
652 * Makefile.in (MAKE_VERSION): bump version to 20100414
653 * Merge with NetBSD make, pick up
654 o use realpath to resolve argv[0] (for .MAKE) if needed.
655 o add realpath from libc.
656 o add :tA to resolve variable via realpath(3) if possible.
658 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
660 * Makefile.in (MAKE_VERSION): bump version to 20100408
661 * Merge with NetBSD make, pick up
662 o unit tests for .ERROR, .error
663 o fix for .ERROR to ensure it cannot be default target.
665 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
667 * Makefile.in (MAKE_VERSION): bump version to 20100406
668 * Merge with NetBSD make, pick up
669 o fix for compat mode "Error code" going to debug_file.
670 o fix for .ALLSRC being populated twice.
671 o support for .info, .warning and .error directives
672 o .MAKE.MODE to control make's operational mode
673 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
675 o .MAKE.DEPENDFILE to control the name of the depend file
676 o .ERROR target - run on failure.
678 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
680 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
682 * os.sh,arch.c: patch for Haiku from joerg at netbsd
684 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
686 * Makefile.in (MAKE_VERSION): bump version to 20100222
687 * Merge with NetBSD make, pick up
688 o better error msg for .for with mutiple inter vars
691 o use make-bootstrap.sh from joerg at netbsd
692 to avoid the need for a native make when bootstrapping.
693 o add "" everywhere ;-)
694 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
695 otherwise the pre-formated version.
697 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
699 * Makefile.in (MAKE_VERSION): bump version to 20100102
700 * Merge with NetBSD make, pick up:
703 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
705 * Makefile.in (MAKE_VERSION): bump version to 20091118
706 * Merge with NetBSD make, pick up:
708 o report lines that start with '.' and should have ':'
709 (catch typo's of .el*if).
711 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
713 * configure.in: Ensure that srcdir and mksrc are absolute paths.
715 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
717 * Makefile.in (MAKE_VERSION): fix version to 20091007
719 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
721 * Makefile.in (MAKE_VERSION): bump version to 200910007
722 * Merge with NetBSD make, pick up:
723 o fix for parsing of :S;...;...; applied to .for loop iterator
724 appearing in a dependency line.
726 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
728 * Makefile.in (MAKE_VERSION): bump version to 20090909
729 * Merge with NetBSD make, pick up:
730 o fix for -C, .CURDIR and .OBJDIR
732 o allow share_dir to be set independent of prefix.
733 o select default share_dir better when prefix ends in $HOST_TARGET
734 o if FORCE_BSD_MK etc were set, include them in the suggested
737 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
739 * Makefile.in (MAKE_VERSION): bump version to 20090908
740 * Merge with NetBSD make, pick up:
741 o .MAKE.LEVEL for recursion tracking
742 o fix for :M scanning \:
744 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
746 * configure.in: Don't -D__EXTENSIONS__ if
747 AC_USE_SYSTEM_EXTENSIONS says "no".
749 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
751 * Makefile.in (MAKE_VERSION): bump version to 20090826
752 Simplify MAKE_VERSION to just the bare date.
753 * Merge with NetBSD make, pick up:
754 o -C directory support.
755 o support for SIGINFO
756 o use $TMPDIR for temp files.
757 o child of vfork should be careful about modifying parent's state.
760 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
762 * Appy some patches for MiNT from David Brownlee
764 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
766 * Makefile.in (BMAKE_VERSION): bump version to 20090222
767 * Merge with NetBSD make, pick up:
768 o Possible null pointer de-ref in Var_Set.
770 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
772 * Makefile.in (BMAKE_VERSION): bump version to 20090204
773 * Merge with NetBSD make, pick up:
774 o bmake_malloc et al moved to their own .c
775 o Count both () and {} when looking for the end of a :M pattern
776 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
777 o strlist.c - functions for processing extendable arrays of pointers to strings.
778 o ClientData replaced with void *, so const void * can be used.
779 o New debug flag C for DEBUG_CWD
781 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
783 * Makefile.in (BMAKE_VERSION): bump version to 20081111
784 Apply patch from Joerg Sonnenberge to
786 o remove some redundant checks
787 o check for emlloc etc only in libutil and require the whole family.
789 o remove [v]asprintf which is no longer used.
791 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
793 * Makefile.in (BMAKE_VERSION): bump version to 20081101
794 * Merge with NetBSD make, pick up:
795 o util.c: avoid use of putenv() - christos
797 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
799 * Makefile.in (BMAKE_VERSION): bump version to 20081030
800 pick up man page tweaks.
802 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
804 * Makefile.in: move processing of LIBOBJS to after is definition!
805 thus we'll have getenv.c in SRCS only if needed.
807 * make.1: add examples of how to use :?
809 * Makefile.in (BMAKE_VERSION): bump version to 20081029
810 * Merge with NetBSD make, pick up:
811 o fix for .END processing with -j
812 o segfault from Parse_Error when no makefile is open
813 o handle numeric expressions in any variable expansion
814 o debug output now defaults to stderr, -dF to change it - apb
815 o make now uses bmake_malloc etc so that it can build natively
816 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
818 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
820 * Makefile.in (BMAKE_VERSION): bump version to 20080808
821 * Merge with NetBSD make, pick up:
822 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
823 long lines in Makefiles
824 o optimizations for VarQuote by joerg
825 o fix for PR/38756: dominik: make dumps core on invalid makefile
827 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
829 * Makefile.in (BMAKE_VERSION): bump version to 20080515
830 * Merge with NetBSD make, pick up:
831 o fix skip setting vars in VAR_GLOBAL context, to handle
832 cases where VAR_CMD is used for other than command line vars.
834 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
836 * boot-strap (make_version): we may need to look in
837 $prefix/share/mk for sys.mk
839 * Makefile.in (BMAKE_VERSION): bump version to 20080514
840 * Merge with NetBSD make, pick up:
841 o skip setting vars in VAR_GLOBAL context, when already set in
842 VAR_CMD which takes precedence.
844 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
846 * Makefile.in (BMAKE_VERSION): bump version to 20080330
847 * Merge with NetBSD make, pick up:
848 o fix for ?= when LHS contains variable reference.
850 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
852 * merge some patches from NetBSD pkgsrc.
854 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
855 the MAKSYSPATH used during bootstrap.
857 * Makefile.in (BMAKE_VERSION): bump version to 20080215
858 * Merge with NetBSD make, pick up:
859 o warn if non-space chars follow 'empty' in a conditional.
861 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
863 * Makefile.in (BMAKE_VERSION): bump version to 20080118
864 * Merge with NetBSD make, pick up:
865 o consider dependencies read from .depend as optional - dsl
866 o remember when buffer for reading makefile grows - dsl
867 o add -dl (aka LOUD) - David O'Brien
869 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
871 * Makefile.in (BMAKE_VERSION): bump version to 20071022
872 * Merge with NetBSD make, pick up:
873 o Allow .PATH<suffix> to be used for .include ""
875 * boot-strap: source default settings from .bmake-boot-strap.rc
877 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
879 * Makefile.in: fix maninstall on various systems
880 provided that our man.mk is used.
881 For non-BSD systems we install the preformatted page
884 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
886 * boot-strap: make bmake.1 too, so maninstall works.
888 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
890 * Makefile.in (BMAKE_VERSION): bump version to 20071014
891 * Merge with NetBSD make, pick up:
892 o revamped handling of defshell - configure no longer needs to
893 know the content of the shells array - apb
894 o stop Var_Subst modifying its input - apb
895 o avoid calling ParseTrackInput too often - dsl
897 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
899 * Makefile.in (BMAKE_VERSION): bump version to 20071011
900 * Merge with NetBSD make, pick up:
901 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
903 * sigcompat.c: some tweaks for HP-UX 11.x based on
904 patch from Tobias Nygren
906 * configure.in: update handling of --with-defshell to match
907 new make behavior. --with-defshell=/usr/xpg4/bin/sh
908 will now do what one might hope - provided the chosen shell
909 behaves enough like sh.
911 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
913 * Makefile.in (BMAKE_VERSION): bump to 20071008
914 * Merge with NetBSD make, pick up:
915 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
916 o .export/.MAKE.EXPORTED - export of variables - sjg
917 o .MAKE.MAKEFILES - track all makefiles read - sjg
918 o performance improvements - dsl
919 o revamp parallel job scheduling - dsl
921 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
923 * Makefile.in (BMAKE_VERSION): bump to 20060728
924 * Merge with NetBSD make, pick up:
925 o extra debug info during variable and cond processing - sjg
926 o shell definition now covers newline - rillig
927 o minor mem leak in PrintOnError - sjg
929 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
931 * Makefile.in (BMAKE_VERSION): bump to 20060511
932 * Merge with NetBSD make, pick up:
933 o more memory leaks - coverity
934 o possible overflow in ArchFindMember - coverity
935 o extract variable modifier code out of Var_Parse()
936 so it can be called recursively - sjg
937 o unit-tests/moderrs - sjg
939 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
941 * Makefile.in (BMAKE_VERSION): bump to 20060412
942 * Merge with NetBSD make, pick up:
943 o fixes for some memory leaks - coverity
944 o only read first sys.mk etc when searching sysIncPath - sjg
946 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
947 setting ${MAKEFILE} - OBATA Akio
949 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
951 * Makefile.in (BMAKE_VERSION): bump to 20060318
952 * Merge with NetBSD make, pick up:
953 o cleanup of job.c to remove remote handling, distcc is more
954 useful and this code was likely bit-rotting - dsl
955 o fix for :P modifier - sjg
956 * boot-strap: set default prefix to something reasonable
959 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
961 * Makefile.in (BMAKE_VERSION): bump to 20060301
962 * Merge with NetBSD make, pick up:
963 o make .WAIT apply recursively, document and test case - apb
964 o allow variable modifiers in a variable appear anywhere in
965 modifier list, document and test case - sjg
967 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
969 * Makefile.in (BMAKE_VERSION): bump to 20060222
970 * Merge with NetBSD make, pick up:
971 o improved job token handling - dsl
972 o SIG_DFL the correct signal before exec - dsl
973 o more debug info during parsing - dsl
974 o allow variable modifiers to be specified via variable - sjg
975 * boot-strap: explain why we died if no mksrc
977 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
979 * Makefile.in (BMAKE_VERSION): bump to 20051105
980 * configure.in: always set default_sys_path
981 default is ${prefix}/share/mk
982 - remove prefix_sys_path, anyone wanting more than above
983 needs to set it manually.
985 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
987 * boot-strap: make this a bit easier for pkgsrc folk.
988 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
989 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
991 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
993 * Makefile.in (BMAKE_VERSION): bump to 20051102
994 * job.c (JobFinish): fix likely ancient merge lossage
995 fix from Todd Vierling.
996 * boot-strap (srcdir): allow setting mksrc=none
998 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1000 * Makefile.in (BMAKE_VERSION): bump to 20051031
1001 * ranlib.h: skip on OSF too.
1004 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1006 * Makefile.in (BMAKE_VERSION): bump to 20051002
1009 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1011 * Makefile.in (BMAKE_VERSION): bump to 20051001
1012 support for UnixWare and some other systems,
1013 based on patches from pkgsrc/bootstrap
1015 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1017 * Makefile.in (BMAKE_VERSION): bump to 20050901
1018 * Merge with NetBSD make, pick up:
1019 o possible parse error causing us to wander off.
1021 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1023 * Makefile.in (BMAKE_VERSION): bump to 20050606
1024 * Merge with NetBSD make, pick up:
1025 o :0x modifier for randomizing a list
1026 o fixes for a number of -Wuninitialized issues.
1028 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1030 * Makefile.in (BMAKE_VERSION): bump to 20050530
1031 * Merge with NetBSD make, pick up:
1032 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1034 * README: was seriously out of date.
1036 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1038 * Important to use .MAKE rather than MAKE.
1040 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1042 * Makefile.in (BMAKE_VERSION): bump to 20050315
1043 * Merge with NetBSD make, pick up:
1044 o don't mistake .elsefoo for .else
1045 o use suffix-specific search path correctly
1046 o bunch of style nits
1048 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1051 o ensure that args to --src and --with-mksrc
1052 are resolved before giving them to configure.
1053 o add -o "objdir" so that builder can control it,
1054 default is $OS as determined by os.sh
1055 o add -q to suppress all the install instructions.
1057 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1059 * Remove __IDSTRING()
1061 * Makefile.in (BMAKE_VERSION): bump to 20040508
1062 * Merge with NetBSD make, pick up:
1064 - remove '-e' from compat mode
1065 - add support for '+' command-line prefix.
1066 o fix for handling '--' on command-line.
1067 o fix include in lst.lib/lstInt.h to simplify '-I's
1068 o we also picked up replacement of MAKE_BOOTSTRAP
1069 with !MAKE_NATIVE which is a noop, but possibly confusing.
1071 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1073 * Makefile.in (BMAKE_VERSION): bump to 20040414
1074 * Merge with NetBSD make, pick up:
1075 o allow quoted strings on lhs of conditionals
1076 o issue warning when extra .else is seen
1077 o print line numer when errors encountered during parsing from
1080 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1082 * Makefile.in (BMAKE_VERSION): bump to 20040220
1083 * Merge with NetBSD make, pick up:
1084 o fix for old :M parsing bug.
1085 o re-jigged unit-tests
1087 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1089 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1090 so that './bmake -f Makefile test' works.
1092 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1094 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1095 * Merge with NetBSD make, pick up:
1096 o search upwards for *.mk
1097 o fix for double free of var substitution buffers
1098 o use of getopt replaced with custom code, since the usage
1099 (re-scanning) isn't posix compatible.
1101 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1103 * arch.c: don't include ranlib.h on ELF systems
1104 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1106 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1108 * Makefile.in (BMAKE_VERSION): bump to 20040118
1110 * boot-strap (while): export vars we assign to on cmdline
1111 * unit-test/Makefile.in: ternary is .PHONY
1113 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1115 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1116 * Merge with NetBSD make, pick up:
1117 o fix for ternary modifier
1119 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1121 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1122 * Merge with NetBSD make, pick up:
1123 o fix for cond.c to handle compound expressions better
1124 o variable expansion within sysV style replacements
1126 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1128 * Make portable snprintf safer - output to /dev/null first to
1131 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1132 * Merge with NetBSD make, pick up:
1133 o -dg3 to show input graph when things go wrong.
1134 o explicitly look for makefiles in objdir if not found in curdir so
1135 that errors in .depend etc will be reported accurarely.
1136 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1137 instead as it more accurately reflects the expected behavior and
1138 is more consistently implemented.
1139 o avoid use of asprintf.
1141 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1143 * util.c: Add asprintf and vasprintf.
1145 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1146 * Merge with NetBSD make, pick up:
1147 :[] modifier - allows picking words from a variable.
1148 :tW modifier - allows treating value as one big word.
1149 W flag for :C and :S - allows treating value as one big word.
1151 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1153 * Merge with NetBSD make
1154 pick up -de flag to enable printing failed command.
1155 don't skip 1st two dir entries (normally . and ..) since
1156 coda does not have them.
1158 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1160 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1161 * Merge with NetBSD make, pick up:
1162 - changes for -V '${VAR}' to print fully expanded value
1164 - CompatRunCommand now prints the command that failed.
1165 - several files got updated 3 clause Berkeley license.
1167 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1169 * boot-strap: Allow setting configure args on command line.
1171 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1173 * configure.in: add --with-defshell to allow sh or ksh
1174 to be selected as default shell.
1176 * Makefile.in: bump version to 20030731
1178 * Merge with NetBSD make
1179 Pick up .SHELL spec for ksh and associate man page changes.
1180 Also compat mode now uses the same shell specs.
1182 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1184 * var.c (Var_Parse): ensure delim is initialized.
1186 * unit-tests/Makefile.in: use single quotes to avoid problems from
1190 Run the unit-tests as part of the bootstrap procedure.
1192 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1194 * unit-tests/Makefile.in: always force complaints from
1195 ${TEST_MAKE} to be from 'make'.
1197 * configure.in: add check for 'diff -u'
1198 also fix some old autoconf'isms
1200 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1201 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1203 * Merge with NetBSD make
1204 Pick up fix for :ts parsing error in some cases.
1207 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1209 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1211 * var.c (Var_Parse): fix bug in :ts modifier, after const
1212 correctness fixes, must pass nstr to VarModify.
1214 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1216 * Makefile.in: BMAKE_VERSION switch to a date based version.
1217 We'll generally use the date of last import from NetBSD.
1219 * Merge with NetBSD make
1220 Pick up fixes for const-correctness, now passes WARNS=3 on
1222 Pick up :ts modifier, allows controlling the separator used
1223 between words in variable expansion.
1225 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1227 * FILES: include boot-strap and os.sh
1229 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1230 FreeBSD is known to be bad.
1232 * makefile.boot.in (bootstrap): make this the default target.
1234 * Makefile.in: bump version to 3.1.19
1236 * machine.sh: avoid A-Z with tr as it is bound to lose.
1238 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1240 * Merge with NetBSD make
1241 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1242 Plus some doc fixes.
1244 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1246 * Merge with NetBSD make
1247 Pick up fix for PR/1523 - don't count a library as built, if there
1248 is no way to build it
1250 * Bump version to 3.1.18
1252 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1254 * Merge with NetBSD make
1255 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1256 appears in src list.
1258 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1260 * Merge with NetBSD make (mmm 10th anniversary!)
1261 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1262 pick up -X which tells us to not export VAR=val via setenv if
1263 we are already doing so via MAKEFLAGS. This saves valuable env
1264 space on systems like Darwin.
1265 set MAKE_VERSION to 3.1.17
1267 * parse.c: pix up fix for suffix rules
1269 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1271 * Merge with NetBSD make.
1272 pick up fix for propagating -B via MAKEFLAGS.
1273 set MAKE_VERSION to 3.1.16
1275 * Apply some patches from pkgsrc-bootstrap/bmake
1276 Originally by Grant Beattie <grant@netbsd.org>
1277 I may have missed some - since they are based on bmake-3.1.12
1279 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1281 * makefile.boot.in (bmake): update install targets for those that
1282 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1283 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1285 * bmake.cat1: update the pre-formatted man page!
1287 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1289 * Merge with NetBSD make.
1290 pick up fix for premature free of pointer used in call
1292 set MAKE_VERSION to 3.1.15
1294 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1296 * configure.in: determine suitable value for MKSRC.
1297 override using --with-mksrc=PATH.
1299 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1300 configs(8) will use 'sun4' as an alias for 'sparc'.
1302 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1304 * Merge with NetBSD make.
1306 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1307 set MAKE_VERSION to 3.1.14
1308 add configure checks for killpg and sys/socket.h
1310 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1314 * makefile.boot.in (bmake): use install-mk
1315 Also setup ./mk before trying to invoke bmake.boot incase we
1316 needed install-mk to create a sys.mk for us.
1318 * configure.in: If we need to add -I${srcdir}/missing, make it an
1319 absolute path so that it works for lst.lib too.
1321 * make.h: always include sys/cdefs.h since we provide one if the
1324 * Makefile.in (install-mk):
1325 use MKSRC/install-mk which will do the right thing.
1326 use uname -p for ARCH if possible.
1327 since install-mk will setup links bsd.prog.mk -> prog.mk if
1328 needed, just .include bsd.prog.mk
1330 * Merge with NetBSD make (NetBSD-1.6)
1331 Code is ansi-C only now.
1332 Bug in handling of dotLast is fixed.
1333 Can now assign .OBJDIR and make will reset its notions of life.
1334 New modifiers :tu :tl for toUpper and toLower.
1336 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1338 * Merge with NetBSD make
1339 pick up fix for .END failure in compat mode.
1340 pick up fix for extra va_end() in ParseVErrorInternal.
1342 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1344 * configure.in: for systems that have sys/cdefs.h check if it is
1345 compatible. If not, include the one under missing, but tell it to
1346 include the native one too - necessary on Linux.
1348 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1349 include_next (for gcc) to get the native sys/cdefs.h
1351 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1353 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1354 leaking descriptors when using -jN.
1356 * job.c (JobPrintCommand): See if "curdir" exists before
1357 attempting to chdir(). Doing the chdir directly in make (when in
1358 compat mode) fails silently, so let the -jN version do the same.
1359 This can happen when building kernels in an object tree and
1360 playing clever games to reset .CURDIR.
1362 * Merged with NetBSD make
1365 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1367 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1369 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1371 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1372 us not to export the iterator variable when using VAR_CMD context.
1374 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1376 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1377 its the wrong "fix".
1379 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1381 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1382 We now simply append the variable names to .MAKEOVERRIDES, and
1383 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1384 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1385 Apart from fixing quoting bugs in previous version, this allows us
1386 to export vars to the environment by simply doing:
1387 .MAKEOVERRIDES+= PATH
1388 Merged again with NetBSD make, but the above is the only change.
1390 * configure.in: added
1391 --disable-pwd-override disable $PWD overriding getcwd()
1392 --disable-check-make-chdir disable make trying to guess
1393 when it should automatically cd ${.CURDIR}
1395 * Merge with NetBSD make, changes include:
1396 parse.c (ParseDoDependency): Spot that the syntax error is
1397 caused by an unresolved cvs/rcs conflict and say so.
1398 var.c: most of Var* functions now take a ctxt as 1st arg.
1399 now does variable substituion on rhs of sysv style modifiers.
1401 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1402 is now done here. We append the name='value' to .MAKEOVERRIDES
1403 rather than directly into MAKEFLAGS as this allows a Makefile to
1404 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
1405 very similar mechanism. Note that in adding name='value' to
1406 .MAKEOVERRIDES we do the moral equivalent of:
1407 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1409 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1411 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1413 * Merged with NetBSD make
1414 make -dx can now be used to run commands via sh -x
1415 better error messages on exec failures.
1417 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1419 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1420 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
1421 MACHINE etc otherwise they propagate from the previous bmake.
1423 * configure.in (machine): allow --with-machine=generic to make
1424 configure use machine.sh to set MACHINE.
1426 * job.c (JobInterrupt): convert to using WAIT_T and friends.
1428 * Makefile.in: mention in bmake.1 that we use autoconf.
1430 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1432 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1434 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1435 as that rather defeats the usefulness of ${MAKEFILE}.
1437 * main.c (MainParseArgs): append command line variable assignments
1438 to MAKEFLAGS so that they get propagated to child make's.
1439 Apparently this is required POSIX behaviour? Its useful anyway.
1441 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1443 * compat.c (CompatRunCommand): don't use perror() since stdio may
1444 cause problems in child of vfork().
1446 * compat.c, main.c: Call PrintOnError() when we are going to bail.
1447 This routine prints out the .curdir where we stopped and will also
1448 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1450 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
1453 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
1455 * Added RCSid's for the files we've touched.
1457 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1459 * configure.in: Thanks to some clues from mdb@juniper.net,
1460 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1461 as well as what ends up in _PATH_DEFSYSPATH. We now have:
1463 --with-machine=MACHINE explicitly set MACHINE
1464 --with-force-machine=MACHINE set FORCE_MACHINE
1465 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
1466 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
1467 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
1468 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
1470 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1472 * makefile: added a pathetically simple makefile to drive
1473 bootstrapping. Running configure by hand is more useful.
1475 * Makefile.in: added MAKE_VERSION, and reworked things to be less
1476 dependent on NetBSD bsd.*.mk
1478 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1479 _PATH_OBJDIRPREFIX for those that don't want a default.
1480 construct _PATH_DEFSYSPATH from the info we get from configure.
1482 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1483 if MAKE_VERSION is defined.
1485 * compat.c: when we bail, print out the .CURDIR we were in.
1487 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1489 * Merged with NetBSD make
1491 * var.c: fixed a bug in the handling of the modifier :P
1492 if the node as found but the path was null, we segfault trying to
1495 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1497 * Merged with NetBSD make
1499 * make.c: Make_OODate's test for a library out of date was using
1500 cmtime where it should have used mtime (my bug).
1502 * compat.c: Use perror() to tell us what really went wrong when we
1503 cannot exec a command.
1505 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1507 * Merged with NetBSD make
1509 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1511 * Merged with NetBSD make
1513 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1515 * Merged with NetBSD make
1517 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1519 * Merged with NetBSD make
1521 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1523 * util.c: don't provide signal() since we use sigcompat.c
1525 * Makefile.in: added a build target.
1527 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
1528 These allow some quite clever magic.
1530 * main.c (main): added support for getenv(MAKESYSPATH).
1532 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1534 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
1535 This avoids objdir having a different value depending on how a
1536 directory was reached (via command line, or subdir.mk).
1538 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
1540 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1542 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
1543 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
1544 I've been testing this in NetBSD's make for some weeks.
1546 * Turn Makefile into Makefile.in and make it useful.
1548 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1550 * Imported NetBSD's -current make(1) and resolve conflicts.
1552 * Applied autoconf patches from bmake v2
1554 * Imported clean code base from NetBSD-1.0