1 2020-11-01 Simon J Gerraty <sjg@beast.crufty.net>
3 * VERSION (_MAKE_VERSION): 20201101
4 Merge with NetBSD make, pick up
5 o negate NoExecute to GNode_ShouldExecute
6 o job.c: rename JobMatchShell to FindShellByName
7 extract EscapeShellDblQuot from JobPrintCommand
8 extract ParseRunOptions from JobPrintCommand
9 o var.c: extract ApplyModifiersIndirect from ApplyModifiers
10 treat malformed :range, :ts and :[...] as errors
11 add tests for the variable modifiers :[words] and :range
13 2020-10-31 Simon J Gerraty <sjg@beast.crufty.net>
15 * VERSION (_MAKE_VERSION): 20201031
16 Merge with NetBSD make, pick up
17 o format #include directives consistently
18 o do not look up local variables like .TARGET anywhere else
19 o main.c: Main_SetObjdir is first called for curdir which may be
21 reduce the scope where recursive expressions are detected
22 remove redundant :tl from getBoolean
24 o meta.c: simplify memory allocation in meta_create and meta_oodate
25 o parse.c: extract loadedfile_mmap from loadfile
26 o trace.c: document possible undefined behavior with .CURDIR
27 o var.c: make parsing of the :gmtime and :localtime modifiers stricter
28 rename ismeta to is_shell_metachar
29 remove debug logging for the :Q variable modifier
30 rename VarIsDynamic to VarnameIsDynamic
31 use consistent parameter order in varname parsing functions
32 extract ParseVarnameLong from Var_Parse
33 extract ParseVarnameShort from Var_Parse
34 fix type of ParseModifierPart parameter delim
35 extract IsEscapedModifierPart from ParseModifierPart
37 add test for combining the :@ and :? variable modifiers
39 2020-10-30 Simon J Gerraty <sjg@beast.crufty.net>
41 * VERSION (_MAKE_VERSION): 20201030
42 Merge with NetBSD make, pick up
43 o change char * to void * in Var_Value
44 o make iterating over HashTable simpler
45 o rename VAR_CMD to VAR_CMDLINE
46 o cond.c: clean up is_separator
47 fix parse error in string literal in conditional
48 o main.c: do not use objdir that is not writable
49 in lint mode, exit with error status on errors
50 o parse.c: clean up StrContainsWord
51 fix out-of-bounds pointer in ParseTrackInput
52 o var.c: rename Str_SYSVMatch and its parameters
53 remove unsatisfiable conditions in Var_Set_with_flags
54 document where the variable name is expanded
55 fix documentation for VARP_SUB_ONE
56 rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME
58 prevent appending to read-only variables
59 extract MayExport from Var_Export1
60 remove redundant evaluations in VarFind
61 replace VarFindFlags with a simple Boolean
62 rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE
64 2020-10-28 Simon J Gerraty <sjg@beast.crufty.net>
66 * VERSION (_MAKE_VERSION): 20201028
67 Merge with NetBSD make, pick up
68 o rename defIncPath to defSysIncPath
69 o initialize all CmdOpts fields
70 o lst.c: inline Vector_Get
71 o main.c: refactor main extract
72 InitMaxJobs,InitObjdir,InitVarMake,InitRandom,
73 ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules,
74 InitDefIncPath,CmdOpts_Init,UnlimitFiles
75 o parse.c: merge curFile into includes
76 rename predecessor to order_pred
77 sort ParseSpecial alphabetically
78 remove unused, undocumented .NOEXPORT
79 rename ParseSpecial enum values consistently
80 rename some fields of struct IFile
82 2020-10-26 Simon J Gerraty <sjg@beast.crufty.net>
84 * VERSION (_MAKE_VERSION): 20201026
85 Merge with NetBSD make, pick up
86 o group the command line options and arguments into a struct
87 o rename GNode.cmgn to youngestChild
88 o rename hash functions to identify the type name
89 o negate OP_NOP and rename it to GNode_IsTarget
90 o add GNode_Path to access the path of a GNode
91 o remove macros MIN and MAX
92 o remove unused Lst_Find and Lst_FindFrom
93 o arch.c: and make Arch_FindLib simpler
95 make Arch_ParseArchive simpler
96 o cond.c: inline CondFindStrMatch into FuncMake
97 o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath
98 omit trailing space in debug output for expanding file patterns
99 refactor DirMatchFiles
100 document that the SearchPath of Dir_FindFile may be NULL
101 remove UNCONST from Dir_Expand
103 o for.c: clean up code for handling .for loops
104 o hash.c: print hash in debug log with fixed width
105 clean up hash table functions
106 reduce amount of string hashing
107 o job.c: refactor JobDeleteTarget
108 use proper enum constants for aborting
109 convert result of JobStart from macros to enum
110 convert abort reason macros to enum
111 rework Job_CheckCommands to reduce indentation
113 add field names in declaration of DEFSHELL_CUSTOM
114 convert JobState and JobFlags to enum types
115 move handling of the "..." command to JobPrintCommands
118 remove Lst_Open, Lst_Next, Lst_Close
119 remove code for circular lists from Lst_Next
120 o main.c: do not attempt to read .MAKE.DEPENFILE if set to
121 /dev/null or anything starting with "no"
122 convert macros for debug flags into enum
123 o make.c: inline Lst_Copy in Make_ExpandUse
124 o meta.c: inline Lst_Find in meta_oodate
125 make Lst_RemoveIf simpler in meta_oodate
126 o parse.c: convert error level for Parse_Error to an enum
127 o suff.c: properly terminate debug output with newline
128 add more details to DEBUG_SRC log
129 replace Dir_CopyDir with Dir_CopyDirSearchPath
130 don't modify GNode name while rebuilding the suffix graph
131 o var.c: reduce duplicate code in VarFind
133 2020-10-22 Simon J Gerraty <sjg@beast.crufty.net>
135 * VERSION (_MAKE_VERSION): 20201022
136 Merge with NetBSD make, pick up
137 o more refactoring and simplification to reduce code size
138 o var.c: extract CanonicalVarname from VarFind
139 o make.c: extract UpdateImplicitParentsVars from Make_Update
140 o main.c: extract PrintVar from doPrintVars
141 extract HandlePWD from main
142 o lst.c: inline simple Lst getters
143 remove unused Lst_ForEach
144 o job.c: move struct Shell from job.h to job.c
147 2020-10-19 Simon J Gerraty <sjg@beast.crufty.net>
149 * configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT
151 2020-10-18 Simon J Gerraty <sjg@beast.crufty.net>
153 * VERSION (_MAKE_VERSION): 20201018
154 Merge with NetBSD make, pick up
156 o rename some Hash_* apis to Hash*
157 o replace execError with execDie
158 o rename Lst_Init to Lst_New
159 o add tags to enum types
160 o rename Stack to Vector
161 o parse.c: more refactoring
162 o unit-tests: make some tests use line buffered stdout
163 o unit-tests/Makefile: in meta mode do not make all tests depend on
164 Makefile, it isn't necessary.
166 2020-10-10 Simon J Gerraty <sjg@beast.crufty.net>
168 * main.c: check for CTL_HW being defined.
169 * unit-tests/Makefile: ensure export tests output are POSIX compliant
170 disable opt-debug-jobs test until it works on ubuntu
172 * VERSION (_MAKE_VERSION): 20201010
173 Merge with NetBSD make, pick up
174 o dir.c: remove pathname limit for Dir_FindHereOrAbove
175 o hash.c: replace strcpy with memcpy in Hash_CreateEntry
176 o main.c: extract init_machine and init_machine_arch from main
177 allow to disable debug logging options
178 o parse.c: enable format string truncation warnings
179 extract parsing of sources from ParseDoDependency
180 split ParseDoSrc into smaller functions
181 hide implementation details from Parse_DoVar
182 clean up parsing of variable assignments
183 split Parse_DoVar into manageable pieces
184 don't modify the given line during Parse_DoVar
185 fix out-of-bounds memory access in Parse_DoVar
186 fix parsing of the :sh assignment modifier
187 o var.c: rework memory allocation for the name of variables
188 extract ApplyModifier_Literal into separate function
189 in lint mode, reject modifiers without delimiter
190 do not export variable names starting with '-'
191 o fix double-free bug in -DCLEANUP mode
192 o more cleanup to enable higher warnings level
195 2020-10-02 Simon J Gerraty <sjg@beast.crufty.net>
197 * VERSION (_MAKE_VERSION): 20201002
198 Merge with NetBSD make, pick up
199 o dir.c: use hash table for looking up open directories by name
200 o main.c: clean up option handling
201 o parse.c: add missing const for Parse_AddIncludeDir
202 o var.c: ApplyModifier_To, update pp in each branch
203 o remove redundant function prototypes
206 2020-10-01 Simon J Gerraty <sjg@beast.crufty.net>
208 * VERSION (_MAKE_VERSION): 20201001
209 Merge with NetBSD make, pick up
210 o compat.c: comment about "..."
212 2020-09-30 Simon J Gerraty <sjg@beast.crufty.net>
214 * VERSION (_MAKE_VERSION): 20200930
215 Merge with NetBSD make, pick up
216 o job.c: split Job.jobPipe into 2 separate fields
217 replace Lst_Open with direct iteration
218 o lst.c: remove redundant assertions
219 o targ.c: replace Lst_Open with direct iteration
220 o var.c: fix bug in evaluation of indirect variable modifiers
221 extract ApplyModifier_Quote into separate function
222 o make debug logging simpler
224 2020-09-27 Simon J Gerraty <sjg@beast.crufty.net>
226 * VERSION (_MAKE_VERSION): 20200927
227 Merge with NetBSD make, pick up
228 o parse.c: ensure parse errors result in 'stopped in' message.
229 o compat.c: make parameter of Compat_RunCommand const
230 o main.c: extract InitVarTarget from main
231 o parse.c: rename ParseFinishLine to FinishDependencyGroup
232 refactor ParseDoDependency
233 o var.c: Var_Subst no longer returns string result
234 rename Var_ParsePP back to Var_Parse
235 in lint mode, improve error handling for undefined variables
236 extract ParseVarname from Var_Parse
237 o rename Lst_ForEach to Lst_ForEachUntil
238 o inline Lst_ForEachUntil in several cases
239 o clean up API for finding and creating GNodes
240 o fix assertion failure in -j mode with .END node
241 o inline and remove LstNode_Prev and LstNode_Next
242 o use fine-grained type names for lists and their nodes
245 2020-09-11 Simon J Gerraty <sjg@beast.crufty.net>
247 * VERSION (_MAKE_VERSION): 20200911
248 Merge with NetBSD make, pick up
249 o cond.c: split EvalComparison into smaller functions
250 reorder parameters of condition parsing functions
251 reduce code size in CondParser_Eval
252 rename CondGetString to CondParser_String
253 add CondLexer_SkipWhitespace
254 group the condition parsing state into a struct
255 in CondGetString, replace repeated Buf_Add with Buf_AddStr
256 o migrate Var_Parse to Var_ParsePP
257 o add wrappers around ctype.h functions
258 o lst.c: use a stack instead of a list for the nested include path
261 2020-09-04 Simon J Gerraty <sjg@beast.crufty.net>
263 * make-bootstrap.sh.in: adjust object list
265 2020-09-02 Simon J Gerraty <sjg@beast.crufty.net>
267 * VERSION (_MAKE_VERSION): 20200902
268 Merge with NetBSD make, pick up
269 o use make_stat to ensure no confusion over valid fields
270 returned by cached_stat
271 o var.c: make VarQuote const-correct
272 o add unit tests for .for
274 2020-09-01 Simon J Gerraty <sjg@beast.crufty.net>
276 * VERSION (_MAKE_VERSION): 20200901
277 Merge with NetBSD make, pick up
278 o rename Hash_Table fields
279 o make data types in Dir_HasWildcards more precise
281 2020-08-31 Simon J Gerraty <sjg@beast.crufty.net>
283 * VERSION (_MAKE_VERSION): 20200831
284 Merge with NetBSD make, pick up
285 o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds
286 o lst.c: Lst_Open renable assert that list isn't open
287 o unit test for .TARGET dependent flags
288 o var.c: fix aliasing bug in VarUniq
289 o more unit tests for :u
291 2020-08-30 Simon J Gerraty <sjg@beast.crufty.net>
293 * VERSION (_MAKE_VERSION): 20200830
294 Merge with NetBSD make, pick up
295 o allow for strict type checking for Boolean
296 o Var_Parse never returns NULL
297 o Var_Subst never returns NULL
298 o Lst_Find now takes boolean match function
299 o rename Lst_Memeber to Lst_FindDatum
300 o rename LstNode functions to match their type
301 o rename GNode.iParents to implicitParents
302 o fix assertion failure for .SUFFIXES in archives
303 o compat.c: clean up documentation for CompatInterrupt and Compat_Run
304 remove unreachable code from CompatRunCommand
305 o main.c: simplify getBoolean
306 o stc.c: replace brk_string with simpler Str_Words
307 o suff.c: add debug macros
309 2020-08-28 Simon J Gerraty <sjg@beast.crufty.net>
311 * VERSION (_MAKE_VERSION): 20200828
312 Merge with NetBSD make, pick up
313 o lst.c: inline LstIsValid and LstNodeIsValid
314 o remove trailing S from Lst function names after migration complete
315 o more comment cleanup/clarification
316 o suff.c: clean up suffix handling
319 2020-08-26 Simon J Gerraty <sjg@beast.crufty.net>
321 * VERSION (_MAKE_VERSION): 20200826
322 Merge with NetBSD make, pick up
323 o enum.c: distinguish between bitsets containing flags and
325 o var.c: fix error message for ::!= modifier with shell error
326 o fix bugs in -DCLEANUP mode
328 2020-08-24 Simon J Gerraty <sjg@beast.crufty.net>
330 * VERSION (_MAKE_VERSION): 20200824
331 Merge with NetBSD make, pick up
332 o in debug mode, print GNode details in symbols
334 2020-08-23 Simon J Gerraty <sjg@beast.crufty.net>
336 * VERSION (_MAKE_VERSION): 20200823
337 Merge with NetBSD make, pick up
338 o lst.c: more asserts,
339 make args to Lst_Find match others.
340 o var.c: pass flags to VarAdd
342 o str.c: brk_string return size_t for nwords
345 2020-08-22 Simon J Gerraty <sjg@beast.crufty.net>
347 * VERSION (_MAKE_VERSION):
348 Merge with NetBSD make, pick up
349 o var.c: support for read-only variables eg .SHELL
350 being the shell used to run scripts.
351 o lst.c: more simplification
352 o more documentation and style cleanup
354 o ensure unit-test/Makefile is run by TEST_MAKE
355 o reduce duplication of header inclusion
357 2020-08-21 Simon J Gerraty <sjg@beast.crufty.net>
359 * VERSION (_MAKE_VERSION): 20200821
360 Merge with NetBSD make, pick up
361 o lst.c: revert invalid assertion - but document it
362 o dir.c: split Dir_Init into two functions
364 2020-08-20 Simon J Gerraty <sjg@beast.crufty.net>
366 * lst.c: needs inttypes.h on Linux
368 * VERSION (_MAKE_VERSION): 20200820
369 Merge with NetBSD make, pick up
370 o make.1: clarify some passages
371 o var.c: more cleanup, clarify comments
372 o make_malloc.c: remove unreachable code
373 o cond.c: make CondGetString easier to debug
374 o simplify list usage
377 2020-08-16 Simon J Gerraty <sjg@beast.crufty.net>
379 * VERSION (_MAKE_VERSION): 20200816
380 Merge with NetBSD make, pick up
381 o refactor unit-tests to be more fine grained
382 not all tests moved yet
384 2020-08-14 Simon J Gerraty <sjg@beast.crufty.net>
386 * VERSION (_MAKE_VERSION): 20200814
387 Merge with NetBSD make, pick up
388 o more str_concat variants
389 o more enums for flags
390 o var.c: cleanup for higher warnings level
392 2020-08-10 Simon J Gerraty <sjg@beast.crufty.net>
394 * VERSION (_MAKE_VERSION): 20200810
395 Merge with NetBSD make, pick up
397 o general comment and style cleanup
399 2020-08-08 Simon J Gerraty <sjg@beast.crufty.net>
401 * VERSION (_MAKE_VERSION): 20200808
402 Merge with NetBSD make, pick up
403 o enum.[ch]: streamline, enums for use in flags and debug output
405 o var.c: reduce duplicate code for modifiers
406 debug logging for Var_Parse
407 more detailed debug output
410 2020-08-06 Simon J Gerraty <sjg@beast.crufty.net>
412 * unit-tests/Makefile: -r for recursive and include Makefile.inc
413 so I can run tests in meta mode
414 supress extra noise if in meta mode
416 * VERSION (_MAKE_VERSION): 20200806
417 Merge with NetBSD make, pick up
418 o parse.c: remove VARE_WANTRES for LINT
419 we just want to check parsing (for now).
421 2020-08-05 Simon J Gerraty <sjg@beast.crufty.net>
423 * VERSION (_MAKE_VERSION): 20200805
424 Merge with NetBSD make, pick up
425 o make.1: Rework the description of dependence operators
427 2020-08-03 Simon J Gerraty <sjg@beast.crufty.net>
429 * VERSION (_MAKE_VERSION): 20200803
430 Merge with NetBSD make, pick up
431 o revert some C99 usage, for max portability
434 2020-08-02 Simon J Gerraty <sjg@beast.crufty.net>
436 * VERSION (_MAKE_VERSION): 20200802
437 Merge with NetBSD make, pick up
440 2020-08-01 Simon J Gerraty <sjg@beast.crufty.net>
442 * Remove NetBSD specific plumbing from unit-tests/Makefile
444 * VERSION (_MAKE_VERSION): 20200801
445 Merge with NetBSD make, pick up
446 o make Var_Value return const
447 o size_t for buf sizes
448 o optimize some buffer operations - avoid strlen
450 2020-07-31 Simon J Gerraty <sjg@beast.crufty.net>
452 * VERSION (_MAKE_VERSION): 20200731
453 Merge with NetBSD make, pick up
454 o var.c: fix undefinded behavior for incomplete :t modifier
455 fixes unit-test/moderrs on Ubuntu
456 o parse.c: When parsing variable assignments other than :=
457 if DEBUG(LINT) test substition of value, so we get a file and
458 line number in the resulting error.
459 o dir.c: fix parsing of nested braces in dependency lines
462 2020-07-30 Simon J Gerraty <sjg@beast.crufty.net>
464 * VERSION (_MAKE_VERSION): 20200730
465 Merge with NetBSD make, pick up
466 o var.c: minor cleanup
467 o unit-tests: more tests to improve code coverage
469 2020-07-28 Simon J Gerraty <sjg@beast.crufty.net>
471 * VERSION (_MAKE_VERSION): 20200728
472 Merge with NetBSD make, pick up
473 o var.c: more optimizations
475 2020-07-26 Simon J Gerraty <sjg@beast.crufty.net>
477 * VERSION (_MAKE_VERSION): 20200726
478 Merge with NetBSD make, pick up
479 o collapse lsd.lib into lst.c - reduce code size and allow inlining
480 o lots of function comment updates
481 o var.c: more optimizations
482 o make return of Var_Parse const
484 2020-07-20 Simon J Gerraty <sjg@beast.crufty.net>
486 * VERSION (_MAKE_VERSION): 20200720
487 Merge with NetBSD make, pick up
488 o DEBUG_HASH report stats at end and tone down the noise
489 o var.c: each flag type gets its own prefix.
490 move SysV string matching to var.c
491 make ampersand in ${VAR:from=to&} an ordinary character
492 cleanup and simplify implementation of modifiers
493 o make.1: move documentation for assignment modifiers
495 2020-07-18 Simon J Gerraty <sjg@beast.crufty.net>
497 * VERSION (_MAKE_VERSION): 20200718
498 Merge with NetBSD make, pick up
499 o DEBUG_HASH to see how well the hash tables are working
501 2020-07-11 Simon J Gerraty <sjg@beast.crufty.net>
503 * bsd.after-import.mk: make sure we update unit-tests/Makefile
505 2020-07-10 Simon J Gerraty <sjg@beast.crufty.net>
507 * configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC
509 * VERSION (_MAKE_VERSION): 20200710
510 Merge with NetBSD make, pick up
511 o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall
512 o meta.c: target flagged .META is out-of-date if meta file missing
514 2020-07-09 Simon J Gerraty <sjg@beast.crufty.net>
516 * VERSION (_MAKE_VERSION): 20200709
517 Merge with NetBSD make, pick up
518 o cond.c: fix for compare_expression when doEval=0
519 o unit-tests/Makefile: rework
520 o filemon/filemon_dev.c: ensure filemon fd is closed on exec.
522 2020-07-04 Simon J Gerraty <sjg@beast.crufty.net>
524 * VERSION (_MAKE_VERSION): 20200704
525 Merge with NetBSD make, pick up
526 (most of this by rillig@)
527 o lots of style and white-space cleanup
528 o lots more unit tests for variable modifiers
529 o simplified description of some functions
530 o str.c: refactor Str_Match
531 o var.c: debugging output for :@
532 constify VarModify parameter
533 fix :hash modifier on 16-bit platforms
534 remove unnecessary forward declarations
535 refactor ApplyModifier_SysV to have less indentation
536 simplify code for :E and :R
537 clean up code for :H and :T
538 refactor ApplyModifiers
540 * var.c: we need stdint.h on some platforms to get uint32_t
541 * unit-test/Makefile: we need to supress the specific error
542 for RE substitution error in modmisc, since it varies accross
545 2020-07-02 Simon J Gerraty <sjg@beast.crufty.net>
547 * VERSION (_MAKE_VERSION): 20200702
548 Merge with NetBSD make, pick up
549 o var.c: more improvements to avoiding unnecessary evaluation
551 o remove flags arg to Var_Set which outside of var.c is always 0
553 2020-07-01 Simon J Gerraty <sjg@beast.crufty.net>
555 * VERSION (_MAKE_VERSION): 20200701
556 Merge with NetBSD make, pick up
557 o var.c: with change to cond.c; ensure that nested variables
558 within a variable name are expanded.
559 o unit-tests/varmisc.mk: test for nested varname
561 2020-06-29 Simon J Gerraty <sjg@beast.crufty.net>
563 * VERSION (_MAKE_VERSION): 20200629
564 Merge with NetBSD make, pick up
565 o cond.c: do not eval unnecessary terms of conditionals.
567 2020-06-25 Simon J Gerraty <sjg@beast.crufty.net>
569 * VERSION (_MAKE_VERSION): 20200625
570 Merge with NetBSD make, pick up
571 o meta.c: report error if lseek in filemon_read fails
573 2020-06-22 Simon J Gerraty <sjg@beast.crufty.net>
575 * VERSION (_MAKE_VERSION): 20200622
576 Merge with NetBSD make, pick up
577 o dieQuietly: ignore OP_SUBMAKE as too aggressive
579 2020-06-19 Simon J Gerraty <sjg@beast.crufty.net>
581 * VERSION (_MAKE_VERSION): 20200619
582 Merge with NetBSD make, pick up
583 o str.c: performance improvement for Str_Match for multiple '*'
584 o dieQuietly: supress the failure output from make
585 when failing node is a sub-make or a sibling failed.
586 This cuts down greatly on unhelpful noise at the end of
587 build log. Disabled by -dj or .MAKE.DIE_QUIETLY=no
589 2020-06-10 Simon J Gerraty <sjg@beast.crufty.net>
591 * FILES: add LICENSE to appease some packagers.
592 This is an attempt to fairly represent the license on almost
593 200 files, which are almost all BSD-3-Clause
594 The few exceptions being more liberal.
596 * VERSION (_MAKE_VERSION): 20200610
597 Merge with NetBSD make, pick up
600 2020-06-06 Simon J Gerraty <sjg@beast.crufty.net>
602 * VERSION (_MAKE_VERSION): 20200606
603 Merge with NetBSD make, pick up
606 * Makefile: fix depends for main.o which broke MAKE_VERSION
608 2020-06-05 Simon J Gerraty <sjg@beast.crufty.net>
610 * VERSION (_MAKE_VERSION): 20200605
611 Merge with NetBSD make, pick up
612 o dir.c: cached_stats - don't confuse stat and lstat results.
613 o var.c: add :Or for reverse sort.
615 2020-05-24 Simon J Gerraty <sjg@beast.crufty.net>
617 * configure.in: add AC_PROG_CC_C99 for mipspro compiler
618 also if --with-filemon= specifies path to filemon.h
620 * dirname.c: remove include of namespace.h
622 2020-05-17 Simon J Gerraty <sjg@beast.crufty.net>
624 * VERSION (_MAKE_VERSION): 20200517
625 Merge with NetBSD make, pick up
626 o modified dollar tests to avoid shell dependencies
627 o new tests for .INCLUDEFROM
629 2020-05-16 Simon J Gerraty <sjg@beast.crufty.net>
631 * unit-tests/dollar.mk: tweak '1 dollar literal' test
632 to not depend so much on shell behavior
634 2020-05-10 Simon J Gerraty <sjg@beast.crufty.net>
636 * VERSION (_MAKE_VERSION): 20200510
637 Merge with NetBSD make, pick up
638 o unit test for dollar handling
640 2020-05-06 Simon J Gerraty <sjg@beast.crufty.net>
642 * VERSION (_MAKE_VERSION): 20200506
643 Merge with NetBSD make, pick up
644 o str.c: empty string does not match % pattern
645 plus unit-test changes
647 2020-05-04 Simon J Gerraty <sjg@beast.crufty.net>
649 * VERSION (_MAKE_VERSION): 20200504
650 May the 4th be with you
651 Merge with NetBSD make, pick up
652 o var.c: import handling of old sysV style modifier using '%'
653 o str.c: refactor brk_string
654 o unit-tests: add test case for lazy conditions
656 2020-04-18 Simon J Gerraty <sjg@beast.crufty.net>
658 * VERSION (_MAKE_VERSION): 20200418
660 * configure.in: use_makefile=no for cygwin et al.
661 case insensitive filesystems just don't work if both
662 makefile and Makefile exist.
663 NOTE: bmake does not support cygwin and likely never will,
664 but if brave souls want to try it - help them out.
666 2020-04-02 Simon J Gerraty <sjg@beast.crufty.net>
668 * VERSION (_MAKE_VERSION): 20200402
669 Merge with NetBSD make, pick up
670 o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD
671 a blank command is perfectly valid.
673 2020-03-30 Simon J Gerraty <sjg@beast.crufty.net>
675 * VERSION (_MAKE_VERSION): 20200330
676 Merge with NetBSD make, pick up
677 o make.h: extern debug_file
679 2020-03-18 Simon J Gerraty <sjg@beast.crufty.net>
681 * VERSION (_MAKE_VERSION): 20200318
682 Merge with NetBSD make, pick up
683 o meta.c: meta_oodate, check for corrupted meta file
684 earlier and more often.
686 2020-02-20 Simon J Gerraty <sjg@beast.crufty.net>
688 * VERSION (_MAKE_VERSION): 20200220
690 2020-02-19 Simon J Gerraty <sjg@beast.crufty.net>
692 * boot-strap: unset MAKEFLAGS
694 2020-02-12 Simon J Gerraty <sjg@beast.crufty.net>
696 * VERSION (_MAKE_VERSION): 20200212
697 * meta.c: meta_compat_parent check for USE_FILEMON
698 patch from Soeren Tempel
700 2020-02-05 Simon J Gerraty <sjg@beast.crufty.net>
703 Merge with NetBSD make, pick up
704 o meta.c: fix compat mode, need to call meta_job_output()
705 o job.c: extra fds for meta mode not needed if using filemon_dev
707 2020-01-22 Simon J Gerraty <sjg@beast.crufty.net>
710 Merge with NetBSD make, pick up
711 o meta.c: avoid passing NULL to filemon_*() when meta_needed()
714 2020-01-21 Simon J Gerraty <sjg@beast.crufty.net>
717 Merge with NetBSD make, pick up
718 o filemon/filemon_{dev,ktrace}.c: allow selection of
719 filemon implementation. filemon_dev.c uses the kernel module
720 while filemon_ktrace.c leverages the fktrace api available in
721 NetBSD. filemon_ktrace.c can hopefully form the basis for
722 adding support for other tracing mechanisms such as strace on
724 o meta.c: when target is out-of-date per normal make rules
725 record value of .OODATE in meta file.
727 2019-09-26 Simon J Gerraty <sjg@beast.crufty.net>
730 Merge with NetBSD make, pick up
731 o parse.c: don't pass NULL to realpath(3)
732 some versions cannot handle it.
734 2019-04-09 Simon J Gerraty <sjg@beast.crufty.net>
737 Merge with NetBSD make, pick up
738 o parse.c: ParseDoDependency: free paths rather than assert
740 2018-12-22 Simon J Gerraty <sjg@beast.crufty.net>
744 * configure.in: add --without-makefile to avoid generating
745 makefile and make-bootstrap.sh
747 * include Makefile.inc if it exists
749 * Use Makefile and Makefile.config.in in unit-tests
750 so we can use just: make obj && make && make test
751 when bmake is already available.
752 We add --without-makefile to CONFIGURE_ARGS in this case.
754 * tweak bsd.after-import.mk (captures Makefile.config etc
755 after import to FreeBSD for example) to cope with all the above.
757 2018-12-21 Simon J Gerraty <sjg@beast.crufty.net>
760 Merge with NetBSD make, pick up
761 o parse.c: ParseVErrorInternal use .PARSEDIR
762 and apply if relative, and then use .PARSEFILE
763 for consistent result.
765 2018-12-20 Simon J Gerraty <sjg@beast.crufty.net>
768 Merge with NetBSD make, pick up
769 o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR
771 o var.c: avoid SEGFAULT in .unexport-env
772 when MAKELEVEL is not set
774 2018-12-16 Simon J Gerraty <sjg@beast.crufty.net>
777 Merge with NetBSD make, pick up
778 o fix for unit-tests/varquote.mk on Debian
780 2018-09-21 Simon J. Gerraty <sjg@bad.crufty.net>
783 Merge with NetBSD make, pick up
785 o dir.c: cleanup caching of stats
787 2018-09-21 Simon J Gerraty <sjg@beast.crufty.net>
789 * Makefile.config.in: use += where it makes sense.
791 2018-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
794 Merge with NetBSD make, pick up
795 o job.c: skip polling job token pipe
797 2018-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
800 Merge with NetBSD make, pick up
801 o parse.c: be more cautious about detecting depenency line
802 rather than sysV style include.
804 2018-02-22 Simon J. Gerraty <sjg@bad.crufty.net>
807 Merge with NetBSD make, pick up
808 o parse.c: avoid calling sysconf for every call to loadfile
810 2018-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
813 Merge with NetBSD make, pick up
814 o var.c: Var_Set handle NULL value anytime.
816 2018-02-12 Simon J. Gerraty <sjg@bad.crufty.net>
819 Merge with NetBSD make, pick up
820 o parse.c: do not treat .info as warning with -W
822 2017-12-07 Simon J. Gerraty <sjg@bad.crufty.net>
825 Merge with NetBSD make, pick up
826 o var.c: Var_Append use Var_Set if var not previously set
827 so that VAR_CMD is handled correctly.
828 Add a suitable unit-test.
830 2017-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
832 * VERSION (_MAKE_VERSION): 20171126
834 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__
835 since AC_TRY_COMPILE puts input inside main()
836 which upsets modern compilers.
838 2017-11-18 Simon J. Gerraty <sjg@bad.crufty.net>
841 Merge with NetBSD make, pick up
842 o var.c: do not append to variable set on command line
843 add unit-test to catch this.
845 2017-10-28 Simon J. Gerraty <sjg@bad.crufty.net>
848 Merge with NetBSD make, pick up
849 o main.c: ignore empty MAKEOBJDIR
851 * Makefile.config.in:
852 make @prefix@ @machine*@ and @default_sys_path@ defaults.
854 2017-10-05 Simon J. Gerraty <sjg@bad.crufty.net>
858 * unit-tests/dotwait.mk: redirect stderr through pipe for more
859 consistent result on some platforms.
861 2017-08-13 Simon J. Gerraty <sjg@bad.crufty.net>
863 * machine.sh: entry for AIX
865 2017-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
867 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION
868 to a file that can be included by configure as well as make.
869 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh
871 2017-08-10 Simon J. Gerraty <sjg@bad.crufty.net>
873 * Makefile (_MAKE_VERSION): 20170810
874 Merge with NetBSD make, pick up
875 o meta.c: if target is in subdir we only need subdir name in
878 2017-07-20 Simon J. Gerraty <sjg@bad.crufty.net>
880 * Makefile (_MAKE_VERSION): 20170720
881 Merge with NetBSD make, pick up
882 o compat.c: pass SIGINT etc onto child and wait for it to exit
883 before we self-terminate.
885 2017-07-11 Simon J. Gerraty <sjg@bad.crufty.net>
887 * Makefile (_MAKE_VERSION): 20170711
888 forgot to update after merge on 20170708 ;-)
889 o main.c: refactor to reduce size of main function.
890 add -v option to always fully expand values.
891 o meta.c: ensure command output in meta file has ending newline
892 even when filemon not being used.
893 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use
894 pathname via ':L' since any ':' in pathname breaks that.
895 Instead set a '${.p.}' to pathname in the target context and
898 2017-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
900 * Makefile (_MAKE_VERSION): 20170510
901 Merge with NetBSD make, pick up
902 o main.c: Main_SetObjdir: ensure buf2 is in scope
904 2017-05-08 Simon J. Gerraty <sjg@bad.crufty.net>
906 * Makefile (_MAKE_VERSION): 20170505
909 2017-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
911 * parse.c: not everyone has stdint.h
913 2017-05-01 Simon J. Gerraty <sjg@bad.crufty.net>
915 * Makefile (_MAKE_VERSION): 20170501
918 2017-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
920 * Makefile (_MAKE_VERSION): 20170421
921 Merge with NetBSD make, pick up
922 o str.c: Str_Match: fix closure tests for [^] and add unit-test.
924 2017-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
926 * Makefile (_MAKE_VERSION): 20170420
927 Merge with NetBSD make, pick up
928 o main.c: only use -C arg "as is" if it contains no
931 2017-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
933 * Makefile (_MAKE_VERSION): 20170418
934 Merge with NetBSD make, pick up
935 o main.c: fix Main_SetObjdir() for relative paths (eg obj).
937 2017-04-17 Simon J. Gerraty <sjg@bad.crufty.net>
939 * Makefile (_MAKE_VERSION): 20170417
940 Merge with NetBSD make, pick up
941 o fixes a number of coverity complaints
942 - check return value of fseek, fcntl
943 - plug memory leak in Dir_FindFile, Var_LoopExpand,
944 JobPrintCommand, ParseTraditionalInclude
945 - use bmake_malloc() where NULL is not tollerated
946 - use MAKE_ATTR_UNUSED rather that kludges like
947 return(unused ? 0 : 0)
948 - use purge_cached_realpaths() rather than abuse cached_realpath()
950 2017-04-13 Simon J. Gerraty <sjg@bad.crufty.net>
952 * Makefile (_MAKE_VERSION): 20170413
953 Merge with NetBSD make, pick up
954 o main.c: when setting .OBJDIR ignore '$' in paths.
956 * job.c: use MALLOC_OPTIONS to set malloc_options.
958 2017-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
960 * Makefile (_MAKE_VERSION): 20170411
961 Merge with NetBSD make, pick up
962 o str.c: Str_Match: allow [^a-z] to behave as expected.
964 2017-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
966 * Makefile (_MAKE_VERSION): 20170326
967 Merge with NetBSD make, pick up
968 o main.c: purge relative paths from realpath cache when .OBJDIR
971 2017-03-11 Simon J. Gerraty <sjg@bad.crufty.net>
973 * Makefile (_MAKE_VERSION): 20170311
974 Merge with NetBSD make, pick up
975 o main.c: only use -C arg "as is" if it starts with '/'.
977 2017-03-01 Simon J. Gerraty <sjg@bad.crufty.net>
979 * Makefile (_MAKE_VERSION): 20170301
980 Merge with NetBSD make, pick up
981 o main.c: use -C arg "as is" rather than getcwd()
982 if they identify the same directory.
983 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case
985 2017-02-01 Simon J. Gerraty <sjg@bad.crufty.net>
987 * Makefile (_MAKE_VERSION): 20170201
988 Merge with NetBSD make, pick up
989 o var.c: allow :_=var and avoid use of special context.
991 2017-01-30 Simon J. Gerraty <sjg@bad.crufty.net>
993 * Makefile (_MAKE_VERSION): 20170130
994 Merge with NetBSD make, pick up
995 o var.c: add :range and :_
996 o main.c: partially initialize Dir_* before MainParseArgs()
998 If -V, skip Main_ExportMAKEFLAGS()
1000 2017-01-14 Simon J. Gerraty <sjg@bad.crufty.net>
1002 * Makefile (_MAKE_VERSION): 20170114
1003 Merge with NetBSD make, pick up
1004 o var.c: allow specifying the utc value used by :{gm,local}time
1006 2016-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
1008 * Makefile (_MAKE_VERSION): 20161212
1009 Merge with NetBSD make, pick up
1010 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too.
1012 2016-12-09 Simon J. Gerraty <sjg@bad.crufty.net>
1014 * Makefile (_MAKE_VERSION): 20161209
1015 Merge with NetBSD make, pick up
1016 o main.c: cleanup setting of .OBJDIR
1017 o parse.c: avoid coredump from (var)=val
1019 2016-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
1021 * Makefile (_MAKE_VERSION): 20161126
1022 Merge with NetBSD make, pick up
1023 o make.c: Make_OODate: report src node name if path not set
1025 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
1027 * Makefile (_MAKE_VERSION): 20160926
1028 Merge with NetBSD make, pick up
1029 o support for .DELETE_ON_ERROR: (remove targets that fail)
1031 2016-09-26 Simon J. Gerraty <sjg@bad.crufty.net>
1033 * Makefile MAN: tweak .Dt to match ${PROG}
1035 2016-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
1037 * Makefile (_MAKE_VERSION): 20160818
1038 its a neater number; pick up whitespace fixes to man page.
1040 2016-08-17 Simon J. Gerraty <sjg@bad.crufty.net>
1042 * Makefile (_MAKE_VERSION): 20160817
1043 Merge with NetBSD make, pick up
1044 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore()
1045 so we can call it before adding entries to missingFiles.
1046 Thus we do not track files we have been told to ignore.
1048 2016-08-15 Simon J. Gerraty <sjg@bad.crufty.net>
1050 * Makefile (_MAKE_VERSION): 20160815
1051 Merge with NetBSD make, pick up
1052 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to
1053 pathnames, and skip if the expansion is empty.
1054 Useful for dirdeps.mk when checking DIRDEPS_CACHE.
1056 2016-08-12 Simon J. Gerraty <sjg@bad.crufty.net>
1058 * Makefile (_MAKE_VERSION): 20160812
1059 Merge with NetBSD make, pick up
1060 o meta.c: remove all missingFiles entries that match a deleted
1062 o main.c: set .ERROR_CMD if possible.
1064 2016-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1066 * Makefile (_MAKE_VERSION): 20160606
1067 Merge with NetBSD make, pick up
1068 o dir.c: extend mtimes cache to others via cached_stat()
1070 2016-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1072 * Makefile (_MAKE_VERSION): 20160604
1073 Merge with NetBSD make, pick up
1074 o meta.c: missing filemon data is only relevant if we read a
1076 Also do not return oodate for a missing metafile if gn->path
1079 2016-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
1081 * Makefile (_MAKE_VERSION): 20160602
1082 Merge with NetBSD make, pick up
1083 o cached_realpath(): avoid hitting filesystem more than necessary.
1084 o meta.c: refactor need_meta decision, add knobs for
1085 missing meta file and filemon data wrt out-of-datedness.
1087 2016-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
1089 * Makefile (_MAKE_VERSION): 20160528
1091 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION
1093 2016-05-12 Simon J. Gerraty <sjg@bad.crufty.net>
1095 * Makefile (_MAKE_VERSION): 20160512
1096 Merge with NetBSD make, pick up
1097 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS
1098 this is useful for gcov builds.
1099 o propagate errors from filemon(4).
1101 2016-05-09 Simon J. Gerraty <sjg@bad.crufty.net>
1103 * Makefile (_MAKE_VERSION): 20160509
1104 Merge with NetBSD make, pick up
1105 o remove use of non-standard types u_int etc.
1106 o meta.c: apply realpath() before matching against metaIgnorePaths
1108 2016-04-04 Simon J. Gerraty <sjg@bad.crufty.net>
1110 * Makefile (_MAKE_VERSION): 20160404
1111 Merge with NetBSD make, pick up
1112 o allow makefile to set .MAKE.JOBS
1114 * Makefile (PROG_NAME): use ${_MAKE_VERSION}
1116 2016-03-15 Simon J. Gerraty <sjg@bad.crufty.net>
1118 * Makefile (_MAKE_VERSION): 20160315
1119 Merge with NetBSD make, pick up
1120 o fix handling of archive members
1122 2016-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
1124 * Makefile (_MAKE_VERSION): rename variable to avoid interference
1125 with checks for ${MAKE_VERSION}
1127 2016-03-10 Simon J. Gerraty <sjg@bad.crufty.net>
1129 * Makefile (MAKE_VERSION): 20160310
1130 Merge with NetBSD make, pick up
1131 o meta.c: treat missing Read file same as Write, incase we Delete it.
1133 2016-03-07 Simon J. Gerraty <sjg@bad.crufty.net>
1135 * Makefile (MAKE_VERSION): 20160307
1136 Merge with NetBSD make, pick up
1137 o var.c: fix :ts\nnn to be octal by default.
1138 o meta.c: meta_finish() to cleanup memory.
1140 2016-02-26 Simon J. Gerraty <sjg@bad.crufty.net>
1142 * Makefile (MAKE_VERSION): 20160226
1143 Merge with NetBSD make, pick up
1144 o meta.c: allow meta file for makeDepend if makefiles want it.
1146 2016-02-19 Simon J. Gerraty <sjg@bad.crufty.net>
1148 * var.c: default .MAKE.SAVE_DOLLARS to FALSE
1149 for backwards compatability.
1151 * Makefile (MAKE_VERSION): 20160220
1152 Merge with NetBSD make, pick up
1153 o var.c: add knob to control handling of '$$' in :=
1155 2016-02-18 Simon J. Gerraty <sjg@bad.crufty.net>
1157 * Makefile (MAKE_VERSION): 20160218
1158 Merge with NetBSD make, pick up
1159 o var.c: add .export-literal allows us to fix sys.clean-env.mk
1160 post the changes to Var_Subst.
1161 Var_Subst now takes flags, and does not consume '$$' in :=
1163 2016-02-17 Simon J. Gerraty <sjg@bad.crufty.net>
1165 * Makefile (MAKE_VERSION): 20160217
1166 Merge with NetBSD make, pick up
1167 o var.c: preserve '$$' in :=
1168 o parse.c: add .dinclude for handling included
1169 makefile like .depend
1171 2015-12-20 Simon J. Gerraty <sjg@bad.crufty.net>
1173 * Makefile (MAKE_VERSION): 20151220
1174 Merge with NetBSD make, pick up
1175 o suff.c: re-initialize suffNull when clearing suffixes.
1177 2015-12-01 Simon J. Gerraty <sjg@bad.crufty.net>
1179 * Makefile (MAKE_VERSION): 20151201
1180 Merge with NetBSD make, pick up
1181 o cond.c: CondCvtArg: avoid access beyond end of empty buffer.
1182 o meta.c: meta_oodate: use lstat(2) for checking link target
1183 in case it is a symlink.
1184 o var.c: avoid calling brk_string and Var_Export1 with empty
1187 2015-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
1189 * Makefile (MAKE_VERSION): 20151126
1190 Merge with NetBSD make, pick up
1191 o parse.c: ParseTrackInput don't access beyond
1194 2015-10-22 Simon J. Gerraty <sjg@bad.crufty.net>
1196 * Makefile (MAKE_VERSION): 20151022
1198 * Add support for BSD/OS which lacks inttypes.h
1199 and really needs sys/param.h for sys/sysctl.h
1200 also 'type' is not a shell builtin.
1202 * var.c: eliminate uint32_t and need for inttypes.h
1204 * main.c: PrintOnError flush stdout before run .ERROR
1206 * parse.c: cope with _SC_PAGESIZE not being defined.
1209 2015-10-20 Simon J. Gerraty <sjg@bad.crufty.net>
1211 * Makefile (MAKE_VERSION): 20151020
1212 Merge with NetBSD make, pick up
1213 o var.c: fix uninitialized var
1215 2015-10-12 Simon J. Gerraty <sjg@bad.crufty.net>
1217 * var.c: the conditional expressions used with ':?' can be
1218 expensive, if already discarding do not evaluate or expand
1221 2015-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1223 * Makefile (MAKE_VERSION): 20151010
1224 Merge with NetBSD make, pick up
1225 o Add Boolean wantit flag to Var_Subst and Var_Parse
1226 when FALSE we know we are discarding the result and can
1227 skip operations like Cmd_Exec.
1229 2015-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
1231 * Makefile (MAKE_VERSION): 20151009
1232 Merge with NetBSD make, pick up
1233 o var.c: don't check for NULL before free()
1234 o meta.c: meta_oodate, do not hard code ignore of makeDependfile
1236 2015-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
1238 * Makefile (MAKE_VERSION): 20150910
1239 Merge with NetBSD make, pick up
1240 o main.c: with -w print Enter/Leaving messages for objdir too
1242 o centralize shell metachar handling
1244 * FILES: add metachar.[ch]
1246 2015-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1248 * Makefile (MAKE_VERSION): 20150606
1249 Merge with NetBSD make, pick up
1250 o make.1: document .OBJDIR target
1252 2015-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1254 * Makefile (MAKE_VERSION): 20150505
1255 Merge with NetBSD make, pick up
1256 o cond.c: be strict about lhs of comparison when evaluating .if
1257 but less so when called from variable expansion.
1258 o unit-tests/cond2.mk: test various error conditions
1260 2015-05-04 Simon J. Gerraty <sjg@bad.crufty.net>
1262 * machine.sh (MACHINE): Add Bitrig
1263 patch from joerg@netbsd.org
1265 2015-04-18 Simon J. Gerraty <sjg@bad.crufty.net>
1267 * Makefile (MAKE_VERSION): 20150418
1268 Merge with NetBSD make, pick up
1269 o job.c: use memmove() rather than memcpy()
1271 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL
1274 2015-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
1276 * Makefile (MAKE_VERSION): 20150411
1277 bump version - only mk/ changes.
1279 2015-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
1281 * Makefile (MAKE_VERSION): 20150410
1282 Merge with NetBSD make, pick up
1283 o document different handling of '-' in jobs mode vs compat
1284 o fix jobs mode so that '-' only applies to whole job
1285 when shell lacks hasErrCtl
1286 o meta.c: use separate vars to track lcwd and latestdir (read)
1289 2015-04-01 Simon J. Gerraty <sjg@bad.crufty.net>
1291 * Makefile (MAKE_VERSION): 20150401
1292 Merge with NetBSD make, pick up
1293 o meta.c: close meta file in child
1295 * Makefile: use BINDIR.bmake if set.
1296 Same for MANDIR and SHAREDIR
1297 Handy for testing release candidates
1298 in various environments.
1300 2015-03-26 Simon J. Gerraty <sjg@bad.crufty.net>
1302 * move initialization of savederr to block where it is used
1303 to avoid spurious warning from gcc5
1305 2014-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
1307 * Makefile (MAKE_VERSION): 20141111
1308 just a cooler number
1310 2014-11-05 Simon J. Gerraty <sjg@bad.crufty.net>
1312 * Makefile (MAKE_VERSION): 20141105
1313 Merge with NetBSD make, pick up
1314 o revert major overhaul of suffix handling
1315 and POSIX compliance - too much breakage
1316 and impossible to make backwards compatible.
1317 o we still have the new unit test structure which is ok.
1318 o meta.c ensure "-- filemon" is at start of line.
1320 2014-09-17 Simon J. Gerraty <sjg@bad.crufty.net>
1322 * configure.in: test that result of getconf PATH_MAX is numeric
1323 and discard if not. Apparently needed for Hurd.
1325 2014-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
1327 * Makefile (MAKE_VERSION): 20140830
1328 Merge with NetBSD make, pick up
1329 o major overhaul of suffix handling
1330 o improved POSIX compliance
1331 o overhauled unit-tests
1333 2014-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
1335 * Makefile (MAKE_VERSION): 20140620
1336 Merge with NetBSD make, pick up
1337 o var.c return varNoError rather than var_Error for ::= modifiers.
1339 2014-05-22 Simon J. Gerraty <sjg@bad.crufty.net>
1341 * Makefile (MAKE_VERSION): 20140522
1342 Merge with NetBSD make, pick up
1343 o var.c detect some parse errors.
1345 2014-04-05 Simon J. Gerraty <sjg@bad.crufty.net>
1347 * Fix spelling errors - patch from Pedro Giffuni
1349 2014-02-14 Simon J. Gerraty <sjg@bad.crufty.net>
1351 * Makefile (MAKE_VERSION): 20140214
1352 Merge with NetBSD make, pick up
1354 o use Var_Value to get MAKEOBJDIR[PREFIX]
1355 o reduced realloc'ign in brk_string.
1356 * configure.in: add a check for compiler supporting __func__
1358 2014-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
1360 * boot-strap: ignore mksrc=none
1362 2014-01-02 Simon J. Gerraty <sjg@bad.crufty.net>
1364 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk
1366 2014-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
1368 * Makefile (MAKE_VERSION): 20140101
1369 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024)
1370 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max
1371 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for
1373 * configure.in: Add AC_PREREQ and check for
1374 sysctl; patch from Andrew Shadura andrewsh at debian.org
1376 2013-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
1378 * Makefile (MAKE_VERSION): 20131010
1379 * lose the const from arg to systcl to avoid problems on older BSDs.
1381 2013-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
1383 * Makefile (MAKE_VERSION): 20131001
1384 Merge with NetBSD make, pick up
1385 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from
1386 hw.machine_arch if necessary.
1387 o meta.c: meta_oodate - need to look at src of Link and target
1389 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist.
1390 provide __arraycount() if needed.
1392 2013-09-04 Simon J. Gerraty <sjg@bad.crufty.net>
1394 * Makefile (MAKE_VERSION): 20130904
1395 Merge with NetBSD make, pick up
1396 o Add VAR_INTERNAL context, so that internal setting of
1397 MAKEFILE does not override value set by makefiles.
1399 2013-09-02 Simon J. Gerraty <sjg@bad.crufty.net>
1401 * Makefile (MAKE_VERSION): 20130902
1402 Merge with NetBSD make, pick up
1403 o CompatRunCommand: only apply shellErrFlag when errCheck is true
1405 2013-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
1407 * Makefile (MAKE_VERSION): 20130828
1408 Merge with NetBSD make, pick up
1409 o Fix VAR :sh = syntax from Will Andrews at freebsd.org
1410 o Call Job_SetPrefix() from Job_Init() so makefiles have
1411 opportunity to set .MAKE.JOB.PREFIX
1413 2013-07-30 Simon J. Gerraty <sjg@bad.crufty.net>
1415 * Makefile (MAKE_VERSION): 20130730
1416 Merge with NetBSD make, pick up
1417 o Allow suppression of --- job -- tokens by setting
1418 .MAKE.JOB.PREFIX empty.
1420 2013-07-16 Simon J. Gerraty <sjg@bad.crufty.net>
1422 * Makefile (MAKE_VERSION): 20130716
1423 Merge with NetBSD make, pick up
1424 o number of gmake compatibility tweaks
1425 -w for gmake style entering/leaving messages
1426 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc.
1427 handle MAKEFLAGS containing only letters.
1428 o when overriding a GLOBAL variable on the command line,
1429 delete it from GLOBAL context so -V doesn't show the wrong
1432 2013-07-06 Simon J. Gerraty <sjg@bad.crufty.net>
1434 * configure.in: We don't need MAKE_LEVEL_SAFE anymore.
1436 * Makefile (MAKE_VERSION): 20130706
1437 Merge with NetBSD make, pick up
1438 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is
1439 true so that CompatRunCommand() can use it, to ensure
1440 consistent behavior with jobs mode.
1441 o use MAKE_LEVEL_ENV to define the variable to propagate
1442 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake).
1443 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of
1446 2013-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1448 * Makefile (MAKE_VERSION): 20130604
1449 Merge with NetBSD make, pick up
1450 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's
1451 to avoid leaking descriptors.
1453 2013-05-28 Simon J. Gerraty <sjg@bad.crufty.net>
1455 * Makefile (MAKE_VERSION): 20130528
1456 Merge with NetBSD make, pick up
1457 o var.c: cleanup some left-overs in VarHash()
1459 2013-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
1461 * Makefile (MAKE_VERSION): 20130520
1462 generate manifest from component FILES rather than have to
1463 update FILES when mk/FILES changes.
1465 2013-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
1467 * Makefile (MAKE_VERSION): 20130518
1468 Merge with NetBSD make, pick up
1469 o suff.c: don't skip all processsing for .PHONY targets
1470 else wildcard srcs do not get expanded.
1471 o var.c: expand name of variable to delete if necessary.
1473 2013-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1475 * Makefile (MAKE_VERSION): 20130330
1476 Merge with NetBSD make, pick up
1477 o meta.c: refine the handling of .OODATE in commands.
1478 Rather than suppress command comparison for the entire script
1479 as though .NOMETA_CMP had been used, only suppress it for the
1481 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to
1482 suppress comparison of a command without otherwise affecting it.
1483 o make.1: document that
1485 2013-03-22 Simon J. Gerraty <sjg@bad.crufty.net>
1487 * Makefile (MAKE_VERSION): 20130321
1488 yes, not quite right but its a cooler number.
1489 Merge with NetBSD make, pick up
1490 o parse.c: fix ParseGmakeExport to be portable
1491 and add a unit-test.
1492 * meta.c: call meta_init() before makefiles are read and if built
1493 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON
1494 this let's makefiles test for support.
1495 Call meta_mode_init() to process .MAKE.MODE.
1497 2013-03-13 Simon J. Gerraty <sjg@bad.crufty.net>
1499 * Makefile (MAKE_VERSION): 20130305
1500 Merge with NetBSD make, pick up
1501 o run .STALE: target when a dependency from .depend is missing.
1502 o job.c: add Job_RunTarget() for the above and .BEGIN
1504 2013-03-03 Simon J. Gerraty <sjg@bad.crufty.net>
1506 * Makefile (MAKE_VERSION): 20130303
1507 Merge with NetBSD make, pick up
1508 o main.c: set .MAKE.OS to utsname.sysname
1509 o job.c: more checks for read and poll errors
1510 o var.c: lose VarChangeCase() saves 4% time
1512 2013-03-02 Simon J. Gerraty <sjg@bad.crufty.net>
1514 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we
1515 want to use MAKEOBJDIR
1517 2013-01-27 Simon J. Gerraty <sjg@bad.crufty.net>
1519 * Merge with NetBSD make, pick up
1520 o make.1: more info on how shell commands are handled.
1521 o job.c,main.c: detect write errors to job pipes.
1523 2013-01-25 Simon J. Gerraty <sjg@bad.crufty.net>
1525 * Makefile (MAKE_VERSION): 20130123
1526 Merge with NetBSD make, pick up
1527 o meta.c: if script uses .OODATE and meta_oodate() decides
1528 rebuild is needed, .OODATE will be empty - set it to .ALLSRC.
1529 o var.c: in debug output indicate which variabale modifiers
1531 o remove Check_Cwd logic the makefiles have been fixed.
1533 2012-12-12 Simon J. Gerraty <sjg@bad.crufty.net>
1535 * makefile.in: add a simple makefile for folk who insist on
1536 ./configure; make; make install
1537 it just runs boot-strap
1538 * include mk/* to accommodate the above
1539 * boot-strap: re-work to accommodate the above
1540 mksrc defaults to $Mydir/mk
1541 allow op={configure,build,install,clean,all}
1542 add options to facilitate install
1543 * Makefile.config.in: just the bits set by configure
1544 * Makefile: bump version to 20121212
1545 abandon Makefile.in (NetBSD Makefile)
1546 leverage mk/* instead
1547 * configure.in: ensure srcdir is absolute
1549 2012-11-11 Simon J. Gerraty <sjg@bad.crufty.net>
1551 * Makefile.in (MAKE_VERSION): 20121111
1552 fix generation of bmake.cat1
1554 2012-11-09 Simon J. Gerraty <sjg@bad.crufty.net>
1556 * Makefile.in (MAKE_VERSION): 20121109
1557 Merge with NetBSD make, pick up
1558 o make.c: MakeBuildChild: return 0 so search continues if a
1559 .ORDER dependency is detected.
1560 o unit-tests/order: test the above
1562 2012-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
1564 * Makefile.in (MAKE_VERSION): 20121102
1565 Merge with NetBSD make, pick up
1566 o cond.c: allow cond_state[] to grow.
1567 In meta mode with a very large tree, we can hit the limit
1568 while processing dirdeps.
1570 2012-10-25 Simon J. Gerraty <sjg@bad.crufty.net>
1572 * Makefile.in: we need to use ${srcdir} not ${.CURDIR}
1574 2012-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1576 * Makefile.in (MAKE_VERSION): 20121010
1577 o protect syntax that only bmake parses correctly.
1578 o remove auto setting of FORCE_MACHINE, use configure's
1579 --with-force-machine=whatever if that is desired.
1581 2012-10-08 Simon J. Gerraty <sjg@bad.crufty.net>
1583 * Makefile.in: do not lose history from make.1 when generating bmake.1
1585 2012-10-07 Simon J. Gerraty <sjg@bad.crufty.net>
1587 * Makefile.in (MAKE_VERSION): 20121007
1588 Merge with NetBSD make, pick up
1589 o compat.c: ignore empty commands - same as jobs mode.
1590 o make.1: document meta chars that cause use of shell
1592 2012-09-11 Simon J. Gerraty <sjg@bad.crufty.net>
1594 * Makefile.in (MAKE_VERSION): bump version to 20120911
1595 * bsd.after-import.mk: include Makefile.inc early and allow it to
1598 2012-08-31 Simon J. Gerraty <sjg@bad.crufty.net>
1600 * Makefile.in (MAKE_VERSION): bump version to 20120831
1601 Merge with NetBSD make, pick up
1602 o cast sizeof() to int for comparison
1603 o minor make.1 tweak
1605 2012-08-30 Simon J. Gerraty <sjg@bad.crufty.net>
1607 * Makefile.in (MAKE_VERSION): bump version to 20120830
1608 Merge with NetBSD make, pick up
1609 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V
1610 o debug flag -dV causes -V to show raw value regardless.
1612 2012-07-05 Simon J. Gerraty <sjg@bad.crufty.net>
1614 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile
1617 2012-07-04 Simon J. Gerraty <sjg@bad.crufty.net>
1619 * Makefile.in (MAKE_VERSION): bump version to 20120704
1620 Merge with NetBSD make, pick up
1621 o Job_ParseShell should call Shell_Init if it has been
1623 * Makefile.in: set USE_META based on configure result.
1624 also .PARSEDIR is safer indicator of bmake.
1626 2012-06-26 Simon J. Gerraty <sjg@bad.crufty.net>
1628 * Makefile.in: bump version to 20120626
1629 ensure CPPFLAGS is in CFLAGS
1630 * meta.c: avoid nested externs
1631 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target
1633 2012-06-20 Simon J. Gerraty <sjg@bad.crufty.net>
1635 * Makefile.in (MAKE_VERSION): bump version to 20120620
1636 Merge with NetBSD make, pick up
1637 o make_malloc.c: avoid including make_malloc.h again
1639 * Makefile.in: avoid bmake only syntax or protect with
1640 .if defined(.MAKE.LEVEL)
1641 * bsd.after-import.mk: replace .-include with .sinclude
1642 ensure? SRCTOP gets a value
1643 * configure.in: look for filemon.h in /usr/include/dev/filemon first.
1645 2012-06-19 Simon J. Gerraty <sjg@bad.crufty.net>
1647 * Makefile.in (MAKE_VERSION): bump version to 20120612
1648 Merge with NetBSD make, pick up
1649 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler
1650 for greater portability.
1651 o unit-tests/forloop: check that .for works as expected wrt
1652 number of times and with "quoted strings".
1654 2012-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
1656 * Makefile.in (MAKE_VERSION): bump version to 20120606
1657 Merge with NetBSD make, pick up
1658 o compat.c: use kill(2) rather than raise(3).
1659 * configure.in: look for sys/dev/filemon
1660 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile
1661 and pass BOOTSTRAP_XTRAS to boot-strap.
1663 2012-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1665 * Makefile.in (MAKE_VERSION): bump version to 20120604
1666 Merge with NetBSD make, pick up
1667 o util.c and var.c share same var for tracking if environ
1668 has been reallocated.
1669 o util.c provide getenv with setenv.
1670 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL
1671 when the shell actively strips .MAKE.* from the environment.
1672 We still refer to the variable always as .MAKE.LEVEL
1673 * util.c fix bug in findenv() was finding prefix of name.
1674 * compat.c: re-raising SIGINT etc after running .INTERRUPT
1675 results in more reliable termination of all activity on many
1678 2012-06-02 Simon J. Gerraty <sjg@bad.crufty.net>
1680 * Makefile.in (MAKE_VERSION): bump version to 20120602
1681 Merge with NetBSD make, pick up
1682 o for.c: handle quoted items in .for list
1684 2012-05-30 Simon J. Gerraty <sjg@bad.crufty.net>
1686 * Makefile.in (MAKE_VERSION): bump version to 20120530
1687 Merge with NetBSD make, pick up
1688 o compat.c: ignore empty command.
1690 2012-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
1692 * Makefile.in (MAKE_VERSION): bump version to 20120524
1693 * FILES: add bsd.after-import.mk:
1694 A simple means of integrating bmake into a BSD build system.
1696 2012-05-20 Simon J. Gerraty <sjg@bad.crufty.net>
1698 * Makefile.in (MAKE_VERSION): bump version to 20120520
1699 Merge with NetBSD make, pick up
1700 o increased limit for nested conditionals.
1702 2012-05-18 Simon J. Gerraty <sjg@bad.crufty.net>
1704 * Makefile.in (MAKE_VERSION): bump version to 20120518
1705 Merge with NetBSD make, pick up
1706 o use _exit(2) in signal hanlder
1707 o Don't use the [dir] cache when building nodes that might have
1708 changed since the last exec.
1709 o Avoid nested extern declaration warnings.
1711 2012-04-27 Simon J. Gerraty <sjg@bad.crufty.net>
1713 * meta.c (fgetLine): avoid %z - not portable.
1714 * parse.c: Since we moved include of sys/mman.h
1715 and def's of MAP_COPY etc. we got dups from a merge.
1717 2012-04-24 Simon J. Gerraty <sjg@bad.crufty.net>
1719 * Makefile.in (MAKE_VERSION): bump version to 20120420
1720 Merge with NetBSD make, pick up
1721 o restore duplicate supression in .MAKE.MAKEFILES
1722 runtime saving can be significant.
1723 o Var_Subst() uses Buf_DestroyCompact() to reduce memory
1724 consumption up to 20%.
1726 2012-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
1728 * Makefile.in (MAKE_VERSION): bump version to 20120420
1729 Merge with NetBSD make, pick up
1730 o remove duplicate supression in .MAKE.MAKEFILES
1731 o improved dir cache behavior
1732 o gmake'ish export command
1734 2012-03-25 Simon J. Gerraty <sjg@bad.crufty.net>
1736 * Makefile.in (MAKE_VERSION): bump version to 20120325
1737 Merge with NetBSD make, pick up
1738 o fix parsing of :[#] in conditionals.
1740 2012-02-10 Simon J. Gerraty <sjg@bad.crufty.net>
1742 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD
1743 since some systems cannot cope with .Nx <version>
1745 2011-11-14 Simon J. Gerraty <sjg@bad.crufty.net>
1747 * Makefile.in (MAKE_VERSION): bump version to 20111111
1748 Merge with NetBSD make, pick up
1749 o debug output for .PARSEDIR and .PARSEFILE
1751 2011-10-10 Simon J. Gerraty <sjg@bad.crufty.net>
1753 * Makefile.in (MAKE_VERSION): bump version to 20111010
1755 2011-10-09 Simon J. Gerraty <sjg@bad.crufty.net>
1757 * boot-strap: check for an expected file in the dirs we look for.
1758 * make-bootstrap.sh: pass on LDSTATIC
1760 2011-10-01 Simon J. Gerraty <sjg@bad.crufty.net>
1762 * Makefile.in (MAKE_VERSION): bump version to 20111001
1763 Merge with NetBSD make, pick up
1764 o ensure .PREFIX is set for .PHONY
1765 and .TARGET set for .PHONY run via .END
1766 o __dead used consistently
1768 2011-09-10 Simon J. Gerraty <sjg@bad.crufty.net>
1770 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-)
1772 2011-09-05 Simon J. Gerraty <sjg@bad.crufty.net>
1774 * Makefile.in (MAKE_VERSION): bump version to 20110905
1775 Merge with NetBSD make, pick up
1776 o meta_oodate: ignore makeDependfile
1778 2011-08-28 Simon J. Gerraty <sjg@bad.crufty.net>
1780 * Makefile.in (MAKE_VERSION): bump version to 20110828
1781 Merge with NetBSD make, pick up
1782 o silent=yes in .MAKE.MODE causes meta mode to mark targets
1783 as SILENT if a .meta file is created
1785 2011-08-18 Simon J. Gerraty <sjg@bad.crufty.net>
1787 * Makefile.in (MAKE_VERSION): bump version to 20110818
1788 Merge with NetBSD make, pick up
1789 o in meta mode, if target flagged .META a missing .meta file
1790 means target is out-of-date
1791 o fixes for gcc 4.5 warnings
1792 o simplify job printing code
1794 2011-08-09 Simon J. Gerraty <sjg@bad.crufty.net>
1796 * Makefile.in (MAKE_VERSION): bump version to 20110808
1797 Merge with NetBSD make, pick up
1798 o do not touch OP_SPECIAL targets when doing make -t
1800 2011-06-22 Simon J. Gerraty <sjg@bad.crufty.net>
1802 * Makefile.in (MAKE_VERSION): bump version to 20110622
1803 Merge with NetBSD make, pick up
1804 o meta_oodate detect corrupted .meta file and declare oodate.
1805 * configure.in: add check for setsid
1807 2011-06-07 Simon J. Gerraty <sjg@bad.crufty.net>
1809 * Merge with NetBSD make, pick up
1810 o unit-tests/modts now works on MirBSD
1812 2011-06-04 Simon J. Gerraty <sjg@bad.crufty.net>
1814 * Makefile.in (MAKE_VERSION): bump version to 20110606
1815 Merge with NetBSD make, pick up
1816 o ApplyModifiers: when we parse a variable which is not
1817 the entire modifier string, or not followed by ':', do not
1818 consider it as containing modifiers.
1819 o loadfile: ensure newline at end of mapped file.
1821 2011-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
1823 * Makefile.in (MAKE_VERSION): bump version to 20110505
1824 Merge with NetBSD make, pick up
1825 o .MAKE.META.BAILIWICK - list of prefixes which define the scope
1826 of make's control. In meta mode, any generated file within
1827 said bailiwick, which is found to be missing, causes current
1828 target to be out-of-date.
1830 2011-04-11 Simon J. Gerraty <sjg@bad.crufty.net>
1832 * Makefile.in (MAKE_VERSION): bump version to 20110411
1833 Merge with NetBSD make, pick up
1834 o when long modifiers fail to match, check sysV style.
1837 2011-04-10 Simon J. Gerraty <sjg@bad.crufty.net>
1839 * Makefile.in (MAKE_VERSION): bump version to 20110410
1840 Merge with NetBSD make, pick up
1841 o :hash - cheap 32bit hash of value
1842 o :localtime, :gmtime - use value as format string for strftime.
1844 2011-03-30 Simon J. Gerraty <sjg@bad.crufty.net>
1846 * Makefile.in (MAKE_VERSION): bump version to 20110330
1847 mostly because its a cooler version.
1848 Merge with NetBSD make, pick up
1849 o NetBSD tags for meta.[ch]
1850 o job.c call meta_job_finish() after meta_job_error().
1851 o meta_job_error() should call meta_job_finish() to ensure
1852 .meta file is closed, and safe to copy - if .ERROR target wants.
1853 meta_job_finish() is safe to call repeatedly.
1855 2011-03-29 Simon J. Gerraty <sjg@bad.crufty.net>
1857 * unit-tests/modts: use printf if it is a builtin,
1858 to save us from MirBSD
1860 * Makefile.in (MAKE_VERSION): bump version to 20110329
1861 Merge with NetBSD make, pick up
1862 o fix for use after free() in CondDoExists().
1863 o meta_oodate() report extra commands and return earlier.
1865 2011-03-27 Simon J. Gerraty <sjg@bad.crufty.net>
1867 * Makefile.in (MAKE_VERSION): bump version to 20110327
1868 Merge with NetBSD make, pick up
1869 o meta.c, if .MAKE.MODE contains curdirOk=yes
1870 allow creating .meta files in .CURDIR
1871 * boot-strap (TOOL_DIFF): aparently at least on linux distro
1872 formats the output of 'type' differently - so eat any "()"
1874 2011-03-06 Simon J. Gerraty <sjg@bad.crufty.net>
1876 * Makefile.in (MAKE_VERSION): bump version to 20110306
1877 Merge with NetBSD make, pick up
1878 o meta.c, only do getcwd() once
1880 2011-03-05 Simon J. Gerraty <sjg@bad.crufty.net>
1882 * Makefile.in (MAKE_VERSION): bump version to 20110305
1883 Merge with NetBSD make, pick up
1884 o correct sysV substitution handling of empty lhs and variable
1885 o correct exists() check for dir with trailing /
1886 o correct handling of modifiers for non-existant variables
1887 during evaluation of conditionals.
1888 o ensure MAP_FILE is defined.
1889 o meta.c use curdir[] now exported by main.c
1891 2011-02-25 Simon J. Gerraty <sjg@bad.crufty.net>
1893 * Makefile.in (MAKE_VERSION): bump version to 20110225
1894 Merge with NetBSD make, pick up
1895 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after
1896 makefiles have been read.
1897 o fix example of :? modifier in man page.
1899 2011-02-13 Simon J. Gerraty <sjg@bad.crufty.net>
1901 * Makefile.in (MAKE_VERSION): bump version to 20110214
1902 Merge with NetBSD make, pick up
1903 o meta.c handle realpath() failing when generating meta file
1906 * sigcompat.c: convert to ansi so we can use higher warning levels.
1909 2011-02-07 Simon J. Gerraty <sjg@bad.crufty.net>
1911 * Makefile.in (MAKE_VERSION): bump version to 20110207
1912 Merge with NetBSD make, pick up
1913 o fix for bug in meta mode.
1915 2011-01-03 Simon J. Gerraty <sjg@bad.crufty.net>
1917 * parse.c: SunOS 5.8 at least does not have MAP_FILE
1919 2011-01-01 Simon J. Gerraty <sjg@bad.crufty.net>
1921 * Makefile.in (MAKE_VERSION): bump version to 20110101
1922 Merge with NetBSD make, pick up
1923 o use mmap(2) if available, for reading makefiles
1925 2010-12-15 Simon J. Gerraty <sjg@bad.crufty.net>
1927 * Makefile.in (MAKE_VERSION): bump version to 20101215
1928 Merge with NetBSD make, pick up
1929 o ensure meta_job_error() does not report a previous .meta file
1932 2010-12-10 Simon J. Gerraty <sjg@bad.crufty.net>
1934 * Makefile.in (MAKE_VERSION): bump version to 20101210
1935 Merge with NetBSD make, pick up
1936 o meta_oodate: track cwd per process, and only consider target
1937 out-of-date if missing file is outside make's CWD.
1938 Ignore files in /tmp/ etc.
1939 o to ensure unit-tests results match, need to control LC_ALL
1941 o fix for parsing bug in var.c
1943 2010-11-26 Simon J. Gerraty <sjg@bad.crufty.net>
1945 * Makefile.in (MAKE_VERSION): bump version to 20101126
1946 Merge with NetBSD make, pick up
1947 o if stale dependency is an IMPSRC, search via .PATH
1948 o meta_oodate: if a referenced file is missing, target is
1950 o meta_oodate: if a target uses .OODATE in its commands,
1951 it (.OODATE) needs to be recomputed.
1952 o keep a pointer to youngest child node, rather than just its
1955 2010-11-02 Simon J. Gerraty <sjg@bad.crufty.net>
1957 * Makefile.in (MAKE_VERSION): bump version to 20101101
1959 2010-10-16 Simon J. Gerraty <sjg@bad.crufty.net>
1961 * machine.sh: like os.sh,
1962 allow for uname -p producing useless drivel
1964 2010-09-13 Simon J. Gerraty <sjg@bad.crufty.net>
1966 * boot-strap: document configure knobs for meta and filemon.
1968 * Makefile.in (MAKE_VERSION): bump version to 20100911
1969 Merge with NetBSD make, pick up
1970 o meta.c - meta mode
1972 * make-bootstrap.sh.in: handle meta.c
1973 * configure.in: add knobs for use_meta and filemon_h
1974 also, look for dirname, str[e]sep and strlcpy
1975 * util.c: add simple err[x] and warn[x]
1977 2010-08-08 Simon J. Gerraty <sjg@bad.crufty.net>
1979 * boot-strap (TOOL_DIFF): set this to ensure tests use
1980 the same version of diff that configure tested
1982 * Makefile.in (MAKE_VERSION): bump version to 20100808
1983 Merge with NetBSD make, pick up
1984 o in jobs mode, when we discover we cannot make something,
1985 call PrintOnError before exit.
1987 2010-08-06 Simon J. Gerraty <sjg@bad.crufty.net>
1989 * Makefile.in (MAKE_VERSION): bump version to 20100806
1990 Merge with NetBSD make, pick up
1991 o formatting fixes for ignored errors
1992 o ensure jobs are cleaned up regardless of where wait() was called.
1994 2010-06-28 Simon J. Gerraty <sjg@bad.crufty.net>
1996 * Makefile.in (MAKE_VERSION): bump version to 20100618
1997 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p
1999 2010-06-16 Simon J. Gerraty <sjg@bad.crufty.net>
2001 * Makefile.in (MAKE_VERSION): bump version to 20100616
2002 Merge with NetBSD make, pick up
2004 o call PrintOnError from JobFinish when we detect an error we
2007 2010-06-06 Simon J. Gerraty <sjg@bad.crufty.net>
2009 * Makefile.in (MAKE_VERSION): bump version to 20100606
2010 Merge with NetBSD make, pick up
2013 2010-06-05 Simon J. Gerraty <sjg@bad.crufty.net>
2015 * Makefile.in (MAKE_VERSION): bump version to 20100605
2016 Merge with NetBSD make, pick up
2017 o use bmake_signal() which is a wrapper around sigaction()
2018 in place of signal()
2019 o add .export-env to allow exporting variables to environment
2020 without tracking (so no re-export when the internal value is
2023 2010-05-24 Simon J. Gerraty <sjg@bad.crufty.net>
2025 * Makefile.in (MAKE_VERSION): bump version to 20100524
2026 Merge with NetBSD make, pick up
2027 o fix for .info et al being greedy.
2029 2010-05-23 Simon J. Gerraty <sjg@bad.crufty.net>
2031 * Makefile.in (MAKE_VERSION): bump version to 20100520
2032 Merge with NetBSD make, pick up
2033 o back to using realpath on argv[0]
2034 but only if contains '/' and does not start with '/'.
2036 2010-05-10 Simon J. Gerraty <sjg@bad.crufty.net>
2038 * boot-strap: use absolute path for bmake when running tests.
2040 * Makefile.in (MAKE_VERSION): bump version to 20100510
2041 Merge with NetBSD make, pick up
2042 o revert use of realpath on argv[0]
2043 too many corner cases.
2044 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target.
2046 2010-05-05 Simon J. Gerraty <sjg@bad.crufty.net>
2048 * Makefile.in (MAKE_VERSION): bump version to 20100505
2049 Merge with NetBSD make, pick up
2050 o fix for missed SIGCHLD when compiled with SunPRO
2051 actually for bmake, defining FORCE_POSIX_SIGNALS would have
2054 2010-04-30 Simon J. Gerraty <sjg@bad.crufty.net>
2056 * Makefile.in (MAKE_VERSION): bump version to 20100430
2057 Merge with NetBSD make, pick up
2058 o fflush stdout before writing to stdout
2060 2010-04-23 Simon J. Gerraty <sjg@bad.crufty.net>
2062 * Makefile.in (MAKE_VERSION): bump version to 20100423
2063 Merge with NetBSD make, pick up
2064 o updated unit tests for Haiku (this time for sure).
2065 * boot-strap: based on patch from joerg
2066 honor --with-default-sys-path better.
2067 * boot-strap: remove mention of --with-prefix-sys-path
2069 2010-04-22 Simon J. Gerraty <sjg@bad.crufty.net>
2071 * Makefile.in (MAKE_VERSION): bump version to 20100422
2072 * Merge with NetBSD make, pick up
2073 o fix for vfork() on Darwin.
2074 o fix for bogus $TMPDIR.
2075 o set .MAKE.MODE=compat for -B
2076 o set .MAKE.JOBS=max_jobs for -j max_jobs
2077 o allow unit-tests to run without any *.mk
2078 o unit-tests/modmisc be more conservative in dirs presumed to exist.
2079 * boot-strap: ignore /usr/share/mk except on NetBSD.
2080 * unit-tests/Makefile.in: set LANG=C when running unit-tests to
2081 ensure sort(1) behaves as expected.
2083 2010-04-21 Simon J. Gerraty <sjg@bad.crufty.net>
2085 * boot-strap: add FindHereOrAbove so we can use -m .../mk
2087 2010-04-20 Simon J. Gerraty <sjg@bad.crufty.net>
2089 * Makefile.in (MAKE_VERSION): bump version to 20100420
2090 * Merge with NetBSD make, pick up
2091 o fix for variable realpath() behavior.
2092 we have to stat(2) the result to be sure.
2093 o fix for .export (all) when nested vars use :sh
2095 2010-04-14 Simon J. Gerraty <sjg@bad.crufty.net>
2097 * Makefile.in (MAKE_VERSION): bump version to 20100414
2098 * Merge with NetBSD make, pick up
2099 o use realpath to resolve argv[0] (for .MAKE) if needed.
2100 o add realpath from libc.
2101 o add :tA to resolve variable via realpath(3) if possible.
2103 2010-04-08 Simon J. Gerraty <sjg@bad.crufty.net>
2105 * Makefile.in (MAKE_VERSION): bump version to 20100408
2106 * Merge with NetBSD make, pick up
2107 o unit tests for .ERROR, .error
2108 o fix for .ERROR to ensure it cannot be default target.
2110 2010-04-06 Simon J. Gerraty <sjg@bad.crufty.net>
2112 * Makefile.in (MAKE_VERSION): bump version to 20100406
2113 * Merge with NetBSD make, pick up
2114 o fix for compat mode "Error code" going to debug_file.
2115 o fix for .ALLSRC being populated twice.
2116 o support for .info, .warning and .error directives
2117 o .MAKE.MODE to control make's operational mode
2118 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile
2120 o .MAKE.DEPENDFILE to control the name of the depend file
2121 o .ERROR target - run on failure.
2123 2010-03-18 Simon J. Gerraty <sjg@bad.crufty.net>
2125 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile
2127 * os.sh,arch.c: patch for Haiku from joerg at netbsd
2129 2010-03-17 Simon J. Gerraty <sjg@bad.crufty.net>
2131 * Makefile.in (MAKE_VERSION): bump version to 20100222
2132 * Merge with NetBSD make, pick up
2133 o better error msg for .for with mutiple inter vars
2136 o use make-bootstrap.sh from joerg at netbsd
2137 to avoid the need for a native make when bootstrapping.
2138 o add "" everywhere ;-)
2139 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1
2140 otherwise the pre-formated version.
2142 2010-01-04 Simon J. Gerraty <sjg@bad.crufty.net>
2144 * Makefile.in (MAKE_VERSION): bump version to 20100102
2145 * Merge with NetBSD make, pick up:
2148 2009-11-18 Simon J. Gerraty <sjg@void.crufty.net>
2150 * Makefile.in (MAKE_VERSION): bump version to 20091118
2151 * Merge with NetBSD make, pick up:
2153 o report lines that start with '.' and should have ':'
2154 (catch typo's of .el*if).
2156 2009-10-30 Simon J. Gerraty <sjg@void.crufty.net>
2158 * configure.in: Ensure that srcdir and mksrc are absolute paths.
2160 2009-10-09 Simon J. Gerraty <sjg@void.crufty.net>
2162 * Makefile.in (MAKE_VERSION): fix version to 20091007
2164 2009-10-07 Simon J. Gerraty <sjg@void.crufty.net>
2166 * Makefile.in (MAKE_VERSION): bump version to 200910007
2167 * Merge with NetBSD make, pick up:
2168 o fix for parsing of :S;...;...; applied to .for loop iterator
2169 appearing in a dependency line.
2171 2009-09-09 Simon J. Gerraty <sjg@void.crufty.net>
2173 * Makefile.in (MAKE_VERSION): bump version to 20090909
2174 * Merge with NetBSD make, pick up:
2175 o fix for -C, .CURDIR and .OBJDIR
2177 o allow share_dir to be set independent of prefix.
2178 o select default share_dir better when prefix ends in $HOST_TARGET
2179 o if FORCE_BSD_MK etc were set, include them in the suggested
2182 2009-09-08 Simon J. Gerraty <sjg@void.crufty.net>
2184 * Makefile.in (MAKE_VERSION): bump version to 20090908
2185 * Merge with NetBSD make, pick up:
2186 o .MAKE.LEVEL for recursion tracking
2187 o fix for :M scanning \:
2189 2009-09-03 Simon J. Gerraty <sjg@void.crufty.net>
2191 * configure.in: Don't -D__EXTENSIONS__ if
2192 AC_USE_SYSTEM_EXTENSIONS says "no".
2194 2009-08-26 Simon J. Gerraty <sjg@void.crufty.net>
2196 * Makefile.in (MAKE_VERSION): bump version to 20090826
2197 Simplify MAKE_VERSION to just the bare date.
2198 * Merge with NetBSD make, pick up:
2199 o -C directory support.
2200 o support for SIGINFO
2201 o use $TMPDIR for temp files.
2202 o child of vfork should be careful about modifying parent's state.
2205 2009-03-26 Simon J. Gerraty <sjg@void.crufty.net>
2207 * Appy some patches for MiNT from David Brownlee
2209 2009-02-26 Simon J. Gerraty <sjg@void.crufty.net>
2211 * Makefile.in (BMAKE_VERSION): bump version to 20090222
2212 * Merge with NetBSD make, pick up:
2213 o Possible null pointer de-ref in Var_Set.
2215 2009-02-08 Simon J. Gerraty <sjg@void.crufty.net>
2217 * Makefile.in (BMAKE_VERSION): bump version to 20090204
2218 * Merge with NetBSD make, pick up:
2219 o bmake_malloc et al moved to their own .c
2220 o Count both () and {} when looking for the end of a :M pattern
2221 o Change 'Buffer' so that it is the actual struct, not a pointer to it.
2222 o strlist.c - functions for processing extendable arrays of pointers to strings.
2223 o ClientData replaced with void *, so const void * can be used.
2224 o New debug flag C for DEBUG_CWD
2226 2008-11-11 Simon J. Gerraty <sjg@void.crufty.net>
2228 * Makefile.in (BMAKE_VERSION): bump version to 20081111
2229 Apply patch from Joerg Sonnenberge to
2231 o remove some redundant checks
2232 o check for emlloc etc only in libutil and require the whole family.
2234 o remove [v]asprintf which is no longer used.
2236 2008-11-04 Simon J. Gerraty <sjg@void.crufty.net>
2238 * Makefile.in (BMAKE_VERSION): bump version to 20081101
2239 * Merge with NetBSD make, pick up:
2240 o util.c: avoid use of putenv() - christos
2242 2008-10-30 Simon J. Gerraty <sjg@void.crufty.net>
2244 * Makefile.in (BMAKE_VERSION): bump version to 20081030
2245 pick up man page tweaks.
2247 2008-10-29 Simon J. Gerraty <sjg@void.crufty.net>
2249 * Makefile.in: move processing of LIBOBJS to after is definition!
2250 thus we'll have getenv.c in SRCS only if needed.
2252 * make.1: add examples of how to use :?
2254 * Makefile.in (BMAKE_VERSION): bump version to 20081029
2255 * Merge with NetBSD make, pick up:
2256 o fix for .END processing with -j
2257 o segfault from Parse_Error when no makefile is open
2258 o handle numeric expressions in any variable expansion
2259 o debug output now defaults to stderr, -dF to change it - apb
2260 o make now uses bmake_malloc etc so that it can build natively
2261 on A/UX - wasn't an issue for bmake, but we want to keep in sync.
2263 2008-09-27 Simon J. Gerraty <sjg@void.crufty.net>
2265 * Makefile.in (BMAKE_VERSION): bump version to 20080808
2266 * Merge with NetBSD make, pick up:
2267 o fix for PR/38840: Pierre Pronchery: make crashes while parsing
2268 long lines in Makefiles
2269 o optimizations for VarQuote by joerg
2270 o fix for PR/38756: dominik: make dumps core on invalid makefile
2272 2008-05-15 Simon J. Gerraty <sjg@void.crufty.net>
2274 * Makefile.in (BMAKE_VERSION): bump version to 20080515
2275 * Merge with NetBSD make, pick up:
2276 o fix skip setting vars in VAR_GLOBAL context, to handle
2277 cases where VAR_CMD is used for other than command line vars.
2279 2008-05-14 Simon J. Gerraty <sjg@void.crufty.net>
2281 * boot-strap (make_version): we may need to look in
2282 $prefix/share/mk for sys.mk
2284 * Makefile.in (BMAKE_VERSION): bump version to 20080514
2285 * Merge with NetBSD make, pick up:
2286 o skip setting vars in VAR_GLOBAL context, when already set in
2287 VAR_CMD which takes precedence.
2289 2008-03-30 Simon J. Gerraty <sjg@void.crufty.net>
2291 * Makefile.in (BMAKE_VERSION): bump version to 20080330
2292 * Merge with NetBSD make, pick up:
2293 o fix for ?= when LHS contains variable reference.
2295 2008-02-15 Simon J. Gerraty <sjg@void.crufty.net>
2297 * merge some patches from NetBSD pkgsrc.
2299 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of
2300 the MAKSYSPATH used during bootstrap.
2302 * Makefile.in (BMAKE_VERSION): bump version to 20080215
2303 * Merge with NetBSD make, pick up:
2304 o warn if non-space chars follow 'empty' in a conditional.
2306 2008-01-18 Simon J. Gerraty <sjg@void.crufty.net>
2308 * Makefile.in (BMAKE_VERSION): bump version to 20080118
2309 * Merge with NetBSD make, pick up:
2310 o consider dependencies read from .depend as optional - dsl
2311 o remember when buffer for reading makefile grows - dsl
2312 o add -dl (aka LOUD) - David O'Brien
2314 2007-10-22 Simon J. Gerraty <sjg@void.crufty.net>
2316 * Makefile.in (BMAKE_VERSION): bump version to 20071022
2317 * Merge with NetBSD make, pick up:
2318 o Allow .PATH<suffix> to be used for .include ""
2320 * boot-strap: source default settings from .bmake-boot-strap.rc
2322 2007-10-16 Simon J. Gerraty <sjg@void.crufty.net>
2324 * Makefile.in: fix maninstall on various systems
2325 provided that our man.mk is used.
2326 For non-BSD systems we install the preformatted page
2329 2007-10-15 Simon J. Gerraty <sjg@void.crufty.net>
2331 * boot-strap: make bmake.1 too, so maninstall works.
2333 2007-10-14 Simon J. Gerraty <sjg@void.crufty.net>
2335 * Makefile.in (BMAKE_VERSION): bump version to 20071014
2336 * Merge with NetBSD make, pick up:
2337 o revamped handling of defshell - configure no longer needs to
2338 know the content of the shells array - apb
2339 o stop Var_Subst modifying its input - apb
2340 o avoid calling ParseTrackInput too often - dsl
2342 2007-10-11 Simon J. Gerraty <sjg@void.crufty.net>
2344 * Makefile.in (BMAKE_VERSION): bump version to 20071011
2345 * Merge with NetBSD make, pick up:
2346 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path.
2348 * sigcompat.c: some tweaks for HP-UX 11.x based on
2349 patch from Tobias Nygren
2351 * configure.in: update handling of --with-defshell to match
2352 new make behavior. --with-defshell=/usr/xpg4/bin/sh
2353 will now do what one might hope - provided the chosen shell
2354 behaves enough like sh.
2356 2007-10-08 Simon J. Gerraty <sjg@void.crufty.net>
2358 * Makefile.in (BMAKE_VERSION): bump to 20071008
2359 * Merge with NetBSD make, pick up:
2360 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg
2361 o .export/.MAKE.EXPORTED - export of variables - sjg
2362 o .MAKE.MAKEFILES - track all makefiles read - sjg
2363 o performance improvements - dsl
2364 o revamp parallel job scheduling - dsl
2366 2006-07-28 Simon J. Gerraty <sjg@void.crufty.net>
2368 * Makefile.in (BMAKE_VERSION): bump to 20060728
2369 * Merge with NetBSD make, pick up:
2370 o extra debug info during variable and cond processing - sjg
2371 o shell definition now covers newline - rillig
2372 o minor mem leak in PrintOnError - sjg
2374 2006-05-11 Simon J. Gerraty <sjg@void.crufty.net>
2376 * Makefile.in (BMAKE_VERSION): bump to 20060511
2377 * Merge with NetBSD make, pick up:
2378 o more memory leaks - coverity
2379 o possible overflow in ArchFindMember - coverity
2380 o extract variable modifier code out of Var_Parse()
2381 so it can be called recursively - sjg
2382 o unit-tests/moderrs - sjg
2384 2006-04-12 Simon J. Gerraty <sjg@void.crufty.net>
2386 * Makefile.in (BMAKE_VERSION): bump to 20060412
2387 * Merge with NetBSD make, pick up:
2388 o fixes for some memory leaks - coverity
2389 o only read first sys.mk etc when searching sysIncPath - sjg
2391 * main.c (ReadMakefile): remove hack for __INTERIX that prevented
2392 setting ${MAKEFILE} - OBATA Akio
2394 2006-03-18 Simon J. Gerraty <sjg@void.crufty.net>
2396 * Makefile.in (BMAKE_VERSION): bump to 20060318
2397 * Merge with NetBSD make, pick up:
2398 o cleanup of job.c to remove remote handling, distcc is more
2399 useful and this code was likely bit-rotting - dsl
2400 o fix for :P modifier - sjg
2401 * boot-strap: set default prefix to something reasonable
2404 2006-03-01 Simon J. Gerraty <sjg@void.crufty.net>
2406 * Makefile.in (BMAKE_VERSION): bump to 20060301
2407 * Merge with NetBSD make, pick up:
2408 o make .WAIT apply recursively, document and test case - apb
2409 o allow variable modifiers in a variable appear anywhere in
2410 modifier list, document and test case - sjg
2412 2006-02-22 Simon J. Gerraty <sjg@void.crufty.net>
2414 * Makefile.in (BMAKE_VERSION): bump to 20060222
2415 * Merge with NetBSD make, pick up:
2416 o improved job token handling - dsl
2417 o SIG_DFL the correct signal before exec - dsl
2418 o more debug info during parsing - dsl
2419 o allow variable modifiers to be specified via variable - sjg
2420 * boot-strap: explain why we died if no mksrc
2422 2005-11-05 Simon J. Gerraty <sjg@void.crufty.net>
2424 * Makefile.in (BMAKE_VERSION): bump to 20051105
2425 * configure.in: always set default_sys_path
2426 default is ${prefix}/share/mk
2427 - remove prefix_sys_path, anyone wanting more than above
2428 needs to set it manually.
2430 2005-11-04 Simon J. Gerraty <sjg@void.crufty.net>
2432 * boot-strap: make this a bit easier for pkgsrc folk.
2433 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to
2434 'mips' while pkgsrc wants 'mipseb' or 'mipsel'
2436 2005-11-02 Simon J. Gerraty <sjg@void.crufty.net>
2438 * Makefile.in (BMAKE_VERSION): bump to 20051102
2439 * job.c (JobFinish): fix likely ancient merge lossage
2440 fix from Todd Vierling.
2441 * boot-strap (srcdir): allow setting mksrc=none
2443 2005-10-31 Simon J. Gerraty <sjg@void.crufty.net>
2445 * Makefile.in (BMAKE_VERSION): bump to 20051031
2446 * ranlib.h: skip on OSF too.
2449 2005-10-10 Simon J. Gerraty <sjg@void.crufty.net>
2451 * Makefile.in (BMAKE_VERSION): bump to 20051002
2454 2005-10-09 Simon J. Gerraty <sjg@void.crufty.net>
2456 * Makefile.in (BMAKE_VERSION): bump to 20051001
2457 support for UnixWare and some other systems,
2458 based on patches from pkgsrc/bootstrap
2460 2005-09-03 Simon J. Gerraty <sjg@void.crufty.net>
2462 * Makefile.in (BMAKE_VERSION): bump to 20050901
2463 * Merge with NetBSD make, pick up:
2464 o possible parse error causing us to wander off.
2466 2005-06-06 Simon J. Gerraty <sjg@void.crufty.net>
2468 * Makefile.in (BMAKE_VERSION): bump to 20050606
2469 * Merge with NetBSD make, pick up:
2470 o :0x modifier for randomizing a list
2471 o fixes for a number of -Wuninitialized issues.
2473 2005-05-30 Simon J. Gerraty <sjg@void.crufty.net>
2475 * Makefile.in (BMAKE_VERSION): bump to 20050530
2476 * Merge with NetBSD make, pick up:
2477 o Handle dependencies for .BEGIN, .END and .INTERRUPT
2479 * README: was seriously out of date.
2481 2005-03-22 Simon J. Gerraty <sjg@void.crufty.net>
2483 * Important to use .MAKE rather than MAKE.
2485 2005-03-15 Simon J. Gerraty <sjg@void.crufty.net>
2487 * Makefile.in (BMAKE_VERSION): bump to 20050315
2488 * Merge with NetBSD make, pick up:
2489 o don't mistake .elsefoo for .else
2490 o use suffix-specific search path correctly
2491 o bunch of style nits
2493 2004-05-11 Simon J. Gerraty <sjg@void.crufty.net>
2496 o ensure that args to --src and --with-mksrc
2497 are resolved before giving them to configure.
2498 o add -o "objdir" so that builder can control it,
2499 default is $OS as determined by os.sh
2500 o add -q to suppress all the install instructions.
2502 2004-05-08 Simon J. Gerraty <sjg@void.crufty.net>
2504 * Remove __IDSTRING()
2506 * Makefile.in (BMAKE_VERSION): bump to 20040508
2507 * Merge with NetBSD make, pick up:
2509 - remove '-e' from compat mode
2510 - add support for '+' command-line prefix.
2511 o fix for handling '--' on command-line.
2512 o fix include in lst.lib/lstInt.h to simplify '-I's
2513 o we also picked up replacement of MAKE_BOOTSTRAP
2514 with !MAKE_NATIVE which is a noop, but possibly confusing.
2516 2004-04-14 Simon J. Gerraty <sjg@void.crufty.net>
2518 * Makefile.in (BMAKE_VERSION): bump to 20040414
2519 * Merge with NetBSD make, pick up:
2520 o allow quoted strings on lhs of conditionals
2521 o issue warning when extra .else is seen
2522 o print line numer when errors encountered during parsing from
2525 2004-02-20 Simon J. Gerraty <sjg@void.crufty.net>
2527 * Makefile.in (BMAKE_VERSION): bump to 20040220
2528 * Merge with NetBSD make, pick up:
2529 o fix for old :M parsing bug.
2530 o re-jigged unit-tests
2532 2004-02-15 Simon J. Gerraty <sjg@void.crufty.net>
2534 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
2535 so that './bmake -f Makefile test' works.
2537 2004-02-14 Simon J. Gerraty <sjg@void.crufty.net>
2539 * Makefile.in: (BMAKE_VERSION): bump to 20040214
2540 * Merge with NetBSD make, pick up:
2541 o search upwards for *.mk
2542 o fix for double free of var substitution buffers
2543 o use of getopt replaced with custom code, since the usage
2544 (re-scanning) isn't posix compatible.
2546 2004-02-12 Simon J. Gerraty <sjg@void.crufty.net>
2548 * arch.c: don't include ranlib.h on ELF systems
2549 (thanks to Chuck Cranor <chuck@ece.cmu.edu>).
2551 2004-01-18 Simon J. Gerraty <sjg@void.crufty.net>
2553 * Makefile.in (BMAKE_VERSION): bump to 20040118
2555 * boot-strap (while): export vars we assign to on cmdline
2556 * unit-test/Makefile.in: ternary is .PHONY
2558 2004-01-08 Simon J. Gerraty <sjg@void.crufty.net>
2560 * Makefile.in (BMAKE_VERSION): bump version to 20040108
2561 * Merge with NetBSD make, pick up:
2562 o fix for ternary modifier
2564 2004-01-06 Simon J. Gerraty <sjg@void.crufty.net>
2566 * Makefile.in (BMAKE_VERSION): bump version to 20040105
2567 * Merge with NetBSD make, pick up:
2568 o fix for cond.c to handle compound expressions better
2569 o variable expansion within sysV style replacements
2571 2003-12-22 Simon J. Gerraty <sjg@void.crufty.net>
2573 * Make portable snprintf safer - output to /dev/null first to
2576 * Makefile.in (BMAKE_VERSION): bump version to 20031222
2577 * Merge with NetBSD make, pick up:
2578 o -dg3 to show input graph when things go wrong.
2579 o explicitly look for makefiles in objdir if not found in curdir so
2580 that errors in .depend etc will be reported accurarely.
2581 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
2582 instead as it more accurately reflects the expected behavior and
2583 is more consistently implemented.
2584 o avoid use of asprintf.
2586 2003-09-28 Simon J. Gerraty <sjg@void.crufty.net>
2588 * util.c: Add asprintf and vasprintf.
2590 * Makefile.in (BMAKE_VERSION): bump version to 20030928
2591 * Merge with NetBSD make, pick up:
2592 :[] modifier - allows picking words from a variable.
2593 :tW modifier - allows treating value as one big word.
2594 W flag for :C and :S - allows treating value as one big word.
2596 2003-09-12 Simon J. Gerraty <sjg@void.crufty.net>
2598 * Merge with NetBSD make
2599 pick up -de flag to enable printing failed command.
2600 don't skip 1st two dir entries (normally . and ..) since
2601 coda does not have them.
2603 2003-09-09 Simon J. Gerraty <sjg@void.crufty.net>
2605 * Makefile.in (BMAKE_VERSION): bump version to 20030909
2606 * Merge with NetBSD make, pick up:
2607 - changes for -V '${VAR}' to print fully expanded value
2609 - CompatRunCommand now prints the command that failed.
2610 - several files got updated 3 clause Berkeley license.
2612 2003-08-02 Simon J. Gerraty <sjg@void.crufty.net>
2614 * boot-strap: Allow setting configure args on command line.
2616 2003-07-31 Simon J. Gerraty <sjg@void.crufty.net>
2618 * configure.in: add --with-defshell to allow sh or ksh
2619 to be selected as default shell.
2621 * Makefile.in: bump version to 20030731
2623 * Merge with NetBSD make
2624 Pick up .SHELL spec for ksh and associate man page changes.
2625 Also compat mode now uses the same shell specs.
2627 2003-07-29 Simon J. Gerraty <sjg@void.crufty.net>
2629 * var.c (Var_Parse): ensure delim is initialized.
2631 * unit-tests/Makefile.in: use single quotes to avoid problems from
2635 Run the unit-tests as part of the bootstrap procedure.
2637 2003-07-28 Simon J. Gerraty <sjg@void.crufty.net>
2639 * unit-tests/Makefile.in: always force complaints from
2640 ${TEST_MAKE} to be from 'make'.
2642 * configure.in: add check for 'diff -u'
2643 also fix some old autoconf'isms
2645 * Makefile.in (BMAKE_VERSION): bump version to 20030728.
2646 if using GCC add -Wno-cast-qual to CFLAGS for var.o
2648 * Merge with NetBSD make
2649 Pick up fix for :ts parsing error in some cases.
2652 2003-07-23 Simon J. Gerraty <sjg@void.crufty.net>
2654 * Makefile.in (BMAKE_VERSION): bump version to 20030723.
2656 * var.c (Var_Parse): fix bug in :ts modifier, after const
2657 correctness fixes, must pass nstr to VarModify.
2659 2003-07-14 Simon J. Gerraty <sjg@void.crufty.net>
2661 * Makefile.in: BMAKE_VERSION switch to a date based version.
2662 We'll generally use the date of last import from NetBSD.
2664 * Merge with NetBSD make
2665 Pick up fixes for const-correctness, now passes WARNS=3 on
2667 Pick up :ts modifier, allows controlling the separator used
2668 between words in variable expansion.
2670 2003-07-11 Simon J. Gerraty <sjg@void.crufty.net>
2672 * FILES: include boot-strap and os.sh
2674 * Makefile.in: only set WARNS if we are NetBSD, the effect on
2675 FreeBSD is known to be bad.
2677 * makefile.boot.in (bootstrap): make this the default target.
2679 * Makefile.in: bump version to 3.1.19
2681 * machine.sh: avoid A-Z with tr as it is bound to lose.
2683 2003-07-10 Simon J. Gerraty <sjg@void.crufty.net>
2685 * Merge with NetBSD make
2686 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
2687 Plus some doc fixes.
2689 2003-04-27 Simon J. Gerraty <sjg@void.crufty.net>
2691 * Merge with NetBSD make
2692 Pick up fix for PR/1523 - don't count a library as built, if there
2693 is no way to build it
2695 * Bump version to 3.1.18
2697 2003-03-23 Simon J. Gerraty <sjg@void.crufty.net>
2699 * Merge with NetBSD make
2700 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
2701 appears in src list.
2703 2003-03-21 Simon J. Gerraty <sjg@void.crufty.net>
2705 * Merge with NetBSD make (mmm 10th anniversary!)
2706 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
2707 pick up -X which tells us to not export VAR=val via setenv if
2708 we are already doing so via MAKEFLAGS. This saves valuable env
2709 space on systems like Darwin.
2710 set MAKE_VERSION to 3.1.17
2712 * parse.c: pix up fix for suffix rules
2714 2003-03-06 Simon J. Gerraty <sjg@void.crufty.net>
2716 * Merge with NetBSD make.
2717 pick up fix for propagating -B via MAKEFLAGS.
2718 set MAKE_VERSION to 3.1.16
2720 * Apply some patches from pkgsrc-bootstrap/bmake
2721 Originally by Grant Beattie <grant@netbsd.org>
2722 I may have missed some - since they are based on bmake-3.1.12
2724 2002-12-03 Simon J. Gerraty <sjg@void.crufty.net>
2726 * makefile.boot.in (bmake): update install targets for those that
2727 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
2728 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>.
2730 * bmake.cat1: update the pre-formatted man page!
2732 2002-11-30 Simon J. Gerraty <sjg@void.crufty.net>
2734 * Merge with NetBSD make.
2735 pick up fix for premature free of pointer used in call
2737 set MAKE_VERSION to 3.1.15
2739 2002-11-26 Simon J. Gerraty <sjg@void.crufty.net>
2741 * configure.in: determine suitable value for MKSRC.
2742 override using --with-mksrc=PATH.
2744 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
2745 configs(8) will use 'sun4' as an alias for 'sparc'.
2747 2002-11-25 Simon J. Gerraty <sjg@void.crufty.net>
2749 * Merge with NetBSD make.
2751 pick up fix for finding ../cat.c via .PATH when .CURDIR=..
2752 set MAKE_VERSION to 3.1.14
2753 add configure checks for killpg and sys/socket.h
2755 2002-09-16 Simon J. Gerraty <sjg@void.crufty.net>
2759 * makefile.boot.in (bmake): use install-mk
2760 Also setup ./mk before trying to invoke bmake.boot incase we
2761 needed install-mk to create a sys.mk for us.
2763 * configure.in: If we need to add -I${srcdir}/missing, make it an
2764 absolute path so that it works for lst.lib too.
2766 * make.h: always include sys/cdefs.h since we provide one if the
2769 * Makefile.in (install-mk):
2770 use MKSRC/install-mk which will do the right thing.
2771 use uname -p for ARCH if possible.
2772 since install-mk will setup links bsd.prog.mk -> prog.mk if
2773 needed, just .include bsd.prog.mk
2775 * Merge with NetBSD make (NetBSD-1.6)
2776 Code is ansi-C only now.
2777 Bug in handling of dotLast is fixed.
2778 Can now assign .OBJDIR and make will reset its notions of life.
2779 New modifiers :tu :tl for toUpper and toLower.
2781 Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net>
2783 * Merge with NetBSD make
2784 pick up fix for .END failure in compat mode.
2785 pick up fix for extra va_end() in ParseVErrorInternal.
2787 Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net>
2789 * configure.in: for systems that have sys/cdefs.h check if it is
2790 compatible. If not, include the one under missing, but tell it to
2791 include the native one too - necessary on Linux.
2793 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
2794 include_next (for gcc) to get the native sys/cdefs.h
2796 Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2798 * job.c (JobFinish): Fix an earlier merge bug that resulted in
2799 leaking descriptors when using -jN.
2801 * job.c (JobPrintCommand): See if "curdir" exists before
2802 attempting to chdir(). Doing the chdir directly in make (when in
2803 compat mode) fails silently, so let the -jN version do the same.
2804 This can happen when building kernels in an object tree and
2805 playing clever games to reset .CURDIR.
2807 * Merged with NetBSD make
2810 Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2812 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.
2814 Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2816 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
2817 us not to export the iterator variable when using VAR_CMD context.
2819 Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2821 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
2822 its the wrong "fix".
2824 Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2826 * Redesigned export of VAR_CMD's via MAKEFLAGS.
2827 We now simply append the variable names to .MAKEOVERRIDES, and
2828 handle duplicate suppression and quoting in ExportMAKEFLAGS using:
2829 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
2830 Apart from fixing quoting bugs in previous version, this allows us
2831 to export vars to the environment by simply doing:
2832 .MAKEOVERRIDES+= PATH
2833 Merged again with NetBSD make, but the above is the only change.
2835 * configure.in: added
2836 --disable-pwd-override disable $PWD overriding getcwd()
2837 --disable-check-make-chdir disable make trying to guess
2838 when it should automatically cd ${.CURDIR}
2840 * Merge with NetBSD make, changes include:
2841 parse.c (ParseDoDependency): Spot that the syntax error is
2842 caused by an unresolved cvs/rcs conflict and say so.
2843 var.c: most of Var* functions now take a ctxt as 1st arg.
2844 now does variable substituion on rhs of sysv style modifiers.
2846 * var.c (Var_Set): exporting of command line variables (VAR_CMD)
2847 is now done here. We append the name='value' to .MAKEOVERRIDES
2848 rather than directly into MAKEFLAGS as this allows a Makefile to
2849 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a
2850 very similar mechanism. Note that in adding name='value' to
2851 .MAKEOVERRIDES we do the moral equivalent of:
2852 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'
2854 Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2856 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H
2858 * Merged with NetBSD make
2859 make -dx can now be used to run commands via sh -x
2860 better error messages on exec failures.
2862 Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2864 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
2865 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION,
2866 MACHINE etc otherwise they propagate from the previous bmake.
2868 * configure.in (machine): allow --with-machine=generic to make
2869 configure use machine.sh to set MACHINE.
2871 * job.c (JobInterrupt): convert to using WAIT_T and friends.
2873 * Makefile.in: mention in bmake.1 that we use autoconf.
2875 * make.1: mention MAKE_PRINT_VAR_ON_ERROR.
2877 Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2879 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
2880 as that rather defeats the usefulness of ${MAKEFILE}.
2882 * main.c (MainParseArgs): append command line variable assignments
2883 to MAKEFLAGS so that they get propagated to child make's.
2884 Apparently this is required POSIX behaviour? Its useful anyway.
2886 Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2888 * compat.c (CompatRunCommand): don't use perror() since stdio may
2889 cause problems in child of vfork().
2891 * compat.c, main.c: Call PrintOnError() when we are going to bail.
2892 This routine prints out the .curdir where we stopped and will also
2893 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.
2895 * main.c: add ${.newline} to hold a "\n" - sometimes handy in
2898 * var.c: VarLoopExpand: ignore addSpace if a \n is present.
2900 * Added RCSid's for the files we've touched.
2902 Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2904 * configure.in: Thanks to some clues from mdb@juniper.net,
2905 added autoconf magic to control setting of MACHINE, MACHINE_ARCH
2906 as well as what ends up in _PATH_DEFSYSPATH. We now have:
2908 --with-machine=MACHINE explicitly set MACHINE
2909 --with-force-machine=MACHINE set FORCE_MACHINE
2910 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH
2911 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH
2912 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH
2913 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX
2915 If _PATH_OBJDIRPREFIX is set to "no" we won't define it.
2917 * makefile: added a pathetically simple makefile to drive
2918 bootstrapping. Running configure by hand is more useful.
2920 * Makefile.in: added MAKE_VERSION, and reworked things to be less
2921 dependent on NetBSD bsd.*.mk
2923 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
2924 _PATH_OBJDIRPREFIX for those that don't want a default.
2925 construct _PATH_DEFSYSPATH from the info we get from configure.
2927 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
2928 if MAKE_VERSION is defined.
2930 * compat.c: when we bail, print out the .CURDIR we were in.
2932 Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2934 * Merged with NetBSD make
2936 * var.c: fixed a bug in the handling of the modifier :P
2937 if the node as found but the path was null, we segfault trying to
2940 Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au>
2942 * Merged with NetBSD make
2944 * make.c: Make_OODate's test for a library out of date was using
2945 cmtime where it should have used mtime (my bug).
2947 * compat.c: Use perror() to tell us what really went wrong when we
2948 cannot exec a command.
2950 Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2952 * Merged with NetBSD make
2954 Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2956 * Merged with NetBSD make
2958 Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2960 * Merged with NetBSD make
2962 Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2964 * Merged with NetBSD make
2966 Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2968 * util.c: don't provide signal() since we use sigcompat.c
2970 * Makefile.in: added a build target.
2972 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
2973 These allow some quite clever magic.
2975 * main.c (main): added support for getenv(MAKESYSPATH).
2977 Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2979 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
2980 This avoids objdir having a different value depending on how a
2981 directory was reached (via command line, or subdir.mk).
2983 * If FORCE_MACHINE is defined, ignore getenv("MACHINE").
2985 Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2987 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
2988 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
2989 I've been testing this in NetBSD's make for some weeks.
2991 * Turn Makefile into Makefile.in and make it useful.
2993 Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au>
2995 * Imported NetBSD's -current make(1) and resolve conflicts.
2997 * Applied autoconf patches from bmake v2
2999 * Imported clean code base from NetBSD-1.0