1 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
3 * Makefile.in (MAKE_VERSION): bump version to 20120831
4 Merge with NetBSD make, pick up
5 o cast sizeof() to int for comparison
8 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
10 * Makefile.in (MAKE_VERSION): bump version to 20120830
11 Merge with NetBSD make, pick up
12 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
13 o debug flag -dV causes -V to show raw value regardless.
15 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
17 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
20 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
22 * Makefile.in (MAKE_VERSION): bump version to 20120704
23 Merge with NetBSD make, pick up
24 o Job_ParseShell should call Shell_Init if it has been
26 * Makefile.in: set USE_META based on configure result.
27 also .PARSEDIR is safer indicator of bmake.
29 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
31 * Makefile.in: bump version to 20120626
32 ensure CPPFLAGS is in CFLAGS
33 * meta.c: avoid nested externs
34 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
36 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
38 * Makefile.in (MAKE_VERSION): bump version to 20120620
39 Merge with NetBSD make, pick up
40 o make_malloc.c: avoid including make_malloc.h again
42 * Makefile.in: avoid bmake only syntax or protect with
43 .if defined(.MAKE.LEVEL)
44 * bsd.after-import.mk: replace .-include with .sinclude
45 ensure? SRCTOP gets a value
46 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
48 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
50 * Makefile.in (MAKE_VERSION): bump version to 20120612
51 Merge with NetBSD make, pick up
52 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
53 for greater portability.
54 o unit-tests/forloop: check that .for works as expected wrt
55 number of times and with "quoted strings".
57 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
59 * Makefile.in (MAKE_VERSION): bump version to 20120606
60 Merge with NetBSD make, pick up
61 o compat.c: use kill(2) rather than raise(3).
62 * configure.in: look for sys/dev/filemon
63 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
64 and pass BOOTSTRAP_XTRAS to boot-strap.
66 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
68 * Makefile.in (MAKE_VERSION): bump version to 20120604
69 Merge with NetBSD make, pick up
70 o util.c and var.c share same var for tracking if environ
72 o util.c provide getenv with setenv.
73 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
74 when the shell actively strips .MAKE.* from the environment.
75 We still refer to the variable always as .MAKE.LEVEL
76 * util.c fix bug in findenv() was finding prefix of name.
77 * compat.c: re-raising SIGINT etc after running .INTERRUPT
78 results in more reliable termination of all activity on many
81 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
83 * Makefile.in (MAKE_VERSION): bump version to 20120602
84 Merge with NetBSD make, pick up
85 o for.c: handle quoted items in .for list
87 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
89 * Makefile.in (MAKE_VERSION): bump version to 20120530
90 Merge with NetBSD make, pick up
91 o compat.c: ignore empty command.
93 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
95 * Makefile.in (MAKE_VERSION): bump version to 20120524
96 * FILES: add bsd.after-import.mk:
97 A simple means of integrating bmake into a BSD build system.
99 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
101 * Makefile.in (MAKE_VERSION): bump version to 20120520
102 Merge with NetBSD make, pick up
103 o increased limit for nested conditionals.
105 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
107 * Makefile.in (MAKE_VERSION): bump version to 20120518
108 Merge with NetBSD make, pick up
109 o use _exit(2) in signal hanlder
110 o Don't use the [dir] cache when building nodes that might have
111 changed since the last exec.
112 o Avoid nested extern declaration warnings.
114 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
116 * meta.c (fgetLine): avoid %z - not portable.
117 * parse.c: Since we moved include of sys/mman.h
118 and def's of MAP_COPY etc. we got dups from a merge.
120 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
122 * Makefile.in (MAKE_VERSION): bump version to 20120420
123 Merge with NetBSD make, pick up
124 o restore duplicate supression in .MAKE.MAKEFILES
125 runtime saving can be significant.
126 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
127 consumption up to 20%.
129 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
131 * Makefile.in (MAKE_VERSION): bump version to 20120420
132 Merge with NetBSD make, pick up
133 o remove duplicate supression in .MAKE.MAKEFILES
134 o improved dir cache behavior
135 o gmake'ish export command
137 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
139 * Makefile.in (MAKE_VERSION): bump version to 20120325
140 Merge with NetBSD make, pick up
141 o fix parsing of :[#] in conditionals.
143 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
145 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
146 since some systems cannot cope with .Nx <version>
148 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
150 * Makefile.in (MAKE_VERSION): bump version to 20111111
151 Merge with NetBSD make, pick up
152 o debug output for .PARSEDIR and .PARSEFILE
154 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
156 * Makefile.in (MAKE_VERSION): bump version to 20111010
158 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
160 * boot-strap: check for an expected file in the dirs we look for.
161 * make-bootstrap.sh: pass on LDSTATIC
163 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
165 * Makefile.in (MAKE_VERSION): bump version to 20111001
166 Merge with NetBSD make, pick up
167 o ensure .PREFIX is set for .PHONY
168 and .TARGET set for .PHONY run via .END
169 o __dead used consistently
171 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
173 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
175 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
177 * Makefile.in (MAKE_VERSION): bump version to 20110905
178 Merge with NetBSD make, pick up
179 o meta_oodate: ignore makeDependfile
181 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
183 * Makefile.in (MAKE_VERSION): bump version to 20110828
184 Merge with NetBSD make, pick up
185 o silent=yes in .MAKE.MODE causes meta mode to mark targets
186 as SILENT if a .meta file is created
188 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
190 * Makefile.in (MAKE_VERSION): bump version to 20110818
191 Merge with NetBSD make, pick up
192 o in meta mode, if target flagged .META a missing .meta file
193 means target is out-of-date
194 o fixes for gcc 4.5 warnings
195 o simplify job printing code
197 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
199 * Makefile.in (MAKE_VERSION): bump version to 20110808
200 Merge with NetBSD make, pick up
201 o do not touch OP_SPECIAL targets when doing make -t
203 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
205 * Makefile.in (MAKE_VERSION): bump version to 20110622
206 Merge with NetBSD make, pick up
207 o meta_oodate detect corrupted .meta file and declare oodate.
208 * configure.in: add check for setsid
210 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
212 * Merge with NetBSD make, pick up
213 o unit-tests/modts now works on MirBSD
215 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
217 * Makefile.in (MAKE_VERSION): bump version to 20110606
218 Merge with NetBSD make, pick up
219 o ApplyModifiers: when we parse a variable which is not
220 the entire modifier string, or not followed by ':', do not
221 consider it as containing modifiers.
222 o loadfile: ensure newline at end of mapped file.
224 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
226 * Makefile.in (MAKE_VERSION): bump version to 20110505
227 Merge with NetBSD make, pick up
228 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
229 of make's control. In meta mode, any generated file within
230 said bailiwick, which is found to be missing, causes current
231 target to be out-of-date.
233 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
235 * Makefile.in (MAKE_VERSION): bump version to 20110411
236 Merge with NetBSD make, pick up
237 o when long modifiers fail to match, check sysV style.
240 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
242 * Makefile.in (MAKE_VERSION): bump version to 20110410
243 Merge with NetBSD make, pick up
244 o :hash - cheap 32bit hash of value
245 o :localtime, :gmtime - use value as format string for strftime.
247 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
249 * Makefile.in (MAKE_VERSION): bump version to 20110330
250 mostly because its a cooler version.
251 Merge with NetBSD make, pick up
252 o NetBSD tags for meta.[ch]
253 o job.c call meta_job_finish() after meta_job_error().
254 o meta_job_error() should call meta_job_finish() to ensure
255 .meta file is closed, and safe to copy - if .ERROR target wants.
256 meta_job_finish() is safe to call repeatedly.
258 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
260 * unit-tests/modts: use printf if it is a builtin,
261 to save us from MirBSD
263 * Makefile.in (MAKE_VERSION): bump version to 20110329
264 Merge with NetBSD make, pick up
265 o fix for use after free() in CondDoExists().
266 o meta_oodate() report extra commands and return earlier.
268 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
270 * Makefile.in (MAKE_VERSION): bump version to 20110327
271 Merge with NetBSD make, pick up
272 o meta.c, if .MAKE.MODE contains curdirOk=yes
273 allow creating .meta files in .CURDIR
274 * boot-strap (TOOL_DIFF): aparently at least on linux distro
275 formats the output of 'type' differently - so eat any "()"
277 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
279 * Makefile.in (MAKE_VERSION): bump version to 20110306
280 Merge with NetBSD make, pick up
281 o meta.c, only do getcwd() once
283 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
285 * Makefile.in (MAKE_VERSION): bump version to 20110305
286 Merge with NetBSD make, pick up
287 o correct sysV substitution handling of empty lhs and variable
288 o correct exists() check for dir with trailing /
289 o correct handling of modifiers for non-existant variables
290 during evaluation of conditionals.
291 o ensure MAP_FILE is defined.
292 o meta.c use curdir[] now exported by main.c
294 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
296 * Makefile.in (MAKE_VERSION): bump version to 20110225
297 Merge with NetBSD make, pick up
298 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
299 makefiles have been read.
300 o fix example of :? modifier in man page.
302 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
304 * Makefile.in (MAKE_VERSION): bump version to 20110214
305 Merge with NetBSD make, pick up
306 o meta.c handle realpath() failing when generating meta file
309 * sigcompat.c: convert to ansi so we can use higher warning levels.
312 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
314 * Makefile.in (MAKE_VERSION): bump version to 20110207
315 Merge with NetBSD make, pick up
316 o fix for bug in meta mode.
318 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
320 * parse.c: SunOS 5.8 at least does not have MAP_FILE
322 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
324 * Makefile.in (MAKE_VERSION): bump version to 20110101
325 Merge with NetBSD make, pick up
326 o use mmap(2) if available, for reading makefiles
328 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
330 * Makefile.in (MAKE_VERSION): bump version to 20101215
331 Merge with NetBSD make, pick up
332 o ensure meta_job_error() does not report a previous .meta file
335 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
337 * Makefile.in (MAKE_VERSION): bump version to 20101210
338 Merge with NetBSD make, pick up
339 o meta_oodate: track cwd per process, and only consider target
340 out-of-date if missing file is outside make's CWD.
341 Ignore files in /tmp/ etc.
342 o to ensure unit-tests results match, need to control LC_ALL
344 o fix for parsing bug in var.c
346 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
348 * Makefile.in (MAKE_VERSION): bump version to 20101126
349 Merge with NetBSD make, pick up
350 o if stale dependency is an IMPSRC, search via .PATH
351 o meta_oodate: if a referenced file is missing, target is
353 o meta_oodate: if a target uses .OODATE in its commands,
354 it (.OODATE) needs to be recomputed.
355 o keep a pointer to youngest child node, rather than just its
358 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
360 * Makefile.in (MAKE_VERSION): bump version to 20101101
362 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
364 * machine.sh: like os.sh,
365 allow for uname -p producing useless drivel
367 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
369 * boot-strap: document configure knobs for meta and filemon.
371 * Makefile.in (MAKE_VERSION): bump version to 20100911
372 Merge with NetBSD make, pick up
375 * make-bootstrap.sh.in: handle meta.c
376 * configure.in: add knobs for use_meta and filemon_h
377 also, look for dirname, str[e]sep and strlcpy
378 * util.c: add simple err[x] and warn[x]
380 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
382 * boot-strap (TOOL_DIFF): set this to ensure tests use
383 the same version of diff that configure tested
385 * Makefile.in (MAKE_VERSION): bump version to 20100808
386 Merge with NetBSD make, pick up
387 o in jobs mode, when we discover we cannot make something,
388 call PrintOnError before exit.
390 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
392 * Makefile.in (MAKE_VERSION): bump version to 20100806
393 Merge with NetBSD make, pick up
394 o formatting fixes for ignored errors
395 o ensure jobs are cleaned up regardless of where wait() was called.
397 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
399 * Makefile.in (MAKE_VERSION): bump version to 20100618
400 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
402 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
404 * Makefile.in (MAKE_VERSION): bump version to 20100616
405 Merge with NetBSD make, pick up
407 o call PrintOnError from JobFinish when we detect an error we
410 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
412 * Makefile.in (MAKE_VERSION): bump version to 20100606
413 Merge with NetBSD make, pick up
416 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
418 * Makefile.in (MAKE_VERSION): bump version to 20100605
419 Merge with NetBSD make, pick up
420 o use bmake_signal() which is a wrapper around sigaction()
422 o add .export-env to allow exporting variables to environment
423 without tracking (so no re-export when the internal value is
426 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
428 * Makefile.in (MAKE_VERSION): bump version to 20100524
429 Merge with NetBSD make, pick up
430 o fix for .info et al being greedy.
432 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
434 * Makefile.in (MAKE_VERSION): bump version to 20100520
435 Merge with NetBSD make, pick up
436 o back to using realpath on argv[0]
437 but only if contains '/' and does not start with '/'.
439 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
441 * boot-strap: use absolute path for bmake when running tests.
443 * Makefile.in (MAKE_VERSION): bump version to 20100510
444 Merge with NetBSD make, pick up
445 o revert use of realpath on argv[0]
446 too many corner cases.
447 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
449 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
451 * Makefile.in (MAKE_VERSION): bump version to 20100505
452 Merge with NetBSD make, pick up
453 o fix for missed SIGCHLD when compiled with SunPRO
454 actually for bmake, defining FORCE_POSIX_SIGNALS would have
457 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
459 * Makefile.in (MAKE_VERSION): bump version to 20100430
460 Merge with NetBSD make, pick up
461 o fflush stdout before writing to stdout
463 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
465 * Makefile.in (MAKE_VERSION): bump version to 20100423
466 Merge with NetBSD make, pick up
467 o updated unit tests for Haiku (this time for sure).
468 * boot-strap: based on patch from joerg
469 honor --with-default-sys-path better.
470 * boot-strap: remove mention of --with-prefix-sys-path
472 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
474 * Makefile.in (MAKE_VERSION): bump version to 20100422
475 * Merge with NetBSD make, pick up
476 o fix for vfork() on Darwin.
477 o fix for bogus $TMPDIR.
478 o set .MAKE.MODE=compat for -B
479 o set .MAKE.JOBS=max_jobs for -j max_jobs
480 o allow unit-tests to run without any *.mk
481 o unit-tests/modmisc be more conservative in dirs presumed to exist.
482 * boot-strap: ignore /usr/share/mk except on NetBSD.
483 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
484 ensure sort(1) behaves as expected.
486 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
488 * boot-strap: add FindHereOrAbove so we can use -m .../mk
490 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
492 * Makefile.in (MAKE_VERSION): bump version to 20100420
493 * Merge with NetBSD make, pick up
494 o fix for variable realpath() behavior.
495 we have to stat(2) the result to be sure.
496 o fix for .export (all) when nested vars use :sh
498 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
500 * Makefile.in (MAKE_VERSION): bump version to 20100414
501 * Merge with NetBSD make, pick up
502 o use realpath to resolve argv[0] (for .MAKE) if needed.
503 o add realpath from libc.
504 o add :tA to resolve variable via realpath(3) if possible.
506 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
508 * Makefile.in (MAKE_VERSION): bump version to 20100408
509 * Merge with NetBSD make, pick up
510 o unit tests for .ERROR, .error
511 o fix for .ERROR to ensure it cannot be default target.
513 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
515 * Makefile.in (MAKE_VERSION): bump version to 20100406
516 * Merge with NetBSD make, pick up
517 o fix for compat mode "Error code" going to debug_file.
518 o fix for .ALLSRC being populated twice.
519 o support for .info, .warning and .error directives
520 o .MAKE.MODE to control make's operational mode
521 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
523 o .MAKE.DEPENDFILE to control the name of the depend file
524 o .ERROR target - run on failure.
526 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
528 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
530 * os.sh,arch.c: patch for Haiku from joerg at netbsd
532 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
534 * Makefile.in (MAKE_VERSION): bump version to 20100222
535 * Merge with NetBSD make, pick up
536 o better error msg for .for with mutiple inter vars
539 o use make-bootstrap.sh from joerg at netbsd
540 to avoid the need for a native make when bootstrapping.
541 o add "" everywhere ;-)
542 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
543 otherwise the pre-formated version.
545 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
547 * Makefile.in (MAKE_VERSION): bump version to 20100102
548 * Merge with NetBSD make, pick up:
551 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
553 * Makefile.in (MAKE_VERSION): bump version to 20091118
554 * Merge with NetBSD make, pick up:
556 o report lines that start with '.' and should have ':'
557 (catch typo's of .el*if).
559 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
561 * configure.in: Ensure that srcdir and mksrc are absolute paths.
563 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
565 * Makefile.in (MAKE_VERSION): fix version to 20091007
567 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
569 * Makefile.in (MAKE_VERSION): bump version to 200910007
570 * Merge with NetBSD make, pick up:
571 o fix for parsing of :S;...;...; applied to .for loop iterator
572 appearing in a dependency line.
574 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
576 * Makefile.in (MAKE_VERSION): bump version to 20090909
577 * Merge with NetBSD make, pick up:
578 o fix for -C, .CURDIR and .OBJDIR
580 o allow share_dir to be set independent of prefix.
581 o select default share_dir better when prefix ends in $HOST_TARGET
582 o if FORCE_BSD_MK etc were set, include them in the suggested
585 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
587 * Makefile.in (MAKE_VERSION): bump version to 20090908
588 * Merge with NetBSD make, pick up:
589 o .MAKE.LEVEL for recursion tracking
590 o fix for :M scanning \:
592 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
594 * configure.in: Don't -D__EXTENSIONS__ if
595 AC_USE_SYSTEM_EXTENSIONS says "no".
597 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
599 * Makefile.in (MAKE_VERSION): bump version to 20090826
600 Simplify MAKE_VERSION to just the bare date.
601 * Merge with NetBSD make, pick up:
602 o -C directory support.
603 o support for SIGINFO
604 o use $TMPDIR for temp files.
605 o child of vfork should be careful about modifying parent's state.
608 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
610 * Appy some patches for MiNT from David Brownlee
612 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
614 * Makefile.in (BMAKE_VERSION): bump version to 20090222
615 * Merge with NetBSD make, pick up:
616 o Possible null pointer de-ref in Var_Set.
618 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
620 * Makefile.in (BMAKE_VERSION): bump version to 20090204
621 * Merge with NetBSD make, pick up:
622 o bmake_malloc et al moved to their own .c
623 o Count both () and {} when looking for the end of a :M pattern
624 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
625 o strlist.c - functions for processing extendable arrays of pointers to strings.
626 o ClientData replaced with void *, so const void * can be used.
627 o New debug flag C for DEBUG_CWD
629 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
631 * Makefile.in (BMAKE_VERSION): bump version to 20081111
632 Apply patch from Joerg Sonnenberge to
634 o remove some redundant checks
635 o check for emlloc etc only in libutil and require the whole family.
637 o remove [v]asprintf which is no longer used.
639 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
641 * Makefile.in (BMAKE_VERSION): bump version to 20081101
642 * Merge with NetBSD make, pick up:
643 o util.c: avoid use of putenv() - christos
645 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
647 * Makefile.in (BMAKE_VERSION): bump version to 20081030
648 pick up man page tweaks.
650 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
652 * Makefile.in: move processing of LIBOBJS to after is definition!
653 thus we'll have getenv.c in SRCS only if needed.
655 * make.1: add examples of how to use :?
657 * Makefile.in (BMAKE_VERSION): bump version to 20081029
658 * Merge with NetBSD make, pick up:
659 o fix for .END processing with -j
660 o segfault from Parse_Error when no makefile is open
661 o handle numeric expressions in any variable expansion
662 o debug output now defaults to stderr, -dF to change it - apb
663 o make now uses bmake_malloc etc so that it can build natively
664 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
666 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
668 * Makefile.in (BMAKE_VERSION): bump version to 20080808
669 * Merge with NetBSD make, pick up:
670 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
671 long lines in Makefiles
672 o optimizations for VarQuote by joerg
673 o fix for PR/38756: dominik: make dumps core on invalid makefile
675 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
677 * Makefile.in (BMAKE_VERSION): bump version to 20080515
678 * Merge with NetBSD make, pick up:
679 o fix skip setting vars in VAR_GLOBAL context, to handle
680 cases where VAR_CMD is used for other than command line vars.
682 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
684 * boot-strap (make_version): we may need to look in
685 $prefix/share/mk for sys.mk
687 * Makefile.in (BMAKE_VERSION): bump version to 20080514
688 * Merge with NetBSD make, pick up:
689 o skip setting vars in VAR_GLOBAL context, when already set in
690 VAR_CMD which takes precedence.
692 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
694 * Makefile.in (BMAKE_VERSION): bump version to 20080330
695 * Merge with NetBSD make, pick up:
696 o fix for ?= when LHS contains variable reference.
698 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
700 * merge some patches from NetBSD pkgsrc.
702 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
703 the MAKSYSPATH used during bootstrap.
705 * Makefile.in (BMAKE_VERSION): bump version to 20080215
706 * Merge with NetBSD make, pick up:
707 o warn if non-space chars follow 'empty' in a conditional.
709 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
711 * Makefile.in (BMAKE_VERSION): bump version to 20080118
712 * Merge with NetBSD make, pick up:
713 o consider dependencies read from .depend as optional - dsl
714 o remember when buffer for reading makefile grows - dsl
715 o add -dl (aka LOUD) - David O'Brien
717 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
719 * Makefile.in (BMAKE_VERSION): bump version to 20071022
720 * Merge with NetBSD make, pick up:
721 o Allow .PATH<suffix> to be used for .include ""
723 * boot-strap: source default settings from .bmake-boot-strap.rc
725 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
727 * Makefile.in: fix maninstall on various systems
728 provided that our man.mk is used.
729 For non-BSD systems we install the preformatted page
732 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
734 * boot-strap: make bmake.1 too, so maninstall works.
736 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
738 * Makefile.in (BMAKE_VERSION): bump version to 20071014
739 * Merge with NetBSD make, pick up:
740 o revamped handling of defshell - configure no longer needs to
741 know the content of the shells array - apb
742 o stop Var_Subst modifying its input - apb
743 o avoid calling ParseTrackInput too often - dsl
745 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
747 * Makefile.in (BMAKE_VERSION): bump version to 20071011
748 * Merge with NetBSD make, pick up:
749 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
751 * sigcompat.c: some tweaks for HP-UX 11.x based on
752 patch from Tobias Nygren
754 * configure.in: update handling of --with-defshell to match
755 new make behavior. --with-defshell=/usr/xpg4/bin/sh
756 will now do what one might hope - provided the chosen shell
757 behaves enough like sh.
759 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
761 * Makefile.in (BMAKE_VERSION): bump to 20071008
762 * Merge with NetBSD make, pick up:
763 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
764 o .export/.MAKE.EXPORTED - export of variables - sjg
765 o .MAKE.MAKEFILES - track all makefiles read - sjg
766 o performance improvements - dsl
767 o revamp parallel job scheduling - dsl
769 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
771 * Makefile.in (BMAKE_VERSION): bump to 20060728
772 * Merge with NetBSD make, pick up:
773 o extra debug info during variable and cond processing - sjg
774 o shell definition now covers newline - rillig
775 o minor mem leak in PrintOnError - sjg
777 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
779 * Makefile.in (BMAKE_VERSION): bump to 20060511
780 * Merge with NetBSD make, pick up:
781 o more memory leaks - coverity
782 o possible overflow in ArchFindMember - coverity
783 o extract variable modifier code out of Var_Parse()
784 so it can be called recursively - sjg
785 o unit-tests/moderrs - sjg
787 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
789 * Makefile.in (BMAKE_VERSION): bump to 20060412
790 * Merge with NetBSD make, pick up:
791 o fixes for some memory leaks - coverity
792 o only read first sys.mk etc when searching sysIncPath - sjg
794 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
795 setting ${MAKEFILE} - OBATA Akio
797 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
799 * Makefile.in (BMAKE_VERSION): bump to 20060318
800 * Merge with NetBSD make, pick up:
801 o cleanup of job.c to remove remote handling, distcc is more
802 useful and this code was likely bit-rotting - dsl
803 o fix for :P modifier - sjg
804 * boot-strap: set default prefix to something reasonable
807 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
809 * Makefile.in (BMAKE_VERSION): bump to 20060301
810 * Merge with NetBSD make, pick up:
811 o make .WAIT apply recursively, document and test case - apb
812 o allow variable modifiers in a variable appear anywhere in
813 modifier list, document and test case - sjg
815 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
817 * Makefile.in (BMAKE_VERSION): bump to 20060222
818 * Merge with NetBSD make, pick up:
819 o improved job token handling - dsl
820 o SIG_DFL the correct signal before exec - dsl
821 o more debug info during parsing - dsl
822 o allow variable modifiers to be specified via variable - sjg
823 * boot-strap: explain why we died if no mksrc
825 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
827 * Makefile.in (BMAKE_VERSION): bump to 20051105
828 * configure.in: always set default_sys_path
829 default is ${prefix}/share/mk
830 - remove prefix_sys_path, anyone wanting more than above
831 needs to set it manually.
833 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
835 * boot-strap: make this a bit easier for pkgsrc folk.
836 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
837 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
839 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
841 * Makefile.in (BMAKE_VERSION): bump to 20051102
842 * job.c (JobFinish): fix likely ancient merge lossage
843 fix from Todd Vierling.
844 * boot-strap (srcdir): allow setting mksrc=none
846 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
848 * Makefile.in (BMAKE_VERSION): bump to 20051031
849 * ranlib.h: skip on OSF too.
852 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
854 * Makefile.in (BMAKE_VERSION): bump to 20051002
857 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
859 * Makefile.in (BMAKE_VERSION): bump to 20051001
860 support for UnixWare and some other systems,
861 based on patches from pkgsrc/bootstrap
863 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
865 * Makefile.in (BMAKE_VERSION): bump to 20050901
866 * Merge with NetBSD make, pick up:
867 o possible parse error causing us to wander off.
869 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
871 * Makefile.in (BMAKE_VERSION): bump to 20050606
872 * Merge with NetBSD make, pick up:
873 o :0x modifier for randomizing a list
874 o fixes for a number of -Wuninitialized issues.
876 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
878 * Makefile.in (BMAKE_VERSION): bump to 20050530
879 * Merge with NetBSD make, pick up:
880 o Handle dependencies for .BEGIN, .END and .INTERRUPT
882 * README: was seriously out of date.
884 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
886 * Important to use .MAKE rather than MAKE.
888 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
890 * Makefile.in (BMAKE_VERSION): bump to 20050315
891 * Merge with NetBSD make, pick up:
892 o don't mistake .elsefoo for .else
893 o use suffix-specific search path correctly
894 o bunch of style nits
896 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
899 o ensure that args to --src and --with-mksrc
900 are resolved before giving them to configure.
901 o add -o "objdir" so that builder can control it,
902 default is $OS as determined by os.sh
903 o add -q to suppress all the install instructions.
905 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
907 * Remove __IDSTRING()
909 * Makefile.in (BMAKE_VERSION): bump to 20040508
910 * Merge with NetBSD make, pick up:
912 - remove '-e' from compat mode
913 - add support for '+' command-line prefix.
914 o fix for handling '--' on command-line.
915 o fix include in lst.lib/lstInt.h to simplify '-I's
916 o we also picked up replacement of MAKE_BOOTSTRAP
917 with !MAKE_NATIVE which is a noop, but possibly confusing.
919 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
921 * Makefile.in (BMAKE_VERSION): bump to 20040414
922 * Merge with NetBSD make, pick up:
923 o allow quoted strings on lhs of conditionals
924 o issue warning when extra .else is seen
925 o print line numer when errors encountered during parsing from
928 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
930 * Makefile.in (BMAKE_VERSION): bump to 20040220
931 * Merge with NetBSD make, pick up:
932 o fix for old :M parsing bug.
933 o re-jigged unit-tests
935 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
937 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
938 so that './bmake -f Makefile test' works.
940 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
942 * Makefile.in: (BMAKE_VERSION): bump to 20040214
943 * Merge with NetBSD make, pick up:
944 o search upwards for *.mk
945 o fix for double free of var substitution buffers
946 o use of getopt replaced with custom code, since the usage
947 (re-scanning) isn't posix compatible.
949 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
951 * arch.c: don't include ranlib.h on ELF systems
952 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
954 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
956 * Makefile.in (BMAKE_VERSION): bump to 20040118
958 * boot-strap (while): export vars we assign to on cmdline
959 * unit-test/Makefile.in: ternary is .PHONY
961 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
963 * Makefile.in (BMAKE_VERSION): bump version to 20040108
964 * Merge with NetBSD make, pick up:
965 o fix for ternary modifier
967 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
969 * Makefile.in (BMAKE_VERSION): bump version to 20040105
970 * Merge with NetBSD make, pick up:
971 o fix for cond.c to handle compound expressions better
972 o variable expansion within sysV style replacements
974 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
976 * Make portable snprintf safer - output to /dev/null first to
979 * Makefile.in (BMAKE_VERSION): bump version to 20031222
980 * Merge with NetBSD make, pick up:
981 o -dg3 to show input graph when things go wrong.
982 o explicitly look for makefiles in objdir if not found in curdir so
983 that errors in .depend etc will be reported accurarely.
984 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
985 instead as it more accurately reflects the expected behavior and
986 is more consistently implemented.
987 o avoid use of asprintf.
989 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
991 * util.c: Add asprintf and vasprintf.
993 * Makefile.in (BMAKE_VERSION): bump version to 20030928
994 * Merge with NetBSD make, pick up:
995 :[] modifier - allows picking words from a variable.
996 :tW modifier - allows treating value as one big word.
997 W flag for :C and :S - allows treating value as one big word.
999 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1001 * Merge with NetBSD make
1002 pick up -de flag to enable printing failed command.
1003 don't skip 1st two dir entries (normally . and ..) since
1004 coda does not have them.
1006 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1008 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1009 * Merge with NetBSD make, pick up:
1010 - changes for -V '${VAR}' to print fully expanded value
1012 - CompatRunCommand now prints the command that failed.
1013 - several files got updated 3 clause Berkeley license.
1015 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1017 * boot-strap: Allow setting configure args on command line.
1019 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1021 * configure.in: add --with-defshell to allow sh or ksh
1022 to be selected as default shell.
1024 * Makefile.in: bump version to 20030731
1026 * Merge with NetBSD make
1027 Pick up .SHELL spec for ksh and associate man page changes.
1028 Also compat mode now uses the same shell specs.
1030 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1032 * var.c (Var_Parse): ensure delim is initialized.
1034 * unit-tests/Makefile.in: use single quotes to avoid problems from
1038 Run the unit-tests as part of the bootstrap procedure.
1040 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1042 * unit-tests/Makefile.in: always force complaints from
1043 ${TEST_MAKE} to be from 'make'.
1045 * configure.in: add check for 'diff -u'
1046 also fix some old autoconf'isms
1048 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1049 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1051 * Merge with NetBSD make
1052 Pick up fix for :ts parsing error in some cases.
1055 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1057 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1059 * var.c (Var_Parse): fix bug in :ts modifier, after const
1060 correctness fixes, must pass nstr to VarModify.
1062 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1064 * Makefile.in: BMAKE_VERSION switch to a date based version.
1065 We'll generally use the date of last import from NetBSD.
1067 * Merge with NetBSD make
1068 Pick up fixes for const-correctness, now passes WARNS=3 on
1070 Pick up :ts modifier, allows controlling the separator used
1071 between words in variable expansion.
1073 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1075 * FILES: include boot-strap and os.sh
1077 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1078 FreeBSD is known to be bad.
1080 * makefile.boot.in (bootstrap): make this the default target.
1082 * Makefile.in: bump version to 3.1.19
1084 * machine.sh: avoid A-Z with tr as it is bound to lose.
1086 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1088 * Merge with NetBSD make
1089 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1090 Plus some doc fixes.
1092 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1094 * Merge with NetBSD make
1095 Pick up fix for PR/1523 - don't count a library as built, if there
1096 is no way to build it
1098 * Bump version to 3.1.18
1100 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1102 * Merge with NetBSD make
1103 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1104 appears in src list.
1106 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1108 * Merge with NetBSD make (mmm 10th anniversary!)
1109 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1110 pick up -X which tells us to not export VAR=val via setenv if
1111 we are already doing so via MAKEFLAGS. This saves valuable env
1112 space on systems like Darwin.
1113 set MAKE_VERSION to 3.1.17
1115 * parse.c: pix up fix for suffix rules
1117 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1119 * Merge with NetBSD make.
1120 pick up fix for propagating -B via MAKEFLAGS.
1121 set MAKE_VERSION to 3.1.16
1123 * Apply some patches from pkgsrc-bootstrap/bmake
1124 Originally by Grant Beattie <grant@netbsd.org>
1125 I may have missed some - since they are based on bmake-3.1.12
1127 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1129 * makefile.boot.in (bmake): update install targets for those that
1130 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1131 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1133 * bmake.cat1: update the pre-formatted man page!
1135 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1137 * Merge with NetBSD make.
1138 pick up fix for premature free of pointer used in call
1140 set MAKE_VERSION to 3.1.15
1142 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1144 * configure.in: determine suitable value for MKSRC.
1145 override using --with-mksrc=PATH.
1147 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1148 configs(8) will use 'sun4' as an alias for 'sparc'.
1150 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1152 * Merge with NetBSD make.
1154 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1155 set MAKE_VERSION to 3.1.14
1156 add configure checks for killpg and sys/socket.h
1158 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1162 * makefile.boot.in (bmake): use install-mk
1163 Also setup ./mk before trying to invoke bmake.boot incase we
1164 needed install-mk to create a sys.mk for us.
1166 * configure.in: If we need to add -I${srcdir}/missing, make it an
1167 absolute path so that it works for lst.lib too.
1169 * make.h: always include sys/cdefs.h since we provide one if the
1172 * Makefile.in (install-mk):
1173 use MKSRC/install-mk which will do the right thing.
1174 use uname -p for ARCH if possible.
1175 since install-mk will setup links bsd.prog.mk -> prog.mk if
1176 needed, just .include bsd.prog.mk
1178 * Merge with NetBSD make (NetBSD-1.6)
1179 Code is ansi-C only now.
1180 Bug in handling of dotLast is fixed.
1181 Can now assign .OBJDIR and make will reset its notions of life.
1182 New modifiers :tu :tl for toUpper and toLower.
1184 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1186 * Merge with NetBSD make
1187 pick up fix for .END failure in compat mode.
1188 pick up fix for extra va_end() in ParseVErrorInternal.
1190 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1192 * configure.in: for systems that have sys/cdefs.h check if it is
1193 compatible. If not, include the one under missing, but tell it to
1194 include the native one too - necessary on Linux.
1196 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1197 include_next (for gcc) to get the native sys/cdefs.h
1199 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1201 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1202 leaking descriptors when using -jN.
1204 * job.c (JobPrintCommand): See if "curdir" exists before
1205 attempting to chdir(). Doing the chdir directly in make (when in
1206 compat mode) fails silently, so let the -jN version do the same.
1207 This can happen when building kernels in an object tree and
1208 playing clever games to reset .CURDIR.
1210 * Merged with NetBSD make
1213 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1215 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1217 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1219 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1220 us not to export the iterator variable when using VAR_CMD context.
1222 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1224 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1225 its the wrong "fix".
1227 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1229 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1230 We now simply append the variable names to .MAKEOVERRIDES, and
1231 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1232 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1233 Apart from fixing quoting bugs in previous version, this allows us
1234 to export vars to the environment by simply doing:
1235 .MAKEOVERRIDES+= PATH
1236 Merged again with NetBSD make, but the above is the only change.
1238 * configure.in: added
1239 --disable-pwd-override disable $PWD overriding getcwd()
1240 --disable-check-make-chdir disable make trying to guess
1241 when it should automatically cd ${.CURDIR}
1243 * Merge with NetBSD make, changes include:
1244 parse.c (ParseDoDependency): Spot that the syntax error is
1245 caused by an unresolved cvs/rcs conflict and say so.
1246 var.c: most of Var* functions now take a ctxt as 1st arg.
1247 now does variable substituion on rhs of sysv style modifiers.
1249 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1250 is now done here. We append the name='value' to .MAKEOVERRIDES
1251 rather than directly into MAKEFLAGS as this allows a Makefile to
1252 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
1253 very similar mechanism. Note that in adding name='value' to
1254 .MAKEOVERRIDES we do the moral equivalent of:
1255 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1257 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1259 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1261 * Merged with NetBSD make
1262 make -dx can now be used to run commands via sh -x
1263 better error messages on exec failures.
1265 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1267 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1268 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
1269 MACHINE etc otherwise they propagate from the previous bmake.
1271 * configure.in (machine): allow --with-machine=generic to make
1272 configure use machine.sh to set MACHINE.
1274 * job.c (JobInterrupt): convert to using WAIT_T and friends.
1276 * Makefile.in: mention in bmake.1 that we use autoconf.
1278 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1280 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1282 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1283 as that rather defeats the usefulness of ${MAKEFILE}.
1285 * main.c (MainParseArgs): append command line variable assignments
1286 to MAKEFLAGS so that they get propagated to child make's.
1287 Apparently this is required POSIX behaviour? Its useful anyway.
1289 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1291 * compat.c (CompatRunCommand): don't use perror() since stdio may
1292 cause problems in child of vfork().
1294 * compat.c, main.c: Call PrintOnError() when we are going to bail.
1295 This routine prints out the .curdir where we stopped and will also
1296 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1298 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
1301 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
1303 * Added RCSid's for the files we've touched.
1305 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1307 * configure.in: Thanks to some clues from mdb@juniper.net,
1308 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1309 as well as what ends up in _PATH_DEFSYSPATH. We now have:
1311 --with-machine=MACHINE explicitly set MACHINE
1312 --with-force-machine=MACHINE set FORCE_MACHINE
1313 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
1314 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
1315 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
1316 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
1318 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1320 * makefile: added a pathetically simple makefile to drive
1321 bootstrapping. Running configure by hand is more useful.
1323 * Makefile.in: added MAKE_VERSION, and reworked things to be less
1324 dependent on NetBSD bsd.*.mk
1326 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1327 _PATH_OBJDIRPREFIX for those that don't want a default.
1328 construct _PATH_DEFSYSPATH from the info we get from configure.
1330 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1331 if MAKE_VERSION is defined.
1333 * compat.c: when we bail, print out the .CURDIR we were in.
1335 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1337 * Merged with NetBSD make
1339 * var.c: fixed a bug in the handling of the modifier :P
1340 if the node as found but the path was null, we segfault trying to
1343 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1345 * Merged with NetBSD make
1347 * make.c: Make_OODate's test for a library out of date was using
1348 cmtime where it should have used mtime (my bug).
1350 * compat.c: Use perror() to tell us what really went wrong when we
1351 cannot exec a command.
1353 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1355 * Merged with NetBSD make
1357 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1359 * Merged with NetBSD make
1361 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1363 * Merged with NetBSD make
1365 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1367 * Merged with NetBSD make
1369 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1371 * util.c: don't provide signal() since we use sigcompat.c
1373 * Makefile.in: added a build target.
1375 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
1376 These allow some quite clever magic.
1378 * main.c (main): added support for getenv(MAKESYSPATH).
1380 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1382 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
1383 This avoids objdir having a different value depending on how a
1384 directory was reached (via command line, or subdir.mk).
1386 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
1388 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1390 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
1391 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
1392 I've been testing this in NetBSD's make for some weeks.
1394 * Turn Makefile into Makefile.in and make it useful.
1396 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1398 * Imported NetBSD's -current make(1) and resolve conflicts.
1400 * Applied autoconf patches from bmake v2
1402 * Imported clean code base from NetBSD-1.0