1 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
3 * Makefile (MAKE_VERSION): 20130330
4 Merge with NetBSD make, pick up
5 o meta.c: refine the handling of .OODATE in commands.
6 Rather than suppress command comparison for the entire script
7 as though .NOMETA_CMP had been used, only suppress it for the
9 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
10 suppress comparison of a command without otherwise affecting it.
11 o make.1: document that
13 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
15 * Makefile (MAKE_VERSION): 20130321
16 yes, not quite right but its a cooler number.
17 Merge with NetBSD make, pick up
18 o parse.c: fix ParseGmakeExport to be portable
20 * meta.c: call meta_init() before makefiles are read and if built
21 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
22 this let's makefiles test for support.
23 Call meta_mode_init() to process .MAKE.MODE.
25 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
27 * Makefile (MAKE_VERSION): 20130305
28 Merge with NetBSD make, pick up
29 o run .STALE: target when a dependency from .depend is missing.
30 o job.c: add Job_RunTarget() for the above and .BEGIN
32 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
34 * Makefile (MAKE_VERSION): 20130303
35 Merge with NetBSD make, pick up
36 o main.c: set .MAKE.OS to utsname.sysname
37 o job.c: more checks for read and poll errors
38 o var.c: lose VarChangeCase() saves 4% time
40 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
42 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
43 want to use MAKEOBJDIR
45 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
47 * Merge with NetBSD make, pick up
48 o make.1: more info on how shell commands are handled.
49 o job.c,main.c: detect write errors to job pipes.
51 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
53 * Makefile (MAKE_VERSION): 20130123
54 Merge with NetBSD make, pick up
55 o meta.c: if script uses .OODATE and meta_oodate() decides
56 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
57 o var.c: in debug output indicate which variabale modifiers
59 o remove Check_Cwd logic the makefiles have been fixed.
61 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
63 * makefile.in: add a simple makefile for folk who insist on
64 ./configure; make; make install
65 it just runs boot-strap
66 * include mk/* to accommodate the above
67 * boot-strap: re-work to accommodate the above
68 mksrc defaults to $Mydir/mk
69 allow op={configure,build,install,clean,all}
70 add options to facilitate install
71 * Makefile.config.in: just the bits set by configure
72 * Makefile: bump version to 20121212
73 abandon Makefile.in (NetBSD Makefile)
75 * configure.in: ensure srcdir is absolute
77 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
79 * Makefile.in (MAKE_VERSION): 20121111
80 fix generation of bmake.cat1
82 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
84 * Makefile.in (MAKE_VERSION): 20121109
85 Merge with NetBSD make, pick up
86 o make.c: MakeBuildChild: return 0 so search continues if a
87 .ORDER dependency is detected.
88 o unit-tests/order: test the above
90 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
92 * Makefile.in (MAKE_VERSION): 20121102
93 Merge with NetBSD make, pick up
94 o cond.c: allow cond_state[] to grow.
95 In meta mode with a very large tree, we can hit the limit
96 while processing dirdeps.
98 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
100 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
102 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
104 * Makefile.in (MAKE_VERSION): 20121010
105 o protect syntax that only bmake parses correctly.
106 o remove auto setting of FORCE_MACHINE, use configure's
107 --with-force-machine=whatever if that is desired.
109 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
111 * Makefile.in: do not lose history from make.1 when generating bmake.1
113 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
115 * Makefile.in (MAKE_VERSION): 20121007
116 Merge with NetBSD make, pick up
117 o compat.c: ignore empty commands - same as jobs mode.
118 o make.1: document meta chars that cause use of shell
120 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
122 * Makefile.in (MAKE_VERSION): bump version to 20120911
123 * bsd.after-import.mk: include Makefile.inc early and allow it to
126 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
128 * Makefile.in (MAKE_VERSION): bump version to 20120831
129 Merge with NetBSD make, pick up
130 o cast sizeof() to int for comparison
133 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
135 * Makefile.in (MAKE_VERSION): bump version to 20120830
136 Merge with NetBSD make, pick up
137 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
138 o debug flag -dV causes -V to show raw value regardless.
140 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
142 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
145 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
147 * Makefile.in (MAKE_VERSION): bump version to 20120704
148 Merge with NetBSD make, pick up
149 o Job_ParseShell should call Shell_Init if it has been
151 * Makefile.in: set USE_META based on configure result.
152 also .PARSEDIR is safer indicator of bmake.
154 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
156 * Makefile.in: bump version to 20120626
157 ensure CPPFLAGS is in CFLAGS
158 * meta.c: avoid nested externs
159 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
161 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
163 * Makefile.in (MAKE_VERSION): bump version to 20120620
164 Merge with NetBSD make, pick up
165 o make_malloc.c: avoid including make_malloc.h again
167 * Makefile.in: avoid bmake only syntax or protect with
168 .if defined(.MAKE.LEVEL)
169 * bsd.after-import.mk: replace .-include with .sinclude
170 ensure? SRCTOP gets a value
171 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
173 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
175 * Makefile.in (MAKE_VERSION): bump version to 20120612
176 Merge with NetBSD make, pick up
177 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
178 for greater portability.
179 o unit-tests/forloop: check that .for works as expected wrt
180 number of times and with "quoted strings".
182 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
184 * Makefile.in (MAKE_VERSION): bump version to 20120606
185 Merge with NetBSD make, pick up
186 o compat.c: use kill(2) rather than raise(3).
187 * configure.in: look for sys/dev/filemon
188 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
189 and pass BOOTSTRAP_XTRAS to boot-strap.
191 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
193 * Makefile.in (MAKE_VERSION): bump version to 20120604
194 Merge with NetBSD make, pick up
195 o util.c and var.c share same var for tracking if environ
196 has been reallocated.
197 o util.c provide getenv with setenv.
198 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
199 when the shell actively strips .MAKE.* from the environment.
200 We still refer to the variable always as .MAKE.LEVEL
201 * util.c fix bug in findenv() was finding prefix of name.
202 * compat.c: re-raising SIGINT etc after running .INTERRUPT
203 results in more reliable termination of all activity on many
206 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
208 * Makefile.in (MAKE_VERSION): bump version to 20120602
209 Merge with NetBSD make, pick up
210 o for.c: handle quoted items in .for list
212 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
214 * Makefile.in (MAKE_VERSION): bump version to 20120530
215 Merge with NetBSD make, pick up
216 o compat.c: ignore empty command.
218 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
220 * Makefile.in (MAKE_VERSION): bump version to 20120524
221 * FILES: add bsd.after-import.mk:
222 A simple means of integrating bmake into a BSD build system.
224 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
226 * Makefile.in (MAKE_VERSION): bump version to 20120520
227 Merge with NetBSD make, pick up
228 o increased limit for nested conditionals.
230 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
232 * Makefile.in (MAKE_VERSION): bump version to 20120518
233 Merge with NetBSD make, pick up
234 o use _exit(2) in signal hanlder
235 o Don't use the [dir] cache when building nodes that might have
236 changed since the last exec.
237 o Avoid nested extern declaration warnings.
239 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
241 * meta.c (fgetLine): avoid %z - not portable.
242 * parse.c: Since we moved include of sys/mman.h
243 and def's of MAP_COPY etc. we got dups from a merge.
245 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
247 * Makefile.in (MAKE_VERSION): bump version to 20120420
248 Merge with NetBSD make, pick up
249 o restore duplicate supression in .MAKE.MAKEFILES
250 runtime saving can be significant.
251 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
252 consumption up to 20%.
254 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
256 * Makefile.in (MAKE_VERSION): bump version to 20120420
257 Merge with NetBSD make, pick up
258 o remove duplicate supression in .MAKE.MAKEFILES
259 o improved dir cache behavior
260 o gmake'ish export command
262 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
264 * Makefile.in (MAKE_VERSION): bump version to 20120325
265 Merge with NetBSD make, pick up
266 o fix parsing of :[#] in conditionals.
268 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
270 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
271 since some systems cannot cope with .Nx <version>
273 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
275 * Makefile.in (MAKE_VERSION): bump version to 20111111
276 Merge with NetBSD make, pick up
277 o debug output for .PARSEDIR and .PARSEFILE
279 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
281 * Makefile.in (MAKE_VERSION): bump version to 20111010
283 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
285 * boot-strap: check for an expected file in the dirs we look for.
286 * make-bootstrap.sh: pass on LDSTATIC
288 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
290 * Makefile.in (MAKE_VERSION): bump version to 20111001
291 Merge with NetBSD make, pick up
292 o ensure .PREFIX is set for .PHONY
293 and .TARGET set for .PHONY run via .END
294 o __dead used consistently
296 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
298 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
300 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
302 * Makefile.in (MAKE_VERSION): bump version to 20110905
303 Merge with NetBSD make, pick up
304 o meta_oodate: ignore makeDependfile
306 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
308 * Makefile.in (MAKE_VERSION): bump version to 20110828
309 Merge with NetBSD make, pick up
310 o silent=yes in .MAKE.MODE causes meta mode to mark targets
311 as SILENT if a .meta file is created
313 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
315 * Makefile.in (MAKE_VERSION): bump version to 20110818
316 Merge with NetBSD make, pick up
317 o in meta mode, if target flagged .META a missing .meta file
318 means target is out-of-date
319 o fixes for gcc 4.5 warnings
320 o simplify job printing code
322 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
324 * Makefile.in (MAKE_VERSION): bump version to 20110808
325 Merge with NetBSD make, pick up
326 o do not touch OP_SPECIAL targets when doing make -t
328 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
330 * Makefile.in (MAKE_VERSION): bump version to 20110622
331 Merge with NetBSD make, pick up
332 o meta_oodate detect corrupted .meta file and declare oodate.
333 * configure.in: add check for setsid
335 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
337 * Merge with NetBSD make, pick up
338 o unit-tests/modts now works on MirBSD
340 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
342 * Makefile.in (MAKE_VERSION): bump version to 20110606
343 Merge with NetBSD make, pick up
344 o ApplyModifiers: when we parse a variable which is not
345 the entire modifier string, or not followed by ':', do not
346 consider it as containing modifiers.
347 o loadfile: ensure newline at end of mapped file.
349 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
351 * Makefile.in (MAKE_VERSION): bump version to 20110505
352 Merge with NetBSD make, pick up
353 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
354 of make's control. In meta mode, any generated file within
355 said bailiwick, which is found to be missing, causes current
356 target to be out-of-date.
358 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
360 * Makefile.in (MAKE_VERSION): bump version to 20110411
361 Merge with NetBSD make, pick up
362 o when long modifiers fail to match, check sysV style.
365 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
367 * Makefile.in (MAKE_VERSION): bump version to 20110410
368 Merge with NetBSD make, pick up
369 o :hash - cheap 32bit hash of value
370 o :localtime, :gmtime - use value as format string for strftime.
372 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
374 * Makefile.in (MAKE_VERSION): bump version to 20110330
375 mostly because its a cooler version.
376 Merge with NetBSD make, pick up
377 o NetBSD tags for meta.[ch]
378 o job.c call meta_job_finish() after meta_job_error().
379 o meta_job_error() should call meta_job_finish() to ensure
380 .meta file is closed, and safe to copy - if .ERROR target wants.
381 meta_job_finish() is safe to call repeatedly.
383 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
385 * unit-tests/modts: use printf if it is a builtin,
386 to save us from MirBSD
388 * Makefile.in (MAKE_VERSION): bump version to 20110329
389 Merge with NetBSD make, pick up
390 o fix for use after free() in CondDoExists().
391 o meta_oodate() report extra commands and return earlier.
393 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
395 * Makefile.in (MAKE_VERSION): bump version to 20110327
396 Merge with NetBSD make, pick up
397 o meta.c, if .MAKE.MODE contains curdirOk=yes
398 allow creating .meta files in .CURDIR
399 * boot-strap (TOOL_DIFF): aparently at least on linux distro
400 formats the output of 'type' differently - so eat any "()"
402 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
404 * Makefile.in (MAKE_VERSION): bump version to 20110306
405 Merge with NetBSD make, pick up
406 o meta.c, only do getcwd() once
408 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
410 * Makefile.in (MAKE_VERSION): bump version to 20110305
411 Merge with NetBSD make, pick up
412 o correct sysV substitution handling of empty lhs and variable
413 o correct exists() check for dir with trailing /
414 o correct handling of modifiers for non-existant variables
415 during evaluation of conditionals.
416 o ensure MAP_FILE is defined.
417 o meta.c use curdir[] now exported by main.c
419 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
421 * Makefile.in (MAKE_VERSION): bump version to 20110225
422 Merge with NetBSD make, pick up
423 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
424 makefiles have been read.
425 o fix example of :? modifier in man page.
427 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
429 * Makefile.in (MAKE_VERSION): bump version to 20110214
430 Merge with NetBSD make, pick up
431 o meta.c handle realpath() failing when generating meta file
434 * sigcompat.c: convert to ansi so we can use higher warning levels.
437 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
439 * Makefile.in (MAKE_VERSION): bump version to 20110207
440 Merge with NetBSD make, pick up
441 o fix for bug in meta mode.
443 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
445 * parse.c: SunOS 5.8 at least does not have MAP_FILE
447 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
449 * Makefile.in (MAKE_VERSION): bump version to 20110101
450 Merge with NetBSD make, pick up
451 o use mmap(2) if available, for reading makefiles
453 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
455 * Makefile.in (MAKE_VERSION): bump version to 20101215
456 Merge with NetBSD make, pick up
457 o ensure meta_job_error() does not report a previous .meta file
460 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
462 * Makefile.in (MAKE_VERSION): bump version to 20101210
463 Merge with NetBSD make, pick up
464 o meta_oodate: track cwd per process, and only consider target
465 out-of-date if missing file is outside make's CWD.
466 Ignore files in /tmp/ etc.
467 o to ensure unit-tests results match, need to control LC_ALL
469 o fix for parsing bug in var.c
471 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
473 * Makefile.in (MAKE_VERSION): bump version to 20101126
474 Merge with NetBSD make, pick up
475 o if stale dependency is an IMPSRC, search via .PATH
476 o meta_oodate: if a referenced file is missing, target is
478 o meta_oodate: if a target uses .OODATE in its commands,
479 it (.OODATE) needs to be recomputed.
480 o keep a pointer to youngest child node, rather than just its
483 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
485 * Makefile.in (MAKE_VERSION): bump version to 20101101
487 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
489 * machine.sh: like os.sh,
490 allow for uname -p producing useless drivel
492 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
494 * boot-strap: document configure knobs for meta and filemon.
496 * Makefile.in (MAKE_VERSION): bump version to 20100911
497 Merge with NetBSD make, pick up
500 * make-bootstrap.sh.in: handle meta.c
501 * configure.in: add knobs for use_meta and filemon_h
502 also, look for dirname, str[e]sep and strlcpy
503 * util.c: add simple err[x] and warn[x]
505 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
507 * boot-strap (TOOL_DIFF): set this to ensure tests use
508 the same version of diff that configure tested
510 * Makefile.in (MAKE_VERSION): bump version to 20100808
511 Merge with NetBSD make, pick up
512 o in jobs mode, when we discover we cannot make something,
513 call PrintOnError before exit.
515 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
517 * Makefile.in (MAKE_VERSION): bump version to 20100806
518 Merge with NetBSD make, pick up
519 o formatting fixes for ignored errors
520 o ensure jobs are cleaned up regardless of where wait() was called.
522 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
524 * Makefile.in (MAKE_VERSION): bump version to 20100618
525 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
527 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
529 * Makefile.in (MAKE_VERSION): bump version to 20100616
530 Merge with NetBSD make, pick up
532 o call PrintOnError from JobFinish when we detect an error we
535 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
537 * Makefile.in (MAKE_VERSION): bump version to 20100606
538 Merge with NetBSD make, pick up
541 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
543 * Makefile.in (MAKE_VERSION): bump version to 20100605
544 Merge with NetBSD make, pick up
545 o use bmake_signal() which is a wrapper around sigaction()
547 o add .export-env to allow exporting variables to environment
548 without tracking (so no re-export when the internal value is
551 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
553 * Makefile.in (MAKE_VERSION): bump version to 20100524
554 Merge with NetBSD make, pick up
555 o fix for .info et al being greedy.
557 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
559 * Makefile.in (MAKE_VERSION): bump version to 20100520
560 Merge with NetBSD make, pick up
561 o back to using realpath on argv[0]
562 but only if contains '/' and does not start with '/'.
564 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
566 * boot-strap: use absolute path for bmake when running tests.
568 * Makefile.in (MAKE_VERSION): bump version to 20100510
569 Merge with NetBSD make, pick up
570 o revert use of realpath on argv[0]
571 too many corner cases.
572 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
574 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
576 * Makefile.in (MAKE_VERSION): bump version to 20100505
577 Merge with NetBSD make, pick up
578 o fix for missed SIGCHLD when compiled with SunPRO
579 actually for bmake, defining FORCE_POSIX_SIGNALS would have
582 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
584 * Makefile.in (MAKE_VERSION): bump version to 20100430
585 Merge with NetBSD make, pick up
586 o fflush stdout before writing to stdout
588 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
590 * Makefile.in (MAKE_VERSION): bump version to 20100423
591 Merge with NetBSD make, pick up
592 o updated unit tests for Haiku (this time for sure).
593 * boot-strap: based on patch from joerg
594 honor --with-default-sys-path better.
595 * boot-strap: remove mention of --with-prefix-sys-path
597 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
599 * Makefile.in (MAKE_VERSION): bump version to 20100422
600 * Merge with NetBSD make, pick up
601 o fix for vfork() on Darwin.
602 o fix for bogus $TMPDIR.
603 o set .MAKE.MODE=compat for -B
604 o set .MAKE.JOBS=max_jobs for -j max_jobs
605 o allow unit-tests to run without any *.mk
606 o unit-tests/modmisc be more conservative in dirs presumed to exist.
607 * boot-strap: ignore /usr/share/mk except on NetBSD.
608 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
609 ensure sort(1) behaves as expected.
611 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
613 * boot-strap: add FindHereOrAbove so we can use -m .../mk
615 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
617 * Makefile.in (MAKE_VERSION): bump version to 20100420
618 * Merge with NetBSD make, pick up
619 o fix for variable realpath() behavior.
620 we have to stat(2) the result to be sure.
621 o fix for .export (all) when nested vars use :sh
623 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
625 * Makefile.in (MAKE_VERSION): bump version to 20100414
626 * Merge with NetBSD make, pick up
627 o use realpath to resolve argv[0] (for .MAKE) if needed.
628 o add realpath from libc.
629 o add :tA to resolve variable via realpath(3) if possible.
631 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
633 * Makefile.in (MAKE_VERSION): bump version to 20100408
634 * Merge with NetBSD make, pick up
635 o unit tests for .ERROR, .error
636 o fix for .ERROR to ensure it cannot be default target.
638 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
640 * Makefile.in (MAKE_VERSION): bump version to 20100406
641 * Merge with NetBSD make, pick up
642 o fix for compat mode "Error code" going to debug_file.
643 o fix for .ALLSRC being populated twice.
644 o support for .info, .warning and .error directives
645 o .MAKE.MODE to control make's operational mode
646 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
648 o .MAKE.DEPENDFILE to control the name of the depend file
649 o .ERROR target - run on failure.
651 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
653 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
655 * os.sh,arch.c: patch for Haiku from joerg at netbsd
657 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
659 * Makefile.in (MAKE_VERSION): bump version to 20100222
660 * Merge with NetBSD make, pick up
661 o better error msg for .for with mutiple inter vars
664 o use make-bootstrap.sh from joerg at netbsd
665 to avoid the need for a native make when bootstrapping.
666 o add "" everywhere ;-)
667 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
668 otherwise the pre-formated version.
670 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
672 * Makefile.in (MAKE_VERSION): bump version to 20100102
673 * Merge with NetBSD make, pick up:
676 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
678 * Makefile.in (MAKE_VERSION): bump version to 20091118
679 * Merge with NetBSD make, pick up:
681 o report lines that start with '.' and should have ':'
682 (catch typo's of .el*if).
684 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
686 * configure.in: Ensure that srcdir and mksrc are absolute paths.
688 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
690 * Makefile.in (MAKE_VERSION): fix version to 20091007
692 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
694 * Makefile.in (MAKE_VERSION): bump version to 200910007
695 * Merge with NetBSD make, pick up:
696 o fix for parsing of :S;...;...; applied to .for loop iterator
697 appearing in a dependency line.
699 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
701 * Makefile.in (MAKE_VERSION): bump version to 20090909
702 * Merge with NetBSD make, pick up:
703 o fix for -C, .CURDIR and .OBJDIR
705 o allow share_dir to be set independent of prefix.
706 o select default share_dir better when prefix ends in $HOST_TARGET
707 o if FORCE_BSD_MK etc were set, include them in the suggested
710 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
712 * Makefile.in (MAKE_VERSION): bump version to 20090908
713 * Merge with NetBSD make, pick up:
714 o .MAKE.LEVEL for recursion tracking
715 o fix for :M scanning \:
717 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
719 * configure.in: Don't -D__EXTENSIONS__ if
720 AC_USE_SYSTEM_EXTENSIONS says "no".
722 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
724 * Makefile.in (MAKE_VERSION): bump version to 20090826
725 Simplify MAKE_VERSION to just the bare date.
726 * Merge with NetBSD make, pick up:
727 o -C directory support.
728 o support for SIGINFO
729 o use $TMPDIR for temp files.
730 o child of vfork should be careful about modifying parent's state.
733 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
735 * Appy some patches for MiNT from David Brownlee
737 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
739 * Makefile.in (BMAKE_VERSION): bump version to 20090222
740 * Merge with NetBSD make, pick up:
741 o Possible null pointer de-ref in Var_Set.
743 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
745 * Makefile.in (BMAKE_VERSION): bump version to 20090204
746 * Merge with NetBSD make, pick up:
747 o bmake_malloc et al moved to their own .c
748 o Count both () and {} when looking for the end of a :M pattern
749 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
750 o strlist.c - functions for processing extendable arrays of pointers to strings.
751 o ClientData replaced with void *, so const void * can be used.
752 o New debug flag C for DEBUG_CWD
754 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
756 * Makefile.in (BMAKE_VERSION): bump version to 20081111
757 Apply patch from Joerg Sonnenberge to
759 o remove some redundant checks
760 o check for emlloc etc only in libutil and require the whole family.
762 o remove [v]asprintf which is no longer used.
764 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
766 * Makefile.in (BMAKE_VERSION): bump version to 20081101
767 * Merge with NetBSD make, pick up:
768 o util.c: avoid use of putenv() - christos
770 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
772 * Makefile.in (BMAKE_VERSION): bump version to 20081030
773 pick up man page tweaks.
775 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
777 * Makefile.in: move processing of LIBOBJS to after is definition!
778 thus we'll have getenv.c in SRCS only if needed.
780 * make.1: add examples of how to use :?
782 * Makefile.in (BMAKE_VERSION): bump version to 20081029
783 * Merge with NetBSD make, pick up:
784 o fix for .END processing with -j
785 o segfault from Parse_Error when no makefile is open
786 o handle numeric expressions in any variable expansion
787 o debug output now defaults to stderr, -dF to change it - apb
788 o make now uses bmake_malloc etc so that it can build natively
789 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
791 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
793 * Makefile.in (BMAKE_VERSION): bump version to 20080808
794 * Merge with NetBSD make, pick up:
795 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
796 long lines in Makefiles
797 o optimizations for VarQuote by joerg
798 o fix for PR/38756: dominik: make dumps core on invalid makefile
800 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
802 * Makefile.in (BMAKE_VERSION): bump version to 20080515
803 * Merge with NetBSD make, pick up:
804 o fix skip setting vars in VAR_GLOBAL context, to handle
805 cases where VAR_CMD is used for other than command line vars.
807 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
809 * boot-strap (make_version): we may need to look in
810 $prefix/share/mk for sys.mk
812 * Makefile.in (BMAKE_VERSION): bump version to 20080514
813 * Merge with NetBSD make, pick up:
814 o skip setting vars in VAR_GLOBAL context, when already set in
815 VAR_CMD which takes precedence.
817 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
819 * Makefile.in (BMAKE_VERSION): bump version to 20080330
820 * Merge with NetBSD make, pick up:
821 o fix for ?= when LHS contains variable reference.
823 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
825 * merge some patches from NetBSD pkgsrc.
827 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
828 the MAKSYSPATH used during bootstrap.
830 * Makefile.in (BMAKE_VERSION): bump version to 20080215
831 * Merge with NetBSD make, pick up:
832 o warn if non-space chars follow 'empty' in a conditional.
834 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
836 * Makefile.in (BMAKE_VERSION): bump version to 20080118
837 * Merge with NetBSD make, pick up:
838 o consider dependencies read from .depend as optional - dsl
839 o remember when buffer for reading makefile grows - dsl
840 o add -dl (aka LOUD) - David O'Brien
842 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
844 * Makefile.in (BMAKE_VERSION): bump version to 20071022
845 * Merge with NetBSD make, pick up:
846 o Allow .PATH<suffix> to be used for .include ""
848 * boot-strap: source default settings from .bmake-boot-strap.rc
850 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
852 * Makefile.in: fix maninstall on various systems
853 provided that our man.mk is used.
854 For non-BSD systems we install the preformatted page
857 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
859 * boot-strap: make bmake.1 too, so maninstall works.
861 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
863 * Makefile.in (BMAKE_VERSION): bump version to 20071014
864 * Merge with NetBSD make, pick up:
865 o revamped handling of defshell - configure no longer needs to
866 know the content of the shells array - apb
867 o stop Var_Subst modifying its input - apb
868 o avoid calling ParseTrackInput too often - dsl
870 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
872 * Makefile.in (BMAKE_VERSION): bump version to 20071011
873 * Merge with NetBSD make, pick up:
874 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
876 * sigcompat.c: some tweaks for HP-UX 11.x based on
877 patch from Tobias Nygren
879 * configure.in: update handling of --with-defshell to match
880 new make behavior. --with-defshell=/usr/xpg4/bin/sh
881 will now do what one might hope - provided the chosen shell
882 behaves enough like sh.
884 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
886 * Makefile.in (BMAKE_VERSION): bump to 20071008
887 * Merge with NetBSD make, pick up:
888 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
889 o .export/.MAKE.EXPORTED - export of variables - sjg
890 o .MAKE.MAKEFILES - track all makefiles read - sjg
891 o performance improvements - dsl
892 o revamp parallel job scheduling - dsl
894 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
896 * Makefile.in (BMAKE_VERSION): bump to 20060728
897 * Merge with NetBSD make, pick up:
898 o extra debug info during variable and cond processing - sjg
899 o shell definition now covers newline - rillig
900 o minor mem leak in PrintOnError - sjg
902 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
904 * Makefile.in (BMAKE_VERSION): bump to 20060511
905 * Merge with NetBSD make, pick up:
906 o more memory leaks - coverity
907 o possible overflow in ArchFindMember - coverity
908 o extract variable modifier code out of Var_Parse()
909 so it can be called recursively - sjg
910 o unit-tests/moderrs - sjg
912 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
914 * Makefile.in (BMAKE_VERSION): bump to 20060412
915 * Merge with NetBSD make, pick up:
916 o fixes for some memory leaks - coverity
917 o only read first sys.mk etc when searching sysIncPath - sjg
919 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
920 setting ${MAKEFILE} - OBATA Akio
922 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
924 * Makefile.in (BMAKE_VERSION): bump to 20060318
925 * Merge with NetBSD make, pick up:
926 o cleanup of job.c to remove remote handling, distcc is more
927 useful and this code was likely bit-rotting - dsl
928 o fix for :P modifier - sjg
929 * boot-strap: set default prefix to something reasonable
932 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
934 * Makefile.in (BMAKE_VERSION): bump to 20060301
935 * Merge with NetBSD make, pick up:
936 o make .WAIT apply recursively, document and test case - apb
937 o allow variable modifiers in a variable appear anywhere in
938 modifier list, document and test case - sjg
940 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
942 * Makefile.in (BMAKE_VERSION): bump to 20060222
943 * Merge with NetBSD make, pick up:
944 o improved job token handling - dsl
945 o SIG_DFL the correct signal before exec - dsl
946 o more debug info during parsing - dsl
947 o allow variable modifiers to be specified via variable - sjg
948 * boot-strap: explain why we died if no mksrc
950 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
952 * Makefile.in (BMAKE_VERSION): bump to 20051105
953 * configure.in: always set default_sys_path
954 default is ${prefix}/share/mk
955 - remove prefix_sys_path, anyone wanting more than above
956 needs to set it manually.
958 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
960 * boot-strap: make this a bit easier for pkgsrc folk.
961 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
962 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
964 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
966 * Makefile.in (BMAKE_VERSION): bump to 20051102
967 * job.c (JobFinish): fix likely ancient merge lossage
968 fix from Todd Vierling.
969 * boot-strap (srcdir): allow setting mksrc=none
971 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
973 * Makefile.in (BMAKE_VERSION): bump to 20051031
974 * ranlib.h: skip on OSF too.
977 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
979 * Makefile.in (BMAKE_VERSION): bump to 20051002
982 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
984 * Makefile.in (BMAKE_VERSION): bump to 20051001
985 support for UnixWare and some other systems,
986 based on patches from pkgsrc/bootstrap
988 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
990 * Makefile.in (BMAKE_VERSION): bump to 20050901
991 * Merge with NetBSD make, pick up:
992 o possible parse error causing us to wander off.
994 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
996 * Makefile.in (BMAKE_VERSION): bump to 20050606
997 * Merge with NetBSD make, pick up:
998 o :0x modifier for randomizing a list
999 o fixes for a number of -Wuninitialized issues.
1001 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1003 * Makefile.in (BMAKE_VERSION): bump to 20050530
1004 * Merge with NetBSD make, pick up:
1005 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1007 * README: was seriously out of date.
1009 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1011 * Important to use .MAKE rather than MAKE.
1013 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1015 * Makefile.in (BMAKE_VERSION): bump to 20050315
1016 * Merge with NetBSD make, pick up:
1017 o don't mistake .elsefoo for .else
1018 o use suffix-specific search path correctly
1019 o bunch of style nits
1021 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1024 o ensure that args to --src and --with-mksrc
1025 are resolved before giving them to configure.
1026 o add -o "objdir" so that builder can control it,
1027 default is $OS as determined by os.sh
1028 o add -q to suppress all the install instructions.
1030 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1032 * Remove __IDSTRING()
1034 * Makefile.in (BMAKE_VERSION): bump to 20040508
1035 * Merge with NetBSD make, pick up:
1037 - remove '-e' from compat mode
1038 - add support for '+' command-line prefix.
1039 o fix for handling '--' on command-line.
1040 o fix include in lst.lib/lstInt.h to simplify '-I's
1041 o we also picked up replacement of MAKE_BOOTSTRAP
1042 with !MAKE_NATIVE which is a noop, but possibly confusing.
1044 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1046 * Makefile.in (BMAKE_VERSION): bump to 20040414
1047 * Merge with NetBSD make, pick up:
1048 o allow quoted strings on lhs of conditionals
1049 o issue warning when extra .else is seen
1050 o print line numer when errors encountered during parsing from
1053 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1055 * Makefile.in (BMAKE_VERSION): bump to 20040220
1056 * Merge with NetBSD make, pick up:
1057 o fix for old :M parsing bug.
1058 o re-jigged unit-tests
1060 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1062 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1063 so that './bmake -f Makefile test' works.
1065 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1067 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1068 * Merge with NetBSD make, pick up:
1069 o search upwards for *.mk
1070 o fix for double free of var substitution buffers
1071 o use of getopt replaced with custom code, since the usage
1072 (re-scanning) isn't posix compatible.
1074 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1076 * arch.c: don't include ranlib.h on ELF systems
1077 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1079 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1081 * Makefile.in (BMAKE_VERSION): bump to 20040118
1083 * boot-strap (while): export vars we assign to on cmdline
1084 * unit-test/Makefile.in: ternary is .PHONY
1086 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1088 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1089 * Merge with NetBSD make, pick up:
1090 o fix for ternary modifier
1092 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1094 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1095 * Merge with NetBSD make, pick up:
1096 o fix for cond.c to handle compound expressions better
1097 o variable expansion within sysV style replacements
1099 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1101 * Make portable snprintf safer - output to /dev/null first to
1104 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1105 * Merge with NetBSD make, pick up:
1106 o -dg3 to show input graph when things go wrong.
1107 o explicitly look for makefiles in objdir if not found in curdir so
1108 that errors in .depend etc will be reported accurarely.
1109 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1110 instead as it more accurately reflects the expected behavior and
1111 is more consistently implemented.
1112 o avoid use of asprintf.
1114 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1116 * util.c: Add asprintf and vasprintf.
1118 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1119 * Merge with NetBSD make, pick up:
1120 :[] modifier - allows picking words from a variable.
1121 :tW modifier - allows treating value as one big word.
1122 W flag for :C and :S - allows treating value as one big word.
1124 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1126 * Merge with NetBSD make
1127 pick up -de flag to enable printing failed command.
1128 don't skip 1st two dir entries (normally . and ..) since
1129 coda does not have them.
1131 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1133 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1134 * Merge with NetBSD make, pick up:
1135 - changes for -V '${VAR}' to print fully expanded value
1137 - CompatRunCommand now prints the command that failed.
1138 - several files got updated 3 clause Berkeley license.
1140 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1142 * boot-strap: Allow setting configure args on command line.
1144 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1146 * configure.in: add --with-defshell to allow sh or ksh
1147 to be selected as default shell.
1149 * Makefile.in: bump version to 20030731
1151 * Merge with NetBSD make
1152 Pick up .SHELL spec for ksh and associate man page changes.
1153 Also compat mode now uses the same shell specs.
1155 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1157 * var.c (Var_Parse): ensure delim is initialized.
1159 * unit-tests/Makefile.in: use single quotes to avoid problems from
1163 Run the unit-tests as part of the bootstrap procedure.
1165 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1167 * unit-tests/Makefile.in: always force complaints from
1168 ${TEST_MAKE} to be from 'make'.
1170 * configure.in: add check for 'diff -u'
1171 also fix some old autoconf'isms
1173 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1174 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1176 * Merge with NetBSD make
1177 Pick up fix for :ts parsing error in some cases.
1180 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1182 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1184 * var.c (Var_Parse): fix bug in :ts modifier, after const
1185 correctness fixes, must pass nstr to VarModify.
1187 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1189 * Makefile.in: BMAKE_VERSION switch to a date based version.
1190 We'll generally use the date of last import from NetBSD.
1192 * Merge with NetBSD make
1193 Pick up fixes for const-correctness, now passes WARNS=3 on
1195 Pick up :ts modifier, allows controlling the separator used
1196 between words in variable expansion.
1198 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1200 * FILES: include boot-strap and os.sh
1202 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1203 FreeBSD is known to be bad.
1205 * makefile.boot.in (bootstrap): make this the default target.
1207 * Makefile.in: bump version to 3.1.19
1209 * machine.sh: avoid A-Z with tr as it is bound to lose.
1211 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1213 * Merge with NetBSD make
1214 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1215 Plus some doc fixes.
1217 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1219 * Merge with NetBSD make
1220 Pick up fix for PR/1523 - don't count a library as built, if there
1221 is no way to build it
1223 * Bump version to 3.1.18
1225 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1227 * Merge with NetBSD make
1228 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1229 appears in src list.
1231 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1233 * Merge with NetBSD make (mmm 10th anniversary!)
1234 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1235 pick up -X which tells us to not export VAR=val via setenv if
1236 we are already doing so via MAKEFLAGS. This saves valuable env
1237 space on systems like Darwin.
1238 set MAKE_VERSION to 3.1.17
1240 * parse.c: pix up fix for suffix rules
1242 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1244 * Merge with NetBSD make.
1245 pick up fix for propagating -B via MAKEFLAGS.
1246 set MAKE_VERSION to 3.1.16
1248 * Apply some patches from pkgsrc-bootstrap/bmake
1249 Originally by Grant Beattie <grant@netbsd.org>
1250 I may have missed some - since they are based on bmake-3.1.12
1252 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1254 * makefile.boot.in (bmake): update install targets for those that
1255 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1256 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1258 * bmake.cat1: update the pre-formatted man page!
1260 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1262 * Merge with NetBSD make.
1263 pick up fix for premature free of pointer used in call
1265 set MAKE_VERSION to 3.1.15
1267 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1269 * configure.in: determine suitable value for MKSRC.
1270 override using --with-mksrc=PATH.
1272 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1273 configs(8) will use 'sun4' as an alias for 'sparc'.
1275 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1277 * Merge with NetBSD make.
1279 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1280 set MAKE_VERSION to 3.1.14
1281 add configure checks for killpg and sys/socket.h
1283 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1287 * makefile.boot.in (bmake): use install-mk
1288 Also setup ./mk before trying to invoke bmake.boot incase we
1289 needed install-mk to create a sys.mk for us.
1291 * configure.in: If we need to add -I${srcdir}/missing, make it an
1292 absolute path so that it works for lst.lib too.
1294 * make.h: always include sys/cdefs.h since we provide one if the
1297 * Makefile.in (install-mk):
1298 use MKSRC/install-mk which will do the right thing.
1299 use uname -p for ARCH if possible.
1300 since install-mk will setup links bsd.prog.mk -> prog.mk if
1301 needed, just .include bsd.prog.mk
1303 * Merge with NetBSD make (NetBSD-1.6)
1304 Code is ansi-C only now.
1305 Bug in handling of dotLast is fixed.
1306 Can now assign .OBJDIR and make will reset its notions of life.
1307 New modifiers :tu :tl for toUpper and toLower.
1309 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1311 * Merge with NetBSD make
1312 pick up fix for .END failure in compat mode.
1313 pick up fix for extra va_end() in ParseVErrorInternal.
1315 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1317 * configure.in: for systems that have sys/cdefs.h check if it is
1318 compatible. If not, include the one under missing, but tell it to
1319 include the native one too - necessary on Linux.
1321 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1322 include_next (for gcc) to get the native sys/cdefs.h
1324 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1326 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1327 leaking descriptors when using -jN.
1329 * job.c (JobPrintCommand): See if "curdir" exists before
1330 attempting to chdir(). Doing the chdir directly in make (when in
1331 compat mode) fails silently, so let the -jN version do the same.
1332 This can happen when building kernels in an object tree and
1333 playing clever games to reset .CURDIR.
1335 * Merged with NetBSD make
1338 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1340 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1342 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1344 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1345 us not to export the iterator variable when using VAR_CMD context.
1347 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1349 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1350 its the wrong "fix".
1352 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1354 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1355 We now simply append the variable names to .MAKEOVERRIDES, and
1356 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1357 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1358 Apart from fixing quoting bugs in previous version, this allows us
1359 to export vars to the environment by simply doing:
1360 .MAKEOVERRIDES+= PATH
1361 Merged again with NetBSD make, but the above is the only change.
1363 * configure.in: added
1364 --disable-pwd-override disable $PWD overriding getcwd()
1365 --disable-check-make-chdir disable make trying to guess
1366 when it should automatically cd ${.CURDIR}
1368 * Merge with NetBSD make, changes include:
1369 parse.c (ParseDoDependency): Spot that the syntax error is
1370 caused by an unresolved cvs/rcs conflict and say so.
1371 var.c: most of Var* functions now take a ctxt as 1st arg.
1372 now does variable substituion on rhs of sysv style modifiers.
1374 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1375 is now done here. We append the name='value' to .MAKEOVERRIDES
1376 rather than directly into MAKEFLAGS as this allows a Makefile to
1377 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
1378 very similar mechanism. Note that in adding name='value' to
1379 .MAKEOVERRIDES we do the moral equivalent of:
1380 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1382 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1384 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1386 * Merged with NetBSD make
1387 make -dx can now be used to run commands via sh -x
1388 better error messages on exec failures.
1390 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1392 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1393 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
1394 MACHINE etc otherwise they propagate from the previous bmake.
1396 * configure.in (machine): allow --with-machine=generic to make
1397 configure use machine.sh to set MACHINE.
1399 * job.c (JobInterrupt): convert to using WAIT_T and friends.
1401 * Makefile.in: mention in bmake.1 that we use autoconf.
1403 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1405 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1407 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1408 as that rather defeats the usefulness of ${MAKEFILE}.
1410 * main.c (MainParseArgs): append command line variable assignments
1411 to MAKEFLAGS so that they get propagated to child make's.
1412 Apparently this is required POSIX behaviour? Its useful anyway.
1414 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1416 * compat.c (CompatRunCommand): don't use perror() since stdio may
1417 cause problems in child of vfork().
1419 * compat.c, main.c: Call PrintOnError() when we are going to bail.
1420 This routine prints out the .curdir where we stopped and will also
1421 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1423 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
1426 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
1428 * Added RCSid's for the files we've touched.
1430 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1432 * configure.in: Thanks to some clues from mdb@juniper.net,
1433 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1434 as well as what ends up in _PATH_DEFSYSPATH. We now have:
1436 --with-machine=MACHINE explicitly set MACHINE
1437 --with-force-machine=MACHINE set FORCE_MACHINE
1438 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
1439 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
1440 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
1441 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
1443 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1445 * makefile: added a pathetically simple makefile to drive
1446 bootstrapping. Running configure by hand is more useful.
1448 * Makefile.in: added MAKE_VERSION, and reworked things to be less
1449 dependent on NetBSD bsd.*.mk
1451 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1452 _PATH_OBJDIRPREFIX for those that don't want a default.
1453 construct _PATH_DEFSYSPATH from the info we get from configure.
1455 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1456 if MAKE_VERSION is defined.
1458 * compat.c: when we bail, print out the .CURDIR we were in.
1460 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1462 * Merged with NetBSD make
1464 * var.c: fixed a bug in the handling of the modifier :P
1465 if the node as found but the path was null, we segfault trying to
1468 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1470 * Merged with NetBSD make
1472 * make.c: Make_OODate's test for a library out of date was using
1473 cmtime where it should have used mtime (my bug).
1475 * compat.c: Use perror() to tell us what really went wrong when we
1476 cannot exec a command.
1478 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1480 * Merged with NetBSD make
1482 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1484 * Merged with NetBSD make
1486 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1488 * Merged with NetBSD make
1490 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1492 * Merged with NetBSD make
1494 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1496 * util.c: don't provide signal() since we use sigcompat.c
1498 * Makefile.in: added a build target.
1500 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
1501 These allow some quite clever magic.
1503 * main.c (main): added support for getenv(MAKESYSPATH).
1505 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1507 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
1508 This avoids objdir having a different value depending on how a
1509 directory was reached (via command line, or subdir.mk).
1511 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
1513 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1515 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
1516 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
1517 I've been testing this in NetBSD's make for some weeks.
1519 * Turn Makefile into Makefile.in and make it useful.
1521 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1523 * Imported NetBSD's -current make(1) and resolve conflicts.
1525 * Applied autoconf patches from bmake v2
1527 * Imported clean code base from NetBSD-1.0