1 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
3 * Makefile (MAKE_VERSION): 20130520
4 generate manifest from component FILES rather than have to
5 update FILES when mk/FILES changes.
7 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
9 * Makefile (MAKE_VERSION): 20130518
10 Merge with NetBSD make, pick up
11 o suff.c: don't skip all processsing for .PHONY targets
12 else wildcard srcs do not get expanded.
13 o var.c: expand name of variable to delete if necessary.
15 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
17 * Makefile (MAKE_VERSION): 20130330
18 Merge with NetBSD make, pick up
19 o meta.c: refine the handling of .OODATE in commands.
20 Rather than suppress command comparison for the entire script
21 as though .NOMETA_CMP had been used, only suppress it for the
23 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
24 suppress comparison of a command without otherwise affecting it.
25 o make.1: document that
27 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
29 * Makefile (MAKE_VERSION): 20130321
30 yes, not quite right but its a cooler number.
31 Merge with NetBSD make, pick up
32 o parse.c: fix ParseGmakeExport to be portable
34 * meta.c: call meta_init() before makefiles are read and if built
35 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
36 this let's makefiles test for support.
37 Call meta_mode_init() to process .MAKE.MODE.
39 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
41 * Makefile (MAKE_VERSION): 20130305
42 Merge with NetBSD make, pick up
43 o run .STALE: target when a dependency from .depend is missing.
44 o job.c: add Job_RunTarget() for the above and .BEGIN
46 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
48 * Makefile (MAKE_VERSION): 20130303
49 Merge with NetBSD make, pick up
50 o main.c: set .MAKE.OS to utsname.sysname
51 o job.c: more checks for read and poll errors
52 o var.c: lose VarChangeCase() saves 4% time
54 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
56 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
57 want to use MAKEOBJDIR
59 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
61 * Merge with NetBSD make, pick up
62 o make.1: more info on how shell commands are handled.
63 o job.c,main.c: detect write errors to job pipes.
65 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
67 * Makefile (MAKE_VERSION): 20130123
68 Merge with NetBSD make, pick up
69 o meta.c: if script uses .OODATE and meta_oodate() decides
70 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
71 o var.c: in debug output indicate which variabale modifiers
73 o remove Check_Cwd logic the makefiles have been fixed.
75 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
77 * makefile.in: add a simple makefile for folk who insist on
78 ./configure; make; make install
79 it just runs boot-strap
80 * include mk/* to accommodate the above
81 * boot-strap: re-work to accommodate the above
82 mksrc defaults to $Mydir/mk
83 allow op={configure,build,install,clean,all}
84 add options to facilitate install
85 * Makefile.config.in: just the bits set by configure
86 * Makefile: bump version to 20121212
87 abandon Makefile.in (NetBSD Makefile)
89 * configure.in: ensure srcdir is absolute
91 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
93 * Makefile.in (MAKE_VERSION): 20121111
94 fix generation of bmake.cat1
96 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
98 * Makefile.in (MAKE_VERSION): 20121109
99 Merge with NetBSD make, pick up
100 o make.c: MakeBuildChild: return 0 so search continues if a
101 .ORDER dependency is detected.
102 o unit-tests/order: test the above
104 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
106 * Makefile.in (MAKE_VERSION): 20121102
107 Merge with NetBSD make, pick up
108 o cond.c: allow cond_state[] to grow.
109 In meta mode with a very large tree, we can hit the limit
110 while processing dirdeps.
112 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
114 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
116 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
118 * Makefile.in (MAKE_VERSION): 20121010
119 o protect syntax that only bmake parses correctly.
120 o remove auto setting of FORCE_MACHINE, use configure's
121 --with-force-machine=whatever if that is desired.
123 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
125 * Makefile.in: do not lose history from make.1 when generating bmake.1
127 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
129 * Makefile.in (MAKE_VERSION): 20121007
130 Merge with NetBSD make, pick up
131 o compat.c: ignore empty commands - same as jobs mode.
132 o make.1: document meta chars that cause use of shell
134 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
136 * Makefile.in (MAKE_VERSION): bump version to 20120911
137 * bsd.after-import.mk: include Makefile.inc early and allow it to
140 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
142 * Makefile.in (MAKE_VERSION): bump version to 20120831
143 Merge with NetBSD make, pick up
144 o cast sizeof() to int for comparison
147 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
149 * Makefile.in (MAKE_VERSION): bump version to 20120830
150 Merge with NetBSD make, pick up
151 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
152 o debug flag -dV causes -V to show raw value regardless.
154 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
156 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
159 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
161 * Makefile.in (MAKE_VERSION): bump version to 20120704
162 Merge with NetBSD make, pick up
163 o Job_ParseShell should call Shell_Init if it has been
165 * Makefile.in: set USE_META based on configure result.
166 also .PARSEDIR is safer indicator of bmake.
168 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
170 * Makefile.in: bump version to 20120626
171 ensure CPPFLAGS is in CFLAGS
172 * meta.c: avoid nested externs
173 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
175 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
177 * Makefile.in (MAKE_VERSION): bump version to 20120620
178 Merge with NetBSD make, pick up
179 o make_malloc.c: avoid including make_malloc.h again
181 * Makefile.in: avoid bmake only syntax or protect with
182 .if defined(.MAKE.LEVEL)
183 * bsd.after-import.mk: replace .-include with .sinclude
184 ensure? SRCTOP gets a value
185 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
187 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
189 * Makefile.in (MAKE_VERSION): bump version to 20120612
190 Merge with NetBSD make, pick up
191 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
192 for greater portability.
193 o unit-tests/forloop: check that .for works as expected wrt
194 number of times and with "quoted strings".
196 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
198 * Makefile.in (MAKE_VERSION): bump version to 20120606
199 Merge with NetBSD make, pick up
200 o compat.c: use kill(2) rather than raise(3).
201 * configure.in: look for sys/dev/filemon
202 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
203 and pass BOOTSTRAP_XTRAS to boot-strap.
205 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
207 * Makefile.in (MAKE_VERSION): bump version to 20120604
208 Merge with NetBSD make, pick up
209 o util.c and var.c share same var for tracking if environ
210 has been reallocated.
211 o util.c provide getenv with setenv.
212 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
213 when the shell actively strips .MAKE.* from the environment.
214 We still refer to the variable always as .MAKE.LEVEL
215 * util.c fix bug in findenv() was finding prefix of name.
216 * compat.c: re-raising SIGINT etc after running .INTERRUPT
217 results in more reliable termination of all activity on many
220 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
222 * Makefile.in (MAKE_VERSION): bump version to 20120602
223 Merge with NetBSD make, pick up
224 o for.c: handle quoted items in .for list
226 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
228 * Makefile.in (MAKE_VERSION): bump version to 20120530
229 Merge with NetBSD make, pick up
230 o compat.c: ignore empty command.
232 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
234 * Makefile.in (MAKE_VERSION): bump version to 20120524
235 * FILES: add bsd.after-import.mk:
236 A simple means of integrating bmake into a BSD build system.
238 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
240 * Makefile.in (MAKE_VERSION): bump version to 20120520
241 Merge with NetBSD make, pick up
242 o increased limit for nested conditionals.
244 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
246 * Makefile.in (MAKE_VERSION): bump version to 20120518
247 Merge with NetBSD make, pick up
248 o use _exit(2) in signal hanlder
249 o Don't use the [dir] cache when building nodes that might have
250 changed since the last exec.
251 o Avoid nested extern declaration warnings.
253 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
255 * meta.c (fgetLine): avoid %z - not portable.
256 * parse.c: Since we moved include of sys/mman.h
257 and def's of MAP_COPY etc. we got dups from a merge.
259 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
261 * Makefile.in (MAKE_VERSION): bump version to 20120420
262 Merge with NetBSD make, pick up
263 o restore duplicate supression in .MAKE.MAKEFILES
264 runtime saving can be significant.
265 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
266 consumption up to 20%.
268 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
270 * Makefile.in (MAKE_VERSION): bump version to 20120420
271 Merge with NetBSD make, pick up
272 o remove duplicate supression in .MAKE.MAKEFILES
273 o improved dir cache behavior
274 o gmake'ish export command
276 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
278 * Makefile.in (MAKE_VERSION): bump version to 20120325
279 Merge with NetBSD make, pick up
280 o fix parsing of :[#] in conditionals.
282 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
284 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
285 since some systems cannot cope with .Nx <version>
287 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
289 * Makefile.in (MAKE_VERSION): bump version to 20111111
290 Merge with NetBSD make, pick up
291 o debug output for .PARSEDIR and .PARSEFILE
293 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
295 * Makefile.in (MAKE_VERSION): bump version to 20111010
297 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
299 * boot-strap: check for an expected file in the dirs we look for.
300 * make-bootstrap.sh: pass on LDSTATIC
302 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
304 * Makefile.in (MAKE_VERSION): bump version to 20111001
305 Merge with NetBSD make, pick up
306 o ensure .PREFIX is set for .PHONY
307 and .TARGET set for .PHONY run via .END
308 o __dead used consistently
310 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
312 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
314 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
316 * Makefile.in (MAKE_VERSION): bump version to 20110905
317 Merge with NetBSD make, pick up
318 o meta_oodate: ignore makeDependfile
320 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
322 * Makefile.in (MAKE_VERSION): bump version to 20110828
323 Merge with NetBSD make, pick up
324 o silent=yes in .MAKE.MODE causes meta mode to mark targets
325 as SILENT if a .meta file is created
327 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
329 * Makefile.in (MAKE_VERSION): bump version to 20110818
330 Merge with NetBSD make, pick up
331 o in meta mode, if target flagged .META a missing .meta file
332 means target is out-of-date
333 o fixes for gcc 4.5 warnings
334 o simplify job printing code
336 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
338 * Makefile.in (MAKE_VERSION): bump version to 20110808
339 Merge with NetBSD make, pick up
340 o do not touch OP_SPECIAL targets when doing make -t
342 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
344 * Makefile.in (MAKE_VERSION): bump version to 20110622
345 Merge with NetBSD make, pick up
346 o meta_oodate detect corrupted .meta file and declare oodate.
347 * configure.in: add check for setsid
349 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
351 * Merge with NetBSD make, pick up
352 o unit-tests/modts now works on MirBSD
354 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
356 * Makefile.in (MAKE_VERSION): bump version to 20110606
357 Merge with NetBSD make, pick up
358 o ApplyModifiers: when we parse a variable which is not
359 the entire modifier string, or not followed by ':', do not
360 consider it as containing modifiers.
361 o loadfile: ensure newline at end of mapped file.
363 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
365 * Makefile.in (MAKE_VERSION): bump version to 20110505
366 Merge with NetBSD make, pick up
367 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
368 of make's control. In meta mode, any generated file within
369 said bailiwick, which is found to be missing, causes current
370 target to be out-of-date.
372 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
374 * Makefile.in (MAKE_VERSION): bump version to 20110411
375 Merge with NetBSD make, pick up
376 o when long modifiers fail to match, check sysV style.
379 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
381 * Makefile.in (MAKE_VERSION): bump version to 20110410
382 Merge with NetBSD make, pick up
383 o :hash - cheap 32bit hash of value
384 o :localtime, :gmtime - use value as format string for strftime.
386 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
388 * Makefile.in (MAKE_VERSION): bump version to 20110330
389 mostly because its a cooler version.
390 Merge with NetBSD make, pick up
391 o NetBSD tags for meta.[ch]
392 o job.c call meta_job_finish() after meta_job_error().
393 o meta_job_error() should call meta_job_finish() to ensure
394 .meta file is closed, and safe to copy - if .ERROR target wants.
395 meta_job_finish() is safe to call repeatedly.
397 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
399 * unit-tests/modts: use printf if it is a builtin,
400 to save us from MirBSD
402 * Makefile.in (MAKE_VERSION): bump version to 20110329
403 Merge with NetBSD make, pick up
404 o fix for use after free() in CondDoExists().
405 o meta_oodate() report extra commands and return earlier.
407 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
409 * Makefile.in (MAKE_VERSION): bump version to 20110327
410 Merge with NetBSD make, pick up
411 o meta.c, if .MAKE.MODE contains curdirOk=yes
412 allow creating .meta files in .CURDIR
413 * boot-strap (TOOL_DIFF): aparently at least on linux distro
414 formats the output of 'type' differently - so eat any "()"
416 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
418 * Makefile.in (MAKE_VERSION): bump version to 20110306
419 Merge with NetBSD make, pick up
420 o meta.c, only do getcwd() once
422 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
424 * Makefile.in (MAKE_VERSION): bump version to 20110305
425 Merge with NetBSD make, pick up
426 o correct sysV substitution handling of empty lhs and variable
427 o correct exists() check for dir with trailing /
428 o correct handling of modifiers for non-existant variables
429 during evaluation of conditionals.
430 o ensure MAP_FILE is defined.
431 o meta.c use curdir[] now exported by main.c
433 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
435 * Makefile.in (MAKE_VERSION): bump version to 20110225
436 Merge with NetBSD make, pick up
437 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
438 makefiles have been read.
439 o fix example of :? modifier in man page.
441 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
443 * Makefile.in (MAKE_VERSION): bump version to 20110214
444 Merge with NetBSD make, pick up
445 o meta.c handle realpath() failing when generating meta file
448 * sigcompat.c: convert to ansi so we can use higher warning levels.
451 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
453 * Makefile.in (MAKE_VERSION): bump version to 20110207
454 Merge with NetBSD make, pick up
455 o fix for bug in meta mode.
457 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
459 * parse.c: SunOS 5.8 at least does not have MAP_FILE
461 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
463 * Makefile.in (MAKE_VERSION): bump version to 20110101
464 Merge with NetBSD make, pick up
465 o use mmap(2) if available, for reading makefiles
467 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
469 * Makefile.in (MAKE_VERSION): bump version to 20101215
470 Merge with NetBSD make, pick up
471 o ensure meta_job_error() does not report a previous .meta file
474 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
476 * Makefile.in (MAKE_VERSION): bump version to 20101210
477 Merge with NetBSD make, pick up
478 o meta_oodate: track cwd per process, and only consider target
479 out-of-date if missing file is outside make's CWD.
480 Ignore files in /tmp/ etc.
481 o to ensure unit-tests results match, need to control LC_ALL
483 o fix for parsing bug in var.c
485 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
487 * Makefile.in (MAKE_VERSION): bump version to 20101126
488 Merge with NetBSD make, pick up
489 o if stale dependency is an IMPSRC, search via .PATH
490 o meta_oodate: if a referenced file is missing, target is
492 o meta_oodate: if a target uses .OODATE in its commands,
493 it (.OODATE) needs to be recomputed.
494 o keep a pointer to youngest child node, rather than just its
497 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
499 * Makefile.in (MAKE_VERSION): bump version to 20101101
501 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
503 * machine.sh: like os.sh,
504 allow for uname -p producing useless drivel
506 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
508 * boot-strap: document configure knobs for meta and filemon.
510 * Makefile.in (MAKE_VERSION): bump version to 20100911
511 Merge with NetBSD make, pick up
514 * make-bootstrap.sh.in: handle meta.c
515 * configure.in: add knobs for use_meta and filemon_h
516 also, look for dirname, str[e]sep and strlcpy
517 * util.c: add simple err[x] and warn[x]
519 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
521 * boot-strap (TOOL_DIFF): set this to ensure tests use
522 the same version of diff that configure tested
524 * Makefile.in (MAKE_VERSION): bump version to 20100808
525 Merge with NetBSD make, pick up
526 o in jobs mode, when we discover we cannot make something,
527 call PrintOnError before exit.
529 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
531 * Makefile.in (MAKE_VERSION): bump version to 20100806
532 Merge with NetBSD make, pick up
533 o formatting fixes for ignored errors
534 o ensure jobs are cleaned up regardless of where wait() was called.
536 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
538 * Makefile.in (MAKE_VERSION): bump version to 20100618
539 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
541 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
543 * Makefile.in (MAKE_VERSION): bump version to 20100616
544 Merge with NetBSD make, pick up
546 o call PrintOnError from JobFinish when we detect an error we
549 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
551 * Makefile.in (MAKE_VERSION): bump version to 20100606
552 Merge with NetBSD make, pick up
555 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
557 * Makefile.in (MAKE_VERSION): bump version to 20100605
558 Merge with NetBSD make, pick up
559 o use bmake_signal() which is a wrapper around sigaction()
561 o add .export-env to allow exporting variables to environment
562 without tracking (so no re-export when the internal value is
565 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
567 * Makefile.in (MAKE_VERSION): bump version to 20100524
568 Merge with NetBSD make, pick up
569 o fix for .info et al being greedy.
571 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
573 * Makefile.in (MAKE_VERSION): bump version to 20100520
574 Merge with NetBSD make, pick up
575 o back to using realpath on argv[0]
576 but only if contains '/' and does not start with '/'.
578 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
580 * boot-strap: use absolute path for bmake when running tests.
582 * Makefile.in (MAKE_VERSION): bump version to 20100510
583 Merge with NetBSD make, pick up
584 o revert use of realpath on argv[0]
585 too many corner cases.
586 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
588 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
590 * Makefile.in (MAKE_VERSION): bump version to 20100505
591 Merge with NetBSD make, pick up
592 o fix for missed SIGCHLD when compiled with SunPRO
593 actually for bmake, defining FORCE_POSIX_SIGNALS would have
596 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
598 * Makefile.in (MAKE_VERSION): bump version to 20100430
599 Merge with NetBSD make, pick up
600 o fflush stdout before writing to stdout
602 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
604 * Makefile.in (MAKE_VERSION): bump version to 20100423
605 Merge with NetBSD make, pick up
606 o updated unit tests for Haiku (this time for sure).
607 * boot-strap: based on patch from joerg
608 honor --with-default-sys-path better.
609 * boot-strap: remove mention of --with-prefix-sys-path
611 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
613 * Makefile.in (MAKE_VERSION): bump version to 20100422
614 * Merge with NetBSD make, pick up
615 o fix for vfork() on Darwin.
616 o fix for bogus $TMPDIR.
617 o set .MAKE.MODE=compat for -B
618 o set .MAKE.JOBS=max_jobs for -j max_jobs
619 o allow unit-tests to run without any *.mk
620 o unit-tests/modmisc be more conservative in dirs presumed to exist.
621 * boot-strap: ignore /usr/share/mk except on NetBSD.
622 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
623 ensure sort(1) behaves as expected.
625 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
627 * boot-strap: add FindHereOrAbove so we can use -m .../mk
629 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
631 * Makefile.in (MAKE_VERSION): bump version to 20100420
632 * Merge with NetBSD make, pick up
633 o fix for variable realpath() behavior.
634 we have to stat(2) the result to be sure.
635 o fix for .export (all) when nested vars use :sh
637 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
639 * Makefile.in (MAKE_VERSION): bump version to 20100414
640 * Merge with NetBSD make, pick up
641 o use realpath to resolve argv[0] (for .MAKE) if needed.
642 o add realpath from libc.
643 o add :tA to resolve variable via realpath(3) if possible.
645 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
647 * Makefile.in (MAKE_VERSION): bump version to 20100408
648 * Merge with NetBSD make, pick up
649 o unit tests for .ERROR, .error
650 o fix for .ERROR to ensure it cannot be default target.
652 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
654 * Makefile.in (MAKE_VERSION): bump version to 20100406
655 * Merge with NetBSD make, pick up
656 o fix for compat mode "Error code" going to debug_file.
657 o fix for .ALLSRC being populated twice.
658 o support for .info, .warning and .error directives
659 o .MAKE.MODE to control make's operational mode
660 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
662 o .MAKE.DEPENDFILE to control the name of the depend file
663 o .ERROR target - run on failure.
665 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
667 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
669 * os.sh,arch.c: patch for Haiku from joerg at netbsd
671 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
673 * Makefile.in (MAKE_VERSION): bump version to 20100222
674 * Merge with NetBSD make, pick up
675 o better error msg for .for with mutiple inter vars
678 o use make-bootstrap.sh from joerg at netbsd
679 to avoid the need for a native make when bootstrapping.
680 o add "" everywhere ;-)
681 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
682 otherwise the pre-formated version.
684 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
686 * Makefile.in (MAKE_VERSION): bump version to 20100102
687 * Merge with NetBSD make, pick up:
690 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
692 * Makefile.in (MAKE_VERSION): bump version to 20091118
693 * Merge with NetBSD make, pick up:
695 o report lines that start with '.' and should have ':'
696 (catch typo's of .el*if).
698 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
700 * configure.in: Ensure that srcdir and mksrc are absolute paths.
702 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
704 * Makefile.in (MAKE_VERSION): fix version to 20091007
706 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
708 * Makefile.in (MAKE_VERSION): bump version to 200910007
709 * Merge with NetBSD make, pick up:
710 o fix for parsing of :S;...;...; applied to .for loop iterator
711 appearing in a dependency line.
713 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
715 * Makefile.in (MAKE_VERSION): bump version to 20090909
716 * Merge with NetBSD make, pick up:
717 o fix for -C, .CURDIR and .OBJDIR
719 o allow share_dir to be set independent of prefix.
720 o select default share_dir better when prefix ends in $HOST_TARGET
721 o if FORCE_BSD_MK etc were set, include them in the suggested
724 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
726 * Makefile.in (MAKE_VERSION): bump version to 20090908
727 * Merge with NetBSD make, pick up:
728 o .MAKE.LEVEL for recursion tracking
729 o fix for :M scanning \:
731 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
733 * configure.in: Don't -D__EXTENSIONS__ if
734 AC_USE_SYSTEM_EXTENSIONS says "no".
736 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
738 * Makefile.in (MAKE_VERSION): bump version to 20090826
739 Simplify MAKE_VERSION to just the bare date.
740 * Merge with NetBSD make, pick up:
741 o -C directory support.
742 o support for SIGINFO
743 o use $TMPDIR for temp files.
744 o child of vfork should be careful about modifying parent's state.
747 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
749 * Appy some patches for MiNT from David Brownlee
751 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
753 * Makefile.in (BMAKE_VERSION): bump version to 20090222
754 * Merge with NetBSD make, pick up:
755 o Possible null pointer de-ref in Var_Set.
757 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
759 * Makefile.in (BMAKE_VERSION): bump version to 20090204
760 * Merge with NetBSD make, pick up:
761 o bmake_malloc et al moved to their own .c
762 o Count both () and {} when looking for the end of a :M pattern
763 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
764 o strlist.c - functions for processing extendable arrays of pointers to strings.
765 o ClientData replaced with void *, so const void * can be used.
766 o New debug flag C for DEBUG_CWD
768 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
770 * Makefile.in (BMAKE_VERSION): bump version to 20081111
771 Apply patch from Joerg Sonnenberge to
773 o remove some redundant checks
774 o check for emlloc etc only in libutil and require the whole family.
776 o remove [v]asprintf which is no longer used.
778 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
780 * Makefile.in (BMAKE_VERSION): bump version to 20081101
781 * Merge with NetBSD make, pick up:
782 o util.c: avoid use of putenv() - christos
784 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
786 * Makefile.in (BMAKE_VERSION): bump version to 20081030
787 pick up man page tweaks.
789 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
791 * Makefile.in: move processing of LIBOBJS to after is definition!
792 thus we'll have getenv.c in SRCS only if needed.
794 * make.1: add examples of how to use :?
796 * Makefile.in (BMAKE_VERSION): bump version to 20081029
797 * Merge with NetBSD make, pick up:
798 o fix for .END processing with -j
799 o segfault from Parse_Error when no makefile is open
800 o handle numeric expressions in any variable expansion
801 o debug output now defaults to stderr, -dF to change it - apb
802 o make now uses bmake_malloc etc so that it can build natively
803 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
805 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
807 * Makefile.in (BMAKE_VERSION): bump version to 20080808
808 * Merge with NetBSD make, pick up:
809 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
810 long lines in Makefiles
811 o optimizations for VarQuote by joerg
812 o fix for PR/38756: dominik: make dumps core on invalid makefile
814 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
816 * Makefile.in (BMAKE_VERSION): bump version to 20080515
817 * Merge with NetBSD make, pick up:
818 o fix skip setting vars in VAR_GLOBAL context, to handle
819 cases where VAR_CMD is used for other than command line vars.
821 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
823 * boot-strap (make_version): we may need to look in
824 $prefix/share/mk for sys.mk
826 * Makefile.in (BMAKE_VERSION): bump version to 20080514
827 * Merge with NetBSD make, pick up:
828 o skip setting vars in VAR_GLOBAL context, when already set in
829 VAR_CMD which takes precedence.
831 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
833 * Makefile.in (BMAKE_VERSION): bump version to 20080330
834 * Merge with NetBSD make, pick up:
835 o fix for ?= when LHS contains variable reference.
837 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
839 * merge some patches from NetBSD pkgsrc.
841 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
842 the MAKSYSPATH used during bootstrap.
844 * Makefile.in (BMAKE_VERSION): bump version to 20080215
845 * Merge with NetBSD make, pick up:
846 o warn if non-space chars follow 'empty' in a conditional.
848 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
850 * Makefile.in (BMAKE_VERSION): bump version to 20080118
851 * Merge with NetBSD make, pick up:
852 o consider dependencies read from .depend as optional - dsl
853 o remember when buffer for reading makefile grows - dsl
854 o add -dl (aka LOUD) - David O'Brien
856 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
858 * Makefile.in (BMAKE_VERSION): bump version to 20071022
859 * Merge with NetBSD make, pick up:
860 o Allow .PATH<suffix> to be used for .include ""
862 * boot-strap: source default settings from .bmake-boot-strap.rc
864 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
866 * Makefile.in: fix maninstall on various systems
867 provided that our man.mk is used.
868 For non-BSD systems we install the preformatted page
871 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
873 * boot-strap: make bmake.1 too, so maninstall works.
875 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
877 * Makefile.in (BMAKE_VERSION): bump version to 20071014
878 * Merge with NetBSD make, pick up:
879 o revamped handling of defshell - configure no longer needs to
880 know the content of the shells array - apb
881 o stop Var_Subst modifying its input - apb
882 o avoid calling ParseTrackInput too often - dsl
884 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
886 * Makefile.in (BMAKE_VERSION): bump version to 20071011
887 * Merge with NetBSD make, pick up:
888 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
890 * sigcompat.c: some tweaks for HP-UX 11.x based on
891 patch from Tobias Nygren
893 * configure.in: update handling of --with-defshell to match
894 new make behavior. --with-defshell=/usr/xpg4/bin/sh
895 will now do what one might hope - provided the chosen shell
896 behaves enough like sh.
898 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
900 * Makefile.in (BMAKE_VERSION): bump to 20071008
901 * Merge with NetBSD make, pick up:
902 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
903 o .export/.MAKE.EXPORTED - export of variables - sjg
904 o .MAKE.MAKEFILES - track all makefiles read - sjg
905 o performance improvements - dsl
906 o revamp parallel job scheduling - dsl
908 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
910 * Makefile.in (BMAKE_VERSION): bump to 20060728
911 * Merge with NetBSD make, pick up:
912 o extra debug info during variable and cond processing - sjg
913 o shell definition now covers newline - rillig
914 o minor mem leak in PrintOnError - sjg
916 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
918 * Makefile.in (BMAKE_VERSION): bump to 20060511
919 * Merge with NetBSD make, pick up:
920 o more memory leaks - coverity
921 o possible overflow in ArchFindMember - coverity
922 o extract variable modifier code out of Var_Parse()
923 so it can be called recursively - sjg
924 o unit-tests/moderrs - sjg
926 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
928 * Makefile.in (BMAKE_VERSION): bump to 20060412
929 * Merge with NetBSD make, pick up:
930 o fixes for some memory leaks - coverity
931 o only read first sys.mk etc when searching sysIncPath - sjg
933 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
934 setting ${MAKEFILE} - OBATA Akio
936 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
938 * Makefile.in (BMAKE_VERSION): bump to 20060318
939 * Merge with NetBSD make, pick up:
940 o cleanup of job.c to remove remote handling, distcc is more
941 useful and this code was likely bit-rotting - dsl
942 o fix for :P modifier - sjg
943 * boot-strap: set default prefix to something reasonable
946 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
948 * Makefile.in (BMAKE_VERSION): bump to 20060301
949 * Merge with NetBSD make, pick up:
950 o make .WAIT apply recursively, document and test case - apb
951 o allow variable modifiers in a variable appear anywhere in
952 modifier list, document and test case - sjg
954 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
956 * Makefile.in (BMAKE_VERSION): bump to 20060222
957 * Merge with NetBSD make, pick up:
958 o improved job token handling - dsl
959 o SIG_DFL the correct signal before exec - dsl
960 o more debug info during parsing - dsl
961 o allow variable modifiers to be specified via variable - sjg
962 * boot-strap: explain why we died if no mksrc
964 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
966 * Makefile.in (BMAKE_VERSION): bump to 20051105
967 * configure.in: always set default_sys_path
968 default is ${prefix}/share/mk
969 - remove prefix_sys_path, anyone wanting more than above
970 needs to set it manually.
972 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
974 * boot-strap: make this a bit easier for pkgsrc folk.
975 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
976 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
978 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
980 * Makefile.in (BMAKE_VERSION): bump to 20051102
981 * job.c (JobFinish): fix likely ancient merge lossage
982 fix from Todd Vierling.
983 * boot-strap (srcdir): allow setting mksrc=none
985 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
987 * Makefile.in (BMAKE_VERSION): bump to 20051031
988 * ranlib.h: skip on OSF too.
991 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
993 * Makefile.in (BMAKE_VERSION): bump to 20051002
996 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
998 * Makefile.in (BMAKE_VERSION): bump to 20051001
999 support for UnixWare and some other systems,
1000 based on patches from pkgsrc/bootstrap
1002 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1004 * Makefile.in (BMAKE_VERSION): bump to 20050901
1005 * Merge with NetBSD make, pick up:
1006 o possible parse error causing us to wander off.
1008 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1010 * Makefile.in (BMAKE_VERSION): bump to 20050606
1011 * Merge with NetBSD make, pick up:
1012 o :0x modifier for randomizing a list
1013 o fixes for a number of -Wuninitialized issues.
1015 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1017 * Makefile.in (BMAKE_VERSION): bump to 20050530
1018 * Merge with NetBSD make, pick up:
1019 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1021 * README: was seriously out of date.
1023 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1025 * Important to use .MAKE rather than MAKE.
1027 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1029 * Makefile.in (BMAKE_VERSION): bump to 20050315
1030 * Merge with NetBSD make, pick up:
1031 o don't mistake .elsefoo for .else
1032 o use suffix-specific search path correctly
1033 o bunch of style nits
1035 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1038 o ensure that args to --src and --with-mksrc
1039 are resolved before giving them to configure.
1040 o add -o "objdir" so that builder can control it,
1041 default is $OS as determined by os.sh
1042 o add -q to suppress all the install instructions.
1044 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1046 * Remove __IDSTRING()
1048 * Makefile.in (BMAKE_VERSION): bump to 20040508
1049 * Merge with NetBSD make, pick up:
1051 - remove '-e' from compat mode
1052 - add support for '+' command-line prefix.
1053 o fix for handling '--' on command-line.
1054 o fix include in lst.lib/lstInt.h to simplify '-I's
1055 o we also picked up replacement of MAKE_BOOTSTRAP
1056 with !MAKE_NATIVE which is a noop, but possibly confusing.
1058 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1060 * Makefile.in (BMAKE_VERSION): bump to 20040414
1061 * Merge with NetBSD make, pick up:
1062 o allow quoted strings on lhs of conditionals
1063 o issue warning when extra .else is seen
1064 o print line numer when errors encountered during parsing from
1067 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1069 * Makefile.in (BMAKE_VERSION): bump to 20040220
1070 * Merge with NetBSD make, pick up:
1071 o fix for old :M parsing bug.
1072 o re-jigged unit-tests
1074 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1076 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1077 so that './bmake -f Makefile test' works.
1079 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1081 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1082 * Merge with NetBSD make, pick up:
1083 o search upwards for *.mk
1084 o fix for double free of var substitution buffers
1085 o use of getopt replaced with custom code, since the usage
1086 (re-scanning) isn't posix compatible.
1088 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1090 * arch.c: don't include ranlib.h on ELF systems
1091 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1093 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1095 * Makefile.in (BMAKE_VERSION): bump to 20040118
1097 * boot-strap (while): export vars we assign to on cmdline
1098 * unit-test/Makefile.in: ternary is .PHONY
1100 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1102 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1103 * Merge with NetBSD make, pick up:
1104 o fix for ternary modifier
1106 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1108 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1109 * Merge with NetBSD make, pick up:
1110 o fix for cond.c to handle compound expressions better
1111 o variable expansion within sysV style replacements
1113 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1115 * Make portable snprintf safer - output to /dev/null first to
1118 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1119 * Merge with NetBSD make, pick up:
1120 o -dg3 to show input graph when things go wrong.
1121 o explicitly look for makefiles in objdir if not found in curdir so
1122 that errors in .depend etc will be reported accurarely.
1123 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1124 instead as it more accurately reflects the expected behavior and
1125 is more consistently implemented.
1126 o avoid use of asprintf.
1128 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1130 * util.c: Add asprintf and vasprintf.
1132 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1133 * Merge with NetBSD make, pick up:
1134 :[] modifier - allows picking words from a variable.
1135 :tW modifier - allows treating value as one big word.
1136 W flag for :C and :S - allows treating value as one big word.
1138 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1140 * Merge with NetBSD make
1141 pick up -de flag to enable printing failed command.
1142 don't skip 1st two dir entries (normally . and ..) since
1143 coda does not have them.
1145 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1147 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1148 * Merge with NetBSD make, pick up:
1149 - changes for -V '${VAR}' to print fully expanded value
1151 - CompatRunCommand now prints the command that failed.
1152 - several files got updated 3 clause Berkeley license.
1154 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1156 * boot-strap: Allow setting configure args on command line.
1158 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1160 * configure.in: add --with-defshell to allow sh or ksh
1161 to be selected as default shell.
1163 * Makefile.in: bump version to 20030731
1165 * Merge with NetBSD make
1166 Pick up .SHELL spec for ksh and associate man page changes.
1167 Also compat mode now uses the same shell specs.
1169 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1171 * var.c (Var_Parse): ensure delim is initialized.
1173 * unit-tests/Makefile.in: use single quotes to avoid problems from
1177 Run the unit-tests as part of the bootstrap procedure.
1179 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1181 * unit-tests/Makefile.in: always force complaints from
1182 ${TEST_MAKE} to be from 'make'.
1184 * configure.in: add check for 'diff -u'
1185 also fix some old autoconf'isms
1187 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1188 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1190 * Merge with NetBSD make
1191 Pick up fix for :ts parsing error in some cases.
1194 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1196 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1198 * var.c (Var_Parse): fix bug in :ts modifier, after const
1199 correctness fixes, must pass nstr to VarModify.
1201 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1203 * Makefile.in: BMAKE_VERSION switch to a date based version.
1204 We'll generally use the date of last import from NetBSD.
1206 * Merge with NetBSD make
1207 Pick up fixes for const-correctness, now passes WARNS=3 on
1209 Pick up :ts modifier, allows controlling the separator used
1210 between words in variable expansion.
1212 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1214 * FILES: include boot-strap and os.sh
1216 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1217 FreeBSD is known to be bad.
1219 * makefile.boot.in (bootstrap): make this the default target.
1221 * Makefile.in: bump version to 3.1.19
1223 * machine.sh: avoid A-Z with tr as it is bound to lose.
1225 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1227 * Merge with NetBSD make
1228 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1229 Plus some doc fixes.
1231 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1233 * Merge with NetBSD make
1234 Pick up fix for PR/1523 - don't count a library as built, if there
1235 is no way to build it
1237 * Bump version to 3.1.18
1239 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1241 * Merge with NetBSD make
1242 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1243 appears in src list.
1245 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1247 * Merge with NetBSD make (mmm 10th anniversary!)
1248 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1249 pick up -X which tells us to not export VAR=val via setenv if
1250 we are already doing so via MAKEFLAGS. This saves valuable env
1251 space on systems like Darwin.
1252 set MAKE_VERSION to 3.1.17
1254 * parse.c: pix up fix for suffix rules
1256 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1258 * Merge with NetBSD make.
1259 pick up fix for propagating -B via MAKEFLAGS.
1260 set MAKE_VERSION to 3.1.16
1262 * Apply some patches from pkgsrc-bootstrap/bmake
1263 Originally by Grant Beattie <grant@netbsd.org>
1264 I may have missed some - since they are based on bmake-3.1.12
1266 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1268 * makefile.boot.in (bmake): update install targets for those that
1269 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1270 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1272 * bmake.cat1: update the pre-formatted man page!
1274 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1276 * Merge with NetBSD make.
1277 pick up fix for premature free of pointer used in call
1279 set MAKE_VERSION to 3.1.15
1281 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1283 * configure.in: determine suitable value for MKSRC.
1284 override using --with-mksrc=PATH.
1286 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1287 configs(8) will use 'sun4' as an alias for 'sparc'.
1289 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1291 * Merge with NetBSD make.
1293 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1294 set MAKE_VERSION to 3.1.14
1295 add configure checks for killpg and sys/socket.h
1297 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1301 * makefile.boot.in (bmake): use install-mk
1302 Also setup ./mk before trying to invoke bmake.boot incase we
1303 needed install-mk to create a sys.mk for us.
1305 * configure.in: If we need to add -I${srcdir}/missing, make it an
1306 absolute path so that it works for lst.lib too.
1308 * make.h: always include sys/cdefs.h since we provide one if the
1311 * Makefile.in (install-mk):
1312 use MKSRC/install-mk which will do the right thing.
1313 use uname -p for ARCH if possible.
1314 since install-mk will setup links bsd.prog.mk -> prog.mk if
1315 needed, just .include bsd.prog.mk
1317 * Merge with NetBSD make (NetBSD-1.6)
1318 Code is ansi-C only now.
1319 Bug in handling of dotLast is fixed.
1320 Can now assign .OBJDIR and make will reset its notions of life.
1321 New modifiers :tu :tl for toUpper and toLower.
1323 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1325 * Merge with NetBSD make
1326 pick up fix for .END failure in compat mode.
1327 pick up fix for extra va_end() in ParseVErrorInternal.
1329 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1331 * configure.in: for systems that have sys/cdefs.h check if it is
1332 compatible. If not, include the one under missing, but tell it to
1333 include the native one too - necessary on Linux.
1335 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1336 include_next (for gcc) to get the native sys/cdefs.h
1338 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1340 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1341 leaking descriptors when using -jN.
1343 * job.c (JobPrintCommand): See if "curdir" exists before
1344 attempting to chdir(). Doing the chdir directly in make (when in
1345 compat mode) fails silently, so let the -jN version do the same.
1346 This can happen when building kernels in an object tree and
1347 playing clever games to reset .CURDIR.
1349 * Merged with NetBSD make
1352 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1354 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1356 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1358 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1359 us not to export the iterator variable when using VAR_CMD context.
1361 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1363 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1364 its the wrong "fix".
1366 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1368 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1369 We now simply append the variable names to .MAKEOVERRIDES, and
1370 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1371 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1372 Apart from fixing quoting bugs in previous version, this allows us
1373 to export vars to the environment by simply doing:
1374 .MAKEOVERRIDES+= PATH
1375 Merged again with NetBSD make, but the above is the only change.
1377 * configure.in: added
1378 --disable-pwd-override disable $PWD overriding getcwd()
1379 --disable-check-make-chdir disable make trying to guess
1380 when it should automatically cd ${.CURDIR}
1382 * Merge with NetBSD make, changes include:
1383 parse.c (ParseDoDependency): Spot that the syntax error is
1384 caused by an unresolved cvs/rcs conflict and say so.
1385 var.c: most of Var* functions now take a ctxt as 1st arg.
1386 now does variable substituion on rhs of sysv style modifiers.
1388 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1389 is now done here. We append the name='value' to .MAKEOVERRIDES
1390 rather than directly into MAKEFLAGS as this allows a Makefile to
1391 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
1392 very similar mechanism. Note that in adding name='value' to
1393 .MAKEOVERRIDES we do the moral equivalent of:
1394 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1396 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1398 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1400 * Merged with NetBSD make
1401 make -dx can now be used to run commands via sh -x
1402 better error messages on exec failures.
1404 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1406 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1407 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
1408 MACHINE etc otherwise they propagate from the previous bmake.
1410 * configure.in (machine): allow --with-machine=generic to make
1411 configure use machine.sh to set MACHINE.
1413 * job.c (JobInterrupt): convert to using WAIT_T and friends.
1415 * Makefile.in: mention in bmake.1 that we use autoconf.
1417 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1419 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1421 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1422 as that rather defeats the usefulness of ${MAKEFILE}.
1424 * main.c (MainParseArgs): append command line variable assignments
1425 to MAKEFLAGS so that they get propagated to child make's.
1426 Apparently this is required POSIX behaviour? Its useful anyway.
1428 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1430 * compat.c (CompatRunCommand): don't use perror() since stdio may
1431 cause problems in child of vfork().
1433 * compat.c, main.c: Call PrintOnError() when we are going to bail.
1434 This routine prints out the .curdir where we stopped and will also
1435 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1437 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
1440 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
1442 * Added RCSid's for the files we've touched.
1444 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1446 * configure.in: Thanks to some clues from mdb@juniper.net,
1447 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1448 as well as what ends up in _PATH_DEFSYSPATH. We now have:
1450 --with-machine=MACHINE explicitly set MACHINE
1451 --with-force-machine=MACHINE set FORCE_MACHINE
1452 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
1453 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
1454 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
1455 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
1457 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1459 * makefile: added a pathetically simple makefile to drive
1460 bootstrapping. Running configure by hand is more useful.
1462 * Makefile.in: added MAKE_VERSION, and reworked things to be less
1463 dependent on NetBSD bsd.*.mk
1465 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1466 _PATH_OBJDIRPREFIX for those that don't want a default.
1467 construct _PATH_DEFSYSPATH from the info we get from configure.
1469 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1470 if MAKE_VERSION is defined.
1472 * compat.c: when we bail, print out the .CURDIR we were in.
1474 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1476 * Merged with NetBSD make
1478 * var.c: fixed a bug in the handling of the modifier :P
1479 if the node as found but the path was null, we segfault trying to
1482 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1484 * Merged with NetBSD make
1486 * make.c: Make_OODate's test for a library out of date was using
1487 cmtime where it should have used mtime (my bug).
1489 * compat.c: Use perror() to tell us what really went wrong when we
1490 cannot exec a command.
1492 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1494 * Merged with NetBSD make
1496 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1498 * Merged with NetBSD make
1500 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1502 * Merged with NetBSD make
1504 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1506 * Merged with NetBSD make
1508 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1510 * util.c: don't provide signal() since we use sigcompat.c
1512 * Makefile.in: added a build target.
1514 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
1515 These allow some quite clever magic.
1517 * main.c (main): added support for getenv(MAKESYSPATH).
1519 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1521 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
1522 This avoids objdir having a different value depending on how a
1523 directory was reached (via command line, or subdir.mk).
1525 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
1527 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1529 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
1530 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
1531 I've been testing this in NetBSD's make for some weeks.
1533 * Turn Makefile into Makefile.in and make it useful.
1535 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1537 * Imported NetBSD's -current make(1) and resolve conflicts.
1539 * Applied autoconf patches from bmake v2
1541 * Imported clean code base from NetBSD-1.0