12020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * VERSION (_MAKE_VERSION): 20201101 4 Merge with NetBSD make, pick up 5 o negate NoExecute to GNode_ShouldExecute 6 o job.c: rename JobMatchShell to FindShellByName 7 extract EscapeShellDblQuot from JobPrintCommand 8 extract ParseRunOptions from JobPrintCommand 9 o var.c: extract ApplyModifiersIndirect from ApplyModifiers 10 treat malformed :range, :ts and :[...] as errors 11 add tests for the variable modifiers :[words] and :range 12 132020-10-31 Simon J Gerraty <sjg@beast.crufty.net> 14 15 * VERSION (_MAKE_VERSION): 20201031 16 Merge with NetBSD make, pick up 17 o format #include directives consistently 18 o do not look up local variables like .TARGET anywhere else 19 o main.c: Main_SetObjdir is first called for curdir which may be 20 readonly 21 reduce the scope where recursive expressions are detected 22 remove redundant :tl from getBoolean 23 clean up mkTempFile 24 o meta.c: simplify memory allocation in meta_create and meta_oodate 25 o parse.c: extract loadedfile_mmap from loadfile 26 o trace.c: document possible undefined behavior with .CURDIR 27 o var.c: make parsing of the :gmtime and :localtime modifiers stricter 28 rename ismeta to is_shell_metachar 29 remove debug logging for the :Q variable modifier 30 rename VarIsDynamic to VarnameIsDynamic 31 use consistent parameter order in varname parsing functions 32 extract ParseVarnameLong from Var_Parse 33 extract ParseVarnameShort from Var_Parse 34 fix type of ParseModifierPart parameter delim 35 extract IsEscapedModifierPart from ParseModifierPart 36 clean up ModifyWords 37 add test for combining the :@ and :? variable modifiers 38 392020-10-30 Simon J Gerraty <sjg@beast.crufty.net> 40 41 * VERSION (_MAKE_VERSION): 20201030 42 Merge with NetBSD make, pick up 43 o change char * to void * in Var_Value 44 o make iterating over HashTable simpler 45 o rename VAR_CMD to VAR_CMDLINE 46 o cond.c: clean up is_separator 47 fix parse error in string literal in conditional 48 o main.c: do not use objdir that is not writable 49 in lint mode, exit with error status on errors 50 o parse.c: clean up StrContainsWord 51 fix out-of-bounds pointer in ParseTrackInput 52 o var.c: rename Str_SYSVMatch and its parameters 53 remove unsatisfiable conditions in Var_Set_with_flags 54 document where the variable name is expanded 55 fix documentation for VARP_SUB_ONE 56 rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME 57 document VAR_READONLY 58 prevent appending to read-only variables 59 extract MayExport from Var_Export1 60 remove redundant evaluations in VarFind 61 replace VarFindFlags with a simple Boolean 62 rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE 63 642020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 65 66 * VERSION (_MAKE_VERSION): 20201028 67 Merge with NetBSD make, pick up 68 o rename defIncPath to defSysIncPath 69 o initialize all CmdOpts fields 70 o lst.c: inline Vector_Get 71 o main.c: refactor main extract 72 InitMaxJobs,InitObjdir,InitVarMake,InitRandom, 73 ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules, 74 InitDefIncPath,CmdOpts_Init,UnlimitFiles 75 o parse.c: merge curFile into includes 76 rename predecessor to order_pred 77 sort ParseSpecial alphabetically 78 remove unused, undocumented .NOEXPORT 79 rename ParseSpecial enum values consistently 80 rename some fields of struct IFile 81 822020-10-26 Simon J Gerraty <sjg@beast.crufty.net> 83 84 * VERSION (_MAKE_VERSION): 20201026 85 Merge with NetBSD make, pick up 86 o group the command line options and arguments into a struct 87 o rename GNode.cmgn to youngestChild 88 o rename hash functions to identify the type name 89 o negate OP_NOP and rename it to GNode_IsTarget 90 o add GNode_Path to access the path of a GNode 91 o remove macros MIN and MAX 92 o remove unused Lst_Find and Lst_FindFrom 93 o arch.c: and make Arch_FindLib simpler 94 clean up code layout 95 make Arch_ParseArchive simpler 96 o cond.c: inline CondFindStrMatch into FuncMake 97 o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath 98 omit trailing space in debug output for expanding file patterns 99 refactor DirMatchFiles 100 document that the SearchPath of Dir_FindFile may be NULL 101 remove UNCONST from Dir_Expand 102 inline DirFindName 103 o for.c: clean up code for handling .for loops 104 o hash.c: print hash in debug log with fixed width 105 clean up hash table functions 106 reduce amount of string hashing 107 o job.c: refactor JobDeleteTarget 108 use proper enum constants for aborting 109 convert result of JobStart from macros to enum 110 convert abort reason macros to enum 111 rework Job_CheckCommands to reduce indentation 112 rename Shell fields 113 add field names in declaration of DEFSHELL_CUSTOM 114 convert JobState and JobFlags to enum types 115 move handling of the "..." command to JobPrintCommands 116 o lst.c: clean up 117 refactor LstNodeNew 118 remove Lst_Open, Lst_Next, Lst_Close 119 remove code for circular lists from Lst_Next 120 o main.c: do not attempt to read .MAKE.DEPENFILE if set to 121 /dev/null or anything starting with "no" 122 convert macros for debug flags into enum 123 o make.c: inline Lst_Copy in Make_ExpandUse 124 o meta.c: inline Lst_Find in meta_oodate 125 make Lst_RemoveIf simpler in meta_oodate 126 o parse.c: convert error level for Parse_Error to an enum 127 o suff.c: properly terminate debug output with newline 128 add more details to DEBUG_SRC log 129 replace Dir_CopyDir with Dir_CopyDirSearchPath 130 don't modify GNode name while rebuilding the suffix graph 131 o var.c: reduce duplicate code in VarFind 132 1332020-10-22 Simon J Gerraty <sjg@beast.crufty.net> 134 135 * VERSION (_MAKE_VERSION): 20201022 136 Merge with NetBSD make, pick up 137 o more refactoring and simplification to reduce code size 138 o var.c: extract CanonicalVarname from VarFind 139 o make.c: extract UpdateImplicitParentsVars from Make_Update 140 o main.c: extract PrintVar from doPrintVars 141 extract HandlePWD from main 142 o lst.c: inline simple Lst getters 143 remove unused Lst_ForEach 144 o job.c: move struct Shell from job.h to job.c 145 o more unit tests 146 1472020-10-19 Simon J Gerraty <sjg@beast.crufty.net> 148 149 * configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT 150 1512020-10-18 Simon J Gerraty <sjg@beast.crufty.net> 152 153 * VERSION (_MAKE_VERSION): 20201018 154 Merge with NetBSD make, pick up 155 o remove USE_IOVEC 156 o rename some Hash_* apis to Hash* 157 o replace execError with execDie 158 o rename Lst_Init to Lst_New 159 o add tags to enum types 160 o rename Stack to Vector 161 o parse.c: more refactoring 162 o unit-tests: make some tests use line buffered stdout 163 o unit-tests/Makefile: in meta mode do not make all tests depend on 164 Makefile, it isn't necessary. 165 1662020-10-10 Simon J Gerraty <sjg@beast.crufty.net> 167 168 * main.c: check for CTL_HW being defined. 169 * unit-tests/Makefile: ensure export tests output are POSIX compliant 170 disable opt-debug-jobs test until it works on ubuntu 171 172 * VERSION (_MAKE_VERSION): 20201010 173 Merge with NetBSD make, pick up 174 o dir.c: remove pathname limit for Dir_FindHereOrAbove 175 o hash.c: replace strcpy with memcpy in Hash_CreateEntry 176 o main.c: extract init_machine and init_machine_arch from main 177 allow to disable debug logging options 178 o parse.c: enable format string truncation warnings 179 extract parsing of sources from ParseDoDependency 180 split ParseDoSrc into smaller functions 181 hide implementation details from Parse_DoVar 182 clean up parsing of variable assignments 183 split Parse_DoVar into manageable pieces 184 don't modify the given line during Parse_DoVar 185 fix out-of-bounds memory access in Parse_DoVar 186 fix parsing of the :sh assignment modifier 187 o var.c: rework memory allocation for the name of variables 188 extract ApplyModifier_Literal into separate function 189 in lint mode, reject modifiers without delimiter 190 do not export variable names starting with '-' 191 o fix double-free bug in -DCLEANUP mode 192 o more cleanup to enable higher warnings level 193 o more unit tests 194 1952020-10-02 Simon J Gerraty <sjg@beast.crufty.net> 196 197 * VERSION (_MAKE_VERSION): 20201002 198 Merge with NetBSD make, pick up 199 o dir.c: use hash table for looking up open directories by name 200 o main.c: clean up option handling 201 o parse.c: add missing const for Parse_AddIncludeDir 202 o var.c: ApplyModifier_To, update pp in each branch 203 o remove redundant function prototypes 204 o more unit tests 205 2062020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 207 208 * VERSION (_MAKE_VERSION): 20201001 209 Merge with NetBSD make, pick up 210 o compat.c: comment about "..." 211 2122020-09-30 Simon J Gerraty <sjg@beast.crufty.net> 213 214 * VERSION (_MAKE_VERSION): 20200930 215 Merge with NetBSD make, pick up 216 o job.c: split Job.jobPipe into 2 separate fields 217 replace Lst_Open with direct iteration 218 o lst.c: remove redundant assertions 219 o targ.c: replace Lst_Open with direct iteration 220 o var.c: fix bug in evaluation of indirect variable modifiers 221 extract ApplyModifier_Quote into separate function 222 o make debug logging simpler 223 2242020-09-27 Simon J Gerraty <sjg@beast.crufty.net> 225 226 * VERSION (_MAKE_VERSION): 20200927 227 Merge with NetBSD make, pick up 228 o parse.c: ensure parse errors result in 'stopped in' message. 229 o compat.c: make parameter of Compat_RunCommand const 230 o main.c: extract InitVarTarget from main 231 o parse.c: rename ParseFinishLine to FinishDependencyGroup 232 refactor ParseDoDependency 233 o var.c: Var_Subst no longer returns string result 234 rename Var_ParsePP back to Var_Parse 235 in lint mode, improve error handling for undefined variables 236 extract ParseVarname from Var_Parse 237 o rename Lst_ForEach to Lst_ForEachUntil 238 o inline Lst_ForEachUntil in several cases 239 o clean up API for finding and creating GNodes 240 o fix assertion failure in -j mode with .END node 241 o inline and remove LstNode_Prev and LstNode_Next 242 o use fine-grained type names for lists and their nodes 243 o more unit tests 244 2452020-09-11 Simon J Gerraty <sjg@beast.crufty.net> 246 247 * VERSION (_MAKE_VERSION): 20200911 248 Merge with NetBSD make, pick up 249 o cond.c: split EvalComparison into smaller functions 250 reorder parameters of condition parsing functions 251 reduce code size in CondParser_Eval 252 rename CondGetString to CondParser_String 253 add CondLexer_SkipWhitespace 254 group the condition parsing state into a struct 255 in CondGetString, replace repeated Buf_Add with Buf_AddStr 256 o migrate Var_Parse to Var_ParsePP 257 o add wrappers around ctype.h functions 258 o lst.c: use a stack instead of a list for the nested include path 259 o more unit tests 260 2612020-09-04 Simon J Gerraty <sjg@beast.crufty.net> 262 263 * make-bootstrap.sh.in: adjust object list 264 2652020-09-02 Simon J Gerraty <sjg@beast.crufty.net> 266 267 * VERSION (_MAKE_VERSION): 20200902 268 Merge with NetBSD make, pick up 269 o use make_stat to ensure no confusion over valid fields 270 returned by cached_stat 271 o var.c: make VarQuote const-correct 272 o add unit tests for .for 273 2742020-09-01 Simon J Gerraty <sjg@beast.crufty.net> 275 276 * VERSION (_MAKE_VERSION): 20200901 277 Merge with NetBSD make, pick up 278 o rename Hash_Table fields 279 o make data types in Dir_HasWildcards more precise 280 2812020-08-31 Simon J Gerraty <sjg@beast.crufty.net> 282 283 * VERSION (_MAKE_VERSION): 20200831 284 Merge with NetBSD make, pick up 285 o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds 286 o lst.c: Lst_Open renable assert that list isn't open 287 o unit test for .TARGET dependent flags 288 o var.c: fix aliasing bug in VarUniq 289 o more unit tests for :u 290 2912020-08-30 Simon J Gerraty <sjg@beast.crufty.net> 292 293 * VERSION (_MAKE_VERSION): 20200830 294 Merge with NetBSD make, pick up 295 o allow for strict type checking for Boolean 296 o Var_Parse never returns NULL 297 o Var_Subst never returns NULL 298 o Lst_Find now takes boolean match function 299 o rename Lst_Memeber to Lst_FindDatum 300 o rename LstNode functions to match their type 301 o rename GNode.iParents to implicitParents 302 o fix assertion failure for .SUFFIXES in archives 303 o compat.c: clean up documentation for CompatInterrupt and Compat_Run 304 remove unreachable code from CompatRunCommand 305 o main.c: simplify getBoolean 306 o stc.c: replace brk_string with simpler Str_Words 307 o suff.c: add debug macros 308 3092020-08-28 Simon J Gerraty <sjg@beast.crufty.net> 310 311 * VERSION (_MAKE_VERSION): 20200828 312 Merge with NetBSD make, pick up 313 o lst.c: inline LstIsValid and LstNodeIsValid 314 o remove trailing S from Lst function names after migration complete 315 o more comment cleanup/clarification 316 o suff.c: clean up suffix handling 317 o more unit tests 318 3192020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 320 321 * VERSION (_MAKE_VERSION): 20200826 322 Merge with NetBSD make, pick up 323 o enum.c: distinguish between bitsets containing flags and 324 ordinary enums 325 o var.c: fix error message for ::!= modifier with shell error 326 o fix bugs in -DCLEANUP mode 327 3282020-08-24 Simon J Gerraty <sjg@beast.crufty.net> 329 330 * VERSION (_MAKE_VERSION): 20200824 331 Merge with NetBSD make, pick up 332 o in debug mode, print GNode details in symbols 333 3342020-08-23 Simon J Gerraty <sjg@beast.crufty.net> 335 336 * VERSION (_MAKE_VERSION): 20200823 337 Merge with NetBSD make, pick up 338 o lst.c: more asserts, 339 make args to Lst_Find match others. 340 o var.c: pass flags to VarAdd 341 o arch.c: use Buffer 342 o str.c: brk_string return size_t for nwords 343 o more unit tests 344 3452020-08-22 Simon J Gerraty <sjg@beast.crufty.net> 346 347 * VERSION (_MAKE_VERSION): 348 Merge with NetBSD make, pick up 349 o var.c: support for read-only variables eg .SHELL 350 being the shell used to run scripts. 351 o lst.c: more simplification 352 o more documentation and style cleanup 353 o more unit tests 354 o ensure unit-test/Makefile is run by TEST_MAKE 355 o reduce duplication of header inclusion 356 3572020-08-21 Simon J Gerraty <sjg@beast.crufty.net> 358 359 * VERSION (_MAKE_VERSION): 20200821 360 Merge with NetBSD make, pick up 361 o lst.c: revert invalid assertion - but document it 362 o dir.c: split Dir_Init into two functions 363 3642020-08-20 Simon J Gerraty <sjg@beast.crufty.net> 365 366 * lst.c: needs inttypes.h on Linux 367 368 * VERSION (_MAKE_VERSION): 20200820 369 Merge with NetBSD make, pick up 370 o make.1: clarify some passages 371 o var.c: more cleanup, clarify comments 372 o make_malloc.c: remove unreachable code 373 o cond.c: make CondGetString easier to debug 374 o simplify list usage 375 o unit-tests: more 376 3772020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 378 379 * VERSION (_MAKE_VERSION): 20200816 380 Merge with NetBSD make, pick up 381 o refactor unit-tests to be more fine grained 382 not all tests moved yet 383 3842020-08-14 Simon J Gerraty <sjg@beast.crufty.net> 385 386 * VERSION (_MAKE_VERSION): 20200814 387 Merge with NetBSD make, pick up 388 o more str_concat variants 389 o more enums for flags 390 o var.c: cleanup for higher warnings level 391 3922020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 393 394 * VERSION (_MAKE_VERSION): 20200810 395 Merge with NetBSD make, pick up 396 o more unit tests 397 o general comment and style cleanup 398 3992020-08-08 Simon J Gerraty <sjg@beast.crufty.net> 400 401 * VERSION (_MAKE_VERSION): 20200808 402 Merge with NetBSD make, pick up 403 o enum.[ch]: streamline, enums for use in flags and debug output 404 o cond.c: cleanup 405 o var.c: reduce duplicate code for modifiers 406 debug logging for Var_Parse 407 more detailed debug output 408 o more unit tests 409 4102020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 411 412 * unit-tests/Makefile: -r for recursive and include Makefile.inc 413 so I can run tests in meta mode 414 supress extra noise if in meta mode 415 416 * VERSION (_MAKE_VERSION): 20200806 417 Merge with NetBSD make, pick up 418 o parse.c: remove VARE_WANTRES for LINT 419 we just want to check parsing (for now). 420 4212020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 422 423 * VERSION (_MAKE_VERSION): 20200805 424 Merge with NetBSD make, pick up 425 o make.1: Rework the description of dependence operators 426 4272020-08-03 Simon J Gerraty <sjg@beast.crufty.net> 428 429 * VERSION (_MAKE_VERSION): 20200803 430 Merge with NetBSD make, pick up 431 o revert some C99 usage, for max portability 432 o unit-tests/lint 433 4342020-08-02 Simon J Gerraty <sjg@beast.crufty.net> 435 436 * VERSION (_MAKE_VERSION): 20200802 437 Merge with NetBSD make, pick up 438 o more unit tests 439 4402020-08-01 Simon J Gerraty <sjg@beast.crufty.net> 441 442 * Remove NetBSD specific plumbing from unit-tests/Makefile 443 444 * VERSION (_MAKE_VERSION): 20200801 445 Merge with NetBSD make, pick up 446 o make Var_Value return const 447 o size_t for buf sizes 448 o optimize some buffer operations - avoid strlen 449 4502020-07-31 Simon J Gerraty <sjg@beast.crufty.net> 451 452 * VERSION (_MAKE_VERSION): 20200731 453 Merge with NetBSD make, pick up 454 o var.c: fix undefinded behavior for incomplete :t modifier 455 fixes unit-test/moderrs on Ubuntu 456 o parse.c: When parsing variable assignments other than := 457 if DEBUG(LINT) test substition of value, so we get a file and 458 line number in the resulting error. 459 o dir.c: fix parsing of nested braces in dependency lines 460 add unit-tests 461 4622020-07-30 Simon J Gerraty <sjg@beast.crufty.net> 463 464 * VERSION (_MAKE_VERSION): 20200730 465 Merge with NetBSD make, pick up 466 o var.c: minor cleanup 467 o unit-tests: more tests to improve code coverage 468 4692020-07-28 Simon J Gerraty <sjg@beast.crufty.net> 470 471 * VERSION (_MAKE_VERSION): 20200728 472 Merge with NetBSD make, pick up 473 o var.c: more optimizations 474 4752020-07-26 Simon J Gerraty <sjg@beast.crufty.net> 476 477 * VERSION (_MAKE_VERSION): 20200726 478 Merge with NetBSD make, pick up 479 o collapse lsd.lib into lst.c - reduce code size and allow inlining 480 o lots of function comment updates 481 o var.c: more optimizations 482 o make return of Var_Parse const 483 4842020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 485 486 * VERSION (_MAKE_VERSION): 20200720 487 Merge with NetBSD make, pick up 488 o DEBUG_HASH report stats at end and tone down the noise 489 o var.c: each flag type gets its own prefix. 490 move SysV string matching to var.c 491 make ampersand in ${VAR:from=to&} an ordinary character 492 cleanup and simplify implementation of modifiers 493 o make.1: move documentation for assignment modifiers 494 4952020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 496 497 * VERSION (_MAKE_VERSION): 20200718 498 Merge with NetBSD make, pick up 499 o DEBUG_HASH to see how well the hash tables are working 500 5012020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 502 503 * bsd.after-import.mk: make sure we update unit-tests/Makefile 504 5052020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 506 507 * configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC 508 509 * VERSION (_MAKE_VERSION): 20200710 510 Merge with NetBSD make, pick up 511 o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall 512 o meta.c: target flagged .META is out-of-date if meta file missing 513 5142020-07-09 Simon J Gerraty <sjg@beast.crufty.net> 515 516 * VERSION (_MAKE_VERSION): 20200709 517 Merge with NetBSD make, pick up 518 o cond.c: fix for compare_expression when doEval=0 519 o unit-tests/Makefile: rework 520 o filemon/filemon_dev.c: ensure filemon fd is closed on exec. 521 5222020-07-04 Simon J Gerraty <sjg@beast.crufty.net> 523 524 * VERSION (_MAKE_VERSION): 20200704 525 Merge with NetBSD make, pick up 526 (most of this by rillig@) 527 o lots of style and white-space cleanup 528 o lots more unit tests for variable modifiers 529 o simplified description of some functions 530 o str.c: refactor Str_Match 531 o var.c: debugging output for :@ 532 constify VarModify parameter 533 fix :hash modifier on 16-bit platforms 534 remove unnecessary forward declarations 535 refactor ApplyModifier_SysV to have less indentation 536 simplify code for :E and :R 537 clean up code for :H and :T 538 refactor ApplyModifiers 539 540 * var.c: we need stdint.h on some platforms to get uint32_t 541 * unit-test/Makefile: we need to supress the specific error 542 for RE substitution error in modmisc, since it varies accross 543 different OS. 544 5452020-07-02 Simon J Gerraty <sjg@beast.crufty.net> 546 547 * VERSION (_MAKE_VERSION): 20200702 548 Merge with NetBSD make, pick up 549 o var.c: more improvements to avoiding unnecessary evaluation 550 use enums for flags 551 o remove flags arg to Var_Set which outside of var.c is always 0 552 5532020-07-01 Simon J Gerraty <sjg@beast.crufty.net> 554 555 * VERSION (_MAKE_VERSION): 20200701 556 Merge with NetBSD make, pick up 557 o var.c: with change to cond.c; ensure that nested variables 558 within a variable name are expanded. 559 o unit-tests/varmisc.mk: test for nested varname 560 5612020-06-29 Simon J Gerraty <sjg@beast.crufty.net> 562 563 * VERSION (_MAKE_VERSION): 20200629 564 Merge with NetBSD make, pick up 565 o cond.c: do not eval unnecessary terms of conditionals. 566 5672020-06-25 Simon J Gerraty <sjg@beast.crufty.net> 568 569 * VERSION (_MAKE_VERSION): 20200625 570 Merge with NetBSD make, pick up 571 o meta.c: report error if lseek in filemon_read fails 572 5732020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 574 575 * VERSION (_MAKE_VERSION): 20200622 576 Merge with NetBSD make, pick up 577 o dieQuietly: ignore OP_SUBMAKE as too aggressive 578 5792020-06-19 Simon J Gerraty <sjg@beast.crufty.net> 580 581 * VERSION (_MAKE_VERSION): 20200619 582 Merge with NetBSD make, pick up 583 o str.c: performance improvement for Str_Match for multiple '*' 584 o dieQuietly: supress the failure output from make 585 when failing node is a sub-make or a sibling failed. 586 This cuts down greatly on unhelpful noise at the end of 587 build log. Disabled by -dj or .MAKE.DIE_QUIETLY=no 588 5892020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 590 591 * FILES: add LICENSE to appease some packagers. 592 This is an attempt to fairly represent the license on almost 593 200 files, which are almost all BSD-3-Clause 594 The few exceptions being more liberal. 595 596 * VERSION (_MAKE_VERSION): 20200610 597 Merge with NetBSD make, pick up 598 o unit test for :Or 599 6002020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 601 602 * VERSION (_MAKE_VERSION): 20200606 603 Merge with NetBSD make, pick up 604 o make.1: cleanup 605 606 * Makefile: fix depends for main.o which broke MAKE_VERSION 607 6082020-06-05 Simon J Gerraty <sjg@beast.crufty.net> 609 610 * VERSION (_MAKE_VERSION): 20200605 611 Merge with NetBSD make, pick up 612 o dir.c: cached_stats - don't confuse stat and lstat results. 613 o var.c: add :Or for reverse sort. 614 6152020-05-24 Simon J Gerraty <sjg@beast.crufty.net> 616 617 * configure.in: add AC_PROG_CC_C99 for mipspro compiler 618 also if --with-filemon= specifies path to filemon.h 619 set use_filemon=dev 620 * dirname.c: remove include of namespace.h 621 6222020-05-17 Simon J Gerraty <sjg@beast.crufty.net> 623 624 * VERSION (_MAKE_VERSION): 20200517 625 Merge with NetBSD make, pick up 626 o modified dollar tests to avoid shell dependencies 627 o new tests for .INCLUDEFROM 628 6292020-05-16 Simon J Gerraty <sjg@beast.crufty.net> 630 631 * unit-tests/dollar.mk: tweak '1 dollar literal' test 632 to not depend so much on shell behavior 633 6342020-05-10 Simon J Gerraty <sjg@beast.crufty.net> 635 636 * VERSION (_MAKE_VERSION): 20200510 637 Merge with NetBSD make, pick up 638 o unit test for dollar handling 639 6402020-05-06 Simon J Gerraty <sjg@beast.crufty.net> 641 642 * VERSION (_MAKE_VERSION): 20200506 643 Merge with NetBSD make, pick up 644 o str.c: empty string does not match % pattern 645 plus unit-test changes 646 6472020-05-04 Simon J Gerraty <sjg@beast.crufty.net> 648 649 * VERSION (_MAKE_VERSION): 20200504 650 May the 4th be with you 651 Merge with NetBSD make, pick up 652 o var.c: import handling of old sysV style modifier using '%' 653 o str.c: refactor brk_string 654 o unit-tests: add test case for lazy conditions 655 6562020-04-18 Simon J Gerraty <sjg@beast.crufty.net> 657 658 * VERSION (_MAKE_VERSION): 20200418 659 660 * configure.in: use_makefile=no for cygwin et al. 661 case insensitive filesystems just don't work if both 662 makefile and Makefile exist. 663 NOTE: bmake does not support cygwin and likely never will, 664 but if brave souls want to try it - help them out. 665 6662020-04-02 Simon J Gerraty <sjg@beast.crufty.net> 667 668 * VERSION (_MAKE_VERSION): 20200402 669 Merge with NetBSD make, pick up 670 o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD 671 a blank command is perfectly valid. 672 6732020-03-30 Simon J Gerraty <sjg@beast.crufty.net> 674 675 * VERSION (_MAKE_VERSION): 20200330 676 Merge with NetBSD make, pick up 677 o make.h: extern debug_file 678 6792020-03-18 Simon J Gerraty <sjg@beast.crufty.net> 680 681 * VERSION (_MAKE_VERSION): 20200318 682 Merge with NetBSD make, pick up 683 o meta.c: meta_oodate, check for corrupted meta file 684 earlier and more often. 685 6862020-02-20 Simon J Gerraty <sjg@beast.crufty.net> 687 688 * VERSION (_MAKE_VERSION): 20200220 689 6902020-02-19 Simon J Gerraty <sjg@beast.crufty.net> 691 692 * boot-strap: unset MAKEFLAGS 693 6942020-02-12 Simon J Gerraty <sjg@beast.crufty.net> 695 696 * VERSION (_MAKE_VERSION): 20200212 697 * meta.c: meta_compat_parent check for USE_FILEMON 698 patch from Soeren Tempel 699 7002020-02-05 Simon J Gerraty <sjg@beast.crufty.net> 701 702 * VERSION: 20200205 703 Merge with NetBSD make, pick up 704 o meta.c: fix compat mode, need to call meta_job_output() 705 o job.c: extra fds for meta mode not needed if using filemon_dev 706 7072020-01-22 Simon J Gerraty <sjg@beast.crufty.net> 708 709 * VERSION: 20200122 710 Merge with NetBSD make, pick up 711 o meta.c: avoid passing NULL to filemon_*() when meta_needed() 712 returns FALSE. 713 7142020-01-21 Simon J Gerraty <sjg@beast.crufty.net> 715 716 * VERSION: 20200121 717 Merge with NetBSD make, pick up 718 o filemon/filemon_{dev,ktrace}.c: allow selection of 719 filemon implementation. filemon_dev.c uses the kernel module 720 while filemon_ktrace.c leverages the fktrace api available in 721 NetBSD. filemon_ktrace.c can hopefully form the basis for 722 adding support for other tracing mechanisms such as strace on 723 Linux. 724 o meta.c: when target is out-of-date per normal make rules 725 record value of .OODATE in meta file. 726 7272019-09-26 Simon J Gerraty <sjg@beast.crufty.net> 728 729 * VERSION: 20190926 730 Merge with NetBSD make, pick up 731 o parse.c: don't pass NULL to realpath(3) 732 some versions cannot handle it. 733 7342019-04-09 Simon J Gerraty <sjg@beast.crufty.net> 735 736 * VERSION: 20190409 737 Merge with NetBSD make, pick up 738 o parse.c: ParseDoDependency: free paths rather than assert 739 7402018-12-22 Simon J Gerraty <sjg@beast.crufty.net> 741 742 * VERSION: 20181222 743 744 * configure.in: add --without-makefile to avoid generating 745 makefile and make-bootstrap.sh 746 747 * include Makefile.inc if it exists 748 749 * Use Makefile and Makefile.config.in in unit-tests 750 so we can use just: make obj && make && make test 751 when bmake is already available. 752 We add --without-makefile to CONFIGURE_ARGS in this case. 753 754 * tweak bsd.after-import.mk (captures Makefile.config etc 755 after import to FreeBSD for example) to cope with all the above. 756 7572018-12-21 Simon J Gerraty <sjg@beast.crufty.net> 758 759 * VERSION: 20181221 760 Merge with NetBSD make, pick up 761 o parse.c: ParseVErrorInternal use .PARSEDIR 762 and apply if relative, and then use .PARSEFILE 763 for consistent result. 764 7652018-12-20 Simon J Gerraty <sjg@beast.crufty.net> 766 767 * VERSION: 20181220 768 Merge with NetBSD make, pick up 769 o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR 770 is relative 771 o var.c: avoid SEGFAULT in .unexport-env 772 when MAKELEVEL is not set 773 7742018-12-16 Simon J Gerraty <sjg@beast.crufty.net> 775 776 * VERSION: 20181216 777 Merge with NetBSD make, pick up 778 o fix for unit-tests/varquote.mk on Debian 779 7802018-09-21 Simon J. Gerraty <sjg@bad.crufty.net> 781 782 * VERSION: 20180919 783 Merge with NetBSD make, pick up 784 o var.c: add :q 785 o dir.c: cleanup caching of stats 786 7872018-09-21 Simon J Gerraty <sjg@beast.crufty.net> 788 789 * Makefile.config.in: use += where it makes sense. 790 7912018-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 792 793 * VERSION: 20180512 794 Merge with NetBSD make, pick up 795 o job.c: skip polling job token pipe 796 7972018-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 798 799 * VERSION: 20180405 800 Merge with NetBSD make, pick up 801 o parse.c: be more cautious about detecting depenency line 802 rather than sysV style include. 803 8042018-02-22 Simon J. Gerraty <sjg@bad.crufty.net> 805 806 * VERSION: 20180222 807 Merge with NetBSD make, pick up 808 o parse.c: avoid calling sysconf for every call to loadfile 809 8102018-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 811 812 * VERSION: 20180218 813 Merge with NetBSD make, pick up 814 o var.c: Var_Set handle NULL value anytime. 815 8162018-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 817 818 * VERSION: 20180212 819 Merge with NetBSD make, pick up 820 o parse.c: do not treat .info as warning with -W 821 8222017-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 823 824 * VERSION: 20171207 825 Merge with NetBSD make, pick up 826 o var.c: Var_Append use Var_Set if var not previously set 827 so that VAR_CMD is handled correctly. 828 Add a suitable unit-test. 829 8302017-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 831 832 * VERSION (_MAKE_VERSION): 20171126 833 834 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__ 835 since AC_TRY_COMPILE puts input inside main() 836 which upsets modern compilers. 837 8382017-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 839 840 * VERSION: 20171118 841 Merge with NetBSD make, pick up 842 o var.c: do not append to variable set on command line 843 add unit-test to catch this. 844 8452017-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 846 847 * VERSION: 20171028 848 Merge with NetBSD make, pick up 849 o main.c: ignore empty MAKEOBJDIR 850 851 * Makefile.config.in: 852 make @prefix@ @machine*@ and @default_sys_path@ defaults. 853 8542017-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 855 856 * VERSION: 20171005 857 858 * unit-tests/dotwait.mk: redirect stderr through pipe for more 859 consistent result on some platforms. 860 8612017-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 862 863 * machine.sh: entry for AIX 864 8652017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 866 867 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION 868 to a file that can be included by configure as well as make. 869 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh 870 8712017-08-10 Simon J. Gerraty <sjg@bad.crufty.net> 872 873 * Makefile (_MAKE_VERSION): 20170810 874 Merge with NetBSD make, pick up 875 o meta.c: if target is in subdir we only need subdir name in 876 meta_name. 877 8782017-07-20 Simon J. Gerraty <sjg@bad.crufty.net> 879 880 * Makefile (_MAKE_VERSION): 20170720 881 Merge with NetBSD make, pick up 882 o compat.c: pass SIGINT etc onto child and wait for it to exit 883 before we self-terminate. 884 8852017-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 886 887 * Makefile (_MAKE_VERSION): 20170711 888 forgot to update after merge on 20170708 ;-) 889 o main.c: refactor to reduce size of main function. 890 add -v option to always fully expand values. 891 o meta.c: ensure command output in meta file has ending newline 892 even when filemon not being used. 893 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use 894 pathname via ':L' since any ':' in pathname breaks that. 895 Instead set a '${.p.}' to pathname in the target context and 896 use that. 897 8982017-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 899 900 * Makefile (_MAKE_VERSION): 20170510 901 Merge with NetBSD make, pick up 902 o main.c: Main_SetObjdir: ensure buf2 is in scope 903 9042017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 905 906 * Makefile (_MAKE_VERSION): 20170505 907 see mk/ChangeLog 908 9092017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 910 911 * parse.c: not everyone has stdint.h 912 9132017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 914 915 * Makefile (_MAKE_VERSION): 20170501 916 see mk/ChangeLog 917 9182017-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 919 920 * Makefile (_MAKE_VERSION): 20170421 921 Merge with NetBSD make, pick up 922 o str.c: Str_Match: fix closure tests for [^] and add unit-test. 923 9242017-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 925 926 * Makefile (_MAKE_VERSION): 20170420 927 Merge with NetBSD make, pick up 928 o main.c: only use -C arg "as is" if it contains no 929 relative component. 930 9312017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 932 933 * Makefile (_MAKE_VERSION): 20170418 934 Merge with NetBSD make, pick up 935 o main.c: fix Main_SetObjdir() for relative paths (eg obj). 936 9372017-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 938 939 * Makefile (_MAKE_VERSION): 20170417 940 Merge with NetBSD make, pick up 941 o fixes a number of coverity complaints 942 - check return value of fseek, fcntl 943 - plug memory leak in Dir_FindFile, Var_LoopExpand, 944 JobPrintCommand, ParseTraditionalInclude 945 - use bmake_malloc() where NULL is not tollerated 946 - use MAKE_ATTR_UNUSED rather that kludges like 947 return(unused ? 0 : 0) 948 - use purge_cached_realpaths() rather than abuse cached_realpath() 949 9502017-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 951 952 * Makefile (_MAKE_VERSION): 20170413 953 Merge with NetBSD make, pick up 954 o main.c: when setting .OBJDIR ignore '$' in paths. 955 956 * job.c: use MALLOC_OPTIONS to set malloc_options. 957 9582017-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 959 960 * Makefile (_MAKE_VERSION): 20170411 961 Merge with NetBSD make, pick up 962 o str.c: Str_Match: allow [^a-z] to behave as expected. 963 9642017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 965 966 * Makefile (_MAKE_VERSION): 20170326 967 Merge with NetBSD make, pick up 968 o main.c: purge relative paths from realpath cache when .OBJDIR 969 is changed. 970 9712017-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 972 973 * Makefile (_MAKE_VERSION): 20170311 974 Merge with NetBSD make, pick up 975 o main.c: only use -C arg "as is" if it starts with '/'. 976 9772017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 978 979 * Makefile (_MAKE_VERSION): 20170301 980 Merge with NetBSD make, pick up 981 o main.c: use -C arg "as is" rather than getcwd() 982 if they identify the same directory. 983 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case 984 9852017-02-01 Simon J. Gerraty <sjg@bad.crufty.net> 986 987 * Makefile (_MAKE_VERSION): 20170201 988 Merge with NetBSD make, pick up 989 o var.c: allow :_=var and avoid use of special context. 990 9912017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 992 993 * Makefile (_MAKE_VERSION): 20170130 994 Merge with NetBSD make, pick up 995 o var.c: add :range and :_ 996 o main.c: partially initialize Dir_* before MainParseArgs() 997 can be called. 998 If -V, skip Main_ExportMAKEFLAGS() 999 10002017-01-14 Simon J. Gerraty <sjg@bad.crufty.net> 1001 1002 * Makefile (_MAKE_VERSION): 20170114 1003 Merge with NetBSD make, pick up 1004 o var.c: allow specifying the utc value used by :{gm,local}time 1005 10062016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1007 1008 * Makefile (_MAKE_VERSION): 20161212 1009 Merge with NetBSD make, pick up 1010 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too. 1011 10122016-12-09 Simon J. Gerraty <sjg@bad.crufty.net> 1013 1014 * Makefile (_MAKE_VERSION): 20161209 1015 Merge with NetBSD make, pick up 1016 o main.c: cleanup setting of .OBJDIR 1017 o parse.c: avoid coredump from (var)=val 1018 10192016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1020 1021 * Makefile (_MAKE_VERSION): 20161126 1022 Merge with NetBSD make, pick up 1023 o make.c: Make_OODate: report src node name if path not set 1024 10252016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 1026 1027 * Makefile (_MAKE_VERSION): 20160926 1028 Merge with NetBSD make, pick up 1029 o support for .DELETE_ON_ERROR: (remove targets that fail) 1030 10312016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 1032 1033 * Makefile MAN: tweak .Dt to match ${PROG} 1034 10352016-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 1036 1037 * Makefile (_MAKE_VERSION): 20160818 1038 its a neater number; pick up whitespace fixes to man page. 1039 10402016-08-17 Simon J. Gerraty <sjg@bad.crufty.net> 1041 1042 * Makefile (_MAKE_VERSION): 20160817 1043 Merge with NetBSD make, pick up 1044 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore() 1045 so we can call it before adding entries to missingFiles. 1046 Thus we do not track files we have been told to ignore. 1047 10482016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 1049 1050 * Makefile (_MAKE_VERSION): 20160815 1051 Merge with NetBSD make, pick up 1052 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to 1053 pathnames, and skip if the expansion is empty. 1054 Useful for dirdeps.mk when checking DIRDEPS_CACHE. 1055 10562016-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 1057 1058 * Makefile (_MAKE_VERSION): 20160812 1059 Merge with NetBSD make, pick up 1060 o meta.c: remove all missingFiles entries that match a deleted 1061 dir. 1062 o main.c: set .ERROR_CMD if possible. 1063 10642016-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1065 1066 * Makefile (_MAKE_VERSION): 20160606 1067 Merge with NetBSD make, pick up 1068 o dir.c: extend mtimes cache to others via cached_stat() 1069 10702016-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1071 1072 * Makefile (_MAKE_VERSION): 20160604 1073 Merge with NetBSD make, pick up 1074 o meta.c: missing filemon data is only relevant if we read a 1075 meta file. 1076 Also do not return oodate for a missing metafile if gn->path 1077 points to .CURDIR 1078 10792016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1080 1081 * Makefile (_MAKE_VERSION): 20160602 1082 Merge with NetBSD make, pick up 1083 o cached_realpath(): avoid hitting filesystem more than necessary. 1084 o meta.c: refactor need_meta decision, add knobs for 1085 missing meta file and filemon data wrt out-of-datedness. 1086 10872016-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 1088 1089 * Makefile (_MAKE_VERSION): 20160528 1090 1091 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 1092 10932016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 1094 1095 * Makefile (_MAKE_VERSION): 20160512 1096 Merge with NetBSD make, pick up 1097 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS 1098 this is useful for gcov builds. 1099 o propagate errors from filemon(4). 1100 11012016-05-09 Simon J. Gerraty <sjg@bad.crufty.net> 1102 1103 * Makefile (_MAKE_VERSION): 20160509 1104 Merge with NetBSD make, pick up 1105 o remove use of non-standard types u_int etc. 1106 o meta.c: apply realpath() before matching against metaIgnorePaths 1107 11082016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 1109 1110 * Makefile (_MAKE_VERSION): 20160404 1111 Merge with NetBSD make, pick up 1112 o allow makefile to set .MAKE.JOBS 1113 1114 * Makefile (PROG_NAME): use ${_MAKE_VERSION} 1115 11162016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1117 1118 * Makefile (_MAKE_VERSION): 20160315 1119 Merge with NetBSD make, pick up 1120 o fix handling of archive members 1121 11222016-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 1123 1124 * Makefile (_MAKE_VERSION): rename variable to avoid interference 1125 with checks for ${MAKE_VERSION} 1126 11272016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1128 1129 * Makefile (MAKE_VERSION): 20160310 1130 Merge with NetBSD make, pick up 1131 o meta.c: treat missing Read file same as Write, incase we Delete it. 1132 11332016-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1134 1135 * Makefile (MAKE_VERSION): 20160307 1136 Merge with NetBSD make, pick up 1137 o var.c: fix :ts\nnn to be octal by default. 1138 o meta.c: meta_finish() to cleanup memory. 1139 11402016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1141 1142 * Makefile (MAKE_VERSION): 20160226 1143 Merge with NetBSD make, pick up 1144 o meta.c: allow meta file for makeDepend if makefiles want it. 1145 11462016-02-19 Simon J. Gerraty <sjg@bad.crufty.net> 1147 1148 * var.c: default .MAKE.SAVE_DOLLARS to FALSE 1149 for backwards compatability. 1150 1151 * Makefile (MAKE_VERSION): 20160220 1152 Merge with NetBSD make, pick up 1153 o var.c: add knob to control handling of '$$' in := 1154 11552016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1156 1157 * Makefile (MAKE_VERSION): 20160218 1158 Merge with NetBSD make, pick up 1159 o var.c: add .export-literal allows us to fix sys.clean-env.mk 1160 post the changes to Var_Subst. 1161 Var_Subst now takes flags, and does not consume '$$' in := 1162 11632016-02-17 Simon J. Gerraty <sjg@bad.crufty.net> 1164 1165 * Makefile (MAKE_VERSION): 20160217 1166 Merge with NetBSD make, pick up 1167 o var.c: preserve '$$' in := 1168 o parse.c: add .dinclude for handling included 1169 makefile like .depend 1170 11712015-12-20 Simon J. Gerraty <sjg@bad.crufty.net> 1172 1173 * Makefile (MAKE_VERSION): 20151220 1174 Merge with NetBSD make, pick up 1175 o suff.c: re-initialize suffNull when clearing suffixes. 1176 11772015-12-01 Simon J. Gerraty <sjg@bad.crufty.net> 1178 1179 * Makefile (MAKE_VERSION): 20151201 1180 Merge with NetBSD make, pick up 1181 o cond.c: CondCvtArg: avoid access beyond end of empty buffer. 1182 o meta.c: meta_oodate: use lstat(2) for checking link target 1183 in case it is a symlink. 1184 o var.c: avoid calling brk_string and Var_Export1 with empty 1185 strings. 1186 11872015-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1188 1189 * Makefile (MAKE_VERSION): 20151126 1190 Merge with NetBSD make, pick up 1191 o parse.c: ParseTrackInput don't access beyond 1192 end of old value. 1193 11942015-10-22 Simon J. Gerraty <sjg@bad.crufty.net> 1195 1196 * Makefile (MAKE_VERSION): 20151022 1197 1198 * Add support for BSD/OS which lacks inttypes.h 1199 and really needs sys/param.h for sys/sysctl.h 1200 also 'type' is not a shell builtin. 1201 1202 * var.c: eliminate uint32_t and need for inttypes.h 1203 1204 * main.c: PrintOnError flush stdout before run .ERROR 1205 1206 * parse.c: cope with _SC_PAGESIZE not being defined. 1207 1208 12092015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1210 1211 * Makefile (MAKE_VERSION): 20151020 1212 Merge with NetBSD make, pick up 1213 o var.c: fix uninitialized var 1214 12152015-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1216 1217 * var.c: the conditional expressions used with ':?' can be 1218 expensive, if already discarding do not evaluate or expand 1219 anything. 1220 12212015-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1222 1223 * Makefile (MAKE_VERSION): 20151010 1224 Merge with NetBSD make, pick up 1225 o Add Boolean wantit flag to Var_Subst and Var_Parse 1226 when FALSE we know we are discarding the result and can 1227 skip operations like Cmd_Exec. 1228 12292015-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 1230 1231 * Makefile (MAKE_VERSION): 20151009 1232 Merge with NetBSD make, pick up 1233 o var.c: don't check for NULL before free() 1234 o meta.c: meta_oodate, do not hard code ignore of makeDependfile 1235 12362015-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 1237 1238 * Makefile (MAKE_VERSION): 20150910 1239 Merge with NetBSD make, pick up 1240 o main.c: with -w print Enter/Leaving messages for objdir too 1241 if necessary. 1242 o centralize shell metachar handling 1243 1244 * FILES: add metachar.[ch] 1245 12462015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1247 1248 * Makefile (MAKE_VERSION): 20150606 1249 Merge with NetBSD make, pick up 1250 o make.1: document .OBJDIR target 1251 12522015-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1253 1254 * Makefile (MAKE_VERSION): 20150505 1255 Merge with NetBSD make, pick up 1256 o cond.c: be strict about lhs of comparison when evaluating .if 1257 but less so when called from variable expansion. 1258 o unit-tests/cond2.mk: test various error conditions 1259 12602015-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1261 1262 * machine.sh (MACHINE): Add Bitrig 1263 patch from joerg@netbsd.org 1264 12652015-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1266 1267 * Makefile (MAKE_VERSION): 20150418 1268 Merge with NetBSD make, pick up 1269 o job.c: use memmove() rather than memcpy() 1270 1271 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL 1272 case, so skip it. 1273 12742015-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 1275 1276 * Makefile (MAKE_VERSION): 20150411 1277 bump version - only mk/ changes. 1278 12792015-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 1280 1281 * Makefile (MAKE_VERSION): 20150410 1282 Merge with NetBSD make, pick up 1283 o document different handling of '-' in jobs mode vs compat 1284 o fix jobs mode so that '-' only applies to whole job 1285 when shell lacks hasErrCtl 1286 o meta.c: use separate vars to track lcwd and latestdir (read) 1287 per process 1288 12892015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1290 1291 * Makefile (MAKE_VERSION): 20150401 1292 Merge with NetBSD make, pick up 1293 o meta.c: close meta file in child 1294 1295 * Makefile: use BINDIR.bmake if set. 1296 Same for MANDIR and SHAREDIR 1297 Handy for testing release candidates 1298 in various environments. 1299 13002015-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1301 1302 * move initialization of savederr to block where it is used 1303 to avoid spurious warning from gcc5 1304 13052014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1306 1307 * Makefile (MAKE_VERSION): 20141111 1308 just a cooler number 1309 13102014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1311 1312 * Makefile (MAKE_VERSION): 20141105 1313 Merge with NetBSD make, pick up 1314 o revert major overhaul of suffix handling 1315 and POSIX compliance - too much breakage 1316 and impossible to make backwards compatible. 1317 o we still have the new unit test structure which is ok. 1318 o meta.c ensure "-- filemon" is at start of line. 1319 13202014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 1321 1322 * configure.in: test that result of getconf PATH_MAX is numeric 1323 and discard if not. Apparently needed for Hurd. 1324 13252014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 1326 1327 * Makefile (MAKE_VERSION): 20140830 1328 Merge with NetBSD make, pick up 1329 o major overhaul of suffix handling 1330 o improved POSIX compliance 1331 o overhauled unit-tests 1332 13332014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 1334 1335 * Makefile (MAKE_VERSION): 20140620 1336 Merge with NetBSD make, pick up 1337 o var.c return varNoError rather than var_Error for ::= modifiers. 1338 13392014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1340 1341 * Makefile (MAKE_VERSION): 20140522 1342 Merge with NetBSD make, pick up 1343 o var.c detect some parse errors. 1344 13452014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1346 1347 * Fix spelling errors - patch from Pedro Giffuni 1348 13492014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1350 1351 * Makefile (MAKE_VERSION): 20140214 1352 Merge with NetBSD make, pick up 1353 o .INCLUDEFROM* 1354 o use Var_Value to get MAKEOBJDIR[PREFIX] 1355 o reduced realloc'ign in brk_string. 1356 * configure.in: add a check for compiler supporting __func__ 1357 13582014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 1359 1360 * boot-strap: ignore mksrc=none 1361 13622014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 1363 1364 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 1365 13662014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 1367 1368 * Makefile (MAKE_VERSION): 20140101 1369 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 1370 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 1371 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 1372 Hurd) 1373 * configure.in: Add AC_PREREQ and check for 1374 sysctl; patch from Andrew Shadura andrewsh at debian.org 1375 13762013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 1377 1378 * Makefile (MAKE_VERSION): 20131010 1379 * lose the const from arg to systcl to avoid problems on older BSDs. 1380 13812013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1382 1383 * Makefile (MAKE_VERSION): 20131001 1384 Merge with NetBSD make, pick up 1385 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 1386 hw.machine_arch if necessary. 1387 o meta.c: meta_oodate - need to look at src of Link and target 1388 of Move as well. 1389 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 1390 provide __arraycount() if needed. 1391 13922013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1393 1394 * Makefile (MAKE_VERSION): 20130904 1395 Merge with NetBSD make, pick up 1396 o Add VAR_INTERNAL context, so that internal setting of 1397 MAKEFILE does not override value set by makefiles. 1398 13992013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1400 1401 * Makefile (MAKE_VERSION): 20130902 1402 Merge with NetBSD make, pick up 1403 o CompatRunCommand: only apply shellErrFlag when errCheck is true 1404 14052013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1406 1407 * Makefile (MAKE_VERSION): 20130828 1408 Merge with NetBSD make, pick up 1409 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 1410 o Call Job_SetPrefix() from Job_Init() so makefiles have 1411 opportunity to set .MAKE.JOB.PREFIX 1412 14132013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 1414 1415 * Makefile (MAKE_VERSION): 20130730 1416 Merge with NetBSD make, pick up 1417 o Allow suppression of --- job -- tokens by setting 1418 .MAKE.JOB.PREFIX empty. 1419 14202013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1421 1422 * Makefile (MAKE_VERSION): 20130716 1423 Merge with NetBSD make, pick up 1424 o number of gmake compatibility tweaks 1425 -w for gmake style entering/leaving messages 1426 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 1427 handle MAKEFLAGS containing only letters. 1428 o when overriding a GLOBAL variable on the command line, 1429 delete it from GLOBAL context so -V doesn't show the wrong 1430 value. 1431 14322013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 1433 1434 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 1435 1436 * Makefile (MAKE_VERSION): 20130706 1437 Merge with NetBSD make, pick up 1438 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 1439 true so that CompatRunCommand() can use it, to ensure 1440 consistent behavior with jobs mode. 1441 o use MAKE_LEVEL_ENV to define the variable to propagate 1442 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 1443 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 1444 paths to ignore. 1445 14462013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1447 1448 * Makefile (MAKE_VERSION): 20130604 1449 Merge with NetBSD make, pick up 1450 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 1451 to avoid leaking descriptors. 1452 14532013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 1454 1455 * Makefile (MAKE_VERSION): 20130528 1456 Merge with NetBSD make, pick up 1457 o var.c: cleanup some left-overs in VarHash() 1458 14592013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1460 1461 * Makefile (MAKE_VERSION): 20130520 1462 generate manifest from component FILES rather than have to 1463 update FILES when mk/FILES changes. 1464 14652013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 1466 1467 * Makefile (MAKE_VERSION): 20130518 1468 Merge with NetBSD make, pick up 1469 o suff.c: don't skip all processsing for .PHONY targets 1470 else wildcard srcs do not get expanded. 1471 o var.c: expand name of variable to delete if necessary. 1472 14732013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1474 1475 * Makefile (MAKE_VERSION): 20130330 1476 Merge with NetBSD make, pick up 1477 o meta.c: refine the handling of .OODATE in commands. 1478 Rather than suppress command comparison for the entire script 1479 as though .NOMETA_CMP had been used, only suppress it for the 1480 one command line. 1481 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 1482 suppress comparison of a command without otherwise affecting it. 1483 o make.1: document that 1484 14852013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 1486 1487 * Makefile (MAKE_VERSION): 20130321 1488 yes, not quite right but its a cooler number. 1489 Merge with NetBSD make, pick up 1490 o parse.c: fix ParseGmakeExport to be portable 1491 and add a unit-test. 1492 * meta.c: call meta_init() before makefiles are read and if built 1493 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 1494 this let's makefiles test for support. 1495 Call meta_mode_init() to process .MAKE.MODE. 1496 14972013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 1498 1499 * Makefile (MAKE_VERSION): 20130305 1500 Merge with NetBSD make, pick up 1501 o run .STALE: target when a dependency from .depend is missing. 1502 o job.c: add Job_RunTarget() for the above and .BEGIN 1503 15042013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1505 1506 * Makefile (MAKE_VERSION): 20130303 1507 Merge with NetBSD make, pick up 1508 o main.c: set .MAKE.OS to utsname.sysname 1509 o job.c: more checks for read and poll errors 1510 o var.c: lose VarChangeCase() saves 4% time 1511 15122013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1513 1514 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 1515 want to use MAKEOBJDIR 1516 15172013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 1518 1519 * Merge with NetBSD make, pick up 1520 o make.1: more info on how shell commands are handled. 1521 o job.c,main.c: detect write errors to job pipes. 1522 15232013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 1524 1525 * Makefile (MAKE_VERSION): 20130123 1526 Merge with NetBSD make, pick up 1527 o meta.c: if script uses .OODATE and meta_oodate() decides 1528 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 1529 o var.c: in debug output indicate which variabale modifiers 1530 apply to. 1531 o remove Check_Cwd logic the makefiles have been fixed. 1532 15332012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1534 1535 * makefile.in: add a simple makefile for folk who insist on 1536 ./configure; make; make install 1537 it just runs boot-strap 1538 * include mk/* to accommodate the above 1539 * boot-strap: re-work to accommodate the above 1540 mksrc defaults to $Mydir/mk 1541 allow op={configure,build,install,clean,all} 1542 add options to facilitate install 1543 * Makefile.config.in: just the bits set by configure 1544 * Makefile: bump version to 20121212 1545 abandon Makefile.in (NetBSD Makefile) 1546 leverage mk/* instead 1547 * configure.in: ensure srcdir is absolute 1548 15492012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1550 1551 * Makefile.in (MAKE_VERSION): 20121111 1552 fix generation of bmake.cat1 1553 15542012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1555 1556 * Makefile.in (MAKE_VERSION): 20121109 1557 Merge with NetBSD make, pick up 1558 o make.c: MakeBuildChild: return 0 so search continues if a 1559 .ORDER dependency is detected. 1560 o unit-tests/order: test the above 1561 15622012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 1563 1564 * Makefile.in (MAKE_VERSION): 20121102 1565 Merge with NetBSD make, pick up 1566 o cond.c: allow cond_state[] to grow. 1567 In meta mode with a very large tree, we can hit the limit 1568 while processing dirdeps. 1569 15702012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 1571 1572 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 1573 15742012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1575 1576 * Makefile.in (MAKE_VERSION): 20121010 1577 o protect syntax that only bmake parses correctly. 1578 o remove auto setting of FORCE_MACHINE, use configure's 1579 --with-force-machine=whatever if that is desired. 1580 15812012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 1582 1583 * Makefile.in: do not lose history from make.1 when generating bmake.1 1584 15852012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 1586 1587 * Makefile.in (MAKE_VERSION): 20121007 1588 Merge with NetBSD make, pick up 1589 o compat.c: ignore empty commands - same as jobs mode. 1590 o make.1: document meta chars that cause use of shell 1591 15922012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1593 1594 * Makefile.in (MAKE_VERSION): bump version to 20120911 1595 * bsd.after-import.mk: include Makefile.inc early and allow it to 1596 override PROG 1597 15982012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 1599 1600 * Makefile.in (MAKE_VERSION): bump version to 20120831 1601 Merge with NetBSD make, pick up 1602 o cast sizeof() to int for comparison 1603 o minor make.1 tweak 1604 16052012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 1606 1607 * Makefile.in (MAKE_VERSION): bump version to 20120830 1608 Merge with NetBSD make, pick up 1609 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 1610 o debug flag -dV causes -V to show raw value regardless. 1611 16122012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 1613 1614 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 1615 gets SRCTOP set. 1616 16172012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 1618 1619 * Makefile.in (MAKE_VERSION): bump version to 20120704 1620 Merge with NetBSD make, pick up 1621 o Job_ParseShell should call Shell_Init if it has been 1622 previously called. 1623 * Makefile.in: set USE_META based on configure result. 1624 also .PARSEDIR is safer indicator of bmake. 1625 16262012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 1627 1628 * Makefile.in: bump version to 20120626 1629 ensure CPPFLAGS is in CFLAGS 1630 * meta.c: avoid nested externs 1631 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 1632 16332012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 1634 1635 * Makefile.in (MAKE_VERSION): bump version to 20120620 1636 Merge with NetBSD make, pick up 1637 o make_malloc.c: avoid including make_malloc.h again 1638 1639 * Makefile.in: avoid bmake only syntax or protect with 1640 .if defined(.MAKE.LEVEL) 1641 * bsd.after-import.mk: replace .-include with .sinclude 1642 ensure? SRCTOP gets a value 1643 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 1644 16452012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 1646 1647 * Makefile.in (MAKE_VERSION): bump version to 20120612 1648 Merge with NetBSD make, pick up 1649 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 1650 for greater portability. 1651 o unit-tests/forloop: check that .for works as expected wrt 1652 number of times and with "quoted strings". 1653 16542012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1655 1656 * Makefile.in (MAKE_VERSION): bump version to 20120606 1657 Merge with NetBSD make, pick up 1658 o compat.c: use kill(2) rather than raise(3). 1659 * configure.in: look for sys/dev/filemon 1660 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 1661 and pass BOOTSTRAP_XTRAS to boot-strap. 1662 16632012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1664 1665 * Makefile.in (MAKE_VERSION): bump version to 20120604 1666 Merge with NetBSD make, pick up 1667 o util.c and var.c share same var for tracking if environ 1668 has been reallocated. 1669 o util.c provide getenv with setenv. 1670 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 1671 when the shell actively strips .MAKE.* from the environment. 1672 We still refer to the variable always as .MAKE.LEVEL 1673 * util.c fix bug in findenv() was finding prefix of name. 1674 * compat.c: re-raising SIGINT etc after running .INTERRUPT 1675 results in more reliable termination of all activity on many 1676 platforms. 1677 16782012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1679 1680 * Makefile.in (MAKE_VERSION): bump version to 20120602 1681 Merge with NetBSD make, pick up 1682 o for.c: handle quoted items in .for list 1683 16842012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 1685 1686 * Makefile.in (MAKE_VERSION): bump version to 20120530 1687 Merge with NetBSD make, pick up 1688 o compat.c: ignore empty command. 1689 16902012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1691 1692 * Makefile.in (MAKE_VERSION): bump version to 20120524 1693 * FILES: add bsd.after-import.mk: 1694 A simple means of integrating bmake into a BSD build system. 1695 16962012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1697 1698 * Makefile.in (MAKE_VERSION): bump version to 20120520 1699 Merge with NetBSD make, pick up 1700 o increased limit for nested conditionals. 1701 17022012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 1703 1704 * Makefile.in (MAKE_VERSION): bump version to 20120518 1705 Merge with NetBSD make, pick up 1706 o use _exit(2) in signal hanlder 1707 o Don't use the [dir] cache when building nodes that might have 1708 changed since the last exec. 1709 o Avoid nested extern declaration warnings. 1710 17112012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 1712 1713 * meta.c (fgetLine): avoid %z - not portable. 1714 * parse.c: Since we moved include of sys/mman.h 1715 and def's of MAP_COPY etc. we got dups from a merge. 1716 17172012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 1718 1719 * Makefile.in (MAKE_VERSION): bump version to 20120420 1720 Merge with NetBSD make, pick up 1721 o restore duplicate supression in .MAKE.MAKEFILES 1722 runtime saving can be significant. 1723 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 1724 consumption up to 20%. 1725 17262012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1727 1728 * Makefile.in (MAKE_VERSION): bump version to 20120420 1729 Merge with NetBSD make, pick up 1730 o remove duplicate supression in .MAKE.MAKEFILES 1731 o improved dir cache behavior 1732 o gmake'ish export command 1733 17342012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 1735 1736 * Makefile.in (MAKE_VERSION): bump version to 20120325 1737 Merge with NetBSD make, pick up 1738 o fix parsing of :[#] in conditionals. 1739 17402012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1741 1742 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 1743 since some systems cannot cope with .Nx <version> 1744 17452011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1746 1747 * Makefile.in (MAKE_VERSION): bump version to 20111111 1748 Merge with NetBSD make, pick up 1749 o debug output for .PARSEDIR and .PARSEFILE 1750 17512011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1752 1753 * Makefile.in (MAKE_VERSION): bump version to 20111010 1754 17552011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 1756 1757 * boot-strap: check for an expected file in the dirs we look for. 1758 * make-bootstrap.sh: pass on LDSTATIC 1759 17602011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1761 1762 * Makefile.in (MAKE_VERSION): bump version to 20111001 1763 Merge with NetBSD make, pick up 1764 o ensure .PREFIX is set for .PHONY 1765 and .TARGET set for .PHONY run via .END 1766 o __dead used consistently 1767 17682011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 1769 1770 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 1771 17722011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 1773 1774 * Makefile.in (MAKE_VERSION): bump version to 20110905 1775 Merge with NetBSD make, pick up 1776 o meta_oodate: ignore makeDependfile 1777 17782011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1779 1780 * Makefile.in (MAKE_VERSION): bump version to 20110828 1781 Merge with NetBSD make, pick up 1782 o silent=yes in .MAKE.MODE causes meta mode to mark targets 1783 as SILENT if a .meta file is created 1784 17852011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 1786 1787 * Makefile.in (MAKE_VERSION): bump version to 20110818 1788 Merge with NetBSD make, pick up 1789 o in meta mode, if target flagged .META a missing .meta file 1790 means target is out-of-date 1791 o fixes for gcc 4.5 warnings 1792 o simplify job printing code 1793 17942011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 1795 1796 * Makefile.in (MAKE_VERSION): bump version to 20110808 1797 Merge with NetBSD make, pick up 1798 o do not touch OP_SPECIAL targets when doing make -t 1799 18002011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 1801 1802 * Makefile.in (MAKE_VERSION): bump version to 20110622 1803 Merge with NetBSD make, pick up 1804 o meta_oodate detect corrupted .meta file and declare oodate. 1805 * configure.in: add check for setsid 1806 18072011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 1808 1809 * Merge with NetBSD make, pick up 1810 o unit-tests/modts now works on MirBSD 1811 18122011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1813 1814 * Makefile.in (MAKE_VERSION): bump version to 20110606 1815 Merge with NetBSD make, pick up 1816 o ApplyModifiers: when we parse a variable which is not 1817 the entire modifier string, or not followed by ':', do not 1818 consider it as containing modifiers. 1819 o loadfile: ensure newline at end of mapped file. 1820 18212011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1822 1823 * Makefile.in (MAKE_VERSION): bump version to 20110505 1824 Merge with NetBSD make, pick up 1825 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 1826 of make's control. In meta mode, any generated file within 1827 said bailiwick, which is found to be missing, causes current 1828 target to be out-of-date. 1829 18302011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 1831 1832 * Makefile.in (MAKE_VERSION): bump version to 20110411 1833 Merge with NetBSD make, pick up 1834 o when long modifiers fail to match, check sysV style. 1835 - add a test case 1836 18372011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 1838 1839 * Makefile.in (MAKE_VERSION): bump version to 20110410 1840 Merge with NetBSD make, pick up 1841 o :hash - cheap 32bit hash of value 1842 o :localtime, :gmtime - use value as format string for strftime. 1843 18442011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1845 1846 * Makefile.in (MAKE_VERSION): bump version to 20110330 1847 mostly because its a cooler version. 1848 Merge with NetBSD make, pick up 1849 o NetBSD tags for meta.[ch] 1850 o job.c call meta_job_finish() after meta_job_error(). 1851 o meta_job_error() should call meta_job_finish() to ensure 1852 .meta file is closed, and safe to copy - if .ERROR target wants. 1853 meta_job_finish() is safe to call repeatedly. 1854 18552011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1856 1857 * unit-tests/modts: use printf if it is a builtin, 1858 to save us from MirBSD 1859 1860 * Makefile.in (MAKE_VERSION): bump version to 20110329 1861 Merge with NetBSD make, pick up 1862 o fix for use after free() in CondDoExists(). 1863 o meta_oodate() report extra commands and return earlier. 1864 18652011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 1866 1867 * Makefile.in (MAKE_VERSION): bump version to 20110327 1868 Merge with NetBSD make, pick up 1869 o meta.c, if .MAKE.MODE contains curdirOk=yes 1870 allow creating .meta files in .CURDIR 1871 * boot-strap (TOOL_DIFF): aparently at least on linux distro 1872 formats the output of 'type' differently - so eat any "()" 1873 18742011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 1875 1876 * Makefile.in (MAKE_VERSION): bump version to 20110306 1877 Merge with NetBSD make, pick up 1878 o meta.c, only do getcwd() once 1879 18802011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 1881 1882 * Makefile.in (MAKE_VERSION): bump version to 20110305 1883 Merge with NetBSD make, pick up 1884 o correct sysV substitution handling of empty lhs and variable 1885 o correct exists() check for dir with trailing / 1886 o correct handling of modifiers for non-existant variables 1887 during evaluation of conditionals. 1888 o ensure MAP_FILE is defined. 1889 o meta.c use curdir[] now exported by main.c 1890 18912011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 1892 1893 * Makefile.in (MAKE_VERSION): bump version to 20110225 1894 Merge with NetBSD make, pick up 1895 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 1896 makefiles have been read. 1897 o fix example of :? modifier in man page. 1898 18992011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 1900 1901 * Makefile.in (MAKE_VERSION): bump version to 20110214 1902 Merge with NetBSD make, pick up 1903 o meta.c handle realpath() failing when generating meta file 1904 name. 1905 1906 * sigcompat.c: convert to ansi so we can use higher warning levels. 1907 1908 19092011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 1910 1911 * Makefile.in (MAKE_VERSION): bump version to 20110207 1912 Merge with NetBSD make, pick up 1913 o fix for bug in meta mode. 1914 19152011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 1916 1917 * parse.c: SunOS 5.8 at least does not have MAP_FILE 1918 19192011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 1920 1921 * Makefile.in (MAKE_VERSION): bump version to 20110101 1922 Merge with NetBSD make, pick up 1923 o use mmap(2) if available, for reading makefiles 1924 19252010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 1926 1927 * Makefile.in (MAKE_VERSION): bump version to 20101215 1928 Merge with NetBSD make, pick up 1929 o ensure meta_job_error() does not report a previous .meta file 1930 as being culprit. 1931 19322010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 1933 1934 * Makefile.in (MAKE_VERSION): bump version to 20101210 1935 Merge with NetBSD make, pick up 1936 o meta_oodate: track cwd per process, and only consider target 1937 out-of-date if missing file is outside make's CWD. 1938 Ignore files in /tmp/ etc. 1939 o to ensure unit-tests results match, need to control LC_ALL 1940 as well as LANG. 1941 o fix for parsing bug in var.c 1942 19432010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1944 1945 * Makefile.in (MAKE_VERSION): bump version to 20101126 1946 Merge with NetBSD make, pick up 1947 o if stale dependency is an IMPSRC, search via .PATH 1948 o meta_oodate: if a referenced file is missing, target is 1949 out-of-date. 1950 o meta_oodate: if a target uses .OODATE in its commands, 1951 it (.OODATE) needs to be recomputed. 1952 o keep a pointer to youngest child node, rather than just its 1953 mtime. 1954 19552010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 1956 1957 * Makefile.in (MAKE_VERSION): bump version to 20101101 1958 19592010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 1960 1961 * machine.sh: like os.sh, 1962 allow for uname -p producing useless drivel 1963 19642010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 1965 1966 * boot-strap: document configure knobs for meta and filemon. 1967 1968 * Makefile.in (MAKE_VERSION): bump version to 20100911 1969 Merge with NetBSD make, pick up 1970 o meta.c - meta mode 1971 1972 * make-bootstrap.sh.in: handle meta.c 1973 * configure.in: add knobs for use_meta and filemon_h 1974 also, look for dirname, str[e]sep and strlcpy 1975 * util.c: add simple err[x] and warn[x] 1976 19772010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1978 1979 * boot-strap (TOOL_DIFF): set this to ensure tests use 1980 the same version of diff that configure tested 1981 1982 * Makefile.in (MAKE_VERSION): bump version to 20100808 1983 Merge with NetBSD make, pick up 1984 o in jobs mode, when we discover we cannot make something, 1985 call PrintOnError before exit. 1986 19872010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 1988 1989 * Makefile.in (MAKE_VERSION): bump version to 20100806 1990 Merge with NetBSD make, pick up 1991 o formatting fixes for ignored errors 1992 o ensure jobs are cleaned up regardless of where wait() was called. 1993 19942010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1995 1996 * Makefile.in (MAKE_VERSION): bump version to 20100618 1997 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 1998 19992010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 2000 2001 * Makefile.in (MAKE_VERSION): bump version to 20100616 2002 Merge with NetBSD make, pick up 2003 o man page update 2004 o call PrintOnError from JobFinish when we detect an error we 2005 are not ignoring. 2006 20072010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 2008 2009 * Makefile.in (MAKE_VERSION): bump version to 20100606 2010 Merge with NetBSD make, pick up 2011 o man page update 2012 20132010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 2014 2015 * Makefile.in (MAKE_VERSION): bump version to 20100605 2016 Merge with NetBSD make, pick up 2017 o use bmake_signal() which is a wrapper around sigaction() 2018 in place of signal() 2019 o add .export-env to allow exporting variables to environment 2020 without tracking (so no re-export when the internal value is 2021 changed). 2022 20232010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 2024 2025 * Makefile.in (MAKE_VERSION): bump version to 20100524 2026 Merge with NetBSD make, pick up 2027 o fix for .info et al being greedy. 2028 20292010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 2030 2031 * Makefile.in (MAKE_VERSION): bump version to 20100520 2032 Merge with NetBSD make, pick up 2033 o back to using realpath on argv[0] 2034 but only if contains '/' and does not start with '/'. 2035 20362010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 2037 2038 * boot-strap: use absolute path for bmake when running tests. 2039 2040 * Makefile.in (MAKE_VERSION): bump version to 20100510 2041 Merge with NetBSD make, pick up 2042 o revert use of realpath on argv[0] 2043 too many corner cases. 2044 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 2045 20462010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 2047 2048 * Makefile.in (MAKE_VERSION): bump version to 20100505 2049 Merge with NetBSD make, pick up 2050 o fix for missed SIGCHLD when compiled with SunPRO 2051 actually for bmake, defining FORCE_POSIX_SIGNALS would have 2052 done the job. 2053 20542010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 2055 2056 * Makefile.in (MAKE_VERSION): bump version to 20100430 2057 Merge with NetBSD make, pick up 2058 o fflush stdout before writing to stdout 2059 20602010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 2061 2062 * Makefile.in (MAKE_VERSION): bump version to 20100423 2063 Merge with NetBSD make, pick up 2064 o updated unit tests for Haiku (this time for sure). 2065 * boot-strap: based on patch from joerg 2066 honor --with-default-sys-path better. 2067 * boot-strap: remove mention of --with-prefix-sys-path 2068 20692010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 2070 2071 * Makefile.in (MAKE_VERSION): bump version to 20100422 2072 * Merge with NetBSD make, pick up 2073 o fix for vfork() on Darwin. 2074 o fix for bogus $TMPDIR. 2075 o set .MAKE.MODE=compat for -B 2076 o set .MAKE.JOBS=max_jobs for -j max_jobs 2077 o allow unit-tests to run without any *.mk 2078 o unit-tests/modmisc be more conservative in dirs presumed to exist. 2079 * boot-strap: ignore /usr/share/mk except on NetBSD. 2080 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 2081 ensure sort(1) behaves as expected. 2082 20832010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 2084 2085 * boot-strap: add FindHereOrAbove so we can use -m .../mk 2086 20872010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 2088 2089 * Makefile.in (MAKE_VERSION): bump version to 20100420 2090 * Merge with NetBSD make, pick up 2091 o fix for variable realpath() behavior. 2092 we have to stat(2) the result to be sure. 2093 o fix for .export (all) when nested vars use :sh 2094 20952010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 2096 2097 * Makefile.in (MAKE_VERSION): bump version to 20100414 2098 * Merge with NetBSD make, pick up 2099 o use realpath to resolve argv[0] (for .MAKE) if needed. 2100 o add realpath from libc. 2101 o add :tA to resolve variable via realpath(3) if possible. 2102 21032010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 2104 2105 * Makefile.in (MAKE_VERSION): bump version to 20100408 2106 * Merge with NetBSD make, pick up 2107 o unit tests for .ERROR, .error 2108 o fix for .ERROR to ensure it cannot be default target. 2109 21102010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 2111 2112 * Makefile.in (MAKE_VERSION): bump version to 20100406 2113 * Merge with NetBSD make, pick up 2114 o fix for compat mode "Error code" going to debug_file. 2115 o fix for .ALLSRC being populated twice. 2116 o support for .info, .warning and .error directives 2117 o .MAKE.MODE to control make's operational mode 2118 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 2119 name(s). 2120 o .MAKE.DEPENDFILE to control the name of the depend file 2121 o .ERROR target - run on failure. 2122 21232010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 2124 2125 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 2126 2127 * os.sh,arch.c: patch for Haiku from joerg at netbsd 2128 21292010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 2130 2131 * Makefile.in (MAKE_VERSION): bump version to 20100222 2132 * Merge with NetBSD make, pick up 2133 o better error msg for .for with mutiple inter vars 2134 2135 * boot-strap: 2136 o use make-bootstrap.sh from joerg at netbsd 2137 to avoid the need for a native make when bootstrapping. 2138 o add "" everywhere ;-) 2139 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 2140 otherwise the pre-formated version. 2141 21422010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 2143 2144 * Makefile.in (MAKE_VERSION): bump version to 20100102 2145 * Merge with NetBSD make, pick up: 2146 o fix for -m .../ 2147 21482009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 2149 2150 * Makefile.in (MAKE_VERSION): bump version to 20091118 2151 * Merge with NetBSD make, pick up: 2152 o .unexport 2153 o report lines that start with '.' and should have ':' 2154 (catch typo's of .el*if). 2155 21562009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 2157 2158 * configure.in: Ensure that srcdir and mksrc are absolute paths. 2159 21602009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2161 2162 * Makefile.in (MAKE_VERSION): fix version to 20091007 2163 21642009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 2165 2166 * Makefile.in (MAKE_VERSION): bump version to 200910007 2167 * Merge with NetBSD make, pick up: 2168 o fix for parsing of :S;...;...; applied to .for loop iterator 2169 appearing in a dependency line. 2170 21712009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 2172 2173 * Makefile.in (MAKE_VERSION): bump version to 20090909 2174 * Merge with NetBSD make, pick up: 2175 o fix for -C, .CURDIR and .OBJDIR 2176 * boot-strap: 2177 o allow share_dir to be set independent of prefix. 2178 o select default share_dir better when prefix ends in $HOST_TARGET 2179 o if FORCE_BSD_MK etc were set, include them in the suggested 2180 install-mk command. 2181 21822009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 2183 2184 * Makefile.in (MAKE_VERSION): bump version to 20090908 2185 * Merge with NetBSD make, pick up: 2186 o .MAKE.LEVEL for recursion tracking 2187 o fix for :M scanning \: 2188 21892009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 2190 2191 * configure.in: Don't -D__EXTENSIONS__ if 2192 AC_USE_SYSTEM_EXTENSIONS says "no". 2193 21942009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 2195 2196 * Makefile.in (MAKE_VERSION): bump version to 20090826 2197 Simplify MAKE_VERSION to just the bare date. 2198 * Merge with NetBSD make, pick up: 2199 o -C directory support. 2200 o support for SIGINFO 2201 o use $TMPDIR for temp files. 2202 o child of vfork should be careful about modifying parent's state. 2203 2204 22052009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 2206 2207 * Appy some patches for MiNT from David Brownlee 2208 22092009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 2210 2211 * Makefile.in (BMAKE_VERSION): bump version to 20090222 2212 * Merge with NetBSD make, pick up: 2213 o Possible null pointer de-ref in Var_Set. 2214 22152009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 2216 2217 * Makefile.in (BMAKE_VERSION): bump version to 20090204 2218 * Merge with NetBSD make, pick up: 2219 o bmake_malloc et al moved to their own .c 2220 o Count both () and {} when looking for the end of a :M pattern 2221 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 2222 o strlist.c - functions for processing extendable arrays of pointers to strings. 2223 o ClientData replaced with void *, so const void * can be used. 2224 o New debug flag C for DEBUG_CWD 2225 22262008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 2227 2228 * Makefile.in (BMAKE_VERSION): bump version to 20081111 2229 Apply patch from Joerg Sonnenberge to 2230 configure.in: 2231 o remove some redundant checks 2232 o check for emlloc etc only in libutil and require the whole family. 2233 util.c: 2234 o remove [v]asprintf which is no longer used. 2235 22362008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2237 2238 * Makefile.in (BMAKE_VERSION): bump version to 20081101 2239 * Merge with NetBSD make, pick up: 2240 o util.c: avoid use of putenv() - christos 2241 22422008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 2243 2244 * Makefile.in (BMAKE_VERSION): bump version to 20081030 2245 pick up man page tweaks. 2246 22472008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 2248 2249 * Makefile.in: move processing of LIBOBJS to after is definition! 2250 thus we'll have getenv.c in SRCS only if needed. 2251 2252 * make.1: add examples of how to use :? 2253 2254 * Makefile.in (BMAKE_VERSION): bump version to 20081029 2255 * Merge with NetBSD make, pick up: 2256 o fix for .END processing with -j 2257 o segfault from Parse_Error when no makefile is open 2258 o handle numeric expressions in any variable expansion 2259 o debug output now defaults to stderr, -dF to change it - apb 2260 o make now uses bmake_malloc etc so that it can build natively 2261 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 2262 22632008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 2264 2265 * Makefile.in (BMAKE_VERSION): bump version to 20080808 2266 * Merge with NetBSD make, pick up: 2267 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 2268 long lines in Makefiles 2269 o optimizations for VarQuote by joerg 2270 o fix for PR/38756: dominik: make dumps core on invalid makefile 2271 22722008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 2273 2274 * Makefile.in (BMAKE_VERSION): bump version to 20080515 2275 * Merge with NetBSD make, pick up: 2276 o fix skip setting vars in VAR_GLOBAL context, to handle 2277 cases where VAR_CMD is used for other than command line vars. 2278 22792008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 2280 2281 * boot-strap (make_version): we may need to look in 2282 $prefix/share/mk for sys.mk 2283 2284 * Makefile.in (BMAKE_VERSION): bump version to 20080514 2285 * Merge with NetBSD make, pick up: 2286 o skip setting vars in VAR_GLOBAL context, when already set in 2287 VAR_CMD which takes precedence. 2288 22892008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 2290 2291 * Makefile.in (BMAKE_VERSION): bump version to 20080330 2292 * Merge with NetBSD make, pick up: 2293 o fix for ?= when LHS contains variable reference. 2294 22952008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2296 2297 * merge some patches from NetBSD pkgsrc. 2298 2299 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 2300 the MAKSYSPATH used during bootstrap. 2301 2302 * Makefile.in (BMAKE_VERSION): bump version to 20080215 2303 * Merge with NetBSD make, pick up: 2304 o warn if non-space chars follow 'empty' in a conditional. 2305 23062008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 2307 2308 * Makefile.in (BMAKE_VERSION): bump version to 20080118 2309 * Merge with NetBSD make, pick up: 2310 o consider dependencies read from .depend as optional - dsl 2311 o remember when buffer for reading makefile grows - dsl 2312 o add -dl (aka LOUD) - David O'Brien 2313 23142007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 2315 2316 * Makefile.in (BMAKE_VERSION): bump version to 20071022 2317 * Merge with NetBSD make, pick up: 2318 o Allow .PATH<suffix> to be used for .include "" 2319 2320 * boot-strap: source default settings from .bmake-boot-strap.rc 2321 23222007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 2323 2324 * Makefile.in: fix maninstall on various systems 2325 provided that our man.mk is used. 2326 For non-BSD systems we install the preformatted page 2327 into $MANDIR/cat1 2328 23292007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 2330 2331 * boot-strap: make bmake.1 too, so maninstall works. 2332 23332007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 2334 2335 * Makefile.in (BMAKE_VERSION): bump version to 20071014 2336 * Merge with NetBSD make, pick up: 2337 o revamped handling of defshell - configure no longer needs to 2338 know the content of the shells array - apb 2339 o stop Var_Subst modifying its input - apb 2340 o avoid calling ParseTrackInput too often - dsl 2341 23422007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 2343 2344 * Makefile.in (BMAKE_VERSION): bump version to 20071011 2345 * Merge with NetBSD make, pick up: 2346 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 2347 2348 * sigcompat.c: some tweaks for HP-UX 11.x based on 2349 patch from Tobias Nygren 2350 2351 * configure.in: update handling of --with-defshell to match 2352 new make behavior. --with-defshell=/usr/xpg4/bin/sh 2353 will now do what one might hope - provided the chosen shell 2354 behaves enough like sh. 2355 23562007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 2357 2358 * Makefile.in (BMAKE_VERSION): bump to 20071008 2359 * Merge with NetBSD make, pick up: 2360 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 2361 o .export/.MAKE.EXPORTED - export of variables - sjg 2362 o .MAKE.MAKEFILES - track all makefiles read - sjg 2363 o performance improvements - dsl 2364 o revamp parallel job scheduling - dsl 2365 23662006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2367 2368 * Makefile.in (BMAKE_VERSION): bump to 20060728 2369 * Merge with NetBSD make, pick up: 2370 o extra debug info during variable and cond processing - sjg 2371 o shell definition now covers newline - rillig 2372 o minor mem leak in PrintOnError - sjg 2373 23742006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 2375 2376 * Makefile.in (BMAKE_VERSION): bump to 20060511 2377 * Merge with NetBSD make, pick up: 2378 o more memory leaks - coverity 2379 o possible overflow in ArchFindMember - coverity 2380 o extract variable modifier code out of Var_Parse() 2381 so it can be called recursively - sjg 2382 o unit-tests/moderrs - sjg 2383 23842006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 2385 2386 * Makefile.in (BMAKE_VERSION): bump to 20060412 2387 * Merge with NetBSD make, pick up: 2388 o fixes for some memory leaks - coverity 2389 o only read first sys.mk etc when searching sysIncPath - sjg 2390 2391 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 2392 setting ${MAKEFILE} - OBATA Akio 2393 23942006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2395 2396 * Makefile.in (BMAKE_VERSION): bump to 20060318 2397 * Merge with NetBSD make, pick up: 2398 o cleanup of job.c to remove remote handling, distcc is more 2399 useful and this code was likely bit-rotting - dsl 2400 o fix for :P modifier - sjg 2401 * boot-strap: set default prefix to something reasonable 2402 (for me anyway). 2403 24042006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2405 2406 * Makefile.in (BMAKE_VERSION): bump to 20060301 2407 * Merge with NetBSD make, pick up: 2408 o make .WAIT apply recursively, document and test case - apb 2409 o allow variable modifiers in a variable appear anywhere in 2410 modifier list, document and test case - sjg 2411 24122006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 2413 2414 * Makefile.in (BMAKE_VERSION): bump to 20060222 2415 * Merge with NetBSD make, pick up: 2416 o improved job token handling - dsl 2417 o SIG_DFL the correct signal before exec - dsl 2418 o more debug info during parsing - dsl 2419 o allow variable modifiers to be specified via variable - sjg 2420 * boot-strap: explain why we died if no mksrc 2421 24222005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 2423 2424 * Makefile.in (BMAKE_VERSION): bump to 20051105 2425 * configure.in: always set default_sys_path 2426 default is ${prefix}/share/mk 2427 - remove prefix_sys_path, anyone wanting more than above 2428 needs to set it manually. 2429 24302005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2431 2432 * boot-strap: make this a bit easier for pkgsrc folk. 2433 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 2434 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 2435 24362005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 2437 2438 * Makefile.in (BMAKE_VERSION): bump to 20051102 2439 * job.c (JobFinish): fix likely ancient merge lossage 2440 fix from Todd Vierling. 2441 * boot-strap (srcdir): allow setting mksrc=none 2442 24432005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 2444 2445 * Makefile.in (BMAKE_VERSION): bump to 20051031 2446 * ranlib.h: skip on OSF too. 2447 (NetBSD PR 31864) 2448 24492005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 2450 2451 * Makefile.in (BMAKE_VERSION): bump to 20051002 2452 fix a silly typo 2453 24542005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2455 2456 * Makefile.in (BMAKE_VERSION): bump to 20051001 2457 support for UnixWare and some other systems, 2458 based on patches from pkgsrc/bootstrap 2459 24602005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 2461 2462 * Makefile.in (BMAKE_VERSION): bump to 20050901 2463 * Merge with NetBSD make, pick up: 2464 o possible parse error causing us to wander off. 2465 24662005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 2467 2468 * Makefile.in (BMAKE_VERSION): bump to 20050606 2469 * Merge with NetBSD make, pick up: 2470 o :0x modifier for randomizing a list 2471 o fixes for a number of -Wuninitialized issues. 2472 24732005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 2474 2475 * Makefile.in (BMAKE_VERSION): bump to 20050530 2476 * Merge with NetBSD make, pick up: 2477 o Handle dependencies for .BEGIN, .END and .INTERRUPT 2478 2479 * README: was seriously out of date. 2480 24812005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2482 2483 * Important to use .MAKE rather than MAKE. 2484 24852005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 2486 2487 * Makefile.in (BMAKE_VERSION): bump to 20050315 2488 * Merge with NetBSD make, pick up: 2489 o don't mistake .elsefoo for .else 2490 o use suffix-specific search path correctly 2491 o bunch of style nits 2492 24932004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 2494 2495 * boot-strap: 2496 o ensure that args to --src and --with-mksrc 2497 are resolved before giving them to configure. 2498 o add -o "objdir" so that builder can control it, 2499 default is $OS as determined by os.sh 2500 o add -q to suppress all the install instructions. 2501 25022004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 2503 2504 * Remove __IDSTRING() 2505 2506 * Makefile.in (BMAKE_VERSION): bump to 20040508 2507 * Merge with NetBSD make, pick up: 2508 o posix fixes 2509 - remove '-e' from compat mode 2510 - add support for '+' command-line prefix. 2511 o fix for handling '--' on command-line. 2512 o fix include in lst.lib/lstInt.h to simplify '-I's 2513 o we also picked up replacement of MAKE_BOOTSTRAP 2514 with !MAKE_NATIVE which is a noop, but possibly confusing. 2515 25162004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 2517 2518 * Makefile.in (BMAKE_VERSION): bump to 20040414 2519 * Merge with NetBSD make, pick up: 2520 o allow quoted strings on lhs of conditionals 2521 o issue warning when extra .else is seen 2522 o print line numer when errors encountered during parsing from 2523 string. 2524 25252004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 2526 2527 * Makefile.in (BMAKE_VERSION): bump to 20040220 2528 * Merge with NetBSD make, pick up: 2529 o fix for old :M parsing bug. 2530 o re-jigged unit-tests 2531 25322004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2533 2534 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 2535 so that './bmake -f Makefile test' works. 2536 25372004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2538 2539 * Makefile.in: (BMAKE_VERSION): bump to 20040214 2540 * Merge with NetBSD make, pick up: 2541 o search upwards for *.mk 2542 o fix for double free of var substitution buffers 2543 o use of getopt replaced with custom code, since the usage 2544 (re-scanning) isn't posix compatible. 2545 25462004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 2547 2548 * arch.c: don't include ranlib.h on ELF systems 2549 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 2550 25512004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 2552 2553 * Makefile.in (BMAKE_VERSION): bump to 20040118 2554 2555 * boot-strap (while): export vars we assign to on cmdline 2556 * unit-test/Makefile.in: ternary is .PHONY 2557 25582004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 2559 2560 * Makefile.in (BMAKE_VERSION): bump version to 20040108 2561 * Merge with NetBSD make, pick up: 2562 o fix for ternary modifier 2563 25642004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 2565 2566 * Makefile.in (BMAKE_VERSION): bump version to 20040105 2567 * Merge with NetBSD make, pick up: 2568 o fix for cond.c to handle compound expressions better 2569 o variable expansion within sysV style replacements 2570 25712003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 2572 2573 * Make portable snprintf safer - output to /dev/null first to 2574 check space needed. 2575 2576 * Makefile.in (BMAKE_VERSION): bump version to 20031222 2577 * Merge with NetBSD make, pick up: 2578 o -dg3 to show input graph when things go wrong. 2579 o explicitly look for makefiles in objdir if not found in curdir so 2580 that errors in .depend etc will be reported accurarely. 2581 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 2582 instead as it more accurately reflects the expected behavior and 2583 is more consistently implemented. 2584 o avoid use of asprintf. 2585 25862003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2587 2588 * util.c: Add asprintf and vasprintf. 2589 2590 * Makefile.in (BMAKE_VERSION): bump version to 20030928 2591 * Merge with NetBSD make, pick up: 2592 :[] modifier - allows picking words from a variable. 2593 :tW modifier - allows treating value as one big word. 2594 W flag for :C and :S - allows treating value as one big word. 2595 25962003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 2597 2598 * Merge with NetBSD make 2599 pick up -de flag to enable printing failed command. 2600 don't skip 1st two dir entries (normally . and ..) since 2601 coda does not have them. 2602 26032003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 2604 2605 * Makefile.in (BMAKE_VERSION): bump version to 20030909 2606 * Merge with NetBSD make, pick up: 2607 - changes for -V '${VAR}' to print fully expanded value 2608 cf. -V VAR 2609 - CompatRunCommand now prints the command that failed. 2610 - several files got updated 3 clause Berkeley license. 2611 26122003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 2613 2614 * boot-strap: Allow setting configure args on command line. 2615 26162003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2617 2618 * configure.in: add --with-defshell to allow sh or ksh 2619 to be selected as default shell. 2620 2621 * Makefile.in: bump version to 20030731 2622 2623 * Merge with NetBSD make 2624 Pick up .SHELL spec for ksh and associate man page changes. 2625 Also compat mode now uses the same shell specs. 2626 26272003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 2628 2629 * var.c (Var_Parse): ensure delim is initialized. 2630 2631 * unit-tests/Makefile.in: use single quotes to avoid problems from 2632 some shells. 2633 2634 * makefile.boot.in: 2635 Run the unit-tests as part of the bootstrap procedure. 2636 26372003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2638 2639 * unit-tests/Makefile.in: always force complaints from 2640 ${TEST_MAKE} to be from 'make'. 2641 2642 * configure.in: add check for 'diff -u' 2643 also fix some old autoconf'isms 2644 2645 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 2646 if using GCC add -Wno-cast-qual to CFLAGS for var.o 2647 2648 * Merge with NetBSD make 2649 Pick up fix for :ts parsing error in some cases. 2650 Pick unit-tests. 2651 26522003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2653 2654 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 2655 2656 * var.c (Var_Parse): fix bug in :ts modifier, after const 2657 correctness fixes, must pass nstr to VarModify. 2658 26592003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 2660 2661 * Makefile.in: BMAKE_VERSION switch to a date based version. 2662 We'll generally use the date of last import from NetBSD. 2663 2664 * Merge with NetBSD make 2665 Pick up fixes for const-correctness, now passes WARNS=3 on 2666 NetBSD. 2667 Pick up :ts modifier, allows controlling the separator used 2668 between words in variable expansion. 2669 26702003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 2671 2672 * FILES: include boot-strap and os.sh 2673 2674 * Makefile.in: only set WARNS if we are NetBSD, the effect on 2675 FreeBSD is known to be bad. 2676 2677 * makefile.boot.in (bootstrap): make this the default target. 2678 2679 * Makefile.in: bump version to 3.1.19 2680 2681 * machine.sh: avoid A-Z with tr as it is bound to lose. 2682 26832003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 2684 2685 * Merge with NetBSD make 2686 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 2687 Plus some doc fixes. 2688 26892003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 2690 2691 * Merge with NetBSD make 2692 Pick up fix for PR/1523 - don't count a library as built, if there 2693 is no way to build it 2694 2695 * Bump version to 3.1.18 2696 26972003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 2698 2699 * Merge with NetBSD make 2700 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 2701 appears in src list. 2702 27032003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 2704 2705 * Merge with NetBSD make (mmm 10th anniversary!) 2706 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 2707 pick up -X which tells us to not export VAR=val via setenv if 2708 we are already doing so via MAKEFLAGS. This saves valuable env 2709 space on systems like Darwin. 2710 set MAKE_VERSION to 3.1.17 2711 2712 * parse.c: pix up fix for suffix rules 2713 27142003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 2715 2716 * Merge with NetBSD make. 2717 pick up fix for propagating -B via MAKEFLAGS. 2718 set MAKE_VERSION to 3.1.16 2719 2720 * Apply some patches from pkgsrc-bootstrap/bmake 2721 Originally by Grant Beattie <grant@netbsd.org> 2722 I may have missed some - since they are based on bmake-3.1.12 2723 27242002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 2725 2726 * makefile.boot.in (bmake): update install targets for those that 2727 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 2728 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 2729 2730 * bmake.cat1: update the pre-formatted man page! 2731 27322002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 2733 2734 * Merge with NetBSD make. 2735 pick up fix for premature free of pointer used in call 2736 to Dir_InitCur(). 2737 set MAKE_VERSION to 3.1.15 2738 27392002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 2740 2741 * configure.in: determine suitable value for MKSRC. 2742 override using --with-mksrc=PATH. 2743 2744 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 2745 configs(8) will use 'sun4' as an alias for 'sparc'. 2746 27472002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 2748 2749 * Merge with NetBSD make. 2750 pick up ${.PATH} 2751 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 2752 set MAKE_VERSION to 3.1.14 2753 add configure checks for killpg and sys/socket.h 2754 27552002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 2756 2757 * tag bmake-3-1-13 2758 2759 * makefile.boot.in (bmake): use install-mk 2760 Also setup ./mk before trying to invoke bmake.boot incase we 2761 needed install-mk to create a sys.mk for us. 2762 2763 * configure.in: If we need to add -I${srcdir}/missing, make it an 2764 absolute path so that it works for lst.lib too. 2765 2766 * make.h: always include sys/cdefs.h since we provide one if the 2767 host does not. 2768 2769 * Makefile.in (install-mk): 2770 use MKSRC/install-mk which will do the right thing. 2771 use uname -p for ARCH if possible. 2772 since install-mk will setup links bsd.prog.mk -> prog.mk if 2773 needed, just .include bsd.prog.mk 2774 2775 * Merge with NetBSD make (NetBSD-1.6) 2776 Code is ansi-C only now. 2777 Bug in handling of dotLast is fixed. 2778 Can now assign .OBJDIR and make will reset its notions of life. 2779 New modifiers :tu :tl for toUpper and toLower. 2780 2781Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 2782 2783 * Merge with NetBSD make 2784 pick up fix for .END failure in compat mode. 2785 pick up fix for extra va_end() in ParseVErrorInternal. 2786 2787Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 2788 2789 * configure.in: for systems that have sys/cdefs.h check if it is 2790 compatible. If not, include the one under missing, but tell it to 2791 include the native one too - necessary on Linux. 2792 2793 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 2794 include_next (for gcc) to get the native sys/cdefs.h 2795 2796Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2797 2798 * job.c (JobFinish): Fix an earlier merge bug that resulted in 2799 leaking descriptors when using -jN. 2800 2801 * job.c (JobPrintCommand): See if "curdir" exists before 2802 attempting to chdir(). Doing the chdir directly in make (when in 2803 compat mode) fails silently, so let the -jN version do the same. 2804 This can happen when building kernels in an object tree and 2805 playing clever games to reset .CURDIR. 2806 2807 * Merged with NetBSD make 2808 pick up .USEBEFORE 2809 2810Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2811 2812 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 2813 2814Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2815 2816 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 2817 us not to export the iterator variable when using VAR_CMD context. 2818 2819Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2820 2821 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 2822 its the wrong "fix". 2823 2824Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2825 2826 * Redesigned export of VAR_CMD's via MAKEFLAGS. 2827 We now simply append the variable names to .MAKEOVERRIDES, and 2828 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 2829 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 2830 Apart from fixing quoting bugs in previous version, this allows us 2831 to export vars to the environment by simply doing: 2832 .MAKEOVERRIDES+= PATH 2833 Merged again with NetBSD make, but the above is the only change. 2834 2835 * configure.in: added 2836 --disable-pwd-override disable $PWD overriding getcwd() 2837 --disable-check-make-chdir disable make trying to guess 2838 when it should automatically cd ${.CURDIR} 2839 2840 * Merge with NetBSD make, changes include: 2841 parse.c (ParseDoDependency): Spot that the syntax error is 2842 caused by an unresolved cvs/rcs conflict and say so. 2843 var.c: most of Var* functions now take a ctxt as 1st arg. 2844 now does variable substituion on rhs of sysv style modifiers. 2845 2846 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 2847 is now done here. We append the name='value' to .MAKEOVERRIDES 2848 rather than directly into MAKEFLAGS as this allows a Makefile to 2849 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 2850 very similar mechanism. Note that in adding name='value' to 2851 .MAKEOVERRIDES we do the moral equivalent of: 2852 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 2853 2854Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2855 2856 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 2857 2858 * Merged with NetBSD make 2859 make -dx can now be used to run commands via sh -x 2860 better error messages on exec failures. 2861 2862Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2863 2864 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 2865 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 2866 MACHINE etc otherwise they propagate from the previous bmake. 2867 2868 * configure.in (machine): allow --with-machine=generic to make 2869 configure use machine.sh to set MACHINE. 2870 2871 * job.c (JobInterrupt): convert to using WAIT_T and friends. 2872 2873 * Makefile.in: mention in bmake.1 that we use autoconf. 2874 2875 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 2876 2877Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2878 2879 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 2880 as that rather defeats the usefulness of ${MAKEFILE}. 2881 2882 * main.c (MainParseArgs): append command line variable assignments 2883 to MAKEFLAGS so that they get propagated to child make's. 2884 Apparently this is required POSIX behaviour? Its useful anyway. 2885 2886Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2887 2888 * compat.c (CompatRunCommand): don't use perror() since stdio may 2889 cause problems in child of vfork(). 2890 2891 * compat.c, main.c: Call PrintOnError() when we are going to bail. 2892 This routine prints out the .curdir where we stopped and will also 2893 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 2894 2895 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 2896 :@ expansion. 2897 2898 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 2899 2900 * Added RCSid's for the files we've touched. 2901 2902Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2903 2904 * configure.in: Thanks to some clues from mdb@juniper.net, 2905 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 2906 as well as what ends up in _PATH_DEFSYSPATH. We now have: 2907 2908 --with-machine=MACHINE explicitly set MACHINE 2909 --with-force-machine=MACHINE set FORCE_MACHINE 2910 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 2911 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 2912 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 2913 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 2914 2915 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 2916 2917 * makefile: added a pathetically simple makefile to drive 2918 bootstrapping. Running configure by hand is more useful. 2919 2920 * Makefile.in: added MAKE_VERSION, and reworked things to be less 2921 dependent on NetBSD bsd.*.mk 2922 2923 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 2924 _PATH_OBJDIRPREFIX for those that don't want a default. 2925 construct _PATH_DEFSYSPATH from the info we get from configure. 2926 2927 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 2928 if MAKE_VERSION is defined. 2929 2930 * compat.c: when we bail, print out the .CURDIR we were in. 2931 2932Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2933 2934 * Merged with NetBSD make 2935 2936 * var.c: fixed a bug in the handling of the modifier :P 2937 if the node as found but the path was null, we segfault trying to 2938 duplicate it. 2939 2940Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2941 2942 * Merged with NetBSD make 2943 2944 * make.c: Make_OODate's test for a library out of date was using 2945 cmtime where it should have used mtime (my bug). 2946 2947 * compat.c: Use perror() to tell us what really went wrong when we 2948 cannot exec a command. 2949 2950Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2951 2952 * Merged with NetBSD make 2953 2954Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2955 2956 * Merged with NetBSD make 2957 2958Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2959 2960 * Merged with NetBSD make 2961 2962Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2963 2964 * Merged with NetBSD make 2965 2966Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2967 2968 * util.c: don't provide signal() since we use sigcompat.c 2969 2970 * Makefile.in: added a build target. 2971 2972 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 2973 These allow some quite clever magic. 2974 2975 * main.c (main): added support for getenv(MAKESYSPATH). 2976 2977Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2978 2979 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 2980 This avoids objdir having a different value depending on how a 2981 directory was reached (via command line, or subdir.mk). 2982 2983 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 2984 2985Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2986 2987 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 2988 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 2989 I've been testing this in NetBSD's make for some weeks. 2990 2991 * Turn Makefile into Makefile.in and make it useful. 2992 2993Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2994 2995 * Imported NetBSD's -current make(1) and resolve conflicts. 2996 2997 * Applied autoconf patches from bmake v2 2998 2999 * Imported clean code base from NetBSD-1.0 3000