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