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