12020-11-17 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * VERSION (_MAKE_VERSION): 20201117 4 Merge with NetBSD make, pick up 5 o fix some unit-tests when dash is .SHELL 6 o rename Targ_NewGN to GNode_New 7 o make some GNode functions const 8 o main.c: call Targ_Init before Var_Init 9 cleanup PrintOnError, getTmpdir and ParseBoolean 10 o var.c: fix error message of failed :!cmd! modifier 11 122020-11-14 Simon J Gerraty <sjg@beast.crufty.net> 13 14 * VERSION (_MAKE_VERSION): 20201114 15 Merge with NetBSD make, pick up 16 o replace a few HashTable_CreateEntry with HashTable_Set 17 o clean up cached_stats 18 o rename DEFAULT to defaultNode 19 o remove redundant struct make_stat 20 o cond.c: in lint mode, check for ".else <cond>" 21 use bitset for IfState 22 replace large switch with if-else in Cond_EvalLine 23 o job.c: clean up JobExec, JobStart, JobDoOutput 24 use stderr for error message about failed touch 25 clean up Job_Touch 26 replace macro DBPRINTF with JobPrintln 27 rename JobState to JobStatus 28 main.c: switch cache for realpath from GNode to HashTable 29 clean up Fatal 30 clean up InitDefSysIncPath 31 use progname instead of hard-coded 'make' in warning 32 rename Main_SetVarObjdir to SetVarObjdir 33 make.1: document the -S option 34 make.c: fix debug output for GNode details 35 use symbolic names in debug output of GNodes 36 372020-11-12 Simon J Gerraty <sjg@beast.crufty.net> 38 39 * configure.in: fix --with-force-machine-arch 40 41 * VERSION (_MAKE_VERSION): 20201112 42 Merge with NetBSD make, pick up 43 o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable 44 checks in InitObjdir. Explicit .OBJDIR target always allows 45 read-only directory. 46 o cond.c: clean up Cond_EvalLine 47 482020-11-11 Simon J Gerraty <sjg@beast.crufty.net> 49 50 * VERSION (_MAKE_VERSION): 20201111 51 Merge with NetBSD make, pick up 52 o more unit-tests 53 o style cleanup 54 remove redundant parentheses from sizeof operator 55 replace character literal 0 with '\0'. 56 replace pointer literal 0 with NULL. 57 remove redundant parentheses. 58 replace (expr & mask) == 0 with !(expr & mask). 59 use strict typing in conditions of the form !var 60 o rename Make_OODate to GNode_IsOODate 61 o rename Make_TimeStamp to GNode_UpdateYoungestChild 62 o rename Var_Set_with_flags to Var_SetWithFlags 63 o rename dieQuietly to shouldDieQuietly 64 o buf.c: make API of Buf_Init simpler 65 o compat.c: clean up Compat_Make, Compat_RunCommand, 66 CompatDeleteTarget and CompatInterrupt 67 o cond.c: in lint mode, only allow '&&' and '||', not '&' and '|' 68 clean up CondParser_Comparison 69 o main.c: rename getBoolean and s2Boolean 70 rename MAKEFILE_PREFERENCE for consistency 71 o parse.c: replace strstr in ParseMaybeSubMake with optimized code 72 o var.c: rename VARE_ASSIGN to VARE_KEEP_DOLLAR 73 replace emptyString with allocated empty string 74 error out on unclosed expressions after the colon 75 762020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 77 78 * VERSION (_MAKE_VERSION): 20201101 79 Merge with NetBSD make, pick up 80 o negate NoExecute to GNode_ShouldExecute 81 o job.c: rename JobMatchShell to FindShellByName 82 extract EscapeShellDblQuot from JobPrintCommand 83 extract ParseRunOptions from JobPrintCommand 84 o var.c: extract ApplyModifiersIndirect from ApplyModifiers 85 treat malformed :range, :ts and :[...] as errors 86 add tests for the variable modifiers :[words] and :range 87 882020-10-31 Simon J Gerraty <sjg@beast.crufty.net> 89 90 * VERSION (_MAKE_VERSION): 20201031 91 Merge with NetBSD make, pick up 92 o format #include directives consistently 93 o do not look up local variables like .TARGET anywhere else 94 o main.c: Main_SetObjdir is first called for curdir which may be 95 readonly 96 reduce the scope where recursive expressions are detected 97 remove redundant :tl from getBoolean 98 clean up mkTempFile 99 o meta.c: simplify memory allocation in meta_create and meta_oodate 100 o parse.c: extract loadedfile_mmap from loadfile 101 o trace.c: document possible undefined behavior with .CURDIR 102 o var.c: make parsing of the :gmtime and :localtime modifiers stricter 103 rename ismeta to is_shell_metachar 104 remove debug logging for the :Q variable modifier 105 rename VarIsDynamic to VarnameIsDynamic 106 use consistent parameter order in varname parsing functions 107 extract ParseVarnameLong from Var_Parse 108 extract ParseVarnameShort from Var_Parse 109 fix type of ParseModifierPart parameter delim 110 extract IsEscapedModifierPart from ParseModifierPart 111 clean up ModifyWords 112 add test for combining the :@ and :? variable modifiers 113 1142020-10-30 Simon J Gerraty <sjg@beast.crufty.net> 115 116 * VERSION (_MAKE_VERSION): 20201030 117 Merge with NetBSD make, pick up 118 o change char * to void * in Var_Value 119 o make iterating over HashTable simpler 120 o rename VAR_CMD to VAR_CMDLINE 121 o cond.c: clean up is_separator 122 fix parse error in string literal in conditional 123 o main.c: do not use objdir that is not writable 124 in lint mode, exit with error status on errors 125 o parse.c: clean up StrContainsWord 126 fix out-of-bounds pointer in ParseTrackInput 127 o var.c: rename Str_SYSVMatch and its parameters 128 remove unsatisfiable conditions in Var_Set_with_flags 129 document where the variable name is expanded 130 fix documentation for VARP_SUB_ONE 131 rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME 132 document VAR_READONLY 133 prevent appending to read-only variables 134 extract MayExport from Var_Export1 135 remove redundant evaluations in VarFind 136 replace VarFindFlags with a simple Boolean 137 rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE 138 1392020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 140 141 * VERSION (_MAKE_VERSION): 20201028 142 Merge with NetBSD make, pick up 143 o rename defIncPath to defSysIncPath 144 o initialize all CmdOpts fields 145 o lst.c: inline Vector_Get 146 o main.c: refactor main extract 147 InitMaxJobs,InitObjdir,InitVarMake,InitRandom, 148 ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules, 149 InitDefIncPath,CmdOpts_Init,UnlimitFiles 150 o parse.c: merge curFile into includes 151 rename predecessor to order_pred 152 sort ParseSpecial alphabetically 153 remove unused, undocumented .NOEXPORT 154 rename ParseSpecial enum values consistently 155 rename some fields of struct IFile 156 1572020-10-26 Simon J Gerraty <sjg@beast.crufty.net> 158 159 * VERSION (_MAKE_VERSION): 20201026 160 Merge with NetBSD make, pick up 161 o group the command line options and arguments into a struct 162 o rename GNode.cmgn to youngestChild 163 o rename hash functions to identify the type name 164 o negate OP_NOP and rename it to GNode_IsTarget 165 o add GNode_Path to access the path of a GNode 166 o remove macros MIN and MAX 167 o remove unused Lst_Find and Lst_FindFrom 168 o arch.c: and make Arch_FindLib simpler 169 clean up code layout 170 make Arch_ParseArchive simpler 171 o cond.c: inline CondFindStrMatch into FuncMake 172 o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath 173 omit trailing space in debug output for expanding file patterns 174 refactor DirMatchFiles 175 document that the SearchPath of Dir_FindFile may be NULL 176 remove UNCONST from Dir_Expand 177 inline DirFindName 178 o for.c: clean up code for handling .for loops 179 o hash.c: print hash in debug log with fixed width 180 clean up hash table functions 181 reduce amount of string hashing 182 o job.c: refactor JobDeleteTarget 183 use proper enum constants for aborting 184 convert result of JobStart from macros to enum 185 convert abort reason macros to enum 186 rework Job_CheckCommands to reduce indentation 187 rename Shell fields 188 add field names in declaration of DEFSHELL_CUSTOM 189 convert JobState and JobFlags to enum types 190 move handling of the "..." command to JobPrintCommands 191 o lst.c: clean up 192 refactor LstNodeNew 193 remove Lst_Open, Lst_Next, Lst_Close 194 remove code for circular lists from Lst_Next 195 o main.c: do not attempt to read .MAKE.DEPENFILE if set to 196 /dev/null or anything starting with "no" 197 convert macros for debug flags into enum 198 o make.c: inline Lst_Copy in Make_ExpandUse 199 o meta.c: inline Lst_Find in meta_oodate 200 make Lst_RemoveIf simpler in meta_oodate 201 o parse.c: convert error level for Parse_Error to an enum 202 o suff.c: properly terminate debug output with newline 203 add more details to DEBUG_SRC log 204 replace Dir_CopyDir with Dir_CopyDirSearchPath 205 don't modify GNode name while rebuilding the suffix graph 206 o var.c: reduce duplicate code in VarFind 207 2082020-10-22 Simon J Gerraty <sjg@beast.crufty.net> 209 210 * VERSION (_MAKE_VERSION): 20201022 211 Merge with NetBSD make, pick up 212 o more refactoring and simplification to reduce code size 213 o var.c: extract CanonicalVarname from VarFind 214 o make.c: extract UpdateImplicitParentsVars from Make_Update 215 o main.c: extract PrintVar from doPrintVars 216 extract HandlePWD from main 217 o lst.c: inline simple Lst getters 218 remove unused Lst_ForEach 219 o job.c: move struct Shell from job.h to job.c 220 o more unit tests 221 2222020-10-19 Simon J Gerraty <sjg@beast.crufty.net> 223 224 * configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT 225 2262020-10-18 Simon J Gerraty <sjg@beast.crufty.net> 227 228 * VERSION (_MAKE_VERSION): 20201018 229 Merge with NetBSD make, pick up 230 o remove USE_IOVEC 231 o rename some Hash_* apis to Hash* 232 o replace execError with execDie 233 o rename Lst_Init to Lst_New 234 o add tags to enum types 235 o rename Stack to Vector 236 o parse.c: more refactoring 237 o unit-tests: make some tests use line buffered stdout 238 o unit-tests/Makefile: in meta mode do not make all tests depend on 239 Makefile, it isn't necessary. 240 2412020-10-10 Simon J Gerraty <sjg@beast.crufty.net> 242 243 * main.c: check for CTL_HW being defined. 244 * unit-tests/Makefile: ensure export tests output are POSIX compliant 245 disable opt-debug-jobs test until it works on ubuntu 246 247 * VERSION (_MAKE_VERSION): 20201010 248 Merge with NetBSD make, pick up 249 o dir.c: remove pathname limit for Dir_FindHereOrAbove 250 o hash.c: replace strcpy with memcpy in Hash_CreateEntry 251 o main.c: extract init_machine and init_machine_arch from main 252 allow to disable debug logging options 253 o parse.c: enable format string truncation warnings 254 extract parsing of sources from ParseDoDependency 255 split ParseDoSrc into smaller functions 256 hide implementation details from Parse_DoVar 257 clean up parsing of variable assignments 258 split Parse_DoVar into manageable pieces 259 don't modify the given line during Parse_DoVar 260 fix out-of-bounds memory access in Parse_DoVar 261 fix parsing of the :sh assignment modifier 262 o var.c: rework memory allocation for the name of variables 263 extract ApplyModifier_Literal into separate function 264 in lint mode, reject modifiers without delimiter 265 do not export variable names starting with '-' 266 o fix double-free bug in -DCLEANUP mode 267 o more cleanup to enable higher warnings level 268 o more unit tests 269 2702020-10-02 Simon J Gerraty <sjg@beast.crufty.net> 271 272 * VERSION (_MAKE_VERSION): 20201002 273 Merge with NetBSD make, pick up 274 o dir.c: use hash table for looking up open directories by name 275 o main.c: clean up option handling 276 o parse.c: add missing const for Parse_AddIncludeDir 277 o var.c: ApplyModifier_To, update pp in each branch 278 o remove redundant function prototypes 279 o more unit tests 280 2812020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 282 283 * VERSION (_MAKE_VERSION): 20201001 284 Merge with NetBSD make, pick up 285 o compat.c: comment about "..." 286 2872020-09-30 Simon J Gerraty <sjg@beast.crufty.net> 288 289 * VERSION (_MAKE_VERSION): 20200930 290 Merge with NetBSD make, pick up 291 o job.c: split Job.jobPipe into 2 separate fields 292 replace Lst_Open with direct iteration 293 o lst.c: remove redundant assertions 294 o targ.c: replace Lst_Open with direct iteration 295 o var.c: fix bug in evaluation of indirect variable modifiers 296 extract ApplyModifier_Quote into separate function 297 o make debug logging simpler 298 2992020-09-27 Simon J Gerraty <sjg@beast.crufty.net> 300 301 * VERSION (_MAKE_VERSION): 20200927 302 Merge with NetBSD make, pick up 303 o parse.c: ensure parse errors result in 'stopped in' message. 304 o compat.c: make parameter of Compat_RunCommand const 305 o main.c: extract InitVarTarget from main 306 o parse.c: rename ParseFinishLine to FinishDependencyGroup 307 refactor ParseDoDependency 308 o var.c: Var_Subst no longer returns string result 309 rename Var_ParsePP back to Var_Parse 310 in lint mode, improve error handling for undefined variables 311 extract ParseVarname from Var_Parse 312 o rename Lst_ForEach to Lst_ForEachUntil 313 o inline Lst_ForEachUntil in several cases 314 o clean up API for finding and creating GNodes 315 o fix assertion failure in -j mode with .END node 316 o inline and remove LstNode_Prev and LstNode_Next 317 o use fine-grained type names for lists and their nodes 318 o more unit tests 319 3202020-09-11 Simon J Gerraty <sjg@beast.crufty.net> 321 322 * VERSION (_MAKE_VERSION): 20200911 323 Merge with NetBSD make, pick up 324 o cond.c: split EvalComparison into smaller functions 325 reorder parameters of condition parsing functions 326 reduce code size in CondParser_Eval 327 rename CondGetString to CondParser_String 328 add CondLexer_SkipWhitespace 329 group the condition parsing state into a struct 330 in CondGetString, replace repeated Buf_Add with Buf_AddStr 331 o migrate Var_Parse to Var_ParsePP 332 o add wrappers around ctype.h functions 333 o lst.c: use a stack instead of a list for the nested include path 334 o more unit tests 335 3362020-09-04 Simon J Gerraty <sjg@beast.crufty.net> 337 338 * make-bootstrap.sh.in: adjust object list 339 3402020-09-02 Simon J Gerraty <sjg@beast.crufty.net> 341 342 * VERSION (_MAKE_VERSION): 20200902 343 Merge with NetBSD make, pick up 344 o use make_stat to ensure no confusion over valid fields 345 returned by cached_stat 346 o var.c: make VarQuote const-correct 347 o add unit tests for .for 348 3492020-09-01 Simon J Gerraty <sjg@beast.crufty.net> 350 351 * VERSION (_MAKE_VERSION): 20200901 352 Merge with NetBSD make, pick up 353 o rename Hash_Table fields 354 o make data types in Dir_HasWildcards more precise 355 3562020-08-31 Simon J Gerraty <sjg@beast.crufty.net> 357 358 * VERSION (_MAKE_VERSION): 20200831 359 Merge with NetBSD make, pick up 360 o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds 361 o lst.c: Lst_Open renable assert that list isn't open 362 o unit test for .TARGET dependent flags 363 o var.c: fix aliasing bug in VarUniq 364 o more unit tests for :u 365 3662020-08-30 Simon J Gerraty <sjg@beast.crufty.net> 367 368 * VERSION (_MAKE_VERSION): 20200830 369 Merge with NetBSD make, pick up 370 o allow for strict type checking for Boolean 371 o Var_Parse never returns NULL 372 o Var_Subst never returns NULL 373 o Lst_Find now takes boolean match function 374 o rename Lst_Memeber to Lst_FindDatum 375 o rename LstNode functions to match their type 376 o rename GNode.iParents to implicitParents 377 o fix assertion failure for .SUFFIXES in archives 378 o compat.c: clean up documentation for CompatInterrupt and Compat_Run 379 remove unreachable code from CompatRunCommand 380 o main.c: simplify getBoolean 381 o stc.c: replace brk_string with simpler Str_Words 382 o suff.c: add debug macros 383 3842020-08-28 Simon J Gerraty <sjg@beast.crufty.net> 385 386 * VERSION (_MAKE_VERSION): 20200828 387 Merge with NetBSD make, pick up 388 o lst.c: inline LstIsValid and LstNodeIsValid 389 o remove trailing S from Lst function names after migration complete 390 o more comment cleanup/clarification 391 o suff.c: clean up suffix handling 392 o more unit tests 393 3942020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 395 396 * VERSION (_MAKE_VERSION): 20200826 397 Merge with NetBSD make, pick up 398 o enum.c: distinguish between bitsets containing flags and 399 ordinary enums 400 o var.c: fix error message for ::!= modifier with shell error 401 o fix bugs in -DCLEANUP mode 402 4032020-08-24 Simon J Gerraty <sjg@beast.crufty.net> 404 405 * VERSION (_MAKE_VERSION): 20200824 406 Merge with NetBSD make, pick up 407 o in debug mode, print GNode details in symbols 408 4092020-08-23 Simon J Gerraty <sjg@beast.crufty.net> 410 411 * VERSION (_MAKE_VERSION): 20200823 412 Merge with NetBSD make, pick up 413 o lst.c: more asserts, 414 make args to Lst_Find match others. 415 o var.c: pass flags to VarAdd 416 o arch.c: use Buffer 417 o str.c: brk_string return size_t for nwords 418 o more unit tests 419 4202020-08-22 Simon J Gerraty <sjg@beast.crufty.net> 421 422 * VERSION (_MAKE_VERSION): 423 Merge with NetBSD make, pick up 424 o var.c: support for read-only variables eg .SHELL 425 being the shell used to run scripts. 426 o lst.c: more simplification 427 o more documentation and style cleanup 428 o more unit tests 429 o ensure unit-test/Makefile is run by TEST_MAKE 430 o reduce duplication of header inclusion 431 4322020-08-21 Simon J Gerraty <sjg@beast.crufty.net> 433 434 * VERSION (_MAKE_VERSION): 20200821 435 Merge with NetBSD make, pick up 436 o lst.c: revert invalid assertion - but document it 437 o dir.c: split Dir_Init into two functions 438 4392020-08-20 Simon J Gerraty <sjg@beast.crufty.net> 440 441 * lst.c: needs inttypes.h on Linux 442 443 * VERSION (_MAKE_VERSION): 20200820 444 Merge with NetBSD make, pick up 445 o make.1: clarify some passages 446 o var.c: more cleanup, clarify comments 447 o make_malloc.c: remove unreachable code 448 o cond.c: make CondGetString easier to debug 449 o simplify list usage 450 o unit-tests: more 451 4522020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 453 454 * VERSION (_MAKE_VERSION): 20200816 455 Merge with NetBSD make, pick up 456 o refactor unit-tests to be more fine grained 457 not all tests moved yet 458 4592020-08-14 Simon J Gerraty <sjg@beast.crufty.net> 460 461 * VERSION (_MAKE_VERSION): 20200814 462 Merge with NetBSD make, pick up 463 o more str_concat variants 464 o more enums for flags 465 o var.c: cleanup for higher warnings level 466 4672020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 468 469 * VERSION (_MAKE_VERSION): 20200810 470 Merge with NetBSD make, pick up 471 o more unit tests 472 o general comment and style cleanup 473 4742020-08-08 Simon J Gerraty <sjg@beast.crufty.net> 475 476 * VERSION (_MAKE_VERSION): 20200808 477 Merge with NetBSD make, pick up 478 o enum.[ch]: streamline, enums for use in flags and debug output 479 o cond.c: cleanup 480 o var.c: reduce duplicate code for modifiers 481 debug logging for Var_Parse 482 more detailed debug output 483 o more unit tests 484 4852020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 486 487 * unit-tests/Makefile: -r for recursive and include Makefile.inc 488 so I can run tests in meta mode 489 supress extra noise if in meta mode 490 491 * VERSION (_MAKE_VERSION): 20200806 492 Merge with NetBSD make, pick up 493 o parse.c: remove VARE_WANTRES for LINT 494 we just want to check parsing (for now). 495 4962020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 497 498 * VERSION (_MAKE_VERSION): 20200805 499 Merge with NetBSD make, pick up 500 o make.1: Rework the description of dependence operators 501 5022020-08-03 Simon J Gerraty <sjg@beast.crufty.net> 503 504 * VERSION (_MAKE_VERSION): 20200803 505 Merge with NetBSD make, pick up 506 o revert some C99 usage, for max portability 507 o unit-tests/lint 508 5092020-08-02 Simon J Gerraty <sjg@beast.crufty.net> 510 511 * VERSION (_MAKE_VERSION): 20200802 512 Merge with NetBSD make, pick up 513 o more unit tests 514 5152020-08-01 Simon J Gerraty <sjg@beast.crufty.net> 516 517 * Remove NetBSD specific plumbing from unit-tests/Makefile 518 519 * VERSION (_MAKE_VERSION): 20200801 520 Merge with NetBSD make, pick up 521 o make Var_Value return const 522 o size_t for buf sizes 523 o optimize some buffer operations - avoid strlen 524 5252020-07-31 Simon J Gerraty <sjg@beast.crufty.net> 526 527 * VERSION (_MAKE_VERSION): 20200731 528 Merge with NetBSD make, pick up 529 o var.c: fix undefinded behavior for incomplete :t modifier 530 fixes unit-test/moderrs on Ubuntu 531 o parse.c: When parsing variable assignments other than := 532 if DEBUG(LINT) test substition of value, so we get a file and 533 line number in the resulting error. 534 o dir.c: fix parsing of nested braces in dependency lines 535 add unit-tests 536 5372020-07-30 Simon J Gerraty <sjg@beast.crufty.net> 538 539 * VERSION (_MAKE_VERSION): 20200730 540 Merge with NetBSD make, pick up 541 o var.c: minor cleanup 542 o unit-tests: more tests to improve code coverage 543 5442020-07-28 Simon J Gerraty <sjg@beast.crufty.net> 545 546 * VERSION (_MAKE_VERSION): 20200728 547 Merge with NetBSD make, pick up 548 o var.c: more optimizations 549 5502020-07-26 Simon J Gerraty <sjg@beast.crufty.net> 551 552 * VERSION (_MAKE_VERSION): 20200726 553 Merge with NetBSD make, pick up 554 o collapse lsd.lib into lst.c - reduce code size and allow inlining 555 o lots of function comment updates 556 o var.c: more optimizations 557 o make return of Var_Parse const 558 5592020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 560 561 * VERSION (_MAKE_VERSION): 20200720 562 Merge with NetBSD make, pick up 563 o DEBUG_HASH report stats at end and tone down the noise 564 o var.c: each flag type gets its own prefix. 565 move SysV string matching to var.c 566 make ampersand in ${VAR:from=to&} an ordinary character 567 cleanup and simplify implementation of modifiers 568 o make.1: move documentation for assignment modifiers 569 5702020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 571 572 * VERSION (_MAKE_VERSION): 20200718 573 Merge with NetBSD make, pick up 574 o DEBUG_HASH to see how well the hash tables are working 575 5762020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 577 578 * bsd.after-import.mk: make sure we update unit-tests/Makefile 579 5802020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 581 582 * configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC 583 584 * VERSION (_MAKE_VERSION): 20200710 585 Merge with NetBSD make, pick up 586 o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall 587 o meta.c: target flagged .META is out-of-date if meta file missing 588 5892020-07-09 Simon J Gerraty <sjg@beast.crufty.net> 590 591 * VERSION (_MAKE_VERSION): 20200709 592 Merge with NetBSD make, pick up 593 o cond.c: fix for compare_expression when doEval=0 594 o unit-tests/Makefile: rework 595 o filemon/filemon_dev.c: ensure filemon fd is closed on exec. 596 5972020-07-04 Simon J Gerraty <sjg@beast.crufty.net> 598 599 * VERSION (_MAKE_VERSION): 20200704 600 Merge with NetBSD make, pick up 601 (most of this by rillig@) 602 o lots of style and white-space cleanup 603 o lots more unit tests for variable modifiers 604 o simplified description of some functions 605 o str.c: refactor Str_Match 606 o var.c: debugging output for :@ 607 constify VarModify parameter 608 fix :hash modifier on 16-bit platforms 609 remove unnecessary forward declarations 610 refactor ApplyModifier_SysV to have less indentation 611 simplify code for :E and :R 612 clean up code for :H and :T 613 refactor ApplyModifiers 614 615 * var.c: we need stdint.h on some platforms to get uint32_t 616 * unit-test/Makefile: we need to supress the specific error 617 for RE substitution error in modmisc, since it varies accross 618 different OS. 619 6202020-07-02 Simon J Gerraty <sjg@beast.crufty.net> 621 622 * VERSION (_MAKE_VERSION): 20200702 623 Merge with NetBSD make, pick up 624 o var.c: more improvements to avoiding unnecessary evaluation 625 use enums for flags 626 o remove flags arg to Var_Set which outside of var.c is always 0 627 6282020-07-01 Simon J Gerraty <sjg@beast.crufty.net> 629 630 * VERSION (_MAKE_VERSION): 20200701 631 Merge with NetBSD make, pick up 632 o var.c: with change to cond.c; ensure that nested variables 633 within a variable name are expanded. 634 o unit-tests/varmisc.mk: test for nested varname 635 6362020-06-29 Simon J Gerraty <sjg@beast.crufty.net> 637 638 * VERSION (_MAKE_VERSION): 20200629 639 Merge with NetBSD make, pick up 640 o cond.c: do not eval unnecessary terms of conditionals. 641 6422020-06-25 Simon J Gerraty <sjg@beast.crufty.net> 643 644 * VERSION (_MAKE_VERSION): 20200625 645 Merge with NetBSD make, pick up 646 o meta.c: report error if lseek in filemon_read fails 647 6482020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 649 650 * VERSION (_MAKE_VERSION): 20200622 651 Merge with NetBSD make, pick up 652 o dieQuietly: ignore OP_SUBMAKE as too aggressive 653 6542020-06-19 Simon J Gerraty <sjg@beast.crufty.net> 655 656 * VERSION (_MAKE_VERSION): 20200619 657 Merge with NetBSD make, pick up 658 o str.c: performance improvement for Str_Match for multiple '*' 659 o dieQuietly: supress the failure output from make 660 when failing node is a sub-make or a sibling failed. 661 This cuts down greatly on unhelpful noise at the end of 662 build log. Disabled by -dj or .MAKE.DIE_QUIETLY=no 663 6642020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 665 666 * FILES: add LICENSE to appease some packagers. 667 This is an attempt to fairly represent the license on almost 668 200 files, which are almost all BSD-3-Clause 669 The few exceptions being more liberal. 670 671 * VERSION (_MAKE_VERSION): 20200610 672 Merge with NetBSD make, pick up 673 o unit test for :Or 674 6752020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 676 677 * VERSION (_MAKE_VERSION): 20200606 678 Merge with NetBSD make, pick up 679 o make.1: cleanup 680 681 * Makefile: fix depends for main.o which broke MAKE_VERSION 682 6832020-06-05 Simon J Gerraty <sjg@beast.crufty.net> 684 685 * VERSION (_MAKE_VERSION): 20200605 686 Merge with NetBSD make, pick up 687 o dir.c: cached_stats - don't confuse stat and lstat results. 688 o var.c: add :Or for reverse sort. 689 6902020-05-24 Simon J Gerraty <sjg@beast.crufty.net> 691 692 * configure.in: add AC_PROG_CC_C99 for mipspro compiler 693 also if --with-filemon= specifies path to filemon.h 694 set use_filemon=dev 695 * dirname.c: remove include of namespace.h 696 6972020-05-17 Simon J Gerraty <sjg@beast.crufty.net> 698 699 * VERSION (_MAKE_VERSION): 20200517 700 Merge with NetBSD make, pick up 701 o modified dollar tests to avoid shell dependencies 702 o new tests for .INCLUDEFROM 703 7042020-05-16 Simon J Gerraty <sjg@beast.crufty.net> 705 706 * unit-tests/dollar.mk: tweak '1 dollar literal' test 707 to not depend so much on shell behavior 708 7092020-05-10 Simon J Gerraty <sjg@beast.crufty.net> 710 711 * VERSION (_MAKE_VERSION): 20200510 712 Merge with NetBSD make, pick up 713 o unit test for dollar handling 714 7152020-05-06 Simon J Gerraty <sjg@beast.crufty.net> 716 717 * VERSION (_MAKE_VERSION): 20200506 718 Merge with NetBSD make, pick up 719 o str.c: empty string does not match % pattern 720 plus unit-test changes 721 7222020-05-04 Simon J Gerraty <sjg@beast.crufty.net> 723 724 * VERSION (_MAKE_VERSION): 20200504 725 May the 4th be with you 726 Merge with NetBSD make, pick up 727 o var.c: import handling of old sysV style modifier using '%' 728 o str.c: refactor brk_string 729 o unit-tests: add test case for lazy conditions 730 7312020-04-18 Simon J Gerraty <sjg@beast.crufty.net> 732 733 * VERSION (_MAKE_VERSION): 20200418 734 735 * configure.in: use_makefile=no for cygwin et al. 736 case insensitive filesystems just don't work if both 737 makefile and Makefile exist. 738 NOTE: bmake does not support cygwin and likely never will, 739 but if brave souls want to try it - help them out. 740 7412020-04-02 Simon J Gerraty <sjg@beast.crufty.net> 742 743 * VERSION (_MAKE_VERSION): 20200402 744 Merge with NetBSD make, pick up 745 o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD 746 a blank command is perfectly valid. 747 7482020-03-30 Simon J Gerraty <sjg@beast.crufty.net> 749 750 * VERSION (_MAKE_VERSION): 20200330 751 Merge with NetBSD make, pick up 752 o make.h: extern debug_file 753 7542020-03-18 Simon J Gerraty <sjg@beast.crufty.net> 755 756 * VERSION (_MAKE_VERSION): 20200318 757 Merge with NetBSD make, pick up 758 o meta.c: meta_oodate, check for corrupted meta file 759 earlier and more often. 760 7612020-02-20 Simon J Gerraty <sjg@beast.crufty.net> 762 763 * VERSION (_MAKE_VERSION): 20200220 764 7652020-02-19 Simon J Gerraty <sjg@beast.crufty.net> 766 767 * boot-strap: unset MAKEFLAGS 768 7692020-02-12 Simon J Gerraty <sjg@beast.crufty.net> 770 771 * VERSION (_MAKE_VERSION): 20200212 772 * meta.c: meta_compat_parent check for USE_FILEMON 773 patch from Soeren Tempel 774 7752020-02-05 Simon J Gerraty <sjg@beast.crufty.net> 776 777 * VERSION: 20200205 778 Merge with NetBSD make, pick up 779 o meta.c: fix compat mode, need to call meta_job_output() 780 o job.c: extra fds for meta mode not needed if using filemon_dev 781 7822020-01-22 Simon J Gerraty <sjg@beast.crufty.net> 783 784 * VERSION: 20200122 785 Merge with NetBSD make, pick up 786 o meta.c: avoid passing NULL to filemon_*() when meta_needed() 787 returns FALSE. 788 7892020-01-21 Simon J Gerraty <sjg@beast.crufty.net> 790 791 * VERSION: 20200121 792 Merge with NetBSD make, pick up 793 o filemon/filemon_{dev,ktrace}.c: allow selection of 794 filemon implementation. filemon_dev.c uses the kernel module 795 while filemon_ktrace.c leverages the fktrace api available in 796 NetBSD. filemon_ktrace.c can hopefully form the basis for 797 adding support for other tracing mechanisms such as strace on 798 Linux. 799 o meta.c: when target is out-of-date per normal make rules 800 record value of .OODATE in meta file. 801 8022019-09-26 Simon J Gerraty <sjg@beast.crufty.net> 803 804 * VERSION: 20190926 805 Merge with NetBSD make, pick up 806 o parse.c: don't pass NULL to realpath(3) 807 some versions cannot handle it. 808 8092019-04-09 Simon J Gerraty <sjg@beast.crufty.net> 810 811 * VERSION: 20190409 812 Merge with NetBSD make, pick up 813 o parse.c: ParseDoDependency: free paths rather than assert 814 8152018-12-22 Simon J Gerraty <sjg@beast.crufty.net> 816 817 * VERSION: 20181222 818 819 * configure.in: add --without-makefile to avoid generating 820 makefile and make-bootstrap.sh 821 822 * include Makefile.inc if it exists 823 824 * Use Makefile and Makefile.config.in in unit-tests 825 so we can use just: make obj && make && make test 826 when bmake is already available. 827 We add --without-makefile to CONFIGURE_ARGS in this case. 828 829 * tweak bsd.after-import.mk (captures Makefile.config etc 830 after import to FreeBSD for example) to cope with all the above. 831 8322018-12-21 Simon J Gerraty <sjg@beast.crufty.net> 833 834 * VERSION: 20181221 835 Merge with NetBSD make, pick up 836 o parse.c: ParseVErrorInternal use .PARSEDIR 837 and apply if relative, and then use .PARSEFILE 838 for consistent result. 839 8402018-12-20 Simon J Gerraty <sjg@beast.crufty.net> 841 842 * VERSION: 20181220 843 Merge with NetBSD make, pick up 844 o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR 845 is relative 846 o var.c: avoid SEGFAULT in .unexport-env 847 when MAKELEVEL is not set 848 8492018-12-16 Simon J Gerraty <sjg@beast.crufty.net> 850 851 * VERSION: 20181216 852 Merge with NetBSD make, pick up 853 o fix for unit-tests/varquote.mk on Debian 854 8552018-09-21 Simon J. Gerraty <sjg@bad.crufty.net> 856 857 * VERSION: 20180919 858 Merge with NetBSD make, pick up 859 o var.c: add :q 860 o dir.c: cleanup caching of stats 861 8622018-09-21 Simon J Gerraty <sjg@beast.crufty.net> 863 864 * Makefile.config.in: use += where it makes sense. 865 8662018-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 867 868 * VERSION: 20180512 869 Merge with NetBSD make, pick up 870 o job.c: skip polling job token pipe 871 8722018-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 873 874 * VERSION: 20180405 875 Merge with NetBSD make, pick up 876 o parse.c: be more cautious about detecting depenency line 877 rather than sysV style include. 878 8792018-02-22 Simon J. Gerraty <sjg@bad.crufty.net> 880 881 * VERSION: 20180222 882 Merge with NetBSD make, pick up 883 o parse.c: avoid calling sysconf for every call to loadfile 884 8852018-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 886 887 * VERSION: 20180218 888 Merge with NetBSD make, pick up 889 o var.c: Var_Set handle NULL value anytime. 890 8912018-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 892 893 * VERSION: 20180212 894 Merge with NetBSD make, pick up 895 o parse.c: do not treat .info as warning with -W 896 8972017-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 898 899 * VERSION: 20171207 900 Merge with NetBSD make, pick up 901 o var.c: Var_Append use Var_Set if var not previously set 902 so that VAR_CMD is handled correctly. 903 Add a suitable unit-test. 904 9052017-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 906 907 * VERSION (_MAKE_VERSION): 20171126 908 909 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__ 910 since AC_TRY_COMPILE puts input inside main() 911 which upsets modern compilers. 912 9132017-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 914 915 * VERSION: 20171118 916 Merge with NetBSD make, pick up 917 o var.c: do not append to variable set on command line 918 add unit-test to catch this. 919 9202017-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 921 922 * VERSION: 20171028 923 Merge with NetBSD make, pick up 924 o main.c: ignore empty MAKEOBJDIR 925 926 * Makefile.config.in: 927 make @prefix@ @machine*@ and @default_sys_path@ defaults. 928 9292017-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 930 931 * VERSION: 20171005 932 933 * unit-tests/dotwait.mk: redirect stderr through pipe for more 934 consistent result on some platforms. 935 9362017-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 937 938 * machine.sh: entry for AIX 939 9402017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 941 942 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION 943 to a file that can be included by configure as well as make. 944 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh 945 9462017-08-10 Simon J. Gerraty <sjg@bad.crufty.net> 947 948 * Makefile (_MAKE_VERSION): 20170810 949 Merge with NetBSD make, pick up 950 o meta.c: if target is in subdir we only need subdir name in 951 meta_name. 952 9532017-07-20 Simon J. Gerraty <sjg@bad.crufty.net> 954 955 * Makefile (_MAKE_VERSION): 20170720 956 Merge with NetBSD make, pick up 957 o compat.c: pass SIGINT etc onto child and wait for it to exit 958 before we self-terminate. 959 9602017-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 961 962 * Makefile (_MAKE_VERSION): 20170711 963 forgot to update after merge on 20170708 ;-) 964 o main.c: refactor to reduce size of main function. 965 add -v option to always fully expand values. 966 o meta.c: ensure command output in meta file has ending newline 967 even when filemon not being used. 968 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use 969 pathname via ':L' since any ':' in pathname breaks that. 970 Instead set a '${.p.}' to pathname in the target context and 971 use that. 972 9732017-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 974 975 * Makefile (_MAKE_VERSION): 20170510 976 Merge with NetBSD make, pick up 977 o main.c: Main_SetObjdir: ensure buf2 is in scope 978 9792017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 980 981 * Makefile (_MAKE_VERSION): 20170505 982 see mk/ChangeLog 983 9842017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 985 986 * parse.c: not everyone has stdint.h 987 9882017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 989 990 * Makefile (_MAKE_VERSION): 20170501 991 see mk/ChangeLog 992 9932017-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 994 995 * Makefile (_MAKE_VERSION): 20170421 996 Merge with NetBSD make, pick up 997 o str.c: Str_Match: fix closure tests for [^] and add unit-test. 998 9992017-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1000 1001 * Makefile (_MAKE_VERSION): 20170420 1002 Merge with NetBSD make, pick up 1003 o main.c: only use -C arg "as is" if it contains no 1004 relative component. 1005 10062017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1007 1008 * Makefile (_MAKE_VERSION): 20170418 1009 Merge with NetBSD make, pick up 1010 o main.c: fix Main_SetObjdir() for relative paths (eg obj). 1011 10122017-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1013 1014 * Makefile (_MAKE_VERSION): 20170417 1015 Merge with NetBSD make, pick up 1016 o fixes a number of coverity complaints 1017 - check return value of fseek, fcntl 1018 - plug memory leak in Dir_FindFile, Var_LoopExpand, 1019 JobPrintCommand, ParseTraditionalInclude 1020 - use bmake_malloc() where NULL is not tollerated 1021 - use MAKE_ATTR_UNUSED rather that kludges like 1022 return(unused ? 0 : 0) 1023 - use purge_cached_realpaths() rather than abuse cached_realpath() 1024 10252017-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 1026 1027 * Makefile (_MAKE_VERSION): 20170413 1028 Merge with NetBSD make, pick up 1029 o main.c: when setting .OBJDIR ignore '$' in paths. 1030 1031 * job.c: use MALLOC_OPTIONS to set malloc_options. 1032 10332017-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 1034 1035 * Makefile (_MAKE_VERSION): 20170411 1036 Merge with NetBSD make, pick up 1037 o str.c: Str_Match: allow [^a-z] to behave as expected. 1038 10392017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1040 1041 * Makefile (_MAKE_VERSION): 20170326 1042 Merge with NetBSD make, pick up 1043 o main.c: purge relative paths from realpath cache when .OBJDIR 1044 is changed. 1045 10462017-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1047 1048 * Makefile (_MAKE_VERSION): 20170311 1049 Merge with NetBSD make, pick up 1050 o main.c: only use -C arg "as is" if it starts with '/'. 1051 10522017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1053 1054 * Makefile (_MAKE_VERSION): 20170301 1055 Merge with NetBSD make, pick up 1056 o main.c: use -C arg "as is" rather than getcwd() 1057 if they identify the same directory. 1058 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case 1059 10602017-02-01 Simon J. Gerraty <sjg@bad.crufty.net> 1061 1062 * Makefile (_MAKE_VERSION): 20170201 1063 Merge with NetBSD make, pick up 1064 o var.c: allow :_=var and avoid use of special context. 1065 10662017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 1067 1068 * Makefile (_MAKE_VERSION): 20170130 1069 Merge with NetBSD make, pick up 1070 o var.c: add :range and :_ 1071 o main.c: partially initialize Dir_* before MainParseArgs() 1072 can be called. 1073 If -V, skip Main_ExportMAKEFLAGS() 1074 10752017-01-14 Simon J. Gerraty <sjg@bad.crufty.net> 1076 1077 * Makefile (_MAKE_VERSION): 20170114 1078 Merge with NetBSD make, pick up 1079 o var.c: allow specifying the utc value used by :{gm,local}time 1080 10812016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1082 1083 * Makefile (_MAKE_VERSION): 20161212 1084 Merge with NetBSD make, pick up 1085 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too. 1086 10872016-12-09 Simon J. Gerraty <sjg@bad.crufty.net> 1088 1089 * Makefile (_MAKE_VERSION): 20161209 1090 Merge with NetBSD make, pick up 1091 o main.c: cleanup setting of .OBJDIR 1092 o parse.c: avoid coredump from (var)=val 1093 10942016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1095 1096 * Makefile (_MAKE_VERSION): 20161126 1097 Merge with NetBSD make, pick up 1098 o make.c: Make_OODate: report src node name if path not set 1099 11002016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 1101 1102 * Makefile (_MAKE_VERSION): 20160926 1103 Merge with NetBSD make, pick up 1104 o support for .DELETE_ON_ERROR: (remove targets that fail) 1105 11062016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 1107 1108 * Makefile MAN: tweak .Dt to match ${PROG} 1109 11102016-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 1111 1112 * Makefile (_MAKE_VERSION): 20160818 1113 its a neater number; pick up whitespace fixes to man page. 1114 11152016-08-17 Simon J. Gerraty <sjg@bad.crufty.net> 1116 1117 * Makefile (_MAKE_VERSION): 20160817 1118 Merge with NetBSD make, pick up 1119 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore() 1120 so we can call it before adding entries to missingFiles. 1121 Thus we do not track files we have been told to ignore. 1122 11232016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 1124 1125 * Makefile (_MAKE_VERSION): 20160815 1126 Merge with NetBSD make, pick up 1127 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to 1128 pathnames, and skip if the expansion is empty. 1129 Useful for dirdeps.mk when checking DIRDEPS_CACHE. 1130 11312016-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 1132 1133 * Makefile (_MAKE_VERSION): 20160812 1134 Merge with NetBSD make, pick up 1135 o meta.c: remove all missingFiles entries that match a deleted 1136 dir. 1137 o main.c: set .ERROR_CMD if possible. 1138 11392016-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1140 1141 * Makefile (_MAKE_VERSION): 20160606 1142 Merge with NetBSD make, pick up 1143 o dir.c: extend mtimes cache to others via cached_stat() 1144 11452016-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1146 1147 * Makefile (_MAKE_VERSION): 20160604 1148 Merge with NetBSD make, pick up 1149 o meta.c: missing filemon data is only relevant if we read a 1150 meta file. 1151 Also do not return oodate for a missing metafile if gn->path 1152 points to .CURDIR 1153 11542016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1155 1156 * Makefile (_MAKE_VERSION): 20160602 1157 Merge with NetBSD make, pick up 1158 o cached_realpath(): avoid hitting filesystem more than necessary. 1159 o meta.c: refactor need_meta decision, add knobs for 1160 missing meta file and filemon data wrt out-of-datedness. 1161 11622016-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 1163 1164 * Makefile (_MAKE_VERSION): 20160528 1165 1166 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 1167 11682016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 1169 1170 * Makefile (_MAKE_VERSION): 20160512 1171 Merge with NetBSD make, pick up 1172 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS 1173 this is useful for gcov builds. 1174 o propagate errors from filemon(4). 1175 11762016-05-09 Simon J. Gerraty <sjg@bad.crufty.net> 1177 1178 * Makefile (_MAKE_VERSION): 20160509 1179 Merge with NetBSD make, pick up 1180 o remove use of non-standard types u_int etc. 1181 o meta.c: apply realpath() before matching against metaIgnorePaths 1182 11832016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 1184 1185 * Makefile (_MAKE_VERSION): 20160404 1186 Merge with NetBSD make, pick up 1187 o allow makefile to set .MAKE.JOBS 1188 1189 * Makefile (PROG_NAME): use ${_MAKE_VERSION} 1190 11912016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1192 1193 * Makefile (_MAKE_VERSION): 20160315 1194 Merge with NetBSD make, pick up 1195 o fix handling of archive members 1196 11972016-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 1198 1199 * Makefile (_MAKE_VERSION): rename variable to avoid interference 1200 with checks for ${MAKE_VERSION} 1201 12022016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1203 1204 * Makefile (MAKE_VERSION): 20160310 1205 Merge with NetBSD make, pick up 1206 o meta.c: treat missing Read file same as Write, incase we Delete it. 1207 12082016-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1209 1210 * Makefile (MAKE_VERSION): 20160307 1211 Merge with NetBSD make, pick up 1212 o var.c: fix :ts\nnn to be octal by default. 1213 o meta.c: meta_finish() to cleanup memory. 1214 12152016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1216 1217 * Makefile (MAKE_VERSION): 20160226 1218 Merge with NetBSD make, pick up 1219 o meta.c: allow meta file for makeDepend if makefiles want it. 1220 12212016-02-19 Simon J. Gerraty <sjg@bad.crufty.net> 1222 1223 * var.c: default .MAKE.SAVE_DOLLARS to FALSE 1224 for backwards compatability. 1225 1226 * Makefile (MAKE_VERSION): 20160220 1227 Merge with NetBSD make, pick up 1228 o var.c: add knob to control handling of '$$' in := 1229 12302016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1231 1232 * Makefile (MAKE_VERSION): 20160218 1233 Merge with NetBSD make, pick up 1234 o var.c: add .export-literal allows us to fix sys.clean-env.mk 1235 post the changes to Var_Subst. 1236 Var_Subst now takes flags, and does not consume '$$' in := 1237 12382016-02-17 Simon J. Gerraty <sjg@bad.crufty.net> 1239 1240 * Makefile (MAKE_VERSION): 20160217 1241 Merge with NetBSD make, pick up 1242 o var.c: preserve '$$' in := 1243 o parse.c: add .dinclude for handling included 1244 makefile like .depend 1245 12462015-12-20 Simon J. Gerraty <sjg@bad.crufty.net> 1247 1248 * Makefile (MAKE_VERSION): 20151220 1249 Merge with NetBSD make, pick up 1250 o suff.c: re-initialize suffNull when clearing suffixes. 1251 12522015-12-01 Simon J. Gerraty <sjg@bad.crufty.net> 1253 1254 * Makefile (MAKE_VERSION): 20151201 1255 Merge with NetBSD make, pick up 1256 o cond.c: CondCvtArg: avoid access beyond end of empty buffer. 1257 o meta.c: meta_oodate: use lstat(2) for checking link target 1258 in case it is a symlink. 1259 o var.c: avoid calling brk_string and Var_Export1 with empty 1260 strings. 1261 12622015-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1263 1264 * Makefile (MAKE_VERSION): 20151126 1265 Merge with NetBSD make, pick up 1266 o parse.c: ParseTrackInput don't access beyond 1267 end of old value. 1268 12692015-10-22 Simon J. Gerraty <sjg@bad.crufty.net> 1270 1271 * Makefile (MAKE_VERSION): 20151022 1272 1273 * Add support for BSD/OS which lacks inttypes.h 1274 and really needs sys/param.h for sys/sysctl.h 1275 also 'type' is not a shell builtin. 1276 1277 * var.c: eliminate uint32_t and need for inttypes.h 1278 1279 * main.c: PrintOnError flush stdout before run .ERROR 1280 1281 * parse.c: cope with _SC_PAGESIZE not being defined. 1282 1283 12842015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1285 1286 * Makefile (MAKE_VERSION): 20151020 1287 Merge with NetBSD make, pick up 1288 o var.c: fix uninitialized var 1289 12902015-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1291 1292 * var.c: the conditional expressions used with ':?' can be 1293 expensive, if already discarding do not evaluate or expand 1294 anything. 1295 12962015-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1297 1298 * Makefile (MAKE_VERSION): 20151010 1299 Merge with NetBSD make, pick up 1300 o Add Boolean wantit flag to Var_Subst and Var_Parse 1301 when FALSE we know we are discarding the result and can 1302 skip operations like Cmd_Exec. 1303 13042015-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 1305 1306 * Makefile (MAKE_VERSION): 20151009 1307 Merge with NetBSD make, pick up 1308 o var.c: don't check for NULL before free() 1309 o meta.c: meta_oodate, do not hard code ignore of makeDependfile 1310 13112015-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 1312 1313 * Makefile (MAKE_VERSION): 20150910 1314 Merge with NetBSD make, pick up 1315 o main.c: with -w print Enter/Leaving messages for objdir too 1316 if necessary. 1317 o centralize shell metachar handling 1318 1319 * FILES: add metachar.[ch] 1320 13212015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1322 1323 * Makefile (MAKE_VERSION): 20150606 1324 Merge with NetBSD make, pick up 1325 o make.1: document .OBJDIR target 1326 13272015-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1328 1329 * Makefile (MAKE_VERSION): 20150505 1330 Merge with NetBSD make, pick up 1331 o cond.c: be strict about lhs of comparison when evaluating .if 1332 but less so when called from variable expansion. 1333 o unit-tests/cond2.mk: test various error conditions 1334 13352015-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1336 1337 * machine.sh (MACHINE): Add Bitrig 1338 patch from joerg@netbsd.org 1339 13402015-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1341 1342 * Makefile (MAKE_VERSION): 20150418 1343 Merge with NetBSD make, pick up 1344 o job.c: use memmove() rather than memcpy() 1345 1346 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL 1347 case, so skip it. 1348 13492015-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 1350 1351 * Makefile (MAKE_VERSION): 20150411 1352 bump version - only mk/ changes. 1353 13542015-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 1355 1356 * Makefile (MAKE_VERSION): 20150410 1357 Merge with NetBSD make, pick up 1358 o document different handling of '-' in jobs mode vs compat 1359 o fix jobs mode so that '-' only applies to whole job 1360 when shell lacks hasErrCtl 1361 o meta.c: use separate vars to track lcwd and latestdir (read) 1362 per process 1363 13642015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1365 1366 * Makefile (MAKE_VERSION): 20150401 1367 Merge with NetBSD make, pick up 1368 o meta.c: close meta file in child 1369 1370 * Makefile: use BINDIR.bmake if set. 1371 Same for MANDIR and SHAREDIR 1372 Handy for testing release candidates 1373 in various environments. 1374 13752015-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1376 1377 * move initialization of savederr to block where it is used 1378 to avoid spurious warning from gcc5 1379 13802014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1381 1382 * Makefile (MAKE_VERSION): 20141111 1383 just a cooler number 1384 13852014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1386 1387 * Makefile (MAKE_VERSION): 20141105 1388 Merge with NetBSD make, pick up 1389 o revert major overhaul of suffix handling 1390 and POSIX compliance - too much breakage 1391 and impossible to make backwards compatible. 1392 o we still have the new unit test structure which is ok. 1393 o meta.c ensure "-- filemon" is at start of line. 1394 13952014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 1396 1397 * configure.in: test that result of getconf PATH_MAX is numeric 1398 and discard if not. Apparently needed for Hurd. 1399 14002014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 1401 1402 * Makefile (MAKE_VERSION): 20140830 1403 Merge with NetBSD make, pick up 1404 o major overhaul of suffix handling 1405 o improved POSIX compliance 1406 o overhauled unit-tests 1407 14082014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 1409 1410 * Makefile (MAKE_VERSION): 20140620 1411 Merge with NetBSD make, pick up 1412 o var.c return varNoError rather than var_Error for ::= modifiers. 1413 14142014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1415 1416 * Makefile (MAKE_VERSION): 20140522 1417 Merge with NetBSD make, pick up 1418 o var.c detect some parse errors. 1419 14202014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1421 1422 * Fix spelling errors - patch from Pedro Giffuni 1423 14242014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1425 1426 * Makefile (MAKE_VERSION): 20140214 1427 Merge with NetBSD make, pick up 1428 o .INCLUDEFROM* 1429 o use Var_Value to get MAKEOBJDIR[PREFIX] 1430 o reduced realloc'ign in brk_string. 1431 * configure.in: add a check for compiler supporting __func__ 1432 14332014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 1434 1435 * boot-strap: ignore mksrc=none 1436 14372014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 1438 1439 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 1440 14412014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 1442 1443 * Makefile (MAKE_VERSION): 20140101 1444 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 1445 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 1446 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 1447 Hurd) 1448 * configure.in: Add AC_PREREQ and check for 1449 sysctl; patch from Andrew Shadura andrewsh at debian.org 1450 14512013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 1452 1453 * Makefile (MAKE_VERSION): 20131010 1454 * lose the const from arg to systcl to avoid problems on older BSDs. 1455 14562013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1457 1458 * Makefile (MAKE_VERSION): 20131001 1459 Merge with NetBSD make, pick up 1460 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 1461 hw.machine_arch if necessary. 1462 o meta.c: meta_oodate - need to look at src of Link and target 1463 of Move as well. 1464 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 1465 provide __arraycount() if needed. 1466 14672013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1468 1469 * Makefile (MAKE_VERSION): 20130904 1470 Merge with NetBSD make, pick up 1471 o Add VAR_INTERNAL context, so that internal setting of 1472 MAKEFILE does not override value set by makefiles. 1473 14742013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1475 1476 * Makefile (MAKE_VERSION): 20130902 1477 Merge with NetBSD make, pick up 1478 o CompatRunCommand: only apply shellErrFlag when errCheck is true 1479 14802013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1481 1482 * Makefile (MAKE_VERSION): 20130828 1483 Merge with NetBSD make, pick up 1484 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 1485 o Call Job_SetPrefix() from Job_Init() so makefiles have 1486 opportunity to set .MAKE.JOB.PREFIX 1487 14882013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 1489 1490 * Makefile (MAKE_VERSION): 20130730 1491 Merge with NetBSD make, pick up 1492 o Allow suppression of --- job -- tokens by setting 1493 .MAKE.JOB.PREFIX empty. 1494 14952013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1496 1497 * Makefile (MAKE_VERSION): 20130716 1498 Merge with NetBSD make, pick up 1499 o number of gmake compatibility tweaks 1500 -w for gmake style entering/leaving messages 1501 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 1502 handle MAKEFLAGS containing only letters. 1503 o when overriding a GLOBAL variable on the command line, 1504 delete it from GLOBAL context so -V doesn't show the wrong 1505 value. 1506 15072013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 1508 1509 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 1510 1511 * Makefile (MAKE_VERSION): 20130706 1512 Merge with NetBSD make, pick up 1513 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 1514 true so that CompatRunCommand() can use it, to ensure 1515 consistent behavior with jobs mode. 1516 o use MAKE_LEVEL_ENV to define the variable to propagate 1517 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 1518 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 1519 paths to ignore. 1520 15212013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1522 1523 * Makefile (MAKE_VERSION): 20130604 1524 Merge with NetBSD make, pick up 1525 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 1526 to avoid leaking descriptors. 1527 15282013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 1529 1530 * Makefile (MAKE_VERSION): 20130528 1531 Merge with NetBSD make, pick up 1532 o var.c: cleanup some left-overs in VarHash() 1533 15342013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1535 1536 * Makefile (MAKE_VERSION): 20130520 1537 generate manifest from component FILES rather than have to 1538 update FILES when mk/FILES changes. 1539 15402013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 1541 1542 * Makefile (MAKE_VERSION): 20130518 1543 Merge with NetBSD make, pick up 1544 o suff.c: don't skip all processsing for .PHONY targets 1545 else wildcard srcs do not get expanded. 1546 o var.c: expand name of variable to delete if necessary. 1547 15482013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1549 1550 * Makefile (MAKE_VERSION): 20130330 1551 Merge with NetBSD make, pick up 1552 o meta.c: refine the handling of .OODATE in commands. 1553 Rather than suppress command comparison for the entire script 1554 as though .NOMETA_CMP had been used, only suppress it for the 1555 one command line. 1556 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 1557 suppress comparison of a command without otherwise affecting it. 1558 o make.1: document that 1559 15602013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 1561 1562 * Makefile (MAKE_VERSION): 20130321 1563 yes, not quite right but its a cooler number. 1564 Merge with NetBSD make, pick up 1565 o parse.c: fix ParseGmakeExport to be portable 1566 and add a unit-test. 1567 * meta.c: call meta_init() before makefiles are read and if built 1568 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 1569 this let's makefiles test for support. 1570 Call meta_mode_init() to process .MAKE.MODE. 1571 15722013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 1573 1574 * Makefile (MAKE_VERSION): 20130305 1575 Merge with NetBSD make, pick up 1576 o run .STALE: target when a dependency from .depend is missing. 1577 o job.c: add Job_RunTarget() for the above and .BEGIN 1578 15792013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1580 1581 * Makefile (MAKE_VERSION): 20130303 1582 Merge with NetBSD make, pick up 1583 o main.c: set .MAKE.OS to utsname.sysname 1584 o job.c: more checks for read and poll errors 1585 o var.c: lose VarChangeCase() saves 4% time 1586 15872013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1588 1589 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 1590 want to use MAKEOBJDIR 1591 15922013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 1593 1594 * Merge with NetBSD make, pick up 1595 o make.1: more info on how shell commands are handled. 1596 o job.c,main.c: detect write errors to job pipes. 1597 15982013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 1599 1600 * Makefile (MAKE_VERSION): 20130123 1601 Merge with NetBSD make, pick up 1602 o meta.c: if script uses .OODATE and meta_oodate() decides 1603 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 1604 o var.c: in debug output indicate which variabale modifiers 1605 apply to. 1606 o remove Check_Cwd logic the makefiles have been fixed. 1607 16082012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1609 1610 * makefile.in: add a simple makefile for folk who insist on 1611 ./configure; make; make install 1612 it just runs boot-strap 1613 * include mk/* to accommodate the above 1614 * boot-strap: re-work to accommodate the above 1615 mksrc defaults to $Mydir/mk 1616 allow op={configure,build,install,clean,all} 1617 add options to facilitate install 1618 * Makefile.config.in: just the bits set by configure 1619 * Makefile: bump version to 20121212 1620 abandon Makefile.in (NetBSD Makefile) 1621 leverage mk/* instead 1622 * configure.in: ensure srcdir is absolute 1623 16242012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1625 1626 * Makefile.in (MAKE_VERSION): 20121111 1627 fix generation of bmake.cat1 1628 16292012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1630 1631 * Makefile.in (MAKE_VERSION): 20121109 1632 Merge with NetBSD make, pick up 1633 o make.c: MakeBuildChild: return 0 so search continues if a 1634 .ORDER dependency is detected. 1635 o unit-tests/order: test the above 1636 16372012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 1638 1639 * Makefile.in (MAKE_VERSION): 20121102 1640 Merge with NetBSD make, pick up 1641 o cond.c: allow cond_state[] to grow. 1642 In meta mode with a very large tree, we can hit the limit 1643 while processing dirdeps. 1644 16452012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 1646 1647 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 1648 16492012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1650 1651 * Makefile.in (MAKE_VERSION): 20121010 1652 o protect syntax that only bmake parses correctly. 1653 o remove auto setting of FORCE_MACHINE, use configure's 1654 --with-force-machine=whatever if that is desired. 1655 16562012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 1657 1658 * Makefile.in: do not lose history from make.1 when generating bmake.1 1659 16602012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 1661 1662 * Makefile.in (MAKE_VERSION): 20121007 1663 Merge with NetBSD make, pick up 1664 o compat.c: ignore empty commands - same as jobs mode. 1665 o make.1: document meta chars that cause use of shell 1666 16672012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1668 1669 * Makefile.in (MAKE_VERSION): bump version to 20120911 1670 * bsd.after-import.mk: include Makefile.inc early and allow it to 1671 override PROG 1672 16732012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 1674 1675 * Makefile.in (MAKE_VERSION): bump version to 20120831 1676 Merge with NetBSD make, pick up 1677 o cast sizeof() to int for comparison 1678 o minor make.1 tweak 1679 16802012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 1681 1682 * Makefile.in (MAKE_VERSION): bump version to 20120830 1683 Merge with NetBSD make, pick up 1684 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 1685 o debug flag -dV causes -V to show raw value regardless. 1686 16872012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 1688 1689 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 1690 gets SRCTOP set. 1691 16922012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 1693 1694 * Makefile.in (MAKE_VERSION): bump version to 20120704 1695 Merge with NetBSD make, pick up 1696 o Job_ParseShell should call Shell_Init if it has been 1697 previously called. 1698 * Makefile.in: set USE_META based on configure result. 1699 also .PARSEDIR is safer indicator of bmake. 1700 17012012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 1702 1703 * Makefile.in: bump version to 20120626 1704 ensure CPPFLAGS is in CFLAGS 1705 * meta.c: avoid nested externs 1706 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 1707 17082012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 1709 1710 * Makefile.in (MAKE_VERSION): bump version to 20120620 1711 Merge with NetBSD make, pick up 1712 o make_malloc.c: avoid including make_malloc.h again 1713 1714 * Makefile.in: avoid bmake only syntax or protect with 1715 .if defined(.MAKE.LEVEL) 1716 * bsd.after-import.mk: replace .-include with .sinclude 1717 ensure? SRCTOP gets a value 1718 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 1719 17202012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 1721 1722 * Makefile.in (MAKE_VERSION): bump version to 20120612 1723 Merge with NetBSD make, pick up 1724 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 1725 for greater portability. 1726 o unit-tests/forloop: check that .for works as expected wrt 1727 number of times and with "quoted strings". 1728 17292012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1730 1731 * Makefile.in (MAKE_VERSION): bump version to 20120606 1732 Merge with NetBSD make, pick up 1733 o compat.c: use kill(2) rather than raise(3). 1734 * configure.in: look for sys/dev/filemon 1735 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 1736 and pass BOOTSTRAP_XTRAS to boot-strap. 1737 17382012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1739 1740 * Makefile.in (MAKE_VERSION): bump version to 20120604 1741 Merge with NetBSD make, pick up 1742 o util.c and var.c share same var for tracking if environ 1743 has been reallocated. 1744 o util.c provide getenv with setenv. 1745 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 1746 when the shell actively strips .MAKE.* from the environment. 1747 We still refer to the variable always as .MAKE.LEVEL 1748 * util.c fix bug in findenv() was finding prefix of name. 1749 * compat.c: re-raising SIGINT etc after running .INTERRUPT 1750 results in more reliable termination of all activity on many 1751 platforms. 1752 17532012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1754 1755 * Makefile.in (MAKE_VERSION): bump version to 20120602 1756 Merge with NetBSD make, pick up 1757 o for.c: handle quoted items in .for list 1758 17592012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 1760 1761 * Makefile.in (MAKE_VERSION): bump version to 20120530 1762 Merge with NetBSD make, pick up 1763 o compat.c: ignore empty command. 1764 17652012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1766 1767 * Makefile.in (MAKE_VERSION): bump version to 20120524 1768 * FILES: add bsd.after-import.mk: 1769 A simple means of integrating bmake into a BSD build system. 1770 17712012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1772 1773 * Makefile.in (MAKE_VERSION): bump version to 20120520 1774 Merge with NetBSD make, pick up 1775 o increased limit for nested conditionals. 1776 17772012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 1778 1779 * Makefile.in (MAKE_VERSION): bump version to 20120518 1780 Merge with NetBSD make, pick up 1781 o use _exit(2) in signal hanlder 1782 o Don't use the [dir] cache when building nodes that might have 1783 changed since the last exec. 1784 o Avoid nested extern declaration warnings. 1785 17862012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 1787 1788 * meta.c (fgetLine): avoid %z - not portable. 1789 * parse.c: Since we moved include of sys/mman.h 1790 and def's of MAP_COPY etc. we got dups from a merge. 1791 17922012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 1793 1794 * Makefile.in (MAKE_VERSION): bump version to 20120420 1795 Merge with NetBSD make, pick up 1796 o restore duplicate supression in .MAKE.MAKEFILES 1797 runtime saving can be significant. 1798 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 1799 consumption up to 20%. 1800 18012012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1802 1803 * Makefile.in (MAKE_VERSION): bump version to 20120420 1804 Merge with NetBSD make, pick up 1805 o remove duplicate supression in .MAKE.MAKEFILES 1806 o improved dir cache behavior 1807 o gmake'ish export command 1808 18092012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 1810 1811 * Makefile.in (MAKE_VERSION): bump version to 20120325 1812 Merge with NetBSD make, pick up 1813 o fix parsing of :[#] in conditionals. 1814 18152012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1816 1817 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 1818 since some systems cannot cope with .Nx <version> 1819 18202011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1821 1822 * Makefile.in (MAKE_VERSION): bump version to 20111111 1823 Merge with NetBSD make, pick up 1824 o debug output for .PARSEDIR and .PARSEFILE 1825 18262011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1827 1828 * Makefile.in (MAKE_VERSION): bump version to 20111010 1829 18302011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 1831 1832 * boot-strap: check for an expected file in the dirs we look for. 1833 * make-bootstrap.sh: pass on LDSTATIC 1834 18352011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1836 1837 * Makefile.in (MAKE_VERSION): bump version to 20111001 1838 Merge with NetBSD make, pick up 1839 o ensure .PREFIX is set for .PHONY 1840 and .TARGET set for .PHONY run via .END 1841 o __dead used consistently 1842 18432011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 1844 1845 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 1846 18472011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 1848 1849 * Makefile.in (MAKE_VERSION): bump version to 20110905 1850 Merge with NetBSD make, pick up 1851 o meta_oodate: ignore makeDependfile 1852 18532011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1854 1855 * Makefile.in (MAKE_VERSION): bump version to 20110828 1856 Merge with NetBSD make, pick up 1857 o silent=yes in .MAKE.MODE causes meta mode to mark targets 1858 as SILENT if a .meta file is created 1859 18602011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 1861 1862 * Makefile.in (MAKE_VERSION): bump version to 20110818 1863 Merge with NetBSD make, pick up 1864 o in meta mode, if target flagged .META a missing .meta file 1865 means target is out-of-date 1866 o fixes for gcc 4.5 warnings 1867 o simplify job printing code 1868 18692011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 1870 1871 * Makefile.in (MAKE_VERSION): bump version to 20110808 1872 Merge with NetBSD make, pick up 1873 o do not touch OP_SPECIAL targets when doing make -t 1874 18752011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 1876 1877 * Makefile.in (MAKE_VERSION): bump version to 20110622 1878 Merge with NetBSD make, pick up 1879 o meta_oodate detect corrupted .meta file and declare oodate. 1880 * configure.in: add check for setsid 1881 18822011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 1883 1884 * Merge with NetBSD make, pick up 1885 o unit-tests/modts now works on MirBSD 1886 18872011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1888 1889 * Makefile.in (MAKE_VERSION): bump version to 20110606 1890 Merge with NetBSD make, pick up 1891 o ApplyModifiers: when we parse a variable which is not 1892 the entire modifier string, or not followed by ':', do not 1893 consider it as containing modifiers. 1894 o loadfile: ensure newline at end of mapped file. 1895 18962011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1897 1898 * Makefile.in (MAKE_VERSION): bump version to 20110505 1899 Merge with NetBSD make, pick up 1900 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 1901 of make's control. In meta mode, any generated file within 1902 said bailiwick, which is found to be missing, causes current 1903 target to be out-of-date. 1904 19052011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 1906 1907 * Makefile.in (MAKE_VERSION): bump version to 20110411 1908 Merge with NetBSD make, pick up 1909 o when long modifiers fail to match, check sysV style. 1910 - add a test case 1911 19122011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 1913 1914 * Makefile.in (MAKE_VERSION): bump version to 20110410 1915 Merge with NetBSD make, pick up 1916 o :hash - cheap 32bit hash of value 1917 o :localtime, :gmtime - use value as format string for strftime. 1918 19192011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1920 1921 * Makefile.in (MAKE_VERSION): bump version to 20110330 1922 mostly because its a cooler version. 1923 Merge with NetBSD make, pick up 1924 o NetBSD tags for meta.[ch] 1925 o job.c call meta_job_finish() after meta_job_error(). 1926 o meta_job_error() should call meta_job_finish() to ensure 1927 .meta file is closed, and safe to copy - if .ERROR target wants. 1928 meta_job_finish() is safe to call repeatedly. 1929 19302011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1931 1932 * unit-tests/modts: use printf if it is a builtin, 1933 to save us from MirBSD 1934 1935 * Makefile.in (MAKE_VERSION): bump version to 20110329 1936 Merge with NetBSD make, pick up 1937 o fix for use after free() in CondDoExists(). 1938 o meta_oodate() report extra commands and return earlier. 1939 19402011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 1941 1942 * Makefile.in (MAKE_VERSION): bump version to 20110327 1943 Merge with NetBSD make, pick up 1944 o meta.c, if .MAKE.MODE contains curdirOk=yes 1945 allow creating .meta files in .CURDIR 1946 * boot-strap (TOOL_DIFF): aparently at least on linux distro 1947 formats the output of 'type' differently - so eat any "()" 1948 19492011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 1950 1951 * Makefile.in (MAKE_VERSION): bump version to 20110306 1952 Merge with NetBSD make, pick up 1953 o meta.c, only do getcwd() once 1954 19552011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 1956 1957 * Makefile.in (MAKE_VERSION): bump version to 20110305 1958 Merge with NetBSD make, pick up 1959 o correct sysV substitution handling of empty lhs and variable 1960 o correct exists() check for dir with trailing / 1961 o correct handling of modifiers for non-existant variables 1962 during evaluation of conditionals. 1963 o ensure MAP_FILE is defined. 1964 o meta.c use curdir[] now exported by main.c 1965 19662011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 1967 1968 * Makefile.in (MAKE_VERSION): bump version to 20110225 1969 Merge with NetBSD make, pick up 1970 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 1971 makefiles have been read. 1972 o fix example of :? modifier in man page. 1973 19742011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 1975 1976 * Makefile.in (MAKE_VERSION): bump version to 20110214 1977 Merge with NetBSD make, pick up 1978 o meta.c handle realpath() failing when generating meta file 1979 name. 1980 1981 * sigcompat.c: convert to ansi so we can use higher warning levels. 1982 1983 19842011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 1985 1986 * Makefile.in (MAKE_VERSION): bump version to 20110207 1987 Merge with NetBSD make, pick up 1988 o fix for bug in meta mode. 1989 19902011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 1991 1992 * parse.c: SunOS 5.8 at least does not have MAP_FILE 1993 19942011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 1995 1996 * Makefile.in (MAKE_VERSION): bump version to 20110101 1997 Merge with NetBSD make, pick up 1998 o use mmap(2) if available, for reading makefiles 1999 20002010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 2001 2002 * Makefile.in (MAKE_VERSION): bump version to 20101215 2003 Merge with NetBSD make, pick up 2004 o ensure meta_job_error() does not report a previous .meta file 2005 as being culprit. 2006 20072010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 2008 2009 * Makefile.in (MAKE_VERSION): bump version to 20101210 2010 Merge with NetBSD make, pick up 2011 o meta_oodate: track cwd per process, and only consider target 2012 out-of-date if missing file is outside make's CWD. 2013 Ignore files in /tmp/ etc. 2014 o to ensure unit-tests results match, need to control LC_ALL 2015 as well as LANG. 2016 o fix for parsing bug in var.c 2017 20182010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 2019 2020 * Makefile.in (MAKE_VERSION): bump version to 20101126 2021 Merge with NetBSD make, pick up 2022 o if stale dependency is an IMPSRC, search via .PATH 2023 o meta_oodate: if a referenced file is missing, target is 2024 out-of-date. 2025 o meta_oodate: if a target uses .OODATE in its commands, 2026 it (.OODATE) needs to be recomputed. 2027 o keep a pointer to youngest child node, rather than just its 2028 mtime. 2029 20302010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 2031 2032 * Makefile.in (MAKE_VERSION): bump version to 20101101 2033 20342010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 2035 2036 * machine.sh: like os.sh, 2037 allow for uname -p producing useless drivel 2038 20392010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 2040 2041 * boot-strap: document configure knobs for meta and filemon. 2042 2043 * Makefile.in (MAKE_VERSION): bump version to 20100911 2044 Merge with NetBSD make, pick up 2045 o meta.c - meta mode 2046 2047 * make-bootstrap.sh.in: handle meta.c 2048 * configure.in: add knobs for use_meta and filemon_h 2049 also, look for dirname, str[e]sep and strlcpy 2050 * util.c: add simple err[x] and warn[x] 2051 20522010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 2053 2054 * boot-strap (TOOL_DIFF): set this to ensure tests use 2055 the same version of diff that configure tested 2056 2057 * Makefile.in (MAKE_VERSION): bump version to 20100808 2058 Merge with NetBSD make, pick up 2059 o in jobs mode, when we discover we cannot make something, 2060 call PrintOnError before exit. 2061 20622010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 2063 2064 * Makefile.in (MAKE_VERSION): bump version to 20100806 2065 Merge with NetBSD make, pick up 2066 o formatting fixes for ignored errors 2067 o ensure jobs are cleaned up regardless of where wait() was called. 2068 20692010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 2070 2071 * Makefile.in (MAKE_VERSION): bump version to 20100618 2072 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 2073 20742010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 2075 2076 * Makefile.in (MAKE_VERSION): bump version to 20100616 2077 Merge with NetBSD make, pick up 2078 o man page update 2079 o call PrintOnError from JobFinish when we detect an error we 2080 are not ignoring. 2081 20822010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 2083 2084 * Makefile.in (MAKE_VERSION): bump version to 20100606 2085 Merge with NetBSD make, pick up 2086 o man page update 2087 20882010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 2089 2090 * Makefile.in (MAKE_VERSION): bump version to 20100605 2091 Merge with NetBSD make, pick up 2092 o use bmake_signal() which is a wrapper around sigaction() 2093 in place of signal() 2094 o add .export-env to allow exporting variables to environment 2095 without tracking (so no re-export when the internal value is 2096 changed). 2097 20982010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 2099 2100 * Makefile.in (MAKE_VERSION): bump version to 20100524 2101 Merge with NetBSD make, pick up 2102 o fix for .info et al being greedy. 2103 21042010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 2105 2106 * Makefile.in (MAKE_VERSION): bump version to 20100520 2107 Merge with NetBSD make, pick up 2108 o back to using realpath on argv[0] 2109 but only if contains '/' and does not start with '/'. 2110 21112010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 2112 2113 * boot-strap: use absolute path for bmake when running tests. 2114 2115 * Makefile.in (MAKE_VERSION): bump version to 20100510 2116 Merge with NetBSD make, pick up 2117 o revert use of realpath on argv[0] 2118 too many corner cases. 2119 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 2120 21212010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 2122 2123 * Makefile.in (MAKE_VERSION): bump version to 20100505 2124 Merge with NetBSD make, pick up 2125 o fix for missed SIGCHLD when compiled with SunPRO 2126 actually for bmake, defining FORCE_POSIX_SIGNALS would have 2127 done the job. 2128 21292010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 2130 2131 * Makefile.in (MAKE_VERSION): bump version to 20100430 2132 Merge with NetBSD make, pick up 2133 o fflush stdout before writing to stdout 2134 21352010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 2136 2137 * Makefile.in (MAKE_VERSION): bump version to 20100423 2138 Merge with NetBSD make, pick up 2139 o updated unit tests for Haiku (this time for sure). 2140 * boot-strap: based on patch from joerg 2141 honor --with-default-sys-path better. 2142 * boot-strap: remove mention of --with-prefix-sys-path 2143 21442010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 2145 2146 * Makefile.in (MAKE_VERSION): bump version to 20100422 2147 * Merge with NetBSD make, pick up 2148 o fix for vfork() on Darwin. 2149 o fix for bogus $TMPDIR. 2150 o set .MAKE.MODE=compat for -B 2151 o set .MAKE.JOBS=max_jobs for -j max_jobs 2152 o allow unit-tests to run without any *.mk 2153 o unit-tests/modmisc be more conservative in dirs presumed to exist. 2154 * boot-strap: ignore /usr/share/mk except on NetBSD. 2155 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 2156 ensure sort(1) behaves as expected. 2157 21582010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 2159 2160 * boot-strap: add FindHereOrAbove so we can use -m .../mk 2161 21622010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 2163 2164 * Makefile.in (MAKE_VERSION): bump version to 20100420 2165 * Merge with NetBSD make, pick up 2166 o fix for variable realpath() behavior. 2167 we have to stat(2) the result to be sure. 2168 o fix for .export (all) when nested vars use :sh 2169 21702010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 2171 2172 * Makefile.in (MAKE_VERSION): bump version to 20100414 2173 * Merge with NetBSD make, pick up 2174 o use realpath to resolve argv[0] (for .MAKE) if needed. 2175 o add realpath from libc. 2176 o add :tA to resolve variable via realpath(3) if possible. 2177 21782010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 2179 2180 * Makefile.in (MAKE_VERSION): bump version to 20100408 2181 * Merge with NetBSD make, pick up 2182 o unit tests for .ERROR, .error 2183 o fix for .ERROR to ensure it cannot be default target. 2184 21852010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 2186 2187 * Makefile.in (MAKE_VERSION): bump version to 20100406 2188 * Merge with NetBSD make, pick up 2189 o fix for compat mode "Error code" going to debug_file. 2190 o fix for .ALLSRC being populated twice. 2191 o support for .info, .warning and .error directives 2192 o .MAKE.MODE to control make's operational mode 2193 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 2194 name(s). 2195 o .MAKE.DEPENDFILE to control the name of the depend file 2196 o .ERROR target - run on failure. 2197 21982010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 2199 2200 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 2201 2202 * os.sh,arch.c: patch for Haiku from joerg at netbsd 2203 22042010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 2205 2206 * Makefile.in (MAKE_VERSION): bump version to 20100222 2207 * Merge with NetBSD make, pick up 2208 o better error msg for .for with mutiple inter vars 2209 2210 * boot-strap: 2211 o use make-bootstrap.sh from joerg at netbsd 2212 to avoid the need for a native make when bootstrapping. 2213 o add "" everywhere ;-) 2214 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 2215 otherwise the pre-formated version. 2216 22172010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 2218 2219 * Makefile.in (MAKE_VERSION): bump version to 20100102 2220 * Merge with NetBSD make, pick up: 2221 o fix for -m .../ 2222 22232009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 2224 2225 * Makefile.in (MAKE_VERSION): bump version to 20091118 2226 * Merge with NetBSD make, pick up: 2227 o .unexport 2228 o report lines that start with '.' and should have ':' 2229 (catch typo's of .el*if). 2230 22312009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 2232 2233 * configure.in: Ensure that srcdir and mksrc are absolute paths. 2234 22352009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2236 2237 * Makefile.in (MAKE_VERSION): fix version to 20091007 2238 22392009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 2240 2241 * Makefile.in (MAKE_VERSION): bump version to 200910007 2242 * Merge with NetBSD make, pick up: 2243 o fix for parsing of :S;...;...; applied to .for loop iterator 2244 appearing in a dependency line. 2245 22462009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 2247 2248 * Makefile.in (MAKE_VERSION): bump version to 20090909 2249 * Merge with NetBSD make, pick up: 2250 o fix for -C, .CURDIR and .OBJDIR 2251 * boot-strap: 2252 o allow share_dir to be set independent of prefix. 2253 o select default share_dir better when prefix ends in $HOST_TARGET 2254 o if FORCE_BSD_MK etc were set, include them in the suggested 2255 install-mk command. 2256 22572009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 2258 2259 * Makefile.in (MAKE_VERSION): bump version to 20090908 2260 * Merge with NetBSD make, pick up: 2261 o .MAKE.LEVEL for recursion tracking 2262 o fix for :M scanning \: 2263 22642009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 2265 2266 * configure.in: Don't -D__EXTENSIONS__ if 2267 AC_USE_SYSTEM_EXTENSIONS says "no". 2268 22692009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 2270 2271 * Makefile.in (MAKE_VERSION): bump version to 20090826 2272 Simplify MAKE_VERSION to just the bare date. 2273 * Merge with NetBSD make, pick up: 2274 o -C directory support. 2275 o support for SIGINFO 2276 o use $TMPDIR for temp files. 2277 o child of vfork should be careful about modifying parent's state. 2278 2279 22802009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 2281 2282 * Appy some patches for MiNT from David Brownlee 2283 22842009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 2285 2286 * Makefile.in (BMAKE_VERSION): bump version to 20090222 2287 * Merge with NetBSD make, pick up: 2288 o Possible null pointer de-ref in Var_Set. 2289 22902009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 2291 2292 * Makefile.in (BMAKE_VERSION): bump version to 20090204 2293 * Merge with NetBSD make, pick up: 2294 o bmake_malloc et al moved to their own .c 2295 o Count both () and {} when looking for the end of a :M pattern 2296 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 2297 o strlist.c - functions for processing extendable arrays of pointers to strings. 2298 o ClientData replaced with void *, so const void * can be used. 2299 o New debug flag C for DEBUG_CWD 2300 23012008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 2302 2303 * Makefile.in (BMAKE_VERSION): bump version to 20081111 2304 Apply patch from Joerg Sonnenberge to 2305 configure.in: 2306 o remove some redundant checks 2307 o check for emlloc etc only in libutil and require the whole family. 2308 util.c: 2309 o remove [v]asprintf which is no longer used. 2310 23112008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2312 2313 * Makefile.in (BMAKE_VERSION): bump version to 20081101 2314 * Merge with NetBSD make, pick up: 2315 o util.c: avoid use of putenv() - christos 2316 23172008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 2318 2319 * Makefile.in (BMAKE_VERSION): bump version to 20081030 2320 pick up man page tweaks. 2321 23222008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 2323 2324 * Makefile.in: move processing of LIBOBJS to after is definition! 2325 thus we'll have getenv.c in SRCS only if needed. 2326 2327 * make.1: add examples of how to use :? 2328 2329 * Makefile.in (BMAKE_VERSION): bump version to 20081029 2330 * Merge with NetBSD make, pick up: 2331 o fix for .END processing with -j 2332 o segfault from Parse_Error when no makefile is open 2333 o handle numeric expressions in any variable expansion 2334 o debug output now defaults to stderr, -dF to change it - apb 2335 o make now uses bmake_malloc etc so that it can build natively 2336 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 2337 23382008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 2339 2340 * Makefile.in (BMAKE_VERSION): bump version to 20080808 2341 * Merge with NetBSD make, pick up: 2342 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 2343 long lines in Makefiles 2344 o optimizations for VarQuote by joerg 2345 o fix for PR/38756: dominik: make dumps core on invalid makefile 2346 23472008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 2348 2349 * Makefile.in (BMAKE_VERSION): bump version to 20080515 2350 * Merge with NetBSD make, pick up: 2351 o fix skip setting vars in VAR_GLOBAL context, to handle 2352 cases where VAR_CMD is used for other than command line vars. 2353 23542008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 2355 2356 * boot-strap (make_version): we may need to look in 2357 $prefix/share/mk for sys.mk 2358 2359 * Makefile.in (BMAKE_VERSION): bump version to 20080514 2360 * Merge with NetBSD make, pick up: 2361 o skip setting vars in VAR_GLOBAL context, when already set in 2362 VAR_CMD which takes precedence. 2363 23642008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 2365 2366 * Makefile.in (BMAKE_VERSION): bump version to 20080330 2367 * Merge with NetBSD make, pick up: 2368 o fix for ?= when LHS contains variable reference. 2369 23702008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2371 2372 * merge some patches from NetBSD pkgsrc. 2373 2374 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 2375 the MAKSYSPATH used during bootstrap. 2376 2377 * Makefile.in (BMAKE_VERSION): bump version to 20080215 2378 * Merge with NetBSD make, pick up: 2379 o warn if non-space chars follow 'empty' in a conditional. 2380 23812008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 2382 2383 * Makefile.in (BMAKE_VERSION): bump version to 20080118 2384 * Merge with NetBSD make, pick up: 2385 o consider dependencies read from .depend as optional - dsl 2386 o remember when buffer for reading makefile grows - dsl 2387 o add -dl (aka LOUD) - David O'Brien 2388 23892007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 2390 2391 * Makefile.in (BMAKE_VERSION): bump version to 20071022 2392 * Merge with NetBSD make, pick up: 2393 o Allow .PATH<suffix> to be used for .include "" 2394 2395 * boot-strap: source default settings from .bmake-boot-strap.rc 2396 23972007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 2398 2399 * Makefile.in: fix maninstall on various systems 2400 provided that our man.mk is used. 2401 For non-BSD systems we install the preformatted page 2402 into $MANDIR/cat1 2403 24042007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 2405 2406 * boot-strap: make bmake.1 too, so maninstall works. 2407 24082007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 2409 2410 * Makefile.in (BMAKE_VERSION): bump version to 20071014 2411 * Merge with NetBSD make, pick up: 2412 o revamped handling of defshell - configure no longer needs to 2413 know the content of the shells array - apb 2414 o stop Var_Subst modifying its input - apb 2415 o avoid calling ParseTrackInput too often - dsl 2416 24172007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 2418 2419 * Makefile.in (BMAKE_VERSION): bump version to 20071011 2420 * Merge with NetBSD make, pick up: 2421 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 2422 2423 * sigcompat.c: some tweaks for HP-UX 11.x based on 2424 patch from Tobias Nygren 2425 2426 * configure.in: update handling of --with-defshell to match 2427 new make behavior. --with-defshell=/usr/xpg4/bin/sh 2428 will now do what one might hope - provided the chosen shell 2429 behaves enough like sh. 2430 24312007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 2432 2433 * Makefile.in (BMAKE_VERSION): bump to 20071008 2434 * Merge with NetBSD make, pick up: 2435 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 2436 o .export/.MAKE.EXPORTED - export of variables - sjg 2437 o .MAKE.MAKEFILES - track all makefiles read - sjg 2438 o performance improvements - dsl 2439 o revamp parallel job scheduling - dsl 2440 24412006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2442 2443 * Makefile.in (BMAKE_VERSION): bump to 20060728 2444 * Merge with NetBSD make, pick up: 2445 o extra debug info during variable and cond processing - sjg 2446 o shell definition now covers newline - rillig 2447 o minor mem leak in PrintOnError - sjg 2448 24492006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 2450 2451 * Makefile.in (BMAKE_VERSION): bump to 20060511 2452 * Merge with NetBSD make, pick up: 2453 o more memory leaks - coverity 2454 o possible overflow in ArchFindMember - coverity 2455 o extract variable modifier code out of Var_Parse() 2456 so it can be called recursively - sjg 2457 o unit-tests/moderrs - sjg 2458 24592006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 2460 2461 * Makefile.in (BMAKE_VERSION): bump to 20060412 2462 * Merge with NetBSD make, pick up: 2463 o fixes for some memory leaks - coverity 2464 o only read first sys.mk etc when searching sysIncPath - sjg 2465 2466 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 2467 setting ${MAKEFILE} - OBATA Akio 2468 24692006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2470 2471 * Makefile.in (BMAKE_VERSION): bump to 20060318 2472 * Merge with NetBSD make, pick up: 2473 o cleanup of job.c to remove remote handling, distcc is more 2474 useful and this code was likely bit-rotting - dsl 2475 o fix for :P modifier - sjg 2476 * boot-strap: set default prefix to something reasonable 2477 (for me anyway). 2478 24792006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2480 2481 * Makefile.in (BMAKE_VERSION): bump to 20060301 2482 * Merge with NetBSD make, pick up: 2483 o make .WAIT apply recursively, document and test case - apb 2484 o allow variable modifiers in a variable appear anywhere in 2485 modifier list, document and test case - sjg 2486 24872006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 2488 2489 * Makefile.in (BMAKE_VERSION): bump to 20060222 2490 * Merge with NetBSD make, pick up: 2491 o improved job token handling - dsl 2492 o SIG_DFL the correct signal before exec - dsl 2493 o more debug info during parsing - dsl 2494 o allow variable modifiers to be specified via variable - sjg 2495 * boot-strap: explain why we died if no mksrc 2496 24972005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 2498 2499 * Makefile.in (BMAKE_VERSION): bump to 20051105 2500 * configure.in: always set default_sys_path 2501 default is ${prefix}/share/mk 2502 - remove prefix_sys_path, anyone wanting more than above 2503 needs to set it manually. 2504 25052005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2506 2507 * boot-strap: make this a bit easier for pkgsrc folk. 2508 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 2509 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 2510 25112005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 2512 2513 * Makefile.in (BMAKE_VERSION): bump to 20051102 2514 * job.c (JobFinish): fix likely ancient merge lossage 2515 fix from Todd Vierling. 2516 * boot-strap (srcdir): allow setting mksrc=none 2517 25182005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 2519 2520 * Makefile.in (BMAKE_VERSION): bump to 20051031 2521 * ranlib.h: skip on OSF too. 2522 (NetBSD PR 31864) 2523 25242005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 2525 2526 * Makefile.in (BMAKE_VERSION): bump to 20051002 2527 fix a silly typo 2528 25292005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2530 2531 * Makefile.in (BMAKE_VERSION): bump to 20051001 2532 support for UnixWare and some other systems, 2533 based on patches from pkgsrc/bootstrap 2534 25352005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 2536 2537 * Makefile.in (BMAKE_VERSION): bump to 20050901 2538 * Merge with NetBSD make, pick up: 2539 o possible parse error causing us to wander off. 2540 25412005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 2542 2543 * Makefile.in (BMAKE_VERSION): bump to 20050606 2544 * Merge with NetBSD make, pick up: 2545 o :0x modifier for randomizing a list 2546 o fixes for a number of -Wuninitialized issues. 2547 25482005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 2549 2550 * Makefile.in (BMAKE_VERSION): bump to 20050530 2551 * Merge with NetBSD make, pick up: 2552 o Handle dependencies for .BEGIN, .END and .INTERRUPT 2553 2554 * README: was seriously out of date. 2555 25562005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2557 2558 * Important to use .MAKE rather than MAKE. 2559 25602005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 2561 2562 * Makefile.in (BMAKE_VERSION): bump to 20050315 2563 * Merge with NetBSD make, pick up: 2564 o don't mistake .elsefoo for .else 2565 o use suffix-specific search path correctly 2566 o bunch of style nits 2567 25682004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 2569 2570 * boot-strap: 2571 o ensure that args to --src and --with-mksrc 2572 are resolved before giving them to configure. 2573 o add -o "objdir" so that builder can control it, 2574 default is $OS as determined by os.sh 2575 o add -q to suppress all the install instructions. 2576 25772004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 2578 2579 * Remove __IDSTRING() 2580 2581 * Makefile.in (BMAKE_VERSION): bump to 20040508 2582 * Merge with NetBSD make, pick up: 2583 o posix fixes 2584 - remove '-e' from compat mode 2585 - add support for '+' command-line prefix. 2586 o fix for handling '--' on command-line. 2587 o fix include in lst.lib/lstInt.h to simplify '-I's 2588 o we also picked up replacement of MAKE_BOOTSTRAP 2589 with !MAKE_NATIVE which is a noop, but possibly confusing. 2590 25912004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 2592 2593 * Makefile.in (BMAKE_VERSION): bump to 20040414 2594 * Merge with NetBSD make, pick up: 2595 o allow quoted strings on lhs of conditionals 2596 o issue warning when extra .else is seen 2597 o print line numer when errors encountered during parsing from 2598 string. 2599 26002004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 2601 2602 * Makefile.in (BMAKE_VERSION): bump to 20040220 2603 * Merge with NetBSD make, pick up: 2604 o fix for old :M parsing bug. 2605 o re-jigged unit-tests 2606 26072004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2608 2609 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 2610 so that './bmake -f Makefile test' works. 2611 26122004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2613 2614 * Makefile.in: (BMAKE_VERSION): bump to 20040214 2615 * Merge with NetBSD make, pick up: 2616 o search upwards for *.mk 2617 o fix for double free of var substitution buffers 2618 o use of getopt replaced with custom code, since the usage 2619 (re-scanning) isn't posix compatible. 2620 26212004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 2622 2623 * arch.c: don't include ranlib.h on ELF systems 2624 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 2625 26262004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 2627 2628 * Makefile.in (BMAKE_VERSION): bump to 20040118 2629 2630 * boot-strap (while): export vars we assign to on cmdline 2631 * unit-test/Makefile.in: ternary is .PHONY 2632 26332004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 2634 2635 * Makefile.in (BMAKE_VERSION): bump version to 20040108 2636 * Merge with NetBSD make, pick up: 2637 o fix for ternary modifier 2638 26392004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 2640 2641 * Makefile.in (BMAKE_VERSION): bump version to 20040105 2642 * Merge with NetBSD make, pick up: 2643 o fix for cond.c to handle compound expressions better 2644 o variable expansion within sysV style replacements 2645 26462003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 2647 2648 * Make portable snprintf safer - output to /dev/null first to 2649 check space needed. 2650 2651 * Makefile.in (BMAKE_VERSION): bump version to 20031222 2652 * Merge with NetBSD make, pick up: 2653 o -dg3 to show input graph when things go wrong. 2654 o explicitly look for makefiles in objdir if not found in curdir so 2655 that errors in .depend etc will be reported accurarely. 2656 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 2657 instead as it more accurately reflects the expected behavior and 2658 is more consistently implemented. 2659 o avoid use of asprintf. 2660 26612003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2662 2663 * util.c: Add asprintf and vasprintf. 2664 2665 * Makefile.in (BMAKE_VERSION): bump version to 20030928 2666 * Merge with NetBSD make, pick up: 2667 :[] modifier - allows picking words from a variable. 2668 :tW modifier - allows treating value as one big word. 2669 W flag for :C and :S - allows treating value as one big word. 2670 26712003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 2672 2673 * Merge with NetBSD make 2674 pick up -de flag to enable printing failed command. 2675 don't skip 1st two dir entries (normally . and ..) since 2676 coda does not have them. 2677 26782003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 2679 2680 * Makefile.in (BMAKE_VERSION): bump version to 20030909 2681 * Merge with NetBSD make, pick up: 2682 - changes for -V '${VAR}' to print fully expanded value 2683 cf. -V VAR 2684 - CompatRunCommand now prints the command that failed. 2685 - several files got updated 3 clause Berkeley license. 2686 26872003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 2688 2689 * boot-strap: Allow setting configure args on command line. 2690 26912003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2692 2693 * configure.in: add --with-defshell to allow sh or ksh 2694 to be selected as default shell. 2695 2696 * Makefile.in: bump version to 20030731 2697 2698 * Merge with NetBSD make 2699 Pick up .SHELL spec for ksh and associate man page changes. 2700 Also compat mode now uses the same shell specs. 2701 27022003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 2703 2704 * var.c (Var_Parse): ensure delim is initialized. 2705 2706 * unit-tests/Makefile.in: use single quotes to avoid problems from 2707 some shells. 2708 2709 * makefile.boot.in: 2710 Run the unit-tests as part of the bootstrap procedure. 2711 27122003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2713 2714 * unit-tests/Makefile.in: always force complaints from 2715 ${TEST_MAKE} to be from 'make'. 2716 2717 * configure.in: add check for 'diff -u' 2718 also fix some old autoconf'isms 2719 2720 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 2721 if using GCC add -Wno-cast-qual to CFLAGS for var.o 2722 2723 * Merge with NetBSD make 2724 Pick up fix for :ts parsing error in some cases. 2725 Pick unit-tests. 2726 27272003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2728 2729 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 2730 2731 * var.c (Var_Parse): fix bug in :ts modifier, after const 2732 correctness fixes, must pass nstr to VarModify. 2733 27342003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 2735 2736 * Makefile.in: BMAKE_VERSION switch to a date based version. 2737 We'll generally use the date of last import from NetBSD. 2738 2739 * Merge with NetBSD make 2740 Pick up fixes for const-correctness, now passes WARNS=3 on 2741 NetBSD. 2742 Pick up :ts modifier, allows controlling the separator used 2743 between words in variable expansion. 2744 27452003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 2746 2747 * FILES: include boot-strap and os.sh 2748 2749 * Makefile.in: only set WARNS if we are NetBSD, the effect on 2750 FreeBSD is known to be bad. 2751 2752 * makefile.boot.in (bootstrap): make this the default target. 2753 2754 * Makefile.in: bump version to 3.1.19 2755 2756 * machine.sh: avoid A-Z with tr as it is bound to lose. 2757 27582003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 2759 2760 * Merge with NetBSD make 2761 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 2762 Plus some doc fixes. 2763 27642003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 2765 2766 * Merge with NetBSD make 2767 Pick up fix for PR/1523 - don't count a library as built, if there 2768 is no way to build it 2769 2770 * Bump version to 3.1.18 2771 27722003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 2773 2774 * Merge with NetBSD make 2775 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 2776 appears in src list. 2777 27782003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 2779 2780 * Merge with NetBSD make (mmm 10th anniversary!) 2781 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 2782 pick up -X which tells us to not export VAR=val via setenv if 2783 we are already doing so via MAKEFLAGS. This saves valuable env 2784 space on systems like Darwin. 2785 set MAKE_VERSION to 3.1.17 2786 2787 * parse.c: pix up fix for suffix rules 2788 27892003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 2790 2791 * Merge with NetBSD make. 2792 pick up fix for propagating -B via MAKEFLAGS. 2793 set MAKE_VERSION to 3.1.16 2794 2795 * Apply some patches from pkgsrc-bootstrap/bmake 2796 Originally by Grant Beattie <grant@netbsd.org> 2797 I may have missed some - since they are based on bmake-3.1.12 2798 27992002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 2800 2801 * makefile.boot.in (bmake): update install targets for those that 2802 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 2803 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 2804 2805 * bmake.cat1: update the pre-formatted man page! 2806 28072002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 2808 2809 * Merge with NetBSD make. 2810 pick up fix for premature free of pointer used in call 2811 to Dir_InitCur(). 2812 set MAKE_VERSION to 3.1.15 2813 28142002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 2815 2816 * configure.in: determine suitable value for MKSRC. 2817 override using --with-mksrc=PATH. 2818 2819 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 2820 configs(8) will use 'sun4' as an alias for 'sparc'. 2821 28222002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 2823 2824 * Merge with NetBSD make. 2825 pick up ${.PATH} 2826 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 2827 set MAKE_VERSION to 3.1.14 2828 add configure checks for killpg and sys/socket.h 2829 28302002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 2831 2832 * tag bmake-3-1-13 2833 2834 * makefile.boot.in (bmake): use install-mk 2835 Also setup ./mk before trying to invoke bmake.boot incase we 2836 needed install-mk to create a sys.mk for us. 2837 2838 * configure.in: If we need to add -I${srcdir}/missing, make it an 2839 absolute path so that it works for lst.lib too. 2840 2841 * make.h: always include sys/cdefs.h since we provide one if the 2842 host does not. 2843 2844 * Makefile.in (install-mk): 2845 use MKSRC/install-mk which will do the right thing. 2846 use uname -p for ARCH if possible. 2847 since install-mk will setup links bsd.prog.mk -> prog.mk if 2848 needed, just .include bsd.prog.mk 2849 2850 * Merge with NetBSD make (NetBSD-1.6) 2851 Code is ansi-C only now. 2852 Bug in handling of dotLast is fixed. 2853 Can now assign .OBJDIR and make will reset its notions of life. 2854 New modifiers :tu :tl for toUpper and toLower. 2855 2856Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 2857 2858 * Merge with NetBSD make 2859 pick up fix for .END failure in compat mode. 2860 pick up fix for extra va_end() in ParseVErrorInternal. 2861 2862Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 2863 2864 * configure.in: for systems that have sys/cdefs.h check if it is 2865 compatible. If not, include the one under missing, but tell it to 2866 include the native one too - necessary on Linux. 2867 2868 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 2869 include_next (for gcc) to get the native sys/cdefs.h 2870 2871Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2872 2873 * job.c (JobFinish): Fix an earlier merge bug that resulted in 2874 leaking descriptors when using -jN. 2875 2876 * job.c (JobPrintCommand): See if "curdir" exists before 2877 attempting to chdir(). Doing the chdir directly in make (when in 2878 compat mode) fails silently, so let the -jN version do the same. 2879 This can happen when building kernels in an object tree and 2880 playing clever games to reset .CURDIR. 2881 2882 * Merged with NetBSD make 2883 pick up .USEBEFORE 2884 2885Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2886 2887 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 2888 2889Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2890 2891 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 2892 us not to export the iterator variable when using VAR_CMD context. 2893 2894Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2895 2896 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 2897 its the wrong "fix". 2898 2899Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2900 2901 * Redesigned export of VAR_CMD's via MAKEFLAGS. 2902 We now simply append the variable names to .MAKEOVERRIDES, and 2903 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 2904 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 2905 Apart from fixing quoting bugs in previous version, this allows us 2906 to export vars to the environment by simply doing: 2907 .MAKEOVERRIDES+= PATH 2908 Merged again with NetBSD make, but the above is the only change. 2909 2910 * configure.in: added 2911 --disable-pwd-override disable $PWD overriding getcwd() 2912 --disable-check-make-chdir disable make trying to guess 2913 when it should automatically cd ${.CURDIR} 2914 2915 * Merge with NetBSD make, changes include: 2916 parse.c (ParseDoDependency): Spot that the syntax error is 2917 caused by an unresolved cvs/rcs conflict and say so. 2918 var.c: most of Var* functions now take a ctxt as 1st arg. 2919 now does variable substituion on rhs of sysv style modifiers. 2920 2921 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 2922 is now done here. We append the name='value' to .MAKEOVERRIDES 2923 rather than directly into MAKEFLAGS as this allows a Makefile to 2924 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 2925 very similar mechanism. Note that in adding name='value' to 2926 .MAKEOVERRIDES we do the moral equivalent of: 2927 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 2928 2929Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2930 2931 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 2932 2933 * Merged with NetBSD make 2934 make -dx can now be used to run commands via sh -x 2935 better error messages on exec failures. 2936 2937Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2938 2939 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 2940 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 2941 MACHINE etc otherwise they propagate from the previous bmake. 2942 2943 * configure.in (machine): allow --with-machine=generic to make 2944 configure use machine.sh to set MACHINE. 2945 2946 * job.c (JobInterrupt): convert to using WAIT_T and friends. 2947 2948 * Makefile.in: mention in bmake.1 that we use autoconf. 2949 2950 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 2951 2952Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2953 2954 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 2955 as that rather defeats the usefulness of ${MAKEFILE}. 2956 2957 * main.c (MainParseArgs): append command line variable assignments 2958 to MAKEFLAGS so that they get propagated to child make's. 2959 Apparently this is required POSIX behaviour? Its useful anyway. 2960 2961Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2962 2963 * compat.c (CompatRunCommand): don't use perror() since stdio may 2964 cause problems in child of vfork(). 2965 2966 * compat.c, main.c: Call PrintOnError() when we are going to bail. 2967 This routine prints out the .curdir where we stopped and will also 2968 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 2969 2970 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 2971 :@ expansion. 2972 2973 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 2974 2975 * Added RCSid's for the files we've touched. 2976 2977Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2978 2979 * configure.in: Thanks to some clues from mdb@juniper.net, 2980 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 2981 as well as what ends up in _PATH_DEFSYSPATH. We now have: 2982 2983 --with-machine=MACHINE explicitly set MACHINE 2984 --with-force-machine=MACHINE set FORCE_MACHINE 2985 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 2986 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 2987 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 2988 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 2989 2990 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 2991 2992 * makefile: added a pathetically simple makefile to drive 2993 bootstrapping. Running configure by hand is more useful. 2994 2995 * Makefile.in: added MAKE_VERSION, and reworked things to be less 2996 dependent on NetBSD bsd.*.mk 2997 2998 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 2999 _PATH_OBJDIRPREFIX for those that don't want a default. 3000 construct _PATH_DEFSYSPATH from the info we get from configure. 3001 3002 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 3003 if MAKE_VERSION is defined. 3004 3005 * compat.c: when we bail, print out the .CURDIR we were in. 3006 3007Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3008 3009 * Merged with NetBSD make 3010 3011 * var.c: fixed a bug in the handling of the modifier :P 3012 if the node as found but the path was null, we segfault trying to 3013 duplicate it. 3014 3015Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3016 3017 * Merged with NetBSD make 3018 3019 * make.c: Make_OODate's test for a library out of date was using 3020 cmtime where it should have used mtime (my bug). 3021 3022 * compat.c: Use perror() to tell us what really went wrong when we 3023 cannot exec a command. 3024 3025Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3026 3027 * Merged with NetBSD make 3028 3029Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3030 3031 * Merged with NetBSD make 3032 3033Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3034 3035 * Merged with NetBSD make 3036 3037Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3038 3039 * Merged with NetBSD make 3040 3041Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3042 3043 * util.c: don't provide signal() since we use sigcompat.c 3044 3045 * Makefile.in: added a build target. 3046 3047 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 3048 These allow some quite clever magic. 3049 3050 * main.c (main): added support for getenv(MAKESYSPATH). 3051 3052Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3053 3054 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 3055 This avoids objdir having a different value depending on how a 3056 directory was reached (via command line, or subdir.mk). 3057 3058 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 3059 3060Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3061 3062 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 3063 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 3064 I've been testing this in NetBSD's make for some weeks. 3065 3066 * Turn Makefile into Makefile.in and make it useful. 3067 3068Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3069 3070 * Imported NetBSD's -current make(1) and resolve conflicts. 3071 3072 * Applied autoconf patches from bmake v2 3073 3074 * Imported clean code base from NetBSD-1.0 3075