12021-06-21 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * VERSION (_MAKE_VERSION): 20210621 4 Merge with NetBSD make, pick up 5 o var.c: only report error for unmatched regex subexpression 6 when linting (-dL) since we cannot tell when an unmatched 7 subexpression is an expected result. 8 o move unmatched regex subexpression tests to 9 varmod-subst-regex.mk and enable strict (lint) mode 10 112021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 12 13 * VERSION (_MAKE_VERSION): 20210616 14 Merge with NetBSD make, pick up 15 o more unit tests 16 o cond.c: rename If_Eval to EvalBare 17 improve function names for parsing conditions 18 o job.c: fix error handling of targets that cannot be made 19 o var.c: uncompress code in ApplyModifier_Unique 20 212021-05-18 Simon J Gerraty <sjg@beast.crufty.net> 22 23 * VERSION (_MAKE_VERSION): 20210518 24 Merge with NetBSD make, pick up 25 o fix unit-tests/opt-chdir to cope with /nonexistent existing. 26 o job.c: Print -de error information when running multiple jobs 27 282021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 29 30 * VERSION (_MAKE_VERSION): 20210420 31 Merge with NetBSD make, pick up 32 o use C99 bool type 33 o convert VarEvalFlags back into an enum 34 o cond.c: do not complain when skipping the condition 'no >= 10' 35 o hash.c: avoid allocating memory for simple variable names 36 o job.c: use distinct wording for writing to the shell commands file 37 remove type name for the abort status in job handling 38 rename PrintOutput to PrintFilteredOutput to avoid confusion 39 o main.c: avoid double slash in name of temporary directory 40 o var.c: use straight quotes for error 'Bad conditional expression' 41 reduce memory allocations in the modifiers ':D' and ':U' 42 rename members of ModifyWord_LoopArgs 43 clean up pattern flags for the modifiers ':S' and ':C' 44 reduce memory allocation and strlen calls in modifier ':from=to' 45 in the ':Q' modifier, only allocate memory if necessary 46 improve performance for LazyBuf 47 remove redundant parameter from ParseVarnameLong 48 migrate ParseModifierPart to use Substring 49 avoid unnecessary calls to strlen when evaluating modifiers 50 migrate ModifyWord functions to use Substring 51 migrate handling of the modifier ':S,from,to,' to Substring 52 reduce debug logging and memory allocation for ${:U...} 53 reduce verbosity of the -dv debug logging for standard cases 54 clean up debug logging for ':M' and ':N' 55 disallow '$' in the variable name of the modifier ':@' 56 simplify access to the name of an expression during evaluation 57 582021-03-30 Simon J Gerraty <sjg@beast.crufty.net> 59 60 * VERSION (_MAKE_VERSION): 20210330 61 Merge with NetBSD make, pick up 62 o replace enum bit-field with struct bit-field for VarEvalFlags 63 o rename VARE_NONE to VARE_PARSE_ONLY 64 o var.c: rename ApplyModifiersState to ModChain 65 fix double varname expansion in the variable modifier '::=' 66 change debug log for variable evaluation flags to lowercase 67 682021-03-14 Simon J Gerraty <sjg@beast.crufty.net> 69 70 * VERSION (_MAKE_VERSION): 20210314 71 Merge with NetBSD make, pick up 72 o var.c: avoid evaluating many modifiers in parse only mode 73 in strict mode (-dL) many variable references are parsed twice, 74 the first time just to report parse errors early, so we want to 75 avoid side effects and wasted effort to the extent possible. 76 772021-02-26 Simon J Gerraty <sjg@beast.crufty.net> 78 79 * VERSION (_MAKE_VERSION): 20210226 80 Merge with NetBSD make, pick up 81 o remove freestanding freeIt variables 82 link via FStr 83 o var.c: restructure code in ParseVarname to target human readers 84 improve error message for; 85 bad modifier in variable expression 86 unclosed modifier 87 unknown modifier 88 remove redundant parameter of ApplySingleModifier 89 explain non-obvious code around indirect variable modifiers 90 quote ':S' in error message about missing delimiter 91 extract ParseModifier_Match into separate function 92 add context information to error message about ':range' modifier 93 add quotes around variable name in an error message 94 reorder code in ModifyWords 95 use more common parameter order for VarSelectWords 96 make ModifyWord_Subst a little easier to understand 97 do not expand variable name from the command line twice 98 extract ExistsInCmdline from Var_SetWithFlags 99 save a hash map lookup when defining a cmdline variable 100 clean up VarAdd, Var_Delete, Var_ReexportVars 101 use bit-shift expressions for VarFlags constants 102 rename constants for VarFlags 103 rename ExprDefined constants for debug logging 104 rename ExprStatus to ExprDefined 105 split parameters for evaluating variable expressions 106 reduce redundant code around ModifyWords 107 print error about failed shell command before overwriting variable 108 clean up ValidShortVarname, ParseVarnameShort 109 rename VarExprStatus to ExprStatus 110 add functions for assigning the value of an expression 111 rename ApplyModifiersState_Define to Expr_Define 112 condense the code for parsing :S and :C modifiers 113 1142021-02-06 Simon J Gerraty <sjg@beast.crufty.net> 115 116 * VERSION (_MAKE_VERSION): 20210206 117 Merge with NetBSD make, pick up 118 o unit-tests: use private TMPDIR to avoid errors from other users 119 1202021-02-05 Simon J Gerraty <sjg@beast.crufty.net> 121 122 * VERSION (_MAKE_VERSION): 20210205 123 Merge with NetBSD make, pick up 124 o avoid strdup in mkTempFile 125 o always use vfork 126 o rename context and ctxt to scope 127 o rename some VAR constants to SCOPE 128 o Var_ functions, move the scope to the front 129 o use shortcut functions Global_Set and Global_Append 130 o add shortcut Global_Delete for deleting a global variable 131 o rename Var_Delete to Var_DeleteExpand, Var_DeleteVar to Var_Delete 132 o compat.c: when exiting due to an error, print graph information 133 o enum.c: remove overengineered Enum_ValueToString 134 o make.c: remove unused INTERNAL flag 135 remove unused return type of MakeBuildParent 136 o parse.c: replace parse error "Need an operator" with better message 137 o var.c: improve documentation about variable scopes 138 rename Var_ValueDirect to GNode_ValueDirect 139 rename old Var_SetWithFlags to Var_SetExpandWithFlags 140 merge SetVar into Var_SetWithFlags 141 split Var_Exists into plain Var_Exists and Var_ExistsExpand 142 split Var_Append into Var_Append and Var_AppendExpand 143 replace enum bit-set with bit-field 144 o unit-tests/var-op-shell: use kill rather than kill -14 145 which broke on darwin with recent update. 146 1472021-02-01 Simon J Gerraty <sjg@beast.crufty.net> 148 149 * configure.in: check for sig_atomic_t and define it as 'int' 150 if missing. 151 152 * VERSION (_MAKE_VERSION): 20210201 153 Merge with NetBSD make, pick up 154 o use sig_atomic_t for caught_sigchld 155 1562021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 157 158 * VERSION (_MAKE_VERSION): 20210130 159 Merge with NetBSD make, pick up 160 o more unit tests 161 o convert SearchPath to struct 162 o split Buf_Destroy into Buf_Done and Buf_DoneData 163 o for.c: split For_Eval into separate functions 164 rename struct For to struct ForLoop 165 o job.c: do not create empty shell files in jobs mode 166 rename JobOpenTmpFile to JobWriteShellCommands 167 reduce unnecessary calls to waitpid 168 o parse.c: in -dp mode, print stack trace with each diagnostic 169 1702021-01-23 Simon J Gerraty <sjg@beast.crufty.net> 171 172 * VERSION (_MAKE_VERSION): 20210123 173 Merge with NetBSD make, pick up 174 o rename Dir_Expand to SearchPath_Expand 175 o rename Dir_AddDir, reorder parameters of SearchPath_ToFlags 176 o cond.c: fix debug output for comparison operators in conditionals 177 o dir.c: split Dir_FindFile into separate functions 178 1792021-01-20 Simon J Gerraty <sjg@beast.crufty.net> 180 181 * VERSION (_MAKE_VERSION): 20210120 182 Merge with NetBSD make, pick up 183 o fix some more lint nits 184 o refine some unit tests for portability 185 o cond.c: rework parsing 186 1872021-01-10 Simon J Gerraty <sjg@beast.crufty.net> 188 189 * VERSION (_MAKE_VERSION): 20210110 190 Merge with NetBSD make, pick up 191 o fix lint warnings 192 o consistently use boolean expressions in conditions 193 1942021-01-08 Simon J Gerraty <sjg@beast.crufty.net> 195 196 * VERSION (_MAKE_VERSION): 20210108 197 Merge with NetBSD make, pick up 198 o job.c: back to polling token pipe if we want a token 199 o main.c: always print 'stopped in' on first call 200 The execption is if we bail because of an abort token 201 in which case just exit 6. 202 2032021-01-01 Simon J Gerraty <sjg@beast.crufty.net> 204 205 * VERSION (_MAKE_VERSION): 20210101 206 Merge with NetBSD make, pick up 207 o Happy New Year! 208 o rename CmdOpts.lint to strict 209 o exit 2 on technical errors 210 o replace pointers in controlling conditions with booleans 211 o replace global preserveUndefined with VARE_KEEP_UNDEF 212 o compat.c: re-export variables from the actual make process 213 if using vfork this is the effect anyway 214 o cond.c: clean up VarParseResult constants 215 o for.c: fix undefined behavior in SubstVarLong 216 make control flow in SubstVarLong of .for loops more obvious 217 clean up SubstVarShort in .for loops 218 extract ForSubstBody from ForReadMore 219 clean up ForReadMore 220 simplify termination condition for .for loop 221 add error handling for .for loop items 222 job.c: re-export variables from the actual make process 223 parse.c: remove mmap for loading files, only allow files < 1 GiB 224 fix edge case in := with undefined in variable name 225 skip variable expansion in ParseDependencyTargetWord 226 var.c: split ExportVar into separate functions 227 clean up code in extracted ExportVar functions 228 remove dead code from ApplyModifiersIndirect 229 split Var_Subst into easily understandable functions 230 clean up VarParseResult constants 231 2322020-12-25 Simon J Gerraty <sjg@beast.crufty.net> 233 234 * main.c: use .MAKE.DEPENDFILE as set by makefiles 235 2362020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 237 238 * VERSION (_MAKE_VERSION): 20201222 239 Merge with NetBSD make, pick up 240 o make DEBUG macro return boolean 241 o parse.c: fix assertion failure for files without trailing newline 242 o var.c: allow .undef to undefine multiple variables at once 243 remove excess newline from parse errors 244 2452020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 246 247 * VERSION (_MAKE_VERSION): 20201221 248 Merge with NetBSD make, pick up 249 o some unit-test updates 250 2512020-12-20 Simon J Gerraty <sjg@beast.crufty.net> 252 253 * VERSION (_MAKE_VERSION): 20201220 254 Merge with NetBSD make, pick up 255 o more unit tests 256 o return FStr from Var_Parse and Var_Value 257 o spell nonexistent consistently 258 o add str_basename to reduce duplicate code 259 o compat.c: fix .ERROR_TARGET in compat -k mode 260 extract InitSignals from Compat_Run 261 extract UseShell from Compat_RunCommand 262 o cond.c: error out if an '.endif' or '.else' contain extraneous text 263 o for.c: rename ForIterate to ForReadMore 264 o hash.c: clean up hash function for HashTable 265 o lst.c: rename Vector.priv_cap to cap 266 o main.c: remove constant parameter from MakeMode 267 o make.c: use symbolic time for 0 in Make_Recheck 268 extract MakeChildren from MakeStartJobs 269 o parse.c: clean up memory handling in VarAssign_EvalShell, Parse_DoVar 270 fix error message for .info/.warning/.error without argument 271 extract Var_Undef from ParseDirective 272 extract ParseSkippedBranches, ParseForLoop from ParseReadLine 273 rename mode constants for ParseGetLine to be more expressive 274 reduce debugging details in Parse_SetInput 275 fix line numbers in .for loops 276 split ParseGetLine into separate functions 277 fix garbled output for failed shell command 278 var.c: remove redundant assignment in ApplyModifier_SysV 279 error out on unknown variable modifiers at parse time 280 remove wrong error message for indirect modifier in lint mode 281 extract ApplySingleModifier from ApplyModifiers 282 use FStr for memory management in Var_SetWithFlags 283 extract SetVar from Var_SetWithFlags 284 use FStr in VarNew 285 extract string functions from ApplyModifier_To 286 error out if .undef has not exactly 1 argument 287 extract Var_DeleteVar from Var_Delete 288 extract Var_Undef from ParseDirective 289 clean up memory management for expanding variable expressions 290 2912020-12-12 Simon J Gerraty <sjg@beast.crufty.net> 292 293 * avoid %zu 294 295 * lst.c: avoid anonymous union 296 297 * VERSION (_MAKE_VERSION): 20201212 298 Merge with NetBSD make, pick up 299 o more unit tests 300 o inline Targ_Ignore and Targ_Silent 301 o split JobFlags into separate fields 302 o remove const from function parameters (left overs from refactoring) 303 o eliminate boolean argument of Var_Export 304 o make API of Buf_Init simpler 305 o rename ParseRunOptions to ParseCommandFlags 306 o replace *line with line[0] 307 o compat.c: fix wrong exit status for multiple failed main targets 308 refactor Compat_Run to show the error condition more clearly 309 don't make .END if the main targets already failed (-k mode) 310 fix exit status in -k mode if a dependency fails 311 o for.c: clean up Buf_AddEscaped in .for loops 312 o job.c: extract ShellWriter_ErrOn from JobPrintCommand 313 make Job_Touch simpler 314 refactor JobFinish 315 rename Shell.exitFlag to errFlag 316 move Job.xtraced to ShellWriter 317 make printing of shell commands independent from the job 318 rename shell flags in struct Shell 319 extract JobOpenTmpFile from JobStart 320 rename RunFlags to CommandFlags 321 split various Job.* into separate fields 322 rename commandShell to shell 323 extract InitShellNameAndPath from Shell_Init 324 replace signal handling macros with local functions 325 replace macro MESSAGE with local function 326 parse.c: error out on null bytes in makefiles 327 error out on misspelled directives 328 rename IFile.nextbuf to readMore 329 fix undefined behavior in ParseEOF 330 str.c: remove redundant call to strlen in Str_Words 331 var.c: error out on misspelled .unexport-env 332 error out on misspelled .export directives 333 extract ExportVars from Var_Export 334 extract ExportVarsExpand from Var_Export 335 eliminate boolean argument of Var_Export 336 fix undefined behavior when exporting ${:U } 337 rename Var_ExportVars to Var_ReexportVars 338 rename Var_Export1 to ExportVar 339 3402020-12-06 Simon J Gerraty <sjg@beast.crufty.net> 341 342 * VERSION (_MAKE_VERSION): 20201206 343 Merge with NetBSD make, pick up 344 o more unit tests 345 o inline macros for debug logging 346 o use consistent variable names for list nodes 347 o define constants for enum zero-values 348 o dir.c: use fixed format for debug output of the directory cache 349 remove Dir_InitDir 350 o lst.c: inline Lst_Enqueue, Vector_Done 351 o meta.c: remove unused parameter from meta_needed 352 o parse.c: rename parse functions 353 o suff.c: extract ExpandChildrenRegular from ExpandChildren 354 o targ.c: don't concatenate identifiers in Targ_PrintType 355 o var.c: remove comment decoration 356 extract UnexportVars from Var_UnExport 357 extract GetVarnamesToUnexport from Var_UnExport 358 extract UnexportEnv from Var_UnExport 359 extract UnexportVar from Var_UnExport 360 move CleanEnv to UnexportVars 361 replace pointer comparisons with enum 362 add FStr to var.c to make memory handling simpler 363 use FStr in Var_UnExport 364 move type definitions in var.c to the top 365 extract FreeEnvVar from Var_Parse 366 extract ShuffleStrings from ApplyModifier_Order 367 3682020-11-30 Simon J Gerraty <sjg@beast.crufty.net> 369 370 * VERSION (_MAKE_VERSION): 20201130 371 Merge with NetBSD make, pick up 372 o add unit tests for META MODE 373 o reduce memory allocation for dirSearchPath, GNode.parents, 374 GNode.children, OpenDirs 375 o reduce pointer indirection for GNode.cohorts and 376 GNode.implicitParents 377 o remove pointer indirection from GNode.commands 378 o inline Lst_ForEachUntil in meta mode 379 o dir.c: fix memory leak for lstat cache in -DCLEANUP mode 380 clean up memory management for CachedDirs 381 fix the reference count of dotLast going negative 382 add debug logging for OpenDirs_Done 383 extract CacheNewDir from Dir_AddDir 384 add debug logging for reference counting of CachedDir 385 rename some Dir functions to SearchPath 386 o job.c: rename some global variables 387 o main.c: reduce memory allocation in ReadBuiltinRules 388 reduce memory allocation in CmdOpts.create, CmdOpts.variables, 389 CmdOpts.makefiles 390 Add .MAKE.UID and .MAKE.GID 391 o make.c: reduce memory allocation for/in toBeMade, 392 Make_ProcessWait, Make_ExpandUse 393 o meta.c: reduce memory allocation in meta_oodate 394 o parse.c: reduce memory allocations for parsing dependencies and 395 targets 396 o suff.c: reduce memory allocation in suffix handling 397 3982020-11-24 Simon J Gerraty <sjg@beast.crufty.net> 399 400 * VERSION (_MAKE_VERSION): 20201124 401 Merge with NetBSD make, pick up 402 o .MAKE.{UID,GID} represent uid and gid running make. 403 o fix error handling for .BEGIN and .END dependency in -k mode 404 o fix missing "Stop." after failed .END node in -k mode 405 o use properly typed comparisons in boolean contexts 406 o replace a few HashTable_CreateEntry with HashTable_Set 407 o add HashSet type 408 o compat.c: split Compat_Make into smaller functions 409 extract DebugFailedTarget from Compat_RunCommand 410 o dir.c: refactor Dir_UpdateMTime 411 migrate CachedDir.files from HashTable to HashSet 412 o make.c: add high-level API for GNode.made 413 4142020-11-22 Simon J Gerraty <sjg@beast.crufty.net> 415 416 * VERSION (_MAKE_VERSION): 20201122 417 Merge with NetBSD make, pick up 418 o rename GNode.context to vars 419 o suff.c: cleanup and refactor 420 rename some functions and vars to better reflect usage 421 add high-level API for CandidateSearcher 422 o targ.c: add more debug logging for suffix handling 423 o more unit tests 424 o add debug logging for setting and resetting the main target 425 4262020-11-17 Simon J Gerraty <sjg@beast.crufty.net> 427 428 * VERSION (_MAKE_VERSION): 20201117 429 Merge with NetBSD make, pick up 430 o fix some unit-tests when .SHELL is dash 431 o rename Targ_NewGN to GNode_New 432 o make some GNode functions const 433 o main.c: call Targ_Init before Var_Init 434 cleanup PrintOnError, getTmpdir and ParseBoolean 435 o var.c: fix error message of failed :!cmd! modifier 436 4372020-11-14 Simon J Gerraty <sjg@beast.crufty.net> 438 439 * VERSION (_MAKE_VERSION): 20201114 440 Merge with NetBSD make, pick up 441 o replace a few HashTable_CreateEntry with HashTable_Set 442 o clean up cached_stats 443 o rename DEFAULT to defaultNode 444 o remove redundant struct make_stat 445 o cond.c: in lint mode, check for ".else <cond>" 446 use bitset for IfState 447 replace large switch with if-else in Cond_EvalLine 448 o job.c: clean up JobExec, JobStart, JobDoOutput 449 use stderr for error message about failed touch 450 clean up Job_Touch 451 replace macro DBPRINTF with JobPrintln 452 rename JobState to JobStatus 453 main.c: switch cache for realpath from GNode to HashTable 454 clean up Fatal 455 clean up InitDefSysIncPath 456 use progname instead of hard-coded 'make' in warning 457 rename Main_SetVarObjdir to SetVarObjdir 458 make.1: document the -S option 459 make.c: fix debug output for GNode details 460 use symbolic names in debug output of GNodes 461 4622020-11-12 Simon J Gerraty <sjg@beast.crufty.net> 463 464 * configure.in: fix --with-force-machine-arch 465 466 * VERSION (_MAKE_VERSION): 20201112 467 Merge with NetBSD make, pick up 468 o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable 469 checks in InitObjdir. Explicit .OBJDIR target always allows 470 read-only directory. 471 o cond.c: clean up Cond_EvalLine 472 4732020-11-11 Simon J Gerraty <sjg@beast.crufty.net> 474 475 * VERSION (_MAKE_VERSION): 20201111 476 Merge with NetBSD make, pick up 477 o more unit-tests 478 o style cleanup 479 remove redundant parentheses from sizeof operator 480 replace character literal 0 with '\0'. 481 replace pointer literal 0 with NULL. 482 remove redundant parentheses. 483 replace (expr & mask) == 0 with !(expr & mask). 484 use strict typing in conditions of the form !var 485 o rename Make_OODate to GNode_IsOODate 486 o rename Make_TimeStamp to GNode_UpdateYoungestChild 487 o rename Var_Set_with_flags to Var_SetWithFlags 488 o rename dieQuietly to shouldDieQuietly 489 o buf.c: make API of Buf_Init simpler 490 o compat.c: clean up Compat_Make, Compat_RunCommand, 491 CompatDeleteTarget and CompatInterrupt 492 o cond.c: in lint mode, only allow '&&' and '||', not '&' and '|' 493 clean up CondParser_Comparison 494 o main.c: rename getBoolean and s2Boolean 495 rename MAKEFILE_PREFERENCE for consistency 496 o parse.c: replace strstr in ParseMaybeSubMake with optimized code 497 o var.c: rename VARE_ASSIGN to VARE_KEEP_DOLLAR 498 replace emptyString with allocated empty string 499 error out on unclosed expressions after the colon 500 5012020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 502 503 * VERSION (_MAKE_VERSION): 20201101 504 Merge with NetBSD make, pick up 505 o negate NoExecute to GNode_ShouldExecute 506 o job.c: rename JobMatchShell to FindShellByName 507 extract EscapeShellDblQuot from JobPrintCommand 508 extract ParseRunOptions from JobPrintCommand 509 o var.c: extract ApplyModifiersIndirect from ApplyModifiers 510 treat malformed :range, :ts and :[...] as errors 511 add tests for the variable modifiers :[words] and :range 512 5132020-10-31 Simon J Gerraty <sjg@beast.crufty.net> 514 515 * VERSION (_MAKE_VERSION): 20201031 516 Merge with NetBSD make, pick up 517 o format #include directives consistently 518 o do not look up local variables like .TARGET anywhere else 519 o main.c: Main_SetObjdir is first called for curdir which may be 520 readonly 521 reduce the scope where recursive expressions are detected 522 remove redundant :tl from getBoolean 523 clean up mkTempFile 524 o meta.c: simplify memory allocation in meta_create and meta_oodate 525 o parse.c: extract loadedfile_mmap from loadfile 526 o trace.c: document possible undefined behavior with .CURDIR 527 o var.c: make parsing of the :gmtime and :localtime modifiers stricter 528 rename ismeta to is_shell_metachar 529 remove debug logging for the :Q variable modifier 530 rename VarIsDynamic to VarnameIsDynamic 531 use consistent parameter order in varname parsing functions 532 extract ParseVarnameLong from Var_Parse 533 extract ParseVarnameShort from Var_Parse 534 fix type of ParseModifierPart parameter delim 535 extract IsEscapedModifierPart from ParseModifierPart 536 clean up ModifyWords 537 add test for combining the :@ and :? variable modifiers 538 5392020-10-30 Simon J Gerraty <sjg@beast.crufty.net> 540 541 * VERSION (_MAKE_VERSION): 20201030 542 Merge with NetBSD make, pick up 543 o change char * to void * in Var_Value 544 o make iterating over HashTable simpler 545 o rename VAR_CMD to VAR_CMDLINE 546 o cond.c: clean up is_separator 547 fix parse error in string literal in conditional 548 o main.c: do not use objdir that is not writable 549 in lint mode, exit with error status on errors 550 o parse.c: clean up StrContainsWord 551 fix out-of-bounds pointer in ParseTrackInput 552 o var.c: rename Str_SYSVMatch and its parameters 553 remove unsatisfiable conditions in Var_Set_with_flags 554 document where the variable name is expanded 555 fix documentation for VARP_SUB_ONE 556 rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME 557 document VAR_READONLY 558 prevent appending to read-only variables 559 extract MayExport from Var_Export1 560 remove redundant evaluations in VarFind 561 replace VarFindFlags with a simple Boolean 562 rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE 563 5642020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 565 566 * VERSION (_MAKE_VERSION): 20201028 567 Merge with NetBSD make, pick up 568 o rename defIncPath to defSysIncPath 569 o initialize all CmdOpts fields 570 o lst.c: inline Vector_Get 571 o main.c: refactor main extract 572 InitMaxJobs,InitObjdir,InitVarMake,InitRandom, 573 ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules, 574 InitDefIncPath,CmdOpts_Init,UnlimitFiles 575 o parse.c: merge curFile into includes 576 rename predecessor to order_pred 577 sort ParseSpecial alphabetically 578 remove unused, undocumented .NOEXPORT 579 rename ParseSpecial enum values consistently 580 rename some fields of struct IFile 581 5822020-10-26 Simon J Gerraty <sjg@beast.crufty.net> 583 584 * VERSION (_MAKE_VERSION): 20201026 585 Merge with NetBSD make, pick up 586 o group the command line options and arguments into a struct 587 o rename GNode.cmgn to youngestChild 588 o rename hash functions to identify the type name 589 o negate OP_NOP and rename it to GNode_IsTarget 590 o add GNode_Path to access the path of a GNode 591 o remove macros MIN and MAX 592 o remove unused Lst_Find and Lst_FindFrom 593 o arch.c: and make Arch_FindLib simpler 594 clean up code layout 595 make Arch_ParseArchive simpler 596 o cond.c: inline CondFindStrMatch into FuncMake 597 o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath 598 omit trailing space in debug output for expanding file patterns 599 refactor DirMatchFiles 600 document that the SearchPath of Dir_FindFile may be NULL 601 remove UNCONST from Dir_Expand 602 inline DirFindName 603 o for.c: clean up code for handling .for loops 604 o hash.c: print hash in debug log with fixed width 605 clean up hash table functions 606 reduce amount of string hashing 607 o job.c: refactor JobDeleteTarget 608 use proper enum constants for aborting 609 convert result of JobStart from macros to enum 610 convert abort reason macros to enum 611 rework Job_CheckCommands to reduce indentation 612 rename Shell fields 613 add field names in declaration of DEFSHELL_CUSTOM 614 convert JobState and JobFlags to enum types 615 move handling of the "..." command to JobPrintCommands 616 o lst.c: clean up 617 refactor LstNodeNew 618 remove Lst_Open, Lst_Next, Lst_Close 619 remove code for circular lists from Lst_Next 620 o main.c: do not attempt to read .MAKE.DEPENFILE if set to 621 /dev/null or anything starting with "no" 622 convert macros for debug flags into enum 623 o make.c: inline Lst_Copy in Make_ExpandUse 624 o meta.c: inline Lst_Find in meta_oodate 625 make Lst_RemoveIf simpler in meta_oodate 626 o parse.c: convert error level for Parse_Error to an enum 627 o suff.c: properly terminate debug output with newline 628 add more details to DEBUG_SRC log 629 replace Dir_CopyDir with Dir_CopyDirSearchPath 630 don't modify GNode name while rebuilding the suffix graph 631 o var.c: reduce duplicate code in VarFind 632 6332020-10-22 Simon J Gerraty <sjg@beast.crufty.net> 634 635 * VERSION (_MAKE_VERSION): 20201022 636 Merge with NetBSD make, pick up 637 o more refactoring and simplification to reduce code size 638 o var.c: extract CanonicalVarname from VarFind 639 o make.c: extract UpdateImplicitParentsVars from Make_Update 640 o main.c: extract PrintVar from doPrintVars 641 extract HandlePWD from main 642 o lst.c: inline simple Lst getters 643 remove unused Lst_ForEach 644 o job.c: move struct Shell from job.h to job.c 645 o more unit tests 646 6472020-10-19 Simon J Gerraty <sjg@beast.crufty.net> 648 649 * configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT 650 6512020-10-18 Simon J Gerraty <sjg@beast.crufty.net> 652 653 * VERSION (_MAKE_VERSION): 20201018 654 Merge with NetBSD make, pick up 655 o remove USE_IOVEC 656 o rename some Hash_* apis to Hash* 657 o replace execError with execDie 658 o rename Lst_Init to Lst_New 659 o add tags to enum types 660 o rename Stack to Vector 661 o parse.c: more refactoring 662 o unit-tests: make some tests use line buffered stdout 663 o unit-tests/Makefile: in meta mode do not make all tests depend on 664 Makefile, it isn't necessary. 665 6662020-10-10 Simon J Gerraty <sjg@beast.crufty.net> 667 668 * main.c: check for CTL_HW being defined. 669 * unit-tests/Makefile: ensure export tests output are POSIX compliant 670 disable opt-debug-jobs test until it works on ubuntu 671 672 * VERSION (_MAKE_VERSION): 20201010 673 Merge with NetBSD make, pick up 674 o dir.c: remove pathname limit for Dir_FindHereOrAbove 675 o hash.c: replace strcpy with memcpy in Hash_CreateEntry 676 o main.c: extract init_machine and init_machine_arch from main 677 allow to disable debug logging options 678 o parse.c: enable format string truncation warnings 679 extract parsing of sources from ParseDoDependency 680 split ParseDoSrc into smaller functions 681 hide implementation details from Parse_DoVar 682 clean up parsing of variable assignments 683 split Parse_DoVar into manageable pieces 684 don't modify the given line during Parse_DoVar 685 fix out-of-bounds memory access in Parse_DoVar 686 fix parsing of the :sh assignment modifier 687 o var.c: rework memory allocation for the name of variables 688 extract ApplyModifier_Literal into separate function 689 in lint mode, reject modifiers without delimiter 690 do not export variable names starting with '-' 691 o fix double-free bug in -DCLEANUP mode 692 o more cleanup to enable higher warnings level 693 o more unit tests 694 6952020-10-02 Simon J Gerraty <sjg@beast.crufty.net> 696 697 * VERSION (_MAKE_VERSION): 20201002 698 Merge with NetBSD make, pick up 699 o dir.c: use hash table for looking up open directories by name 700 o main.c: clean up option handling 701 o parse.c: add missing const for Parse_AddIncludeDir 702 o var.c: ApplyModifier_To, update pp in each branch 703 o remove redundant function prototypes 704 o more unit tests 705 7062020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 707 708 * VERSION (_MAKE_VERSION): 20201001 709 Merge with NetBSD make, pick up 710 o compat.c: comment about "..." 711 7122020-09-30 Simon J Gerraty <sjg@beast.crufty.net> 713 714 * VERSION (_MAKE_VERSION): 20200930 715 Merge with NetBSD make, pick up 716 o job.c: split Job.jobPipe into 2 separate fields 717 replace Lst_Open with direct iteration 718 o lst.c: remove redundant assertions 719 o targ.c: replace Lst_Open with direct iteration 720 o var.c: fix bug in evaluation of indirect variable modifiers 721 extract ApplyModifier_Quote into separate function 722 o make debug logging simpler 723 7242020-09-27 Simon J Gerraty <sjg@beast.crufty.net> 725 726 * VERSION (_MAKE_VERSION): 20200927 727 Merge with NetBSD make, pick up 728 o parse.c: ensure parse errors result in 'stopped in' message. 729 o compat.c: make parameter of Compat_RunCommand const 730 o main.c: extract InitVarTarget from main 731 o parse.c: rename ParseFinishLine to FinishDependencyGroup 732 refactor ParseDoDependency 733 o var.c: Var_Subst no longer returns string result 734 rename Var_ParsePP back to Var_Parse 735 in lint mode, improve error handling for undefined variables 736 extract ParseVarname from Var_Parse 737 o rename Lst_ForEach to Lst_ForEachUntil 738 o inline Lst_ForEachUntil in several cases 739 o clean up API for finding and creating GNodes 740 o fix assertion failure in -j mode with .END node 741 o inline and remove LstNode_Prev and LstNode_Next 742 o use fine-grained type names for lists and their nodes 743 o more unit tests 744 7452020-09-11 Simon J Gerraty <sjg@beast.crufty.net> 746 747 * VERSION (_MAKE_VERSION): 20200911 748 Merge with NetBSD make, pick up 749 o cond.c: split EvalComparison into smaller functions 750 reorder parameters of condition parsing functions 751 reduce code size in CondParser_Eval 752 rename CondGetString to CondParser_String 753 add CondLexer_SkipWhitespace 754 group the condition parsing state into a struct 755 in CondGetString, replace repeated Buf_Add with Buf_AddStr 756 o migrate Var_Parse to Var_ParsePP 757 o add wrappers around ctype.h functions 758 o lst.c: use a stack instead of a list for the nested include path 759 o more unit tests 760 7612020-09-04 Simon J Gerraty <sjg@beast.crufty.net> 762 763 * make-bootstrap.sh.in: adjust object list 764 7652020-09-02 Simon J Gerraty <sjg@beast.crufty.net> 766 767 * VERSION (_MAKE_VERSION): 20200902 768 Merge with NetBSD make, pick up 769 o use make_stat to ensure no confusion over valid fields 770 returned by cached_stat 771 o var.c: make VarQuote const-correct 772 o add unit tests for .for 773 7742020-09-01 Simon J Gerraty <sjg@beast.crufty.net> 775 776 * VERSION (_MAKE_VERSION): 20200901 777 Merge with NetBSD make, pick up 778 o rename Hash_Table fields 779 o make data types in Dir_HasWildcards more precise 780 7812020-08-31 Simon J Gerraty <sjg@beast.crufty.net> 782 783 * VERSION (_MAKE_VERSION): 20200831 784 Merge with NetBSD make, pick up 785 o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds 786 o lst.c: Lst_Open renable assert that list isn't open 787 o unit test for .TARGET dependent flags 788 o var.c: fix aliasing bug in VarUniq 789 o more unit tests for :u 790 7912020-08-30 Simon J Gerraty <sjg@beast.crufty.net> 792 793 * VERSION (_MAKE_VERSION): 20200830 794 Merge with NetBSD make, pick up 795 o allow for strict type checking for Boolean 796 o Var_Parse never returns NULL 797 o Var_Subst never returns NULL 798 o Lst_Find now takes boolean match function 799 o rename Lst_Memeber to Lst_FindDatum 800 o rename LstNode functions to match their type 801 o rename GNode.iParents to implicitParents 802 o fix assertion failure for .SUFFIXES in archives 803 o compat.c: clean up documentation for CompatInterrupt and Compat_Run 804 remove unreachable code from CompatRunCommand 805 o main.c: simplify getBoolean 806 o stc.c: replace brk_string with simpler Str_Words 807 o suff.c: add debug macros 808 8092020-08-28 Simon J Gerraty <sjg@beast.crufty.net> 810 811 * VERSION (_MAKE_VERSION): 20200828 812 Merge with NetBSD make, pick up 813 o lst.c: inline LstIsValid and LstNodeIsValid 814 o remove trailing S from Lst function names after migration complete 815 o more comment cleanup/clarification 816 o suff.c: clean up suffix handling 817 o more unit tests 818 8192020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 820 821 * VERSION (_MAKE_VERSION): 20200826 822 Merge with NetBSD make, pick up 823 o enum.c: distinguish between bitsets containing flags and 824 ordinary enums 825 o var.c: fix error message for ::!= modifier with shell error 826 o fix bugs in -DCLEANUP mode 827 8282020-08-24 Simon J Gerraty <sjg@beast.crufty.net> 829 830 * VERSION (_MAKE_VERSION): 20200824 831 Merge with NetBSD make, pick up 832 o in debug mode, print GNode details in symbols 833 8342020-08-23 Simon J Gerraty <sjg@beast.crufty.net> 835 836 * VERSION (_MAKE_VERSION): 20200823 837 Merge with NetBSD make, pick up 838 o lst.c: more asserts, 839 make args to Lst_Find match others. 840 o var.c: pass flags to VarAdd 841 o arch.c: use Buffer 842 o str.c: brk_string return size_t for nwords 843 o more unit tests 844 8452020-08-22 Simon J Gerraty <sjg@beast.crufty.net> 846 847 * VERSION (_MAKE_VERSION): 848 Merge with NetBSD make, pick up 849 o var.c: support for read-only variables eg .SHELL 850 being the shell used to run scripts. 851 o lst.c: more simplification 852 o more documentation and style cleanup 853 o more unit tests 854 o ensure unit-test/Makefile is run by TEST_MAKE 855 o reduce duplication of header inclusion 856 8572020-08-21 Simon J Gerraty <sjg@beast.crufty.net> 858 859 * VERSION (_MAKE_VERSION): 20200821 860 Merge with NetBSD make, pick up 861 o lst.c: revert invalid assertion - but document it 862 o dir.c: split Dir_Init into two functions 863 8642020-08-20 Simon J Gerraty <sjg@beast.crufty.net> 865 866 * lst.c: needs inttypes.h on Linux 867 868 * VERSION (_MAKE_VERSION): 20200820 869 Merge with NetBSD make, pick up 870 o make.1: clarify some passages 871 o var.c: more cleanup, clarify comments 872 o make_malloc.c: remove unreachable code 873 o cond.c: make CondGetString easier to debug 874 o simplify list usage 875 o unit-tests: more 876 8772020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 878 879 * VERSION (_MAKE_VERSION): 20200816 880 Merge with NetBSD make, pick up 881 o refactor unit-tests to be more fine grained 882 not all tests moved yet 883 8842020-08-14 Simon J Gerraty <sjg@beast.crufty.net> 885 886 * VERSION (_MAKE_VERSION): 20200814 887 Merge with NetBSD make, pick up 888 o more str_concat variants 889 o more enums for flags 890 o var.c: cleanup for higher warnings level 891 8922020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 893 894 * VERSION (_MAKE_VERSION): 20200810 895 Merge with NetBSD make, pick up 896 o more unit tests 897 o general comment and style cleanup 898 8992020-08-08 Simon J Gerraty <sjg@beast.crufty.net> 900 901 * VERSION (_MAKE_VERSION): 20200808 902 Merge with NetBSD make, pick up 903 o enum.[ch]: streamline, enums for use in flags and debug output 904 o cond.c: cleanup 905 o var.c: reduce duplicate code for modifiers 906 debug logging for Var_Parse 907 more detailed debug output 908 o more unit tests 909 9102020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 911 912 * unit-tests/Makefile: -r for recursive and include Makefile.inc 913 so I can run tests in meta mode 914 supress extra noise if in meta mode 915 916 * VERSION (_MAKE_VERSION): 20200806 917 Merge with NetBSD make, pick up 918 o parse.c: remove VARE_WANTRES for LINT 919 we just want to check parsing (for now). 920 9212020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 922 923 * VERSION (_MAKE_VERSION): 20200805 924 Merge with NetBSD make, pick up 925 o make.1: Rework the description of dependence operators 926 9272020-08-03 Simon J Gerraty <sjg@beast.crufty.net> 928 929 * VERSION (_MAKE_VERSION): 20200803 930 Merge with NetBSD make, pick up 931 o revert some C99 usage, for max portability 932 o unit-tests/lint 933 9342020-08-02 Simon J Gerraty <sjg@beast.crufty.net> 935 936 * VERSION (_MAKE_VERSION): 20200802 937 Merge with NetBSD make, pick up 938 o more unit tests 939 9402020-08-01 Simon J Gerraty <sjg@beast.crufty.net> 941 942 * Remove NetBSD specific plumbing from unit-tests/Makefile 943 944 * VERSION (_MAKE_VERSION): 20200801 945 Merge with NetBSD make, pick up 946 o make Var_Value return const 947 o size_t for buf sizes 948 o optimize some buffer operations - avoid strlen 949 9502020-07-31 Simon J Gerraty <sjg@beast.crufty.net> 951 952 * VERSION (_MAKE_VERSION): 20200731 953 Merge with NetBSD make, pick up 954 o var.c: fix undefinded behavior for incomplete :t modifier 955 fixes unit-test/moderrs on Ubuntu 956 o parse.c: When parsing variable assignments other than := 957 if DEBUG(LINT) test substition of value, so we get a file and 958 line number in the resulting error. 959 o dir.c: fix parsing of nested braces in dependency lines 960 add unit-tests 961 9622020-07-30 Simon J Gerraty <sjg@beast.crufty.net> 963 964 * VERSION (_MAKE_VERSION): 20200730 965 Merge with NetBSD make, pick up 966 o var.c: minor cleanup 967 o unit-tests: more tests to improve code coverage 968 9692020-07-28 Simon J Gerraty <sjg@beast.crufty.net> 970 971 * VERSION (_MAKE_VERSION): 20200728 972 Merge with NetBSD make, pick up 973 o var.c: more optimizations 974 9752020-07-26 Simon J Gerraty <sjg@beast.crufty.net> 976 977 * VERSION (_MAKE_VERSION): 20200726 978 Merge with NetBSD make, pick up 979 o collapse lsd.lib into lst.c - reduce code size and allow inlining 980 o lots of function comment updates 981 o var.c: more optimizations 982 o make return of Var_Parse const 983 9842020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 985 986 * VERSION (_MAKE_VERSION): 20200720 987 Merge with NetBSD make, pick up 988 o DEBUG_HASH report stats at end and tone down the noise 989 o var.c: each flag type gets its own prefix. 990 move SysV string matching to var.c 991 make ampersand in ${VAR:from=to&} an ordinary character 992 cleanup and simplify implementation of modifiers 993 o make.1: move documentation for assignment modifiers 994 9952020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 996 997 * VERSION (_MAKE_VERSION): 20200718 998 Merge with NetBSD make, pick up 999 o DEBUG_HASH to see how well the hash tables are working 1000 10012020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 1002 1003 * bsd.after-import.mk: make sure we update unit-tests/Makefile 1004 10052020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 1006 1007 * configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC 1008 1009 * VERSION (_MAKE_VERSION): 20200710 1010 Merge with NetBSD make, pick up 1011 o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall 1012 o meta.c: target flagged .META is out-of-date if meta file missing 1013 10142020-07-09 Simon J Gerraty <sjg@beast.crufty.net> 1015 1016 * VERSION (_MAKE_VERSION): 20200709 1017 Merge with NetBSD make, pick up 1018 o cond.c: fix for compare_expression when doEval=0 1019 o unit-tests/Makefile: rework 1020 o filemon/filemon_dev.c: ensure filemon fd is closed on exec. 1021 10222020-07-04 Simon J Gerraty <sjg@beast.crufty.net> 1023 1024 * VERSION (_MAKE_VERSION): 20200704 1025 Merge with NetBSD make, pick up 1026 (most of this by rillig@) 1027 o lots of style and white-space cleanup 1028 o lots more unit tests for variable modifiers 1029 o simplified description of some functions 1030 o str.c: refactor Str_Match 1031 o var.c: debugging output for :@ 1032 constify VarModify parameter 1033 fix :hash modifier on 16-bit platforms 1034 remove unnecessary forward declarations 1035 refactor ApplyModifier_SysV to have less indentation 1036 simplify code for :E and :R 1037 clean up code for :H and :T 1038 refactor ApplyModifiers 1039 1040 * var.c: we need stdint.h on some platforms to get uint32_t 1041 * unit-test/Makefile: we need to supress the specific error 1042 for RE substitution error in modmisc, since it varies accross 1043 different OS. 1044 10452020-07-02 Simon J Gerraty <sjg@beast.crufty.net> 1046 1047 * VERSION (_MAKE_VERSION): 20200702 1048 Merge with NetBSD make, pick up 1049 o var.c: more improvements to avoiding unnecessary evaluation 1050 use enums for flags 1051 o remove flags arg to Var_Set which outside of var.c is always 0 1052 10532020-07-01 Simon J Gerraty <sjg@beast.crufty.net> 1054 1055 * VERSION (_MAKE_VERSION): 20200701 1056 Merge with NetBSD make, pick up 1057 o var.c: with change to cond.c; ensure that nested variables 1058 within a variable name are expanded. 1059 o unit-tests/varmisc.mk: test for nested varname 1060 10612020-06-29 Simon J Gerraty <sjg@beast.crufty.net> 1062 1063 * VERSION (_MAKE_VERSION): 20200629 1064 Merge with NetBSD make, pick up 1065 o cond.c: do not eval unnecessary terms of conditionals. 1066 10672020-06-25 Simon J Gerraty <sjg@beast.crufty.net> 1068 1069 * VERSION (_MAKE_VERSION): 20200625 1070 Merge with NetBSD make, pick up 1071 o meta.c: report error if lseek in filemon_read fails 1072 10732020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 1074 1075 * VERSION (_MAKE_VERSION): 20200622 1076 Merge with NetBSD make, pick up 1077 o dieQuietly: ignore OP_SUBMAKE as too aggressive 1078 10792020-06-19 Simon J Gerraty <sjg@beast.crufty.net> 1080 1081 * VERSION (_MAKE_VERSION): 20200619 1082 Merge with NetBSD make, pick up 1083 o str.c: performance improvement for Str_Match for multiple '*' 1084 o dieQuietly: supress the failure output from make 1085 when failing node is a sub-make or a sibling failed. 1086 This cuts down greatly on unhelpful noise at the end of 1087 build log. Disabled by -dj or .MAKE.DIE_QUIETLY=no 1088 10892020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 1090 1091 * FILES: add LICENSE to appease some packagers. 1092 This is an attempt to fairly represent the license on almost 1093 200 files, which are almost all BSD-3-Clause 1094 The few exceptions being more liberal. 1095 1096 * VERSION (_MAKE_VERSION): 20200610 1097 Merge with NetBSD make, pick up 1098 o unit test for :Or 1099 11002020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 1101 1102 * VERSION (_MAKE_VERSION): 20200606 1103 Merge with NetBSD make, pick up 1104 o make.1: cleanup 1105 1106 * Makefile: fix depends for main.o which broke MAKE_VERSION 1107 11082020-06-05 Simon J Gerraty <sjg@beast.crufty.net> 1109 1110 * VERSION (_MAKE_VERSION): 20200605 1111 Merge with NetBSD make, pick up 1112 o dir.c: cached_stats - don't confuse stat and lstat results. 1113 o var.c: add :Or for reverse sort. 1114 11152020-05-24 Simon J Gerraty <sjg@beast.crufty.net> 1116 1117 * configure.in: add AC_PROG_CC_C99 for mipspro compiler 1118 also if --with-filemon= specifies path to filemon.h 1119 set use_filemon=dev 1120 * dirname.c: remove include of namespace.h 1121 11222020-05-17 Simon J Gerraty <sjg@beast.crufty.net> 1123 1124 * VERSION (_MAKE_VERSION): 20200517 1125 Merge with NetBSD make, pick up 1126 o modified dollar tests to avoid shell dependencies 1127 o new tests for .INCLUDEFROM 1128 11292020-05-16 Simon J Gerraty <sjg@beast.crufty.net> 1130 1131 * unit-tests/dollar.mk: tweak '1 dollar literal' test 1132 to not depend so much on shell behavior 1133 11342020-05-10 Simon J Gerraty <sjg@beast.crufty.net> 1135 1136 * VERSION (_MAKE_VERSION): 20200510 1137 Merge with NetBSD make, pick up 1138 o unit test for dollar handling 1139 11402020-05-06 Simon J Gerraty <sjg@beast.crufty.net> 1141 1142 * VERSION (_MAKE_VERSION): 20200506 1143 Merge with NetBSD make, pick up 1144 o str.c: empty string does not match % pattern 1145 plus unit-test changes 1146 11472020-05-04 Simon J Gerraty <sjg@beast.crufty.net> 1148 1149 * VERSION (_MAKE_VERSION): 20200504 1150 May the 4th be with you 1151 Merge with NetBSD make, pick up 1152 o var.c: import handling of old sysV style modifier using '%' 1153 o str.c: refactor brk_string 1154 o unit-tests: add test case for lazy conditions 1155 11562020-04-18 Simon J Gerraty <sjg@beast.crufty.net> 1157 1158 * VERSION (_MAKE_VERSION): 20200418 1159 1160 * configure.in: use_makefile=no for cygwin et al. 1161 case insensitive filesystems just don't work if both 1162 makefile and Makefile exist. 1163 NOTE: bmake does not support cygwin and likely never will, 1164 but if brave souls want to try it - help them out. 1165 11662020-04-02 Simon J Gerraty <sjg@beast.crufty.net> 1167 1168 * VERSION (_MAKE_VERSION): 20200402 1169 Merge with NetBSD make, pick up 1170 o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD 1171 a blank command is perfectly valid. 1172 11732020-03-30 Simon J Gerraty <sjg@beast.crufty.net> 1174 1175 * VERSION (_MAKE_VERSION): 20200330 1176 Merge with NetBSD make, pick up 1177 o make.h: extern debug_file 1178 11792020-03-18 Simon J Gerraty <sjg@beast.crufty.net> 1180 1181 * VERSION (_MAKE_VERSION): 20200318 1182 Merge with NetBSD make, pick up 1183 o meta.c: meta_oodate, check for corrupted meta file 1184 earlier and more often. 1185 11862020-02-20 Simon J Gerraty <sjg@beast.crufty.net> 1187 1188 * VERSION (_MAKE_VERSION): 20200220 1189 11902020-02-19 Simon J Gerraty <sjg@beast.crufty.net> 1191 1192 * boot-strap: unset MAKEFLAGS 1193 11942020-02-12 Simon J Gerraty <sjg@beast.crufty.net> 1195 1196 * VERSION (_MAKE_VERSION): 20200212 1197 * meta.c: meta_compat_parent check for USE_FILEMON 1198 patch from Soeren Tempel 1199 12002020-02-05 Simon J Gerraty <sjg@beast.crufty.net> 1201 1202 * VERSION: 20200205 1203 Merge with NetBSD make, pick up 1204 o meta.c: fix compat mode, need to call meta_job_output() 1205 o job.c: extra fds for meta mode not needed if using filemon_dev 1206 12072020-01-22 Simon J Gerraty <sjg@beast.crufty.net> 1208 1209 * VERSION: 20200122 1210 Merge with NetBSD make, pick up 1211 o meta.c: avoid passing NULL to filemon_*() when meta_needed() 1212 returns FALSE. 1213 12142020-01-21 Simon J Gerraty <sjg@beast.crufty.net> 1215 1216 * VERSION: 20200121 1217 Merge with NetBSD make, pick up 1218 o filemon/filemon_{dev,ktrace}.c: allow selection of 1219 filemon implementation. filemon_dev.c uses the kernel module 1220 while filemon_ktrace.c leverages the fktrace api available in 1221 NetBSD. filemon_ktrace.c can hopefully form the basis for 1222 adding support for other tracing mechanisms such as strace on 1223 Linux. 1224 o meta.c: when target is out-of-date per normal make rules 1225 record value of .OODATE in meta file. 1226 12272019-09-26 Simon J Gerraty <sjg@beast.crufty.net> 1228 1229 * VERSION: 20190926 1230 Merge with NetBSD make, pick up 1231 o parse.c: don't pass NULL to realpath(3) 1232 some versions cannot handle it. 1233 12342019-04-09 Simon J Gerraty <sjg@beast.crufty.net> 1235 1236 * VERSION: 20190409 1237 Merge with NetBSD make, pick up 1238 o parse.c: ParseDoDependency: free paths rather than assert 1239 12402018-12-22 Simon J Gerraty <sjg@beast.crufty.net> 1241 1242 * VERSION: 20181222 1243 1244 * configure.in: add --without-makefile to avoid generating 1245 makefile and make-bootstrap.sh 1246 1247 * include Makefile.inc if it exists 1248 1249 * Use Makefile and Makefile.config.in in unit-tests 1250 so we can use just: make obj && make && make test 1251 when bmake is already available. 1252 We add --without-makefile to CONFIGURE_ARGS in this case. 1253 1254 * tweak bsd.after-import.mk (captures Makefile.config etc 1255 after import to FreeBSD for example) to cope with all the above. 1256 12572018-12-21 Simon J Gerraty <sjg@beast.crufty.net> 1258 1259 * VERSION: 20181221 1260 Merge with NetBSD make, pick up 1261 o parse.c: ParseVErrorInternal use .PARSEDIR 1262 and apply if relative, and then use .PARSEFILE 1263 for consistent result. 1264 12652018-12-20 Simon J Gerraty <sjg@beast.crufty.net> 1266 1267 * VERSION: 20181220 1268 Merge with NetBSD make, pick up 1269 o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR 1270 is relative 1271 o var.c: avoid SEGFAULT in .unexport-env 1272 when MAKELEVEL is not set 1273 12742018-12-16 Simon J Gerraty <sjg@beast.crufty.net> 1275 1276 * VERSION: 20181216 1277 Merge with NetBSD make, pick up 1278 o fix for unit-tests/varquote.mk on Debian 1279 12802018-09-21 Simon J. Gerraty <sjg@bad.crufty.net> 1281 1282 * VERSION: 20180919 1283 Merge with NetBSD make, pick up 1284 o var.c: add :q 1285 o dir.c: cleanup caching of stats 1286 12872018-09-21 Simon J Gerraty <sjg@beast.crufty.net> 1288 1289 * Makefile.config.in: use += where it makes sense. 1290 12912018-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 1292 1293 * VERSION: 20180512 1294 Merge with NetBSD make, pick up 1295 o job.c: skip polling job token pipe 1296 12972018-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1298 1299 * VERSION: 20180405 1300 Merge with NetBSD make, pick up 1301 o parse.c: be more cautious about detecting depenency line 1302 rather than sysV style include. 1303 13042018-02-22 Simon J. Gerraty <sjg@bad.crufty.net> 1305 1306 * VERSION: 20180222 1307 Merge with NetBSD make, pick up 1308 o parse.c: avoid calling sysconf for every call to loadfile 1309 13102018-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1311 1312 * VERSION: 20180218 1313 Merge with NetBSD make, pick up 1314 o var.c: Var_Set handle NULL value anytime. 1315 13162018-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 1317 1318 * VERSION: 20180212 1319 Merge with NetBSD make, pick up 1320 o parse.c: do not treat .info as warning with -W 1321 13222017-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 1323 1324 * VERSION: 20171207 1325 Merge with NetBSD make, pick up 1326 o var.c: Var_Append use Var_Set if var not previously set 1327 so that VAR_CMD is handled correctly. 1328 Add a suitable unit-test. 1329 13302017-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1331 1332 * VERSION (_MAKE_VERSION): 20171126 1333 1334 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__ 1335 since AC_TRY_COMPILE puts input inside main() 1336 which upsets modern compilers. 1337 13382017-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 1339 1340 * VERSION: 20171118 1341 Merge with NetBSD make, pick up 1342 o var.c: do not append to variable set on command line 1343 add unit-test to catch this. 1344 13452017-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 1346 1347 * VERSION: 20171028 1348 Merge with NetBSD make, pick up 1349 o main.c: ignore empty MAKEOBJDIR 1350 1351 * Makefile.config.in: 1352 make @prefix@ @machine*@ and @default_sys_path@ defaults. 1353 13542017-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 1355 1356 * VERSION: 20171005 1357 1358 * unit-tests/dotwait.mk: redirect stderr through pipe for more 1359 consistent result on some platforms. 1360 13612017-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 1362 1363 * machine.sh: entry for AIX 1364 13652017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 1366 1367 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION 1368 to a file that can be included by configure as well as make. 1369 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh 1370 13712017-08-10 Simon J. Gerraty <sjg@bad.crufty.net> 1372 1373 * Makefile (_MAKE_VERSION): 20170810 1374 Merge with NetBSD make, pick up 1375 o meta.c: if target is in subdir we only need subdir name in 1376 meta_name. 1377 13782017-07-20 Simon J. Gerraty <sjg@bad.crufty.net> 1379 1380 * Makefile (_MAKE_VERSION): 20170720 1381 Merge with NetBSD make, pick up 1382 o compat.c: pass SIGINT etc onto child and wait for it to exit 1383 before we self-terminate. 1384 13852017-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 1386 1387 * Makefile (_MAKE_VERSION): 20170711 1388 forgot to update after merge on 20170708 ;-) 1389 o main.c: refactor to reduce size of main function. 1390 add -v option to always fully expand values. 1391 o meta.c: ensure command output in meta file has ending newline 1392 even when filemon not being used. 1393 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use 1394 pathname via ':L' since any ':' in pathname breaks that. 1395 Instead set a '${.p.}' to pathname in the target context and 1396 use that. 1397 13982017-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1399 1400 * Makefile (_MAKE_VERSION): 20170510 1401 Merge with NetBSD make, pick up 1402 o main.c: Main_SetObjdir: ensure buf2 is in scope 1403 14042017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 1405 1406 * Makefile (_MAKE_VERSION): 20170505 1407 see mk/ChangeLog 1408 14092017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1410 1411 * parse.c: not everyone has stdint.h 1412 14132017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 1414 1415 * Makefile (_MAKE_VERSION): 20170501 1416 see mk/ChangeLog 1417 14182017-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1419 1420 * Makefile (_MAKE_VERSION): 20170421 1421 Merge with NetBSD make, pick up 1422 o str.c: Str_Match: fix closure tests for [^] and add unit-test. 1423 14242017-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1425 1426 * Makefile (_MAKE_VERSION): 20170420 1427 Merge with NetBSD make, pick up 1428 o main.c: only use -C arg "as is" if it contains no 1429 relative component. 1430 14312017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1432 1433 * Makefile (_MAKE_VERSION): 20170418 1434 Merge with NetBSD make, pick up 1435 o main.c: fix Main_SetObjdir() for relative paths (eg obj). 1436 14372017-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 1438 1439 * Makefile (_MAKE_VERSION): 20170417 1440 Merge with NetBSD make, pick up 1441 o fixes a number of coverity complaints 1442 - check return value of fseek, fcntl 1443 - plug memory leak in Dir_FindFile, Var_LoopExpand, 1444 JobPrintCommand, ParseTraditionalInclude 1445 - use bmake_malloc() where NULL is not tollerated 1446 - use MAKE_ATTR_UNUSED rather that kludges like 1447 return(unused ? 0 : 0) 1448 - use purge_cached_realpaths() rather than abuse cached_realpath() 1449 14502017-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 1451 1452 * Makefile (_MAKE_VERSION): 20170413 1453 Merge with NetBSD make, pick up 1454 o main.c: when setting .OBJDIR ignore '$' in paths. 1455 1456 * job.c: use MALLOC_OPTIONS to set malloc_options. 1457 14582017-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 1459 1460 * Makefile (_MAKE_VERSION): 20170411 1461 Merge with NetBSD make, pick up 1462 o str.c: Str_Match: allow [^a-z] to behave as expected. 1463 14642017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1465 1466 * Makefile (_MAKE_VERSION): 20170326 1467 Merge with NetBSD make, pick up 1468 o main.c: purge relative paths from realpath cache when .OBJDIR 1469 is changed. 1470 14712017-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 1472 1473 * Makefile (_MAKE_VERSION): 20170311 1474 Merge with NetBSD make, pick up 1475 o main.c: only use -C arg "as is" if it starts with '/'. 1476 14772017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 1478 1479 * Makefile (_MAKE_VERSION): 20170301 1480 Merge with NetBSD make, pick up 1481 o main.c: use -C arg "as is" rather than getcwd() 1482 if they identify the same directory. 1483 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case 1484 14852017-02-01 Simon J. Gerraty <sjg@bad.crufty.net> 1486 1487 * Makefile (_MAKE_VERSION): 20170201 1488 Merge with NetBSD make, pick up 1489 o var.c: allow :_=var and avoid use of special context. 1490 14912017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 1492 1493 * Makefile (_MAKE_VERSION): 20170130 1494 Merge with NetBSD make, pick up 1495 o var.c: add :range and :_ 1496 o main.c: partially initialize Dir_* before MainParseArgs() 1497 can be called. 1498 If -V, skip Main_ExportMAKEFLAGS() 1499 15002017-01-14 Simon J. Gerraty <sjg@bad.crufty.net> 1501 1502 * Makefile (_MAKE_VERSION): 20170114 1503 Merge with NetBSD make, pick up 1504 o var.c: allow specifying the utc value used by :{gm,local}time 1505 15062016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1507 1508 * Makefile (_MAKE_VERSION): 20161212 1509 Merge with NetBSD make, pick up 1510 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too. 1511 15122016-12-09 Simon J. Gerraty <sjg@bad.crufty.net> 1513 1514 * Makefile (_MAKE_VERSION): 20161209 1515 Merge with NetBSD make, pick up 1516 o main.c: cleanup setting of .OBJDIR 1517 o parse.c: avoid coredump from (var)=val 1518 15192016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1520 1521 * Makefile (_MAKE_VERSION): 20161126 1522 Merge with NetBSD make, pick up 1523 o make.c: Make_OODate: report src node name if path not set 1524 15252016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 1526 1527 * Makefile (_MAKE_VERSION): 20160926 1528 Merge with NetBSD make, pick up 1529 o support for .DELETE_ON_ERROR: (remove targets that fail) 1530 15312016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 1532 1533 * Makefile MAN: tweak .Dt to match ${PROG} 1534 15352016-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 1536 1537 * Makefile (_MAKE_VERSION): 20160818 1538 its a neater number; pick up whitespace fixes to man page. 1539 15402016-08-17 Simon J. Gerraty <sjg@bad.crufty.net> 1541 1542 * Makefile (_MAKE_VERSION): 20160817 1543 Merge with NetBSD make, pick up 1544 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore() 1545 so we can call it before adding entries to missingFiles. 1546 Thus we do not track files we have been told to ignore. 1547 15482016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 1549 1550 * Makefile (_MAKE_VERSION): 20160815 1551 Merge with NetBSD make, pick up 1552 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to 1553 pathnames, and skip if the expansion is empty. 1554 Useful for dirdeps.mk when checking DIRDEPS_CACHE. 1555 15562016-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 1557 1558 * Makefile (_MAKE_VERSION): 20160812 1559 Merge with NetBSD make, pick up 1560 o meta.c: remove all missingFiles entries that match a deleted 1561 dir. 1562 o main.c: set .ERROR_CMD if possible. 1563 15642016-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1565 1566 * Makefile (_MAKE_VERSION): 20160606 1567 Merge with NetBSD make, pick up 1568 o dir.c: extend mtimes cache to others via cached_stat() 1569 15702016-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1571 1572 * Makefile (_MAKE_VERSION): 20160604 1573 Merge with NetBSD make, pick up 1574 o meta.c: missing filemon data is only relevant if we read a 1575 meta file. 1576 Also do not return oodate for a missing metafile if gn->path 1577 points to .CURDIR 1578 15792016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1580 1581 * Makefile (_MAKE_VERSION): 20160602 1582 Merge with NetBSD make, pick up 1583 o cached_realpath(): avoid hitting filesystem more than necessary. 1584 o meta.c: refactor need_meta decision, add knobs for 1585 missing meta file and filemon data wrt out-of-datedness. 1586 15872016-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 1588 1589 * Makefile (_MAKE_VERSION): 20160528 1590 1591 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 1592 15932016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 1594 1595 * Makefile (_MAKE_VERSION): 20160512 1596 Merge with NetBSD make, pick up 1597 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS 1598 this is useful for gcov builds. 1599 o propagate errors from filemon(4). 1600 16012016-05-09 Simon J. Gerraty <sjg@bad.crufty.net> 1602 1603 * Makefile (_MAKE_VERSION): 20160509 1604 Merge with NetBSD make, pick up 1605 o remove use of non-standard types u_int etc. 1606 o meta.c: apply realpath() before matching against metaIgnorePaths 1607 16082016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 1609 1610 * Makefile (_MAKE_VERSION): 20160404 1611 Merge with NetBSD make, pick up 1612 o allow makefile to set .MAKE.JOBS 1613 1614 * Makefile (PROG_NAME): use ${_MAKE_VERSION} 1615 16162016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 1617 1618 * Makefile (_MAKE_VERSION): 20160315 1619 Merge with NetBSD make, pick up 1620 o fix handling of archive members 1621 16222016-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 1623 1624 * Makefile (_MAKE_VERSION): rename variable to avoid interference 1625 with checks for ${MAKE_VERSION} 1626 16272016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 1628 1629 * Makefile (MAKE_VERSION): 20160310 1630 Merge with NetBSD make, pick up 1631 o meta.c: treat missing Read file same as Write, incase we Delete it. 1632 16332016-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 1634 1635 * Makefile (MAKE_VERSION): 20160307 1636 Merge with NetBSD make, pick up 1637 o var.c: fix :ts\nnn to be octal by default. 1638 o meta.c: meta_finish() to cleanup memory. 1639 16402016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 1641 1642 * Makefile (MAKE_VERSION): 20160226 1643 Merge with NetBSD make, pick up 1644 o meta.c: allow meta file for makeDepend if makefiles want it. 1645 16462016-02-19 Simon J. Gerraty <sjg@bad.crufty.net> 1647 1648 * var.c: default .MAKE.SAVE_DOLLARS to FALSE 1649 for backwards compatability. 1650 1651 * Makefile (MAKE_VERSION): 20160220 1652 Merge with NetBSD make, pick up 1653 o var.c: add knob to control handling of '$$' in := 1654 16552016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 1656 1657 * Makefile (MAKE_VERSION): 20160218 1658 Merge with NetBSD make, pick up 1659 o var.c: add .export-literal allows us to fix sys.clean-env.mk 1660 post the changes to Var_Subst. 1661 Var_Subst now takes flags, and does not consume '$$' in := 1662 16632016-02-17 Simon J. Gerraty <sjg@bad.crufty.net> 1664 1665 * Makefile (MAKE_VERSION): 20160217 1666 Merge with NetBSD make, pick up 1667 o var.c: preserve '$$' in := 1668 o parse.c: add .dinclude for handling included 1669 makefile like .depend 1670 16712015-12-20 Simon J. Gerraty <sjg@bad.crufty.net> 1672 1673 * Makefile (MAKE_VERSION): 20151220 1674 Merge with NetBSD make, pick up 1675 o suff.c: re-initialize suffNull when clearing suffixes. 1676 16772015-12-01 Simon J. Gerraty <sjg@bad.crufty.net> 1678 1679 * Makefile (MAKE_VERSION): 20151201 1680 Merge with NetBSD make, pick up 1681 o cond.c: CondCvtArg: avoid access beyond end of empty buffer. 1682 o meta.c: meta_oodate: use lstat(2) for checking link target 1683 in case it is a symlink. 1684 o var.c: avoid calling brk_string and Var_Export1 with empty 1685 strings. 1686 16872015-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1688 1689 * Makefile (MAKE_VERSION): 20151126 1690 Merge with NetBSD make, pick up 1691 o parse.c: ParseTrackInput don't access beyond 1692 end of old value. 1693 16942015-10-22 Simon J. Gerraty <sjg@bad.crufty.net> 1695 1696 * Makefile (MAKE_VERSION): 20151022 1697 1698 * Add support for BSD/OS which lacks inttypes.h 1699 and really needs sys/param.h for sys/sysctl.h 1700 also 'type' is not a shell builtin. 1701 1702 * var.c: eliminate uint32_t and need for inttypes.h 1703 1704 * main.c: PrintOnError flush stdout before run .ERROR 1705 1706 * parse.c: cope with _SC_PAGESIZE not being defined. 1707 1708 17092015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 1710 1711 * Makefile (MAKE_VERSION): 20151020 1712 Merge with NetBSD make, pick up 1713 o var.c: fix uninitialized var 1714 17152015-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 1716 1717 * var.c: the conditional expressions used with ':?' can be 1718 expensive, if already discarding do not evaluate or expand 1719 anything. 1720 17212015-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1722 1723 * Makefile (MAKE_VERSION): 20151010 1724 Merge with NetBSD make, pick up 1725 o Add Boolean wantit flag to Var_Subst and Var_Parse 1726 when FALSE we know we are discarding the result and can 1727 skip operations like Cmd_Exec. 1728 17292015-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 1730 1731 * Makefile (MAKE_VERSION): 20151009 1732 Merge with NetBSD make, pick up 1733 o var.c: don't check for NULL before free() 1734 o meta.c: meta_oodate, do not hard code ignore of makeDependfile 1735 17362015-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 1737 1738 * Makefile (MAKE_VERSION): 20150910 1739 Merge with NetBSD make, pick up 1740 o main.c: with -w print Enter/Leaving messages for objdir too 1741 if necessary. 1742 o centralize shell metachar handling 1743 1744 * FILES: add metachar.[ch] 1745 17462015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1747 1748 * Makefile (MAKE_VERSION): 20150606 1749 Merge with NetBSD make, pick up 1750 o make.1: document .OBJDIR target 1751 17522015-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1753 1754 * Makefile (MAKE_VERSION): 20150505 1755 Merge with NetBSD make, pick up 1756 o cond.c: be strict about lhs of comparison when evaluating .if 1757 but less so when called from variable expansion. 1758 o unit-tests/cond2.mk: test various error conditions 1759 17602015-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 1761 1762 * machine.sh (MACHINE): Add Bitrig 1763 patch from joerg@netbsd.org 1764 17652015-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1766 1767 * Makefile (MAKE_VERSION): 20150418 1768 Merge with NetBSD make, pick up 1769 o job.c: use memmove() rather than memcpy() 1770 1771 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL 1772 case, so skip it. 1773 17742015-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 1775 1776 * Makefile (MAKE_VERSION): 20150411 1777 bump version - only mk/ changes. 1778 17792015-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 1780 1781 * Makefile (MAKE_VERSION): 20150410 1782 Merge with NetBSD make, pick up 1783 o document different handling of '-' in jobs mode vs compat 1784 o fix jobs mode so that '-' only applies to whole job 1785 when shell lacks hasErrCtl 1786 o meta.c: use separate vars to track lcwd and latestdir (read) 1787 per process 1788 17892015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1790 1791 * Makefile (MAKE_VERSION): 20150401 1792 Merge with NetBSD make, pick up 1793 o meta.c: close meta file in child 1794 1795 * Makefile: use BINDIR.bmake if set. 1796 Same for MANDIR and SHAREDIR 1797 Handy for testing release candidates 1798 in various environments. 1799 18002015-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1801 1802 * move initialization of savederr to block where it is used 1803 to avoid spurious warning from gcc5 1804 18052014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1806 1807 * Makefile (MAKE_VERSION): 20141111 1808 just a cooler number 1809 18102014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1811 1812 * Makefile (MAKE_VERSION): 20141105 1813 Merge with NetBSD make, pick up 1814 o revert major overhaul of suffix handling 1815 and POSIX compliance - too much breakage 1816 and impossible to make backwards compatible. 1817 o we still have the new unit test structure which is ok. 1818 o meta.c ensure "-- filemon" is at start of line. 1819 18202014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 1821 1822 * configure.in: test that result of getconf PATH_MAX is numeric 1823 and discard if not. Apparently needed for Hurd. 1824 18252014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 1826 1827 * Makefile (MAKE_VERSION): 20140830 1828 Merge with NetBSD make, pick up 1829 o major overhaul of suffix handling 1830 o improved POSIX compliance 1831 o overhauled unit-tests 1832 18332014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 1834 1835 * Makefile (MAKE_VERSION): 20140620 1836 Merge with NetBSD make, pick up 1837 o var.c return varNoError rather than var_Error for ::= modifiers. 1838 18392014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1840 1841 * Makefile (MAKE_VERSION): 20140522 1842 Merge with NetBSD make, pick up 1843 o var.c detect some parse errors. 1844 18452014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1846 1847 * Fix spelling errors - patch from Pedro Giffuni 1848 18492014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1850 1851 * Makefile (MAKE_VERSION): 20140214 1852 Merge with NetBSD make, pick up 1853 o .INCLUDEFROM* 1854 o use Var_Value to get MAKEOBJDIR[PREFIX] 1855 o reduced realloc'ign in brk_string. 1856 * configure.in: add a check for compiler supporting __func__ 1857 18582014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 1859 1860 * boot-strap: ignore mksrc=none 1861 18622014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 1863 1864 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 1865 18662014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 1867 1868 * Makefile (MAKE_VERSION): 20140101 1869 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 1870 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 1871 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 1872 Hurd) 1873 * configure.in: Add AC_PREREQ and check for 1874 sysctl; patch from Andrew Shadura andrewsh at debian.org 1875 18762013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 1877 1878 * Makefile (MAKE_VERSION): 20131010 1879 * lose the const from arg to systcl to avoid problems on older BSDs. 1880 18812013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1882 1883 * Makefile (MAKE_VERSION): 20131001 1884 Merge with NetBSD make, pick up 1885 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 1886 hw.machine_arch if necessary. 1887 o meta.c: meta_oodate - need to look at src of Link and target 1888 of Move as well. 1889 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 1890 provide __arraycount() if needed. 1891 18922013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1893 1894 * Makefile (MAKE_VERSION): 20130904 1895 Merge with NetBSD make, pick up 1896 o Add VAR_INTERNAL context, so that internal setting of 1897 MAKEFILE does not override value set by makefiles. 1898 18992013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1900 1901 * Makefile (MAKE_VERSION): 20130902 1902 Merge with NetBSD make, pick up 1903 o CompatRunCommand: only apply shellErrFlag when errCheck is true 1904 19052013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1906 1907 * Makefile (MAKE_VERSION): 20130828 1908 Merge with NetBSD make, pick up 1909 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 1910 o Call Job_SetPrefix() from Job_Init() so makefiles have 1911 opportunity to set .MAKE.JOB.PREFIX 1912 19132013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 1914 1915 * Makefile (MAKE_VERSION): 20130730 1916 Merge with NetBSD make, pick up 1917 o Allow suppression of --- job -- tokens by setting 1918 .MAKE.JOB.PREFIX empty. 1919 19202013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1921 1922 * Makefile (MAKE_VERSION): 20130716 1923 Merge with NetBSD make, pick up 1924 o number of gmake compatibility tweaks 1925 -w for gmake style entering/leaving messages 1926 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 1927 handle MAKEFLAGS containing only letters. 1928 o when overriding a GLOBAL variable on the command line, 1929 delete it from GLOBAL context so -V doesn't show the wrong 1930 value. 1931 19322013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 1933 1934 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 1935 1936 * Makefile (MAKE_VERSION): 20130706 1937 Merge with NetBSD make, pick up 1938 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 1939 true so that CompatRunCommand() can use it, to ensure 1940 consistent behavior with jobs mode. 1941 o use MAKE_LEVEL_ENV to define the variable to propagate 1942 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 1943 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 1944 paths to ignore. 1945 19462013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1947 1948 * Makefile (MAKE_VERSION): 20130604 1949 Merge with NetBSD make, pick up 1950 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 1951 to avoid leaking descriptors. 1952 19532013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 1954 1955 * Makefile (MAKE_VERSION): 20130528 1956 Merge with NetBSD make, pick up 1957 o var.c: cleanup some left-overs in VarHash() 1958 19592013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1960 1961 * Makefile (MAKE_VERSION): 20130520 1962 generate manifest from component FILES rather than have to 1963 update FILES when mk/FILES changes. 1964 19652013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 1966 1967 * Makefile (MAKE_VERSION): 20130518 1968 Merge with NetBSD make, pick up 1969 o suff.c: don't skip all processsing for .PHONY targets 1970 else wildcard srcs do not get expanded. 1971 o var.c: expand name of variable to delete if necessary. 1972 19732013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1974 1975 * Makefile (MAKE_VERSION): 20130330 1976 Merge with NetBSD make, pick up 1977 o meta.c: refine the handling of .OODATE in commands. 1978 Rather than suppress command comparison for the entire script 1979 as though .NOMETA_CMP had been used, only suppress it for the 1980 one command line. 1981 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 1982 suppress comparison of a command without otherwise affecting it. 1983 o make.1: document that 1984 19852013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 1986 1987 * Makefile (MAKE_VERSION): 20130321 1988 yes, not quite right but its a cooler number. 1989 Merge with NetBSD make, pick up 1990 o parse.c: fix ParseGmakeExport to be portable 1991 and add a unit-test. 1992 * meta.c: call meta_init() before makefiles are read and if built 1993 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 1994 this let's makefiles test for support. 1995 Call meta_mode_init() to process .MAKE.MODE. 1996 19972013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 1998 1999 * Makefile (MAKE_VERSION): 20130305 2000 Merge with NetBSD make, pick up 2001 o run .STALE: target when a dependency from .depend is missing. 2002 o job.c: add Job_RunTarget() for the above and .BEGIN 2003 20042013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 2005 2006 * Makefile (MAKE_VERSION): 20130303 2007 Merge with NetBSD make, pick up 2008 o main.c: set .MAKE.OS to utsname.sysname 2009 o job.c: more checks for read and poll errors 2010 o var.c: lose VarChangeCase() saves 4% time 2011 20122013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 2013 2014 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 2015 want to use MAKEOBJDIR 2016 20172013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 2018 2019 * Merge with NetBSD make, pick up 2020 o make.1: more info on how shell commands are handled. 2021 o job.c,main.c: detect write errors to job pipes. 2022 20232013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 2024 2025 * Makefile (MAKE_VERSION): 20130123 2026 Merge with NetBSD make, pick up 2027 o meta.c: if script uses .OODATE and meta_oodate() decides 2028 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 2029 o var.c: in debug output indicate which variabale modifiers 2030 apply to. 2031 o remove Check_Cwd logic the makefiles have been fixed. 2032 20332012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 2034 2035 * makefile.in: add a simple makefile for folk who insist on 2036 ./configure; make; make install 2037 it just runs boot-strap 2038 * include mk/* to accommodate the above 2039 * boot-strap: re-work to accommodate the above 2040 mksrc defaults to $Mydir/mk 2041 allow op={configure,build,install,clean,all} 2042 add options to facilitate install 2043 * Makefile.config.in: just the bits set by configure 2044 * Makefile: bump version to 20121212 2045 abandon Makefile.in (NetBSD Makefile) 2046 leverage mk/* instead 2047 * configure.in: ensure srcdir is absolute 2048 20492012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 2050 2051 * Makefile.in (MAKE_VERSION): 20121111 2052 fix generation of bmake.cat1 2053 20542012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 2055 2056 * Makefile.in (MAKE_VERSION): 20121109 2057 Merge with NetBSD make, pick up 2058 o make.c: MakeBuildChild: return 0 so search continues if a 2059 .ORDER dependency is detected. 2060 o unit-tests/order: test the above 2061 20622012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 2063 2064 * Makefile.in (MAKE_VERSION): 20121102 2065 Merge with NetBSD make, pick up 2066 o cond.c: allow cond_state[] to grow. 2067 In meta mode with a very large tree, we can hit the limit 2068 while processing dirdeps. 2069 20702012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 2071 2072 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 2073 20742012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 2075 2076 * Makefile.in (MAKE_VERSION): 20121010 2077 o protect syntax that only bmake parses correctly. 2078 o remove auto setting of FORCE_MACHINE, use configure's 2079 --with-force-machine=whatever if that is desired. 2080 20812012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 2082 2083 * Makefile.in: do not lose history from make.1 when generating bmake.1 2084 20852012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 2086 2087 * Makefile.in (MAKE_VERSION): 20121007 2088 Merge with NetBSD make, pick up 2089 o compat.c: ignore empty commands - same as jobs mode. 2090 o make.1: document meta chars that cause use of shell 2091 20922012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 2093 2094 * Makefile.in (MAKE_VERSION): bump version to 20120911 2095 * bsd.after-import.mk: include Makefile.inc early and allow it to 2096 override PROG 2097 20982012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 2099 2100 * Makefile.in (MAKE_VERSION): bump version to 20120831 2101 Merge with NetBSD make, pick up 2102 o cast sizeof() to int for comparison 2103 o minor make.1 tweak 2104 21052012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 2106 2107 * Makefile.in (MAKE_VERSION): bump version to 20120830 2108 Merge with NetBSD make, pick up 2109 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 2110 o debug flag -dV causes -V to show raw value regardless. 2111 21122012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 2113 2114 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 2115 gets SRCTOP set. 2116 21172012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 2118 2119 * Makefile.in (MAKE_VERSION): bump version to 20120704 2120 Merge with NetBSD make, pick up 2121 o Job_ParseShell should call Shell_Init if it has been 2122 previously called. 2123 * Makefile.in: set USE_META based on configure result. 2124 also .PARSEDIR is safer indicator of bmake. 2125 21262012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 2127 2128 * Makefile.in: bump version to 20120626 2129 ensure CPPFLAGS is in CFLAGS 2130 * meta.c: avoid nested externs 2131 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 2132 21332012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 2134 2135 * Makefile.in (MAKE_VERSION): bump version to 20120620 2136 Merge with NetBSD make, pick up 2137 o make_malloc.c: avoid including make_malloc.h again 2138 2139 * Makefile.in: avoid bmake only syntax or protect with 2140 .if defined(.MAKE.LEVEL) 2141 * bsd.after-import.mk: replace .-include with .sinclude 2142 ensure? SRCTOP gets a value 2143 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 2144 21452012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 2146 2147 * Makefile.in (MAKE_VERSION): bump version to 20120612 2148 Merge with NetBSD make, pick up 2149 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 2150 for greater portability. 2151 o unit-tests/forloop: check that .for works as expected wrt 2152 number of times and with "quoted strings". 2153 21542012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 2155 2156 * Makefile.in (MAKE_VERSION): bump version to 20120606 2157 Merge with NetBSD make, pick up 2158 o compat.c: use kill(2) rather than raise(3). 2159 * configure.in: look for sys/dev/filemon 2160 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 2161 and pass BOOTSTRAP_XTRAS to boot-strap. 2162 21632012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 2164 2165 * Makefile.in (MAKE_VERSION): bump version to 20120604 2166 Merge with NetBSD make, pick up 2167 o util.c and var.c share same var for tracking if environ 2168 has been reallocated. 2169 o util.c provide getenv with setenv. 2170 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 2171 when the shell actively strips .MAKE.* from the environment. 2172 We still refer to the variable always as .MAKE.LEVEL 2173 * util.c fix bug in findenv() was finding prefix of name. 2174 * compat.c: re-raising SIGINT etc after running .INTERRUPT 2175 results in more reliable termination of all activity on many 2176 platforms. 2177 21782012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 2179 2180 * Makefile.in (MAKE_VERSION): bump version to 20120602 2181 Merge with NetBSD make, pick up 2182 o for.c: handle quoted items in .for list 2183 21842012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 2185 2186 * Makefile.in (MAKE_VERSION): bump version to 20120530 2187 Merge with NetBSD make, pick up 2188 o compat.c: ignore empty command. 2189 21902012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 2191 2192 * Makefile.in (MAKE_VERSION): bump version to 20120524 2193 * FILES: add bsd.after-import.mk: 2194 A simple means of integrating bmake into a BSD build system. 2195 21962012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 2197 2198 * Makefile.in (MAKE_VERSION): bump version to 20120520 2199 Merge with NetBSD make, pick up 2200 o increased limit for nested conditionals. 2201 22022012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 2203 2204 * Makefile.in (MAKE_VERSION): bump version to 20120518 2205 Merge with NetBSD make, pick up 2206 o use _exit(2) in signal hanlder 2207 o Don't use the [dir] cache when building nodes that might have 2208 changed since the last exec. 2209 o Avoid nested extern declaration warnings. 2210 22112012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 2212 2213 * meta.c (fgetLine): avoid %z - not portable. 2214 * parse.c: Since we moved include of sys/mman.h 2215 and def's of MAP_COPY etc. we got dups from a merge. 2216 22172012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 2218 2219 * Makefile.in (MAKE_VERSION): bump version to 20120420 2220 Merge with NetBSD make, pick up 2221 o restore duplicate supression in .MAKE.MAKEFILES 2222 runtime saving can be significant. 2223 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 2224 consumption up to 20%. 2225 22262012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 2227 2228 * Makefile.in (MAKE_VERSION): bump version to 20120420 2229 Merge with NetBSD make, pick up 2230 o remove duplicate supression in .MAKE.MAKEFILES 2231 o improved dir cache behavior 2232 o gmake'ish export command 2233 22342012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 2235 2236 * Makefile.in (MAKE_VERSION): bump version to 20120325 2237 Merge with NetBSD make, pick up 2238 o fix parsing of :[#] in conditionals. 2239 22402012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 2241 2242 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 2243 since some systems cannot cope with .Nx <version> 2244 22452011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 2246 2247 * Makefile.in (MAKE_VERSION): bump version to 20111111 2248 Merge with NetBSD make, pick up 2249 o debug output for .PARSEDIR and .PARSEFILE 2250 22512011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 2252 2253 * Makefile.in (MAKE_VERSION): bump version to 20111010 2254 22552011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 2256 2257 * boot-strap: check for an expected file in the dirs we look for. 2258 * make-bootstrap.sh: pass on LDSTATIC 2259 22602011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 2261 2262 * Makefile.in (MAKE_VERSION): bump version to 20111001 2263 Merge with NetBSD make, pick up 2264 o ensure .PREFIX is set for .PHONY 2265 and .TARGET set for .PHONY run via .END 2266 o __dead used consistently 2267 22682011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 2269 2270 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 2271 22722011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 2273 2274 * Makefile.in (MAKE_VERSION): bump version to 20110905 2275 Merge with NetBSD make, pick up 2276 o meta_oodate: ignore makeDependfile 2277 22782011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 2279 2280 * Makefile.in (MAKE_VERSION): bump version to 20110828 2281 Merge with NetBSD make, pick up 2282 o silent=yes in .MAKE.MODE causes meta mode to mark targets 2283 as SILENT if a .meta file is created 2284 22852011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 2286 2287 * Makefile.in (MAKE_VERSION): bump version to 20110818 2288 Merge with NetBSD make, pick up 2289 o in meta mode, if target flagged .META a missing .meta file 2290 means target is out-of-date 2291 o fixes for gcc 4.5 warnings 2292 o simplify job printing code 2293 22942011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 2295 2296 * Makefile.in (MAKE_VERSION): bump version to 20110808 2297 Merge with NetBSD make, pick up 2298 o do not touch OP_SPECIAL targets when doing make -t 2299 23002011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 2301 2302 * Makefile.in (MAKE_VERSION): bump version to 20110622 2303 Merge with NetBSD make, pick up 2304 o meta_oodate detect corrupted .meta file and declare oodate. 2305 * configure.in: add check for setsid 2306 23072011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 2308 2309 * Merge with NetBSD make, pick up 2310 o unit-tests/modts now works on MirBSD 2311 23122011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 2313 2314 * Makefile.in (MAKE_VERSION): bump version to 20110606 2315 Merge with NetBSD make, pick up 2316 o ApplyModifiers: when we parse a variable which is not 2317 the entire modifier string, or not followed by ':', do not 2318 consider it as containing modifiers. 2319 o loadfile: ensure newline at end of mapped file. 2320 23212011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 2322 2323 * Makefile.in (MAKE_VERSION): bump version to 20110505 2324 Merge with NetBSD make, pick up 2325 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 2326 of make's control. In meta mode, any generated file within 2327 said bailiwick, which is found to be missing, causes current 2328 target to be out-of-date. 2329 23302011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 2331 2332 * Makefile.in (MAKE_VERSION): bump version to 20110411 2333 Merge with NetBSD make, pick up 2334 o when long modifiers fail to match, check sysV style. 2335 - add a test case 2336 23372011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 2338 2339 * Makefile.in (MAKE_VERSION): bump version to 20110410 2340 Merge with NetBSD make, pick up 2341 o :hash - cheap 32bit hash of value 2342 o :localtime, :gmtime - use value as format string for strftime. 2343 23442011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 2345 2346 * Makefile.in (MAKE_VERSION): bump version to 20110330 2347 mostly because its a cooler version. 2348 Merge with NetBSD make, pick up 2349 o NetBSD tags for meta.[ch] 2350 o job.c call meta_job_finish() after meta_job_error(). 2351 o meta_job_error() should call meta_job_finish() to ensure 2352 .meta file is closed, and safe to copy - if .ERROR target wants. 2353 meta_job_finish() is safe to call repeatedly. 2354 23552011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 2356 2357 * unit-tests/modts: use printf if it is a builtin, 2358 to save us from MirBSD 2359 2360 * Makefile.in (MAKE_VERSION): bump version to 20110329 2361 Merge with NetBSD make, pick up 2362 o fix for use after free() in CondDoExists(). 2363 o meta_oodate() report extra commands and return earlier. 2364 23652011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 2366 2367 * Makefile.in (MAKE_VERSION): bump version to 20110327 2368 Merge with NetBSD make, pick up 2369 o meta.c, if .MAKE.MODE contains curdirOk=yes 2370 allow creating .meta files in .CURDIR 2371 * boot-strap (TOOL_DIFF): aparently at least on linux distro 2372 formats the output of 'type' differently - so eat any "()" 2373 23742011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 2375 2376 * Makefile.in (MAKE_VERSION): bump version to 20110306 2377 Merge with NetBSD make, pick up 2378 o meta.c, only do getcwd() once 2379 23802011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 2381 2382 * Makefile.in (MAKE_VERSION): bump version to 20110305 2383 Merge with NetBSD make, pick up 2384 o correct sysV substitution handling of empty lhs and variable 2385 o correct exists() check for dir with trailing / 2386 o correct handling of modifiers for non-existant variables 2387 during evaluation of conditionals. 2388 o ensure MAP_FILE is defined. 2389 o meta.c use curdir[] now exported by main.c 2390 23912011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 2392 2393 * Makefile.in (MAKE_VERSION): bump version to 20110225 2394 Merge with NetBSD make, pick up 2395 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 2396 makefiles have been read. 2397 o fix example of :? modifier in man page. 2398 23992011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 2400 2401 * Makefile.in (MAKE_VERSION): bump version to 20110214 2402 Merge with NetBSD make, pick up 2403 o meta.c handle realpath() failing when generating meta file 2404 name. 2405 2406 * sigcompat.c: convert to ansi so we can use higher warning levels. 2407 2408 24092011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 2410 2411 * Makefile.in (MAKE_VERSION): bump version to 20110207 2412 Merge with NetBSD make, pick up 2413 o fix for bug in meta mode. 2414 24152011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 2416 2417 * parse.c: SunOS 5.8 at least does not have MAP_FILE 2418 24192011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 2420 2421 * Makefile.in (MAKE_VERSION): bump version to 20110101 2422 Merge with NetBSD make, pick up 2423 o use mmap(2) if available, for reading makefiles 2424 24252010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 2426 2427 * Makefile.in (MAKE_VERSION): bump version to 20101215 2428 Merge with NetBSD make, pick up 2429 o ensure meta_job_error() does not report a previous .meta file 2430 as being culprit. 2431 24322010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 2433 2434 * Makefile.in (MAKE_VERSION): bump version to 20101210 2435 Merge with NetBSD make, pick up 2436 o meta_oodate: track cwd per process, and only consider target 2437 out-of-date if missing file is outside make's CWD. 2438 Ignore files in /tmp/ etc. 2439 o to ensure unit-tests results match, need to control LC_ALL 2440 as well as LANG. 2441 o fix for parsing bug in var.c 2442 24432010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 2444 2445 * Makefile.in (MAKE_VERSION): bump version to 20101126 2446 Merge with NetBSD make, pick up 2447 o if stale dependency is an IMPSRC, search via .PATH 2448 o meta_oodate: if a referenced file is missing, target is 2449 out-of-date. 2450 o meta_oodate: if a target uses .OODATE in its commands, 2451 it (.OODATE) needs to be recomputed. 2452 o keep a pointer to youngest child node, rather than just its 2453 mtime. 2454 24552010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 2456 2457 * Makefile.in (MAKE_VERSION): bump version to 20101101 2458 24592010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 2460 2461 * machine.sh: like os.sh, 2462 allow for uname -p producing useless drivel 2463 24642010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 2465 2466 * boot-strap: document configure knobs for meta and filemon. 2467 2468 * Makefile.in (MAKE_VERSION): bump version to 20100911 2469 Merge with NetBSD make, pick up 2470 o meta.c - meta mode 2471 2472 * make-bootstrap.sh.in: handle meta.c 2473 * configure.in: add knobs for use_meta and filemon_h 2474 also, look for dirname, str[e]sep and strlcpy 2475 * util.c: add simple err[x] and warn[x] 2476 24772010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 2478 2479 * boot-strap (TOOL_DIFF): set this to ensure tests use 2480 the same version of diff that configure tested 2481 2482 * Makefile.in (MAKE_VERSION): bump version to 20100808 2483 Merge with NetBSD make, pick up 2484 o in jobs mode, when we discover we cannot make something, 2485 call PrintOnError before exit. 2486 24872010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 2488 2489 * Makefile.in (MAKE_VERSION): bump version to 20100806 2490 Merge with NetBSD make, pick up 2491 o formatting fixes for ignored errors 2492 o ensure jobs are cleaned up regardless of where wait() was called. 2493 24942010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 2495 2496 * Makefile.in (MAKE_VERSION): bump version to 20100618 2497 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 2498 24992010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 2500 2501 * Makefile.in (MAKE_VERSION): bump version to 20100616 2502 Merge with NetBSD make, pick up 2503 o man page update 2504 o call PrintOnError from JobFinish when we detect an error we 2505 are not ignoring. 2506 25072010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 2508 2509 * Makefile.in (MAKE_VERSION): bump version to 20100606 2510 Merge with NetBSD make, pick up 2511 o man page update 2512 25132010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 2514 2515 * Makefile.in (MAKE_VERSION): bump version to 20100605 2516 Merge with NetBSD make, pick up 2517 o use bmake_signal() which is a wrapper around sigaction() 2518 in place of signal() 2519 o add .export-env to allow exporting variables to environment 2520 without tracking (so no re-export when the internal value is 2521 changed). 2522 25232010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 2524 2525 * Makefile.in (MAKE_VERSION): bump version to 20100524 2526 Merge with NetBSD make, pick up 2527 o fix for .info et al being greedy. 2528 25292010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 2530 2531 * Makefile.in (MAKE_VERSION): bump version to 20100520 2532 Merge with NetBSD make, pick up 2533 o back to using realpath on argv[0] 2534 but only if contains '/' and does not start with '/'. 2535 25362010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 2537 2538 * boot-strap: use absolute path for bmake when running tests. 2539 2540 * Makefile.in (MAKE_VERSION): bump version to 20100510 2541 Merge with NetBSD make, pick up 2542 o revert use of realpath on argv[0] 2543 too many corner cases. 2544 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 2545 25462010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 2547 2548 * Makefile.in (MAKE_VERSION): bump version to 20100505 2549 Merge with NetBSD make, pick up 2550 o fix for missed SIGCHLD when compiled with SunPRO 2551 actually for bmake, defining FORCE_POSIX_SIGNALS would have 2552 done the job. 2553 25542010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 2555 2556 * Makefile.in (MAKE_VERSION): bump version to 20100430 2557 Merge with NetBSD make, pick up 2558 o fflush stdout before writing to stdout 2559 25602010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 2561 2562 * Makefile.in (MAKE_VERSION): bump version to 20100423 2563 Merge with NetBSD make, pick up 2564 o updated unit tests for Haiku (this time for sure). 2565 * boot-strap: based on patch from joerg 2566 honor --with-default-sys-path better. 2567 * boot-strap: remove mention of --with-prefix-sys-path 2568 25692010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 2570 2571 * Makefile.in (MAKE_VERSION): bump version to 20100422 2572 * Merge with NetBSD make, pick up 2573 o fix for vfork() on Darwin. 2574 o fix for bogus $TMPDIR. 2575 o set .MAKE.MODE=compat for -B 2576 o set .MAKE.JOBS=max_jobs for -j max_jobs 2577 o allow unit-tests to run without any *.mk 2578 o unit-tests/modmisc be more conservative in dirs presumed to exist. 2579 * boot-strap: ignore /usr/share/mk except on NetBSD. 2580 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 2581 ensure sort(1) behaves as expected. 2582 25832010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 2584 2585 * boot-strap: add FindHereOrAbove so we can use -m .../mk 2586 25872010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 2588 2589 * Makefile.in (MAKE_VERSION): bump version to 20100420 2590 * Merge with NetBSD make, pick up 2591 o fix for variable realpath() behavior. 2592 we have to stat(2) the result to be sure. 2593 o fix for .export (all) when nested vars use :sh 2594 25952010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 2596 2597 * Makefile.in (MAKE_VERSION): bump version to 20100414 2598 * Merge with NetBSD make, pick up 2599 o use realpath to resolve argv[0] (for .MAKE) if needed. 2600 o add realpath from libc. 2601 o add :tA to resolve variable via realpath(3) if possible. 2602 26032010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 2604 2605 * Makefile.in (MAKE_VERSION): bump version to 20100408 2606 * Merge with NetBSD make, pick up 2607 o unit tests for .ERROR, .error 2608 o fix for .ERROR to ensure it cannot be default target. 2609 26102010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 2611 2612 * Makefile.in (MAKE_VERSION): bump version to 20100406 2613 * Merge with NetBSD make, pick up 2614 o fix for compat mode "Error code" going to debug_file. 2615 o fix for .ALLSRC being populated twice. 2616 o support for .info, .warning and .error directives 2617 o .MAKE.MODE to control make's operational mode 2618 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 2619 name(s). 2620 o .MAKE.DEPENDFILE to control the name of the depend file 2621 o .ERROR target - run on failure. 2622 26232010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 2624 2625 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 2626 2627 * os.sh,arch.c: patch for Haiku from joerg at netbsd 2628 26292010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 2630 2631 * Makefile.in (MAKE_VERSION): bump version to 20100222 2632 * Merge with NetBSD make, pick up 2633 o better error msg for .for with mutiple inter vars 2634 2635 * boot-strap: 2636 o use make-bootstrap.sh from joerg at netbsd 2637 to avoid the need for a native make when bootstrapping. 2638 o add "" everywhere ;-) 2639 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 2640 otherwise the pre-formated version. 2641 26422010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 2643 2644 * Makefile.in (MAKE_VERSION): bump version to 20100102 2645 * Merge with NetBSD make, pick up: 2646 o fix for -m .../ 2647 26482009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 2649 2650 * Makefile.in (MAKE_VERSION): bump version to 20091118 2651 * Merge with NetBSD make, pick up: 2652 o .unexport 2653 o report lines that start with '.' and should have ':' 2654 (catch typo's of .el*if). 2655 26562009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 2657 2658 * configure.in: Ensure that srcdir and mksrc are absolute paths. 2659 26602009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2661 2662 * Makefile.in (MAKE_VERSION): fix version to 20091007 2663 26642009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 2665 2666 * Makefile.in (MAKE_VERSION): bump version to 200910007 2667 * Merge with NetBSD make, pick up: 2668 o fix for parsing of :S;...;...; applied to .for loop iterator 2669 appearing in a dependency line. 2670 26712009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 2672 2673 * Makefile.in (MAKE_VERSION): bump version to 20090909 2674 * Merge with NetBSD make, pick up: 2675 o fix for -C, .CURDIR and .OBJDIR 2676 * boot-strap: 2677 o allow share_dir to be set independent of prefix. 2678 o select default share_dir better when prefix ends in $HOST_TARGET 2679 o if FORCE_BSD_MK etc were set, include them in the suggested 2680 install-mk command. 2681 26822009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 2683 2684 * Makefile.in (MAKE_VERSION): bump version to 20090908 2685 * Merge with NetBSD make, pick up: 2686 o .MAKE.LEVEL for recursion tracking 2687 o fix for :M scanning \: 2688 26892009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 2690 2691 * configure.in: Don't -D__EXTENSIONS__ if 2692 AC_USE_SYSTEM_EXTENSIONS says "no". 2693 26942009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 2695 2696 * Makefile.in (MAKE_VERSION): bump version to 20090826 2697 Simplify MAKE_VERSION to just the bare date. 2698 * Merge with NetBSD make, pick up: 2699 o -C directory support. 2700 o support for SIGINFO 2701 o use $TMPDIR for temp files. 2702 o child of vfork should be careful about modifying parent's state. 2703 2704 27052009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 2706 2707 * Appy some patches for MiNT from David Brownlee 2708 27092009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 2710 2711 * Makefile.in (BMAKE_VERSION): bump version to 20090222 2712 * Merge with NetBSD make, pick up: 2713 o Possible null pointer de-ref in Var_Set. 2714 27152009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 2716 2717 * Makefile.in (BMAKE_VERSION): bump version to 20090204 2718 * Merge with NetBSD make, pick up: 2719 o bmake_malloc et al moved to their own .c 2720 o Count both () and {} when looking for the end of a :M pattern 2721 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 2722 o strlist.c - functions for processing extendable arrays of pointers to strings. 2723 o ClientData replaced with void *, so const void * can be used. 2724 o New debug flag C for DEBUG_CWD 2725 27262008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 2727 2728 * Makefile.in (BMAKE_VERSION): bump version to 20081111 2729 Apply patch from Joerg Sonnenberge to 2730 configure.in: 2731 o remove some redundant checks 2732 o check for emlloc etc only in libutil and require the whole family. 2733 util.c: 2734 o remove [v]asprintf which is no longer used. 2735 27362008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2737 2738 * Makefile.in (BMAKE_VERSION): bump version to 20081101 2739 * Merge with NetBSD make, pick up: 2740 o util.c: avoid use of putenv() - christos 2741 27422008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 2743 2744 * Makefile.in (BMAKE_VERSION): bump version to 20081030 2745 pick up man page tweaks. 2746 27472008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 2748 2749 * Makefile.in: move processing of LIBOBJS to after is definition! 2750 thus we'll have getenv.c in SRCS only if needed. 2751 2752 * make.1: add examples of how to use :? 2753 2754 * Makefile.in (BMAKE_VERSION): bump version to 20081029 2755 * Merge with NetBSD make, pick up: 2756 o fix for .END processing with -j 2757 o segfault from Parse_Error when no makefile is open 2758 o handle numeric expressions in any variable expansion 2759 o debug output now defaults to stderr, -dF to change it - apb 2760 o make now uses bmake_malloc etc so that it can build natively 2761 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 2762 27632008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 2764 2765 * Makefile.in (BMAKE_VERSION): bump version to 20080808 2766 * Merge with NetBSD make, pick up: 2767 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 2768 long lines in Makefiles 2769 o optimizations for VarQuote by joerg 2770 o fix for PR/38756: dominik: make dumps core on invalid makefile 2771 27722008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 2773 2774 * Makefile.in (BMAKE_VERSION): bump version to 20080515 2775 * Merge with NetBSD make, pick up: 2776 o fix skip setting vars in VAR_GLOBAL context, to handle 2777 cases where VAR_CMD is used for other than command line vars. 2778 27792008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 2780 2781 * boot-strap (make_version): we may need to look in 2782 $prefix/share/mk for sys.mk 2783 2784 * Makefile.in (BMAKE_VERSION): bump version to 20080514 2785 * Merge with NetBSD make, pick up: 2786 o skip setting vars in VAR_GLOBAL context, when already set in 2787 VAR_CMD which takes precedence. 2788 27892008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 2790 2791 * Makefile.in (BMAKE_VERSION): bump version to 20080330 2792 * Merge with NetBSD make, pick up: 2793 o fix for ?= when LHS contains variable reference. 2794 27952008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2796 2797 * merge some patches from NetBSD pkgsrc. 2798 2799 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 2800 the MAKSYSPATH used during bootstrap. 2801 2802 * Makefile.in (BMAKE_VERSION): bump version to 20080215 2803 * Merge with NetBSD make, pick up: 2804 o warn if non-space chars follow 'empty' in a conditional. 2805 28062008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 2807 2808 * Makefile.in (BMAKE_VERSION): bump version to 20080118 2809 * Merge with NetBSD make, pick up: 2810 o consider dependencies read from .depend as optional - dsl 2811 o remember when buffer for reading makefile grows - dsl 2812 o add -dl (aka LOUD) - David O'Brien 2813 28142007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 2815 2816 * Makefile.in (BMAKE_VERSION): bump version to 20071022 2817 * Merge with NetBSD make, pick up: 2818 o Allow .PATH<suffix> to be used for .include "" 2819 2820 * boot-strap: source default settings from .bmake-boot-strap.rc 2821 28222007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 2823 2824 * Makefile.in: fix maninstall on various systems 2825 provided that our man.mk is used. 2826 For non-BSD systems we install the preformatted page 2827 into $MANDIR/cat1 2828 28292007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 2830 2831 * boot-strap: make bmake.1 too, so maninstall works. 2832 28332007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 2834 2835 * Makefile.in (BMAKE_VERSION): bump version to 20071014 2836 * Merge with NetBSD make, pick up: 2837 o revamped handling of defshell - configure no longer needs to 2838 know the content of the shells array - apb 2839 o stop Var_Subst modifying its input - apb 2840 o avoid calling ParseTrackInput too often - dsl 2841 28422007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 2843 2844 * Makefile.in (BMAKE_VERSION): bump version to 20071011 2845 * Merge with NetBSD make, pick up: 2846 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 2847 2848 * sigcompat.c: some tweaks for HP-UX 11.x based on 2849 patch from Tobias Nygren 2850 2851 * configure.in: update handling of --with-defshell to match 2852 new make behavior. --with-defshell=/usr/xpg4/bin/sh 2853 will now do what one might hope - provided the chosen shell 2854 behaves enough like sh. 2855 28562007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 2857 2858 * Makefile.in (BMAKE_VERSION): bump to 20071008 2859 * Merge with NetBSD make, pick up: 2860 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 2861 o .export/.MAKE.EXPORTED - export of variables - sjg 2862 o .MAKE.MAKEFILES - track all makefiles read - sjg 2863 o performance improvements - dsl 2864 o revamp parallel job scheduling - dsl 2865 28662006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2867 2868 * Makefile.in (BMAKE_VERSION): bump to 20060728 2869 * Merge with NetBSD make, pick up: 2870 o extra debug info during variable and cond processing - sjg 2871 o shell definition now covers newline - rillig 2872 o minor mem leak in PrintOnError - sjg 2873 28742006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 2875 2876 * Makefile.in (BMAKE_VERSION): bump to 20060511 2877 * Merge with NetBSD make, pick up: 2878 o more memory leaks - coverity 2879 o possible overflow in ArchFindMember - coverity 2880 o extract variable modifier code out of Var_Parse() 2881 so it can be called recursively - sjg 2882 o unit-tests/moderrs - sjg 2883 28842006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 2885 2886 * Makefile.in (BMAKE_VERSION): bump to 20060412 2887 * Merge with NetBSD make, pick up: 2888 o fixes for some memory leaks - coverity 2889 o only read first sys.mk etc when searching sysIncPath - sjg 2890 2891 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 2892 setting ${MAKEFILE} - OBATA Akio 2893 28942006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2895 2896 * Makefile.in (BMAKE_VERSION): bump to 20060318 2897 * Merge with NetBSD make, pick up: 2898 o cleanup of job.c to remove remote handling, distcc is more 2899 useful and this code was likely bit-rotting - dsl 2900 o fix for :P modifier - sjg 2901 * boot-strap: set default prefix to something reasonable 2902 (for me anyway). 2903 29042006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2905 2906 * Makefile.in (BMAKE_VERSION): bump to 20060301 2907 * Merge with NetBSD make, pick up: 2908 o make .WAIT apply recursively, document and test case - apb 2909 o allow variable modifiers in a variable appear anywhere in 2910 modifier list, document and test case - sjg 2911 29122006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 2913 2914 * Makefile.in (BMAKE_VERSION): bump to 20060222 2915 * Merge with NetBSD make, pick up: 2916 o improved job token handling - dsl 2917 o SIG_DFL the correct signal before exec - dsl 2918 o more debug info during parsing - dsl 2919 o allow variable modifiers to be specified via variable - sjg 2920 * boot-strap: explain why we died if no mksrc 2921 29222005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 2923 2924 * Makefile.in (BMAKE_VERSION): bump to 20051105 2925 * configure.in: always set default_sys_path 2926 default is ${prefix}/share/mk 2927 - remove prefix_sys_path, anyone wanting more than above 2928 needs to set it manually. 2929 29302005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2931 2932 * boot-strap: make this a bit easier for pkgsrc folk. 2933 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 2934 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 2935 29362005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 2937 2938 * Makefile.in (BMAKE_VERSION): bump to 20051102 2939 * job.c (JobFinish): fix likely ancient merge lossage 2940 fix from Todd Vierling. 2941 * boot-strap (srcdir): allow setting mksrc=none 2942 29432005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 2944 2945 * Makefile.in (BMAKE_VERSION): bump to 20051031 2946 * ranlib.h: skip on OSF too. 2947 (NetBSD PR 31864) 2948 29492005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 2950 2951 * Makefile.in (BMAKE_VERSION): bump to 20051002 2952 fix a silly typo 2953 29542005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2955 2956 * Makefile.in (BMAKE_VERSION): bump to 20051001 2957 support for UnixWare and some other systems, 2958 based on patches from pkgsrc/bootstrap 2959 29602005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 2961 2962 * Makefile.in (BMAKE_VERSION): bump to 20050901 2963 * Merge with NetBSD make, pick up: 2964 o possible parse error causing us to wander off. 2965 29662005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 2967 2968 * Makefile.in (BMAKE_VERSION): bump to 20050606 2969 * Merge with NetBSD make, pick up: 2970 o :0x modifier for randomizing a list 2971 o fixes for a number of -Wuninitialized issues. 2972 29732005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 2974 2975 * Makefile.in (BMAKE_VERSION): bump to 20050530 2976 * Merge with NetBSD make, pick up: 2977 o Handle dependencies for .BEGIN, .END and .INTERRUPT 2978 2979 * README: was seriously out of date. 2980 29812005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2982 2983 * Important to use .MAKE rather than MAKE. 2984 29852005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 2986 2987 * Makefile.in (BMAKE_VERSION): bump to 20050315 2988 * Merge with NetBSD make, pick up: 2989 o don't mistake .elsefoo for .else 2990 o use suffix-specific search path correctly 2991 o bunch of style nits 2992 29932004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 2994 2995 * boot-strap: 2996 o ensure that args to --src and --with-mksrc 2997 are resolved before giving them to configure. 2998 o add -o "objdir" so that builder can control it, 2999 default is $OS as determined by os.sh 3000 o add -q to suppress all the install instructions. 3001 30022004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 3003 3004 * Remove __IDSTRING() 3005 3006 * Makefile.in (BMAKE_VERSION): bump to 20040508 3007 * Merge with NetBSD make, pick up: 3008 o posix fixes 3009 - remove '-e' from compat mode 3010 - add support for '+' command-line prefix. 3011 o fix for handling '--' on command-line. 3012 o fix include in lst.lib/lstInt.h to simplify '-I's 3013 o we also picked up replacement of MAKE_BOOTSTRAP 3014 with !MAKE_NATIVE which is a noop, but possibly confusing. 3015 30162004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 3017 3018 * Makefile.in (BMAKE_VERSION): bump to 20040414 3019 * Merge with NetBSD make, pick up: 3020 o allow quoted strings on lhs of conditionals 3021 o issue warning when extra .else is seen 3022 o print line numer when errors encountered during parsing from 3023 string. 3024 30252004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 3026 3027 * Makefile.in (BMAKE_VERSION): bump to 20040220 3028 * Merge with NetBSD make, pick up: 3029 o fix for old :M parsing bug. 3030 o re-jigged unit-tests 3031 30322004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 3033 3034 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 3035 so that './bmake -f Makefile test' works. 3036 30372004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 3038 3039 * Makefile.in: (BMAKE_VERSION): bump to 20040214 3040 * Merge with NetBSD make, pick up: 3041 o search upwards for *.mk 3042 o fix for double free of var substitution buffers 3043 o use of getopt replaced with custom code, since the usage 3044 (re-scanning) isn't posix compatible. 3045 30462004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 3047 3048 * arch.c: don't include ranlib.h on ELF systems 3049 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 3050 30512004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 3052 3053 * Makefile.in (BMAKE_VERSION): bump to 20040118 3054 3055 * boot-strap (while): export vars we assign to on cmdline 3056 * unit-test/Makefile.in: ternary is .PHONY 3057 30582004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 3059 3060 * Makefile.in (BMAKE_VERSION): bump version to 20040108 3061 * Merge with NetBSD make, pick up: 3062 o fix for ternary modifier 3063 30642004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 3065 3066 * Makefile.in (BMAKE_VERSION): bump version to 20040105 3067 * Merge with NetBSD make, pick up: 3068 o fix for cond.c to handle compound expressions better 3069 o variable expansion within sysV style replacements 3070 30712003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 3072 3073 * Make portable snprintf safer - output to /dev/null first to 3074 check space needed. 3075 3076 * Makefile.in (BMAKE_VERSION): bump version to 20031222 3077 * Merge with NetBSD make, pick up: 3078 o -dg3 to show input graph when things go wrong. 3079 o explicitly look for makefiles in objdir if not found in curdir so 3080 that errors in .depend etc will be reported accurarely. 3081 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 3082 instead as it more accurately reflects the expected behavior and 3083 is more consistently implemented. 3084 o avoid use of asprintf. 3085 30862003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 3087 3088 * util.c: Add asprintf and vasprintf. 3089 3090 * Makefile.in (BMAKE_VERSION): bump version to 20030928 3091 * Merge with NetBSD make, pick up: 3092 :[] modifier - allows picking words from a variable. 3093 :tW modifier - allows treating value as one big word. 3094 W flag for :C and :S - allows treating value as one big word. 3095 30962003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 3097 3098 * Merge with NetBSD make 3099 pick up -de flag to enable printing failed command. 3100 don't skip 1st two dir entries (normally . and ..) since 3101 coda does not have them. 3102 31032003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 3104 3105 * Makefile.in (BMAKE_VERSION): bump version to 20030909 3106 * Merge with NetBSD make, pick up: 3107 - changes for -V '${VAR}' to print fully expanded value 3108 cf. -V VAR 3109 - CompatRunCommand now prints the command that failed. 3110 - several files got updated 3 clause Berkeley license. 3111 31122003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 3113 3114 * boot-strap: Allow setting configure args on command line. 3115 31162003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 3117 3118 * configure.in: add --with-defshell to allow sh or ksh 3119 to be selected as default shell. 3120 3121 * Makefile.in: bump version to 20030731 3122 3123 * Merge with NetBSD make 3124 Pick up .SHELL spec for ksh and associate man page changes. 3125 Also compat mode now uses the same shell specs. 3126 31272003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 3128 3129 * var.c (Var_Parse): ensure delim is initialized. 3130 3131 * unit-tests/Makefile.in: use single quotes to avoid problems from 3132 some shells. 3133 3134 * makefile.boot.in: 3135 Run the unit-tests as part of the bootstrap procedure. 3136 31372003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 3138 3139 * unit-tests/Makefile.in: always force complaints from 3140 ${TEST_MAKE} to be from 'make'. 3141 3142 * configure.in: add check for 'diff -u' 3143 also fix some old autoconf'isms 3144 3145 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 3146 if using GCC add -Wno-cast-qual to CFLAGS for var.o 3147 3148 * Merge with NetBSD make 3149 Pick up fix for :ts parsing error in some cases. 3150 Pick unit-tests. 3151 31522003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 3153 3154 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 3155 3156 * var.c (Var_Parse): fix bug in :ts modifier, after const 3157 correctness fixes, must pass nstr to VarModify. 3158 31592003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 3160 3161 * Makefile.in: BMAKE_VERSION switch to a date based version. 3162 We'll generally use the date of last import from NetBSD. 3163 3164 * Merge with NetBSD make 3165 Pick up fixes for const-correctness, now passes WARNS=3 on 3166 NetBSD. 3167 Pick up :ts modifier, allows controlling the separator used 3168 between words in variable expansion. 3169 31702003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 3171 3172 * FILES: include boot-strap and os.sh 3173 3174 * Makefile.in: only set WARNS if we are NetBSD, the effect on 3175 FreeBSD is known to be bad. 3176 3177 * makefile.boot.in (bootstrap): make this the default target. 3178 3179 * Makefile.in: bump version to 3.1.19 3180 3181 * machine.sh: avoid A-Z with tr as it is bound to lose. 3182 31832003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 3184 3185 * Merge with NetBSD make 3186 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 3187 Plus some doc fixes. 3188 31892003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 3190 3191 * Merge with NetBSD make 3192 Pick up fix for PR/1523 - don't count a library as built, if there 3193 is no way to build it 3194 3195 * Bump version to 3.1.18 3196 31972003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 3198 3199 * Merge with NetBSD make 3200 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 3201 appears in src list. 3202 32032003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 3204 3205 * Merge with NetBSD make (mmm 10th anniversary!) 3206 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 3207 pick up -X which tells us to not export VAR=val via setenv if 3208 we are already doing so via MAKEFLAGS. This saves valuable env 3209 space on systems like Darwin. 3210 set MAKE_VERSION to 3.1.17 3211 3212 * parse.c: pix up fix for suffix rules 3213 32142003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 3215 3216 * Merge with NetBSD make. 3217 pick up fix for propagating -B via MAKEFLAGS. 3218 set MAKE_VERSION to 3.1.16 3219 3220 * Apply some patches from pkgsrc-bootstrap/bmake 3221 Originally by Grant Beattie <grant@netbsd.org> 3222 I may have missed some - since they are based on bmake-3.1.12 3223 32242002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 3225 3226 * makefile.boot.in (bmake): update install targets for those that 3227 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 3228 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 3229 3230 * bmake.cat1: update the pre-formatted man page! 3231 32322002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 3233 3234 * Merge with NetBSD make. 3235 pick up fix for premature free of pointer used in call 3236 to Dir_InitCur(). 3237 set MAKE_VERSION to 3.1.15 3238 32392002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 3240 3241 * configure.in: determine suitable value for MKSRC. 3242 override using --with-mksrc=PATH. 3243 3244 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 3245 configs(8) will use 'sun4' as an alias for 'sparc'. 3246 32472002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 3248 3249 * Merge with NetBSD make. 3250 pick up ${.PATH} 3251 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 3252 set MAKE_VERSION to 3.1.14 3253 add configure checks for killpg and sys/socket.h 3254 32552002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 3256 3257 * tag bmake-3-1-13 3258 3259 * makefile.boot.in (bmake): use install-mk 3260 Also setup ./mk before trying to invoke bmake.boot incase we 3261 needed install-mk to create a sys.mk for us. 3262 3263 * configure.in: If we need to add -I${srcdir}/missing, make it an 3264 absolute path so that it works for lst.lib too. 3265 3266 * make.h: always include sys/cdefs.h since we provide one if the 3267 host does not. 3268 3269 * Makefile.in (install-mk): 3270 use MKSRC/install-mk which will do the right thing. 3271 use uname -p for ARCH if possible. 3272 since install-mk will setup links bsd.prog.mk -> prog.mk if 3273 needed, just .include bsd.prog.mk 3274 3275 * Merge with NetBSD make (NetBSD-1.6) 3276 Code is ansi-C only now. 3277 Bug in handling of dotLast is fixed. 3278 Can now assign .OBJDIR and make will reset its notions of life. 3279 New modifiers :tu :tl for toUpper and toLower. 3280 3281Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 3282 3283 * Merge with NetBSD make 3284 pick up fix for .END failure in compat mode. 3285 pick up fix for extra va_end() in ParseVErrorInternal. 3286 3287Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 3288 3289 * configure.in: for systems that have sys/cdefs.h check if it is 3290 compatible. If not, include the one under missing, but tell it to 3291 include the native one too - necessary on Linux. 3292 3293 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 3294 include_next (for gcc) to get the native sys/cdefs.h 3295 3296Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3297 3298 * job.c (JobFinish): Fix an earlier merge bug that resulted in 3299 leaking descriptors when using -jN. 3300 3301 * job.c (JobPrintCommand): See if "curdir" exists before 3302 attempting to chdir(). Doing the chdir directly in make (when in 3303 compat mode) fails silently, so let the -jN version do the same. 3304 This can happen when building kernels in an object tree and 3305 playing clever games to reset .CURDIR. 3306 3307 * Merged with NetBSD make 3308 pick up .USEBEFORE 3309 3310Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3311 3312 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 3313 3314Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3315 3316 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 3317 us not to export the iterator variable when using VAR_CMD context. 3318 3319Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3320 3321 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 3322 its the wrong "fix". 3323 3324Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3325 3326 * Redesigned export of VAR_CMD's via MAKEFLAGS. 3327 We now simply append the variable names to .MAKEOVERRIDES, and 3328 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 3329 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 3330 Apart from fixing quoting bugs in previous version, this allows us 3331 to export vars to the environment by simply doing: 3332 .MAKEOVERRIDES+= PATH 3333 Merged again with NetBSD make, but the above is the only change. 3334 3335 * configure.in: added 3336 --disable-pwd-override disable $PWD overriding getcwd() 3337 --disable-check-make-chdir disable make trying to guess 3338 when it should automatically cd ${.CURDIR} 3339 3340 * Merge with NetBSD make, changes include: 3341 parse.c (ParseDoDependency): Spot that the syntax error is 3342 caused by an unresolved cvs/rcs conflict and say so. 3343 var.c: most of Var* functions now take a ctxt as 1st arg. 3344 now does variable substituion on rhs of sysv style modifiers. 3345 3346 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 3347 is now done here. We append the name='value' to .MAKEOVERRIDES 3348 rather than directly into MAKEFLAGS as this allows a Makefile to 3349 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 3350 very similar mechanism. Note that in adding name='value' to 3351 .MAKEOVERRIDES we do the moral equivalent of: 3352 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 3353 3354Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3355 3356 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 3357 3358 * Merged with NetBSD make 3359 make -dx can now be used to run commands via sh -x 3360 better error messages on exec failures. 3361 3362Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3363 3364 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 3365 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 3366 MACHINE etc otherwise they propagate from the previous bmake. 3367 3368 * configure.in (machine): allow --with-machine=generic to make 3369 configure use machine.sh to set MACHINE. 3370 3371 * job.c (JobInterrupt): convert to using WAIT_T and friends. 3372 3373 * Makefile.in: mention in bmake.1 that we use autoconf. 3374 3375 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 3376 3377Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3378 3379 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 3380 as that rather defeats the usefulness of ${MAKEFILE}. 3381 3382 * main.c (MainParseArgs): append command line variable assignments 3383 to MAKEFLAGS so that they get propagated to child make's. 3384 Apparently this is required POSIX behaviour? Its useful anyway. 3385 3386Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3387 3388 * compat.c (CompatRunCommand): don't use perror() since stdio may 3389 cause problems in child of vfork(). 3390 3391 * compat.c, main.c: Call PrintOnError() when we are going to bail. 3392 This routine prints out the .curdir where we stopped and will also 3393 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 3394 3395 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 3396 :@ expansion. 3397 3398 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 3399 3400 * Added RCSid's for the files we've touched. 3401 3402Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3403 3404 * configure.in: Thanks to some clues from mdb@juniper.net, 3405 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 3406 as well as what ends up in _PATH_DEFSYSPATH. We now have: 3407 3408 --with-machine=MACHINE explicitly set MACHINE 3409 --with-force-machine=MACHINE set FORCE_MACHINE 3410 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 3411 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 3412 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 3413 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 3414 3415 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 3416 3417 * makefile: added a pathetically simple makefile to drive 3418 bootstrapping. Running configure by hand is more useful. 3419 3420 * Makefile.in: added MAKE_VERSION, and reworked things to be less 3421 dependent on NetBSD bsd.*.mk 3422 3423 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 3424 _PATH_OBJDIRPREFIX for those that don't want a default. 3425 construct _PATH_DEFSYSPATH from the info we get from configure. 3426 3427 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 3428 if MAKE_VERSION is defined. 3429 3430 * compat.c: when we bail, print out the .CURDIR we were in. 3431 3432Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3433 3434 * Merged with NetBSD make 3435 3436 * var.c: fixed a bug in the handling of the modifier :P 3437 if the node as found but the path was null, we segfault trying to 3438 duplicate it. 3439 3440Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 3441 3442 * Merged with NetBSD make 3443 3444 * make.c: Make_OODate's test for a library out of date was using 3445 cmtime where it should have used mtime (my bug). 3446 3447 * compat.c: Use perror() to tell us what really went wrong when we 3448 cannot exec a command. 3449 3450Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3451 3452 * Merged with NetBSD make 3453 3454Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3455 3456 * Merged with NetBSD make 3457 3458Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3459 3460 * Merged with NetBSD make 3461 3462Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3463 3464 * Merged with NetBSD make 3465 3466Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3467 3468 * util.c: don't provide signal() since we use sigcompat.c 3469 3470 * Makefile.in: added a build target. 3471 3472 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 3473 These allow some quite clever magic. 3474 3475 * main.c (main): added support for getenv(MAKESYSPATH). 3476 3477Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3478 3479 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 3480 This avoids objdir having a different value depending on how a 3481 directory was reached (via command line, or subdir.mk). 3482 3483 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 3484 3485Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3486 3487 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 3488 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 3489 I've been testing this in NetBSD's make for some weeks. 3490 3491 * Turn Makefile into Makefile.in and make it useful. 3492 3493Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 3494 3495 * Imported NetBSD's -current make(1) and resolve conflicts. 3496 3497 * Applied autoconf patches from bmake v2 3498 3499 * Imported clean code base from NetBSD-1.0 3500