12016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
2
3 * Makefile (_MAKE_VERSION): 20160512
4 Merge with NetBSD make, pick up
5 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
6 this is useful for gcov builds.
7 o propagate errors from filemon(4).
8
92016-05-09 Simon J. Gerraty <sjg@bad.crufty.net>
10
11 * Makefile (_MAKE_VERSION): 20160509
12 Merge with NetBSD make, pick up
13 o remove use of non-standard types u_int etc.
14 o meta.c: apply realpath() before matching against metaIgnorePaths
15
162016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
17
18 * Makefile (_MAKE_VERSION): 20160404
19 Merge with NetBSD make, pick up
20 o allow makefile to set .MAKE.JOBS
21
22 * Makefile (PROG_NAME): use ${_MAKE_VERSION}
23
242016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
25
26 * Makefile (_MAKE_VERSION): 20160315
27 Merge with NetBSD make, pick up
28 o fix handling of archive members
29
302016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
31
32 * Makefile (_MAKE_VERSION): rename variable to avoid interference
33 with checks for ${MAKE_VERSION}
34
352016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
36
37 * Makefile (MAKE_VERSION): 20160310
38 Merge with NetBSD make, pick up
39 o meta.c: treat missing Read file same as Write, incase we Delete it.
40
412016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
42
43 * Makefile (MAKE_VERSION): 20160307
44 Merge with NetBSD make, pick up
45 o var.c: fix :ts\nnn to be octal by default.
46 o meta.c: meta_finish() to cleanup memory.
47
482016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
49
50 * Makefile (MAKE_VERSION): 20160226
51 Merge with NetBSD make, pick up
52 o meta.c: allow meta file for makeDepend if makefiles want it.
53
542016-02-19 Simon J. Gerraty <sjg@bad.crufty.net>
55
56 * var.c: default .MAKE.SAVE_DOLLARS to FALSE
57 for backwards compatability.
58
59 * Makefile (MAKE_VERSION): 20160220
60 Merge with NetBSD make, pick up
61 o var.c: add knob to control handling of '$$' in :=
62
632016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
64
65 * Makefile (MAKE_VERSION): 20160218
66 Merge with NetBSD make, pick up
67 o var.c: add .export-literal allows us to fix sys.clean-env.mk
68 post the changes to Var_Subst.
69 Var_Subst now takes flags, and does not consume '$$' in :=
70
712016-02-17 Simon J. Gerraty <sjg@bad.crufty.net>
72
73 * Makefile (MAKE_VERSION): 20160217
74 Merge with NetBSD make, pick up
75 o var.c: preserve '$$' in :=
76 o parse.c: add .dinclude for handling included
77 makefile like .depend
78
792015-12-20 Simon J. Gerraty <sjg@bad.crufty.net>
80
81 * Makefile (MAKE_VERSION): 20151220
82 Merge with NetBSD make, pick up
83 o suff.c: re-initialize suffNull when clearing suffixes.
84
852015-12-01 Simon J. Gerraty <sjg@bad.crufty.net>
86
87 * Makefile (MAKE_VERSION): 20151201
88 Merge with NetBSD make, pick up
89 o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
90 o meta.c: meta_oodate: use lstat(2) for checking link target
91 in case it is a symlink.
92 o var.c: avoid calling brk_string and Var_Export1 with empty
93 strings.
94
952015-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
96
97 * Makefile (MAKE_VERSION): 20151126
98 Merge with NetBSD make, pick up
99 o parse.c: ParseTrackInput don't access beyond
100 end of old value.
101
1022015-10-22 Simon J. Gerraty <sjg@bad.crufty.net>
103
104 * Makefile (MAKE_VERSION): 20151022
105
106 * Add support for BSD/OS which lacks inttypes.h
107 and really needs sys/param.h for sys/sysctl.h
108 also 'type' is not a shell builtin.
109
110 * var.c: eliminate uint32_t and need for inttypes.h
111
112 * main.c: PrintOnError flush stdout before run .ERROR
113
114 * parse.c: cope with _SC_PAGESIZE not being defined.
115
116
1172015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
118
119 * Makefile (MAKE_VERSION): 20151020
120 Merge with NetBSD make, pick up
121 o var.c: fix uninitialized var
122
1232015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
124
125 * var.c: the conditional expressions used with ':?' can be
126 expensive, if already discarding do not evaluate or expand
127 anything.
128
1292015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
130
131 * Makefile (MAKE_VERSION): 20151010
132 Merge with NetBSD make, pick up
133 o Add Boolean wantit flag to Var_Subst and Var_Parse
134 when FALSE we know we are discarding the result and can
135 skip operations like Cmd_Exec.
136
1372015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
138
139 * Makefile (MAKE_VERSION): 20151009
140 Merge with NetBSD make, pick up
141 o var.c: don't check for NULL before free()
142 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
143
1442015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
145
146 * Makefile (MAKE_VERSION): 20150910
147 Merge with NetBSD make, pick up
148 o main.c: with -w print Enter/Leaving messages for objdir too
149 if necessary.
150 o centralize shell metachar handling
151
152 * FILES: add metachar.[ch]
153
1542015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
155
156 * Makefile (MAKE_VERSION): 20150606
157 Merge with NetBSD make, pick up
158 o make.1: document .OBJDIR target
159
1602015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
161
162 * Makefile (MAKE_VERSION): 20150505
163 Merge with NetBSD make, pick up
164 o cond.c: be strict about lhs of comparison when evaluating .if
165 but less so when called from variable expansion.
166 o unit-tests/cond2.mk: test various error conditions
167
1682015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
169
170 * machine.sh (MACHINE): Add Bitrig
171 patch from joerg@netbsd.org
172
1732015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
174
175 * Makefile (MAKE_VERSION): 20150418
176 Merge with NetBSD make, pick up
177 o job.c: use memmove() rather than memcpy()
178
179 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
180 case, so skip it.
181
1822015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
183
184 * Makefile (MAKE_VERSION): 20150411
185 bump version - only mk/ changes.
186
1872015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
188
189 * Makefile (MAKE_VERSION): 20150410
190 Merge with NetBSD make, pick up
191 o document different handling of '-' in jobs mode vs compat
192 o fix jobs mode so that '-' only applies to whole job
193 when shell lacks hasErrCtl
194 o meta.c: use separate vars to track lcwd and latestdir (read)
195 per process
196
1972015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
198
199 * Makefile (MAKE_VERSION): 20150401
200 Merge with NetBSD make, pick up
201 o meta.c: close meta file in child
202
203 * Makefile: use BINDIR.bmake if set.
204 Same for MANDIR and SHAREDIR
205 Handy for testing release candidates
206 in various environments.
207
2082015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
209
210 * move initialization of savederr to block where it is used
211 to avoid spurious warning from gcc5
212
2132014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
214
215 * Makefile (MAKE_VERSION): 20141111
216 just a cooler number
217
2182014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
219
220 * Makefile (MAKE_VERSION): 20141105
221 Merge with NetBSD make, pick up
222 o revert major overhaul of suffix handling
223 and POSIX compliance - too much breakage
224 and impossible to make backwards compatible.
225 o we still have the new unit test structure which is ok.
226 o meta.c ensure "-- filemon" is at start of line.
227
2282014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
229
230 * configure.in: test that result of getconf PATH_MAX is numeric
231 and discard if not. Apparently needed for Hurd.
232
2332014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
234
235 * Makefile (MAKE_VERSION): 20140830
236 Merge with NetBSD make, pick up
237 o major overhaul of suffix handling
238 o improved POSIX compliance
239 o overhauled unit-tests
240
2412014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
242
243 * Makefile (MAKE_VERSION): 20140620
244 Merge with NetBSD make, pick up
245 o var.c return varNoError rather than var_Error for ::= modifiers.
246
2472014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
248
249 * Makefile (MAKE_VERSION): 20140522
250 Merge with NetBSD make, pick up
251 o var.c detect some parse errors.
252
2532014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
254
255 * Fix spelling errors - patch from Pedro Giffuni
256
2572014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
258
259 * Makefile (MAKE_VERSION): 20140214
260 Merge with NetBSD make, pick up
261 o .INCLUDEFROM*
262 o use Var_Value to get MAKEOBJDIR[PREFIX]
263 o reduced realloc'ign in brk_string.
264 * configure.in: add a check for compiler supporting __func__
265
2662014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
267
268 * boot-strap: ignore mksrc=none
269
2702014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
271
272 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
273
2742014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
275
276 * Makefile (MAKE_VERSION): 20140101
277 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
278 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
279 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
280 Hurd)
281 * configure.in: Add AC_PREREQ and check for
282 sysctl; patch from Andrew Shadura andrewsh at debian.org
283
2842013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
285
286 * Makefile (MAKE_VERSION): 20131010
287 * lose the const from arg to systcl to avoid problems on older BSDs.
288
2892013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
290
291 * Makefile (MAKE_VERSION): 20131001
292 Merge with NetBSD make, pick up
293 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
294 hw.machine_arch if necessary.
295 o meta.c: meta_oodate - need to look at src of Link and target
296 of Move as well.
297 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
298 provide __arraycount() if needed.
299
3002013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
301
302 * Makefile (MAKE_VERSION): 20130904
303 Merge with NetBSD make, pick up
304 o Add VAR_INTERNAL context, so that internal setting of
305 MAKEFILE does not override value set by makefiles.
306
3072013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
308
309 * Makefile (MAKE_VERSION): 20130902
310 Merge with NetBSD make, pick up
311 o CompatRunCommand: only apply shellErrFlag when errCheck is true
312
3132013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
314
315 * Makefile (MAKE_VERSION): 20130828
316 Merge with NetBSD make, pick up
317 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
318 o Call Job_SetPrefix() from Job_Init() so makefiles have
319 opportunity to set .MAKE.JOB.PREFIX
320
3212013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
322
323 * Makefile (MAKE_VERSION): 20130730
324 Merge with NetBSD make, pick up
325 o Allow suppression of --- job -- tokens by setting
326 .MAKE.JOB.PREFIX empty.
327
3282013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
329
330 * Makefile (MAKE_VERSION): 20130716
331 Merge with NetBSD make, pick up
332 o number of gmake compatibility tweaks
333 -w for gmake style entering/leaving messages
334 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
335 handle MAKEFLAGS containing only letters.
336 o when overriding a GLOBAL variable on the command line,
337 delete it from GLOBAL context so -V doesn't show the wrong
338 value.
339
3402013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
341
342 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
343
344 * Makefile (MAKE_VERSION): 20130706
345 Merge with NetBSD make, pick up
346 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
347 true so that CompatRunCommand() can use it, to ensure
348 consistent behavior with jobs mode.
349 o use MAKE_LEVEL_ENV to define the variable to propagate
350 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
351 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
352 paths to ignore.
353
3542013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
355
356 * Makefile (MAKE_VERSION): 20130604
357 Merge with NetBSD make, pick up
358 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
359 to avoid leaking descriptors.
360
3612013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
362
363 * Makefile (MAKE_VERSION): 20130528
364 Merge with NetBSD make, pick up
365 o var.c: cleanup some left-overs in VarHash()
366
3672013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
368
369 * Makefile (MAKE_VERSION): 20130520
370 generate manifest from component FILES rather than have to
371 update FILES when mk/FILES changes.
372
3732013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
374
375 * Makefile (MAKE_VERSION): 20130518
376 Merge with NetBSD make, pick up
377 o suff.c: don't skip all processsing for .PHONY targets
378 else wildcard srcs do not get expanded.
379 o var.c: expand name of variable to delete if necessary.
380
3812013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
382
383 * Makefile (MAKE_VERSION): 20130330
384 Merge with NetBSD make, pick up
385 o meta.c: refine the handling of .OODATE in commands.
386 Rather than suppress command comparison for the entire script
387 as though .NOMETA_CMP had been used, only suppress it for the
388 one command line.
389 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
390 suppress comparison of a command without otherwise affecting it.
391 o make.1: document that
392
3932013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
394
395 * Makefile (MAKE_VERSION): 20130321
396 yes, not quite right but its a cooler number.
397 Merge with NetBSD make, pick up
398 o parse.c: fix ParseGmakeExport to be portable
399 and add a unit-test.
400 * meta.c: call meta_init() before makefiles are read and if built
401 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
402 this let's makefiles test for support.
403 Call meta_mode_init() to process .MAKE.MODE.
404
4052013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
406
407 * Makefile (MAKE_VERSION): 20130305
408 Merge with NetBSD make, pick up
409 o run .STALE: target when a dependency from .depend is missing.
410 o job.c: add Job_RunTarget() for the above and .BEGIN
411
4122013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
413
414 * Makefile (MAKE_VERSION): 20130303
415 Merge with NetBSD make, pick up
416 o main.c: set .MAKE.OS to utsname.sysname
417 o job.c: more checks for read and poll errors
418 o var.c: lose VarChangeCase() saves 4% time
419
4202013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
421
422 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
423 want to use MAKEOBJDIR
424
4252013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
426
427 * Merge with NetBSD make, pick up
428 o make.1: more info on how shell commands are handled.
429 o job.c,main.c: detect write errors to job pipes.
430
4312013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
432
433 * Makefile (MAKE_VERSION): 20130123
434 Merge with NetBSD make, pick up
435 o meta.c: if script uses .OODATE and meta_oodate() decides
436 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
437 o var.c: in debug output indicate which variabale modifiers
438 apply to.
439 o remove Check_Cwd logic the makefiles have been fixed.
440
4412012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
442
443 * makefile.in: add a simple makefile for folk who insist on
444 ./configure; make; make install
445 it just runs boot-strap
446 * include mk/* to accommodate the above
447 * boot-strap: re-work to accommodate the above
448 mksrc defaults to $Mydir/mk
449 allow op={configure,build,install,clean,all}
450 add options to facilitate install
451 * Makefile.config.in: just the bits set by configure
452 * Makefile: bump version to 20121212
453 abandon Makefile.in (NetBSD Makefile)
454 leverage mk/* instead
455 * configure.in: ensure srcdir is absolute
456
4572012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
458
459 * Makefile.in (MAKE_VERSION): 20121111
460 fix generation of bmake.cat1
461
4622012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
463
464 * Makefile.in (MAKE_VERSION): 20121109
465 Merge with NetBSD make, pick up
466 o make.c: MakeBuildChild: return 0 so search continues if a
467 .ORDER dependency is detected.
468 o unit-tests/order: test the above
469
4702012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
471
472 * Makefile.in (MAKE_VERSION): 20121102
473 Merge with NetBSD make, pick up
474 o cond.c: allow cond_state[] to grow.
475 In meta mode with a very large tree, we can hit the limit
476 while processing dirdeps.
477
4782012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
479
480 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
481
4822012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
483
484 * Makefile.in (MAKE_VERSION): 20121010
485 o protect syntax that only bmake parses correctly.
486 o remove auto setting of FORCE_MACHINE, use configure's
487 --with-force-machine=whatever if that is desired.
488
4892012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
490
491 * Makefile.in: do not lose history from make.1 when generating bmake.1
492
4932012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
494
495 * Makefile.in (MAKE_VERSION): 20121007
496 Merge with NetBSD make, pick up
497 o compat.c: ignore empty commands - same as jobs mode.
498 o make.1: document meta chars that cause use of shell
499
5002012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
501
502 * Makefile.in (MAKE_VERSION): bump version to 20120911
503 * bsd.after-import.mk: include Makefile.inc early and allow it to
504 override PROG
505
5062012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
507
508 * Makefile.in (MAKE_VERSION): bump version to 20120831
509 Merge with NetBSD make, pick up
510 o cast sizeof() to int for comparison
511 o minor make.1 tweak
512
5132012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
514
515 * Makefile.in (MAKE_VERSION): bump version to 20120830
516 Merge with NetBSD make, pick up
517 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
518 o debug flag -dV causes -V to show raw value regardless.
519
5202012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
521
522 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
523 gets SRCTOP set.
524
5252012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
526
527 * Makefile.in (MAKE_VERSION): bump version to 20120704
528 Merge with NetBSD make, pick up
529 o Job_ParseShell should call Shell_Init if it has been
530 previously called.
531 * Makefile.in: set USE_META based on configure result.
532 also .PARSEDIR is safer indicator of bmake.
533
5342012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
535
536 * Makefile.in: bump version to 20120626
537 ensure CPPFLAGS is in CFLAGS
538 * meta.c: avoid nested externs
539 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
540
5412012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
542
543 * Makefile.in (MAKE_VERSION): bump version to 20120620
544 Merge with NetBSD make, pick up
545 o make_malloc.c: avoid including make_malloc.h again
546
547 * Makefile.in: avoid bmake only syntax or protect with
548 .if defined(.MAKE.LEVEL)
549 * bsd.after-import.mk: replace .-include with .sinclude
550 ensure? SRCTOP gets a value
551 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
552
5532012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
554
555 * Makefile.in (MAKE_VERSION): bump version to 20120612
556 Merge with NetBSD make, pick up
557 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
558 for greater portability.
559 o unit-tests/forloop: check that .for works as expected wrt
560 number of times and with "quoted strings".
561
5622012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
563
564 * Makefile.in (MAKE_VERSION): bump version to 20120606
565 Merge with NetBSD make, pick up
566 o compat.c: use kill(2) rather than raise(3).
567 * configure.in: look for sys/dev/filemon
568 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
569 and pass BOOTSTRAP_XTRAS to boot-strap.
570
5712012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
572
573 * Makefile.in (MAKE_VERSION): bump version to 20120604
574 Merge with NetBSD make, pick up
575 o util.c and var.c share same var for tracking if environ
576 has been reallocated.
577 o util.c provide getenv with setenv.
578 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
579 when the shell actively strips .MAKE.* from the environment.
580 We still refer to the variable always as .MAKE.LEVEL
581 * util.c fix bug in findenv() was finding prefix of name.
582 * compat.c: re-raising SIGINT etc after running .INTERRUPT
583 results in more reliable termination of all activity on many
584 platforms.
585
5862012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
587
588 * Makefile.in (MAKE_VERSION): bump version to 20120602
589 Merge with NetBSD make, pick up
590 o for.c: handle quoted items in .for list
591
5922012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
593
594 * Makefile.in (MAKE_VERSION): bump version to 20120530
595 Merge with NetBSD make, pick up
596 o compat.c: ignore empty command.
597
5982012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
599
600 * Makefile.in (MAKE_VERSION): bump version to 20120524
601 * FILES: add bsd.after-import.mk:
602 A simple means of integrating bmake into a BSD build system.
603
6042012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
605
606 * Makefile.in (MAKE_VERSION): bump version to 20120520
607 Merge with NetBSD make, pick up
608 o increased limit for nested conditionals.
609
6102012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
611
612 * Makefile.in (MAKE_VERSION): bump version to 20120518
613 Merge with NetBSD make, pick up
614 o use _exit(2) in signal hanlder
615 o Don't use the [dir] cache when building nodes that might have
616 changed since the last exec.
617 o Avoid nested extern declaration warnings.
618
6192012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
620
621 * meta.c (fgetLine): avoid %z - not portable.
622 * parse.c: Since we moved include of sys/mman.h
623 and def's of MAP_COPY etc. we got dups from a merge.
624
6252012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
626
627 * Makefile.in (MAKE_VERSION): bump version to 20120420
628 Merge with NetBSD make, pick up
629 o restore duplicate supression in .MAKE.MAKEFILES
630 runtime saving can be significant.
631 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
632 consumption up to 20%.
633
6342012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
635
636 * Makefile.in (MAKE_VERSION): bump version to 20120420
637 Merge with NetBSD make, pick up
638 o remove duplicate supression in .MAKE.MAKEFILES
639 o improved dir cache behavior
640 o gmake'ish export command
641
6422012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
643
644 * Makefile.in (MAKE_VERSION): bump version to 20120325
645 Merge with NetBSD make, pick up
646 o fix parsing of :[#] in conditionals.
647
6482012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
649
650 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
651 since some systems cannot cope with .Nx <version>
652
6532011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
654
655 * Makefile.in (MAKE_VERSION): bump version to 20111111
656 Merge with NetBSD make, pick up
657 o debug output for .PARSEDIR and .PARSEFILE
658
6592011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
660
661 * Makefile.in (MAKE_VERSION): bump version to 20111010
662
6632011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
664
665 * boot-strap: check for an expected file in the dirs we look for.
666 * make-bootstrap.sh: pass on LDSTATIC
667
6682011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
669
670 * Makefile.in (MAKE_VERSION): bump version to 20111001
671 Merge with NetBSD make, pick up
672 o ensure .PREFIX is set for .PHONY
673 and .TARGET set for .PHONY run via .END
674 o __dead used consistently
675
6762011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
677
678 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
679
6802011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
681
682 * Makefile.in (MAKE_VERSION): bump version to 20110905
683 Merge with NetBSD make, pick up
684 o meta_oodate: ignore makeDependfile
685
6862011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
687
688 * Makefile.in (MAKE_VERSION): bump version to 20110828
689 Merge with NetBSD make, pick up
690 o silent=yes in .MAKE.MODE causes meta mode to mark targets
691 as SILENT if a .meta file is created
692
6932011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
694
695 * Makefile.in (MAKE_VERSION): bump version to 20110818
696 Merge with NetBSD make, pick up
697 o in meta mode, if target flagged .META a missing .meta file
698 means target is out-of-date
699 o fixes for gcc 4.5 warnings
700 o simplify job printing code
701
7022011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
703
704 * Makefile.in (MAKE_VERSION): bump version to 20110808
705 Merge with NetBSD make, pick up
706 o do not touch OP_SPECIAL targets when doing make -t
707
7082011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
709
710 * Makefile.in (MAKE_VERSION): bump version to 20110622
711 Merge with NetBSD make, pick up
712 o meta_oodate detect corrupted .meta file and declare oodate.
713 * configure.in: add check for setsid
714
7152011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
716
717 * Merge with NetBSD make, pick up
718 o unit-tests/modts now works on MirBSD
719
7202011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
721
722 * Makefile.in (MAKE_VERSION): bump version to 20110606
723 Merge with NetBSD make, pick up
724 o ApplyModifiers: when we parse a variable which is not
725 the entire modifier string, or not followed by ':', do not
726 consider it as containing modifiers.
727 o loadfile: ensure newline at end of mapped file.
728
7292011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
730
731 * Makefile.in (MAKE_VERSION): bump version to 20110505
732 Merge with NetBSD make, pick up
733 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
734 of make's control. In meta mode, any generated file within
735 said bailiwick, which is found to be missing, causes current
736 target to be out-of-date.
737
7382011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
739
740 * Makefile.in (MAKE_VERSION): bump version to 20110411
741 Merge with NetBSD make, pick up
742 o when long modifiers fail to match, check sysV style.
743 - add a test case
744
7452011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
746
747 * Makefile.in (MAKE_VERSION): bump version to 20110410
748 Merge with NetBSD make, pick up
749 o :hash - cheap 32bit hash of value
750 o :localtime, :gmtime - use value as format string for strftime.
751
7522011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
753
754 * Makefile.in (MAKE_VERSION): bump version to 20110330
755 mostly because its a cooler version.
756 Merge with NetBSD make, pick up
757 o NetBSD tags for meta.[ch]
758 o job.c call meta_job_finish() after meta_job_error().
759 o meta_job_error() should call meta_job_finish() to ensure
760 .meta file is closed, and safe to copy - if .ERROR target wants.
761 meta_job_finish() is safe to call repeatedly.
762
7632011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
764
765 * unit-tests/modts: use printf if it is a builtin,
766 to save us from MirBSD
767
768 * Makefile.in (MAKE_VERSION): bump version to 20110329
769 Merge with NetBSD make, pick up
770 o fix for use after free() in CondDoExists().
771 o meta_oodate() report extra commands and return earlier.
772
7732011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
774
775 * Makefile.in (MAKE_VERSION): bump version to 20110327
776 Merge with NetBSD make, pick up
777 o meta.c, if .MAKE.MODE contains curdirOk=yes
778 allow creating .meta files in .CURDIR
779 * boot-strap (TOOL_DIFF): aparently at least on linux distro
780 formats the output of 'type' differently - so eat any "()"
781
7822011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
783
784 * Makefile.in (MAKE_VERSION): bump version to 20110306
785 Merge with NetBSD make, pick up
786 o meta.c, only do getcwd() once
787
7882011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
789
790 * Makefile.in (MAKE_VERSION): bump version to 20110305
791 Merge with NetBSD make, pick up
792 o correct sysV substitution handling of empty lhs and variable
793 o correct exists() check for dir with trailing /
794 o correct handling of modifiers for non-existant variables
795 during evaluation of conditionals.
796 o ensure MAP_FILE is defined.
797 o meta.c use curdir[] now exported by main.c
798
7992011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
800
801 * Makefile.in (MAKE_VERSION): bump version to 20110225
802 Merge with NetBSD make, pick up
803 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
804 makefiles have been read.
805 o fix example of :? modifier in man page.
806
8072011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
808
809 * Makefile.in (MAKE_VERSION): bump version to 20110214
810 Merge with NetBSD make, pick up
811 o meta.c handle realpath() failing when generating meta file
812 name.
813
814 * sigcompat.c: convert to ansi so we can use higher warning levels.
815
816
8172011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
818
819 * Makefile.in (MAKE_VERSION): bump version to 20110207
820 Merge with NetBSD make, pick up
821 o fix for bug in meta mode.
822
8232011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
824
825 * parse.c: SunOS 5.8 at least does not have MAP_FILE
826
8272011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
828
829 * Makefile.in (MAKE_VERSION): bump version to 20110101
830 Merge with NetBSD make, pick up
831 o use mmap(2) if available, for reading makefiles
832
8332010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
834
835 * Makefile.in (MAKE_VERSION): bump version to 20101215
836 Merge with NetBSD make, pick up
837 o ensure meta_job_error() does not report a previous .meta file
838 as being culprit.
839
8402010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
841
842 * Makefile.in (MAKE_VERSION): bump version to 20101210
843 Merge with NetBSD make, pick up
844 o meta_oodate: track cwd per process, and only consider target
845 out-of-date if missing file is outside make's CWD.
846 Ignore files in /tmp/ etc.
847 o to ensure unit-tests results match, need to control LC_ALL
848 as well as LANG.
849 o fix for parsing bug in var.c
850
8512010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
852
853 * Makefile.in (MAKE_VERSION): bump version to 20101126
854 Merge with NetBSD make, pick up
855 o if stale dependency is an IMPSRC, search via .PATH
856 o meta_oodate: if a referenced file is missing, target is
857 out-of-date.
858 o meta_oodate: if a target uses .OODATE in its commands,
859 it (.OODATE) needs to be recomputed.
860 o keep a pointer to youngest child node, rather than just its
861 mtime.
862
8632010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
864
865 * Makefile.in (MAKE_VERSION): bump version to 20101101
866
8672010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
868
869 * machine.sh: like os.sh,
870 allow for uname -p producing useless drivel
871
8722010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
873
874 * boot-strap: document configure knobs for meta and filemon.
875
876 * Makefile.in (MAKE_VERSION): bump version to 20100911
877 Merge with NetBSD make, pick up
878 o meta.c - meta mode
879
880 * make-bootstrap.sh.in: handle meta.c
881 * configure.in: add knobs for use_meta and filemon_h
882 also, look for dirname, str[e]sep and strlcpy
883 * util.c: add simple err[x] and warn[x]
884
8852010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
886
887 * boot-strap (TOOL_DIFF): set this to ensure tests use
888 the same version of diff that configure tested
889
890 * Makefile.in (MAKE_VERSION): bump version to 20100808
891 Merge with NetBSD make, pick up
892 o in jobs mode, when we discover we cannot make something,
893 call PrintOnError before exit.
894
8952010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
896
897 * Makefile.in (MAKE_VERSION): bump version to 20100806
898 Merge with NetBSD make, pick up
899 o formatting fixes for ignored errors
900 o ensure jobs are cleaned up regardless of where wait() was called.
901
9022010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
903
904 * Makefile.in (MAKE_VERSION): bump version to 20100618
905 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
906
9072010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
908
909 * Makefile.in (MAKE_VERSION): bump version to 20100616
910 Merge with NetBSD make, pick up
911 o man page update
912 o call PrintOnError from JobFinish when we detect an error we
913 are not ignoring.
914
9152010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
916
917 * Makefile.in (MAKE_VERSION): bump version to 20100606
918 Merge with NetBSD make, pick up
919 o man page update
920
9212010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
922
923 * Makefile.in (MAKE_VERSION): bump version to 20100605
924 Merge with NetBSD make, pick up
925 o use bmake_signal() which is a wrapper around sigaction()
926 in place of signal()
927 o add .export-env to allow exporting variables to environment
928 without tracking (so no re-export when the internal value is
929 changed).
930
9312010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
932
933 * Makefile.in (MAKE_VERSION): bump version to 20100524
934 Merge with NetBSD make, pick up
935 o fix for .info et al being greedy.
936
9372010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
938
939 * Makefile.in (MAKE_VERSION): bump version to 20100520
940 Merge with NetBSD make, pick up
941 o back to using realpath on argv[0]
942 but only if contains '/' and does not start with '/'.
943
9442010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
945
946 * boot-strap: use absolute path for bmake when running tests.
947
948 * Makefile.in (MAKE_VERSION): bump version to 20100510
949 Merge with NetBSD make, pick up
950 o revert use of realpath on argv[0]
951 too many corner cases.
952 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
953
9542010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
955
956 * Makefile.in (MAKE_VERSION): bump version to 20100505
957 Merge with NetBSD make, pick up
958 o fix for missed SIGCHLD when compiled with SunPRO
959 actually for bmake, defining FORCE_POSIX_SIGNALS would have
960 done the job.
961
9622010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
963
964 * Makefile.in (MAKE_VERSION): bump version to 20100430
965 Merge with NetBSD make, pick up
966 o fflush stdout before writing to stdout
967
9682010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
969
970 * Makefile.in (MAKE_VERSION): bump version to 20100423
971 Merge with NetBSD make, pick up
972 o updated unit tests for Haiku (this time for sure).
973 * boot-strap: based on patch from joerg
974 honor --with-default-sys-path better.
975 * boot-strap: remove mention of --with-prefix-sys-path
976
9772010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
978
979 * Makefile.in (MAKE_VERSION): bump version to 20100422
980 * Merge with NetBSD make, pick up
981 o fix for vfork() on Darwin.
982 o fix for bogus $TMPDIR.
983 o set .MAKE.MODE=compat for -B
984 o set .MAKE.JOBS=max_jobs for -j max_jobs
985 o allow unit-tests to run without any *.mk
986 o unit-tests/modmisc be more conservative in dirs presumed to exist.
987 * boot-strap: ignore /usr/share/mk except on NetBSD.
988 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
989 ensure sort(1) behaves as expected.
990
9912010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
992
993 * boot-strap: add FindHereOrAbove so we can use -m .../mk
994
9952010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
996
997 * Makefile.in (MAKE_VERSION): bump version to 20100420
998 * Merge with NetBSD make, pick up
999 o fix for variable realpath() behavior.
1000 we have to stat(2) the result to be sure.
1001 o fix for .export (all) when nested vars use :sh
1002
10032010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
1004
1005 * Makefile.in (MAKE_VERSION): bump version to 20100414
1006 * Merge with NetBSD make, pick up
1007 o use realpath to resolve argv[0] (for .MAKE) if needed.
1008 o add realpath from libc.
1009 o add :tA to resolve variable via realpath(3) if possible.
1010
10112010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
1012
1013 * Makefile.in (MAKE_VERSION): bump version to 20100408
1014 * Merge with NetBSD make, pick up
1015 o unit tests for .ERROR, .error
1016 o fix for .ERROR to ensure it cannot be default target.
1017
10182010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
1019
1020 * Makefile.in (MAKE_VERSION): bump version to 20100406
1021 * Merge with NetBSD make, pick up
1022 o fix for compat mode "Error code" going to debug_file.
1023 o fix for .ALLSRC being populated twice.
1024 o support for .info, .warning and .error directives
1025 o .MAKE.MODE to control make's operational mode
1026 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1027 name(s).
1028 o .MAKE.DEPENDFILE to control the name of the depend file
1029 o .ERROR target - run on failure.
1030
10312010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
1032
1033 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1034
1035 * os.sh,arch.c: patch for Haiku from joerg at netbsd
1036
10372010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
1038
1039 * Makefile.in (MAKE_VERSION): bump version to 20100222
1040 * Merge with NetBSD make, pick up
1041 o better error msg for .for with mutiple inter vars
1042
1043 * boot-strap:
1044 o use make-bootstrap.sh from joerg at netbsd
1045 to avoid the need for a native make when bootstrapping.
1046 o add "" everywhere ;-)
1047 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1048 otherwise the pre-formated version.
1049
10502010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1051
1052 * Makefile.in (MAKE_VERSION): bump version to 20100102
1053 * Merge with NetBSD make, pick up:
1054 o fix for -m .../
1055
10562009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
1057
1058 * Makefile.in (MAKE_VERSION): bump version to 20091118
1059 * Merge with NetBSD make, pick up:
1060 o .unexport
1061 o report lines that start with '.' and should have ':'
1062 (catch typo's of .el*if).
1063
10642009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1065
1066 * configure.in: Ensure that srcdir and mksrc are absolute paths.
1067
10682009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1069
1070 * Makefile.in (MAKE_VERSION): fix version to 20091007
1071
10722009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
1073
1074 * Makefile.in (MAKE_VERSION): bump version to 200910007
1075 * Merge with NetBSD make, pick up:
1076 o fix for parsing of :S;...;...; applied to .for loop iterator
1077 appearing in a dependency line.
1078
10792009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1080
1081 * Makefile.in (MAKE_VERSION): bump version to 20090909
1082 * Merge with NetBSD make, pick up:
1083 o fix for -C, .CURDIR and .OBJDIR
1084 * boot-strap:
1085 o allow share_dir to be set independent of prefix.
1086 o select default share_dir better when prefix ends in $HOST_TARGET
1087 o if FORCE_BSD_MK etc were set, include them in the suggested
1088 install-mk command.
1089
10902009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1091
1092 * Makefile.in (MAKE_VERSION): bump version to 20090908
1093 * Merge with NetBSD make, pick up:
1094 o .MAKE.LEVEL for recursion tracking
1095 o fix for :M scanning \:
1096
10972009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1098
1099 * configure.in: Don't -D__EXTENSIONS__ if
1100 AC_USE_SYSTEM_EXTENSIONS says "no".
1101
11022009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
1103
1104 * Makefile.in (MAKE_VERSION): bump version to 20090826
1105 Simplify MAKE_VERSION to just the bare date.
1106 * Merge with NetBSD make, pick up:
1107 o -C directory support.
1108 o support for SIGINFO
1109 o use $TMPDIR for temp files.
1110 o child of vfork should be careful about modifying parent's state.
1111
1112
11132009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1114
1115 * Appy some patches for MiNT from David Brownlee
1116
11172009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
1118
1119 * Makefile.in (BMAKE_VERSION): bump version to 20090222
1120 * Merge with NetBSD make, pick up:
1121 o Possible null pointer de-ref in Var_Set.
1122
11232009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
1124
1125 * Makefile.in (BMAKE_VERSION): bump version to 20090204
1126 * Merge with NetBSD make, pick up:
1127 o bmake_malloc et al moved to their own .c
1128 o Count both () and {} when looking for the end of a :M pattern
1129 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1130 o strlist.c - functions for processing extendable arrays of pointers to strings.
1131 o ClientData replaced with void *, so const void * can be used.
1132 o New debug flag C for DEBUG_CWD
1133
11342008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1135
1136 * Makefile.in (BMAKE_VERSION): bump version to 20081111
1137 Apply patch from Joerg Sonnenberge to
1138 configure.in:
1139 o remove some redundant checks
1140 o check for emlloc etc only in libutil and require the whole family.
1141 util.c:
1142 o remove [v]asprintf which is no longer used.
1143
11442008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1145
1146 * Makefile.in (BMAKE_VERSION): bump version to 20081101
1147 * Merge with NetBSD make, pick up:
1148 o util.c: avoid use of putenv() - christos
1149
11502008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1151
1152 * Makefile.in (BMAKE_VERSION): bump version to 20081030
1153 pick up man page tweaks.
1154
11552008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
1156
1157 * Makefile.in: move processing of LIBOBJS to after is definition!
1158 thus we'll have getenv.c in SRCS only if needed.
1159
1160 * make.1: add examples of how to use :?
1161
1162 * Makefile.in (BMAKE_VERSION): bump version to 20081029
1163 * Merge with NetBSD make, pick up:
1164 o fix for .END processing with -j
1165 o segfault from Parse_Error when no makefile is open
1166 o handle numeric expressions in any variable expansion
1167 o debug output now defaults to stderr, -dF to change it - apb
1168 o make now uses bmake_malloc etc so that it can build natively
1169 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1170
11712008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
1172
1173 * Makefile.in (BMAKE_VERSION): bump version to 20080808
1174 * Merge with NetBSD make, pick up:
1175 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1176 long lines in Makefiles
1177 o optimizations for VarQuote by joerg
1178 o fix for PR/38756: dominik: make dumps core on invalid makefile
1179
11802008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
1181
1182 * Makefile.in (BMAKE_VERSION): bump version to 20080515
1183 * Merge with NetBSD make, pick up:
1184 o fix skip setting vars in VAR_GLOBAL context, to handle
1185 cases where VAR_CMD is used for other than command line vars.
1186
11872008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
1188
1189 * boot-strap (make_version): we may need to look in
1190 $prefix/share/mk for sys.mk
1191
1192 * Makefile.in (BMAKE_VERSION): bump version to 20080514
1193 * Merge with NetBSD make, pick up:
1194 o skip setting vars in VAR_GLOBAL context, when already set in
1195 VAR_CMD which takes precedence.
1196
11972008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
1198
1199 * Makefile.in (BMAKE_VERSION): bump version to 20080330
1200 * Merge with NetBSD make, pick up:
1201 o fix for ?= when LHS contains variable reference.
1202
12032008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1204
1205 * merge some patches from NetBSD pkgsrc.
1206
1207 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1208 the MAKSYSPATH used during bootstrap.
1209
1210 * Makefile.in (BMAKE_VERSION): bump version to 20080215
1211 * Merge with NetBSD make, pick up:
1212 o warn if non-space chars follow 'empty' in a conditional.
1213
12142008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1215
1216 * Makefile.in (BMAKE_VERSION): bump version to 20080118
1217 * Merge with NetBSD make, pick up:
1218 o consider dependencies read from .depend as optional - dsl
1219 o remember when buffer for reading makefile grows - dsl
1220 o add -dl (aka LOUD) - David O'Brien
1221
12222007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
1223
1224 * Makefile.in (BMAKE_VERSION): bump version to 20071022
1225 * Merge with NetBSD make, pick up:
1226 o Allow .PATH<suffix> to be used for .include ""
1227
1228 * boot-strap: source default settings from .bmake-boot-strap.rc
1229
12302007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
1231
1232 * Makefile.in: fix maninstall on various systems
1233 provided that our man.mk is used.
1234 For non-BSD systems we install the preformatted page
1235 into $MANDIR/cat1
1236
12372007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
1238
1239 * boot-strap: make bmake.1 too, so maninstall works.
1240
12412007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1242
1243 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1244 * Merge with NetBSD make, pick up:
1245 o revamped handling of defshell - configure no longer needs to
1246 know the content of the shells array - apb
1247 o stop Var_Subst modifying its input - apb
1248 o avoid calling ParseTrackInput too often - dsl
1249
12502007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1251
1252 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1253 * Merge with NetBSD make, pick up:
1254 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1255
1256 * sigcompat.c: some tweaks for HP-UX 11.x based on
1257 patch from Tobias Nygren
1258
1259 * configure.in: update handling of --with-defshell to match
1260 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1261 will now do what one might hope - provided the chosen shell
1262 behaves enough like sh.
1263
12642007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1265
1266 * Makefile.in (BMAKE_VERSION): bump to 20071008
1267 * Merge with NetBSD make, pick up:
1268 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1269 o .export/.MAKE.EXPORTED - export of variables - sjg
1270 o .MAKE.MAKEFILES - track all makefiles read - sjg
1271 o performance improvements - dsl
1272 o revamp parallel job scheduling - dsl
1273
12742006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1275
1276 * Makefile.in (BMAKE_VERSION): bump to 20060728
1277 * Merge with NetBSD make, pick up:
1278 o extra debug info during variable and cond processing - sjg
1279 o shell definition now covers newline - rillig
1280 o minor mem leak in PrintOnError - sjg
1281
12822006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1283
1284 * Makefile.in (BMAKE_VERSION): bump to 20060511
1285 * Merge with NetBSD make, pick up:
1286 o more memory leaks - coverity
1287 o possible overflow in ArchFindMember - coverity
1288 o extract variable modifier code out of Var_Parse()
1289 so it can be called recursively - sjg
1290 o unit-tests/moderrs - sjg
1291
12922006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1293
1294 * Makefile.in (BMAKE_VERSION): bump to 20060412
1295 * Merge with NetBSD make, pick up:
1296 o fixes for some memory leaks - coverity
1297 o only read first sys.mk etc when searching sysIncPath - sjg
1298
1299 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1300 setting ${MAKEFILE} - OBATA Akio
1301
13022006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1303
1304 * Makefile.in (BMAKE_VERSION): bump to 20060318
1305 * Merge with NetBSD make, pick up:
1306 o cleanup of job.c to remove remote handling, distcc is more
1307 useful and this code was likely bit-rotting - dsl
1308 o fix for :P modifier - sjg
1309 * boot-strap: set default prefix to something reasonable
1310 (for me anyway).
1311
13122006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1313
1314 * Makefile.in (BMAKE_VERSION): bump to 20060301
1315 * Merge with NetBSD make, pick up:
1316 o make .WAIT apply recursively, document and test case - apb
1317 o allow variable modifiers in a variable appear anywhere in
1318 modifier list, document and test case - sjg
1319
13202006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1321
1322 * Makefile.in (BMAKE_VERSION): bump to 20060222
1323 * Merge with NetBSD make, pick up:
1324 o improved job token handling - dsl
1325 o SIG_DFL the correct signal before exec - dsl
1326 o more debug info during parsing - dsl
1327 o allow variable modifiers to be specified via variable - sjg
1328 * boot-strap: explain why we died if no mksrc
1329
13302005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1331
1332 * Makefile.in (BMAKE_VERSION): bump to 20051105
1333 * configure.in: always set default_sys_path
1334 default is ${prefix}/share/mk
1335 - remove prefix_sys_path, anyone wanting more than above
1336 needs to set it manually.
1337
13382005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1339
1340 * boot-strap: make this a bit easier for pkgsrc folk.
1341 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1342 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1343
13442005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1345
1346 * Makefile.in (BMAKE_VERSION): bump to 20051102
1347 * job.c (JobFinish): fix likely ancient merge lossage
1348 fix from Todd Vierling.
1349 * boot-strap (srcdir): allow setting mksrc=none
1350
13512005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1352
1353 * Makefile.in (BMAKE_VERSION): bump to 20051031
1354 * ranlib.h: skip on OSF too.
1355 (NetBSD PR 31864)
1356
13572005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1358
1359 * Makefile.in (BMAKE_VERSION): bump to 20051002
1360 fix a silly typo
1361
13622005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1363
1364 * Makefile.in (BMAKE_VERSION): bump to 20051001
1365 support for UnixWare and some other systems,
1366 based on patches from pkgsrc/bootstrap
1367
13682005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1369
1370 * Makefile.in (BMAKE_VERSION): bump to 20050901
1371 * Merge with NetBSD make, pick up:
1372 o possible parse error causing us to wander off.
1373
13742005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1375
1376 * Makefile.in (BMAKE_VERSION): bump to 20050606
1377 * Merge with NetBSD make, pick up:
1378 o :0x modifier for randomizing a list
1379 o fixes for a number of -Wuninitialized issues.
1380
13812005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1382
1383 * Makefile.in (BMAKE_VERSION): bump to 20050530
1384 * Merge with NetBSD make, pick up:
1385 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1386
1387 * README: was seriously out of date.
1388
13892005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1390
1391 * Important to use .MAKE rather than MAKE.
1392
13932005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1394
1395 * Makefile.in (BMAKE_VERSION): bump to 20050315
1396 * Merge with NetBSD make, pick up:
1397 o don't mistake .elsefoo for .else
1398 o use suffix-specific search path correctly
1399 o bunch of style nits
1400
14012004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1402
1403 * boot-strap:
1404 o ensure that args to --src and --with-mksrc
1405 are resolved before giving them to configure.
1406 o add -o "objdir" so that builder can control it,
1407 default is $OS as determined by os.sh
1408 o add -q to suppress all the install instructions.
1409
14102004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1411
1412 * Remove __IDSTRING()
1413
1414 * Makefile.in (BMAKE_VERSION): bump to 20040508
1415 * Merge with NetBSD make, pick up:
1416 o posix fixes
1417 - remove '-e' from compat mode
1418 - add support for '+' command-line prefix.
1419 o fix for handling '--' on command-line.
1420 o fix include in lst.lib/lstInt.h to simplify '-I's
1421 o we also picked up replacement of MAKE_BOOTSTRAP
1422 with !MAKE_NATIVE which is a noop, but possibly confusing.
1423
14242004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1425
1426 * Makefile.in (BMAKE_VERSION): bump to 20040414
1427 * Merge with NetBSD make, pick up:
1428 o allow quoted strings on lhs of conditionals
1429 o issue warning when extra .else is seen
1430 o print line numer when errors encountered during parsing from
1431 string.
1432
14332004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1434
1435 * Makefile.in (BMAKE_VERSION): bump to 20040220
1436 * Merge with NetBSD make, pick up:
1437 o fix for old :M parsing bug.
1438 o re-jigged unit-tests
1439
14402004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1441
1442 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1443 so that './bmake -f Makefile test' works.
1444
14452004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1446
1447 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1448 * Merge with NetBSD make, pick up:
1449 o search upwards for *.mk
1450 o fix for double free of var substitution buffers
1451 o use of getopt replaced with custom code, since the usage
1452 (re-scanning) isn't posix compatible.
1453
14542004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1455
1456 * arch.c: don't include ranlib.h on ELF systems
1457 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1458
14592004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1460
1461 * Makefile.in (BMAKE_VERSION): bump to 20040118
1462
1463 * boot-strap (while): export vars we assign to on cmdline
1464 * unit-test/Makefile.in: ternary is .PHONY
1465
14662004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1467
1468 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1469 * Merge with NetBSD make, pick up:
1470 o fix for ternary modifier
1471
14722004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1473
1474 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1475 * Merge with NetBSD make, pick up:
1476 o fix for cond.c to handle compound expressions better
1477 o variable expansion within sysV style replacements
1478
14792003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1480
1481 * Make portable snprintf safer - output to /dev/null first to
1482 check space needed.
1483
1484 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1485 * Merge with NetBSD make, pick up:
1486 o -dg3 to show input graph when things go wrong.
1487 o explicitly look for makefiles in objdir if not found in curdir so
1488 that errors in .depend etc will be reported accurarely.
1489 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1490 instead as it more accurately reflects the expected behavior and
1491 is more consistently implemented.
1492 o avoid use of asprintf.
1493
14942003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1495
1496 * util.c: Add asprintf and vasprintf.
1497
1498 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1499 * Merge with NetBSD make, pick up:
1500 :[] modifier - allows picking words from a variable.
1501 :tW modifier - allows treating value as one big word.
1502 W flag for :C and :S - allows treating value as one big word.
1503
15042003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1505
1506 * Merge with NetBSD make
1507 pick up -de flag to enable printing failed command.
1508 don't skip 1st two dir entries (normally . and ..) since
1509 coda does not have them.
1510
15112003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1512
1513 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1514 * Merge with NetBSD make, pick up:
1515 - changes for -V '${VAR}' to print fully expanded value
1516 cf. -V VAR
1517 - CompatRunCommand now prints the command that failed.
1518 - several files got updated 3 clause Berkeley license.
1519
15202003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1521
1522 * boot-strap: Allow setting configure args on command line.
1523
15242003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1525
1526 * configure.in: add --with-defshell to allow sh or ksh
1527 to be selected as default shell.
1528
1529 * Makefile.in: bump version to 20030731
1530
1531 * Merge with NetBSD make
1532 Pick up .SHELL spec for ksh and associate man page changes.
1533 Also compat mode now uses the same shell specs.
1534
15352003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1536
1537 * var.c (Var_Parse): ensure delim is initialized.
1538
1539 * unit-tests/Makefile.in: use single quotes to avoid problems from
1540 some shells.
1541
1542 * makefile.boot.in:
1543 Run the unit-tests as part of the bootstrap procedure.
1544
15452003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1546
1547 * unit-tests/Makefile.in: always force complaints from
1548 ${TEST_MAKE} to be from 'make'.
1549
1550 * configure.in: add check for 'diff -u'
1551 also fix some old autoconf'isms
1552
1553 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1554 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1555
1556 * Merge with NetBSD make
1557 Pick up fix for :ts parsing error in some cases.
1558 Pick unit-tests.
1559
15602003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1561
1562 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1563
1564 * var.c (Var_Parse): fix bug in :ts modifier, after const
1565 correctness fixes, must pass nstr to VarModify.
1566
15672003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1568
1569 * Makefile.in: BMAKE_VERSION switch to a date based version.
1570 We'll generally use the date of last import from NetBSD.
1571
1572 * Merge with NetBSD make
1573 Pick up fixes for const-correctness, now passes WARNS=3 on
1574 NetBSD.
1575 Pick up :ts modifier, allows controlling the separator used
1576 between words in variable expansion.
1577
15782003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1579
1580 * FILES: include boot-strap and os.sh
1581
1582 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1583 FreeBSD is known to be bad.
1584
1585 * makefile.boot.in (bootstrap): make this the default target.
1586
1587 * Makefile.in: bump version to 3.1.19
1588
1589 * machine.sh: avoid A-Z with tr as it is bound to lose.
1590
15912003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1592
1593 * Merge with NetBSD make
1594 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1595 Plus some doc fixes.
1596
15972003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1598
1599 * Merge with NetBSD make
1600 Pick up fix for PR/1523 - don't count a library as built, if there
1601 is no way to build it
1602
1603 * Bump version to 3.1.18
1604
16052003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1606
1607 * Merge with NetBSD make
1608 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1609 appears in src list.
1610
16112003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1612
1613 * Merge with NetBSD make (mmm 10th anniversary!)
1614 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1615 pick up -X which tells us to not export VAR=val via setenv if
1616 we are already doing so via MAKEFLAGS. This saves valuable env
1617 space on systems like Darwin.
1618 set MAKE_VERSION to 3.1.17
1619
1620 * parse.c: pix up fix for suffix rules
1621
16222003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1623
1624 * Merge with NetBSD make.
1625 pick up fix for propagating -B via MAKEFLAGS.
1626 set MAKE_VERSION to 3.1.16
1627
1628 * Apply some patches from pkgsrc-bootstrap/bmake
1629 Originally by Grant Beattie <grant@netbsd.org>
1630 I may have missed some - since they are based on bmake-3.1.12
1631
16322002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1633
1634 * makefile.boot.in (bmake): update install targets for those that
1635 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1636 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1637
1638 * bmake.cat1: update the pre-formatted man page!
1639
16402002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1641
1642 * Merge with NetBSD make.
1643 pick up fix for premature free of pointer used in call
1644 to Dir_InitCur().
1645 set MAKE_VERSION to 3.1.15
1646
16472002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1648
1649 * configure.in: determine suitable value for MKSRC.
1650 override using --with-mksrc=PATH.
1651
1652 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1653 configs(8) will use 'sun4' as an alias for 'sparc'.
1654
16552002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1656
1657 * Merge with NetBSD make.
1658 pick up ${.PATH}
1659 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1660 set MAKE_VERSION to 3.1.14
1661 add configure checks for killpg and sys/socket.h
1662
16632002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1664
1665 * tag bmake-3-1-13
1666
1667 * makefile.boot.in (bmake): use install-mk
1668 Also setup ./mk before trying to invoke bmake.boot incase we
1669 needed install-mk to create a sys.mk for us.
1670
1671 * configure.in: If we need to add -I${srcdir}/missing, make it an
1672 absolute path so that it works for lst.lib too.
1673
1674 * make.h: always include sys/cdefs.h since we provide one if the
1675 host does not.
1676
1677 * Makefile.in (install-mk):
1678 use MKSRC/install-mk which will do the right thing.
1679 use uname -p for ARCH if possible.
1680 since install-mk will setup links bsd.prog.mk -> prog.mk if
1681 needed, just .include bsd.prog.mk
1682
1683 * Merge with NetBSD make (NetBSD-1.6)
1684 Code is ansi-C only now.
1685 Bug in handling of dotLast is fixed.
1686 Can now assign .OBJDIR and make will reset its notions of life.
1687 New modifiers :tu :tl for toUpper and toLower.
1688
1689Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1690
1691 * Merge with NetBSD make
1692 pick up fix for .END failure in compat mode.
1693 pick up fix for extra va_end() in ParseVErrorInternal.
1694
1695Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1696
1697 * configure.in: for systems that have sys/cdefs.h check if it is
1698 compatible. If not, include the one under missing, but tell it to
1699 include the native one too - necessary on Linux.
1700
1701 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1702 include_next (for gcc) to get the native sys/cdefs.h
1703
1704Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1705
1706 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1707 leaking descriptors when using -jN.
1708
1709 * job.c (JobPrintCommand): See if "curdir" exists before
1710 attempting to chdir(). Doing the chdir directly in make (when in
1711 compat mode) fails silently, so let the -jN version do the same.
1712 This can happen when building kernels in an object tree and
1713 playing clever games to reset .CURDIR.
1714
1715 * Merged with NetBSD make
1716 pick up .USEBEFORE
1717
1718Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1719
1720 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1721
1722Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1723
1724 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1725 us not to export the iterator variable when using VAR_CMD context.
1726
1727Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1728
1729 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1730 its the wrong "fix".
1731
1732Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1733
1734 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1735 We now simply append the variable names to .MAKEOVERRIDES, and
1736 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1737 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1738 Apart from fixing quoting bugs in previous version, this allows us
1739 to export vars to the environment by simply doing:
1740 .MAKEOVERRIDES+= PATH
1741 Merged again with NetBSD make, but the above is the only change.
1742
1743 * configure.in: added
1744 --disable-pwd-override disable $PWD overriding getcwd()
1745 --disable-check-make-chdir disable make trying to guess
1746 when it should automatically cd ${.CURDIR}
1747
1748 * Merge with NetBSD make, changes include:
1749 parse.c (ParseDoDependency): Spot that the syntax error is
1750 caused by an unresolved cvs/rcs conflict and say so.
1751 var.c: most of Var* functions now take a ctxt as 1st arg.
1752 now does variable substituion on rhs of sysv style modifiers.
1753
1754 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1755 is now done here. We append the name='value' to .MAKEOVERRIDES
1756 rather than directly into MAKEFLAGS as this allows a Makefile to
1757 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
1758 very similar mechanism. Note that in adding name='value' to
1759 .MAKEOVERRIDES we do the moral equivalent of:
1760 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1761
1762Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1763
1764 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1765
1766 * Merged with NetBSD make
1767 make -dx can now be used to run commands via sh -x
1768 better error messages on exec failures.
1769
1770Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1771
1772 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1773 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
1774 MACHINE etc otherwise they propagate from the previous bmake.
1775
1776 * configure.in (machine): allow --with-machine=generic to make
1777 configure use machine.sh to set MACHINE.
1778
1779 * job.c (JobInterrupt): convert to using WAIT_T and friends.
1780
1781 * Makefile.in: mention in bmake.1 that we use autoconf.
1782
1783 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1784
1785Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1786
1787 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1788 as that rather defeats the usefulness of ${MAKEFILE}.
1789
1790 * main.c (MainParseArgs): append command line variable assignments
1791 to MAKEFLAGS so that they get propagated to child make's.
1792 Apparently this is required POSIX behaviour? Its useful anyway.
1793
1794Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1795
1796 * compat.c (CompatRunCommand): don't use perror() since stdio may
1797 cause problems in child of vfork().
1798
1799 * compat.c, main.c: Call PrintOnError() when we are going to bail.
1800 This routine prints out the .curdir where we stopped and will also
1801 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1802
1803 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
1804 :@ expansion.
1805
1806 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
1807
1808 * Added RCSid's for the files we've touched.
1809
1810Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1811
1812 * configure.in: Thanks to some clues from mdb@juniper.net,
1813 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1814 as well as what ends up in _PATH_DEFSYSPATH. We now have:
1815
1816 --with-machine=MACHINE explicitly set MACHINE
1817 --with-force-machine=MACHINE set FORCE_MACHINE
1818 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
1819 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
1820 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
1821 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
1822
1823 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1824
1825 * makefile: added a pathetically simple makefile to drive
1826 bootstrapping. Running configure by hand is more useful.
1827
1828 * Makefile.in: added MAKE_VERSION, and reworked things to be less
1829 dependent on NetBSD bsd.*.mk
1830
1831 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1832 _PATH_OBJDIRPREFIX for those that don't want a default.
1833 construct _PATH_DEFSYSPATH from the info we get from configure.
1834
1835 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1836 if MAKE_VERSION is defined.
1837
1838 * compat.c: when we bail, print out the .CURDIR we were in.
1839
1840Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1841
1842 * Merged with NetBSD make
1843
1844 * var.c: fixed a bug in the handling of the modifier :P
1845 if the node as found but the path was null, we segfault trying to
1846 duplicate it.
1847
1848Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1849
1850 * Merged with NetBSD make
1851
1852 * make.c: Make_OODate's test for a library out of date was using
1853 cmtime where it should have used mtime (my bug).
1854
1855 * compat.c: Use perror() to tell us what really went wrong when we
1856 cannot exec a command.
1857
1858Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1859
1860 * Merged with NetBSD make
1861
1862Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1863
1864 * Merged with NetBSD make
1865
1866Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1867
1868 * Merged with NetBSD make
1869
1870Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1871
1872 * Merged with NetBSD make
1873
1874Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1875
1876 * util.c: don't provide signal() since we use sigcompat.c
1877
1878 * Makefile.in: added a build target.
1879
1880 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
1881 These allow some quite clever magic.
1882
1883 * main.c (main): added support for getenv(MAKESYSPATH).
1884
1885Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1886
1887 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
1888 This avoids objdir having a different value depending on how a
1889 directory was reached (via command line, or subdir.mk).
1890
1891 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
1892
1893Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1894
1895 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
1896 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
1897 I've been testing this in NetBSD's make for some weeks.
1898
1899 * Turn Makefile into Makefile.in and make it useful.
1900
1901Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1902
1903 * Imported NetBSD's -current make(1) and resolve conflicts.
1904
1905 * Applied autoconf patches from bmake v2
1906
1907 * Imported clean code base from NetBSD-1.0
2
3 * Makefile (_MAKE_VERSION): 20160512
4 Merge with NetBSD make, pick up
5 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
6 this is useful for gcov builds.
7 o propagate errors from filemon(4).
8
92016-05-09 Simon J. Gerraty <sjg@bad.crufty.net>
10
11 * Makefile (_MAKE_VERSION): 20160509
12 Merge with NetBSD make, pick up
13 o remove use of non-standard types u_int etc.
14 o meta.c: apply realpath() before matching against metaIgnorePaths
15
162016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
17
18 * Makefile (_MAKE_VERSION): 20160404
19 Merge with NetBSD make, pick up
20 o allow makefile to set .MAKE.JOBS
21
22 * Makefile (PROG_NAME): use ${_MAKE_VERSION}
23
242016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
25
26 * Makefile (_MAKE_VERSION): 20160315
27 Merge with NetBSD make, pick up
28 o fix handling of archive members
29
302016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
31
32 * Makefile (_MAKE_VERSION): rename variable to avoid interference
33 with checks for ${MAKE_VERSION}
34
352016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
36
37 * Makefile (MAKE_VERSION): 20160310
38 Merge with NetBSD make, pick up
39 o meta.c: treat missing Read file same as Write, incase we Delete it.
40
412016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
42
43 * Makefile (MAKE_VERSION): 20160307
44 Merge with NetBSD make, pick up
45 o var.c: fix :ts\nnn to be octal by default.
46 o meta.c: meta_finish() to cleanup memory.
47
482016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
49
50 * Makefile (MAKE_VERSION): 20160226
51 Merge with NetBSD make, pick up
52 o meta.c: allow meta file for makeDepend if makefiles want it.
53
542016-02-19 Simon J. Gerraty <sjg@bad.crufty.net>
55
56 * var.c: default .MAKE.SAVE_DOLLARS to FALSE
57 for backwards compatability.
58
59 * Makefile (MAKE_VERSION): 20160220
60 Merge with NetBSD make, pick up
61 o var.c: add knob to control handling of '$$' in :=
62
632016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
64
65 * Makefile (MAKE_VERSION): 20160218
66 Merge with NetBSD make, pick up
67 o var.c: add .export-literal allows us to fix sys.clean-env.mk
68 post the changes to Var_Subst.
69 Var_Subst now takes flags, and does not consume '$$' in :=
70
712016-02-17 Simon J. Gerraty <sjg@bad.crufty.net>
72
73 * Makefile (MAKE_VERSION): 20160217
74 Merge with NetBSD make, pick up
75 o var.c: preserve '$$' in :=
76 o parse.c: add .dinclude for handling included
77 makefile like .depend
78
792015-12-20 Simon J. Gerraty <sjg@bad.crufty.net>
80
81 * Makefile (MAKE_VERSION): 20151220
82 Merge with NetBSD make, pick up
83 o suff.c: re-initialize suffNull when clearing suffixes.
84
852015-12-01 Simon J. Gerraty <sjg@bad.crufty.net>
86
87 * Makefile (MAKE_VERSION): 20151201
88 Merge with NetBSD make, pick up
89 o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
90 o meta.c: meta_oodate: use lstat(2) for checking link target
91 in case it is a symlink.
92 o var.c: avoid calling brk_string and Var_Export1 with empty
93 strings.
94
952015-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
96
97 * Makefile (MAKE_VERSION): 20151126
98 Merge with NetBSD make, pick up
99 o parse.c: ParseTrackInput don't access beyond
100 end of old value.
101
1022015-10-22 Simon J. Gerraty <sjg@bad.crufty.net>
103
104 * Makefile (MAKE_VERSION): 20151022
105
106 * Add support for BSD/OS which lacks inttypes.h
107 and really needs sys/param.h for sys/sysctl.h
108 also 'type' is not a shell builtin.
109
110 * var.c: eliminate uint32_t and need for inttypes.h
111
112 * main.c: PrintOnError flush stdout before run .ERROR
113
114 * parse.c: cope with _SC_PAGESIZE not being defined.
115
116
1172015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
118
119 * Makefile (MAKE_VERSION): 20151020
120 Merge with NetBSD make, pick up
121 o var.c: fix uninitialized var
122
1232015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
124
125 * var.c: the conditional expressions used with ':?' can be
126 expensive, if already discarding do not evaluate or expand
127 anything.
128
1292015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
130
131 * Makefile (MAKE_VERSION): 20151010
132 Merge with NetBSD make, pick up
133 o Add Boolean wantit flag to Var_Subst and Var_Parse
134 when FALSE we know we are discarding the result and can
135 skip operations like Cmd_Exec.
136
1372015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
138
139 * Makefile (MAKE_VERSION): 20151009
140 Merge with NetBSD make, pick up
141 o var.c: don't check for NULL before free()
142 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
143
1442015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
145
146 * Makefile (MAKE_VERSION): 20150910
147 Merge with NetBSD make, pick up
148 o main.c: with -w print Enter/Leaving messages for objdir too
149 if necessary.
150 o centralize shell metachar handling
151
152 * FILES: add metachar.[ch]
153
1542015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
155
156 * Makefile (MAKE_VERSION): 20150606
157 Merge with NetBSD make, pick up
158 o make.1: document .OBJDIR target
159
1602015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
161
162 * Makefile (MAKE_VERSION): 20150505
163 Merge with NetBSD make, pick up
164 o cond.c: be strict about lhs of comparison when evaluating .if
165 but less so when called from variable expansion.
166 o unit-tests/cond2.mk: test various error conditions
167
1682015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
169
170 * machine.sh (MACHINE): Add Bitrig
171 patch from joerg@netbsd.org
172
1732015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
174
175 * Makefile (MAKE_VERSION): 20150418
176 Merge with NetBSD make, pick up
177 o job.c: use memmove() rather than memcpy()
178
179 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
180 case, so skip it.
181
1822015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
183
184 * Makefile (MAKE_VERSION): 20150411
185 bump version - only mk/ changes.
186
1872015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
188
189 * Makefile (MAKE_VERSION): 20150410
190 Merge with NetBSD make, pick up
191 o document different handling of '-' in jobs mode vs compat
192 o fix jobs mode so that '-' only applies to whole job
193 when shell lacks hasErrCtl
194 o meta.c: use separate vars to track lcwd and latestdir (read)
195 per process
196
1972015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
198
199 * Makefile (MAKE_VERSION): 20150401
200 Merge with NetBSD make, pick up
201 o meta.c: close meta file in child
202
203 * Makefile: use BINDIR.bmake if set.
204 Same for MANDIR and SHAREDIR
205 Handy for testing release candidates
206 in various environments.
207
2082015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
209
210 * move initialization of savederr to block where it is used
211 to avoid spurious warning from gcc5
212
2132014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
214
215 * Makefile (MAKE_VERSION): 20141111
216 just a cooler number
217
2182014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
219
220 * Makefile (MAKE_VERSION): 20141105
221 Merge with NetBSD make, pick up
222 o revert major overhaul of suffix handling
223 and POSIX compliance - too much breakage
224 and impossible to make backwards compatible.
225 o we still have the new unit test structure which is ok.
226 o meta.c ensure "-- filemon" is at start of line.
227
2282014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
229
230 * configure.in: test that result of getconf PATH_MAX is numeric
231 and discard if not. Apparently needed for Hurd.
232
2332014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
234
235 * Makefile (MAKE_VERSION): 20140830
236 Merge with NetBSD make, pick up
237 o major overhaul of suffix handling
238 o improved POSIX compliance
239 o overhauled unit-tests
240
2412014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
242
243 * Makefile (MAKE_VERSION): 20140620
244 Merge with NetBSD make, pick up
245 o var.c return varNoError rather than var_Error for ::= modifiers.
246
2472014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
248
249 * Makefile (MAKE_VERSION): 20140522
250 Merge with NetBSD make, pick up
251 o var.c detect some parse errors.
252
2532014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
254
255 * Fix spelling errors - patch from Pedro Giffuni
256
2572014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
258
259 * Makefile (MAKE_VERSION): 20140214
260 Merge with NetBSD make, pick up
261 o .INCLUDEFROM*
262 o use Var_Value to get MAKEOBJDIR[PREFIX]
263 o reduced realloc'ign in brk_string.
264 * configure.in: add a check for compiler supporting __func__
265
2662014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
267
268 * boot-strap: ignore mksrc=none
269
2702014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
271
272 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
273
2742014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
275
276 * Makefile (MAKE_VERSION): 20140101
277 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
278 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
279 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
280 Hurd)
281 * configure.in: Add AC_PREREQ and check for
282 sysctl; patch from Andrew Shadura andrewsh at debian.org
283
2842013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
285
286 * Makefile (MAKE_VERSION): 20131010
287 * lose the const from arg to systcl to avoid problems on older BSDs.
288
2892013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
290
291 * Makefile (MAKE_VERSION): 20131001
292 Merge with NetBSD make, pick up
293 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
294 hw.machine_arch if necessary.
295 o meta.c: meta_oodate - need to look at src of Link and target
296 of Move as well.
297 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
298 provide __arraycount() if needed.
299
3002013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
301
302 * Makefile (MAKE_VERSION): 20130904
303 Merge with NetBSD make, pick up
304 o Add VAR_INTERNAL context, so that internal setting of
305 MAKEFILE does not override value set by makefiles.
306
3072013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
308
309 * Makefile (MAKE_VERSION): 20130902
310 Merge with NetBSD make, pick up
311 o CompatRunCommand: only apply shellErrFlag when errCheck is true
312
3132013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
314
315 * Makefile (MAKE_VERSION): 20130828
316 Merge with NetBSD make, pick up
317 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
318 o Call Job_SetPrefix() from Job_Init() so makefiles have
319 opportunity to set .MAKE.JOB.PREFIX
320
3212013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
322
323 * Makefile (MAKE_VERSION): 20130730
324 Merge with NetBSD make, pick up
325 o Allow suppression of --- job -- tokens by setting
326 .MAKE.JOB.PREFIX empty.
327
3282013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
329
330 * Makefile (MAKE_VERSION): 20130716
331 Merge with NetBSD make, pick up
332 o number of gmake compatibility tweaks
333 -w for gmake style entering/leaving messages
334 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
335 handle MAKEFLAGS containing only letters.
336 o when overriding a GLOBAL variable on the command line,
337 delete it from GLOBAL context so -V doesn't show the wrong
338 value.
339
3402013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
341
342 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
343
344 * Makefile (MAKE_VERSION): 20130706
345 Merge with NetBSD make, pick up
346 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
347 true so that CompatRunCommand() can use it, to ensure
348 consistent behavior with jobs mode.
349 o use MAKE_LEVEL_ENV to define the variable to propagate
350 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
351 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
352 paths to ignore.
353
3542013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
355
356 * Makefile (MAKE_VERSION): 20130604
357 Merge with NetBSD make, pick up
358 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
359 to avoid leaking descriptors.
360
3612013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
362
363 * Makefile (MAKE_VERSION): 20130528
364 Merge with NetBSD make, pick up
365 o var.c: cleanup some left-overs in VarHash()
366
3672013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
368
369 * Makefile (MAKE_VERSION): 20130520
370 generate manifest from component FILES rather than have to
371 update FILES when mk/FILES changes.
372
3732013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
374
375 * Makefile (MAKE_VERSION): 20130518
376 Merge with NetBSD make, pick up
377 o suff.c: don't skip all processsing for .PHONY targets
378 else wildcard srcs do not get expanded.
379 o var.c: expand name of variable to delete if necessary.
380
3812013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
382
383 * Makefile (MAKE_VERSION): 20130330
384 Merge with NetBSD make, pick up
385 o meta.c: refine the handling of .OODATE in commands.
386 Rather than suppress command comparison for the entire script
387 as though .NOMETA_CMP had been used, only suppress it for the
388 one command line.
389 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
390 suppress comparison of a command without otherwise affecting it.
391 o make.1: document that
392
3932013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
394
395 * Makefile (MAKE_VERSION): 20130321
396 yes, not quite right but its a cooler number.
397 Merge with NetBSD make, pick up
398 o parse.c: fix ParseGmakeExport to be portable
399 and add a unit-test.
400 * meta.c: call meta_init() before makefiles are read and if built
401 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
402 this let's makefiles test for support.
403 Call meta_mode_init() to process .MAKE.MODE.
404
4052013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
406
407 * Makefile (MAKE_VERSION): 20130305
408 Merge with NetBSD make, pick up
409 o run .STALE: target when a dependency from .depend is missing.
410 o job.c: add Job_RunTarget() for the above and .BEGIN
411
4122013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
413
414 * Makefile (MAKE_VERSION): 20130303
415 Merge with NetBSD make, pick up
416 o main.c: set .MAKE.OS to utsname.sysname
417 o job.c: more checks for read and poll errors
418 o var.c: lose VarChangeCase() saves 4% time
419
4202013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
421
422 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
423 want to use MAKEOBJDIR
424
4252013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
426
427 * Merge with NetBSD make, pick up
428 o make.1: more info on how shell commands are handled.
429 o job.c,main.c: detect write errors to job pipes.
430
4312013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
432
433 * Makefile (MAKE_VERSION): 20130123
434 Merge with NetBSD make, pick up
435 o meta.c: if script uses .OODATE and meta_oodate() decides
436 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
437 o var.c: in debug output indicate which variabale modifiers
438 apply to.
439 o remove Check_Cwd logic the makefiles have been fixed.
440
4412012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
442
443 * makefile.in: add a simple makefile for folk who insist on
444 ./configure; make; make install
445 it just runs boot-strap
446 * include mk/* to accommodate the above
447 * boot-strap: re-work to accommodate the above
448 mksrc defaults to $Mydir/mk
449 allow op={configure,build,install,clean,all}
450 add options to facilitate install
451 * Makefile.config.in: just the bits set by configure
452 * Makefile: bump version to 20121212
453 abandon Makefile.in (NetBSD Makefile)
454 leverage mk/* instead
455 * configure.in: ensure srcdir is absolute
456
4572012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
458
459 * Makefile.in (MAKE_VERSION): 20121111
460 fix generation of bmake.cat1
461
4622012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
463
464 * Makefile.in (MAKE_VERSION): 20121109
465 Merge with NetBSD make, pick up
466 o make.c: MakeBuildChild: return 0 so search continues if a
467 .ORDER dependency is detected.
468 o unit-tests/order: test the above
469
4702012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
471
472 * Makefile.in (MAKE_VERSION): 20121102
473 Merge with NetBSD make, pick up
474 o cond.c: allow cond_state[] to grow.
475 In meta mode with a very large tree, we can hit the limit
476 while processing dirdeps.
477
4782012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
479
480 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
481
4822012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
483
484 * Makefile.in (MAKE_VERSION): 20121010
485 o protect syntax that only bmake parses correctly.
486 o remove auto setting of FORCE_MACHINE, use configure's
487 --with-force-machine=whatever if that is desired.
488
4892012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
490
491 * Makefile.in: do not lose history from make.1 when generating bmake.1
492
4932012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
494
495 * Makefile.in (MAKE_VERSION): 20121007
496 Merge with NetBSD make, pick up
497 o compat.c: ignore empty commands - same as jobs mode.
498 o make.1: document meta chars that cause use of shell
499
5002012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
501
502 * Makefile.in (MAKE_VERSION): bump version to 20120911
503 * bsd.after-import.mk: include Makefile.inc early and allow it to
504 override PROG
505
5062012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
507
508 * Makefile.in (MAKE_VERSION): bump version to 20120831
509 Merge with NetBSD make, pick up
510 o cast sizeof() to int for comparison
511 o minor make.1 tweak
512
5132012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
514
515 * Makefile.in (MAKE_VERSION): bump version to 20120830
516 Merge with NetBSD make, pick up
517 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
518 o debug flag -dV causes -V to show raw value regardless.
519
5202012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
521
522 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
523 gets SRCTOP set.
524
5252012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
526
527 * Makefile.in (MAKE_VERSION): bump version to 20120704
528 Merge with NetBSD make, pick up
529 o Job_ParseShell should call Shell_Init if it has been
530 previously called.
531 * Makefile.in: set USE_META based on configure result.
532 also .PARSEDIR is safer indicator of bmake.
533
5342012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
535
536 * Makefile.in: bump version to 20120626
537 ensure CPPFLAGS is in CFLAGS
538 * meta.c: avoid nested externs
539 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
540
5412012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
542
543 * Makefile.in (MAKE_VERSION): bump version to 20120620
544 Merge with NetBSD make, pick up
545 o make_malloc.c: avoid including make_malloc.h again
546
547 * Makefile.in: avoid bmake only syntax or protect with
548 .if defined(.MAKE.LEVEL)
549 * bsd.after-import.mk: replace .-include with .sinclude
550 ensure? SRCTOP gets a value
551 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
552
5532012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
554
555 * Makefile.in (MAKE_VERSION): bump version to 20120612
556 Merge with NetBSD make, pick up
557 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
558 for greater portability.
559 o unit-tests/forloop: check that .for works as expected wrt
560 number of times and with "quoted strings".
561
5622012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
563
564 * Makefile.in (MAKE_VERSION): bump version to 20120606
565 Merge with NetBSD make, pick up
566 o compat.c: use kill(2) rather than raise(3).
567 * configure.in: look for sys/dev/filemon
568 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
569 and pass BOOTSTRAP_XTRAS to boot-strap.
570
5712012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
572
573 * Makefile.in (MAKE_VERSION): bump version to 20120604
574 Merge with NetBSD make, pick up
575 o util.c and var.c share same var for tracking if environ
576 has been reallocated.
577 o util.c provide getenv with setenv.
578 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
579 when the shell actively strips .MAKE.* from the environment.
580 We still refer to the variable always as .MAKE.LEVEL
581 * util.c fix bug in findenv() was finding prefix of name.
582 * compat.c: re-raising SIGINT etc after running .INTERRUPT
583 results in more reliable termination of all activity on many
584 platforms.
585
5862012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
587
588 * Makefile.in (MAKE_VERSION): bump version to 20120602
589 Merge with NetBSD make, pick up
590 o for.c: handle quoted items in .for list
591
5922012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
593
594 * Makefile.in (MAKE_VERSION): bump version to 20120530
595 Merge with NetBSD make, pick up
596 o compat.c: ignore empty command.
597
5982012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
599
600 * Makefile.in (MAKE_VERSION): bump version to 20120524
601 * FILES: add bsd.after-import.mk:
602 A simple means of integrating bmake into a BSD build system.
603
6042012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
605
606 * Makefile.in (MAKE_VERSION): bump version to 20120520
607 Merge with NetBSD make, pick up
608 o increased limit for nested conditionals.
609
6102012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
611
612 * Makefile.in (MAKE_VERSION): bump version to 20120518
613 Merge with NetBSD make, pick up
614 o use _exit(2) in signal hanlder
615 o Don't use the [dir] cache when building nodes that might have
616 changed since the last exec.
617 o Avoid nested extern declaration warnings.
618
6192012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
620
621 * meta.c (fgetLine): avoid %z - not portable.
622 * parse.c: Since we moved include of sys/mman.h
623 and def's of MAP_COPY etc. we got dups from a merge.
624
6252012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
626
627 * Makefile.in (MAKE_VERSION): bump version to 20120420
628 Merge with NetBSD make, pick up
629 o restore duplicate supression in .MAKE.MAKEFILES
630 runtime saving can be significant.
631 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
632 consumption up to 20%.
633
6342012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
635
636 * Makefile.in (MAKE_VERSION): bump version to 20120420
637 Merge with NetBSD make, pick up
638 o remove duplicate supression in .MAKE.MAKEFILES
639 o improved dir cache behavior
640 o gmake'ish export command
641
6422012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
643
644 * Makefile.in (MAKE_VERSION): bump version to 20120325
645 Merge with NetBSD make, pick up
646 o fix parsing of :[#] in conditionals.
647
6482012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
649
650 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
651 since some systems cannot cope with .Nx <version>
652
6532011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
654
655 * Makefile.in (MAKE_VERSION): bump version to 20111111
656 Merge with NetBSD make, pick up
657 o debug output for .PARSEDIR and .PARSEFILE
658
6592011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
660
661 * Makefile.in (MAKE_VERSION): bump version to 20111010
662
6632011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
664
665 * boot-strap: check for an expected file in the dirs we look for.
666 * make-bootstrap.sh: pass on LDSTATIC
667
6682011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
669
670 * Makefile.in (MAKE_VERSION): bump version to 20111001
671 Merge with NetBSD make, pick up
672 o ensure .PREFIX is set for .PHONY
673 and .TARGET set for .PHONY run via .END
674 o __dead used consistently
675
6762011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
677
678 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
679
6802011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
681
682 * Makefile.in (MAKE_VERSION): bump version to 20110905
683 Merge with NetBSD make, pick up
684 o meta_oodate: ignore makeDependfile
685
6862011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
687
688 * Makefile.in (MAKE_VERSION): bump version to 20110828
689 Merge with NetBSD make, pick up
690 o silent=yes in .MAKE.MODE causes meta mode to mark targets
691 as SILENT if a .meta file is created
692
6932011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
694
695 * Makefile.in (MAKE_VERSION): bump version to 20110818
696 Merge with NetBSD make, pick up
697 o in meta mode, if target flagged .META a missing .meta file
698 means target is out-of-date
699 o fixes for gcc 4.5 warnings
700 o simplify job printing code
701
7022011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
703
704 * Makefile.in (MAKE_VERSION): bump version to 20110808
705 Merge with NetBSD make, pick up
706 o do not touch OP_SPECIAL targets when doing make -t
707
7082011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
709
710 * Makefile.in (MAKE_VERSION): bump version to 20110622
711 Merge with NetBSD make, pick up
712 o meta_oodate detect corrupted .meta file and declare oodate.
713 * configure.in: add check for setsid
714
7152011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
716
717 * Merge with NetBSD make, pick up
718 o unit-tests/modts now works on MirBSD
719
7202011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
721
722 * Makefile.in (MAKE_VERSION): bump version to 20110606
723 Merge with NetBSD make, pick up
724 o ApplyModifiers: when we parse a variable which is not
725 the entire modifier string, or not followed by ':', do not
726 consider it as containing modifiers.
727 o loadfile: ensure newline at end of mapped file.
728
7292011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
730
731 * Makefile.in (MAKE_VERSION): bump version to 20110505
732 Merge with NetBSD make, pick up
733 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
734 of make's control. In meta mode, any generated file within
735 said bailiwick, which is found to be missing, causes current
736 target to be out-of-date.
737
7382011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
739
740 * Makefile.in (MAKE_VERSION): bump version to 20110411
741 Merge with NetBSD make, pick up
742 o when long modifiers fail to match, check sysV style.
743 - add a test case
744
7452011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
746
747 * Makefile.in (MAKE_VERSION): bump version to 20110410
748 Merge with NetBSD make, pick up
749 o :hash - cheap 32bit hash of value
750 o :localtime, :gmtime - use value as format string for strftime.
751
7522011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
753
754 * Makefile.in (MAKE_VERSION): bump version to 20110330
755 mostly because its a cooler version.
756 Merge with NetBSD make, pick up
757 o NetBSD tags for meta.[ch]
758 o job.c call meta_job_finish() after meta_job_error().
759 o meta_job_error() should call meta_job_finish() to ensure
760 .meta file is closed, and safe to copy - if .ERROR target wants.
761 meta_job_finish() is safe to call repeatedly.
762
7632011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
764
765 * unit-tests/modts: use printf if it is a builtin,
766 to save us from MirBSD
767
768 * Makefile.in (MAKE_VERSION): bump version to 20110329
769 Merge with NetBSD make, pick up
770 o fix for use after free() in CondDoExists().
771 o meta_oodate() report extra commands and return earlier.
772
7732011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
774
775 * Makefile.in (MAKE_VERSION): bump version to 20110327
776 Merge with NetBSD make, pick up
777 o meta.c, if .MAKE.MODE contains curdirOk=yes
778 allow creating .meta files in .CURDIR
779 * boot-strap (TOOL_DIFF): aparently at least on linux distro
780 formats the output of 'type' differently - so eat any "()"
781
7822011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
783
784 * Makefile.in (MAKE_VERSION): bump version to 20110306
785 Merge with NetBSD make, pick up
786 o meta.c, only do getcwd() once
787
7882011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
789
790 * Makefile.in (MAKE_VERSION): bump version to 20110305
791 Merge with NetBSD make, pick up
792 o correct sysV substitution handling of empty lhs and variable
793 o correct exists() check for dir with trailing /
794 o correct handling of modifiers for non-existant variables
795 during evaluation of conditionals.
796 o ensure MAP_FILE is defined.
797 o meta.c use curdir[] now exported by main.c
798
7992011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
800
801 * Makefile.in (MAKE_VERSION): bump version to 20110225
802 Merge with NetBSD make, pick up
803 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
804 makefiles have been read.
805 o fix example of :? modifier in man page.
806
8072011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
808
809 * Makefile.in (MAKE_VERSION): bump version to 20110214
810 Merge with NetBSD make, pick up
811 o meta.c handle realpath() failing when generating meta file
812 name.
813
814 * sigcompat.c: convert to ansi so we can use higher warning levels.
815
816
8172011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
818
819 * Makefile.in (MAKE_VERSION): bump version to 20110207
820 Merge with NetBSD make, pick up
821 o fix for bug in meta mode.
822
8232011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
824
825 * parse.c: SunOS 5.8 at least does not have MAP_FILE
826
8272011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
828
829 * Makefile.in (MAKE_VERSION): bump version to 20110101
830 Merge with NetBSD make, pick up
831 o use mmap(2) if available, for reading makefiles
832
8332010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
834
835 * Makefile.in (MAKE_VERSION): bump version to 20101215
836 Merge with NetBSD make, pick up
837 o ensure meta_job_error() does not report a previous .meta file
838 as being culprit.
839
8402010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
841
842 * Makefile.in (MAKE_VERSION): bump version to 20101210
843 Merge with NetBSD make, pick up
844 o meta_oodate: track cwd per process, and only consider target
845 out-of-date if missing file is outside make's CWD.
846 Ignore files in /tmp/ etc.
847 o to ensure unit-tests results match, need to control LC_ALL
848 as well as LANG.
849 o fix for parsing bug in var.c
850
8512010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
852
853 * Makefile.in (MAKE_VERSION): bump version to 20101126
854 Merge with NetBSD make, pick up
855 o if stale dependency is an IMPSRC, search via .PATH
856 o meta_oodate: if a referenced file is missing, target is
857 out-of-date.
858 o meta_oodate: if a target uses .OODATE in its commands,
859 it (.OODATE) needs to be recomputed.
860 o keep a pointer to youngest child node, rather than just its
861 mtime.
862
8632010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
864
865 * Makefile.in (MAKE_VERSION): bump version to 20101101
866
8672010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
868
869 * machine.sh: like os.sh,
870 allow for uname -p producing useless drivel
871
8722010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
873
874 * boot-strap: document configure knobs for meta and filemon.
875
876 * Makefile.in (MAKE_VERSION): bump version to 20100911
877 Merge with NetBSD make, pick up
878 o meta.c - meta mode
879
880 * make-bootstrap.sh.in: handle meta.c
881 * configure.in: add knobs for use_meta and filemon_h
882 also, look for dirname, str[e]sep and strlcpy
883 * util.c: add simple err[x] and warn[x]
884
8852010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
886
887 * boot-strap (TOOL_DIFF): set this to ensure tests use
888 the same version of diff that configure tested
889
890 * Makefile.in (MAKE_VERSION): bump version to 20100808
891 Merge with NetBSD make, pick up
892 o in jobs mode, when we discover we cannot make something,
893 call PrintOnError before exit.
894
8952010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
896
897 * Makefile.in (MAKE_VERSION): bump version to 20100806
898 Merge with NetBSD make, pick up
899 o formatting fixes for ignored errors
900 o ensure jobs are cleaned up regardless of where wait() was called.
901
9022010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
903
904 * Makefile.in (MAKE_VERSION): bump version to 20100618
905 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
906
9072010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
908
909 * Makefile.in (MAKE_VERSION): bump version to 20100616
910 Merge with NetBSD make, pick up
911 o man page update
912 o call PrintOnError from JobFinish when we detect an error we
913 are not ignoring.
914
9152010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
916
917 * Makefile.in (MAKE_VERSION): bump version to 20100606
918 Merge with NetBSD make, pick up
919 o man page update
920
9212010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
922
923 * Makefile.in (MAKE_VERSION): bump version to 20100605
924 Merge with NetBSD make, pick up
925 o use bmake_signal() which is a wrapper around sigaction()
926 in place of signal()
927 o add .export-env to allow exporting variables to environment
928 without tracking (so no re-export when the internal value is
929 changed).
930
9312010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
932
933 * Makefile.in (MAKE_VERSION): bump version to 20100524
934 Merge with NetBSD make, pick up
935 o fix for .info et al being greedy.
936
9372010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
938
939 * Makefile.in (MAKE_VERSION): bump version to 20100520
940 Merge with NetBSD make, pick up
941 o back to using realpath on argv[0]
942 but only if contains '/' and does not start with '/'.
943
9442010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
945
946 * boot-strap: use absolute path for bmake when running tests.
947
948 * Makefile.in (MAKE_VERSION): bump version to 20100510
949 Merge with NetBSD make, pick up
950 o revert use of realpath on argv[0]
951 too many corner cases.
952 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
953
9542010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
955
956 * Makefile.in (MAKE_VERSION): bump version to 20100505
957 Merge with NetBSD make, pick up
958 o fix for missed SIGCHLD when compiled with SunPRO
959 actually for bmake, defining FORCE_POSIX_SIGNALS would have
960 done the job.
961
9622010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
963
964 * Makefile.in (MAKE_VERSION): bump version to 20100430
965 Merge with NetBSD make, pick up
966 o fflush stdout before writing to stdout
967
9682010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
969
970 * Makefile.in (MAKE_VERSION): bump version to 20100423
971 Merge with NetBSD make, pick up
972 o updated unit tests for Haiku (this time for sure).
973 * boot-strap: based on patch from joerg
974 honor --with-default-sys-path better.
975 * boot-strap: remove mention of --with-prefix-sys-path
976
9772010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
978
979 * Makefile.in (MAKE_VERSION): bump version to 20100422
980 * Merge with NetBSD make, pick up
981 o fix for vfork() on Darwin.
982 o fix for bogus $TMPDIR.
983 o set .MAKE.MODE=compat for -B
984 o set .MAKE.JOBS=max_jobs for -j max_jobs
985 o allow unit-tests to run without any *.mk
986 o unit-tests/modmisc be more conservative in dirs presumed to exist.
987 * boot-strap: ignore /usr/share/mk except on NetBSD.
988 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
989 ensure sort(1) behaves as expected.
990
9912010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
992
993 * boot-strap: add FindHereOrAbove so we can use -m .../mk
994
9952010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
996
997 * Makefile.in (MAKE_VERSION): bump version to 20100420
998 * Merge with NetBSD make, pick up
999 o fix for variable realpath() behavior.
1000 we have to stat(2) the result to be sure.
1001 o fix for .export (all) when nested vars use :sh
1002
10032010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
1004
1005 * Makefile.in (MAKE_VERSION): bump version to 20100414
1006 * Merge with NetBSD make, pick up
1007 o use realpath to resolve argv[0] (for .MAKE) if needed.
1008 o add realpath from libc.
1009 o add :tA to resolve variable via realpath(3) if possible.
1010
10112010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
1012
1013 * Makefile.in (MAKE_VERSION): bump version to 20100408
1014 * Merge with NetBSD make, pick up
1015 o unit tests for .ERROR, .error
1016 o fix for .ERROR to ensure it cannot be default target.
1017
10182010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
1019
1020 * Makefile.in (MAKE_VERSION): bump version to 20100406
1021 * Merge with NetBSD make, pick up
1022 o fix for compat mode "Error code" going to debug_file.
1023 o fix for .ALLSRC being populated twice.
1024 o support for .info, .warning and .error directives
1025 o .MAKE.MODE to control make's operational mode
1026 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1027 name(s).
1028 o .MAKE.DEPENDFILE to control the name of the depend file
1029 o .ERROR target - run on failure.
1030
10312010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
1032
1033 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1034
1035 * os.sh,arch.c: patch for Haiku from joerg at netbsd
1036
10372010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
1038
1039 * Makefile.in (MAKE_VERSION): bump version to 20100222
1040 * Merge with NetBSD make, pick up
1041 o better error msg for .for with mutiple inter vars
1042
1043 * boot-strap:
1044 o use make-bootstrap.sh from joerg at netbsd
1045 to avoid the need for a native make when bootstrapping.
1046 o add "" everywhere ;-)
1047 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1048 otherwise the pre-formated version.
1049
10502010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1051
1052 * Makefile.in (MAKE_VERSION): bump version to 20100102
1053 * Merge with NetBSD make, pick up:
1054 o fix for -m .../
1055
10562009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
1057
1058 * Makefile.in (MAKE_VERSION): bump version to 20091118
1059 * Merge with NetBSD make, pick up:
1060 o .unexport
1061 o report lines that start with '.' and should have ':'
1062 (catch typo's of .el*if).
1063
10642009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1065
1066 * configure.in: Ensure that srcdir and mksrc are absolute paths.
1067
10682009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1069
1070 * Makefile.in (MAKE_VERSION): fix version to 20091007
1071
10722009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
1073
1074 * Makefile.in (MAKE_VERSION): bump version to 200910007
1075 * Merge with NetBSD make, pick up:
1076 o fix for parsing of :S;...;...; applied to .for loop iterator
1077 appearing in a dependency line.
1078
10792009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1080
1081 * Makefile.in (MAKE_VERSION): bump version to 20090909
1082 * Merge with NetBSD make, pick up:
1083 o fix for -C, .CURDIR and .OBJDIR
1084 * boot-strap:
1085 o allow share_dir to be set independent of prefix.
1086 o select default share_dir better when prefix ends in $HOST_TARGET
1087 o if FORCE_BSD_MK etc were set, include them in the suggested
1088 install-mk command.
1089
10902009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1091
1092 * Makefile.in (MAKE_VERSION): bump version to 20090908
1093 * Merge with NetBSD make, pick up:
1094 o .MAKE.LEVEL for recursion tracking
1095 o fix for :M scanning \:
1096
10972009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1098
1099 * configure.in: Don't -D__EXTENSIONS__ if
1100 AC_USE_SYSTEM_EXTENSIONS says "no".
1101
11022009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
1103
1104 * Makefile.in (MAKE_VERSION): bump version to 20090826
1105 Simplify MAKE_VERSION to just the bare date.
1106 * Merge with NetBSD make, pick up:
1107 o -C directory support.
1108 o support for SIGINFO
1109 o use $TMPDIR for temp files.
1110 o child of vfork should be careful about modifying parent's state.
1111
1112
11132009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1114
1115 * Appy some patches for MiNT from David Brownlee
1116
11172009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
1118
1119 * Makefile.in (BMAKE_VERSION): bump version to 20090222
1120 * Merge with NetBSD make, pick up:
1121 o Possible null pointer de-ref in Var_Set.
1122
11232009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
1124
1125 * Makefile.in (BMAKE_VERSION): bump version to 20090204
1126 * Merge with NetBSD make, pick up:
1127 o bmake_malloc et al moved to their own .c
1128 o Count both () and {} when looking for the end of a :M pattern
1129 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1130 o strlist.c - functions for processing extendable arrays of pointers to strings.
1131 o ClientData replaced with void *, so const void * can be used.
1132 o New debug flag C for DEBUG_CWD
1133
11342008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1135
1136 * Makefile.in (BMAKE_VERSION): bump version to 20081111
1137 Apply patch from Joerg Sonnenberge to
1138 configure.in:
1139 o remove some redundant checks
1140 o check for emlloc etc only in libutil and require the whole family.
1141 util.c:
1142 o remove [v]asprintf which is no longer used.
1143
11442008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1145
1146 * Makefile.in (BMAKE_VERSION): bump version to 20081101
1147 * Merge with NetBSD make, pick up:
1148 o util.c: avoid use of putenv() - christos
1149
11502008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1151
1152 * Makefile.in (BMAKE_VERSION): bump version to 20081030
1153 pick up man page tweaks.
1154
11552008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
1156
1157 * Makefile.in: move processing of LIBOBJS to after is definition!
1158 thus we'll have getenv.c in SRCS only if needed.
1159
1160 * make.1: add examples of how to use :?
1161
1162 * Makefile.in (BMAKE_VERSION): bump version to 20081029
1163 * Merge with NetBSD make, pick up:
1164 o fix for .END processing with -j
1165 o segfault from Parse_Error when no makefile is open
1166 o handle numeric expressions in any variable expansion
1167 o debug output now defaults to stderr, -dF to change it - apb
1168 o make now uses bmake_malloc etc so that it can build natively
1169 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1170
11712008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
1172
1173 * Makefile.in (BMAKE_VERSION): bump version to 20080808
1174 * Merge with NetBSD make, pick up:
1175 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
1176 long lines in Makefiles
1177 o optimizations for VarQuote by joerg
1178 o fix for PR/38756: dominik: make dumps core on invalid makefile
1179
11802008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
1181
1182 * Makefile.in (BMAKE_VERSION): bump version to 20080515
1183 * Merge with NetBSD make, pick up:
1184 o fix skip setting vars in VAR_GLOBAL context, to handle
1185 cases where VAR_CMD is used for other than command line vars.
1186
11872008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
1188
1189 * boot-strap (make_version): we may need to look in
1190 $prefix/share/mk for sys.mk
1191
1192 * Makefile.in (BMAKE_VERSION): bump version to 20080514
1193 * Merge with NetBSD make, pick up:
1194 o skip setting vars in VAR_GLOBAL context, when already set in
1195 VAR_CMD which takes precedence.
1196
11972008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
1198
1199 * Makefile.in (BMAKE_VERSION): bump version to 20080330
1200 * Merge with NetBSD make, pick up:
1201 o fix for ?= when LHS contains variable reference.
1202
12032008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1204
1205 * merge some patches from NetBSD pkgsrc.
1206
1207 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
1208 the MAKSYSPATH used during bootstrap.
1209
1210 * Makefile.in (BMAKE_VERSION): bump version to 20080215
1211 * Merge with NetBSD make, pick up:
1212 o warn if non-space chars follow 'empty' in a conditional.
1213
12142008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1215
1216 * Makefile.in (BMAKE_VERSION): bump version to 20080118
1217 * Merge with NetBSD make, pick up:
1218 o consider dependencies read from .depend as optional - dsl
1219 o remember when buffer for reading makefile grows - dsl
1220 o add -dl (aka LOUD) - David O'Brien
1221
12222007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
1223
1224 * Makefile.in (BMAKE_VERSION): bump version to 20071022
1225 * Merge with NetBSD make, pick up:
1226 o Allow .PATH<suffix> to be used for .include ""
1227
1228 * boot-strap: source default settings from .bmake-boot-strap.rc
1229
12302007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
1231
1232 * Makefile.in: fix maninstall on various systems
1233 provided that our man.mk is used.
1234 For non-BSD systems we install the preformatted page
1235 into $MANDIR/cat1
1236
12372007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
1238
1239 * boot-strap: make bmake.1 too, so maninstall works.
1240
12412007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
1242
1243 * Makefile.in (BMAKE_VERSION): bump version to 20071014
1244 * Merge with NetBSD make, pick up:
1245 o revamped handling of defshell - configure no longer needs to
1246 know the content of the shells array - apb
1247 o stop Var_Subst modifying its input - apb
1248 o avoid calling ParseTrackInput too often - dsl
1249
12502007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
1251
1252 * Makefile.in (BMAKE_VERSION): bump version to 20071011
1253 * Merge with NetBSD make, pick up:
1254 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
1255
1256 * sigcompat.c: some tweaks for HP-UX 11.x based on
1257 patch from Tobias Nygren
1258
1259 * configure.in: update handling of --with-defshell to match
1260 new make behavior. --with-defshell=/usr/xpg4/bin/sh
1261 will now do what one might hope - provided the chosen shell
1262 behaves enough like sh.
1263
12642007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
1265
1266 * Makefile.in (BMAKE_VERSION): bump to 20071008
1267 * Merge with NetBSD make, pick up:
1268 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
1269 o .export/.MAKE.EXPORTED - export of variables - sjg
1270 o .MAKE.MAKEFILES - track all makefiles read - sjg
1271 o performance improvements - dsl
1272 o revamp parallel job scheduling - dsl
1273
12742006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1275
1276 * Makefile.in (BMAKE_VERSION): bump to 20060728
1277 * Merge with NetBSD make, pick up:
1278 o extra debug info during variable and cond processing - sjg
1279 o shell definition now covers newline - rillig
1280 o minor mem leak in PrintOnError - sjg
1281
12822006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1283
1284 * Makefile.in (BMAKE_VERSION): bump to 20060511
1285 * Merge with NetBSD make, pick up:
1286 o more memory leaks - coverity
1287 o possible overflow in ArchFindMember - coverity
1288 o extract variable modifier code out of Var_Parse()
1289 so it can be called recursively - sjg
1290 o unit-tests/moderrs - sjg
1291
12922006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
1293
1294 * Makefile.in (BMAKE_VERSION): bump to 20060412
1295 * Merge with NetBSD make, pick up:
1296 o fixes for some memory leaks - coverity
1297 o only read first sys.mk etc when searching sysIncPath - sjg
1298
1299 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
1300 setting ${MAKEFILE} - OBATA Akio
1301
13022006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
1303
1304 * Makefile.in (BMAKE_VERSION): bump to 20060318
1305 * Merge with NetBSD make, pick up:
1306 o cleanup of job.c to remove remote handling, distcc is more
1307 useful and this code was likely bit-rotting - dsl
1308 o fix for :P modifier - sjg
1309 * boot-strap: set default prefix to something reasonable
1310 (for me anyway).
1311
13122006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
1313
1314 * Makefile.in (BMAKE_VERSION): bump to 20060301
1315 * Merge with NetBSD make, pick up:
1316 o make .WAIT apply recursively, document and test case - apb
1317 o allow variable modifiers in a variable appear anywhere in
1318 modifier list, document and test case - sjg
1319
13202006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
1321
1322 * Makefile.in (BMAKE_VERSION): bump to 20060222
1323 * Merge with NetBSD make, pick up:
1324 o improved job token handling - dsl
1325 o SIG_DFL the correct signal before exec - dsl
1326 o more debug info during parsing - dsl
1327 o allow variable modifiers to be specified via variable - sjg
1328 * boot-strap: explain why we died if no mksrc
1329
13302005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
1331
1332 * Makefile.in (BMAKE_VERSION): bump to 20051105
1333 * configure.in: always set default_sys_path
1334 default is ${prefix}/share/mk
1335 - remove prefix_sys_path, anyone wanting more than above
1336 needs to set it manually.
1337
13382005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1339
1340 * boot-strap: make this a bit easier for pkgsrc folk.
1341 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
1342 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
1343
13442005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
1345
1346 * Makefile.in (BMAKE_VERSION): bump to 20051102
1347 * job.c (JobFinish): fix likely ancient merge lossage
1348 fix from Todd Vierling.
1349 * boot-strap (srcdir): allow setting mksrc=none
1350
13512005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
1352
1353 * Makefile.in (BMAKE_VERSION): bump to 20051031
1354 * ranlib.h: skip on OSF too.
1355 (NetBSD PR 31864)
1356
13572005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
1358
1359 * Makefile.in (BMAKE_VERSION): bump to 20051002
1360 fix a silly typo
1361
13622005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1363
1364 * Makefile.in (BMAKE_VERSION): bump to 20051001
1365 support for UnixWare and some other systems,
1366 based on patches from pkgsrc/bootstrap
1367
13682005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1369
1370 * Makefile.in (BMAKE_VERSION): bump to 20050901
1371 * Merge with NetBSD make, pick up:
1372 o possible parse error causing us to wander off.
1373
13742005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
1375
1376 * Makefile.in (BMAKE_VERSION): bump to 20050606
1377 * Merge with NetBSD make, pick up:
1378 o :0x modifier for randomizing a list
1379 o fixes for a number of -Wuninitialized issues.
1380
13812005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
1382
1383 * Makefile.in (BMAKE_VERSION): bump to 20050530
1384 * Merge with NetBSD make, pick up:
1385 o Handle dependencies for .BEGIN, .END and .INTERRUPT
1386
1387 * README: was seriously out of date.
1388
13892005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
1390
1391 * Important to use .MAKE rather than MAKE.
1392
13932005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
1394
1395 * Makefile.in (BMAKE_VERSION): bump to 20050315
1396 * Merge with NetBSD make, pick up:
1397 o don't mistake .elsefoo for .else
1398 o use suffix-specific search path correctly
1399 o bunch of style nits
1400
14012004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
1402
1403 * boot-strap:
1404 o ensure that args to --src and --with-mksrc
1405 are resolved before giving them to configure.
1406 o add -o "objdir" so that builder can control it,
1407 default is $OS as determined by os.sh
1408 o add -q to suppress all the install instructions.
1409
14102004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
1411
1412 * Remove __IDSTRING()
1413
1414 * Makefile.in (BMAKE_VERSION): bump to 20040508
1415 * Merge with NetBSD make, pick up:
1416 o posix fixes
1417 - remove '-e' from compat mode
1418 - add support for '+' command-line prefix.
1419 o fix for handling '--' on command-line.
1420 o fix include in lst.lib/lstInt.h to simplify '-I's
1421 o we also picked up replacement of MAKE_BOOTSTRAP
1422 with !MAKE_NATIVE which is a noop, but possibly confusing.
1423
14242004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
1425
1426 * Makefile.in (BMAKE_VERSION): bump to 20040414
1427 * Merge with NetBSD make, pick up:
1428 o allow quoted strings on lhs of conditionals
1429 o issue warning when extra .else is seen
1430 o print line numer when errors encountered during parsing from
1431 string.
1432
14332004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
1434
1435 * Makefile.in (BMAKE_VERSION): bump to 20040220
1436 * Merge with NetBSD make, pick up:
1437 o fix for old :M parsing bug.
1438 o re-jigged unit-tests
1439
14402004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
1441
1442 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
1443 so that './bmake -f Makefile test' works.
1444
14452004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
1446
1447 * Makefile.in: (BMAKE_VERSION): bump to 20040214
1448 * Merge with NetBSD make, pick up:
1449 o search upwards for *.mk
1450 o fix for double free of var substitution buffers
1451 o use of getopt replaced with custom code, since the usage
1452 (re-scanning) isn't posix compatible.
1453
14542004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
1455
1456 * arch.c: don't include ranlib.h on ELF systems
1457 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
1458
14592004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
1460
1461 * Makefile.in (BMAKE_VERSION): bump to 20040118
1462
1463 * boot-strap (while): export vars we assign to on cmdline
1464 * unit-test/Makefile.in: ternary is .PHONY
1465
14662004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
1467
1468 * Makefile.in (BMAKE_VERSION): bump version to 20040108
1469 * Merge with NetBSD make, pick up:
1470 o fix for ternary modifier
1471
14722004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
1473
1474 * Makefile.in (BMAKE_VERSION): bump version to 20040105
1475 * Merge with NetBSD make, pick up:
1476 o fix for cond.c to handle compound expressions better
1477 o variable expansion within sysV style replacements
1478
14792003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
1480
1481 * Make portable snprintf safer - output to /dev/null first to
1482 check space needed.
1483
1484 * Makefile.in (BMAKE_VERSION): bump version to 20031222
1485 * Merge with NetBSD make, pick up:
1486 o -dg3 to show input graph when things go wrong.
1487 o explicitly look for makefiles in objdir if not found in curdir so
1488 that errors in .depend etc will be reported accurarely.
1489 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
1490 instead as it more accurately reflects the expected behavior and
1491 is more consistently implemented.
1492 o avoid use of asprintf.
1493
14942003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
1495
1496 * util.c: Add asprintf and vasprintf.
1497
1498 * Makefile.in (BMAKE_VERSION): bump version to 20030928
1499 * Merge with NetBSD make, pick up:
1500 :[] modifier - allows picking words from a variable.
1501 :tW modifier - allows treating value as one big word.
1502 W flag for :C and :S - allows treating value as one big word.
1503
15042003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
1505
1506 * Merge with NetBSD make
1507 pick up -de flag to enable printing failed command.
1508 don't skip 1st two dir entries (normally . and ..) since
1509 coda does not have them.
1510
15112003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1512
1513 * Makefile.in (BMAKE_VERSION): bump version to 20030909
1514 * Merge with NetBSD make, pick up:
1515 - changes for -V '${VAR}' to print fully expanded value
1516 cf. -V VAR
1517 - CompatRunCommand now prints the command that failed.
1518 - several files got updated 3 clause Berkeley license.
1519
15202003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
1521
1522 * boot-strap: Allow setting configure args on command line.
1523
15242003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
1525
1526 * configure.in: add --with-defshell to allow sh or ksh
1527 to be selected as default shell.
1528
1529 * Makefile.in: bump version to 20030731
1530
1531 * Merge with NetBSD make
1532 Pick up .SHELL spec for ksh and associate man page changes.
1533 Also compat mode now uses the same shell specs.
1534
15352003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
1536
1537 * var.c (Var_Parse): ensure delim is initialized.
1538
1539 * unit-tests/Makefile.in: use single quotes to avoid problems from
1540 some shells.
1541
1542 * makefile.boot.in:
1543 Run the unit-tests as part of the bootstrap procedure.
1544
15452003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
1546
1547 * unit-tests/Makefile.in: always force complaints from
1548 ${TEST_MAKE} to be from 'make'.
1549
1550 * configure.in: add check for 'diff -u'
1551 also fix some old autoconf'isms
1552
1553 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
1554 if using GCC add -Wno-cast-qual to CFLAGS for var.o
1555
1556 * Merge with NetBSD make
1557 Pick up fix for :ts parsing error in some cases.
1558 Pick unit-tests.
1559
15602003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
1561
1562 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
1563
1564 * var.c (Var_Parse): fix bug in :ts modifier, after const
1565 correctness fixes, must pass nstr to VarModify.
1566
15672003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
1568
1569 * Makefile.in: BMAKE_VERSION switch to a date based version.
1570 We'll generally use the date of last import from NetBSD.
1571
1572 * Merge with NetBSD make
1573 Pick up fixes for const-correctness, now passes WARNS=3 on
1574 NetBSD.
1575 Pick up :ts modifier, allows controlling the separator used
1576 between words in variable expansion.
1577
15782003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
1579
1580 * FILES: include boot-strap and os.sh
1581
1582 * Makefile.in: only set WARNS if we are NetBSD, the effect on
1583 FreeBSD is known to be bad.
1584
1585 * makefile.boot.in (bootstrap): make this the default target.
1586
1587 * Makefile.in: bump version to 3.1.19
1588
1589 * machine.sh: avoid A-Z with tr as it is bound to lose.
1590
15912003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
1592
1593 * Merge with NetBSD make
1594 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
1595 Plus some doc fixes.
1596
15972003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
1598
1599 * Merge with NetBSD make
1600 Pick up fix for PR/1523 - don't count a library as built, if there
1601 is no way to build it
1602
1603 * Bump version to 3.1.18
1604
16052003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
1606
1607 * Merge with NetBSD make
1608 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
1609 appears in src list.
1610
16112003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
1612
1613 * Merge with NetBSD make (mmm 10th anniversary!)
1614 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
1615 pick up -X which tells us to not export VAR=val via setenv if
1616 we are already doing so via MAKEFLAGS. This saves valuable env
1617 space on systems like Darwin.
1618 set MAKE_VERSION to 3.1.17
1619
1620 * parse.c: pix up fix for suffix rules
1621
16222003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
1623
1624 * Merge with NetBSD make.
1625 pick up fix for propagating -B via MAKEFLAGS.
1626 set MAKE_VERSION to 3.1.16
1627
1628 * Apply some patches from pkgsrc-bootstrap/bmake
1629 Originally by Grant Beattie <grant@netbsd.org>
1630 I may have missed some - since they are based on bmake-3.1.12
1631
16322002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
1633
1634 * makefile.boot.in (bmake): update install targets for those that
1635 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
1636 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
1637
1638 * bmake.cat1: update the pre-formatted man page!
1639
16402002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
1641
1642 * Merge with NetBSD make.
1643 pick up fix for premature free of pointer used in call
1644 to Dir_InitCur().
1645 set MAKE_VERSION to 3.1.15
1646
16472002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
1648
1649 * configure.in: determine suitable value for MKSRC.
1650 override using --with-mksrc=PATH.
1651
1652 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
1653 configs(8) will use 'sun4' as an alias for 'sparc'.
1654
16552002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
1656
1657 * Merge with NetBSD make.
1658 pick up ${.PATH}
1659 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
1660 set MAKE_VERSION to 3.1.14
1661 add configure checks for killpg and sys/socket.h
1662
16632002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
1664
1665 * tag bmake-3-1-13
1666
1667 * makefile.boot.in (bmake): use install-mk
1668 Also setup ./mk before trying to invoke bmake.boot incase we
1669 needed install-mk to create a sys.mk for us.
1670
1671 * configure.in: If we need to add -I${srcdir}/missing, make it an
1672 absolute path so that it works for lst.lib too.
1673
1674 * make.h: always include sys/cdefs.h since we provide one if the
1675 host does not.
1676
1677 * Makefile.in (install-mk):
1678 use MKSRC/install-mk which will do the right thing.
1679 use uname -p for ARCH if possible.
1680 since install-mk will setup links bsd.prog.mk -> prog.mk if
1681 needed, just .include bsd.prog.mk
1682
1683 * Merge with NetBSD make (NetBSD-1.6)
1684 Code is ansi-C only now.
1685 Bug in handling of dotLast is fixed.
1686 Can now assign .OBJDIR and make will reset its notions of life.
1687 New modifiers :tu :tl for toUpper and toLower.
1688
1689Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1690
1691 * Merge with NetBSD make
1692 pick up fix for .END failure in compat mode.
1693 pick up fix for extra va_end() in ParseVErrorInternal.
1694
1695Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
1696
1697 * configure.in: for systems that have sys/cdefs.h check if it is
1698 compatible. If not, include the one under missing, but tell it to
1699 include the native one too - necessary on Linux.
1700
1701 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
1702 include_next (for gcc) to get the native sys/cdefs.h
1703
1704Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1705
1706 * job.c (JobFinish): Fix an earlier merge bug that resulted in
1707 leaking descriptors when using -jN.
1708
1709 * job.c (JobPrintCommand): See if "curdir" exists before
1710 attempting to chdir(). Doing the chdir directly in make (when in
1711 compat mode) fails silently, so let the -jN version do the same.
1712 This can happen when building kernels in an object tree and
1713 playing clever games to reset .CURDIR.
1714
1715 * Merged with NetBSD make
1716 pick up .USEBEFORE
1717
1718Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1719
1720 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
1721
1722Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1723
1724 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
1725 us not to export the iterator variable when using VAR_CMD context.
1726
1727Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1728
1729 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
1730 its the wrong "fix".
1731
1732Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1733
1734 * Redesigned export of VAR_CMD's via MAKEFLAGS.
1735 We now simply append the variable names to .MAKEOVERRIDES, and
1736 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
1737 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
1738 Apart from fixing quoting bugs in previous version, this allows us
1739 to export vars to the environment by simply doing:
1740 .MAKEOVERRIDES+= PATH
1741 Merged again with NetBSD make, but the above is the only change.
1742
1743 * configure.in: added
1744 --disable-pwd-override disable $PWD overriding getcwd()
1745 --disable-check-make-chdir disable make trying to guess
1746 when it should automatically cd ${.CURDIR}
1747
1748 * Merge with NetBSD make, changes include:
1749 parse.c (ParseDoDependency): Spot that the syntax error is
1750 caused by an unresolved cvs/rcs conflict and say so.
1751 var.c: most of Var* functions now take a ctxt as 1st arg.
1752 now does variable substituion on rhs of sysv style modifiers.
1753
1754 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
1755 is now done here. We append the name='value' to .MAKEOVERRIDES
1756 rather than directly into MAKEFLAGS as this allows a Makefile to
1757 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
1758 very similar mechanism. Note that in adding name='value' to
1759 .MAKEOVERRIDES we do the moral equivalent of:
1760 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
1761
1762Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1763
1764 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
1765
1766 * Merged with NetBSD make
1767 make -dx can now be used to run commands via sh -x
1768 better error messages on exec failures.
1769
1770Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1771
1772 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
1773 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
1774 MACHINE etc otherwise they propagate from the previous bmake.
1775
1776 * configure.in (machine): allow --with-machine=generic to make
1777 configure use machine.sh to set MACHINE.
1778
1779 * job.c (JobInterrupt): convert to using WAIT_T and friends.
1780
1781 * Makefile.in: mention in bmake.1 that we use autoconf.
1782
1783 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
1784
1785Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1786
1787 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
1788 as that rather defeats the usefulness of ${MAKEFILE}.
1789
1790 * main.c (MainParseArgs): append command line variable assignments
1791 to MAKEFLAGS so that they get propagated to child make's.
1792 Apparently this is required POSIX behaviour? Its useful anyway.
1793
1794Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1795
1796 * compat.c (CompatRunCommand): don't use perror() since stdio may
1797 cause problems in child of vfork().
1798
1799 * compat.c, main.c: Call PrintOnError() when we are going to bail.
1800 This routine prints out the .curdir where we stopped and will also
1801 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
1802
1803 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
1804 :@ expansion.
1805
1806 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
1807
1808 * Added RCSid's for the files we've touched.
1809
1810Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1811
1812 * configure.in: Thanks to some clues from mdb@juniper.net,
1813 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
1814 as well as what ends up in _PATH_DEFSYSPATH. We now have:
1815
1816 --with-machine=MACHINE explicitly set MACHINE
1817 --with-force-machine=MACHINE set FORCE_MACHINE
1818 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
1819 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
1820 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
1821 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
1822
1823 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
1824
1825 * makefile: added a pathetically simple makefile to drive
1826 bootstrapping. Running configure by hand is more useful.
1827
1828 * Makefile.in: added MAKE_VERSION, and reworked things to be less
1829 dependent on NetBSD bsd.*.mk
1830
1831 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
1832 _PATH_OBJDIRPREFIX for those that don't want a default.
1833 construct _PATH_DEFSYSPATH from the info we get from configure.
1834
1835 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
1836 if MAKE_VERSION is defined.
1837
1838 * compat.c: when we bail, print out the .CURDIR we were in.
1839
1840Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1841
1842 * Merged with NetBSD make
1843
1844 * var.c: fixed a bug in the handling of the modifier :P
1845 if the node as found but the path was null, we segfault trying to
1846 duplicate it.
1847
1848Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
1849
1850 * Merged with NetBSD make
1851
1852 * make.c: Make_OODate's test for a library out of date was using
1853 cmtime where it should have used mtime (my bug).
1854
1855 * compat.c: Use perror() to tell us what really went wrong when we
1856 cannot exec a command.
1857
1858Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1859
1860 * Merged with NetBSD make
1861
1862Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1863
1864 * Merged with NetBSD make
1865
1866Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1867
1868 * Merged with NetBSD make
1869
1870Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1871
1872 * Merged with NetBSD make
1873
1874Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1875
1876 * util.c: don't provide signal() since we use sigcompat.c
1877
1878 * Makefile.in: added a build target.
1879
1880 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
1881 These allow some quite clever magic.
1882
1883 * main.c (main): added support for getenv(MAKESYSPATH).
1884
1885Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1886
1887 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
1888 This avoids objdir having a different value depending on how a
1889 directory was reached (via command line, or subdir.mk).
1890
1891 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
1892
1893Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1894
1895 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
1896 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
1897 I've been testing this in NetBSD's make for some weeks.
1898
1899 * Turn Makefile into Makefile.in and make it useful.
1900
1901Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
1902
1903 * Imported NetBSD's -current make(1) and resolve conflicts.
1904
1905 * Applied autoconf patches from bmake v2
1906
1907 * Imported clean code base from NetBSD-1.0