1 2020-09-02 Simon J Gerraty <sjg@beast.crufty.net>
3 * VERSION (_MAKE_VERSION): 20200902
4 Merge with NetBSD make, pick up
5 o use make_stat to ensure no confusion over valid fields
6 returned by cached_stat
7 o var.c: make VarQuote const-correct
8 o add unit tests for .for
10 2020-09-01 Simon J Gerraty <sjg@beast.crufty.net>
12 * VERSION (_MAKE_VERSION): 20200901
13 Merge with NetBSD make, pick up
14 o rename Hash_Table fields
15 o make data types in Dir_HasWildcards more precise
17 2020-08-31 Simon J Gerraty <sjg@beast.crufty.net>
19 * VERSION (_MAKE_VERSION): 20200831
20 Merge with NetBSD make, pick up
21 o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds
22 o lst.c: Lst_Open renable assert that list isn't open
23 o unit test for .TARGET dependent flags
24 o var.c: fix aliasing bug in VarUniq
25 o more unit tests for :u
27 2020-08-30 Simon J Gerraty <sjg@beast.crufty.net>
29 * VERSION (_MAKE_VERSION): 20200830
30 Merge with NetBSD make, pick up
31 o allow for strict type checking for Boolean
32 o Var_Parse never returns NULL
33 o Var_Subst never returns NULL
34 o Lst_Find now takes boolean match function
35 o rename Lst_Memeber to Lst_FindDatum
36 o rename LstNode functions to match their type
37 o rename GNode.iParents to implicitParents
38 o fix assertion failure for .SUFFIXES in archives
39 o compat.c: clean up documentation for CompatInterrupt and Compat_Run
40 remove unreachable code from CompatRunCommand
41 o main.c: simplify getBoolean
42 o stc.c: replace brk_string with simpler Str_Words
43 o suff.c: add debug macros
45 2020-08-28 Simon J Gerraty <sjg@beast.crufty.net>
47 * VERSION (_MAKE_VERSION): 20200828
48 Merge with NetBSD make, pick up
49 o lst.c: inline LstIsValid and LstNodeIsValid
50 o remove trailing S from Lst function names after migration complete
51 o more comment cleanup/clarification
52 o suff.c: clean up suffix handling
55 2020-08-26 Simon J Gerraty <sjg@beast.crufty.net>
57 * VERSION (_MAKE_VERSION): 20200826
58 Merge with NetBSD make, pick up
59 o enum.c: distinguish between bitsets containing flags and
61 o var.c: fix error message for ::!= modifier with shell error
62 o fix bugs in -DCLEANUP mode
64 2020-08-24 Simon J Gerraty <sjg@beast.crufty.net>
66 * VERSION (_MAKE_VERSION): 20200824
67 Merge with NetBSD make, pick up
68 o in debug mode, print GNode details in symbols
70 2020-08-23 Simon J Gerraty <sjg@beast.crufty.net>
72 * VERSION (_MAKE_VERSION): 20200823
73 Merge with NetBSD make, pick up
74 o lst.c: more asserts,
75 make args to Lst_Find match others.
76 o var.c: pass flags to VarAdd
78 o str.c: brk_string return size_t for nwords
81 2020-08-22 Simon J Gerraty <sjg@beast.crufty.net>
83 * VERSION (_MAKE_VERSION):
84 Merge with NetBSD make, pick up
85 o var.c: support for read-only variables eg .SHELL
86 being the shell used to run scripts.
87 o lst.c: more simplification
88 o more documentation and style cleanup
90 o ensure unit-test/Makefile is run by TEST_MAKE
91 o reduce duplication of header inclusion
93 2020-08-21 Simon J Gerraty <sjg@beast.crufty.net>
95 * VERSION (_MAKE_VERSION): 20200821
96 Merge with NetBSD make, pick up
97 o lst.c: revert invalid assertion - but document it
98 o dir.c: split Dir_Init into two functions
100 2020-08-20 Simon J Gerraty <sjg@beast.crufty.net>
102 * lst.c: needs inttypes.h on Linux
104 * VERSION (_MAKE_VERSION): 20200820
105 Merge with NetBSD make, pick up
106 o make.1: clarify some passages
107 o var.c: more cleanup, clarify comments
108 o make_malloc.c: remove unreachable code
109 o cond.c: make CondGetString easier to debug
110 o simplify list usage
113 2020-08-16 Simon J Gerraty <sjg@beast.crufty.net>
115 * VERSION (_MAKE_VERSION): 20200816
116 Merge with NetBSD make, pick up
117 o refactor unit-tests to be more fine grained
118 not all tests moved yet
120 2020-08-14 Simon J Gerraty <sjg@beast.crufty.net>
122 * VERSION (_MAKE_VERSION): 20200814
123 Merge with NetBSD make, pick up
124 o more str_concat variants
125 o more enums for flags
126 o var.c: cleanup for higher warnings level
128 2020-08-10 Simon J Gerraty <sjg@beast.crufty.net>
130 * VERSION (_MAKE_VERSION): 20200810
131 Merge with NetBSD make, pick up
133 o general comment and style cleanup
135 2020-08-08 Simon J Gerraty <sjg@beast.crufty.net>
137 * VERSION (_MAKE_VERSION): 20200808
138 Merge with NetBSD make, pick up
139 o enum.[ch]: streamline, enums for use in flags and debug output
141 o var.c: reduce duplicate code for modifiers
142 debug logging for Var_Parse
143 more detailed debug output
146 2020-08-06 Simon J Gerraty <sjg@beast.crufty.net>
148 * unit-tests/Makefile: -r for recursive and include Makefile.inc
149 so I can run tests in meta mode
150 supress extra noise if in meta mode
152 * VERSION (_MAKE_VERSION): 20200806
153 Merge with NetBSD make, pick up
154 o parse.c: remove VARE_WANTRES for LINT
155 we just want to check parsing (for now).
157 2020-08-05 Simon J Gerraty <sjg@beast.crufty.net>
159 * VERSION (_MAKE_VERSION): 20200805
160 Merge with NetBSD make, pick up
161 o make.1: Rework the description of dependence operators
163 2020-08-03 Simon J Gerraty <sjg@beast.crufty.net>
165 * VERSION (_MAKE_VERSION): 20200803
166 Merge with NetBSD make, pick up
167 o revert some C99 usage, for max portability
170 2020-08-02 Simon J Gerraty <sjg@beast.crufty.net>
172 * VERSION (_MAKE_VERSION): 20200802
173 Merge with NetBSD make, pick up
176 2020-08-01 Simon J Gerraty <sjg@beast.crufty.net>
178 * Remove NetBSD specific plumbing from unit-tests/Makefile
180 * VERSION (_MAKE_VERSION): 20200801
181 Merge with NetBSD make, pick up
182 o make Var_Value return const
183 o size_t for buf sizes
184 o optimize some buffer operations - avoid strlen
186 2020-07-31 Simon J Gerraty <sjg@beast.crufty.net>
188 * VERSION (_MAKE_VERSION): 20200731
189 Merge with NetBSD make, pick up
190 o var.c: fix undefinded behavior for incomplete :t modifier
191 fixes unit-test/moderrs on Ubuntu
192 o parse.c: When parsing variable assignments other than :=
193 if DEBUG(LINT) test substition of value, so we get a file and
194 line number in the resulting error.
195 o dir.c: fix parsing of nested braces in dependency lines
198 2020-07-30 Simon J Gerraty <sjg@beast.crufty.net>
200 * VERSION (_MAKE_VERSION): 20200730
201 Merge with NetBSD make, pick up
202 o var.c: minor cleanup
203 o unit-tests: more tests to improve code coverage
205 2020-07-28 Simon J Gerraty <sjg@beast.crufty.net>
207 * VERSION (_MAKE_VERSION): 20200728
208 Merge with NetBSD make, pick up
209 o var.c: more optimizations
211 2020-07-26 Simon J Gerraty <sjg@beast.crufty.net>
213 * VERSION (_MAKE_VERSION): 20200726
214 Merge with NetBSD make, pick up
215 o collapse lsd.lib into lst.c - reduce code size and allow inlining
216 o lots of function comment updates
217 o var.c: more optimizations
218 o make return of Var_Parse const
220 2020-07-20 Simon J Gerraty <sjg@beast.crufty.net>
222 * VERSION (_MAKE_VERSION): 20200720
223 Merge with NetBSD make, pick up
224 o DEBUG_HASH report stats at end and tone down the noise
225 o var.c: each flag type gets its own prefix.
226 move SysV string matching to var.c
227 make ampersand in ${VAR:from=to&} an ordinary character
228 cleanup and simplify implementation of modifiers
229 o make.1: move documentation for assignment modifiers
231 2020-07-18 Simon J Gerraty <sjg@beast.crufty.net>
233 * VERSION (_MAKE_VERSION): 20200718
234 Merge with NetBSD make, pick up
235 o DEBUG_HASH to see how well the hash tables are working
237 2020-07-11 Simon J Gerraty <sjg@beast.crufty.net>
239 * bsd.after-import.mk: make sure we update unit-tests/Makefile
241 2020-07-10 Simon J Gerraty <sjg@beast.crufty.net>
243 * configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC
245 * VERSION (_MAKE_VERSION): 20200710
246 Merge with NetBSD make, pick up
247 o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall
248 o meta.c: target flagged .META is out-of-date if meta file missing
250 2020-07-09 Simon J Gerraty <sjg@beast.crufty.net>
252 * VERSION (_MAKE_VERSION): 20200709
253 Merge with NetBSD make, pick up
254 o cond.c: fix for compare_expression when doEval=0
255 o unit-tests/Makefile: rework
256 o filemon/filemon_dev.c: ensure filemon fd is closed on exec.
258 2020-07-04 Simon J Gerraty <sjg@beast.crufty.net>
260 * VERSION (_MAKE_VERSION): 20200704
261 Merge with NetBSD make, pick up
262 (most of this by rillig@)
263 o lots of style and white-space cleanup
264 o lots more unit tests for variable modifiers
265 o simplified description of some functions
266 o str.c: refactor Str_Match
267 o var.c: debugging output for :@
268 constify VarModify parameter
269 fix :hash modifier on 16-bit platforms
270 remove unnecessary forward declarations
271 refactor ApplyModifier_SysV to have less indentation
272 simplify code for :E and :R
273 clean up code for :H and :T
274 refactor ApplyModifiers
276 * var.c: we need stdint.h on some platforms to get uint32_t
277 * unit-test/Makefile: we need to supress the specific error
278 for RE substitution error in modmisc, since it varies accross
281 2020-07-02 Simon J Gerraty <sjg@beast.crufty.net>
283 * VERSION (_MAKE_VERSION): 20200702
284 Merge with NetBSD make, pick up
285 o var.c: more improvements to avoiding unnecessary evaluation
287 o remove flags arg to Var_Set which outside of var.c is always 0
289 2020-07-01 Simon J Gerraty <sjg@beast.crufty.net>
291 * VERSION (_MAKE_VERSION): 20200701
292 Merge with NetBSD make, pick up
293 o var.c: with change to cond.c; ensure that nested variables
294 within a variable name are expanded.
295 o unit-tests/varmisc.mk: test for nested varname
297 2020-06-29 Simon J Gerraty <sjg@beast.crufty.net>
299 * VERSION (_MAKE_VERSION): 20200629
300 Merge with NetBSD make, pick up
301 o cond.c: do not eval unnecessary terms of conditionals.
303 2020-06-25 Simon J Gerraty <sjg@beast.crufty.net>
305 * VERSION (_MAKE_VERSION): 20200625
306 Merge with NetBSD make, pick up
307 o meta.c: report error if lseek in filemon_read fails
309 2020-06-22 Simon J Gerraty <sjg@beast.crufty.net>
311 * VERSION (_MAKE_VERSION): 20200622
312 Merge with NetBSD make, pick up
313 o dieQuietly: ignore OP_SUBMAKE as too aggressive
315 2020-06-19 Simon J Gerraty <sjg@beast.crufty.net>
317 * VERSION (_MAKE_VERSION): 20200619
318 Merge with NetBSD make, pick up
319 o str.c: performance improvement for Str_Match for multiple '*'
320 o dieQuietly: supress the failure output from make
321 when failing node is a sub-make or a sibling failed.
322 This cuts down greatly on unhelpful noise at the end of
323 build log. Disabled by -dj or .MAKE.DIE_QUIETLY=no
325 2020-06-10 Simon J Gerraty <sjg@beast.crufty.net>
327 * FILES: add LICENSE to appease some packagers.
328 This is an attempt to fairly represent the license on almost
329 200 files, which are almost all BSD-3-Clause
330 The few exceptions being more liberal.
332 * VERSION (_MAKE_VERSION): 20200610
333 Merge with NetBSD make, pick up
336 2020-06-06 Simon J Gerraty <sjg@beast.crufty.net>
338 * VERSION (_MAKE_VERSION): 20200606
339 Merge with NetBSD make, pick up
342 * Makefile: fix depends for main.o which broke MAKE_VERSION
344 2020-06-05 Simon J Gerraty <sjg@beast.crufty.net>
346 * VERSION (_MAKE_VERSION): 20200605
347 Merge with NetBSD make, pick up
348 o dir.c: cached_stats - don't confuse stat and lstat results.
349 o var.c: add :Or for reverse sort.
351 2020-05-24 Simon J Gerraty <sjg@beast.crufty.net>
353 * configure.in: add AC_PROG_CC_C99 for mipspro compiler
354 also if --with-filemon= specifies path to filemon.h
356 * dirname.c: remove include of namespace.h
358 2020-05-17 Simon J Gerraty <sjg@beast.crufty.net>
360 * VERSION (_MAKE_VERSION): 20200517
361 Merge with NetBSD make, pick up
362 o modified dollar tests to avoid shell dependencies
363 o new tests for .INCLUDEFROM
365 2020-05-16 Simon J Gerraty <sjg@beast.crufty.net>
367 * unit-tests/dollar.mk: tweak '1 dollar literal' test
368 to not depend so much on shell behavior
370 2020-05-10 Simon J Gerraty <sjg@beast.crufty.net>
372 * VERSION (_MAKE_VERSION): 20200510
373 Merge with NetBSD make, pick up
374 o unit test for dollar handling
376 2020-05-06 Simon J Gerraty <sjg@beast.crufty.net>
378 * VERSION (_MAKE_VERSION): 20200506
379 Merge with NetBSD make, pick up
380 o str.c: empty string does not match % pattern
381 plus unit-test changes
383 2020-05-04 Simon J Gerraty <sjg@beast.crufty.net>
385 * VERSION (_MAKE_VERSION): 20200504
386 May the 4th be with you
387 Merge with NetBSD make, pick up
388 o var.c: import handling of old sysV style modifier using '%'
389 o str.c: refactor brk_string
390 o unit-tests: add test case for lazy conditions
392 2020-04-18 Simon J Gerraty <sjg@beast.crufty.net>
394 * VERSION (_MAKE_VERSION): 20200418
396 * configure.in: use_makefile=no for cygwin et al.
397 case insensitive filesystems just don't work if both
398 makefile and Makefile exist.
399 NOTE: bmake does not support cygwin and likely never will,
400 but if brave souls want to try it - help them out.
402 2020-04-02 Simon J Gerraty <sjg@beast.crufty.net>
404 * VERSION (_MAKE_VERSION): 20200402
405 Merge with NetBSD make, pick up
406 o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD
407 a blank command is perfectly valid.
409 2020-03-30 Simon J Gerraty <sjg@beast.crufty.net>
411 * VERSION (_MAKE_VERSION): 20200330
412 Merge with NetBSD make, pick up
413 o make.h: extern debug_file
415 2020-03-18 Simon J Gerraty <sjg@beast.crufty.net>
417 * VERSION (_MAKE_VERSION): 20200318
418 Merge with NetBSD make, pick up
419 o meta.c: meta_oodate, check for corrupted meta file
420 earlier and more often.
422 2020-02-20 Simon J Gerraty <sjg@beast.crufty.net>
424 * VERSION (_MAKE_VERSION): 20200220
426 2020-02-19 Simon J Gerraty <sjg@beast.crufty.net>
428 * boot-strap: unset MAKEFLAGS
430 2020-02-12 Simon J Gerraty <sjg@beast.crufty.net>
432 * VERSION (_MAKE_VERSION): 20200212
433 * meta.c: meta_compat_parent check for USE_FILEMON
434 patch from Soeren Tempel
436 2020-02-05 Simon J Gerraty <sjg@beast.crufty.net>
439 Merge with NetBSD make, pick up
440 o meta.c: fix compat mode, need to call meta_job_output()
441 o job.c: extra fds for meta mode not needed if using filemon_dev
443 2020-01-22 Simon J Gerraty <sjg@beast.crufty.net>
446 Merge with NetBSD make, pick up
447 o meta.c: avoid passing NULL to filemon_*() when meta_needed()
450 2020-01-21 Simon J Gerraty <sjg@beast.crufty.net>
453 Merge with NetBSD make, pick up
454 o filemon/filemon_{dev,ktrace}.c: allow selection of
455 filemon implementation. filemon_dev.c uses the kernel module
456 while filemon_ktrace.c leverages the fktrace api available in
457 NetBSD. filemon_ktrace.c can hopefully form the basis for
458 adding support for other tracing mechanisms such as strace on
460 o meta.c: when target is out-of-date per normal make rules
461 record value of .OODATE in meta file.
463 2019-09-26 Simon J Gerraty <sjg@beast.crufty.net>
466 Merge with NetBSD make, pick up
467 o parse.c: don't pass NULL to realpath(3)
468 some versions cannot handle it.
470 2019-04-09 Simon J Gerraty <sjg@beast.crufty.net>
473 Merge with NetBSD make, pick up
474 o parse.c: ParseDoDependency: free paths rather than assert
476 2018-12-22 Simon J Gerraty <sjg@beast.crufty.net>
480 * configure.in: add --without-makefile to avoid generating
481 makefile and make-bootstrap.sh
483 * include Makefile.inc if it exists
485 * Use Makefile and Makefile.config.in in unit-tests
486 so we can use just: make obj && make && make test
487 when bmake is already available.
488 We add --without-makefile to CONFIGURE_ARGS in this case.
490 * tweak bsd.after-import.mk (captures Makefile.config etc
491 after import to FreeBSD for example) to cope with all the above.
493 2018-12-21 Simon J Gerraty <sjg@beast.crufty.net>
496 Merge with NetBSD make, pick up
497 o parse.c: ParseVErrorInternal use .PARSEDIR
498 and apply if relative, and then use .PARSEFILE
499 for consistent result.
501 2018-12-20 Simon J Gerraty <sjg@beast.crufty.net>
504 Merge with NetBSD make, pick up
505 o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR
507 o var.c: avoid SEGFAULT in .unexport-env
508 when MAKELEVEL is not set
510 2018-12-16 Simon J Gerraty <sjg@beast.crufty.net>
513 Merge with NetBSD make, pick up
514 o fix for unit-tests/varquote.mk on Debian
516 2018-09-21 Simon J. Gerraty <sjg@bad.crufty.net>
519 Merge with NetBSD make, pick up
521 o dir.c: cleanup caching of stats
523 2018-09-21 Simon J Gerraty <sjg@beast.crufty.net>
525 * Makefile.config.in: use += where it makes sense.
527 2018-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
530 Merge with NetBSD make, pick up
531 o job.c: skip polling job token pipe
533 2018-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
536 Merge with NetBSD make, pick up
537 o parse.c: be more cautious about detecting depenency line
538 rather than sysV style include.
540 2018-02-22 Simon J. Gerraty <sjg@bad.crufty.net>
543 Merge with NetBSD make, pick up
544 o parse.c: avoid calling sysconf for every call to loadfile
546 2018-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
549 Merge with NetBSD make, pick up
550 o var.c: Var_Set handle NULL value anytime.
552 2018-02-12 Simon J. Gerraty <sjg@bad.crufty.net>
555 Merge with NetBSD make, pick up
556 o parse.c: do not treat .info as warning with -W
558 2017-12-07 Simon J. Gerraty <sjg@bad.crufty.net>
561 Merge with NetBSD make, pick up
562 o var.c: Var_Append use Var_Set if var not previously set
563 so that VAR_CMD is handled correctly.
564 Add a suitable unit-test.
566 2017-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
568 * VERSION (_MAKE_VERSION): 20171126
570 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
571 since AC_TRY_COMPILE puts input inside main()
572 which upsets modern compilers.
574 2017-11-18 Simon J. Gerraty <sjg@bad.crufty.net>
577 Merge with NetBSD make, pick up
578 o var.c: do not append to variable set on command line
579 add unit-test to catch this.
581 2017-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
584 Merge with NetBSD make, pick up
585 o main.c: ignore empty MAKEOBJDIR
587 * Makefile.config.in:
588 make @prefix@ @machine*@ and @default_sys_path@ defaults.
590 2017-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
594 * unit-tests/dotwait.mk: redirect stderr through pipe for more
595 consistent result on some platforms.
597 2017-08-13 Simon J. Gerraty <sjg@bad.crufty.net>
599 * machine.sh: entry for AIX
601 2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
603 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
604 to a file that can be included by configure as well as make.
605 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
607 2017-08-10 Simon J. Gerraty <sjg@bad.crufty.net>
609 * Makefile (_MAKE_VERSION): 20170810
610 Merge with NetBSD make, pick up
611 o meta.c: if target is in subdir we only need subdir name in
614 2017-07-20 Simon J. Gerraty <sjg@bad.crufty.net>
616 * Makefile (_MAKE_VERSION): 20170720
617 Merge with NetBSD make, pick up
618 o compat.c: pass SIGINT etc onto child and wait for it to exit
619 before we self-terminate.
621 2017-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
623 * Makefile (_MAKE_VERSION): 20170711
624 forgot to update after merge on 20170708 ;-)
625 o main.c: refactor to reduce size of main function.
626 add -v option to always fully expand values.
627 o meta.c: ensure command output in meta file has ending newline
628 even when filemon not being used.
629 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
630 pathname via ':L' since any ':' in pathname breaks that.
631 Instead set a '${.p.}' to pathname in the target context and
634 2017-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
636 * Makefile (_MAKE_VERSION): 20170510
637 Merge with NetBSD make, pick up
638 o main.c: Main_SetObjdir: ensure buf2 is in scope
640 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
642 * Makefile (_MAKE_VERSION): 20170505
645 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
647 * parse.c: not everyone has stdint.h
649 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
651 * Makefile (_MAKE_VERSION): 20170501
654 2017-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
656 * Makefile (_MAKE_VERSION): 20170421
657 Merge with NetBSD make, pick up
658 o str.c: Str_Match: fix closure tests for [^] and add unit-test.
660 2017-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
662 * Makefile (_MAKE_VERSION): 20170420
663 Merge with NetBSD make, pick up
664 o main.c: only use -C arg "as is" if it contains no
667 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
669 * Makefile (_MAKE_VERSION): 20170418
670 Merge with NetBSD make, pick up
671 o main.c: fix Main_SetObjdir() for relative paths (eg obj).
673 2017-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
675 * Makefile (_MAKE_VERSION): 20170417
676 Merge with NetBSD make, pick up
677 o fixes a number of coverity complaints
678 - check return value of fseek, fcntl
679 - plug memory leak in Dir_FindFile, Var_LoopExpand,
680 JobPrintCommand, ParseTraditionalInclude
681 - use bmake_malloc() where NULL is not tollerated
682 - use MAKE_ATTR_UNUSED rather that kludges like
683 return(unused ? 0 : 0)
684 - use purge_cached_realpaths() rather than abuse cached_realpath()
686 2017-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
688 * Makefile (_MAKE_VERSION): 20170413
689 Merge with NetBSD make, pick up
690 o main.c: when setting .OBJDIR ignore '$' in paths.
692 * job.c: use MALLOC_OPTIONS to set malloc_options.
694 2017-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
696 * Makefile (_MAKE_VERSION): 20170411
697 Merge with NetBSD make, pick up
698 o str.c: Str_Match: allow [^a-z] to behave as expected.
700 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
702 * Makefile (_MAKE_VERSION): 20170326
703 Merge with NetBSD make, pick up
704 o main.c: purge relative paths from realpath cache when .OBJDIR
707 2017-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
709 * Makefile (_MAKE_VERSION): 20170311
710 Merge with NetBSD make, pick up
711 o main.c: only use -C arg "as is" if it starts with '/'.
713 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
715 * Makefile (_MAKE_VERSION): 20170301
716 Merge with NetBSD make, pick up
717 o main.c: use -C arg "as is" rather than getcwd()
718 if they identify the same directory.
719 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
721 2017-02-01 Simon J. Gerraty <sjg@bad.crufty.net>
723 * Makefile (_MAKE_VERSION): 20170201
724 Merge with NetBSD make, pick up
725 o var.c: allow :_=var and avoid use of special context.
727 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
729 * Makefile (_MAKE_VERSION): 20170130
730 Merge with NetBSD make, pick up
731 o var.c: add :range and :_
732 o main.c: partially initialize Dir_* before MainParseArgs()
734 If -V, skip Main_ExportMAKEFLAGS()
736 2017-01-14 Simon J. Gerraty <sjg@bad.crufty.net>
738 * Makefile (_MAKE_VERSION): 20170114
739 Merge with NetBSD make, pick up
740 o var.c: allow specifying the utc value used by :{gm,local}time
742 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
744 * Makefile (_MAKE_VERSION): 20161212
745 Merge with NetBSD make, pick up
746 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
748 2016-12-09 Simon J. Gerraty <sjg@bad.crufty.net>
750 * Makefile (_MAKE_VERSION): 20161209
751 Merge with NetBSD make, pick up
752 o main.c: cleanup setting of .OBJDIR
753 o parse.c: avoid coredump from (var)=val
755 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
757 * Makefile (_MAKE_VERSION): 20161126
758 Merge with NetBSD make, pick up
759 o make.c: Make_OODate: report src node name if path not set
761 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
763 * Makefile (_MAKE_VERSION): 20160926
764 Merge with NetBSD make, pick up
765 o support for .DELETE_ON_ERROR: (remove targets that fail)
767 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
769 * Makefile MAN: tweak .Dt to match ${PROG}
771 2016-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
773 * Makefile (_MAKE_VERSION): 20160818
774 its a neater number; pick up whitespace fixes to man page.
776 2016-08-17 Simon J. Gerraty <sjg@bad.crufty.net>
778 * Makefile (_MAKE_VERSION): 20160817
779 Merge with NetBSD make, pick up
780 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
781 so we can call it before adding entries to missingFiles.
782 Thus we do not track files we have been told to ignore.
784 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
786 * Makefile (_MAKE_VERSION): 20160815
787 Merge with NetBSD make, pick up
788 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
789 pathnames, and skip if the expansion is empty.
790 Useful for dirdeps.mk when checking DIRDEPS_CACHE.
792 2016-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
794 * Makefile (_MAKE_VERSION): 20160812
795 Merge with NetBSD make, pick up
796 o meta.c: remove all missingFiles entries that match a deleted
798 o main.c: set .ERROR_CMD if possible.
800 2016-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
802 * Makefile (_MAKE_VERSION): 20160606
803 Merge with NetBSD make, pick up
804 o dir.c: extend mtimes cache to others via cached_stat()
806 2016-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
808 * Makefile (_MAKE_VERSION): 20160604
809 Merge with NetBSD make, pick up
810 o meta.c: missing filemon data is only relevant if we read a
812 Also do not return oodate for a missing metafile if gn->path
815 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
817 * Makefile (_MAKE_VERSION): 20160602
818 Merge with NetBSD make, pick up
819 o cached_realpath(): avoid hitting filesystem more than necessary.
820 o meta.c: refactor need_meta decision, add knobs for
821 missing meta file and filemon data wrt out-of-datedness.
823 2016-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
825 * Makefile (_MAKE_VERSION): 20160528
827 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
829 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
831 * Makefile (_MAKE_VERSION): 20160512
832 Merge with NetBSD make, pick up
833 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
834 this is useful for gcov builds.
835 o propagate errors from filemon(4).
837 2016-05-09 Simon J. Gerraty <sjg@bad.crufty.net>
839 * Makefile (_MAKE_VERSION): 20160509
840 Merge with NetBSD make, pick up
841 o remove use of non-standard types u_int etc.
842 o meta.c: apply realpath() before matching against metaIgnorePaths
844 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
846 * Makefile (_MAKE_VERSION): 20160404
847 Merge with NetBSD make, pick up
848 o allow makefile to set .MAKE.JOBS
850 * Makefile (PROG_NAME): use ${_MAKE_VERSION}
852 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
854 * Makefile (_MAKE_VERSION): 20160315
855 Merge with NetBSD make, pick up
856 o fix handling of archive members
858 2016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
860 * Makefile (_MAKE_VERSION): rename variable to avoid interference
861 with checks for ${MAKE_VERSION}
863 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
865 * Makefile (MAKE_VERSION): 20160310
866 Merge with NetBSD make, pick up
867 o meta.c: treat missing Read file same as Write, incase we Delete it.
869 2016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
871 * Makefile (MAKE_VERSION): 20160307
872 Merge with NetBSD make, pick up
873 o var.c: fix :ts\nnn to be octal by default.
874 o meta.c: meta_finish() to cleanup memory.
876 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
878 * Makefile (MAKE_VERSION): 20160226
879 Merge with NetBSD make, pick up
880 o meta.c: allow meta file for makeDepend if makefiles want it.
882 2016-02-19 Simon J. Gerraty <sjg@bad.crufty.net>
884 * var.c: default .MAKE.SAVE_DOLLARS to FALSE
885 for backwards compatability.
887 * Makefile (MAKE_VERSION): 20160220
888 Merge with NetBSD make, pick up
889 o var.c: add knob to control handling of '$$' in :=
891 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
893 * Makefile (MAKE_VERSION): 20160218
894 Merge with NetBSD make, pick up
895 o var.c: add .export-literal allows us to fix sys.clean-env.mk
896 post the changes to Var_Subst.
897 Var_Subst now takes flags, and does not consume '$$' in :=
899 2016-02-17 Simon J. Gerraty <sjg@bad.crufty.net>
901 * Makefile (MAKE_VERSION): 20160217
902 Merge with NetBSD make, pick up
903 o var.c: preserve '$$' in :=
904 o parse.c: add .dinclude for handling included
905 makefile like .depend
907 2015-12-20 Simon J. Gerraty <sjg@bad.crufty.net>
909 * Makefile (MAKE_VERSION): 20151220
910 Merge with NetBSD make, pick up
911 o suff.c: re-initialize suffNull when clearing suffixes.
913 2015-12-01 Simon J. Gerraty <sjg@bad.crufty.net>
915 * Makefile (MAKE_VERSION): 20151201
916 Merge with NetBSD make, pick up
917 o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
918 o meta.c: meta_oodate: use lstat(2) for checking link target
919 in case it is a symlink.
920 o var.c: avoid calling brk_string and Var_Export1 with empty
923 2015-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
925 * Makefile (MAKE_VERSION): 20151126
926 Merge with NetBSD make, pick up
927 o parse.c: ParseTrackInput don't access beyond
930 2015-10-22 Simon J. Gerraty <sjg@bad.crufty.net>
932 * Makefile (MAKE_VERSION): 20151022
934 * Add support for BSD/OS which lacks inttypes.h
935 and really needs sys/param.h for sys/sysctl.h
936 also 'type' is not a shell builtin.
938 * var.c: eliminate uint32_t and need for inttypes.h
940 * main.c: PrintOnError flush stdout before run .ERROR
942 * parse.c: cope with _SC_PAGESIZE not being defined.
945 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
947 * Makefile (MAKE_VERSION): 20151020
948 Merge with NetBSD make, pick up
949 o var.c: fix uninitialized var
951 2015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
953 * var.c: the conditional expressions used with ':?' can be
954 expensive, if already discarding do not evaluate or expand
957 2015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
959 * Makefile (MAKE_VERSION): 20151010
960 Merge with NetBSD make, pick up
961 o Add Boolean wantit flag to Var_Subst and Var_Parse
962 when FALSE we know we are discarding the result and can
963 skip operations like Cmd_Exec.
965 2015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
967 * Makefile (MAKE_VERSION): 20151009
968 Merge with NetBSD make, pick up
969 o var.c: don't check for NULL before free()
970 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
972 2015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
974 * Makefile (MAKE_VERSION): 20150910
975 Merge with NetBSD make, pick up
976 o main.c: with -w print Enter/Leaving messages for objdir too
978 o centralize shell metachar handling
980 * FILES: add metachar.[ch]
982 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
984 * Makefile (MAKE_VERSION): 20150606
985 Merge with NetBSD make, pick up
986 o make.1: document .OBJDIR target
988 2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
990 * Makefile (MAKE_VERSION): 20150505
991 Merge with NetBSD make, pick up
992 o cond.c: be strict about lhs of comparison when evaluating .if
993 but less so when called from variable expansion.
994 o unit-tests/cond2.mk: test various error conditions
996 2015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
998 * machine.sh (MACHINE): Add Bitrig
999 patch from joerg@netbsd.org
1001 2015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
1003 * Makefile (MAKE_VERSION): 20150418
1004 Merge with NetBSD make, pick up
1005 o job.c: use memmove() rather than memcpy()
1007 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
1010 2015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
1012 * Makefile (MAKE_VERSION): 20150411
1013 bump version - only mk/ changes.
1015 2015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
1017 * Makefile (MAKE_VERSION): 20150410
1018 Merge with NetBSD make, pick up
1019 o document different handling of '-' in jobs mode vs compat
1020 o fix jobs mode so that '-' only applies to whole job
1021 when shell lacks hasErrCtl
1022 o meta.c: use separate vars to track lcwd and latestdir (read)
1025 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
1027 * Makefile (MAKE_VERSION): 20150401
1028 Merge with NetBSD make, pick up
1029 o meta.c: close meta file in child
1031 * Makefile: use BINDIR.bmake if set.
1032 Same for MANDIR and SHAREDIR
1033 Handy for testing release candidates
1034 in various environments.
1036 2015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
1038 * move initialization of savederr to block where it is used
1039 to avoid spurious warning from gcc5
1041 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
1043 * Makefile (MAKE_VERSION): 20141111
1044 just a cooler number
1046 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
1048 * Makefile (MAKE_VERSION): 20141105
1049 Merge with NetBSD make, pick up
1050 o revert major overhaul of suffix handling
1051 and POSIX compliance - too much breakage
1052 and impossible to make backwards compatible.
1053 o we still have the new unit test structure which is ok.
1054 o meta.c ensure "-- filemon" is at start of line.
1056 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
1058 * configure.in: test that result of getconf PATH_MAX is numeric
1059 and discard if not. Apparently needed for Hurd.
1061 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
1063 * Makefile (MAKE_VERSION): 20140830
1064 Merge with NetBSD make, pick up
1065 o major overhaul of suffix handling
1066 o improved POSIX compliance
1067 o overhauled unit-tests
1069 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
1071 * Makefile (MAKE_VERSION): 20140620
1072 Merge with NetBSD make, pick up
1073 o var.c return varNoError rather than var_Error for ::= modifiers.
1075 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
1077 * Makefile (MAKE_VERSION): 20140522
1078 Merge with NetBSD make, pick up
1079 o var.c detect some parse errors.
1081 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
1083 * Fix spelling errors - patch from Pedro Giffuni
1085 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
1087 * Makefile (MAKE_VERSION): 20140214
1088 Merge with NetBSD make, pick up
1090 o use Var_Value to get MAKEOBJDIR[PREFIX]
1091 o reduced realloc'ign in brk_string.
1092 * configure.in: add a check for compiler supporting __func__
1094 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
1096 * boot-strap: ignore mksrc=none
1098 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
1100 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
1102 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
1104 * Makefile (MAKE_VERSION): 20140101
1105 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
1106 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
1107 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
1109 * configure.in: Add AC_PREREQ and check for
1110 sysctl; patch from Andrew Shadura andrewsh at debian.org
1112 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
1114 * Makefile (MAKE_VERSION): 20131010
1115 * lose the const from arg to systcl to avoid problems on older BSDs.
1117 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
1119 * Makefile (MAKE_VERSION): 20131001
1120 Merge with NetBSD make, pick up
1121 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
1122 hw.machine_arch if necessary.
1123 o meta.c: meta_oodate - need to look at src of Link and target
1125 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
1126 provide __arraycount() if needed.
1128 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
1130 * Makefile (MAKE_VERSION): 20130904
1131 Merge with NetBSD make, pick up
1132 o Add VAR_INTERNAL context, so that internal setting of
1133 MAKEFILE does not override value set by makefiles.
1135 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
1137 * Makefile (MAKE_VERSION): 20130902
1138 Merge with NetBSD make, pick up
1139 o CompatRunCommand: only apply shellErrFlag when errCheck is true
1141 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
1143 * Makefile (MAKE_VERSION): 20130828
1144 Merge with NetBSD make, pick up
1145 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
1146 o Call Job_SetPrefix() from Job_Init() so makefiles have
1147 opportunity to set .MAKE.JOB.PREFIX
1149 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
1151 * Makefile (MAKE_VERSION): 20130730
1152 Merge with NetBSD make, pick up
1153 o Allow suppression of --- job -- tokens by setting
1154 .MAKE.JOB.PREFIX empty.
1156 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
1158 * Makefile (MAKE_VERSION): 20130716
1159 Merge with NetBSD make, pick up
1160 o number of gmake compatibility tweaks
1161 -w for gmake style entering/leaving messages
1162 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
1163 handle MAKEFLAGS containing only letters.
1164 o when overriding a GLOBAL variable on the command line,
1165 delete it from GLOBAL context so -V doesn't show the wrong
1168 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
1170 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
1172 * Makefile (MAKE_VERSION): 20130706
1173 Merge with NetBSD make, pick up
1174 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
1175 true so that CompatRunCommand() can use it, to ensure
1176 consistent behavior with jobs mode.
1177 o use MAKE_LEVEL_ENV to define the variable to propagate
1178 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
1179 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
1182 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1184 * Makefile (MAKE_VERSION): 20130604
1185 Merge with NetBSD make, pick up
1186 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
1187 to avoid leaking descriptors.
1189 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
1191 * Makefile (MAKE_VERSION): 20130528
1192 Merge with NetBSD make, pick up
1193 o var.c: cleanup some left-overs in VarHash()
1195 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
1197 * Makefile (MAKE_VERSION): 20130520
1198 generate manifest from component FILES rather than have to
1199 update FILES when mk/FILES changes.
1201 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
1203 * Makefile (MAKE_VERSION): 20130518
1204 Merge with NetBSD make, pick up
1205 o suff.c: don't skip all processsing for .PHONY targets
1206 else wildcard srcs do not get expanded.
1207 o var.c: expand name of variable to delete if necessary.
1209 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1211 * Makefile (MAKE_VERSION): 20130330
1212 Merge with NetBSD make, pick up
1213 o meta.c: refine the handling of .OODATE in commands.
1214 Rather than suppress command comparison for the entire script
1215 as though .NOMETA_CMP had been used, only suppress it for the
1217 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
1218 suppress comparison of a command without otherwise affecting it.
1219 o make.1: document that
1221 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
1223 * Makefile (MAKE_VERSION): 20130321
1224 yes, not quite right but its a cooler number.
1225 Merge with NetBSD make, pick up
1226 o parse.c: fix ParseGmakeExport to be portable
1227 and add a unit-test.
1228 * meta.c: call meta_init() before makefiles are read and if built
1229 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
1230 this let's makefiles test for support.
1231 Call meta_mode_init() to process .MAKE.MODE.
1233 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
1235 * Makefile (MAKE_VERSION): 20130305
1236 Merge with NetBSD make, pick up
1237 o run .STALE: target when a dependency from .depend is missing.
1238 o job.c: add Job_RunTarget() for the above and .BEGIN
1240 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
1242 * Makefile (MAKE_VERSION): 20130303
1243 Merge with NetBSD make, pick up
1244 o main.c: set .MAKE.OS to utsname.sysname
1245 o job.c: more checks for read and poll errors
1246 o var.c: lose VarChangeCase() saves 4% time
1248 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
1250 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
1251 want to use MAKEOBJDIR
1253 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
1255 * Merge with NetBSD make, pick up
1256 o make.1: more info on how shell commands are handled.
1257 o job.c,main.c: detect write errors to job pipes.
1259 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
1261 * Makefile (MAKE_VERSION): 20130123
1262 Merge with NetBSD make, pick up
1263 o meta.c: if script uses .OODATE and meta_oodate() decides
1264 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
1265 o var.c: in debug output indicate which variabale modifiers
1267 o remove Check_Cwd logic the makefiles have been fixed.
1269 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
1271 * makefile.in: add a simple makefile for folk who insist on
1272 ./configure; make; make install
1273 it just runs boot-strap
1274 * include mk/* to accommodate the above
1275 * boot-strap: re-work to accommodate the above
1276 mksrc defaults to $Mydir/mk
1277 allow op={configure,build,install,clean,all}
1278 add options to facilitate install
1279 * Makefile.config.in: just the bits set by configure
1280 * Makefile: bump version to 20121212
1281 abandon Makefile.in (NetBSD Makefile)
1282 leverage mk/* instead
1283 * configure.in: ensure srcdir is absolute
1285 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
1287 * Makefile.in (MAKE_VERSION): 20121111
1288 fix generation of bmake.cat1
1290 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
1292 * Makefile.in (MAKE_VERSION): 20121109
1293 Merge with NetBSD make, pick up
1294 o make.c: MakeBuildChild: return 0 so search continues if a
1295 .ORDER dependency is detected.
1296 o unit-tests/order: test the above
1298 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
1300 * Makefile.in (MAKE_VERSION): 20121102
1301 Merge with NetBSD make, pick up
1302 o cond.c: allow cond_state[] to grow.
1303 In meta mode with a very large tree, we can hit the limit
1304 while processing dirdeps.
1306 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
1308 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
1310 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1312 * Makefile.in (MAKE_VERSION): 20121010
1313 o protect syntax that only bmake parses correctly.
1314 o remove auto setting of FORCE_MACHINE, use configure's
1315 --with-force-machine=whatever if that is desired.
1317 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
1319 * Makefile.in: do not lose history from make.1 when generating bmake.1
1321 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
1323 * Makefile.in (MAKE_VERSION): 20121007
1324 Merge with NetBSD make, pick up
1325 o compat.c: ignore empty commands - same as jobs mode.
1326 o make.1: document meta chars that cause use of shell
1328 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
1330 * Makefile.in (MAKE_VERSION): bump version to 20120911
1331 * bsd.after-import.mk: include Makefile.inc early and allow it to
1334 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
1336 * Makefile.in (MAKE_VERSION): bump version to 20120831
1337 Merge with NetBSD make, pick up
1338 o cast sizeof() to int for comparison
1339 o minor make.1 tweak
1341 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
1343 * Makefile.in (MAKE_VERSION): bump version to 20120830
1344 Merge with NetBSD make, pick up
1345 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
1346 o debug flag -dV causes -V to show raw value regardless.
1348 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
1350 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
1353 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
1355 * Makefile.in (MAKE_VERSION): bump version to 20120704
1356 Merge with NetBSD make, pick up
1357 o Job_ParseShell should call Shell_Init if it has been
1359 * Makefile.in: set USE_META based on configure result.
1360 also .PARSEDIR is safer indicator of bmake.
1362 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
1364 * Makefile.in: bump version to 20120626
1365 ensure CPPFLAGS is in CFLAGS
1366 * meta.c: avoid nested externs
1367 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
1369 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
1371 * Makefile.in (MAKE_VERSION): bump version to 20120620
1372 Merge with NetBSD make, pick up
1373 o make_malloc.c: avoid including make_malloc.h again
1375 * Makefile.in: avoid bmake only syntax or protect with
1376 .if defined(.MAKE.LEVEL)
1377 * bsd.after-import.mk: replace .-include with .sinclude
1378 ensure? SRCTOP gets a value
1379 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
1381 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
1383 * Makefile.in (MAKE_VERSION): bump version to 20120612
1384 Merge with NetBSD make, pick up
1385 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
1386 for greater portability.
1387 o unit-tests/forloop: check that .for works as expected wrt
1388 number of times and with "quoted strings".
1390 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1392 * Makefile.in (MAKE_VERSION): bump version to 20120606
1393 Merge with NetBSD make, pick up
1394 o compat.c: use kill(2) rather than raise(3).
1395 * configure.in: look for sys/dev/filemon
1396 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
1397 and pass BOOTSTRAP_XTRAS to boot-strap.
1399 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1401 * Makefile.in (MAKE_VERSION): bump version to 20120604
1402 Merge with NetBSD make, pick up
1403 o util.c and var.c share same var for tracking if environ
1404 has been reallocated.
1405 o util.c provide getenv with setenv.
1406 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
1407 when the shell actively strips .MAKE.* from the environment.
1408 We still refer to the variable always as .MAKE.LEVEL
1409 * util.c fix bug in findenv() was finding prefix of name.
1410 * compat.c: re-raising SIGINT etc after running .INTERRUPT
1411 results in more reliable termination of all activity on many
1414 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
1416 * Makefile.in (MAKE_VERSION): bump version to 20120602
1417 Merge with NetBSD make, pick up
1418 o for.c: handle quoted items in .for list
1420 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
1422 * Makefile.in (MAKE_VERSION): bump version to 20120530
1423 Merge with NetBSD make, pick up
1424 o compat.c: ignore empty command.
1426 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1428 * Makefile.in (MAKE_VERSION): bump version to 20120524
1429 * FILES: add bsd.after-import.mk:
1430 A simple means of integrating bmake into a BSD build system.
1432 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
1434 * Makefile.in (MAKE_VERSION): bump version to 20120520
1435 Merge with NetBSD make, pick up
1436 o increased limit for nested conditionals.
1438 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
1440 * Makefile.in (MAKE_VERSION): bump version to 20120518
1441 Merge with NetBSD make, pick up
1442 o use _exit(2) in signal hanlder
1443 o Don't use the [dir] cache when building nodes that might have
1444 changed since the last exec.
1445 o Avoid nested extern declaration warnings.
1447 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
1449 * meta.c (fgetLine): avoid %z - not portable.
1450 * parse.c: Since we moved include of sys/mman.h
1451 and def's of MAP_COPY etc. we got dups from a merge.
1453 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
1455 * Makefile.in (MAKE_VERSION): bump version to 20120420
1456 Merge with NetBSD make, pick up
1457 o restore duplicate supression in .MAKE.MAKEFILES
1458 runtime saving can be significant.
1459 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
1460 consumption up to 20%.
1462 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1464 * Makefile.in (MAKE_VERSION): bump version to 20120420
1465 Merge with NetBSD make, pick up
1466 o remove duplicate supression in .MAKE.MAKEFILES
1467 o improved dir cache behavior
1468 o gmake'ish export command
1470 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
1472 * Makefile.in (MAKE_VERSION): bump version to 20120325
1473 Merge with NetBSD make, pick up
1474 o fix parsing of :[#] in conditionals.
1476 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
1478 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
1479 since some systems cannot cope with .Nx <version>
1481 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
1483 * Makefile.in (MAKE_VERSION): bump version to 20111111
1484 Merge with NetBSD make, pick up
1485 o debug output for .PARSEDIR and .PARSEFILE
1487 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1489 * Makefile.in (MAKE_VERSION): bump version to 20111010
1491 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
1493 * boot-strap: check for an expected file in the dirs we look for.
1494 * make-bootstrap.sh: pass on LDSTATIC
1496 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
1498 * Makefile.in (MAKE_VERSION): bump version to 20111001
1499 Merge with NetBSD make, pick up
1500 o ensure .PREFIX is set for .PHONY
1501 and .TARGET set for .PHONY run via .END
1502 o __dead used consistently
1504 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
1506 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
1508 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
1510 * Makefile.in (MAKE_VERSION): bump version to 20110905
1511 Merge with NetBSD make, pick up
1512 o meta_oodate: ignore makeDependfile
1514 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
1516 * Makefile.in (MAKE_VERSION): bump version to 20110828
1517 Merge with NetBSD make, pick up
1518 o silent=yes in .MAKE.MODE causes meta mode to mark targets
1519 as SILENT if a .meta file is created
1521 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
1523 * Makefile.in (MAKE_VERSION): bump version to 20110818
1524 Merge with NetBSD make, pick up
1525 o in meta mode, if target flagged .META a missing .meta file
1526 means target is out-of-date
1527 o fixes for gcc 4.5 warnings
1528 o simplify job printing code
1530 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
1532 * Makefile.in (MAKE_VERSION): bump version to 20110808
1533 Merge with NetBSD make, pick up
1534 o do not touch OP_SPECIAL targets when doing make -t
1536 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
1538 * Makefile.in (MAKE_VERSION): bump version to 20110622
1539 Merge with NetBSD make, pick up
1540 o meta_oodate detect corrupted .meta file and declare oodate.
1541 * configure.in: add check for setsid
1543 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
1545 * Merge with NetBSD make, pick up
1546 o unit-tests/modts now works on MirBSD
1548 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1550 * Makefile.in (MAKE_VERSION): bump version to 20110606
1551 Merge with NetBSD make, pick up
1552 o ApplyModifiers: when we parse a variable which is not
1553 the entire modifier string, or not followed by ':', do not
1554 consider it as containing modifiers.
1555 o loadfile: ensure newline at end of mapped file.
1557 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1559 * Makefile.in (MAKE_VERSION): bump version to 20110505
1560 Merge with NetBSD make, pick up
1561 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
1562 of make's control. In meta mode, any generated file within
1563 said bailiwick, which is found to be missing, causes current
1564 target to be out-of-date.
1566 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
1568 * Makefile.in (MAKE_VERSION): bump version to 20110411
1569 Merge with NetBSD make, pick up
1570 o when long modifiers fail to match, check sysV style.
1573 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
1575 * Makefile.in (MAKE_VERSION): bump version to 20110410
1576 Merge with NetBSD make, pick up
1577 o :hash - cheap 32bit hash of value
1578 o :localtime, :gmtime - use value as format string for strftime.
1580 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1582 * Makefile.in (MAKE_VERSION): bump version to 20110330
1583 mostly because its a cooler version.
1584 Merge with NetBSD make, pick up
1585 o NetBSD tags for meta.[ch]
1586 o job.c call meta_job_finish() after meta_job_error().
1587 o meta_job_error() should call meta_job_finish() to ensure
1588 .meta file is closed, and safe to copy - if .ERROR target wants.
1589 meta_job_finish() is safe to call repeatedly.
1591 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
1593 * unit-tests/modts: use printf if it is a builtin,
1594 to save us from MirBSD
1596 * Makefile.in (MAKE_VERSION): bump version to 20110329
1597 Merge with NetBSD make, pick up
1598 o fix for use after free() in CondDoExists().
1599 o meta_oodate() report extra commands and return earlier.
1601 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
1603 * Makefile.in (MAKE_VERSION): bump version to 20110327
1604 Merge with NetBSD make, pick up
1605 o meta.c, if .MAKE.MODE contains curdirOk=yes
1606 allow creating .meta files in .CURDIR
1607 * boot-strap (TOOL_DIFF): aparently at least on linux distro
1608 formats the output of 'type' differently - so eat any "()"
1610 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
1612 * Makefile.in (MAKE_VERSION): bump version to 20110306
1613 Merge with NetBSD make, pick up
1614 o meta.c, only do getcwd() once
1616 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
1618 * Makefile.in (MAKE_VERSION): bump version to 20110305
1619 Merge with NetBSD make, pick up
1620 o correct sysV substitution handling of empty lhs and variable
1621 o correct exists() check for dir with trailing /
1622 o correct handling of modifiers for non-existant variables
1623 during evaluation of conditionals.
1624 o ensure MAP_FILE is defined.
1625 o meta.c use curdir[] now exported by main.c
1627 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
1629 * Makefile.in (MAKE_VERSION): bump version to 20110225
1630 Merge with NetBSD make, pick up
1631 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1632 makefiles have been read.
1633 o fix example of :? modifier in man page.
1635 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
1637 * Makefile.in (MAKE_VERSION): bump version to 20110214
1638 Merge with NetBSD make, pick up
1639 o meta.c handle realpath() failing when generating meta file
1642 * sigcompat.c: convert to ansi so we can use higher warning levels.
1645 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
1647 * Makefile.in (MAKE_VERSION): bump version to 20110207
1648 Merge with NetBSD make, pick up
1649 o fix for bug in meta mode.
1651 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
1653 * parse.c: SunOS 5.8 at least does not have MAP_FILE
1655 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
1657 * Makefile.in (MAKE_VERSION): bump version to 20110101
1658 Merge with NetBSD make, pick up
1659 o use mmap(2) if available, for reading makefiles
1661 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
1663 * Makefile.in (MAKE_VERSION): bump version to 20101215
1664 Merge with NetBSD make, pick up
1665 o ensure meta_job_error() does not report a previous .meta file
1668 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
1670 * Makefile.in (MAKE_VERSION): bump version to 20101210
1671 Merge with NetBSD make, pick up
1672 o meta_oodate: track cwd per process, and only consider target
1673 out-of-date if missing file is outside make's CWD.
1674 Ignore files in /tmp/ etc.
1675 o to ensure unit-tests results match, need to control LC_ALL
1677 o fix for parsing bug in var.c
1679 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
1681 * Makefile.in (MAKE_VERSION): bump version to 20101126
1682 Merge with NetBSD make, pick up
1683 o if stale dependency is an IMPSRC, search via .PATH
1684 o meta_oodate: if a referenced file is missing, target is
1686 o meta_oodate: if a target uses .OODATE in its commands,
1687 it (.OODATE) needs to be recomputed.
1688 o keep a pointer to youngest child node, rather than just its
1691 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
1693 * Makefile.in (MAKE_VERSION): bump version to 20101101
1695 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
1697 * machine.sh: like os.sh,
1698 allow for uname -p producing useless drivel
1700 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
1702 * boot-strap: document configure knobs for meta and filemon.
1704 * Makefile.in (MAKE_VERSION): bump version to 20100911
1705 Merge with NetBSD make, pick up
1706 o meta.c - meta mode
1708 * make-bootstrap.sh.in: handle meta.c
1709 * configure.in: add knobs for use_meta and filemon_h
1710 also, look for dirname, str[e]sep and strlcpy
1711 * util.c: add simple err[x] and warn[x]
1713 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1715 * boot-strap (TOOL_DIFF): set this to ensure tests use
1716 the same version of diff that configure tested
1718 * Makefile.in (MAKE_VERSION): bump version to 20100808
1719 Merge with NetBSD make, pick up
1720 o in jobs mode, when we discover we cannot make something,
1721 call PrintOnError before exit.
1723 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
1725 * Makefile.in (MAKE_VERSION): bump version to 20100806
1726 Merge with NetBSD make, pick up
1727 o formatting fixes for ignored errors
1728 o ensure jobs are cleaned up regardless of where wait() was called.
1730 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
1732 * Makefile.in (MAKE_VERSION): bump version to 20100618
1733 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1735 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
1737 * Makefile.in (MAKE_VERSION): bump version to 20100616
1738 Merge with NetBSD make, pick up
1740 o call PrintOnError from JobFinish when we detect an error we
1743 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1745 * Makefile.in (MAKE_VERSION): bump version to 20100606
1746 Merge with NetBSD make, pick up
1749 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
1751 * Makefile.in (MAKE_VERSION): bump version to 20100605
1752 Merge with NetBSD make, pick up
1753 o use bmake_signal() which is a wrapper around sigaction()
1754 in place of signal()
1755 o add .export-env to allow exporting variables to environment
1756 without tracking (so no re-export when the internal value is
1759 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1761 * Makefile.in (MAKE_VERSION): bump version to 20100524
1762 Merge with NetBSD make, pick up
1763 o fix for .info et al being greedy.
1765 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
1767 * Makefile.in (MAKE_VERSION): bump version to 20100520
1768 Merge with NetBSD make, pick up
1769 o back to using realpath on argv[0]
1770 but only if contains '/' and does not start with '/'.
1772 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
1774 * boot-strap: use absolute path for bmake when running tests.
1776 * Makefile.in (MAKE_VERSION): bump version to 20100510
1777 Merge with NetBSD make, pick up
1778 o revert use of realpath on argv[0]
1779 too many corner cases.
1780 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
1782 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1784 * Makefile.in (MAKE_VERSION): bump version to 20100505
1785 Merge with NetBSD make, pick up
1786 o fix for missed SIGCHLD when compiled with SunPRO
1787 actually for bmake, defining FORCE_POSIX_SIGNALS would have
1790 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
1792 * Makefile.in (MAKE_VERSION): bump version to 20100430
1793 Merge with NetBSD make, pick up
1794 o fflush stdout before writing to stdout
1796 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
1798 * Makefile.in (MAKE_VERSION): bump version to 20100423
1799 Merge with NetBSD make, pick up
1800 o updated unit tests for Haiku (this time for sure).
1801 * boot-strap: based on patch from joerg
1802 honor --with-default-sys-path better.
1803 * boot-strap: remove mention of --with-prefix-sys-path
1805 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
1807 * Makefile.in (MAKE_VERSION): bump version to 20100422
1808 * Merge with NetBSD make, pick up
1809 o fix for vfork() on Darwin.
1810 o fix for bogus $TMPDIR.
1811 o set .MAKE.MODE=compat for -B
1812 o set .MAKE.JOBS=max_jobs for -j max_jobs
1813 o allow unit-tests to run without any *.mk
1814 o unit-tests/modmisc be more conservative in dirs presumed to exist.
1815 * boot-strap: ignore /usr/share/mk except on NetBSD.
1816 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
1817 ensure sort(1) behaves as expected.
1819 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
1821 * boot-strap: add FindHereOrAbove so we can use -m .../mk
1823 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1825 * Makefile.in (MAKE_VERSION): bump version to 20100420
1826 * Merge with NetBSD make, pick up
1827 o fix for variable realpath() behavior.
1828 we have to stat(2) the result to be sure.
1829 o fix for .export (all) when nested vars use :sh
1831 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
1833 * Makefile.in (MAKE_VERSION): bump version to 20100414
1834 * Merge with NetBSD make, pick up
1835 o use realpath to resolve argv[0] (for .MAKE) if needed.
1836 o add realpath from libc.
1837 o add :tA to resolve variable via realpath(3) if possible.
1839 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
1841 * Makefile.in (MAKE_VERSION): bump version to 20100408
1842 * Merge with NetBSD make, pick up
1843 o unit tests for .ERROR, .error
1844 o fix for .ERROR to ensure it cannot be default target.
1846 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
1848 * Makefile.in (MAKE_VERSION): bump version to 20100406
1849 * Merge with NetBSD make, pick up
1850 o fix for compat mode "Error code" going to debug_file.
1851 o fix for .ALLSRC being populated twice.
1852 o support for .info, .warning and .error directives
1853 o .MAKE.MODE to control make's operational mode
1854 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
1856 o .MAKE.DEPENDFILE to control the name of the depend file
1857 o .ERROR target - run on failure.
1859 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
1861 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
1863 * os.sh,arch.c: patch for Haiku from joerg at netbsd
1865 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
1867 * Makefile.in (MAKE_VERSION): bump version to 20100222
1868 * Merge with NetBSD make, pick up
1869 o better error msg for .for with mutiple inter vars
1872 o use make-bootstrap.sh from joerg at netbsd
1873 to avoid the need for a native make when bootstrapping.
1874 o add "" everywhere ;-)
1875 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
1876 otherwise the pre-formated version.
1878 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
1880 * Makefile.in (MAKE_VERSION): bump version to 20100102
1881 * Merge with NetBSD make, pick up:
1884 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
1886 * Makefile.in (MAKE_VERSION): bump version to 20091118
1887 * Merge with NetBSD make, pick up:
1889 o report lines that start with '.' and should have ':'
1890 (catch typo's of .el*if).
1892 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1894 * configure.in: Ensure that srcdir and mksrc are absolute paths.
1896 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
1898 * Makefile.in (MAKE_VERSION): fix version to 20091007
1900 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
1902 * Makefile.in (MAKE_VERSION): bump version to 200910007
1903 * Merge with NetBSD make, pick up:
1904 o fix for parsing of :S;...;...; applied to .for loop iterator
1905 appearing in a dependency line.
1907 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
1909 * Makefile.in (MAKE_VERSION): bump version to 20090909
1910 * Merge with NetBSD make, pick up:
1911 o fix for -C, .CURDIR and .OBJDIR
1913 o allow share_dir to be set independent of prefix.
1914 o select default share_dir better when prefix ends in $HOST_TARGET
1915 o if FORCE_BSD_MK etc were set, include them in the suggested
1918 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
1920 * Makefile.in (MAKE_VERSION): bump version to 20090908
1921 * Merge with NetBSD make, pick up:
1922 o .MAKE.LEVEL for recursion tracking
1923 o fix for :M scanning \:
1925 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
1927 * configure.in: Don't -D__EXTENSIONS__ if
1928 AC_USE_SYSTEM_EXTENSIONS says "no".
1930 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
1932 * Makefile.in (MAKE_VERSION): bump version to 20090826
1933 Simplify MAKE_VERSION to just the bare date.
1934 * Merge with NetBSD make, pick up:
1935 o -C directory support.
1936 o support for SIGINFO
1937 o use $TMPDIR for temp files.
1938 o child of vfork should be careful about modifying parent's state.
1941 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
1943 * Appy some patches for MiNT from David Brownlee
1945 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
1947 * Makefile.in (BMAKE_VERSION): bump version to 20090222
1948 * Merge with NetBSD make, pick up:
1949 o Possible null pointer de-ref in Var_Set.
1951 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
1953 * Makefile.in (BMAKE_VERSION): bump version to 20090204
1954 * Merge with NetBSD make, pick up:
1955 o bmake_malloc et al moved to their own .c
1956 o Count both () and {} when looking for the end of a :M pattern
1957 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
1958 o strlist.c - functions for processing extendable arrays of pointers to strings.
1959 o ClientData replaced with void *, so const void * can be used.
1960 o New debug flag C for DEBUG_CWD
1962 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
1964 * Makefile.in (BMAKE_VERSION): bump version to 20081111
1965 Apply patch from Joerg Sonnenberge to
1967 o remove some redundant checks
1968 o check for emlloc etc only in libutil and require the whole family.
1970 o remove [v]asprintf which is no longer used.
1972 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
1974 * Makefile.in (BMAKE_VERSION): bump version to 20081101
1975 * Merge with NetBSD make, pick up:
1976 o util.c: avoid use of putenv() - christos
1978 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
1980 * Makefile.in (BMAKE_VERSION): bump version to 20081030
1981 pick up man page tweaks.
1983 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
1985 * Makefile.in: move processing of LIBOBJS to after is definition!
1986 thus we'll have getenv.c in SRCS only if needed.
1988 * make.1: add examples of how to use :?
1990 * Makefile.in (BMAKE_VERSION): bump version to 20081029
1991 * Merge with NetBSD make, pick up:
1992 o fix for .END processing with -j
1993 o segfault from Parse_Error when no makefile is open
1994 o handle numeric expressions in any variable expansion
1995 o debug output now defaults to stderr, -dF to change it - apb
1996 o make now uses bmake_malloc etc so that it can build natively
1997 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
1999 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
2001 * Makefile.in (BMAKE_VERSION): bump version to 20080808
2002 * Merge with NetBSD make, pick up:
2003 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
2004 long lines in Makefiles
2005 o optimizations for VarQuote by joerg
2006 o fix for PR/38756: dominik: make dumps core on invalid makefile
2008 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
2010 * Makefile.in (BMAKE_VERSION): bump version to 20080515
2011 * Merge with NetBSD make, pick up:
2012 o fix skip setting vars in VAR_GLOBAL context, to handle
2013 cases where VAR_CMD is used for other than command line vars.
2015 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
2017 * boot-strap (make_version): we may need to look in
2018 $prefix/share/mk for sys.mk
2020 * Makefile.in (BMAKE_VERSION): bump version to 20080514
2021 * Merge with NetBSD make, pick up:
2022 o skip setting vars in VAR_GLOBAL context, when already set in
2023 VAR_CMD which takes precedence.
2025 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
2027 * Makefile.in (BMAKE_VERSION): bump version to 20080330
2028 * Merge with NetBSD make, pick up:
2029 o fix for ?= when LHS contains variable reference.
2031 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
2033 * merge some patches from NetBSD pkgsrc.
2035 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
2036 the MAKSYSPATH used during bootstrap.
2038 * Makefile.in (BMAKE_VERSION): bump version to 20080215
2039 * Merge with NetBSD make, pick up:
2040 o warn if non-space chars follow 'empty' in a conditional.
2042 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
2044 * Makefile.in (BMAKE_VERSION): bump version to 20080118
2045 * Merge with NetBSD make, pick up:
2046 o consider dependencies read from .depend as optional - dsl
2047 o remember when buffer for reading makefile grows - dsl
2048 o add -dl (aka LOUD) - David O'Brien
2050 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
2052 * Makefile.in (BMAKE_VERSION): bump version to 20071022
2053 * Merge with NetBSD make, pick up:
2054 o Allow .PATH<suffix> to be used for .include ""
2056 * boot-strap: source default settings from .bmake-boot-strap.rc
2058 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
2060 * Makefile.in: fix maninstall on various systems
2061 provided that our man.mk is used.
2062 For non-BSD systems we install the preformatted page
2065 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
2067 * boot-strap: make bmake.1 too, so maninstall works.
2069 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
2071 * Makefile.in (BMAKE_VERSION): bump version to 20071014
2072 * Merge with NetBSD make, pick up:
2073 o revamped handling of defshell - configure no longer needs to
2074 know the content of the shells array - apb
2075 o stop Var_Subst modifying its input - apb
2076 o avoid calling ParseTrackInput too often - dsl
2078 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
2080 * Makefile.in (BMAKE_VERSION): bump version to 20071011
2081 * Merge with NetBSD make, pick up:
2082 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
2084 * sigcompat.c: some tweaks for HP-UX 11.x based on
2085 patch from Tobias Nygren
2087 * configure.in: update handling of --with-defshell to match
2088 new make behavior. --with-defshell=/usr/xpg4/bin/sh
2089 will now do what one might hope - provided the chosen shell
2090 behaves enough like sh.
2092 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
2094 * Makefile.in (BMAKE_VERSION): bump to 20071008
2095 * Merge with NetBSD make, pick up:
2096 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
2097 o .export/.MAKE.EXPORTED - export of variables - sjg
2098 o .MAKE.MAKEFILES - track all makefiles read - sjg
2099 o performance improvements - dsl
2100 o revamp parallel job scheduling - dsl
2102 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
2104 * Makefile.in (BMAKE_VERSION): bump to 20060728
2105 * Merge with NetBSD make, pick up:
2106 o extra debug info during variable and cond processing - sjg
2107 o shell definition now covers newline - rillig
2108 o minor mem leak in PrintOnError - sjg
2110 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
2112 * Makefile.in (BMAKE_VERSION): bump to 20060511
2113 * Merge with NetBSD make, pick up:
2114 o more memory leaks - coverity
2115 o possible overflow in ArchFindMember - coverity
2116 o extract variable modifier code out of Var_Parse()
2117 so it can be called recursively - sjg
2118 o unit-tests/moderrs - sjg
2120 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
2122 * Makefile.in (BMAKE_VERSION): bump to 20060412
2123 * Merge with NetBSD make, pick up:
2124 o fixes for some memory leaks - coverity
2125 o only read first sys.mk etc when searching sysIncPath - sjg
2127 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
2128 setting ${MAKEFILE} - OBATA Akio
2130 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
2132 * Makefile.in (BMAKE_VERSION): bump to 20060318
2133 * Merge with NetBSD make, pick up:
2134 o cleanup of job.c to remove remote handling, distcc is more
2135 useful and this code was likely bit-rotting - dsl
2136 o fix for :P modifier - sjg
2137 * boot-strap: set default prefix to something reasonable
2140 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
2142 * Makefile.in (BMAKE_VERSION): bump to 20060301
2143 * Merge with NetBSD make, pick up:
2144 o make .WAIT apply recursively, document and test case - apb
2145 o allow variable modifiers in a variable appear anywhere in
2146 modifier list, document and test case - sjg
2148 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
2150 * Makefile.in (BMAKE_VERSION): bump to 20060222
2151 * Merge with NetBSD make, pick up:
2152 o improved job token handling - dsl
2153 o SIG_DFL the correct signal before exec - dsl
2154 o more debug info during parsing - dsl
2155 o allow variable modifiers to be specified via variable - sjg
2156 * boot-strap: explain why we died if no mksrc
2158 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
2160 * Makefile.in (BMAKE_VERSION): bump to 20051105
2161 * configure.in: always set default_sys_path
2162 default is ${prefix}/share/mk
2163 - remove prefix_sys_path, anyone wanting more than above
2164 needs to set it manually.
2166 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
2168 * boot-strap: make this a bit easier for pkgsrc folk.
2169 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
2170 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
2172 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
2174 * Makefile.in (BMAKE_VERSION): bump to 20051102
2175 * job.c (JobFinish): fix likely ancient merge lossage
2176 fix from Todd Vierling.
2177 * boot-strap (srcdir): allow setting mksrc=none
2179 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
2181 * Makefile.in (BMAKE_VERSION): bump to 20051031
2182 * ranlib.h: skip on OSF too.
2185 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
2187 * Makefile.in (BMAKE_VERSION): bump to 20051002
2190 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
2192 * Makefile.in (BMAKE_VERSION): bump to 20051001
2193 support for UnixWare and some other systems,
2194 based on patches from pkgsrc/bootstrap
2196 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
2198 * Makefile.in (BMAKE_VERSION): bump to 20050901
2199 * Merge with NetBSD make, pick up:
2200 o possible parse error causing us to wander off.
2202 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
2204 * Makefile.in (BMAKE_VERSION): bump to 20050606
2205 * Merge with NetBSD make, pick up:
2206 o :0x modifier for randomizing a list
2207 o fixes for a number of -Wuninitialized issues.
2209 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
2211 * Makefile.in (BMAKE_VERSION): bump to 20050530
2212 * Merge with NetBSD make, pick up:
2213 o Handle dependencies for .BEGIN, .END and .INTERRUPT
2215 * README: was seriously out of date.
2217 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
2219 * Important to use .MAKE rather than MAKE.
2221 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
2223 * Makefile.in (BMAKE_VERSION): bump to 20050315
2224 * Merge with NetBSD make, pick up:
2225 o don't mistake .elsefoo for .else
2226 o use suffix-specific search path correctly
2227 o bunch of style nits
2229 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
2232 o ensure that args to --src and --with-mksrc
2233 are resolved before giving them to configure.
2234 o add -o "objdir" so that builder can control it,
2235 default is $OS as determined by os.sh
2236 o add -q to suppress all the install instructions.
2238 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
2240 * Remove __IDSTRING()
2242 * Makefile.in (BMAKE_VERSION): bump to 20040508
2243 * Merge with NetBSD make, pick up:
2245 - remove '-e' from compat mode
2246 - add support for '+' command-line prefix.
2247 o fix for handling '--' on command-line.
2248 o fix include in lst.lib/lstInt.h to simplify '-I's
2249 o we also picked up replacement of MAKE_BOOTSTRAP
2250 with !MAKE_NATIVE which is a noop, but possibly confusing.
2252 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
2254 * Makefile.in (BMAKE_VERSION): bump to 20040414
2255 * Merge with NetBSD make, pick up:
2256 o allow quoted strings on lhs of conditionals
2257 o issue warning when extra .else is seen
2258 o print line numer when errors encountered during parsing from
2261 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
2263 * Makefile.in (BMAKE_VERSION): bump to 20040220
2264 * Merge with NetBSD make, pick up:
2265 o fix for old :M parsing bug.
2266 o re-jigged unit-tests
2268 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
2270 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
2271 so that './bmake -f Makefile test' works.
2273 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
2275 * Makefile.in: (BMAKE_VERSION): bump to 20040214
2276 * Merge with NetBSD make, pick up:
2277 o search upwards for *.mk
2278 o fix for double free of var substitution buffers
2279 o use of getopt replaced with custom code, since the usage
2280 (re-scanning) isn't posix compatible.
2282 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
2284 * arch.c: don't include ranlib.h on ELF systems
2285 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
2287 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
2289 * Makefile.in (BMAKE_VERSION): bump to 20040118
2291 * boot-strap (while): export vars we assign to on cmdline
2292 * unit-test/Makefile.in: ternary is .PHONY
2294 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
2296 * Makefile.in (BMAKE_VERSION): bump version to 20040108
2297 * Merge with NetBSD make, pick up:
2298 o fix for ternary modifier
2300 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
2302 * Makefile.in (BMAKE_VERSION): bump version to 20040105
2303 * Merge with NetBSD make, pick up:
2304 o fix for cond.c to handle compound expressions better
2305 o variable expansion within sysV style replacements
2307 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
2309 * Make portable snprintf safer - output to /dev/null first to
2312 * Makefile.in (BMAKE_VERSION): bump version to 20031222
2313 * Merge with NetBSD make, pick up:
2314 o -dg3 to show input graph when things go wrong.
2315 o explicitly look for makefiles in objdir if not found in curdir so
2316 that errors in .depend etc will be reported accurarely.
2317 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
2318 instead as it more accurately reflects the expected behavior and
2319 is more consistently implemented.
2320 o avoid use of asprintf.
2322 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
2324 * util.c: Add asprintf and vasprintf.
2326 * Makefile.in (BMAKE_VERSION): bump version to 20030928
2327 * Merge with NetBSD make, pick up:
2328 :[] modifier - allows picking words from a variable.
2329 :tW modifier - allows treating value as one big word.
2330 W flag for :C and :S - allows treating value as one big word.
2332 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
2334 * Merge with NetBSD make
2335 pick up -de flag to enable printing failed command.
2336 don't skip 1st two dir entries (normally . and ..) since
2337 coda does not have them.
2339 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
2341 * Makefile.in (BMAKE_VERSION): bump version to 20030909
2342 * Merge with NetBSD make, pick up:
2343 - changes for -V '${VAR}' to print fully expanded value
2345 - CompatRunCommand now prints the command that failed.
2346 - several files got updated 3 clause Berkeley license.
2348 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
2350 * boot-strap: Allow setting configure args on command line.
2352 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
2354 * configure.in: add --with-defshell to allow sh or ksh
2355 to be selected as default shell.
2357 * Makefile.in: bump version to 20030731
2359 * Merge with NetBSD make
2360 Pick up .SHELL spec for ksh and associate man page changes.
2361 Also compat mode now uses the same shell specs.
2363 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
2365 * var.c (Var_Parse): ensure delim is initialized.
2367 * unit-tests/Makefile.in: use single quotes to avoid problems from
2371 Run the unit-tests as part of the bootstrap procedure.
2373 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
2375 * unit-tests/Makefile.in: always force complaints from
2376 ${TEST_MAKE} to be from 'make'.
2378 * configure.in: add check for 'diff -u'
2379 also fix some old autoconf'isms
2381 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
2382 if using GCC add -Wno-cast-qual to CFLAGS for var.o
2384 * Merge with NetBSD make
2385 Pick up fix for :ts parsing error in some cases.
2388 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
2390 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
2392 * var.c (Var_Parse): fix bug in :ts modifier, after const
2393 correctness fixes, must pass nstr to VarModify.
2395 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
2397 * Makefile.in: BMAKE_VERSION switch to a date based version.
2398 We'll generally use the date of last import from NetBSD.
2400 * Merge with NetBSD make
2401 Pick up fixes for const-correctness, now passes WARNS=3 on
2403 Pick up :ts modifier, allows controlling the separator used
2404 between words in variable expansion.
2406 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
2408 * FILES: include boot-strap and os.sh
2410 * Makefile.in: only set WARNS if we are NetBSD, the effect on
2411 FreeBSD is known to be bad.
2413 * makefile.boot.in (bootstrap): make this the default target.
2415 * Makefile.in: bump version to 3.1.19
2417 * machine.sh: avoid A-Z with tr as it is bound to lose.
2419 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
2421 * Merge with NetBSD make
2422 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
2423 Plus some doc fixes.
2425 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
2427 * Merge with NetBSD make
2428 Pick up fix for PR/1523 - don't count a library as built, if there
2429 is no way to build it
2431 * Bump version to 3.1.18
2433 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
2435 * Merge with NetBSD make
2436 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
2437 appears in src list.
2439 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
2441 * Merge with NetBSD make (mmm 10th anniversary!)
2442 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
2443 pick up -X which tells us to not export VAR=val via setenv if
2444 we are already doing so via MAKEFLAGS. This saves valuable env
2445 space on systems like Darwin.
2446 set MAKE_VERSION to 3.1.17
2448 * parse.c: pix up fix for suffix rules
2450 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
2452 * Merge with NetBSD make.
2453 pick up fix for propagating -B via MAKEFLAGS.
2454 set MAKE_VERSION to 3.1.16
2456 * Apply some patches from pkgsrc-bootstrap/bmake
2457 Originally by Grant Beattie <grant@netbsd.org>
2458 I may have missed some - since they are based on bmake-3.1.12
2460 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
2462 * makefile.boot.in (bmake): update install targets for those that
2463 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
2464 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
2466 * bmake.cat1: update the pre-formatted man page!
2468 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
2470 * Merge with NetBSD make.
2471 pick up fix for premature free of pointer used in call
2473 set MAKE_VERSION to 3.1.15
2475 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
2477 * configure.in: determine suitable value for MKSRC.
2478 override using --with-mksrc=PATH.
2480 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
2481 configs(8) will use 'sun4' as an alias for 'sparc'.
2483 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
2485 * Merge with NetBSD make.
2487 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
2488 set MAKE_VERSION to 3.1.14
2489 add configure checks for killpg and sys/socket.h
2491 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
2495 * makefile.boot.in (bmake): use install-mk
2496 Also setup ./mk before trying to invoke bmake.boot incase we
2497 needed install-mk to create a sys.mk for us.
2499 * configure.in: If we need to add -I${srcdir}/missing, make it an
2500 absolute path so that it works for lst.lib too.
2502 * make.h: always include sys/cdefs.h since we provide one if the
2505 * Makefile.in (install-mk):
2506 use MKSRC/install-mk which will do the right thing.
2507 use uname -p for ARCH if possible.
2508 since install-mk will setup links bsd.prog.mk -> prog.mk if
2509 needed, just .include bsd.prog.mk
2511 * Merge with NetBSD make (NetBSD-1.6)
2512 Code is ansi-C only now.
2513 Bug in handling of dotLast is fixed.
2514 Can now assign .OBJDIR and make will reset its notions of life.
2515 New modifiers :tu :tl for toUpper and toLower.
2517 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
2519 * Merge with NetBSD make
2520 pick up fix for .END failure in compat mode.
2521 pick up fix for extra va_end() in ParseVErrorInternal.
2523 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
2525 * configure.in: for systems that have sys/cdefs.h check if it is
2526 compatible. If not, include the one under missing, but tell it to
2527 include the native one too - necessary on Linux.
2529 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
2530 include_next (for gcc) to get the native sys/cdefs.h
2532 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2534 * job.c (JobFinish): Fix an earlier merge bug that resulted in
2535 leaking descriptors when using -jN.
2537 * job.c (JobPrintCommand): See if "curdir" exists before
2538 attempting to chdir(). Doing the chdir directly in make (when in
2539 compat mode) fails silently, so let the -jN version do the same.
2540 This can happen when building kernels in an object tree and
2541 playing clever games to reset .CURDIR.
2543 * Merged with NetBSD make
2546 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2548 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
2550 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2552 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
2553 us not to export the iterator variable when using VAR_CMD context.
2555 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2557 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
2558 its the wrong "fix".
2560 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2562 * Redesigned export of VAR_CMD's via MAKEFLAGS.
2563 We now simply append the variable names to .MAKEOVERRIDES, and
2564 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
2565 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
2566 Apart from fixing quoting bugs in previous version, this allows us
2567 to export vars to the environment by simply doing:
2568 .MAKEOVERRIDES+= PATH
2569 Merged again with NetBSD make, but the above is the only change.
2571 * configure.in: added
2572 --disable-pwd-override disable $PWD overriding getcwd()
2573 --disable-check-make-chdir disable make trying to guess
2574 when it should automatically cd ${.CURDIR}
2576 * Merge with NetBSD make, changes include:
2577 parse.c (ParseDoDependency): Spot that the syntax error is
2578 caused by an unresolved cvs/rcs conflict and say so.
2579 var.c: most of Var* functions now take a ctxt as 1st arg.
2580 now does variable substituion on rhs of sysv style modifiers.
2582 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
2583 is now done here. We append the name='value' to .MAKEOVERRIDES
2584 rather than directly into MAKEFLAGS as this allows a Makefile to
2585 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
2586 very similar mechanism. Note that in adding name='value' to
2587 .MAKEOVERRIDES we do the moral equivalent of:
2588 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
2590 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2592 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
2594 * Merged with NetBSD make
2595 make -dx can now be used to run commands via sh -x
2596 better error messages on exec failures.
2598 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2600 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
2601 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
2602 MACHINE etc otherwise they propagate from the previous bmake.
2604 * configure.in (machine): allow --with-machine=generic to make
2605 configure use machine.sh to set MACHINE.
2607 * job.c (JobInterrupt): convert to using WAIT_T and friends.
2609 * Makefile.in: mention in bmake.1 that we use autoconf.
2611 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
2613 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2615 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
2616 as that rather defeats the usefulness of ${MAKEFILE}.
2618 * main.c (MainParseArgs): append command line variable assignments
2619 to MAKEFLAGS so that they get propagated to child make's.
2620 Apparently this is required POSIX behaviour? Its useful anyway.
2622 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2624 * compat.c (CompatRunCommand): don't use perror() since stdio may
2625 cause problems in child of vfork().
2627 * compat.c, main.c: Call PrintOnError() when we are going to bail.
2628 This routine prints out the .curdir where we stopped and will also
2629 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2631 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
2634 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
2636 * Added RCSid's for the files we've touched.
2638 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2640 * configure.in: Thanks to some clues from mdb@juniper.net,
2641 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2642 as well as what ends up in _PATH_DEFSYSPATH. We now have:
2644 --with-machine=MACHINE explicitly set MACHINE
2645 --with-force-machine=MACHINE set FORCE_MACHINE
2646 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
2647 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
2648 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
2649 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
2651 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2653 * makefile: added a pathetically simple makefile to drive
2654 bootstrapping. Running configure by hand is more useful.
2656 * Makefile.in: added MAKE_VERSION, and reworked things to be less
2657 dependent on NetBSD bsd.*.mk
2659 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2660 _PATH_OBJDIRPREFIX for those that don't want a default.
2661 construct _PATH_DEFSYSPATH from the info we get from configure.
2663 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2664 if MAKE_VERSION is defined.
2666 * compat.c: when we bail, print out the .CURDIR we were in.
2668 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2670 * Merged with NetBSD make
2672 * var.c: fixed a bug in the handling of the modifier :P
2673 if the node as found but the path was null, we segfault trying to
2676 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2678 * Merged with NetBSD make
2680 * make.c: Make_OODate's test for a library out of date was using
2681 cmtime where it should have used mtime (my bug).
2683 * compat.c: Use perror() to tell us what really went wrong when we
2684 cannot exec a command.
2686 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2688 * Merged with NetBSD make
2690 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2692 * Merged with NetBSD make
2694 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2696 * Merged with NetBSD make
2698 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2700 * Merged with NetBSD make
2702 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2704 * util.c: don't provide signal() since we use sigcompat.c
2706 * Makefile.in: added a build target.
2708 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2709 These allow some quite clever magic.
2711 * main.c (main): added support for getenv(MAKESYSPATH).
2713 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2715 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2716 This avoids objdir having a different value depending on how a
2717 directory was reached (via command line, or subdir.mk).
2719 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2721 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2723 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2724 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2725 I've been testing this in NetBSD's make for some weeks.
2727 * Turn Makefile into Makefile.in and make it useful.
2729 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2731 * Imported NetBSD's -current make(1) and resolve conflicts.
2733 * Applied autoconf patches from bmake v2
2735 * Imported clean code base from NetBSD-1.0