fcb4f720f1fefae64d97af17af17265983b31cbc
[pkgsrc.git] / devel / bmake / files / ChangeLog
1 2010-05-10  Simon J. Gerraty  <sjg@bad.crufty.net>
2
3         * boot-strap: use absolute path for bmake when running tests.
4
5         * Makefile.in (MAKE_VERSION):  bump version to 20100510
6           Merge with NetBSD make, pick up
7           o revert use of realpath on argv[0]
8             too many corner cases.
9           o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
10
11 2010-05-05  Simon J. Gerraty  <sjg@bad.crufty.net>
12
13         * Makefile.in (MAKE_VERSION): bump version to 20100505
14           Merge with NetBSD make, pick up
15           o fix for missed SIGCHLD when compiled with SunPRO
16             actually for bmake, defining FORCE_POSIX_SIGNALS would have
17             done the job.
18
19 2010-04-30  Simon J. Gerraty  <sjg@bad.crufty.net>
20
21         * Makefile.in (MAKE_VERSION): bump version to 20100430
22           Merge with NetBSD make, pick up
23           o fflush stdout before writing to stdout
24         
25 2010-04-23  Simon J. Gerraty  <sjg@bad.crufty.net>
26
27         * Makefile.in (MAKE_VERSION): bump version to 20100423
28           Merge with NetBSD make, pick up
29           o updated unit tests for Haiku (this time for sure).
30         * boot-strap: based on patch from joerg 
31           honor --with-default-sys-path better.
32         * boot-strap: remove mention of --with-prefix-sys-path
33         
34 2010-04-22  Simon J. Gerraty  <sjg@bad.crufty.net>
35
36         * Makefile.in (MAKE_VERSION): bump version to 20100422
37         * Merge with NetBSD make, pick up
38           o fix for vfork() on Darwin.
39           o fix for bogus $TMPDIR.
40           o set .MAKE.MODE=compat for -B
41           o set .MAKE.JOBS=max_jobs for -j max_jobs
42           o allow unit-tests to run without any *.mk
43           o unit-tests/modmisc be more conservative in dirs presumed to exist.
44         * boot-strap: ignore /usr/share/mk except on NetBSD.
45         * unit-tests/Makefile.in: set LANG=C when running unit-tests to
46           ensure sort(1) behaves as expected. 
47         
48 2010-04-21  Simon J. Gerraty  <sjg@bad.crufty.net>
49
50         * boot-strap: add FindHereOrAbove so we can use -m .../mk
51
52 2010-04-20  Simon J. Gerraty  <sjg@bad.crufty.net>
53
54         * Makefile.in (MAKE_VERSION): bump version to 20100420
55         * Merge with NetBSD make, pick up
56           o fix for variable realpath() behavior.
57             we have to stat(2) the result to be sure.
58           o fix for .export (all) when nested vars use :sh
59         
60 2010-04-14  Simon J. Gerraty  <sjg@bad.crufty.net>
61
62         * Makefile.in (MAKE_VERSION): bump version to 20100414
63         * Merge with NetBSD make, pick up
64           o use realpath to resolve argv[0] (for .MAKE) if needed.
65           o add realpath from libc.
66           o add :tA to resolve variable via realpath(3) if possible.
67
68 2010-04-08  Simon J. Gerraty  <sjg@bad.crufty.net>
69
70         * Makefile.in (MAKE_VERSION): bump version to 20100408
71         * Merge with NetBSD make, pick up
72           o unit tests for .ERROR, .error
73           o fix for .ERROR to ensure it cannot be default target.
74
75 2010-04-06  Simon J. Gerraty  <sjg@bad.crufty.net>
76
77         * Makefile.in (MAKE_VERSION): bump version to 20100406
78         * Merge with NetBSD make, pick up
79           o fix for compat mode "Error code" going to debug_file.
80           o fix for .ALLSRC being populated twice.
81           o support for .info, .warning and .error directives
82           o .MAKE.MODE to control make's operational mode
83           o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
84             name(s).
85           o .MAKE.DEPENDFILE to control the name of the depend file
86           o .ERROR target - run on failure.
87         
88 2010-03-18  Simon J. Gerraty  <sjg@bad.crufty.net>
89
90         * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
91
92         * os.sh,arch.c: patch for Haiku from joerg at netbsd
93
94 2010-03-17  Simon J. Gerraty  <sjg@bad.crufty.net>
95
96         * Makefile.in (MAKE_VERSION): bump version to 20100222
97         * Merge with NetBSD make, pick up
98           o better error msg for .for with mutiple inter vars
99         
100         * boot-strap: 
101           o use make-bootstrap.sh from joerg at netbsd
102             to avoid the need for a native make when bootstrapping.
103           o add "" everywhere ;-)
104           o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
105             otherwise the pre-formated version.
106
107 2010-01-04  Simon J. Gerraty  <sjg@bad.crufty.net>
108
109         * Makefile.in (MAKE_VERSION): bump version to 20100102
110         * Merge with NetBSD make, pick up:
111           o fix for -m .../
112
113 2009-11-18  Simon J. Gerraty  <sjg@void.crufty.net>
114
115         * Makefile.in (MAKE_VERSION): bump version to 20091118
116         * Merge with NetBSD make, pick up:
117           o .unexport
118           o report lines that start with '.' and should have ':'
119             (catch typo's of .el*if).
120         
121 2009-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
122
123         * configure.in: Ensure that srcdir and mksrc are absolute paths.
124
125 2009-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
126
127         * Makefile.in (MAKE_VERSION): fix version to 20091007
128
129 2009-10-07  Simon J. Gerraty  <sjg@void.crufty.net>
130
131         * Makefile.in (MAKE_VERSION): bump version to 200910007
132         * Merge with NetBSD make, pick up:
133           o fix for parsing of :S;...;...; applied to .for loop iterator
134             appearing in a dependency line. 
135         
136 2009-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
137
138         * Makefile.in (MAKE_VERSION): bump version to 20090909
139         * Merge with NetBSD make, pick up:
140           o fix for -C, .CURDIR and .OBJDIR
141         * boot-strap: 
142           o allow share_dir to be set independent of prefix.
143           o select default share_dir better when prefix ends in $HOST_TARGET
144           o if FORCE_BSD_MK etc were set, include them in the suggested
145             install-mk command.
146
147 2009-09-08  Simon J. Gerraty  <sjg@void.crufty.net>
148
149         * Makefile.in (MAKE_VERSION): bump version to 20090908
150         * Merge with NetBSD make, pick up:
151           o .MAKE.LEVEL for recursion tracking
152           o fix for :M scanning \:
153
154 2009-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
155
156         * configure.in: Don't -D__EXTENSIONS__ if
157         AC_USE_SYSTEM_EXTENSIONS says "no".
158
159 2009-08-26  Simon J. Gerraty  <sjg@void.crufty.net>
160
161         * Makefile.in (MAKE_VERSION): bump version to 20090826
162         Simplify MAKE_VERSION to just the bare date.
163         * Merge with NetBSD make, pick up:
164           o -C directory support.
165           o support for SIGINFO
166           o use $TMPDIR for temp files.
167           o child of vfork should be careful about modifying parent's state.
168         
169
170 2009-03-26  Simon J. Gerraty  <sjg@void.crufty.net>
171
172         * Appy some patches for MiNT from David Brownlee
173
174 2009-02-26  Simon J. Gerraty  <sjg@void.crufty.net>
175
176         * Makefile.in (BMAKE_VERSION): bump version to 20090222
177         * Merge with NetBSD make, pick up:
178           o Possible null pointer de-ref in Var_Set.
179
180 2009-02-08  Simon J. Gerraty  <sjg@void.crufty.net>
181
182         * Makefile.in (BMAKE_VERSION): bump version to 20090204
183         * Merge with NetBSD make, pick up:
184           o bmake_malloc et al moved to their own .c
185           o Count both () and {} when looking for the end of a :M pattern
186           o Change 'Buffer' so that it is the actual struct, not a pointer to it.
187           o strlist.c - functions for processing extendable arrays of pointers to strings.
188           o ClientData replaced with void *, so const void * can be used.
189           o New debug flag C for DEBUG_CWD
190
191 2008-11-11  Simon J. Gerraty  <sjg@void.crufty.net>
192
193         * Makefile.in (BMAKE_VERSION): bump version to 20081111
194           Apply patch from Joerg Sonnenberge to
195           configure.in:
196           o remove some redundant checks
197           o check for emlloc etc only in libutil and require the whole family.
198           util.c:
199           o remove [v]asprintf which is no longer used.
200         
201 2008-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
202
203         * Makefile.in (BMAKE_VERSION): bump version to 20081101
204         * Merge with NetBSD make, pick up:
205           o util.c: avoid use of putenv() - christos
206
207 2008-10-30  Simon J. Gerraty  <sjg@void.crufty.net>
208
209         * Makefile.in (BMAKE_VERSION): bump version to 20081030
210           pick up man page tweaks.
211
212 2008-10-29  Simon J. Gerraty  <sjg@void.crufty.net>
213
214         * Makefile.in: move processing of LIBOBJS to after is definition!
215           thus we'll have getenv.c in SRCS only if needed.
216
217         * make.1: add examples of how to use :?
218
219         * Makefile.in (BMAKE_VERSION): bump version to 20081029
220         * Merge with NetBSD make, pick up:
221           o fix for .END processing with -j
222           o segfault from Parse_Error when no makefile is open
223           o handle numeric expressions in any variable expansion
224           o debug output now defaults to stderr, -dF to change it - apb
225           o make now uses bmake_malloc etc so that it can build natively 
226             on A/UX - wasn't an issue for bmake, but we want to keep in sync.
227
228 2008-09-27  Simon J. Gerraty  <sjg@void.crufty.net>
229
230         * Makefile.in (BMAKE_VERSION): bump version to 20080808
231         * Merge with NetBSD make, pick up:
232           o fix for PR/38840: Pierre Pronchery: make crashes while parsing
233             long lines in Makefiles 
234           o optimizations for VarQuote by joerg
235           o fix for PR/38756: dominik: make dumps core on invalid makefile
236         
237 2008-05-15  Simon J. Gerraty  <sjg@void.crufty.net>
238
239         * Makefile.in (BMAKE_VERSION): bump version to 20080515
240         * Merge with NetBSD make, pick up:
241           o fix skip setting vars in VAR_GLOBAL context, to handle
242             cases where VAR_CMD is used for other than command line vars.
243
244 2008-05-14  Simon J. Gerraty  <sjg@void.crufty.net>
245
246         * boot-strap (make_version): we may need to look in
247         $prefix/share/mk for sys.mk 
248
249         * Makefile.in (BMAKE_VERSION): bump version to 20080514
250         * Merge with NetBSD make, pick up:
251           o skip setting vars in VAR_GLOBAL context, when already set in
252           VAR_CMD which takes precedence.
253
254 2008-03-30  Simon J. Gerraty  <sjg@void.crufty.net>
255
256         * Makefile.in (BMAKE_VERSION):  bump version to 20080330
257         * Merge with NetBSD make, pick up:
258           o fix for ?= when LHS contains variable reference.
259
260 2008-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
261
262         * merge some patches from NetBSD pkgsrc.
263         
264         * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
265         the MAKSYSPATH used during bootstrap. 
266
267         * Makefile.in (BMAKE_VERSION): bump version to 20080215
268         * Merge with NetBSD make, pick up:
269           o warn if non-space chars follow 'empty' in a conditional.
270
271 2008-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
272
273         * Makefile.in (BMAKE_VERSION): bump version to 20080118
274         * Merge with NetBSD make, pick up:
275           o consider dependencies read from .depend as optional - dsl
276           o remember when buffer for reading makefile grows - dsl
277           o add -dl (aka LOUD) - David O'Brien
278
279 2007-10-22  Simon J. Gerraty  <sjg@void.crufty.net>
280
281         * Makefile.in (BMAKE_VERSION): bump version to 20071022
282         * Merge with NetBSD make, pick up:
283           o Allow .PATH<suffix> to be used for .include ""
284
285         * boot-strap: source default settings from .bmake-boot-strap.rc
286
287 2007-10-16  Simon J. Gerraty  <sjg@void.crufty.net>
288
289         * Makefile.in: fix maninstall on various systems 
290           provided that our man.mk is used.
291           For non-BSD systems we install the preformatted page
292           into $MANDIR/cat1
293
294 2007-10-15  Simon J. Gerraty  <sjg@void.crufty.net>
295
296         * boot-strap: make bmake.1 too, so maninstall works.
297
298 2007-10-14  Simon J. Gerraty  <sjg@void.crufty.net>
299
300         * Makefile.in (BMAKE_VERSION): bump version to 20071014
301         * Merge with NetBSD make, pick up:
302           o revamped handling of defshell - configure no longer needs to
303             know the content of the shells array - apb
304           o stop Var_Subst modifying its input - apb
305           o avoid calling ParseTrackInput too often - dsl
306
307 2007-10-11  Simon J. Gerraty  <sjg@void.crufty.net>
308
309         * Makefile.in (BMAKE_VERSION): bump version to 20071011
310         * Merge with NetBSD make, pick up:
311           o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
312
313         * sigcompat.c: some tweaks for HP-UX 11.x based on 
314           patch from Tobias Nygren
315
316         * configure.in: update handling of --with-defshell to match
317           new make behavior.  --with-defshell=/usr/xpg4/bin/sh
318           will now do what one might hope - provided the chosen shell
319           behaves enough like sh.
320
321 2007-10-08  Simon J. Gerraty  <sjg@void.crufty.net>
322
323         * Makefile.in (BMAKE_VERSION): bump to 20071008
324         * Merge with NetBSD make, pick up:
325           o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
326           o .export/.MAKE.EXPORTED - export of variables - sjg
327           o .MAKE.MAKEFILES - track all makefiles read - sjg
328           o performance improvements - dsl
329           o revamp parallel job scheduling - dsl
330         
331 2006-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
332
333         * Makefile.in (BMAKE_VERSION): bump to 20060728
334         * Merge with NetBSD make, pick up:
335           o extra debug info during variable and cond processing - sjg
336           o shell definition now covers newline - rillig
337           o minor mem leak in PrintOnError - sjg
338
339 2006-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
340
341         * Makefile.in (BMAKE_VERSION):  bump to 20060511
342         * Merge with NetBSD make, pick up:
343           o more memory leaks - coverity
344           o possible overflow in ArchFindMember - coverity
345           o extract variable modifier code out of Var_Parse()
346             so it can be called recursively - sjg
347           o unit-tests/moderrs - sjg
348
349 2006-04-12  Simon J. Gerraty  <sjg@void.crufty.net>
350
351         * Makefile.in (BMAKE_VERSION): bump to 20060412
352         * Merge with NetBSD make, pick up:
353           o fixes for some memory leaks - coverity
354           o only read first sys.mk etc when searching sysIncPath - sjg
355
356         * main.c (ReadMakefile): remove hack for __INTERIX that prevented
357         setting ${MAKEFILE} - OBATA Akio
358
359 2006-03-18  Simon J. Gerraty  <sjg@void.crufty.net>
360
361         * Makefile.in (BMAKE_VERSION): bump to 20060318
362         * Merge with NetBSD make, pick up:
363           o cleanup of job.c to remove remote handling, distcc is more
364             useful and this code was likely bit-rotting - dsl
365           o fix for :P modifier - sjg
366         * boot-strap: set default prefix to something reasonable 
367           (for me anyway). 
368
369 2006-03-01  Simon J. Gerraty  <sjg@void.crufty.net>
370
371         * Makefile.in (BMAKE_VERSION): bump to 20060301
372         * Merge with NetBSD make, pick up:
373           o make .WAIT apply recursively, document and test case - apb
374           o allow variable modifiers in a variable appear anywhere in
375             modifier list, document and test case - sjg
376
377 2006-02-22  Simon J. Gerraty  <sjg@void.crufty.net>
378
379         * Makefile.in (BMAKE_VERSION): bump to 20060222
380         * Merge with NetBSD make, pick up:
381           o improved job token handling - dsl
382           o SIG_DFL the correct signal before exec - dsl
383           o more debug info during parsing - dsl
384           o allow variable modifiers to be specified via variable - sjg
385         * boot-strap: explain why we died if no mksrc
386
387 2005-11-05  Simon J. Gerraty  <sjg@void.crufty.net>
388
389         * Makefile.in (BMAKE_VERSION): bump to 20051105
390         * configure.in: always set default_sys_path 
391           default is ${prefix}/share/mk
392           - remove prefix_sys_path, anyone wanting more than above
393             needs to set it manually.
394
395 2005-11-04  Simon J. Gerraty  <sjg@void.crufty.net>
396
397         * boot-strap: make this a bit easier for pkgsrc folk.
398           bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
399           'mips' while pkgsrc wants 'mipseb' or 'mipsel'
400
401 2005-11-02  Simon J. Gerraty  <sjg@void.crufty.net>
402
403         * Makefile.in (BMAKE_VERSION): bump to 20051102
404         * job.c (JobFinish): fix likely ancient merge lossage
405         fix from Todd Vierling.
406         * boot-strap (srcdir): allow setting mksrc=none
407
408 2005-10-31  Simon J. Gerraty  <sjg@void.crufty.net>
409
410         * Makefile.in (BMAKE_VERSION): bump to 20051031
411         * ranlib.h: skip on OSF too.
412           (NetBSD PR 31864)
413
414 2005-10-10  Simon J. Gerraty  <sjg@void.crufty.net>
415
416         * Makefile.in (BMAKE_VERSION): bump to 20051002
417           fix a silly typo
418
419 2005-10-09  Simon J. Gerraty  <sjg@void.crufty.net>
420
421         * Makefile.in (BMAKE_VERSION): bump to 20051001
422           support for UnixWare and some other systems,
423           based on patches from pkgsrc/bootstrap
424
425 2005-09-03  Simon J. Gerraty  <sjg@void.crufty.net>
426
427         * Makefile.in (BMAKE_VERSION): bump to 20050901
428         * Merge with NetBSD make, pick up:
429           o possible parse error causing us to wander off.
430
431 2005-06-06  Simon J. Gerraty  <sjg@void.crufty.net>
432
433         * Makefile.in (BMAKE_VERSION): bump to 20050606
434         * Merge with NetBSD make, pick up:
435           o :0x modifier for randomizing a list
436           o fixes for a number of -Wuninitialized issues.
437
438 2005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>
439
440         * Makefile.in (BMAKE_VERSION): bump to 20050530
441         * Merge with NetBSD make, pick up:
442           o Handle dependencies for .BEGIN, .END and .INTERRUPT
443
444         * README: was seriously out of date.
445         
446 2005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>
447
448         * Important to use .MAKE rather than MAKE.
449
450 2005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>
451
452         * Makefile.in (BMAKE_VERSION): bump to 20050315
453         * Merge with NetBSD make, pick up:
454           o don't mistake .elsefoo for .else
455           o use suffix-specific search path correctly
456           o bunch of style nits
457
458 2004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>
459
460         * boot-strap: 
461         o ensure that args to --src and --with-mksrc
462           are resolved before giving them to configure.
463         o add -o "objdir" so that builder can control it,
464           default is $OS as determined by os.sh
465         o add -q to suppress all the install instructions.
466
467 2004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>
468
469         * Remove __IDSTRING()
470
471         * Makefile.in (BMAKE_VERSION): bump to 20040508
472         * Merge with NetBSD make, pick up:
473           o posix fixes
474             - remove '-e' from compat mode
475             - add support for '+' command-line prefix.
476           o fix for handling '--' on command-line.
477           o fix include in lst.lib/lstInt.h to simplify '-I's
478           o we also picked up replacement of MAKE_BOOTSTRAP 
479             with !MAKE_NATIVE which is a noop, but possibly confusing.
480
481 2004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>
482
483         * Makefile.in (BMAKE_VERSION): bump to 20040414
484         * Merge with NetBSD make, pick up:
485           o allow quoted strings on lhs of conditionals
486           o issue warning when extra .else is seen
487           o print line numer when errors encountered during parsing from
488           string.
489
490 2004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>
491
492         * Makefile.in (BMAKE_VERSION):  bump to 20040220
493         * Merge with NetBSD make, pick up:
494           o fix for old :M parsing bug.
495           o re-jigged unit-tests
496
497 2004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>
498
499         * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
500         so that './bmake -f Makefile test' works.
501         
502 2004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>
503
504         * Makefile.in: (BMAKE_VERSION): bump to 20040214
505         * Merge with NetBSD make, pick up:
506           o search upwards for *.mk
507           o fix for double free of var substitution buffers
508           o use of getopt replaced with custom code, since the usage
509           (re-scanning) isn't posix compatible.
510
511 2004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>
512
513         * arch.c: don't include ranlib.h on ELF systems
514         (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
515
516 2004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>
517
518         * Makefile.in (BMAKE_VERSION): bump to 20040118
519
520         * boot-strap (while): export vars we assign to on cmdline
521         * unit-test/Makefile.in: ternary is .PHONY
522
523 2004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>
524
525         * Makefile.in (BMAKE_VERSION): bump version to 20040108
526         * Merge with NetBSD make, pick up:
527           o fix for ternary modifier
528
529 2004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>
530
531         * Makefile.in (BMAKE_VERSION): bump version to 20040105
532         * Merge with NetBSD make, pick up:
533           o fix for cond.c to handle compound expressions better
534           o variable expansion within sysV style replacements
535           
536 2003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>
537
538         * Make portable snprintf safer - output to /dev/null first to
539         check space needed.
540
541         * Makefile.in (BMAKE_VERSION): bump version to 20031222
542         * Merge with NetBSD make, pick up:
543           o -dg3 to show input graph when things go wrong.
544           o explicitly look for makefiles in objdir if not found in curdir so
545             that errors in .depend etc will be reported accurarely. 
546           o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
547             instead as it more accurately reflects the expected behavior and
548             is more consistently implemented.
549           o avoid use of asprintf.
550
551 2003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>
552
553         * util.c: Add asprintf and vasprintf.
554
555         * Makefile.in (BMAKE_VERSION): bump version to 20030928
556         * Merge with NetBSD make, pick up:
557         :[] modifier - allows picking words from a variable.
558         :tW modifier - allows treating value as one big word.
559         W flag for :C and :S - allows treating value as one big word.
560         
561 2003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>
562
563         * Merge with NetBSD make
564         pick up -de flag to enable printing failed command.
565         don't skip 1st two dir entries (normally . and ..) since
566         coda does not have them.
567
568 2003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>
569
570         * Makefile.in (BMAKE_VERSION): bump version to 20030909
571         * Merge with NetBSD make, pick up:
572         - changes for -V '${VAR}' to print fully expanded value
573           cf. -V VAR
574         - CompatRunCommand now prints the command that failed.
575         - several files got updated 3 clause Berkeley license.
576         
577 2003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>
578
579         * boot-strap: Allow setting configure args on command line.
580
581 2003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>
582
583         * configure.in: add --with-defshell to allow sh or ksh
584         to be selected as default shell.
585
586         * Makefile.in: bump version to 20030731
587
588         * Merge with NetBSD make 
589         Pick up .SHELL spec for ksh and associate man page changes.
590         Also compat mode now uses the same shell specs.
591
592 2003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>
593
594         * var.c (Var_Parse): ensure delim is initialized.
595
596         * unit-tests/Makefile.in: use single quotes to avoid problems from
597         some shells.
598
599         * makefile.boot.in:
600         Run the unit-tests as part of the bootstrap procedure.
601
602 2003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>
603
604         * unit-tests/Makefile.in: always force complaints from
605         ${TEST_MAKE} to be from 'make'.
606
607         * configure.in: add check for 'diff -u'
608         also fix some old autoconf'isms
609         
610         * Makefile.in (BMAKE_VERSION): bump version to 20030728.
611         if using GCC add -Wno-cast-qual to CFLAGS for var.o
612
613         * Merge with NetBSD make
614         Pick up fix for :ts parsing error in some cases.
615         Pick unit-tests.
616
617 2003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>
618
619         * Makefile.in (BMAKE_VERSION): bump version to 20030723.
620
621         * var.c (Var_Parse): fix bug in :ts modifier, after const
622         correctness fixes, must pass nstr to VarModify.
623
624 2003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>
625
626         * Makefile.in: BMAKE_VERSION switch to a date based version.
627         We'll generally use the date of last import from NetBSD.
628
629         * Merge with NetBSD make
630         Pick up fixes for const-correctness, now passes WARNS=3 on
631         NetBSD.
632         Pick up :ts modifier, allows controlling the separator used
633         between words in variable expansion.
634
635 2003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>
636
637         * FILES: include boot-strap and os.sh
638
639         * Makefile.in: only set WARNS if we are NetBSD, the effect on
640         FreeBSD is known to be bad.
641
642         * makefile.boot.in (bootstrap): make this the default target.
643
644         * Makefile.in: bump version to 3.1.19
645
646         * machine.sh: avoid A-Z with tr as it is bound to lose.
647
648 2003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>
649
650         * Merge with NetBSD make
651         Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
652         Plus some doc fixes.
653         
654 2003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>
655
656         * Merge with NetBSD make
657         Pick up fix for PR/1523 - don't count a library as built, if there
658         is no way to build it 
659
660         * Bump version to 3.1.18
661
662 2003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>
663
664         * Merge with NetBSD make
665         Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
666         appears in src list.
667
668 2003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>
669
670         * Merge with NetBSD make (mmm 10th anniversary!)
671         pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
672         pick up -X which tells us to not export VAR=val via setenv if
673         we are already doing so via MAKEFLAGS.  This saves valuable env
674         space on systems like Darwin.
675         set MAKE_VERSION to 3.1.17
676
677         * parse.c: pix up fix for suffix rules
678
679 2003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>
680
681         * Merge with NetBSD make.
682         pick up fix for propagating -B via MAKEFLAGS.
683         set MAKE_VERSION to 3.1.16
684
685         * Apply some patches from pkgsrc-bootstrap/bmake
686         Originally by Grant Beattie <grant@netbsd.org>
687         I may have missed some - since they are based on bmake-3.1.12
688         
689 2002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>
690
691         * makefile.boot.in (bmake): update install targets for those that
692         use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
693         havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.
694
695         * bmake.cat1: update the pre-formatted man page!
696
697 2002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>
698
699         * Merge with NetBSD make.
700         pick up fix for premature free of pointer used in call
701         to Dir_InitCur().
702         set MAKE_VERSION to 3.1.15
703
704 2002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>
705
706         * configure.in: determine suitable value for MKSRC.
707         override using --with-mksrc=PATH.
708
709         * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
710         configs(8) will use 'sun4' as an alias for 'sparc'.
711
712 2002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>
713
714         * Merge with NetBSD make.
715         pick up ${.PATH}
716         pick up fix for finding ../cat.c via .PATH when .CURDIR=..
717         set MAKE_VERSION to 3.1.14
718         add configure checks for killpg and sys/socket.h
719
720 2002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>
721
722         * tag bmake-3-1-13
723         
724         * makefile.boot.in (bmake): use install-mk
725         Also setup ./mk before trying to invoke bmake.boot incase we
726         needed install-mk to create a sys.mk for us. 
727
728         * configure.in: If we need to add -I${srcdir}/missing, make it an
729         absolute path so that it works for lst.lib too.
730
731         * make.h: always include sys/cdefs.h since we provide one if the
732         host does not.
733         
734         * Makefile.in (install-mk): 
735         use MKSRC/install-mk which will do the right thing.
736         use uname -p for ARCH if possible.
737         since install-mk will setup links bsd.prog.mk -> prog.mk if
738         needed, just .include bsd.prog.mk
739
740         * Merge with NetBSD make (NetBSD-1.6)
741         Code is ansi-C only now.
742         Bug in handling of dotLast is fixed.
743         Can now assign .OBJDIR and make will reset its notions of life.
744         New modifiers :tu :tl for toUpper and toLower.
745
746 Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
747
748         * Merge with NetBSD make
749         pick up fix for .END failure in compat mode.
750         pick up fix for extra va_end() in ParseVErrorInternal.
751
752 Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>
753
754         * configure.in: for systems that have sys/cdefs.h check if it is
755         compatible.  If not, include the one under missing, but tell it to
756         include the native one too - necessary on Linux.
757
758         * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
759         include_next (for gcc) to get the native sys/cdefs.h
760
761 Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
762
763         * job.c (JobFinish): Fix an earlier merge bug that resulted in
764         leaking descriptors when using -jN.
765         
766         * job.c (JobPrintCommand): See if "curdir" exists before
767         attempting to chdir().  Doing the chdir directly in make (when in
768         compat mode) fails silently, so let the -jN version do the same.
769         This can happen when building kernels in an object tree and
770         playing clever games to reset .CURDIR.
771
772         * Merged with NetBSD make
773         pick up .USEBEFORE
774
775 Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
776
777         * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
778
779 Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
780
781         * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
782         us not to export the iterator variable when using VAR_CMD context.
783
784 Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
785
786         * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
787         its the wrong "fix".
788
789 Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
790
791         * Redesigned export of VAR_CMD's via MAKEFLAGS.
792         We now simply append the variable names to .MAKEOVERRIDES, and
793         handle duplicate suppression and quoting in ExportMAKEFLAGS using:
794         ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
795         Apart from fixing quoting bugs in previous version, this allows us
796         to export vars to the environment by simply doing:
797         .MAKEOVERRIDES+= PATH 
798         Merged again with NetBSD make, but the above is the only change.
799
800         * configure.in: added
801         --disable-pwd-override          disable $PWD overriding getcwd()
802         --disable-check-make-chdir      disable make trying to guess 
803                 when it should automatically cd ${.CURDIR}
804
805         * Merge with NetBSD make, changes include:
806         parse.c (ParseDoDependency): Spot that the syntax error is
807         caused by an unresolved cvs/rcs conflict and say so.
808         var.c: most of Var* functions now take a ctxt as 1st arg.
809         now does variable substituion on rhs of sysv style modifiers.
810         
811         * var.c (Var_Set): exporting of command line variables (VAR_CMD)
812         is now done here.  We append the name='value' to .MAKEOVERRIDES
813         rather than directly into MAKEFLAGS as this allows a Makefile to
814         use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
815         very similar mechanism.  Note that in adding name='value' to
816         .MAKEOVERRIDES we do the moral equivalent of:
817         .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
818
819 Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
820
821         * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
822
823         * Merged with NetBSD make
824         make -dx can now be used to run commands via sh -x
825         better error messages on exec failures.
826
827 Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
828
829         * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
830         MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
831         MACHINE etc otherwise they propagate from the previous bmake.
832
833         * configure.in (machine): allow --with-machine=generic to make
834         configure use machine.sh to set MACHINE. 
835
836         * job.c (JobInterrupt): convert to using WAIT_T and friends.
837
838         * Makefile.in: mention in bmake.1 that we use autoconf.
839
840         * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
841
842 Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
843
844         * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
845         as that rather defeats the usefulness of ${MAKEFILE}.
846
847         * main.c (MainParseArgs): append command line variable assignments
848         to MAKEFLAGS so that they get propagated to child make's.
849         Apparently this is required POSIX behaviour?  Its useful anyway.
850
851 Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
852
853         * compat.c (CompatRunCommand): don't use perror() since stdio may
854         cause problems in child of vfork().
855
856         * compat.c, main.c: Call PrintOnError() when we are going to bail.
857         This routine prints out the .curdir where we stopped and will also
858         display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
859
860         * main.c: add ${.newline} to hold a "\n" - sometimes handy in
861         :@ expansion.
862
863         * var.c: VarLoopExpand: ignore addSpace if a \n is present.
864
865         * Added RCSid's for the files we've touched.
866         
867 Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
868
869         * configure.in: Thanks to some clues from mdb@juniper.net,
870         added autoconf magic to control setting of MACHINE, MACHINE_ARCH
871         as well as what ends up in _PATH_DEFSYSPATH.  We now have:
872
873   --with-machine=MACHINE  explicitly set MACHINE
874   --with-force-machine=MACHINE  set FORCE_MACHINE
875   --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
876   --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
877   --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
878   --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
879         
880         If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
881
882         * makefile: added a pathetically simple makefile to drive
883         bootstrapping.  Running configure by hand is more useful.
884
885         * Makefile.in: added MAKE_VERSION, and reworked things to be less
886         dependent on NetBSD bsd.*.mk
887         
888         * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
889         _PATH_OBJDIRPREFIX for those that don't want a default.
890         construct _PATH_DEFSYSPATH from the info we get from configure.
891
892         * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
893         if MAKE_VERSION is defined.
894         
895         * compat.c: when we bail, print out the .CURDIR we were in.
896         
897 Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
898
899         * Merged with NetBSD make
900
901         * var.c: fixed a bug in the handling of the modifier :P
902         if the node as found but the path was null, we segfault trying to
903         duplicate it.
904
905 Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>
906
907         * Merged with NetBSD make
908         
909         * make.c: Make_OODate's test for a library out of date was using
910         cmtime where it should have used mtime (my bug).
911
912         * compat.c: Use perror() to tell us what really went wrong when we
913         cannot exec a command.
914         
915 Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
916
917         * Merged with NetBSD make
918         
919 Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
920
921         * Merged with NetBSD make
922         
923 Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
924
925         * Merged with NetBSD make
926         
927 Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
928
929         * Merged with NetBSD make
930         
931 Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
932
933         * util.c: don't provide signal() since we use sigcompat.c
934
935         * Makefile.in: added a build target.
936
937         * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
938         These allow some quite clever magic.
939
940         * main.c (main): added support for getenv(MAKESYSPATH).
941
942 Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
943
944         * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
945         This avoids objdir having a different value depending on how a
946         directory was reached (via command line, or subdir.mk).
947
948         * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
949         
950 Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>
951
952         * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
953         MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
954         I've been testing this in NetBSD's make for some weeks.
955
956         * Turn Makefile into Makefile.in and make it useful.
957         
958 Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>
959
960         * Imported NetBSD's -current make(1) and resolve conflicts.
961         
962         * Applied autoconf patches from bmake v2
963
964         * Imported clean code base from NetBSD-1.0