12025-11-15 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * boot-strap: unset more things from env and save a copy 4 to env.out for debugging. 5 62025-11-12 Simon J Gerraty <sjg@beast.crufty.net> 7 8 * VERSION (_MAKE_VERSION): 20251111 9 Merge with NetBSD make, pick up 10 o var.c: add :sh1 which only evaluates command on first reference. 11 122025-11-11 Simon J Gerraty <sjg@beast.crufty.net> 13 14 * configure.in: Force filemon=no for Cygwin and MINGW64_NT 15 162025-11-10 Simon J Gerraty <sjg@beast.crufty.net> 17 18 * unit-tests/Makefile: handle MINGW64_NT 19 mark some tests broken, filter others as per Cygwin. 20 212025-10-23 Simon J Gerraty <sjg@beast.crufty.net> 22 23 * make.1: document MAKE_VERSION. 24 252025-10-22 Simon J Gerraty <sjg@beast.crufty.net> 26 27 * VERSION (_MAKE_VERSION): 20251022 28 29 * configure.in: Add a check that lua is version 5.2 or later 30 if not we want to skip running check-expect.lua 31 322025-09-16 Simon J Gerraty <sjg@beast.crufty.net> 33 34 * VERSION (_MAKE_VERSION): 20250916 35 Merge with NetBSD make, pick up 36 o var.c: avoid compiler warning from hexdigits 37 382025-08-04 Simon J Gerraty <sjg@beast.crufty.net> 39 40 * VERSION (_MAKE_VERSION): 20250804 41 Merge with NetBSD make, pick up 42 o meta.c: allow printing only partial string to meta file 43 in jobs mode, otherwise we end up with duplicated output when 44 buffer does not end in newline. 45 Add a suitable unit test. 46 472025-07-07 Simon J Gerraty <sjg@beast.crufty.net> 48 49 * VERSION (_MAKE_VERSION): 20250707 50 Merge with NetBSD make, pick up 51 o cond.c: improve debug log message for 'exists' function. 52 complain about unfinished escape sequences or string literals. 53 542025-07-04 Simon J Gerraty <sjg@beast.crufty.net> 55 56 * VERSION (_MAKE_VERSION): 20250704 57 Merge with NetBSD make, pick up 58 o make.1: add a DIAGNOSTICS section for make to reference. 59 o main.c: simplify the warning for invalid -J by refering to 60 manual page. 61 622025-06-30 Simon J Gerraty <sjg@beast.crufty.net> 63 64 * VERSION (_MAKE_VERSION): 20250630 65 Merge with NetBSD make, pick up 66 o consistently use double quotes in error messages 67 o cond.c: if a condition is erroneous, skip the whole .if/.endif 68 o make_malloc.c: in cleanup mode, initialize freshly allocated memory 69 o str.c: error out on an ":M" modifier whose pattern ends with 70 backslash 71 o var.c: fix parsing of modifier parts for :gmtime and :localtime 72 add POSIX $^ support 73 742025-06-18 Simon J Gerraty <sjg@beast.crufty.net> 75 76 * VERSION (_MAKE_VERSION): 20250618 77 Merge with NetBSD make, pick up 78 o parse.c: in a warning without location information, 79 print the stack trace 80 812025-06-15 Simon J Gerraty <sjg@beast.crufty.net> 82 83 * VERSION (_MAKE_VERSION): 20250615 84 Merge with NetBSD make, pick up 85 o add on-demand inter-process stack traces 86 o job.c,meta.c: do not discard empty lines in the output of a command 87 o job.c: add job prefix if necessary in non-default filtered mode 88 o parse.c,var.c: skip inter-process stack trace when 89 MAKE_STACK_TRACE=no 90 912025-06-12 Simon J Gerraty <sjg@beast.crufty.net> 92 93 * VERSION (_MAKE_VERSION): 20250612 94 Merge with NetBSD make, pick up 95 o use a common style for unexpected error messages 96 o parse.c: add program name to stack traces from sub-makes 97 add quotes to "in directory" line in stack traces 98 o var.c: check variable names for invalid characters when there 99 are no modifiers to apply. This detects and warns about gmake 100 syntax like: $(addprefix -I, $(LIST)) 101 1022025-06-09 Simon J Gerraty <sjg@beast.crufty.net> 103 104 * VERSION (_MAKE_VERSION): 20250606 105 Merge with NetBSD make, pick up 106 o main.c: fix bug in handling of output of children in jobs mode 107 1082025-05-28 Simon J Gerraty <sjg@beast.crufty.net> 109 110 * VERSION (_MAKE_VERSION): 20250528 111 Merge with NetBSD make, pick up 112 o show contents of MAKEFLAGS in the stack trace. 113 o main.c: delay warning about bogus -J flag, if we end up in 114 compat mode before the call to InitMaxJobs, the warning isn't 115 necessary. 116 1172025-05-25 Simon J Gerraty <sjg@beast.crufty.net> 118 119 * VERSION (_MAKE_VERSION): 20250525 120 Merge with NetBSD make, pick up 121 o main.c: set .CURDIR earlier so it can be reported in some errors. 122 1232025-05-20 Simon J Gerraty <sjg@beast.crufty.net> 124 125 * VERSION (_MAKE_VERSION): 20250520 126 Merge with NetBSD make, pick up 127 o rename variables, remove now-redundant comments 128 o job.c: clean up building the shell commands in parallel mode 129 remove timeout for polling in parallel mode 130 o main.c: clean up error message for malformed internal -J option 131 1322025-05-11 Simon J Gerraty <sjg@beast.crufty.net> 133 134 * VERSION (_MAKE_VERSION): 20250511 135 Merge with NetBSD make, pick up 136 o job.c: rename token pool variables to be more descriptive 137 move ContinueJobs further up, to eliminate a forward declaration 138 error out if writing to an internal pipe fails 139 clean up constant names and function names 140 use uniform debug log messages for the token pool 141 in the debug log, replace magic numbers with identifiers 142 o main.c: clean up error message for malformed internal -J option 143 o make.c: replace bitset in trace output with descriptive node 144 attributes 145 o targ.c: add end marker for -dg1, -dg2 and -dg3 debug log 146 o var.c: fix order of error messages in the ":?" modifier 147 1482025-04-25 Simon J Gerraty <sjg@beast.crufty.net> 149 150 * VERSION (_MAKE_VERSION): 20250424 151 Merge with NetBSD make, pick up 152 o cleanup; replace unsigned int with just unsigned 153 Inline the TMPPAT macro, as it is only needed in a single place 154 o move struct Job from job.h to job.c 155 o job.c: group the code for handling the job token pool 156 avoid excessive values of -j 157 o make.c: fix grammar in debug log message 158 1592025-04-14 Simon J Gerraty <sjg@beast.crufty.net> 160 161 * VERSION (_MAKE_VERSION): 20250414 162 Merge with NetBSD make, pick up 163 o job.c: clean up job and output handling 164 o parse.c: after entering POSIX mode, don't leave it again 165 1662025-04-11 Simon J Gerraty <sjg@beast.crufty.net> 167 168 * VERSION (_MAKE_VERSION): 20250411 169 Merge with NetBSD make, pick up 170 o convert more messages to file:line: format 171 o for.c: condense code for parsing variable names in .for loops 172 1732025-04-10 Simon J Gerraty <sjg@beast.crufty.net> 174 175 * VERSION (_MAKE_VERSION): 20250410 176 Merge with NetBSD make, pick up 177 o cond.c: remove redundant error counter when parsing a condition 178 1792025-04-04 Simon J Gerraty <sjg@beast.crufty.net> 180 181 * VERSION (_MAKE_VERSION): 20250404 182 Merge with NetBSD make, pick up 183 o make.1: better document meta mode. 184 o var.c: fix error message for undefined variable in conditional. 185 1862025-03-30 Simon J Gerraty <sjg@beast.crufty.net> 187 188 * VERSION (_MAKE_VERSION): 20250330 189 Merge with NetBSD make, pick up 190 o in POSIX compatability mode, give preference to sysV style modifiers. 191 o in stack trace with details and includes, list the current file 192 o parse.c: report file location in more common file:line: format. 193 o var.c: simplify error handling for unknown modifiers 194 let the ":O" and ":t" modifiers fall back to the ":from=to" modifier 195 stop parsing after seeing an unknown modifier in an expression 196 fix error message for unclosed expression and invalid :[...] 197 add details to errors about ::= modifier 198 add details about indirect modifiers to the stack traces 199 in stack traces from target commands, add the command level 200 2012025-03-23 Simon J Gerraty <sjg@beast.crufty.net> 202 203 * VERSION (_MAKE_VERSION): 20250323 204 Merge with NetBSD make, pick up 205 o var.c: just ignore attempts to override a read-only global with 206 the same value. 207 2082025-03-08 Simon J Gerraty <sjg@beast.crufty.net> 209 210 * bsd.after-import.mk: by default generate makefiles 211 closer to BSD style. 212 213 * VERSION (_MAKE_VERSION): 20250308 214 Merge with NetBSD make, pick up 215 o clean up comments and code for parallel mode 216 o job.c: avoid SIGPIPE for children, call Job_Wait befor abort. 217 2182025-02-27 Simon J Gerraty <sjg@beast.crufty.net> 219 220 * VERSION (_MAKE_VERSION): 20250225 221 Merge with NetBSD make, pick up 222 o job.c: reliably remove targets on interrupt, 223 by passing signal to children first. 224 2252025-01-25 Simon J Gerraty <sjg@beast.crufty.net> 226 227 * VERSION (_MAKE_VERSION): 20250125 228 Merge with NetBSD make, sync up below change. 229 230 * unit-tests/Makefile: remove $TMPDIR via .END 231 to avoid failure in test on NFS - since the temp file for the 232 target script is open and thus gets renamed by the server rather 233 than removed. 234 2352025-01-20 Simon J Gerraty <sjg@beast.crufty.net> 236 237 * VERSION (_MAKE_VERSION): 20250120 238 Merge with NetBSD make, pick up 239 o use FORK_FUNCTION so it can be forced to fork when doing coverage. 240 o main.c: avoid memory allocation in error path after exec failure. 241 2422025-01-16 Simon J Gerraty <sjg@beast.crufty.net> 243 244 * VERSION (_MAKE_VERSION): 20250116 245 Merge with NetBSD make, pick up 246 o clarify that undefined expressions are allowed in dependencies 247 o simplify code for evaluating the '!=' variable assignment 248 2492025-01-11 Simon J Gerraty <sjg@beast.crufty.net> 250 251 * VERSION (_MAKE_VERSION): 20250111 252 Merge with NetBSD make, pick up 253 o replace "Malformed conditional" with "Variable is undefined" 254 when appropriate 255 2562025-01-10 Simon J Gerraty <sjg@beast.crufty.net> 257 258 * VERSION (_MAKE_VERSION): 20250110 259 Merge with NetBSD make, pick up 260 o job.c: remove some unnecessary layers in job handling 261 o unit-tests: test expressions based on undefined variables 262 2632025-01-01 Simon J Gerraty <sjg@beast.crufty.net> 264 265 * VERSION (_MAKE_VERSION): 20250101 266 Merge with NetBSD make, pick up 267 o var.c: reduce pointer indirections when unexporting a variable 268 2692024-12-12 Simon J Gerraty <sjg@beast.crufty.net> 270 271 * VERSION (_MAKE_VERSION): 20241212 272 * mk/ updates 273 2742024-11-24 Simon J Gerraty <sjg@beast.crufty.net> 275 276 * VERSION (_MAKE_VERSION): 20241124 277 Merge with NetBSD make, pick up 278 o var.c: fix confusing error message when overriding a read-only 279 variable 280 2812024-11-22 Simon J Gerraty <sjg@beast.crufty.net> 282 283 * VERSION (_MAKE_VERSION): 20241122 284 Merge with NetBSD make, pick up 285 o unit-tests/Makefile: optimize running of tests skip extra cat 286 in 99% of cases. 287 2882024-11-15 Simon J Gerraty <sjg@beast.crufty.net> 289 290 * VERSION (_MAKE_VERSION): 20241114 291 Merge with NetBSD make, pick up 292 o make.1: note that MAKEOBJPREFIX should be absolute path 293 also that it can be set via makefile if suitable care taken. 294 2952024-11-10 Simon J Gerraty <sjg@beast.crufty.net> 296 297 * VERSION (_MAKE_VERSION): 20241110 298 Merge with NetBSD make, pick up 299 o make: allow .../ (search here and above) in 300 .MAKE.MAKEFILE_PREFERENCE and -f argument. 301 3022024-11-03 Simon J Gerraty <sjg@beast.crufty.net> 303 304 * VERSION (_MAKE_VERSION): 20241101 305 Merge with NetBSD make, pick up 306 o parse.c: report filename:linenumber in parse debug output 307 3082024-09-21 Simon J Gerraty <sjg@beast.crufty.net> 309 310 * VERSION (_MAKE_VERSION): 20240921 311 Merge with NetBSD make, pick up 312 o make.1: Only list the defaults for MAKEFILE_PREFERENCE once. 313 314 * Makefile: use genfiles.mk to generate ${MAN} 315 so that it can be tuned for local site. 316 Ensure MAN is defined before including Makefile.inc 317 318 * Makefile: use MK_GEN_MAN to make it easier to control whether we 319 generate ${MAN} 320 3212024-09-16 Simon J Gerraty <sjg@beast.crufty.net> 322 323 * VERSION (_MAKE_VERSION): 20240909 324 325 * arch.c: fix NetBSD PR 58597 326 3272024-09-01 Simon J Gerraty <sjg@beast.crufty.net> 328 329 * Makefile: use SUBDIR.${MK_TESTS} so that we skip 330 unit-tests for obj and clean when FreeBSD is building WITHOUT_TESTS 331 332 * VERSION (_MAKE_VERSION): 20240901 333 Merge with NetBSD make, pick up 334 o reduce line length in error messages 335 o var.c: simplify printing of an evaluation stack element 336 3372024-08-29 Simon J Gerraty <sjg@beast.crufty.net> 338 339 * VERSION (_MAKE_VERSION): 20240828 340 Merge with NetBSD make, pick up 341 o add more context to error message about recursive variables 342 o treat recursive variables non-fatally - continue parsing to end 343 of makefile 344 3452024-08-12 Simon J Gerraty <sjg@beast.crufty.net> 346 347 * VERSION (_MAKE_VERSION): 20240808 348 Merge with NetBSD make, pick up 349 o improve some error messages for better clarify and readability 350 3512024-07-22 Simon J Gerraty <sjg@beast.crufty.net> 352 353 * VERSION (_MAKE_VERSION): 20240722 354 Merge with NetBSD make, pick up 355 o job.c: remove dead code 356 3572024-07-21 Simon J Gerraty <sjg@beast.crufty.net> 358 359 * VERSION (_MAKE_VERSION): 20240720 360 Merge with NetBSD make, pick up 361 o compat.c: do not run commands that have parse or evaluation errors. 362 o var.c: remove wrong error message about an undefined variable 363 3642024-07-13 Simon J Gerraty <sjg@beast.crufty.net> 365 366 * cleanup redundant differences from NetBSD make 367 o parse.c: no longer uses mmap 368 o var.c: check __STDC_VERSION__ not __STDC__ 369 3702024-07-12 Simon J Gerraty <sjg@beast.crufty.net> 371 372 * Apply some patches from NetBSD pkgsrc to reduce divergence 373 o meta.c: requires sys/select.h if available 374 o var.c: ensure SIZE_MAX has a value 375 o util.c: ensure SA_RESTART is defined 376 377 * configure.in: use *ksh* rather than just *ksh to match 378 ksh shell specification. 379 380 * unit-tests/Makefile: expand BROKEN_TESTS for ksh and 381 mksh in particular 382 3832024-07-11 Simon J Gerraty <sjg@beast.crufty.net> 384 385 * VERSION (_MAKE_VERSION): 20240711 386 Merge with NetBSD make, pick up 387 o compat.c: allow Compat_RunCommand to also handle very long 388 commands by writing to a temp file when needed. 389 o main.c: extract the temp file logic recently added to Cmd_Exec 390 to Cmd_Argv so it can be leveraged by Compat_RunCommand. 391 3922024-07-09 Simon J Gerraty <sjg@beast.crufty.net> 393 394 * VERSION (_MAKE_VERSION): 20240709 395 Merge with NetBSD make, pick up 396 o error out on parse/evaluation errors in shell commands 397 o var.c: error out on syntax errors in ':M' and ':N' modifiers 398 3992024-07-07 Simon J Gerraty <sjg@beast.crufty.net> 400 401 * VERSION (_MAKE_VERSION): 20240707 402 Merge with NetBSD make, pick up 403 o only generate code for cleanup functions in CLEANUP mode 404 o hash.c: don't track hash table chain lengths during lookup 405 unless debugging 406 o main.c: move initialization of variable scopes to targ.c 407 o var.c: remove Var_End as it is now unnecessary 408 4092024-07-06 Simon J Gerraty <sjg@beast.crufty.net> 410 411 * VERSION (_MAKE_VERSION): 20240706 412 Merge with NetBSD make, pick up 413 o reduce lint comments about ARGSUSED 414 o cond.c: error out on conditions containing the operators '&' and '|' 415 o str.c: error out on a matching malformed matching pattern '[[' 416 o var.c: in error messages, distinguish parsing from evaluating 417 in error messages for anonymous variables, log the value 418 error out on unclosed expressions during parse time 419 4202024-07-04 Simon J Gerraty <sjg@beast.crufty.net> 421 422 * VERSION (_MAKE_VERSION): 20240704 423 Merge with NetBSD make, pick up 424 o add more context information to error messages 425 o main.c: on error, print the targets to be made 426 add detailed exit status to message for failed sub-commands 427 o var.c: error out on the "Bad modifier" error message 428 4292024-07-01 Simon J Gerraty <sjg@beast.crufty.net> 430 431 * VERSION (_MAKE_VERSION): 20240701 432 Merge with NetBSD make, pick up 433 o var.c: add :tt for Title case 434 4352024-06-30 Simon J Gerraty <sjg@beast.crufty.net> 436 437 * configure.in: 20240630 further refine check for whether 438 TZ=Europe/Berlin works 439 440 * VERSION (_MAKE_VERSION): 20240630 441 Merge with NetBSD make, pick up 442 o job.c: reduce use of UNCONST 443 o main.c: add detailed exit status to message for failed sub-commands 444 o var.c: error out on some more syntax errors 445 add more context to "returned non-zero status" message 446 4472024-06-25 Simon J Gerraty <sjg@beast.crufty.net> 448 449 * VERSION (_MAKE_VERSION): 20240625 450 Merge with NetBSD make, pick up 451 o job.c: ensure shellPath is always duped, avoid upsetting free() 452 4532024-06-16 Simon J Gerraty <sjg@beast.crufty.net> 454 455 * VERSION (_MAKE_VERSION): 20240616 456 Merge with NetBSD make, pick up 457 o clean up collection of context information for error messages 458 o in warnings, move the word "warning" to the front 459 o var.c: throw an error on attempt to override an internal 460 read-only variable 461 4622024-06-10 Simon J Gerraty <sjg@beast.crufty.net> 463 464 * VERSION (_MAKE_VERSION): 20240610 465 Merge with NetBSD make, pick up 466 o for.c: remove redundant shortcut for building the .for loop body 467 4682024-06-02 Simon J Gerraty <sjg@beast.crufty.net> 469 470 * VERSION (_MAKE_VERSION): 20240602 471 Merge with NetBSD make, pick up 472 o rename some VarEvalMode constants to better match debug names. 473 o var.c: avoid out-of-bounds read when parsing indirect modifiers. 474 4752024-06-01 Simon J Gerraty <sjg@beast.crufty.net> 476 477 * VERSION (_MAKE_VERSION): 20240601 478 Merge with NetBSD make, pick up 479 o add .export-all rather than allow .export with no argument 480 which can happen accidentally. 481 o if lua is available, run check-expect.lua after unit-tests 482 o main.c: use snprintf rather than strncpy 483 fix memory leak when purging realpath cache. 484 4852024-05-28 Simon J Gerraty <sjg@beast.crufty.net> 486 487 * VERSION (_MAKE_VERSION): 20240528 488 Merge with NetBSD make, pick up 489 o fix a number of memory leaks 490 o replace magic numbers with POSIX FILENO constants 491 o hash.c: remove dead code from HashTable_DeleteEntry 492 o main.c: when complaining about unusable .OBJDIR 493 call PrintOnError if MAKE_DEBUG_OBJDIR_CHECK_WRITABLE is true. 494 o parse.c: use fewer technical terms in debug message for dependency 495 4962024-05-20 Simon J Gerraty <sjg@beast.crufty.net> 497 498 * VERSION (_MAKE_VERSION): 499 Merge with NetBSD make, pick up 500 o dir.c: in FindFile restore last search of .CURDIR even for 501 includes, as a number of existing makefiles are broken otherwise. 502 5032024-05-19 Simon J Gerraty <sjg@beast.crufty.net> 504 505 * VERSION (_MAKE_VERSION): 20240519 506 Merge with NetBSD make, pick up 507 o dir.c: Add Dir_FindInclude, FindFile without looking in .CURDIR. 508 Also fix Dir_SetSYSPATH to use defSysIncPath if sysIncPath is empty. 509 o main.c: no need to set .DOTLAST in sysIncPath 510 5112024-05-07 Simon J Gerraty <sjg@beast.crufty.net> 512 513 * VERSION (_MAKE_VERSION): 20240508 514 Merge with NetBSD make, pick up 515 o make: ensure variables set on command line get added to 516 .MAKEOVERRIDES (even if they start with '.') so they are passed to 517 sub-makes. 518 5192024-04-30 Simon J Gerraty <sjg@beast.crufty.net> 520 521 * VERSION (_MAKE_VERSION): 20240430 522 Merge with NetBSD make, pick up 523 o main.c: ensure '.include <makefile>' respects MAKESYSPATH. 524 Dir_FindFile will search .CURDIR first unless ".DOTLAST" is seen. 525 5262024-04-28 Simon J Gerraty <sjg@beast.crufty.net> 527 528 * VERSION (_MAKE_VERSION): 20240428 529 Merge with NetBSD make, pick up 530 o simplify freeing of lists 531 o arch.c: trim pointless comments 532 o var.c: delay variable assignments until actually needed 533 don't reallocate memory after evaluating an expression, result is 534 almost always short-lived. 535 5362024-04-26 Simon J Gerraty <sjg@beast.crufty.net> 537 538 * VERSION (_MAKE_VERSION): 20240426 539 Merge with NetBSD make, pick up 540 o job.c: in debug output, print the directory in which a job 541 failed at same time as failed target so it is more easily found in 542 build log. 543 5442024-04-24 Simon J Gerraty <sjg@beast.crufty.net> 545 546 * VERSION (_MAKE_VERSION): 20240424 547 Merge with NetBSD make, pick up 548 o clean up comments, code and tests 549 5502024-04-23 Simon J Gerraty <sjg@beast.crufty.net> 551 552 * VERSION (_MAKE_VERSION): 20240422 553 Merge with NetBSD make, pick up 554 o var.c: avoid LazyBuf for :*time modifiers. 555 LazyBuf's are not nul terminated so not suitable for passing to 556 functions that expect that. These modifiers are used sparingly so 557 an extra allocation is not a problem. 558 5592024-04-20 Simon J Gerraty <sjg@beast.crufty.net> 560 561 * VERSION (_MAKE_VERSION): 20240420 562 Merge with NetBSD make, pick up 563 o provide more context information for parse/evaluate errors 564 5652024-04-14 Simon J Gerraty <sjg@beast.crufty.net> 566 567 * VERSION (_MAKE_VERSION): 20240414 568 Merge with NetBSD make, pick up 569 o parse.c: print -dp debug info earlier so we see which 570 .if or .for line is being parsed. 571 5722024-04-04 Simon J Gerraty <sjg@beast.crufty.net> 573 574 * VERSION (_MAKE_VERSION): 20240404 575 Merge with NetBSD make, pick up 576 o fix some unit tests for Cygwin 577 o parse.c: exit immediately after reading a null byte from a makefile 578 579 * fix generation of bmake.cat1 580 5812024-03-19 Simon J Gerraty <sjg@beast.crufty.net> 582 583 * VERSION (_MAKE_VERSION): 20240314 584 Add/Improve support for Cygwin 585 o uname -s output isn't useful so allow configure to 586 set FORCE_MAKE_OS - to force the value of .MAKE.OS 587 and use Cygwin which matches uname -o 588 o fix some unit-tests for Cygwin 589 5902024-03-10 Simon J Gerraty <sjg@beast.crufty.net> 591 592 * boot-strap: tests can take a long time; use a cookie to 593 skip them if bmake has not been updated since tests last 594 ran successfully. 595 596 * Makefile: Cygwin handles MANTARGET man 597 598 * unit-tests/Makefile: set BROKEN_TESTS for Cygwin 599 6002024-03-09 Simon J Gerraty <sjg@beast.crufty.net> 601 602 * VERSION (_MAKE_VERSION): 20240309 603 Merge with NetBSD make, pick up 604 o set .ERROR_EXIT to the exit status of .ERROR_TARGET 605 this allows a .ERROR target to ignore the case of 606 .ERROR_EXIT==6 which just means that the build actually 607 failed somewhere else. 608 6092024-03-04 Simon J Gerraty <sjg@beast.crufty.net> 610 611 * VERSION (_MAKE_VERSION): 20240303 612 613 * var.c: on IRIX we need both inttypes.h and stdint.h 614 6152024-03-01 Simon J Gerraty <sjg@beast.crufty.net> 616 617 * VERSION (_MAKE_VERSION): 20240301 618 Merge with NetBSD make, pick up 619 o export variables with value from target scope 620 when appropriate. 621 6222024-02-12 Simon J Gerraty <sjg@beast.crufty.net> 623 624 * VERSION (_MAKE_VERSION): 20240212 625 Merge with NetBSD make, pick up 626 o remove unneeded conditional-compilation toggles 627 INCLUDES, LIBRARIES, POSIX, SYSVINCLUDE, SYSVVARSUB, 628 GMAKEEXPORT NO_REGEX and SUNSHCMD 629 630 * configure.in: add check for regex.h 631 632 * var.c: replace use of NO_REGEX with HAVE_REGEX_H 633 6342024-02-04 Simon J Gerraty <sjg@beast.crufty.net> 635 636 * VERSION (_MAKE_VERSION): 20240204 637 Merge with NetBSD make, pick up 638 o var.c: fix some lint (-dL) mode parsing issues 639 6402024-02-02 Simon J Gerraty <sjg@beast.crufty.net> 641 642 * VERSION: (_MAKE_VERSION): 20240202 643 Merge with NetBSD make, pick up 644 o make.1: note that arg to :D and :U can be empty 645 o var.c: $$ is not a parse error when .MAKE.SAVE_DOLLARS=no 646 6472024-01-08 Simon J Gerraty <sjg@beast.crufty.net> 648 649 * VERSION (_MAKE_VERSION): 20240108 650 Merge with NetBSD make, pick up 651 o miscellaneous cleanups 652 6532024-01-06 Simon J Gerraty <sjg@beast.crufty.net> 654 655 * VERSION (_MAKE_VERSION): 20240106 656 Merge with NetBSD make, pick up 657 o fix duplicate progname when reporting an unknown target 658 o unit tests for Cmd_Exec using temp file 659 6602024-01-05 Simon J Gerraty <sjg@beast.crufty.net> 661 662 * VERSION (_MAKE_VERSION): 20240105 663 Merge with NetBSD make, pick up 664 o main.c: Cmd_Exec write cmd to a file if too big 665 avoid blowing commandline/env limits 666 6672024-01-02 Simon J Gerraty <sjg@beast.crufty.net> 668 669 * VERSION (_MAKE_VERSION): 20240101 670 o util.c: flesh out more of strftime 671 * configure.in: add --with-bmake-strftime 672 it is not a full implementation but enough to pass all 673 the unit-tests. 674 * parse.c: LoadFile do not append \n to empty buffer. 675 6762023-12-30 Simon J Gerraty <sjg@beast.crufty.net> 677 678 * VERSION (_MAKE_VERSION): 20231230 679 Merge with NetBSD make, pick up 680 o simplify memory allocation for string buffers 681 o fix declared types of list nodes 682 o suff.c: clean up freeing of suffixes 683 o var.c: simplify debug message for the ':@var@...@' modifier 684 clean up variable handling 685 6862023-12-26 Simon J Gerraty <sjg@beast.crufty.net> 687 688 * VERSION (_MAKE_VERSION): 20231226 689 Merge with NetBSD make, pick up 690 o compat.c: ensure make's output is correctly ordered with that of 691 the target when not going to a tty 692 o main.c: check for shellPath whether to call Shell_Init() 693 6942023-12-24 Simon J Gerraty <sjg@beast.crufty.net> 695 696 * VERSION (_MAKE_VERSION): 20231224 697 Merge with NetBSD make, pick up 698 o compat.c: check for shellPath whether to call Shell_Init() 699 tweak the unit test to detect the bug thus fixed. 700 o make.1: do not claim .SHELL is only used by jobs mode. 701 7022023-12-22 Simon J Gerraty <sjg@beast.crufty.net> 703 704 * VERSION (_MAKE_VERSION): 20231220 705 Merge with NetBSD make, pick up 706 o str.c: speed up pattern matching in the ':M' modifier 707 o var.c: fix confusing debug logging when deleting a variable 708 use consistent debug messages style when ignoring variables 709 7102023-12-10 Simon J Gerraty <sjg@beast.crufty.net> 711 712 * VERSION (_MAKE_VERSION): 20231210 713 Merge with NetBSD make, pick up 714 o var.c: avoid segfault on empty :C match expression 715 explain in debug log why variable assignment is ignored. 716 7172023-12-08 Simon J Gerraty <sjg@beast.crufty.net> 718 719 * VERSION (_MAKE_VERSION): 20231208 720 Merge with NetBSD make, pick up 721 o var.c: ensure fromCmd is set correctly for variables set on 722 command line. 723 7242023-11-26 Simon J Gerraty <sjg@beast.crufty.net> 725 726 * configure.in: disable generation of 'makefile' for 727 Darwin by default. 728 729 * boot-strap: docuement --without-makefile 730 7312023-11-24 Simon J Gerraty <sjg@beast.crufty.net> 732 733 * VERSION (_MAKE_VERSION): 20231124 734 Merge with NetBSD make, pick up 735 o main.c: cleanup processing of -j 736 fix lint warning about strchr 737 o var.c: more accurate error message for invalid ':mtime' argument 738 cleanup :[...] modifier 739 avoid reading beyond substring when comparing 740 o unit-tests cover all cases of :mtime, test and explain exporting 741 of variables 742 o cleanup comments 743 7442023-09-17 Simon J Gerraty <sjg@beast.crufty.net> 745 746 * bsd.after-import.mk (ECHO_TAG): FreeBSD no longer uses 747 $FreeBSD$ tag, so avoid adding it. 748 7492023-09-09 Simon J Gerraty <sjg@beast.crufty.net> 750 751 * VERSION (_MAKE_VERSION): 20230909 752 Merge with NetBSD make, pick up 753 o main.c: allow -j to compute a multiple of ncpu 754 If _SC_NPROCESSORS_ONLN is supported; and -j arg is a floating 755 point number or ends in 'C' compute .MAKE.JOBS as a multiple of 756 _SC_NPROCESSORS_ONLN 757 .MAKE.JOBS.C will be "yes" if -jC is supported 758 7592023-08-20 Simon J Gerraty <sjg@beast.crufty.net> 760 761 * VERSION (_MAKE_VERSION): 20230820 762 Merge with NetBSD make, pick up 763 o make.1: note that :localtime is better for %s 764 o parse.c: improve error messages for invalid input. 765 o var.c: fix for %s:L:gmtime - set TZ=UTC and use localtime to get 766 correct result, it is still better to use %s:L:localtime. 767 7682023-08-18 Simon J Gerraty <sjg@beast.crufty.net> 769 770 * VERSION (_MAKE_VERSION): 20230818 771 Merge with NetBSD make, pick up 772 o meta.c: meta_ignore - check raw path against metaIgnorePaths 773 to potentially skip call to realpath. 774 o var.c: be strict when parsing the argument of the ':mtime' modifier 775 o unit-tests/varmod-mtime.mk: document why '${%s:L:localtime}' 776 should be used to get an equivalent value to time(3). 777 7782023-08-16 Simon J Gerraty <sjg@beast.crufty.net> 779 780 * VERSION (_MAKE_VERSION): 20230816 781 Merge with NetBSD make, pick up 782 o cond.c: clean up multiple-inclusion guards 783 7842023-07-25 Simon J Gerraty <sjg@beast.crufty.net> 785 786 * unit-tests/Makefile: addd varmod-localtime to BROKEN_TESTS 787 if configure cannot work out how to control TZ. 788 Remove varmod-localtime from BROKEN_TESTS for IRIX* 789 7902023-07-24 Simon J Gerraty <sjg@beast.crufty.net> 791 792 * VERSION (_MAKE_VERSION): 20230723 793 794 * configure.in: fix the test for wether TZ=Europe/Berlin works. 795 Depending on the time of year, if run between 22:00 and 00:00 UTC 796 the check in configure would fail incorrectly. 797 Take the day into account as well. 798 7992023-07-18 Simon J Gerraty <sjg@beast.crufty.net> 800 801 * VERSION (_MAKE_VERSION): 20230711 802 Merge with NetBSD make, pick up 803 o make.1: clean up wording, clarify scope of '!' in conditions 804 8052023-07-15 Simon J Gerraty <sjg@beast.crufty.net> 806 807 * make-bootstrap.sh.in: set prefix 808 If configure is run using ksh we get unexpanded ${prefix} in 809 DEFAULT_SYS_PATH, by ensuring prefix is set we should still get 810 correct result. 811 8122023-07-13 Simon J Gerraty <sjg@beast.crufty.net> 813 814 * VERSION (_MAKE_VERSION): 20230711 815 bump version for IRIX tweaks 816 817 * make.h: undef OP_NONE if defined 818 819 * unit-tests/Makefile: set BROKEN_TESTS for IRIX 820 821 * configure.in: override INSTALL on IRIX 822 8232023-06-27 Simon J Gerraty <sjg@beast.crufty.net> 824 825 * boot-strap op_test: ensure we set TEST_MAKE as we want it. 826 8272023-06-22 Simon J Gerraty <sjg@beast.crufty.net> 828 829 * VERSION (_MAKE_VERSION): 20230622 830 Merge with NetBSD make, pick up 831 o optimize string matching for ':M' and ':N' 832 o warn about malformed patterns in ':M', ':N' and '.if make(...)' 833 8342023-06-21 Simon J Gerraty <sjg@beast.crufty.net> 835 836 * VERSION (_MAKE_VERSION): 20230621 837 Merge with NetBSD make, pick up 838 o more extensive tests for include guards 839 o parse.c: if a guard is already defined a file that uses the same 840 guard is still guarded by it. 841 8422023-06-20 Simon J Gerraty <sjg@beast.crufty.net> 843 844 * VERSION (_MAKE_VERSION): 20230620 845 Merge with NetBSD make, pick up 846 o allow guards to be targets as well as variables 847 The guard targets may include variable references like 848 __${.PARSEDIR:tA}/${.PARSEFILE}__ 849 8502023-06-19 Simon J Gerraty <sjg@beast.crufty.net> 851 852 * VERSION (_MAKE_VERSION): 20230619 853 Merge with NetBSD make, pick up 854 o unit test for .undef of readOnly vars 855 o optimization for makefiles protected from multiple-inclusion 856 skip even opening the file after first include. 857 Initially this only handles makefiles guarded by a variable 858 target guards are next. 859 8602023-06-16 Simon J Gerraty <sjg@beast.crufty.net> 861 862 * VERSION (_MAKE_VERSION): 20230616 863 Merge with NetBSD make, pick up 864 o var.c: do not allow delete of readOnly variable 865 8662023-06-03 Simon J Gerraty <sjg@beast.crufty.net> 867 868 * VERSION (_MAKE_VERSION): 20230601 869 Merge with NetBSD make, pick up 870 o parse.c: .break takes no args 871 o lots of unit test updates 872 8732023-05-29 Simon J Gerraty <sjg@beast.crufty.net> 874 875 * unit-tests/Makefile: skip tests that require /dev/filemon 876 if it does not exists - issue a warning. 877 8782023-05-22 Simon J Gerraty <sjg@beast.crufty.net> 879 880 * VERSION (_MAKE_VERSION): 20230522 881 Fix building on darwin ppc 882 883 * os.sh (MACHINE): Darwin powerpc cannot use `uname -m` 884 also recent NetBSD uses x86_64 for MACHINE_ARCH so conform. 885 8862023-05-15 Simon J Gerraty <sjg@beast.crufty.net> 887 888 * VERSION (_MAKE_VERSION): 20230515 889 890 * Makefile (COPTS.filemon_ktrace.c): NetBSD 7 needs help to 891 compile filemon_ktrace.c 892 8932023-05-13 Simon J Gerraty <sjg@beast.crufty.net> 894 895 * VERSION (_MAKE_VERSION): 20230512 896 o sys.dirdeps.mk - broke after-import target 897 8982023-05-10 Simon J Gerraty <sjg@beast.crufty.net> 899 900 * VERSION (_MAKE_VERSION): 20230510 901 Merge with NetBSD make, pick up 902 o parse.c: don't print null filename in stack traces 903 o var.c: :mtime operate on each word in variable value 904 9052023-05-09 Simon J Gerraty <sjg@beast.crufty.net> 906 907 * VERSION (_MAKE_VERSION): 20230509 908 Merge with NetBSD make, pick up 909 o for.c: skip syntactically wrong .for loops 910 o var.c: allow for :gmtime=${mtime} 911 add :mtime[=timestamp] where timestamp is used if stat(2) 912 fails, if :mtime=error stat(2) failure causes error. 913 9142023-05-05 Simon J Gerraty <sjg@beast.crufty.net> 915 916 * VERSION (_MAKE_VERSION): 20230504 917 Merge with NetBSD make, pick up 918 o compat.c: fix compile on NetBSD 7.2 919 o make.1: fix documentation of .PREFIX to match reality and POSIX 920 o unit-tests: improved var-scope-local 921 9222023-04-14 Simon J Gerraty <sjg@beast.crufty.net> 923 924 * VERSION (_MAKE_VERSION): 20230414 925 Merge with NetBSD make, pick up 926 o minor cleanup 927 9282023-03-25 Simon J Gerraty <sjg@beast.crufty.net> 929 930 * main.c: on some systems (eg OS/X) setting RLIMIT_NOFILE to 931 unlimited results in an insane number (0x7fffffffffffffff). 932 If BMAKE_NOFILE_MAX is defined, use that instead. 933 9342023-03-22 Simon J Gerraty <sjg@beast.crufty.net> 935 936 * VERSION (_MAKE_VERSION): 20230321 937 Merge with NetBSD make, pick up 938 * make.1: document seemingly unexplained Error code 6. 939 9402023-03-18 Simon J Gerraty <sjg@beast.crufty.net> 941 942 * VERSION (_MAKE_VERSION): 20230317 943 Merge with NetBSD make, pick up 944 o compat.c: CompatDeleteTarget skip .PHONY targets to be 945 consistent with JobDeleteTarget. 946 o job.c: fix memory leak in handling sysv :from=to modifiers 947 9482023-03-04 Simon J Gerraty <sjg@beast.crufty.net> 949 950 * VERSION (_MAKE_VERSION): 20230303 951 Merge with NetBSD make, pick up 952 o several updated unit-tests 953 9542023-02-22 Simon J Gerraty <sjg@beast.crufty.net> 955 956 * VERSION (_MAKE_VERSION): 20230222 957 Merge with NetBSD make, pick up 958 o unit tests for .MAKE.META.IGNORE_{FILTER,PATHS,PATTERNS} 959 9602023-02-20 Simon J Gerraty <sjg@beast.crufty.net> 961 962 * VERSION (_MAKE_VERSION): 20230218 963 Merge with NetBSD make, pick up 964 o var.c: fix parsing of unevaluated subexpressions with 965 unbalanced '{}' 966 9672023-02-17 Simon J Gerraty <sjg@beast.crufty.net> 968 969 * VERSION (_MAKE_VERSION): 20230215 970 Merge with NetBSD make, pick up 971 o inline macros for some variable names 972 o cond.c: reduce complexity of evaluating expressions 973 9742023-02-08 Simon J Gerraty <sjg@beast.crufty.net> 975 976 * VERSION (_MAKE_VERSION): 20230208 977 Merge with NetBSD make, pick up 978 o var.c: always use SCOPE_GLOBAL for :_ to avoid problems 979 when it has been used within conditional expressions 980 9812023-01-27 Simon J Gerraty <sjg@beast.crufty.net> 982 983 * VERSION (_MAKE_VERSION): 20230127 984 985 * install-sh: if making directories ensure umask is set 986 to match mode. 987 988 * Makefile: use DIRMODE for directories and 989 NONBINMODE for man pages and mk files 990 9912023-01-26 Simon J Gerraty <sjg@beast.crufty.net> 992 993 * VERSION (_MAKE_VERSION): 20230126 994 Merge with NetBSD make, pick up 995 o variables like .newline and .MAKE.{GID,PID,PPID,UID} 996 should be read-only. 997 9982023-01-23 Simon J Gerraty <sjg@beast.crufty.net> 999 1000 * VERSION (_MAKE_VERSION): 20230123 1001 Merge with NetBSD make, pick up 1002 o .[NO]READONLY: for control of read-only variables 1003 o .SYSPATH: for controlling the path searched for makefiles 1004 10052023-01-20 Simon J Gerraty <sjg@beast.crufty.net> 1006 1007 * VERSION (_MAKE_VERSION): 20230120 1008 Merge with NetBSD make, pick up 1009 o allow for white-space between command specifiers @+- 1010 o add more details to warning 'Extra targets ignored' 1011 10122023-01-12 Simon J Gerraty <sjg@beast.crufty.net> 1013 1014 * machine.sh: leverage os.sh rather than duplicate 1015 also dispence with the $OS.$MACHINE values - we have $HOST_TARGET 1016 for that purpose for the past decade or so. 1017 We invariably get MACHINE and MACHINE_ARCH at runtime anyway. 1018 10192023-01-02 Simon J Gerraty <sjg@beast.crufty.net> 1020 1021 * VERSION (_MAKE_VERSION): 20230101 1022 Merge with NetBSD make, pick up 1023 o cleanup comments, inline some LazyBuf_ methods 1024 o unit-tests/ add/improve comments in tests 1025 o make.1: sync list of built-in variables with reality 1026 sort list of built-in variables 1027 reduce indentation of the long list of variable names 1028 use consistent markup for boolean flags 1029 move description of .MAKE.MODE below the .MAKE.META block 1030 clarify in which case an expression may omit braces 1031 10322022-11-08 Simon J Gerraty <sjg@beast.crufty.net> 1033 1034 * VERSION (_MAKE_VERSION): 20221024 1035 Merge with NetBSD make, pick up 1036 o change return type of unlink_file back to int 1037 10382022-10-07 Simon J Gerraty <sjg@beast.crufty.net> 1039 1040 * Makefile: Darwin and Linux can handle MANTARGET=man 1041 10422022-09-28 Simon J Gerraty <sjg@beast.crufty.net> 1043 1044 * VERSION (_MAKE_VERSION): 20220928 1045 Merge with NetBSD make, pick up 1046 o fix more ignored returns from snprintf 1047 o compile with higher warnings 1048 10492022-09-26 Simon J Gerraty <sjg@beast.crufty.net> 1050 1051 * main.c meta.c: do not ignore return from snprintf 1052 1053 * meta.c strlcpy.c: we need prototype for strlcpy 1054 1055 * sigcompat.c: fix unused function warnings 1056 10572022-09-24 Simon J Gerraty <sjg@beast.crufty.net> 1058 1059 * VERSION (_MAKE_VERSION): 20220924 1060 Merge with NetBSD make, pick up 1061 o fix bug in .break reset of conditional depth 1062 o overhaul and simplify tracking of conditional depth 1063 10642022-09-17 Simon J Gerraty <sjg@beast.crufty.net> 1065 1066 * VERSION (_MAKE_VERSION): 20220912 1067 Merge with NetBSD make, pick up 1068 o man page updates 1069 10702022-09-09 Simon J Gerraty <sjg@beast.crufty.net> 1071 1072 * VERSION (_MAKE_VERSION): 20220909 1073 Merge with NetBSD make, pick up 1074 o update unit-tests to handle deprecation of egrep 1075 o cond.c: add more details to error message for numeric comparison 1076 1077 * configure.in: allow for deprecation of egrep 1078 1079 * Makefile: Linux can handle MANTARGET=man 1080 10812022-09-03 Simon J Gerraty <sjg@beast.crufty.net> 1082 1083 * VERSION (_MAKE_VERSION): 20220903 1084 Merge with NetBSD make, pick up 1085 o job.c: fix handling of null bytes in output 1086 10872022-09-02 Simon J Gerraty <sjg@beast.crufty.net> 1088 1089 * VERSION (_MAKE_VERSION): 20220902 1090 Merge with NetBSD make, pick up 1091 o Allow .break to terminate a .for loop early 1092 10932022-09-01 Simon J Gerraty <sjg@beast.crufty.net> 1094 1095 * VERSION (_MAKE_VERSION): 20220901 1096 Merge with NetBSD make, pick up 1097 o var.c: fix out-of-bounds errors when parsing 1098 10992022-08-24 Simon J Gerraty <sjg@beast.crufty.net> 1100 1101 * VERSION (_MAKE_VERSION): 20220824 1102 Merge with NetBSD make, pick up 1103 o var.c: revert change to modifier parsing that breaks 1104 shell variable references within ':@var@body@' 1105 o adjust unit-tests 1106 11072022-08-18 Simon J Gerraty <sjg@beast.crufty.net> 1108 1109 * VERSION (_MAKE_VERSION): 20220818 1110 Merge with NetBSD make, pick up 1111 o fix exit status for '-q' (since 1994) 1112 11132022-08-08 Simon J Gerraty <sjg@beast.crufty.net> 1114 1115 * VERSION (_MAKE_VERSION): 20220808 1116 Merge with NetBSD make, pick up 1117 o var.c: fix parsing of modifiers containing unbalanced subexpressions 1118 extract parsing of ':D' and ':U' modifiers into separate function 1119 11202022-07-26 Simon J Gerraty <sjg@beast.crufty.net> 1121 1122 * VERSION (_MAKE_VERSION): 20220726 1123 1124 * Auto-create objdir for bmake/unit-tests if appropriate 1125 11262022-07-24 Simon J Gerraty <sjg@beast.crufty.net> 1127 1128 * VERSION (_MAKE_VERSION): 20220724 1129 Merge with NetBSD make, pick up 1130 o make.1: describe variable assignment and evaluation more precisely 1131 o parse.c: fix out-of-bounds read when parsing an invalid line 1132 o var.c: simplify return type of IsShortVarnameValid 1133 11342022-06-12 Simon J Gerraty <sjg@beast.crufty.net> 1135 1136 * VERSION (_MAKE_VERSION): 20220612 1137 Merge with NetBSD make, pick up 1138 o allow to randomize build order of targets 1139 .MAKE.MODE += randomize-targets can help uncover dependency bugs 1140 within a makefile. 1141 o compat.c: rename Compat_Run to Compat_MakeAll 1142 o make.c: inline MakeBuildParent 1143 inline make_abort, improve error details 1144 o parse.c: reorganize Parse_Error 1145 fix memory leak in wildcard targets and sources 1146 separate cases in HandleDependencyTargetMundane 1147 extract HandleSingleDependencyTargetMundane 1148 rename loadfile to LoadFile 1149 split IncludeFile into separate functions 1150 condense code for searching a file in the paths 1151 fix off-by-one error in buffer for .WAIT nodes 1152 o str.c: condense Str_Match 1153 make code for string matching syntactically more consistent 1154 11552022-04-18 Simon J Gerraty <sjg@beast.crufty.net> 1156 1157 * VERSION (_MAKE_VERSION): 20220418 1158 Merge with NetBSD make, pick up 1159 o ignore '.POSIX:' if not in first non-comment line 1160 of Makefile as specified by POSIX. 1161 add unit-tests for above. 1162 o meta.c: make it easier to find usage of identifiers 1163 o targ.c: add .USEBEFORE to Targ_PrintType 1164 11652022-04-14 Simon J Gerraty <sjg@beast.crufty.net> 1166 1167 * VERSION (_MAKE_VERSION): 20220414 1168 1169 * unit-tests/Makefile: simplify checks for shells with 1170 BROKEN_TESTS, this helps with other Linux distros that 1171 use dash. 1172 11732022-03-30 Simon J Gerraty <sjg@beast.crufty.net> 1174 1175 * VERSION (_MAKE_VERSION): 20220330 1176 Merge with NetBSD make, pick up 1177 o var.c: fix spacing, and a typo in a test 1178 11792022-03-26 Simon J Gerraty <sjg@beast.crufty.net> 1180 1181 * VERSION (_MAKE_VERSION): 20220326 1182 Merge with NetBSD make, pick up 1183 o parse.c: try to include 'posix.mk' the first time 1184 .POSIX: is encountered, to allow for beter POSIX compliance. 1185 o var.c: make debug logs more readable 1186 prefer 'long long' over 'long' on 32-bit C99 platforms 1187 fix crash on .undef of an environment variable 1188 11892022-03-03 Simon J Gerraty <sjg@beast.crufty.net> 1190 1191 * VERSION (_MAKE_VERSION): 20220303 1192 Merge with NetBSD make, pick up 1193 o tell meta mode unit tests not to expect filemon 1194 o cond.c: make debug logging for comparisons less technical 1195 o lst.c: fix mem leak in Lst_Remove 1196 o str.c: make code for string matching syntactically more consistent 1197 o var.c: simplify ParseModifier_Match 1198 11992022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 1200 1201 * unit-tests/Makefile: control MAKESYSPATH for deptgt-phony 1202 1203 * VERSION (_MAKE_VERSION): 20220214 1204 Merge with NetBSD make, pick up 1205 o cond.c: simplify control flow in CondParser_Comparison 1206 o job.c: fix echoing of command with '-' in silent target in jobs mode 1207 o main.c: prefix the warning about read-only .OBJDIR with a colon 1208 o parse.c: remove redundant conditions 1209 o var.c: simplify control flow in ModifyWord_SysVSubst 1210 12112022-02-08 Simon J Gerraty <sjg@beast.crufty.net> 1212 1213 * unit-tests/Makefile: disable opt-debug-x-trace on Linux if there 1214 is any chance we have dash as .SHELL 1215 1216 * VERSION (_MAKE_VERSION): 20220208 1217 Merge with NetBSD make, pick up 1218 o more unit tests 1219 o meta.c: use a variable to hold command line to be filtered 1220 to avoid any side effects from content of command line. 1221 12222022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 1223 1224 * VERSION (_MAKE_VERSION): 20220204 1225 Merge with NetBSD make, pick up 1226 o use unsigned consistently for line numbers, avoid the need for %z 1227 o parse.c: do not step off end of input in Parse_IsVar 1228 when checking for target local variable assignments 1229 12302022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 1231 1232 * VERSION (_MAKE_VERSION): 20220202 1233 Merge with NetBSD make, pick up 1234 o remove redundant declaration of HashIter_Init 1235 o make DEBUG0 simpler 1236 12372022-01-30 Simon J Gerraty <sjg@beast.crufty.net> 1238 1239 * cast gn->lineno to avoid %z 1240 1241 * VERSION (_MAKE_VERSION): 20220130 1242 Merge with NetBSD make, pick up 1243 o more unit tests 1244 o make GNode lineno unsigned to please lint 1245 o print location of recursive variable references in commands 1246 o print "stack trace" (makefile includes) on fatal errors 1247 o make.1: refine documentation for target local assignments 1248 12492022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 1250 1251 * VERSION (_MAKE_VERSION): 20220128 1252 Merge with NetBSD make, pick up 1253 o inline functions called only once 1254 o for.c: clean up AddEscape for building the body of a .for loop 1255 o hash.c: merge duplicate code for finding an entry in a hash table 1256 replace HashEntry_KeyEquals with strncmp 1257 o make.1: document quirks of target local variable assignments. 1258 o parse.c: cleanup white-space 1259 12602022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 1261 1262 * VERSION (_MAKE_VERSION): 20220126 1263 Merge with NetBSD make, pick up 1264 o allow setting target local variables 1265 o more unit tests 1266 o add missing newline after "cannot continue" message 1267 o meta.c: clean up eat_dots 1268 o parse.c: fix filename in warning about duplicate script 1269 o var.c: when expanding nested variables, check simple things first 1270 12712022-01-16 Simon J Gerraty <sjg@beast.crufty.net> 1272 1273 * VERSION (_MAKE_VERSION): 20220116 1274 Merge with NetBSD make, pick up 1275 o fix for unit-tests/varname-makeflags on non-BSD systems 1276 o use Var_Exists rather than Var_Value where appropriate 1277 o remove unnecessary functions for expanding variable names 1278 o cond.c: inline EvalBare 1279 o main.c: lint cleanup 1280 o parse.c: condense code in Parse_IsVar 1281 use islower for parsing directives (none have upper case) 1282 12832022-01-12 Simon J Gerraty <sjg@beast.crufty.net> 1284 1285 * VERSION (_MAKE_VERSION): 20220112 1286 Merge with NetBSD make, pick up 1287 o meta.c: add .MAKE.META.CMP_FILTER for filtering commands before 1288 comparion, rarely needed but useful when it is. 1289 12902022-01-10 Simon J Gerraty <sjg@beast.crufty.net> 1291 1292 * VERSION (_MAKE_VERSION): 20220110 1293 Merge with NetBSD make, pick up 1294 o inline Buf_Clear 1295 o remove redundant braces 1296 o rename and inline Targ_Precious 1297 o cond.c: remove redundant initializer in CondParser_ComparisonOrLeaf 1298 o for.c: clean up handling of .for loops 1299 fix reported line numbers of continuation lines 1300 add details about .for loop variables to stack traces 1301 o job.c: reduce code for initializing error handling in shell 1302 o main.c: in Cmd_Exec, return error message instead of format string 1303 have as few statements as possible between va_start and va_end 1304 add debug logging for capturing the output of external commands 1305 o make.c: use consistent variable names for varargs 1306 o make_malloc.c: remove duplicate code from bmake_strdup 1307 o parse.c: add missing printflike annotations 1308 remove redundant lines from stack traces 1309 fix stack traces in -dp mode 1310 reduce confusing code in ParseForLoop 1311 fix line number in debug log after returning from a file 1312 rename IFile and its fields to match their actual content 1313 clean up ParseDependencySources 1314 o var.c: shorten ApplyModifier_Assign 1315 rename is_shell_metachar, fix character conversion warning 1316 merge calls to ApplyModifier_Time 1317 merge duplicate code for modifiers 'gmtime' and 'localtime' 1318 13192022-01-04 Simon J Gerraty <sjg@beast.crufty.net> 1320 1321 * parse.c: loadfile restore extra byte in buffer. 1322 13232022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 1324 1325 * VERSION (_MAKE_VERSION): 20220101 1326 Merge with NetBSD make, pick up 1327 o more unit-tests 1328 o remove unnecessary words from command line options in CmdOpts 1329 o rename eunlink to unlink_file 1330 o cond.c: make ParseWord in condition parser simpler 1331 internally return false for irrelevant leaves in conditions 1332 replace table for function lookup in conditions with simple code 1333 merge duplicate types CondEvalResult and CondResult 1334 o for.c: clean up handling of .for loops and .include directives 1335 o main.c: constify cached_realpath 1336 clean up Cmd_Exec 1337 o parse.c: sync API documentation 1338 fix error message when reading more than 1 GB from stdin 1339 clean up parsing of makefiles 1340 fix line number in error message about open conditionals 1341 unexport types VarAssignOp and VarAssign 1342 clean up function names 1343 remove redundant parameters in dependency parsing functions 1344 reduce scope of the list of wildcard target names 1345 extract OP_NOTARGET into separate function 1346 clean up variable names for parsing dependency lines 1347 make debug logging a bit more human-friendly 1348 o var.c: condense code in ApplyModifier_Assign 1349 13502021-12-21 Simon J Gerraty <sjg@beast.crufty.net> 1351 1352 * VERSION (_MAKE_VERSION): 20211221 1353 Merge with NetBSD make, pick up 1354 o more unit-tests 1355 o style cleanup 1356 o in CLEANUP mode, free interned strings at the very end 1357 o fix memory leak for filenames in .for loops 1358 o buf.c: avoid memory leak 1359 o cond.c: condense CondParser_ComparisonOp 1360 o hash.c: change return type of HashTable_Set to void 1361 o job.c: change return type of Compat_RunCommand from int to bool 1362 o main.c: remove bmake_free 1363 o parse.c: condense repetetive code in ParseDirective 1364 remove dead code for handling traditional include directives 1365 clean up parsing of variable assignments 1366 remove unreachable code for parsing the dependency operator 1367 clean up loading of files 1368 fix memory leak in IncludeFile 1369 o var.c: fix memory leak when parsing a variable name 1370 fix memory leak from ${.SUFFIXES} 1371 reduce memory allocation in modifier ':?' and ':C' 1372 condense RegexReplace for the modifier ':C' and avoid strlen 1373 merge duplicate code for memory handling in Var_Parse 1374 distinguish between short-lived and environment variables 1375 rename VarFreeEnv to VarFreeShortLived 1376 13772021-12-15 Simon J Gerraty <sjg@beast.crufty.net> 1378 1379 * cond.c: fix mem leak in CondParser_Leaf 1380 13812021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 1382 1383 * VERSION (_MAKE_VERSION): 20211212 1384 Merge with NetBSD make, pick up 1385 o rename Parse_SetInput to Parse_PushInput 1386 o remove remove period from end of error messages and warnings 1387 to be more consistent 1388 o arch.c: use simpler memory management for parsing archive members 1389 o cond.c: rework and reduce recursion 1390 o for.c: rename some functions to better reflect purpose 1391 o suff.c: add Suff_NamesStr to provide .SUFFIXES as a string. 1392 o var.c: in parse errors, mark whitespace more clearly 1393 inline ParseEmptyArg into CondParser_FuncCallEmpty 1394 minimize calls to LazyBuf_Get in ParseVarnameLong 1395 treat .SUFFIXES as a read-only variable 1396 13972021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 1398 1399 * VERSION (_MAKE_VERSION): 20211207 1400 Merge with NetBSD make, pick up 1401 o inline HashIter_Init 1402 o parse.c: inline common subexpression in ParseRawLine 1403 o var.c: merge branches for modifiers ':D' and ':U' 1404 extract common code into Expr_Words 1405 extract common code into Expr_Str 1406 move low-level implementation details out of Var_Parse 1407 14082021-12-06 Simon J Gerraty <sjg@beast.crufty.net> 1409 1410 * VERSION (_MAKE_VERSION): 20211206 1411 Merge with NetBSD make, pick up 1412 o add unit-tests/varmod-loop-delete 1413 o for.c: inline Str_Words - reduce memory allocation 1414 o parse.c: do not try to expand fixed variable names 1415 only allocate the name of an included file if necessary 1416 clean up ParseInclude 1417 o var.c: fix use-after-free in modifier ':@' 1418 save a memory allocation in each modifier ':O' and ':u' 1419 save a memory allocation in the modifier ':[...]' 1420 in UnexportVars, replace Str_Words with Substring_Words to 1421 reduce allocations and copying. 1422 14232021-12-04 Simon J Gerraty <sjg@beast.crufty.net> 1424 1425 * VERSION (_MAKE_VERSION): 20211204 1426 Merge with NetBSD make, pick up 1427 o flesh out a number of tests 1428 o replace enums with bitfields, this simplifies a lot of code. 1429 o var.c: refactor ParseModifierPartSubst 1430 14312021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 1432 1433 * VERSION (_MAKE_VERSION): 20211024 1434 Merge with NetBSD make, pick up 1435 o Punt on write errors - ENOSPC etc. 1436 14372021-10-22 Simon J Gerraty <sjg@beast.crufty.net> 1438 1439 * configure.in: use_defshell, set both DEFSHELL_INDEX 1440 and defshell_path if appropriate. 1441 This makes it easier to use say the KSH specification with 1442 and alternate path for the shell. 1443 1444 * configure.in compat.c: for SCO we need to force UseShell 1445 1446 * configure.in: SCO /bin/sh is not usable, provide a list of 1447 alternatives for use as .SHELL. 1448 We still have to mark some tests as broken, plus more if we end up 1449 with ksh as .SHELL. 1450 Issue a warning about skipped tests. 1451 1452 * boot-strap: leave TOOL_DIFF to configure 1453 1454 * configure.in: on SCO native cc is not usable, 1455 gcc is to be found in /usr/gnu/bin 1456 and while ancient is at least able to compile bmake. 1457 Thus we add /usr/gnu/bin to PATH if it exists, and later 1458 check if $CC would have been found via $PATH. 1459 If not we set CC to the full path of $CC. 1460 Also gnu diff is known to support -u, so if it exists use it. 1461 1462 * configure.in: move getopt to AC_REPLACE_FUNCS 1463 also add AC_C_INLINE - in an attempt to compile using 1464 native cc on SCO. 1465 1466 * configure.in: check for stresep as well as strsep, since we 1467 define the later to the former if necessary, and if we have to 1468 provide stresep we also need to provide a prototype. 1469 1470 * configure.in: we no longer need to worry about 1471 sys/cdefs.h providing __RCSID which simplifies things quite a bit. 1472 1473 * make.h: make sure we have __RCSID 1474 1475 * unit-tests/Makefile.config.in: add TOOL_DIFF so configure 1476 can control it. 1477 14782021-10-20 Simon J Gerraty <sjg@beast.crufty.net> 1479 1480 * VERSION: 20211020 1481 Merge with NetBSD make, pick up 1482 o confirm sync of unit-tests 1483 14842021-10-18 Simon J Gerraty <sjg@beast.crufty.net> 1485 1486 * configure.in: check if timezone Europe/Berlin is supported 1487 if not try UTC-1 1488 * configure.in: if .OBJDIR is $srcdir/obj we need to create a 1489 symlink unit-tests -> ../unit-tests/obj so that 1490 unit-tests/Makefile.config is put in the right place. 1491 * refine filtering of .OBJDIR in unit-tests 1492 14932021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 1494 1495 * Fix unit-tests on Minix 3.2.0 1496 o job.c: do not punt if read of token pipe fails for EAGAIN. 1497 On Minix at least, we are not ready to read the childExitJob pipe 1498 when poll says we are. 1499 There should actually be no reason for this pipe to be 1500 non-blocking, but while that works fine on {Net,Free}BSD it 1501 breaks another test case on Minix. 1502 o unit-tests/Makefile: deal with variants of error messages 1503 and use of obj as .OBJDIR 1504 15052021-10-14 Simon J Gerraty <sjg@beast.crufty.net> 1506 1507 * configure.in: add sigaction to AC_REPLACE_FUNCS 1508 we also need to check for sigaddset etc just for the benefit of 1509 sigact.c 1510 1511 * Add sigact.c as sigaction.c so this "just works". 1512 This should have been done back when bmake_signal started using 1513 sigaction (I only just noticed that sigact.c wasn't here ;-) 1514 Note: I no longer have access to any system where this would matter. 1515 15162021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 1517 1518 * VERSION (_MAKE_VERSION): 20211011 1519 1520 * Makefile: cleanup a little 1521 1522 * configure.in: check for sigsetmask 1523 15242021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 1525 1526 * VERSION (_MAKE_VERSION): 20211001 1527 Merge with NetBSD make, pick up 1528 o reduce locations reducing text size 1529 o remove unnecessary const 1530 o cond.c: fix lint warning on i386 1531 do not allow unquoted 'left == right' after modifier ':?' 1532 o hash.c: fix build for DEBUG_HASH_LOOKUP 1533 o var.c: fix memory leak in error case of the ':?' modifier 1534 15352021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 1536 1537 * VERSION (_MAKE_VERSION): 20210911 1538 Merge with NetBSD make, pick up 1539 o var.c: replace remaining ModChain_ShouldEval with Expr_ShouldEval 1540 15412021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 1542 1543 * VERSION (_MAKE_VERSION): 20210906 1544 Merge with NetBSD make, pick up 1545 o more unit tests 1546 o lint cleanup 1547 o rename some functions to better fit purpose 1548 o for.c: cleanup - remove unnecessary optimization 1549 fix embedded newlines 1550 o parse.c: correct case for CVS/RCS 1551 15522021-08-11 Simon J Gerraty <sjg@beast.crufty.net> 1553 1554 * VERSION (_MAKE_VERSION): 20210808 1555 Merge with NetBSD make, pick up 1556 o var.c: remove redundant initialization in ApplyModifier_Order 1557 1558 * mk/options.mk: issue warning for incorrect usage 1559 15602021-08-03 Simon J Gerraty <sjg@beast.crufty.net> 1561 1562 * var.c: use long for :On if we don't have a 64bit int type 1563 1564 * VERSION (_MAKE_VERSION): 20210803 1565 Merge with NetBSD make, pick up 1566 o rework varmod-order tests to avoid qsort instability 1567 o make.1: clarify :On entry 1568 15692021-07-31 Simon J Gerraty <sjg@beast.crufty.net> 1570 1571 * VERSION (_MAKE_VERSION): 20210731 1572 Merge with NetBSD make, pick up 1573 o fix some lint issues 1574 o more unit tests 1575 o var.c: rework of ApplyModifier_Order 1576 15772021-07-30 Simon J Gerraty <sjg@beast.crufty.net> 1578 1579 * util.c: add strto*l if HAVE_STRTO*L not defined 1580 1581 * VERSION (_MAKE_VERSION): 20210730 1582 Merge with NetBSD make, pick up 1583 o var.c: add :On and :Orn for numeric sort 1584 disabled if no 64bit type available. 1585 o _strtol.h: to implement strto*l functions 1586 15872021-07-04 Simon J Gerraty <sjg@beast.crufty.net> 1588 1589 * VERSION (_MAKE_VERSION): 20210704 1590 Merge with NetBSD make, pick up 1591 o unit-tests: fix some tests to be more portable 1592 - job-output-null not all shells do the same number of write calls 1593 - objdir-writable if TMPDIR is set; /tmp may not be usable 1594 15952021-07-01 Simon J Gerraty <sjg@beast.crufty.net> 1596 1597 * VERSION (_MAKE_VERSION): 20210701 1598 Merge with NetBSD make, pick up 1599 o unit-tests: allow for BROKEN_TESTS to list TESTS to be skipped; 1600 some tests just cannot work in some environments. 1601 o buf.c: simpler upper bound for length in Buf_AddInt 1602 o cond.c: fix grammar in error message for malformed conditional 1603 o for.c: prevent newline injection (from ${.newline}) in .for loops 1604 o var.c: use more practical data type in RegexReplace 1605 (avoid need for %zu) 1606 extract RegexReplace from ModifyWord_SubstRegex 1607 16082021-06-21 Simon J Gerraty <sjg@beast.crufty.net> 1609 1610 * VERSION (_MAKE_VERSION): 20210621 1611 Merge with NetBSD make, pick up 1612 o var.c: only report error for unmatched regex subexpression 1613 when linting (-dL) since we cannot tell when an unmatched 1614 subexpression is an expected result. 1615 o move unmatched regex subexpression tests to 1616 varmod-subst-regex.mk and enable strict (lint) mode 1617 16182021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 1619 1620 * VERSION (_MAKE_VERSION): 20210616 1621 Merge with NetBSD make, pick up 1622 o more unit tests 1623 o cond.c: rename If_Eval to EvalBare 1624 improve function names for parsing conditions 1625 o job.c: fix error handling of targets that cannot be made 1626 o var.c: uncompress code in ApplyModifier_Unique 1627 16282021-05-18 Simon J Gerraty <sjg@beast.crufty.net> 1629 1630 * VERSION (_MAKE_VERSION): 20210518 1631 Merge with NetBSD make, pick up 1632 o fix unit-tests/opt-chdir to cope with /nonexistent existing. 1633 o job.c: Print -de error information when running multiple jobs 1634 16352021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 1636 1637 * VERSION (_MAKE_VERSION): 20210420 1638 Merge with NetBSD make, pick up 1639 o use C99 bool type 1640 o convert VarEvalFlags back into an enum 1641 o cond.c: do not complain when skipping the condition 'no >= 10' 1642 o hash.c: avoid allocating memory for simple variable names 1643 o job.c: use distinct wording for writing to the shell commands file 1644 remove type name for the abort status in job handling 1645 rename PrintOutput to PrintFilteredOutput to avoid confusion 1646 o main.c: avoid double slash in name of temporary directory 1647 o var.c: use straight quotes for error 'Bad conditional expression' 1648 reduce memory allocations in the modifiers ':D' and ':U' 1649 rename members of ModifyWord_LoopArgs 1650 clean up pattern flags for the modifiers ':S' and ':C' 1651 reduce memory allocation and strlen calls in modifier ':from=to' 1652 in the ':Q' modifier, only allocate memory if necessary 1653 improve performance for LazyBuf 1654 remove redundant parameter from ParseVarnameLong 1655 migrate ParseModifierPart to use Substring 1656 avoid unnecessary calls to strlen when evaluating modifiers 1657 migrate ModifyWord functions to use Substring 1658 migrate handling of the modifier ':S,from,to,' to Substring 1659 reduce debug logging and memory allocation for ${:U...} 1660 reduce verbosity of the -dv debug logging for standard cases 1661 clean up debug logging for ':M' and ':N' 1662 disallow '$' in the variable name of the modifier ':@' 1663 simplify access to the name of an expression during evaluation 1664 16652021-03-30 Simon J Gerraty <sjg@beast.crufty.net> 1666 1667 * VERSION (_MAKE_VERSION): 20210330 1668 Merge with NetBSD make, pick up 1669 o replace enum bit-field with struct bit-field for VarEvalFlags 1670 o rename VARE_NONE to VARE_PARSE_ONLY 1671 o var.c: rename ApplyModifiersState to ModChain 1672 fix double varname expansion in the variable modifier '::=' 1673 change debug log for variable evaluation flags to lowercase 1674 16752021-03-14 Simon J Gerraty <sjg@beast.crufty.net> 1676 1677 * VERSION (_MAKE_VERSION): 20210314 1678 Merge with NetBSD make, pick up 1679 o var.c: avoid evaluating many modifiers in parse only mode 1680 in strict mode (-dL) many variable references are parsed twice, 1681 the first time just to report parse errors early, so we want to 1682 avoid side effects and wasted effort to the extent possible. 1683 16842021-02-26 Simon J Gerraty <sjg@beast.crufty.net> 1685 1686 * VERSION (_MAKE_VERSION): 20210226 1687 Merge with NetBSD make, pick up 1688 o remove freestanding freeIt variables 1689 link via FStr 1690 o var.c: restructure code in ParseVarname to target human readers 1691 improve error message for; 1692 bad modifier in variable expression 1693 unclosed modifier 1694 unknown modifier 1695 remove redundant parameter of ApplySingleModifier 1696 explain non-obvious code around indirect variable modifiers 1697 quote ':S' in error message about missing delimiter 1698 extract ParseModifier_Match into separate function 1699 add context information to error message about ':range' modifier 1700 add quotes around variable name in an error message 1701 reorder code in ModifyWords 1702 use more common parameter order for VarSelectWords 1703 make ModifyWord_Subst a little easier to understand 1704 do not expand variable name from the command line twice 1705 extract ExistsInCmdline from Var_SetWithFlags 1706 save a hash map lookup when defining a cmdline variable 1707 clean up VarAdd, Var_Delete, Var_ReexportVars 1708 use bit-shift expressions for VarFlags constants 1709 rename constants for VarFlags 1710 rename ExprDefined constants for debug logging 1711 rename ExprStatus to ExprDefined 1712 split parameters for evaluating variable expressions 1713 reduce redundant code around ModifyWords 1714 print error about failed shell command before overwriting variable 1715 clean up ValidShortVarname, ParseVarnameShort 1716 rename VarExprStatus to ExprStatus 1717 add functions for assigning the value of an expression 1718 rename ApplyModifiersState_Define to Expr_Define 1719 condense the code for parsing :S and :C modifiers 1720 17212021-02-06 Simon J Gerraty <sjg@beast.crufty.net> 1722 1723 * VERSION (_MAKE_VERSION): 20210206 1724 Merge with NetBSD make, pick up 1725 o unit-tests: use private TMPDIR to avoid errors from other users 1726 17272021-02-05 Simon J Gerraty <sjg@beast.crufty.net> 1728 1729 * VERSION (_MAKE_VERSION): 20210205 1730 Merge with NetBSD make, pick up 1731 o avoid strdup in mkTempFile 1732 o always use vfork 1733 o rename context and ctxt to scope 1734 o rename some VAR constants to SCOPE 1735 o Var_ functions, move the scope to the front 1736 o use shortcut functions Global_Set and Global_Append 1737 o add shortcut Global_Delete for deleting a global variable 1738 o rename Var_Delete to Var_DeleteExpand, Var_DeleteVar to Var_Delete 1739 o compat.c: when exiting due to an error, print graph information 1740 o enum.c: remove overengineered Enum_ValueToString 1741 o make.c: remove unused INTERNAL flag 1742 remove unused return type of MakeBuildParent 1743 o parse.c: replace parse error "Need an operator" with better message 1744 o var.c: improve documentation about variable scopes 1745 rename Var_ValueDirect to GNode_ValueDirect 1746 rename old Var_SetWithFlags to Var_SetExpandWithFlags 1747 merge SetVar into Var_SetWithFlags 1748 split Var_Exists into plain Var_Exists and Var_ExistsExpand 1749 split Var_Append into Var_Append and Var_AppendExpand 1750 replace enum bit-set with bit-field 1751 o unit-tests/var-op-shell: use kill rather than kill -14 1752 which broke on darwin with recent update. 1753 17542021-02-01 Simon J Gerraty <sjg@beast.crufty.net> 1755 1756 * configure.in: check for sig_atomic_t and define it as 'int' 1757 if missing. 1758 1759 * VERSION (_MAKE_VERSION): 20210201 1760 Merge with NetBSD make, pick up 1761 o use sig_atomic_t for caught_sigchld 1762 17632021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 1764 1765 * VERSION (_MAKE_VERSION): 20210130 1766 Merge with NetBSD make, pick up 1767 o more unit tests 1768 o convert SearchPath to struct 1769 o split Buf_Destroy into Buf_Done and Buf_DoneData 1770 o for.c: split For_Eval into separate functions 1771 rename struct For to struct ForLoop 1772 o job.c: do not create empty shell files in jobs mode 1773 rename JobOpenTmpFile to JobWriteShellCommands 1774 reduce unnecessary calls to waitpid 1775 o parse.c: in -dp mode, print stack trace with each diagnostic 1776 17772021-01-23 Simon J Gerraty <sjg@beast.crufty.net> 1778 1779 * VERSION (_MAKE_VERSION): 20210123 1780 Merge with NetBSD make, pick up 1781 o rename Dir_Expand to SearchPath_Expand 1782 o rename Dir_AddDir, reorder parameters of SearchPath_ToFlags 1783 o cond.c: fix debug output for comparison operators in conditionals 1784 o dir.c: split Dir_FindFile into separate functions 1785 17862021-01-20 Simon J Gerraty <sjg@beast.crufty.net> 1787 1788 * VERSION (_MAKE_VERSION): 20210120 1789 Merge with NetBSD make, pick up 1790 o fix some more lint nits 1791 o refine some unit tests for portability 1792 o cond.c: rework parsing 1793 17942021-01-10 Simon J Gerraty <sjg@beast.crufty.net> 1795 1796 * VERSION (_MAKE_VERSION): 20210110 1797 Merge with NetBSD make, pick up 1798 o fix lint warnings 1799 o consistently use boolean expressions in conditions 1800 18012021-01-08 Simon J Gerraty <sjg@beast.crufty.net> 1802 1803 * VERSION (_MAKE_VERSION): 20210108 1804 Merge with NetBSD make, pick up 1805 o job.c: back to polling token pipe if we want a token 1806 o main.c: always print 'stopped in' on first call 1807 The execption is if we bail because of an abort token 1808 in which case just exit 6. 1809 18102021-01-01 Simon J Gerraty <sjg@beast.crufty.net> 1811 1812 * VERSION (_MAKE_VERSION): 20210101 1813 Merge with NetBSD make, pick up 1814 o Happy New Year! 1815 o rename CmdOpts.lint to strict 1816 o exit 2 on technical errors 1817 o replace pointers in controlling conditions with booleans 1818 o replace global preserveUndefined with VARE_KEEP_UNDEF 1819 o compat.c: re-export variables from the actual make process 1820 if using vfork this is the effect anyway 1821 o cond.c: clean up VarParseResult constants 1822 o for.c: fix undefined behavior in SubstVarLong 1823 make control flow in SubstVarLong of .for loops more obvious 1824 clean up SubstVarShort in .for loops 1825 extract ForSubstBody from ForReadMore 1826 clean up ForReadMore 1827 simplify termination condition for .for loop 1828 add error handling for .for loop items 1829 job.c: re-export variables from the actual make process 1830 parse.c: remove mmap for loading files, only allow files < 1 GiB 1831 fix edge case in := with undefined in variable name 1832 skip variable expansion in ParseDependencyTargetWord 1833 var.c: split ExportVar into separate functions 1834 clean up code in extracted ExportVar functions 1835 remove dead code from ApplyModifiersIndirect 1836 split Var_Subst into easily understandable functions 1837 clean up VarParseResult constants 1838 18392020-12-25 Simon J Gerraty <sjg@beast.crufty.net> 1840 1841 * main.c: use .MAKE.DEPENDFILE as set by makefiles 1842 18432020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 1844 1845 * VERSION (_MAKE_VERSION): 20201222 1846 Merge with NetBSD make, pick up 1847 o make DEBUG macro return boolean 1848 o parse.c: fix assertion failure for files without trailing newline 1849 o var.c: allow .undef to undefine multiple variables at once 1850 remove excess newline from parse errors 1851 18522020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 1853 1854 * VERSION (_MAKE_VERSION): 20201221 1855 Merge with NetBSD make, pick up 1856 o some unit-test updates 1857 18582020-12-20 Simon J Gerraty <sjg@beast.crufty.net> 1859 1860 * VERSION (_MAKE_VERSION): 20201220 1861 Merge with NetBSD make, pick up 1862 o more unit tests 1863 o return FStr from Var_Parse and Var_Value 1864 o spell nonexistent consistently 1865 o add str_basename to reduce duplicate code 1866 o compat.c: fix .ERROR_TARGET in compat -k mode 1867 extract InitSignals from Compat_Run 1868 extract UseShell from Compat_RunCommand 1869 o cond.c: error out if an '.endif' or '.else' contain extraneous text 1870 o for.c: rename ForIterate to ForReadMore 1871 o hash.c: clean up hash function for HashTable 1872 o lst.c: rename Vector.priv_cap to cap 1873 o main.c: remove constant parameter from MakeMode 1874 o make.c: use symbolic time for 0 in Make_Recheck 1875 extract MakeChildren from MakeStartJobs 1876 o parse.c: clean up memory handling in VarAssign_EvalShell, Parse_DoVar 1877 fix error message for .info/.warning/.error without argument 1878 extract Var_Undef from ParseDirective 1879 extract ParseSkippedBranches, ParseForLoop from ParseReadLine 1880 rename mode constants for ParseGetLine to be more expressive 1881 reduce debugging details in Parse_SetInput 1882 fix line numbers in .for loops 1883 split ParseGetLine into separate functions 1884 fix garbled output for failed shell command 1885 var.c: remove redundant assignment in ApplyModifier_SysV 1886 error out on unknown variable modifiers at parse time 1887 remove wrong error message for indirect modifier in lint mode 1888 extract ApplySingleModifier from ApplyModifiers 1889 use FStr for memory management in Var_SetWithFlags 1890 extract SetVar from Var_SetWithFlags 1891 use FStr in VarNew 1892 extract string functions from ApplyModifier_To 1893 error out if .undef has not exactly 1 argument 1894 extract Var_DeleteVar from Var_Delete 1895 extract Var_Undef from ParseDirective 1896 clean up memory management for expanding variable expressions 1897 18982020-12-12 Simon J Gerraty <sjg@beast.crufty.net> 1899 1900 * avoid %zu 1901 1902 * lst.c: avoid anonymous union 1903 1904 * VERSION (_MAKE_VERSION): 20201212 1905 Merge with NetBSD make, pick up 1906 o more unit tests 1907 o inline Targ_Ignore and Targ_Silent 1908 o split JobFlags into separate fields 1909 o remove const from function parameters (left overs from refactoring) 1910 o eliminate boolean argument of Var_Export 1911 o make API of Buf_Init simpler 1912 o rename ParseRunOptions to ParseCommandFlags 1913 o replace *line with line[0] 1914 o compat.c: fix wrong exit status for multiple failed main targets 1915 refactor Compat_Run to show the error condition more clearly 1916 don't make .END if the main targets already failed (-k mode) 1917 fix exit status in -k mode if a dependency fails 1918 o for.c: clean up Buf_AddEscaped in .for loops 1919 o job.c: extract ShellWriter_ErrOn from JobPrintCommand 1920 make Job_Touch simpler 1921 refactor JobFinish 1922 rename Shell.exitFlag to errFlag 1923 move Job.xtraced to ShellWriter 1924 make printing of shell commands independent from the job 1925 rename shell flags in struct Shell 1926 extract JobOpenTmpFile from JobStart 1927 rename RunFlags to CommandFlags 1928 split various Job.* into separate fields 1929 rename commandShell to shell 1930 extract InitShellNameAndPath from Shell_Init 1931 replace signal handling macros with local functions 1932 replace macro MESSAGE with local function 1933 parse.c: error out on null bytes in makefiles 1934 error out on misspelled directives 1935 rename IFile.nextbuf to readMore 1936 fix undefined behavior in ParseEOF 1937 str.c: remove redundant call to strlen in Str_Words 1938 var.c: error out on misspelled .unexport-env 1939 error out on misspelled .export directives 1940 extract ExportVars from Var_Export 1941 extract ExportVarsExpand from Var_Export 1942 eliminate boolean argument of Var_Export 1943 fix undefined behavior when exporting ${:U } 1944 rename Var_ExportVars to Var_ReexportVars 1945 rename Var_Export1 to ExportVar 1946 19472020-12-06 Simon J Gerraty <sjg@beast.crufty.net> 1948 1949 * VERSION (_MAKE_VERSION): 20201206 1950 Merge with NetBSD make, pick up 1951 o more unit tests 1952 o inline macros for debug logging 1953 o use consistent variable names for list nodes 1954 o define constants for enum zero-values 1955 o dir.c: use fixed format for debug output of the directory cache 1956 remove Dir_InitDir 1957 o lst.c: inline Lst_Enqueue, Vector_Done 1958 o meta.c: remove unused parameter from meta_needed 1959 o parse.c: rename parse functions 1960 o suff.c: extract ExpandChildrenRegular from ExpandChildren 1961 o targ.c: don't concatenate identifiers in Targ_PrintType 1962 o var.c: remove comment decoration 1963 extract UnexportVars from Var_UnExport 1964 extract GetVarnamesToUnexport from Var_UnExport 1965 extract UnexportEnv from Var_UnExport 1966 extract UnexportVar from Var_UnExport 1967 move CleanEnv to UnexportVars 1968 replace pointer comparisons with enum 1969 add FStr to var.c to make memory handling simpler 1970 use FStr in Var_UnExport 1971 move type definitions in var.c to the top 1972 extract FreeEnvVar from Var_Parse 1973 extract ShuffleStrings from ApplyModifier_Order 1974 19752020-11-30 Simon J Gerraty <sjg@beast.crufty.net> 1976 1977 * VERSION (_MAKE_VERSION): 20201130 1978 Merge with NetBSD make, pick up 1979 o add unit tests for META MODE 1980 o reduce memory allocation for dirSearchPath, GNode.parents, 1981 GNode.children, OpenDirs 1982 o reduce pointer indirection for GNode.cohorts and 1983 GNode.implicitParents 1984 o remove pointer indirection from GNode.commands 1985 o inline Lst_ForEachUntil in meta mode 1986 o dir.c: fix memory leak for lstat cache in -DCLEANUP mode 1987 clean up memory management for CachedDirs 1988 fix the reference count of dotLast going negative 1989 add debug logging for OpenDirs_Done 1990 extract CacheNewDir from Dir_AddDir 1991 add debug logging for reference counting of CachedDir 1992 rename some Dir functions to SearchPath 1993 o job.c: rename some global variables 1994 o main.c: reduce memory allocation in ReadBuiltinRules 1995 reduce memory allocation in CmdOpts.create, CmdOpts.variables, 1996 CmdOpts.makefiles 1997 Add .MAKE.UID and .MAKE.GID 1998 o make.c: reduce memory allocation for/in toBeMade, 1999 Make_ProcessWait, Make_ExpandUse 2000 o meta.c: reduce memory allocation in meta_oodate 2001 o parse.c: reduce memory allocations for parsing dependencies and 2002 targets 2003 o suff.c: reduce memory allocation in suffix handling 2004 20052020-11-24 Simon J Gerraty <sjg@beast.crufty.net> 2006 2007 * VERSION (_MAKE_VERSION): 20201124 2008 Merge with NetBSD make, pick up 2009 o .MAKE.{UID,GID} represent uid and gid running make. 2010 o fix error handling for .BEGIN and .END dependency in -k mode 2011 o fix missing "Stop." after failed .END node in -k mode 2012 o use properly typed comparisons in boolean contexts 2013 o replace a few HashTable_CreateEntry with HashTable_Set 2014 o add HashSet type 2015 o compat.c: split Compat_Make into smaller functions 2016 extract DebugFailedTarget from Compat_RunCommand 2017 o dir.c: refactor Dir_UpdateMTime 2018 migrate CachedDir.files from HashTable to HashSet 2019 o make.c: add high-level API for GNode.made 2020 20212020-11-22 Simon J Gerraty <sjg@beast.crufty.net> 2022 2023 * VERSION (_MAKE_VERSION): 20201122 2024 Merge with NetBSD make, pick up 2025 o rename GNode.context to vars 2026 o suff.c: cleanup and refactor 2027 rename some functions and vars to better reflect usage 2028 add high-level API for CandidateSearcher 2029 o targ.c: add more debug logging for suffix handling 2030 o more unit tests 2031 o add debug logging for setting and resetting the main target 2032 20332020-11-17 Simon J Gerraty <sjg@beast.crufty.net> 2034 2035 * VERSION (_MAKE_VERSION): 20201117 2036 Merge with NetBSD make, pick up 2037 o fix some unit-tests when .SHELL is dash 2038 o rename Targ_NewGN to GNode_New 2039 o make some GNode functions const 2040 o main.c: call Targ_Init before Var_Init 2041 cleanup PrintOnError, getTmpdir and ParseBoolean 2042 o var.c: fix error message of failed :!cmd! modifier 2043 20442020-11-14 Simon J Gerraty <sjg@beast.crufty.net> 2045 2046 * VERSION (_MAKE_VERSION): 20201114 2047 Merge with NetBSD make, pick up 2048 o replace a few HashTable_CreateEntry with HashTable_Set 2049 o clean up cached_stats 2050 o rename DEFAULT to defaultNode 2051 o remove redundant struct make_stat 2052 o cond.c: in lint mode, check for ".else <cond>" 2053 use bitset for IfState 2054 replace large switch with if-else in Cond_EvalLine 2055 o job.c: clean up JobExec, JobStart, JobDoOutput 2056 use stderr for error message about failed touch 2057 clean up Job_Touch 2058 replace macro DBPRINTF with JobPrintln 2059 rename JobState to JobStatus 2060 main.c: switch cache for realpath from GNode to HashTable 2061 clean up Fatal 2062 clean up InitDefSysIncPath 2063 use progname instead of hard-coded 'make' in warning 2064 rename Main_SetVarObjdir to SetVarObjdir 2065 make.1: document the -S option 2066 make.c: fix debug output for GNode details 2067 use symbolic names in debug output of GNodes 2068 20692020-11-12 Simon J Gerraty <sjg@beast.crufty.net> 2070 2071 * configure.in: fix --with-force-machine-arch 2072 2073 * VERSION (_MAKE_VERSION): 20201112 2074 Merge with NetBSD make, pick up 2075 o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable 2076 checks in InitObjdir. Explicit .OBJDIR target always allows 2077 read-only directory. 2078 o cond.c: clean up Cond_EvalLine 2079 20802020-11-11 Simon J Gerraty <sjg@beast.crufty.net> 2081 2082 * VERSION (_MAKE_VERSION): 20201111 2083 Merge with NetBSD make, pick up 2084 o more unit-tests 2085 o style cleanup 2086 remove redundant parentheses from sizeof operator 2087 replace character literal 0 with '\0'. 2088 replace pointer literal 0 with NULL. 2089 remove redundant parentheses. 2090 replace (expr & mask) == 0 with !(expr & mask). 2091 use strict typing in conditions of the form !var 2092 o rename Make_OODate to GNode_IsOODate 2093 o rename Make_TimeStamp to GNode_UpdateYoungestChild 2094 o rename Var_Set_with_flags to Var_SetWithFlags 2095 o rename dieQuietly to shouldDieQuietly 2096 o buf.c: make API of Buf_Init simpler 2097 o compat.c: clean up Compat_Make, Compat_RunCommand, 2098 CompatDeleteTarget and CompatInterrupt 2099 o cond.c: in lint mode, only allow '&&' and '||', not '&' and '|' 2100 clean up CondParser_Comparison 2101 o main.c: rename getBoolean and s2Boolean 2102 rename MAKEFILE_PREFERENCE for consistency 2103 o parse.c: replace strstr in ParseMaybeSubMake with optimized code 2104 o var.c: rename VARE_ASSIGN to VARE_KEEP_DOLLAR 2105 replace emptyString with allocated empty string 2106 error out on unclosed expressions after the colon 2107 21082020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 2109 2110 * VERSION (_MAKE_VERSION): 20201101 2111 Merge with NetBSD make, pick up 2112 o negate NoExecute to GNode_ShouldExecute 2113 o job.c: rename JobMatchShell to FindShellByName 2114 extract EscapeShellDblQuot from JobPrintCommand 2115 extract ParseRunOptions from JobPrintCommand 2116 o var.c: extract ApplyModifiersIndirect from ApplyModifiers 2117 treat malformed :range, :ts and :[...] as errors 2118 add tests for the variable modifiers :[words] and :range 2119 21202020-10-31 Simon J Gerraty <sjg@beast.crufty.net> 2121 2122 * VERSION (_MAKE_VERSION): 20201031 2123 Merge with NetBSD make, pick up 2124 o format #include directives consistently 2125 o do not look up local variables like .TARGET anywhere else 2126 o main.c: Main_SetObjdir is first called for curdir which may be 2127 readonly 2128 reduce the scope where recursive expressions are detected 2129 remove redundant :tl from getBoolean 2130 clean up mkTempFile 2131 o meta.c: simplify memory allocation in meta_create and meta_oodate 2132 o parse.c: extract loadedfile_mmap from loadfile 2133 o trace.c: document possible undefined behavior with .CURDIR 2134 o var.c: make parsing of the :gmtime and :localtime modifiers stricter 2135 rename ismeta to is_shell_metachar 2136 remove debug logging for the :Q variable modifier 2137 rename VarIsDynamic to VarnameIsDynamic 2138 use consistent parameter order in varname parsing functions 2139 extract ParseVarnameLong from Var_Parse 2140 extract ParseVarnameShort from Var_Parse 2141 fix type of ParseModifierPart parameter delim 2142 extract IsEscapedModifierPart from ParseModifierPart 2143 clean up ModifyWords 2144 add test for combining the :@ and :? variable modifiers 2145 21462020-10-30 Simon J Gerraty <sjg@beast.crufty.net> 2147 2148 * VERSION (_MAKE_VERSION): 20201030 2149 Merge with NetBSD make, pick up 2150 o change char * to void * in Var_Value 2151 o make iterating over HashTable simpler 2152 o rename VAR_CMD to VAR_CMDLINE 2153 o cond.c: clean up is_separator 2154 fix parse error in string literal in conditional 2155 o main.c: do not use objdir that is not writable 2156 in lint mode, exit with error status on errors 2157 o parse.c: clean up StrContainsWord 2158 fix out-of-bounds pointer in ParseTrackInput 2159 o var.c: rename Str_SYSVMatch and its parameters 2160 remove unsatisfiable conditions in Var_Set_with_flags 2161 document where the variable name is expanded 2162 fix documentation for VARP_SUB_ONE 2163 rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME 2164 document VAR_READONLY 2165 prevent appending to read-only variables 2166 extract MayExport from Var_Export1 2167 remove redundant evaluations in VarFind 2168 replace VarFindFlags with a simple Boolean 2169 rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE 2170 21712020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 2172 2173 * VERSION (_MAKE_VERSION): 20201028 2174 Merge with NetBSD make, pick up 2175 o rename defIncPath to defSysIncPath 2176 o initialize all CmdOpts fields 2177 o lst.c: inline Vector_Get 2178 o main.c: refactor main extract 2179 InitMaxJobs,InitObjdir,InitVarMake,InitRandom, 2180 ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules, 2181 InitDefIncPath,CmdOpts_Init,UnlimitFiles 2182 o parse.c: merge curFile into includes 2183 rename predecessor to order_pred 2184 sort ParseSpecial alphabetically 2185 remove unused, undocumented .NOEXPORT 2186 rename ParseSpecial enum values consistently 2187 rename some fields of struct IFile 2188 21892020-10-26 Simon J Gerraty <sjg@beast.crufty.net> 2190 2191 * VERSION (_MAKE_VERSION): 20201026 2192 Merge with NetBSD make, pick up 2193 o group the command line options and arguments into a struct 2194 o rename GNode.cmgn to youngestChild 2195 o rename hash functions to identify the type name 2196 o negate OP_NOP and rename it to GNode_IsTarget 2197 o add GNode_Path to access the path of a GNode 2198 o remove macros MIN and MAX 2199 o remove unused Lst_Find and Lst_FindFrom 2200 o arch.c: and make Arch_FindLib simpler 2201 clean up code layout 2202 make Arch_ParseArchive simpler 2203 o cond.c: inline CondFindStrMatch into FuncMake 2204 o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath 2205 omit trailing space in debug output for expanding file patterns 2206 refactor DirMatchFiles 2207 document that the SearchPath of Dir_FindFile may be NULL 2208 remove UNCONST from Dir_Expand 2209 inline DirFindName 2210 o for.c: clean up code for handling .for loops 2211 o hash.c: print hash in debug log with fixed width 2212 clean up hash table functions 2213 reduce amount of string hashing 2214 o job.c: refactor JobDeleteTarget 2215 use proper enum constants for aborting 2216 convert result of JobStart from macros to enum 2217 convert abort reason macros to enum 2218 rework Job_CheckCommands to reduce indentation 2219 rename Shell fields 2220 add field names in declaration of DEFSHELL_CUSTOM 2221 convert JobState and JobFlags to enum types 2222 move handling of the "..." command to JobPrintCommands 2223 o lst.c: clean up 2224 refactor LstNodeNew 2225 remove Lst_Open, Lst_Next, Lst_Close 2226 remove code for circular lists from Lst_Next 2227 o main.c: do not attempt to read .MAKE.DEPENFILE if set to 2228 /dev/null or anything starting with "no" 2229 convert macros for debug flags into enum 2230 o make.c: inline Lst_Copy in Make_ExpandUse 2231 o meta.c: inline Lst_Find in meta_oodate 2232 make Lst_RemoveIf simpler in meta_oodate 2233 o parse.c: convert error level for Parse_Error to an enum 2234 o suff.c: properly terminate debug output with newline 2235 add more details to DEBUG_SRC log 2236 replace Dir_CopyDir with Dir_CopyDirSearchPath 2237 don't modify GNode name while rebuilding the suffix graph 2238 o var.c: reduce duplicate code in VarFind 2239 22402020-10-22 Simon J Gerraty <sjg@beast.crufty.net> 2241 2242 * VERSION (_MAKE_VERSION): 20201022 2243 Merge with NetBSD make, pick up 2244 o more refactoring and simplification to reduce code size 2245 o var.c: extract CanonicalVarname from VarFind 2246 o make.c: extract UpdateImplicitParentsVars from Make_Update 2247 o main.c: extract PrintVar from doPrintVars 2248 extract HandlePWD from main 2249 o lst.c: inline simple Lst getters 2250 remove unused Lst_ForEach 2251 o job.c: move struct Shell from job.h to job.c 2252 o more unit tests 2253 22542020-10-19 Simon J Gerraty <sjg@beast.crufty.net> 2255 2256 * configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT 2257 22582020-10-18 Simon J Gerraty <sjg@beast.crufty.net> 2259 2260 * VERSION (_MAKE_VERSION): 20201018 2261 Merge with NetBSD make, pick up 2262 o remove USE_IOVEC 2263 o rename some Hash_* apis to Hash* 2264 o replace execError with execDie 2265 o rename Lst_Init to Lst_New 2266 o add tags to enum types 2267 o rename Stack to Vector 2268 o parse.c: more refactoring 2269 o unit-tests: make some tests use line buffered stdout 2270 o unit-tests/Makefile: in meta mode do not make all tests depend on 2271 Makefile, it isn't necessary. 2272 22732020-10-10 Simon J Gerraty <sjg@beast.crufty.net> 2274 2275 * main.c: check for CTL_HW being defined. 2276 * unit-tests/Makefile: ensure export tests output are POSIX compliant 2277 disable opt-debug-jobs test until it works on ubuntu 2278 2279 * VERSION (_MAKE_VERSION): 20201010 2280 Merge with NetBSD make, pick up 2281 o dir.c: remove pathname limit for Dir_FindHereOrAbove 2282 o hash.c: replace strcpy with memcpy in Hash_CreateEntry 2283 o main.c: extract init_machine and init_machine_arch from main 2284 allow to disable debug logging options 2285 o parse.c: enable format string truncation warnings 2286 extract parsing of sources from ParseDoDependency 2287 split ParseDoSrc into smaller functions 2288 hide implementation details from Parse_DoVar 2289 clean up parsing of variable assignments 2290 split Parse_DoVar into manageable pieces 2291 don't modify the given line during Parse_DoVar 2292 fix out-of-bounds memory access in Parse_DoVar 2293 fix parsing of the :sh assignment modifier 2294 o var.c: rework memory allocation for the name of variables 2295 extract ApplyModifier_Literal into separate function 2296 in lint mode, reject modifiers without delimiter 2297 do not export variable names starting with '-' 2298 o fix double-free bug in -DCLEANUP mode 2299 o more cleanup to enable higher warnings level 2300 o more unit tests 2301 23022020-10-02 Simon J Gerraty <sjg@beast.crufty.net> 2303 2304 * VERSION (_MAKE_VERSION): 20201002 2305 Merge with NetBSD make, pick up 2306 o dir.c: use hash table for looking up open directories by name 2307 o main.c: clean up option handling 2308 o parse.c: add missing const for Parse_AddIncludeDir 2309 o var.c: ApplyModifier_To, update pp in each branch 2310 o remove redundant function prototypes 2311 o more unit tests 2312 23132020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 2314 2315 * VERSION (_MAKE_VERSION): 20201001 2316 Merge with NetBSD make, pick up 2317 o compat.c: comment about "..." 2318 23192020-09-30 Simon J Gerraty <sjg@beast.crufty.net> 2320 2321 * VERSION (_MAKE_VERSION): 20200930 2322 Merge with NetBSD make, pick up 2323 o job.c: split Job.jobPipe into 2 separate fields 2324 replace Lst_Open with direct iteration 2325 o lst.c: remove redundant assertions 2326 o targ.c: replace Lst_Open with direct iteration 2327 o var.c: fix bug in evaluation of indirect variable modifiers 2328 extract ApplyModifier_Quote into separate function 2329 o make debug logging simpler 2330 23312020-09-27 Simon J Gerraty <sjg@beast.crufty.net> 2332 2333 * VERSION (_MAKE_VERSION): 20200927 2334 Merge with NetBSD make, pick up 2335 o parse.c: ensure parse errors result in 'stopped in' message. 2336 o compat.c: make parameter of Compat_RunCommand const 2337 o main.c: extract InitVarTarget from main 2338 o parse.c: rename ParseFinishLine to FinishDependencyGroup 2339 refactor ParseDoDependency 2340 o var.c: Var_Subst no longer returns string result 2341 rename Var_ParsePP back to Var_Parse 2342 in lint mode, improve error handling for undefined variables 2343 extract ParseVarname from Var_Parse 2344 o rename Lst_ForEach to Lst_ForEachUntil 2345 o inline Lst_ForEachUntil in several cases 2346 o clean up API for finding and creating GNodes 2347 o fix assertion failure in -j mode with .END node 2348 o inline and remove LstNode_Prev and LstNode_Next 2349 o use fine-grained type names for lists and their nodes 2350 o more unit tests 2351 23522020-09-11 Simon J Gerraty <sjg@beast.crufty.net> 2353 2354 * VERSION (_MAKE_VERSION): 20200911 2355 Merge with NetBSD make, pick up 2356 o cond.c: split EvalComparison into smaller functions 2357 reorder parameters of condition parsing functions 2358 reduce code size in CondParser_Eval 2359 rename CondGetString to CondParser_String 2360 add CondLexer_SkipWhitespace 2361 group the condition parsing state into a struct 2362 in CondGetString, replace repeated Buf_Add with Buf_AddStr 2363 o migrate Var_Parse to Var_ParsePP 2364 o add wrappers around ctype.h functions 2365 o lst.c: use a stack instead of a list for the nested include path 2366 o more unit tests 2367 23682020-09-04 Simon J Gerraty <sjg@beast.crufty.net> 2369 2370 * make-bootstrap.sh.in: adjust object list 2371 23722020-09-02 Simon J Gerraty <sjg@beast.crufty.net> 2373 2374 * VERSION (_MAKE_VERSION): 20200902 2375 Merge with NetBSD make, pick up 2376 o use make_stat to ensure no confusion over valid fields 2377 returned by cached_stat 2378 o var.c: make VarQuote const-correct 2379 o add unit tests for .for 2380 23812020-09-01 Simon J Gerraty <sjg@beast.crufty.net> 2382 2383 * VERSION (_MAKE_VERSION): 20200901 2384 Merge with NetBSD make, pick up 2385 o rename Hash_Table fields 2386 o make data types in Dir_HasWildcards more precise 2387 23882020-08-31 Simon J Gerraty <sjg@beast.crufty.net> 2389 2390 * VERSION (_MAKE_VERSION): 20200831 2391 Merge with NetBSD make, pick up 2392 o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds 2393 o lst.c: Lst_Open renable assert that list isn't open 2394 o unit test for .TARGET dependent flags 2395 o var.c: fix aliasing bug in VarUniq 2396 o more unit tests for :u 2397 23982020-08-30 Simon J Gerraty <sjg@beast.crufty.net> 2399 2400 * VERSION (_MAKE_VERSION): 20200830 2401 Merge with NetBSD make, pick up 2402 o allow for strict type checking for Boolean 2403 o Var_Parse never returns NULL 2404 o Var_Subst never returns NULL 2405 o Lst_Find now takes boolean match function 2406 o rename Lst_Memeber to Lst_FindDatum 2407 o rename LstNode functions to match their type 2408 o rename GNode.iParents to implicitParents 2409 o fix assertion failure for .SUFFIXES in archives 2410 o compat.c: clean up documentation for CompatInterrupt and Compat_Run 2411 remove unreachable code from CompatRunCommand 2412 o main.c: simplify getBoolean 2413 o stc.c: replace brk_string with simpler Str_Words 2414 o suff.c: add debug macros 2415 24162020-08-28 Simon J Gerraty <sjg@beast.crufty.net> 2417 2418 * VERSION (_MAKE_VERSION): 20200828 2419 Merge with NetBSD make, pick up 2420 o lst.c: inline LstIsValid and LstNodeIsValid 2421 o remove trailing S from Lst function names after migration complete 2422 o more comment cleanup/clarification 2423 o suff.c: clean up suffix handling 2424 o more unit tests 2425 24262020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 2427 2428 * VERSION (_MAKE_VERSION): 20200826 2429 Merge with NetBSD make, pick up 2430 o enum.c: distinguish between bitsets containing flags and 2431 ordinary enums 2432 o var.c: fix error message for ::!= modifier with shell error 2433 o fix bugs in -DCLEANUP mode 2434 24352020-08-24 Simon J Gerraty <sjg@beast.crufty.net> 2436 2437 * VERSION (_MAKE_VERSION): 20200824 2438 Merge with NetBSD make, pick up 2439 o in debug mode, print GNode details in symbols 2440 24412020-08-23 Simon J Gerraty <sjg@beast.crufty.net> 2442 2443 * VERSION (_MAKE_VERSION): 20200823 2444 Merge with NetBSD make, pick up 2445 o lst.c: more asserts, 2446 make args to Lst_Find match others. 2447 o var.c: pass flags to VarAdd 2448 o arch.c: use Buffer 2449 o str.c: brk_string return size_t for nwords 2450 o more unit tests 2451 24522020-08-22 Simon J Gerraty <sjg@beast.crufty.net> 2453 2454 * VERSION (_MAKE_VERSION): 2455 Merge with NetBSD make, pick up 2456 o var.c: support for read-only variables eg .SHELL 2457 being the shell used to run scripts. 2458 o lst.c: more simplification 2459 o more documentation and style cleanup 2460 o more unit tests 2461 o ensure unit-test/Makefile is run by TEST_MAKE 2462 o reduce duplication of header inclusion 2463 24642020-08-21 Simon J Gerraty <sjg@beast.crufty.net> 2465 2466 * VERSION (_MAKE_VERSION): 20200821 2467 Merge with NetBSD make, pick up 2468 o lst.c: revert invalid assertion - but document it 2469 o dir.c: split Dir_Init into two functions 2470 24712020-08-20 Simon J Gerraty <sjg@beast.crufty.net> 2472 2473 * lst.c: needs inttypes.h on Linux 2474 2475 * VERSION (_MAKE_VERSION): 20200820 2476 Merge with NetBSD make, pick up 2477 o make.1: clarify some passages 2478 o var.c: more cleanup, clarify comments 2479 o make_malloc.c: remove unreachable code 2480 o cond.c: make CondGetString easier to debug 2481 o simplify list usage 2482 o unit-tests: more 2483 24842020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 2485 2486 * VERSION (_MAKE_VERSION): 20200816 2487 Merge with NetBSD make, pick up 2488 o refactor unit-tests to be more fine grained 2489 not all tests moved yet 2490 24912020-08-14 Simon J Gerraty <sjg@beast.crufty.net> 2492 2493 * VERSION (_MAKE_VERSION): 20200814 2494 Merge with NetBSD make, pick up 2495 o more str_concat variants 2496 o more enums for flags 2497 o var.c: cleanup for higher warnings level 2498 24992020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 2500 2501 * VERSION (_MAKE_VERSION): 20200810 2502 Merge with NetBSD make, pick up 2503 o more unit tests 2504 o general comment and style cleanup 2505 25062020-08-08 Simon J Gerraty <sjg@beast.crufty.net> 2507 2508 * VERSION (_MAKE_VERSION): 20200808 2509 Merge with NetBSD make, pick up 2510 o enum.[ch]: streamline, enums for use in flags and debug output 2511 o cond.c: cleanup 2512 o var.c: reduce duplicate code for modifiers 2513 debug logging for Var_Parse 2514 more detailed debug output 2515 o more unit tests 2516 25172020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 2518 2519 * unit-tests/Makefile: -r for recursive and include Makefile.inc 2520 so I can run tests in meta mode 2521 supress extra noise if in meta mode 2522 2523 * VERSION (_MAKE_VERSION): 20200806 2524 Merge with NetBSD make, pick up 2525 o parse.c: remove VARE_WANTRES for LINT 2526 we just want to check parsing (for now). 2527 25282020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 2529 2530 * VERSION (_MAKE_VERSION): 20200805 2531 Merge with NetBSD make, pick up 2532 o make.1: Rework the description of dependence operators 2533 25342020-08-03 Simon J Gerraty <sjg@beast.crufty.net> 2535 2536 * VERSION (_MAKE_VERSION): 20200803 2537 Merge with NetBSD make, pick up 2538 o revert some C99 usage, for max portability 2539 o unit-tests/lint 2540 25412020-08-02 Simon J Gerraty <sjg@beast.crufty.net> 2542 2543 * VERSION (_MAKE_VERSION): 20200802 2544 Merge with NetBSD make, pick up 2545 o more unit tests 2546 25472020-08-01 Simon J Gerraty <sjg@beast.crufty.net> 2548 2549 * Remove NetBSD specific plumbing from unit-tests/Makefile 2550 2551 * VERSION (_MAKE_VERSION): 20200801 2552 Merge with NetBSD make, pick up 2553 o make Var_Value return const 2554 o size_t for buf sizes 2555 o optimize some buffer operations - avoid strlen 2556 25572020-07-31 Simon J Gerraty <sjg@beast.crufty.net> 2558 2559 * VERSION (_MAKE_VERSION): 20200731 2560 Merge with NetBSD make, pick up 2561 o var.c: fix undefinded behavior for incomplete :t modifier 2562 fixes unit-test/moderrs on Ubuntu 2563 o parse.c: When parsing variable assignments other than := 2564 if DEBUG(LINT) test substition of value, so we get a file and 2565 line number in the resulting error. 2566 o dir.c: fix parsing of nested braces in dependency lines 2567 add unit-tests 2568 25692020-07-30 Simon J Gerraty <sjg@beast.crufty.net> 2570 2571 * VERSION (_MAKE_VERSION): 20200730 2572 Merge with NetBSD make, pick up 2573 o var.c: minor cleanup 2574 o unit-tests: more tests to improve code coverage 2575 25762020-07-28 Simon J Gerraty <sjg@beast.crufty.net> 2577 2578 * VERSION (_MAKE_VERSION): 20200728 2579 Merge with NetBSD make, pick up 2580 o var.c: more optimizations 2581 25822020-07-26 Simon J Gerraty <sjg@beast.crufty.net> 2583 2584 * VERSION (_MAKE_VERSION): 20200726 2585 Merge with NetBSD make, pick up 2586 o collapse lsd.lib into lst.c - reduce code size and allow inlining 2587 o lots of function comment updates 2588 o var.c: more optimizations 2589 o make return of Var_Parse const 2590 25912020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 2592 2593 * VERSION (_MAKE_VERSION): 20200720 2594 Merge with NetBSD make, pick up 2595 o DEBUG_HASH report stats at end and tone down the noise 2596 o var.c: each flag type gets its own prefix. 2597 move SysV string matching to var.c 2598 make ampersand in ${VAR:from=to&} an ordinary character 2599 cleanup and simplify implementation of modifiers 2600 o make.1: move documentation for assignment modifiers 2601 26022020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 2603 2604 * VERSION (_MAKE_VERSION): 20200718 2605 Merge with NetBSD make, pick up 2606 o DEBUG_HASH to see how well the hash tables are working 2607 26082020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 2609 2610 * bsd.after-import.mk: make sure we update unit-tests/Makefile 2611 26122020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 2613 2614 * configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC 2615 2616 * VERSION (_MAKE_VERSION): 20200710 2617 Merge with NetBSD make, pick up 2618 o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall 2619 o meta.c: target flagged .META is out-of-date if meta file missing 2620 26212020-07-09 Simon J Gerraty <sjg@beast.crufty.net> 2622 2623 * VERSION (_MAKE_VERSION): 20200709 2624 Merge with NetBSD make, pick up 2625 o cond.c: fix for compare_expression when doEval=0 2626 o unit-tests/Makefile: rework 2627 o filemon/filemon_dev.c: ensure filemon fd is closed on exec. 2628 26292020-07-04 Simon J Gerraty <sjg@beast.crufty.net> 2630 2631 * VERSION (_MAKE_VERSION): 20200704 2632 Merge with NetBSD make, pick up 2633 (most of this by rillig@) 2634 o lots of style and white-space cleanup 2635 o lots more unit tests for variable modifiers 2636 o simplified description of some functions 2637 o str.c: refactor Str_Match 2638 o var.c: debugging output for :@ 2639 constify VarModify parameter 2640 fix :hash modifier on 16-bit platforms 2641 remove unnecessary forward declarations 2642 refactor ApplyModifier_SysV to have less indentation 2643 simplify code for :E and :R 2644 clean up code for :H and :T 2645 refactor ApplyModifiers 2646 2647 * var.c: we need stdint.h on some platforms to get uint32_t 2648 * unit-test/Makefile: we need to supress the specific error 2649 for RE substitution error in modmisc, since it varies accross 2650 different OS. 2651 26522020-07-02 Simon J Gerraty <sjg@beast.crufty.net> 2653 2654 * VERSION (_MAKE_VERSION): 20200702 2655 Merge with NetBSD make, pick up 2656 o var.c: more improvements to avoiding unnecessary evaluation 2657 use enums for flags 2658 o remove flags arg to Var_Set which outside of var.c is always 0 2659 26602020-07-01 Simon J Gerraty <sjg@beast.crufty.net> 2661 2662 * VERSION (_MAKE_VERSION): 20200701 2663 Merge with NetBSD make, pick up 2664 o var.c: with change to cond.c; ensure that nested variables 2665 within a variable name are expanded. 2666 o unit-tests/varmisc.mk: test for nested varname 2667 26682020-06-29 Simon J Gerraty <sjg@beast.crufty.net> 2669 2670 * VERSION (_MAKE_VERSION): 20200629 2671 Merge with NetBSD make, pick up 2672 o cond.c: do not eval unnecessary terms of conditionals. 2673 26742020-06-25 Simon J Gerraty <sjg@beast.crufty.net> 2675 2676 * VERSION (_MAKE_VERSION): 20200625 2677 Merge with NetBSD make, pick up 2678 o meta.c: report error if lseek in filemon_read fails 2679 26802020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 2681 2682 * VERSION (_MAKE_VERSION): 20200622 2683 Merge with NetBSD make, pick up 2684 o dieQuietly: ignore OP_SUBMAKE as too aggressive 2685 26862020-06-19 Simon J Gerraty <sjg@beast.crufty.net> 2687 2688 * VERSION (_MAKE_VERSION): 20200619 2689 Merge with NetBSD make, pick up 2690 o str.c: performance improvement for Str_Match for multiple '*' 2691 o dieQuietly: supress the failure output from make 2692 when failing node is a sub-make or a sibling failed. 2693 This cuts down greatly on unhelpful noise at the end of 2694 build log. Disabled by -dj or .MAKE.DIE_QUIETLY=no 2695 26962020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 2697 2698 * FILES: add LICENSE to appease some packagers. 2699 This is an attempt to fairly represent the license on almost 2700 200 files, which are almost all BSD-3-Clause 2701 The few exceptions being more liberal. 2702 2703 * VERSION (_MAKE_VERSION): 20200610 2704 Merge with NetBSD make, pick up 2705 o unit test for :Or 2706 27072020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 2708 2709 * VERSION (_MAKE_VERSION): 20200606 2710 Merge with NetBSD make, pick up 2711 o make.1: cleanup 2712 2713 * Makefile: fix depends for main.o which broke MAKE_VERSION 2714 27152020-06-05 Simon J Gerraty <sjg@beast.crufty.net> 2716 2717 * VERSION (_MAKE_VERSION): 20200605 2718 Merge with NetBSD make, pick up 2719 o dir.c: cached_stats - don't confuse stat and lstat results. 2720 o var.c: add :Or for reverse sort. 2721 27222020-05-24 Simon J Gerraty <sjg@beast.crufty.net> 2723 2724 * configure.in: add AC_PROG_CC_C99 for mipspro compiler 2725 also if --with-filemon= specifies path to filemon.h 2726 set use_filemon=dev 2727 * dirname.c: remove include of namespace.h 2728 27292020-05-17 Simon J Gerraty <sjg@beast.crufty.net> 2730 2731 * VERSION (_MAKE_VERSION): 20200517 2732 Merge with NetBSD make, pick up 2733 o modified dollar tests to avoid shell dependencies 2734 o new tests for .INCLUDEFROM 2735 27362020-05-16 Simon J Gerraty <sjg@beast.crufty.net> 2737 2738 * unit-tests/dollar.mk: tweak '1 dollar literal' test 2739 to not depend so much on shell behavior 2740 27412020-05-10 Simon J Gerraty <sjg@beast.crufty.net> 2742 2743 * VERSION (_MAKE_VERSION): 20200510 2744 Merge with NetBSD make, pick up 2745 o unit test for dollar handling 2746 27472020-05-06 Simon J Gerraty <sjg@beast.crufty.net> 2748 2749 * VERSION (_MAKE_VERSION): 20200506 2750 Merge with NetBSD make, pick up 2751 o str.c: empty string does not match % pattern 2752 plus unit-test changes 2753 27542020-05-04 Simon J Gerraty <sjg@beast.crufty.net> 2755 2756 * VERSION (_MAKE_VERSION): 20200504 2757 May the 4th be with you 2758 Merge with NetBSD make, pick up 2759 o var.c: import handling of old sysV style modifier using '%' 2760 o str.c: refactor brk_string 2761 o unit-tests: add test case for lazy conditions 2762 27632020-04-18 Simon J Gerraty <sjg@beast.crufty.net> 2764 2765 * VERSION (_MAKE_VERSION): 20200418 2766 2767 * configure.in: use_makefile=no for Cygwin et al. 2768 case insensitive filesystems just don't work if both 2769 makefile and Makefile exist. 2770 NOTE: bmake does not support Cygwin and likely never will, 2771 but if brave souls want to try it - help them out. 2772 27732020-04-02 Simon J Gerraty <sjg@beast.crufty.net> 2774 2775 * VERSION (_MAKE_VERSION): 20200402 2776 Merge with NetBSD make, pick up 2777 o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD 2778 a blank command is perfectly valid. 2779 27802020-03-30 Simon J Gerraty <sjg@beast.crufty.net> 2781 2782 * VERSION (_MAKE_VERSION): 20200330 2783 Merge with NetBSD make, pick up 2784 o make.h: extern debug_file 2785 27862020-03-18 Simon J Gerraty <sjg@beast.crufty.net> 2787 2788 * VERSION (_MAKE_VERSION): 20200318 2789 Merge with NetBSD make, pick up 2790 o meta.c: meta_oodate, check for corrupted meta file 2791 earlier and more often. 2792 27932020-02-20 Simon J Gerraty <sjg@beast.crufty.net> 2794 2795 * VERSION (_MAKE_VERSION): 20200220 2796 27972020-02-19 Simon J Gerraty <sjg@beast.crufty.net> 2798 2799 * boot-strap: unset MAKEFLAGS 2800 28012020-02-12 Simon J Gerraty <sjg@beast.crufty.net> 2802 2803 * VERSION (_MAKE_VERSION): 20200212 2804 * meta.c: meta_compat_parent check for USE_FILEMON 2805 patch from Soeren Tempel 2806 28072020-02-05 Simon J Gerraty <sjg@beast.crufty.net> 2808 2809 * VERSION: 20200205 2810 Merge with NetBSD make, pick up 2811 o meta.c: fix compat mode, need to call meta_job_output() 2812 o job.c: extra fds for meta mode not needed if using filemon_dev 2813 28142020-01-22 Simon J Gerraty <sjg@beast.crufty.net> 2815 2816 * VERSION: 20200122 2817 Merge with NetBSD make, pick up 2818 o meta.c: avoid passing NULL to filemon_*() when meta_needed() 2819 returns FALSE. 2820 28212020-01-21 Simon J Gerraty <sjg@beast.crufty.net> 2822 2823 * VERSION: 20200121 2824 Merge with NetBSD make, pick up 2825 o filemon/filemon_{dev,ktrace}.c: allow selection of 2826 filemon implementation. filemon_dev.c uses the kernel module 2827 while filemon_ktrace.c leverages the fktrace api available in 2828 NetBSD. filemon_ktrace.c can hopefully form the basis for 2829 adding support for other tracing mechanisms such as strace on 2830 Linux. 2831 o meta.c: when target is out-of-date per normal make rules 2832 record value of .OODATE in meta file. 2833 28342019-09-26 Simon J Gerraty <sjg@beast.crufty.net> 2835 2836 * VERSION: 20190926 2837 Merge with NetBSD make, pick up 2838 o parse.c: don't pass NULL to realpath(3) 2839 some versions cannot handle it. 2840 28412019-04-09 Simon J Gerraty <sjg@beast.crufty.net> 2842 2843 * VERSION: 20190409 2844 Merge with NetBSD make, pick up 2845 o parse.c: ParseDoDependency: free paths rather than assert 2846 28472018-12-22 Simon J Gerraty <sjg@beast.crufty.net> 2848 2849 * VERSION: 20181222 2850 2851 * configure.in: add --without-makefile to avoid generating 2852 makefile and make-bootstrap.sh 2853 2854 * include Makefile.inc if it exists 2855 2856 * Use Makefile and Makefile.config.in in unit-tests 2857 so we can use just: make obj && make && make test 2858 when bmake is already available. 2859 We add --without-makefile to CONFIGURE_ARGS in this case. 2860 2861 * tweak bsd.after-import.mk (captures Makefile.config etc 2862 after import to FreeBSD for example) to cope with all the above. 2863 28642018-12-21 Simon J Gerraty <sjg@beast.crufty.net> 2865 2866 * VERSION: 20181221 2867 Merge with NetBSD make, pick up 2868 o parse.c: ParseVErrorInternal use .PARSEDIR 2869 and apply if relative, and then use .PARSEFILE 2870 for consistent result. 2871 28722018-12-20 Simon J Gerraty <sjg@beast.crufty.net> 2873 2874 * VERSION: 20181220 2875 Merge with NetBSD make, pick up 2876 o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR 2877 is relative 2878 o var.c: avoid SEGFAULT in .unexport-env 2879 when MAKELEVEL is not set 2880 28812018-12-16 Simon J Gerraty <sjg@beast.crufty.net> 2882 2883 * VERSION: 20181216 2884 Merge with NetBSD make, pick up 2885 o fix for unit-tests/varquote.mk on Debian 2886 28872018-09-21 Simon J. Gerraty <sjg@bad.crufty.net> 2888 2889 * VERSION: 20180919 2890 Merge with NetBSD make, pick up 2891 o var.c: add :q 2892 o dir.c: cleanup caching of stats 2893 28942018-09-21 Simon J Gerraty <sjg@beast.crufty.net> 2895 2896 * Makefile.config.in: use += where it makes sense. 2897 28982018-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 2899 2900 * VERSION: 20180512 2901 Merge with NetBSD make, pick up 2902 o job.c: skip polling job token pipe 2903 29042018-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 2905 2906 * VERSION: 20180405 2907 Merge with NetBSD make, pick up 2908 o parse.c: be more cautious about detecting depenency line 2909 rather than sysV style include. 2910 29112018-02-22 Simon J. Gerraty <sjg@bad.crufty.net> 2912 2913 * VERSION: 20180222 2914 Merge with NetBSD make, pick up 2915 o parse.c: avoid calling sysconf for every call to loadfile 2916 29172018-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 2918 2919 * VERSION: 20180218 2920 Merge with NetBSD make, pick up 2921 o var.c: Var_Set handle NULL value anytime. 2922 29232018-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 2924 2925 * VERSION: 20180212 2926 Merge with NetBSD make, pick up 2927 o parse.c: do not treat .info as warning with -W 2928 29292017-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 2930 2931 * VERSION: 20171207 2932 Merge with NetBSD make, pick up 2933 o var.c: Var_Append use Var_Set if var not previously set 2934 so that VAR_CMD is handled correctly. 2935 Add a suitable unit-test. 2936 29372017-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 2938 2939 * VERSION (_MAKE_VERSION): 20171126 2940 2941 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__ 2942 since AC_TRY_COMPILE puts input inside main() 2943 which upsets modern compilers. 2944 29452017-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 2946 2947 * VERSION: 20171118 2948 Merge with NetBSD make, pick up 2949 o var.c: do not append to variable set on command line 2950 add unit-test to catch this. 2951 29522017-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 2953 2954 * VERSION: 20171028 2955 Merge with NetBSD make, pick up 2956 o main.c: ignore empty MAKEOBJDIR 2957 2958 * Makefile.config.in: 2959 make @prefix@ @machine*@ and @default_sys_path@ defaults. 2960 29612017-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 2962 2963 * VERSION: 20171005 2964 2965 * unit-tests/dotwait.mk: redirect stderr through pipe for more 2966 consistent result on some platforms. 2967 29682017-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 2969 2970 * machine.sh: entry for AIX 2971 29722017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 2973 2974 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION 2975 to a file that can be included by configure as well as make. 2976 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh 2977 29782017-08-10 Simon J. Gerraty <sjg@bad.crufty.net> 2979 2980 * Makefile (_MAKE_VERSION): 20170810 2981 Merge with NetBSD make, pick up 2982 o meta.c: if target is in subdir we only need subdir name in 2983 meta_name. 2984 29852017-07-20 Simon J. Gerraty <sjg@bad.crufty.net> 2986 2987 * Makefile (_MAKE_VERSION): 20170720 2988 Merge with NetBSD make, pick up 2989 o compat.c: pass SIGINT etc onto child and wait for it to exit 2990 before we self-terminate. 2991 29922017-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 2993 2994 * Makefile (_MAKE_VERSION): 20170711 2995 forgot to update after merge on 20170708 ;-) 2996 o main.c: refactor to reduce size of main function. 2997 add -v option to always fully expand values. 2998 o meta.c: ensure command output in meta file has ending newline 2999 even when filemon not being used. 3000 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use 3001 pathname via ':L' since any ':' in pathname breaks that. 3002 Instead set a '${.p.}' to pathname in the target context and 3003 use that. 3004 30052017-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 3006 3007 * Makefile (_MAKE_VERSION): 20170510 3008 Merge with NetBSD make, pick up 3009 o main.c: Main_SetObjdir: ensure buf2 is in scope 3010 30112017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 3012 3013 * Makefile (_MAKE_VERSION): 20170505 3014 see mk/ChangeLog 3015 30162017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 3017 3018 * parse.c: not everyone has stdint.h 3019 30202017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 3021 3022 * Makefile (_MAKE_VERSION): 20170501 3023 see mk/ChangeLog 3024 30252017-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 3026 3027 * Makefile (_MAKE_VERSION): 20170421 3028 Merge with NetBSD make, pick up 3029 o str.c: Str_Match: fix closure tests for [^] and add unit-test. 3030 30312017-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 3032 3033 * Makefile (_MAKE_VERSION): 20170420 3034 Merge with NetBSD make, pick up 3035 o main.c: only use -C arg "as is" if it contains no 3036 relative component. 3037 30382017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 3039 3040 * Makefile (_MAKE_VERSION): 20170418 3041 Merge with NetBSD make, pick up 3042 o main.c: fix Main_SetObjdir() for relative paths (eg obj). 3043 30442017-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 3045 3046 * Makefile (_MAKE_VERSION): 20170417 3047 Merge with NetBSD make, pick up 3048 o fixes a number of coverity complaints 3049 - check return value of fseek, fcntl 3050 - plug memory leak in Dir_FindFile, Var_LoopExpand, 3051 JobPrintCommand, ParseTraditionalInclude 3052 - use bmake_malloc() where NULL is not tollerated 3053 - use MAKE_ATTR_UNUSED rather that kludges like 3054 return(unused ? 0 : 0) 3055 - use purge_cached_realpaths() rather than abuse cached_realpath() 3056 30572017-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 3058 3059 * Makefile (_MAKE_VERSION): 20170413 3060 Merge with NetBSD make, pick up 3061 o main.c: when setting .OBJDIR ignore '$' in paths. 3062 3063 * job.c: use MALLOC_OPTIONS to set malloc_options. 3064 30652017-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 3066 3067 * Makefile (_MAKE_VERSION): 20170411 3068 Merge with NetBSD make, pick up 3069 o str.c: Str_Match: allow [^a-z] to behave as expected. 3070 30712017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 3072 3073 * Makefile (_MAKE_VERSION): 20170326 3074 Merge with NetBSD make, pick up 3075 o main.c: purge relative paths from realpath cache when .OBJDIR 3076 is changed. 3077 30782017-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 3079 3080 * Makefile (_MAKE_VERSION): 20170311 3081 Merge with NetBSD make, pick up 3082 o main.c: only use -C arg "as is" if it starts with '/'. 3083 30842017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 3085 3086 * Makefile (_MAKE_VERSION): 20170301 3087 Merge with NetBSD make, pick up 3088 o main.c: use -C arg "as is" rather than getcwd() 3089 if they identify the same directory. 3090 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case 3091 30922017-02-01 Simon J. Gerraty <sjg@bad.crufty.net> 3093 3094 * Makefile (_MAKE_VERSION): 20170201 3095 Merge with NetBSD make, pick up 3096 o var.c: allow :_=var and avoid use of special context. 3097 30982017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 3099 3100 * Makefile (_MAKE_VERSION): 20170130 3101 Merge with NetBSD make, pick up 3102 o var.c: add :range and :_ 3103 o main.c: partially initialize Dir_* before MainParseArgs() 3104 can be called. 3105 If -V, skip Main_ExportMAKEFLAGS() 3106 31072017-01-14 Simon J. Gerraty <sjg@bad.crufty.net> 3108 3109 * Makefile (_MAKE_VERSION): 20170114 3110 Merge with NetBSD make, pick up 3111 o var.c: allow specifying the utc value used by :{gm,local}time 3112 31132016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 3114 3115 * Makefile (_MAKE_VERSION): 20161212 3116 Merge with NetBSD make, pick up 3117 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too. 3118 31192016-12-09 Simon J. Gerraty <sjg@bad.crufty.net> 3120 3121 * Makefile (_MAKE_VERSION): 20161209 3122 Merge with NetBSD make, pick up 3123 o main.c: cleanup setting of .OBJDIR 3124 o parse.c: avoid coredump from (var)=val 3125 31262016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 3127 3128 * Makefile (_MAKE_VERSION): 20161126 3129 Merge with NetBSD make, pick up 3130 o make.c: Make_OODate: report src node name if path not set 3131 31322016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 3133 3134 * Makefile (_MAKE_VERSION): 20160926 3135 Merge with NetBSD make, pick up 3136 o support for .DELETE_ON_ERROR: (remove targets that fail) 3137 31382016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 3139 3140 * Makefile MAN: tweak .Dt to match ${PROG} 3141 31422016-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 3143 3144 * Makefile (_MAKE_VERSION): 20160818 3145 its a neater number; pick up whitespace fixes to man page. 3146 31472016-08-17 Simon J. Gerraty <sjg@bad.crufty.net> 3148 3149 * Makefile (_MAKE_VERSION): 20160817 3150 Merge with NetBSD make, pick up 3151 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore() 3152 so we can call it before adding entries to missingFiles. 3153 Thus we do not track files we have been told to ignore. 3154 31552016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 3156 3157 * Makefile (_MAKE_VERSION): 20160815 3158 Merge with NetBSD make, pick up 3159 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to 3160 pathnames, and skip if the expansion is empty. 3161 Useful for dirdeps.mk when checking DIRDEPS_CACHE. 3162 31632016-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 3164 3165 * Makefile (_MAKE_VERSION): 20160812 3166 Merge with NetBSD make, pick up 3167 o meta.c: remove all missingFiles entries that match a deleted 3168 dir. 3169 o main.c: set .ERROR_CMD if possible. 3170 31712016-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 3172 3173 * Makefile (_MAKE_VERSION): 20160606 3174 Merge with NetBSD make, pick up 3175 o dir.c: extend mtimes cache to others via cached_stat() 3176 31772016-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 3178 3179 * Makefile (_MAKE_VERSION): 20160604 3180 Merge with NetBSD make, pick up 3181 o meta.c: missing filemon data is only relevant if we read a 3182 meta file. 3183 Also do not return oodate for a missing metafile if gn->path 3184 points to .CURDIR 3185 31862016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 3187 3188 * Makefile (_MAKE_VERSION): 20160602 3189 Merge with NetBSD make, pick up 3190 o cached_realpath(): avoid hitting filesystem more than necessary. 3191 o meta.c: refactor need_meta decision, add knobs for 3192 missing meta file and filemon data wrt out-of-datedness. 3193 31942016-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 3195 3196 * Makefile (_MAKE_VERSION): 20160528 3197 3198 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 3199 32002016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 3201 3202 * Makefile (_MAKE_VERSION): 20160512 3203 Merge with NetBSD make, pick up 3204 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS 3205 this is useful for gcov builds. 3206 o propagate errors from filemon(4). 3207 32082016-05-09 Simon J. Gerraty <sjg@bad.crufty.net> 3209 3210 * Makefile (_MAKE_VERSION): 20160509 3211 Merge with NetBSD make, pick up 3212 o remove use of non-standard types u_int etc. 3213 o meta.c: apply realpath() before matching against metaIgnorePaths 3214 32152016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 3216 3217 * Makefile (_MAKE_VERSION): 20160404 3218 Merge with NetBSD make, pick up 3219 o allow makefile to set .MAKE.JOBS 3220 3221 * Makefile (PROG_NAME): use ${_MAKE_VERSION} 3222 32232016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 3224 3225 * Makefile (_MAKE_VERSION): 20160315 3226 Merge with NetBSD make, pick up 3227 o fix handling of archive members 3228 32292016-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 3230 3231 * Makefile (_MAKE_VERSION): rename variable to avoid interference 3232 with checks for ${MAKE_VERSION} 3233 32342016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 3235 3236 * Makefile (MAKE_VERSION): 20160310 3237 Merge with NetBSD make, pick up 3238 o meta.c: treat missing Read file same as Write, incase we Delete it. 3239 32402016-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 3241 3242 * Makefile (MAKE_VERSION): 20160307 3243 Merge with NetBSD make, pick up 3244 o var.c: fix :ts\nnn to be octal by default. 3245 o meta.c: meta_finish() to cleanup memory. 3246 32472016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 3248 3249 * Makefile (MAKE_VERSION): 20160226 3250 Merge with NetBSD make, pick up 3251 o meta.c: allow meta file for makeDepend if makefiles want it. 3252 32532016-02-19 Simon J. Gerraty <sjg@bad.crufty.net> 3254 3255 * var.c: default .MAKE.SAVE_DOLLARS to FALSE 3256 for backwards compatability. 3257 3258 * Makefile (MAKE_VERSION): 20160220 3259 Merge with NetBSD make, pick up 3260 o var.c: add knob to control handling of '$$' in := 3261 32622016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 3263 3264 * Makefile (MAKE_VERSION): 20160218 3265 Merge with NetBSD make, pick up 3266 o var.c: add .export-literal allows us to fix sys.clean-env.mk 3267 post the changes to Var_Subst. 3268 Var_Subst now takes flags, and does not consume '$$' in := 3269 32702016-02-17 Simon J. Gerraty <sjg@bad.crufty.net> 3271 3272 * Makefile (MAKE_VERSION): 20160217 3273 Merge with NetBSD make, pick up 3274 o var.c: preserve '$$' in := 3275 o parse.c: add .dinclude for handling included 3276 makefile like .depend 3277 32782015-12-20 Simon J. Gerraty <sjg@bad.crufty.net> 3279 3280 * Makefile (MAKE_VERSION): 20151220 3281 Merge with NetBSD make, pick up 3282 o suff.c: re-initialize suffNull when clearing suffixes. 3283 32842015-12-01 Simon J. Gerraty <sjg@bad.crufty.net> 3285 3286 * Makefile (MAKE_VERSION): 20151201 3287 Merge with NetBSD make, pick up 3288 o cond.c: CondCvtArg: avoid access beyond end of empty buffer. 3289 o meta.c: meta_oodate: use lstat(2) for checking link target 3290 in case it is a symlink. 3291 o var.c: avoid calling brk_string and Var_Export1 with empty 3292 strings. 3293 32942015-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 3295 3296 * Makefile (MAKE_VERSION): 20151126 3297 Merge with NetBSD make, pick up 3298 o parse.c: ParseTrackInput don't access beyond 3299 end of old value. 3300 33012015-10-22 Simon J. Gerraty <sjg@bad.crufty.net> 3302 3303 * Makefile (MAKE_VERSION): 20151022 3304 3305 * Add support for BSD/OS which lacks inttypes.h 3306 and really needs sys/param.h for sys/sysctl.h 3307 also 'type' is not a shell builtin. 3308 3309 * var.c: eliminate uint32_t and need for inttypes.h 3310 3311 * main.c: PrintOnError flush stdout before run .ERROR 3312 3313 * parse.c: cope with _SC_PAGESIZE not being defined. 3314 3315 33162015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 3317 3318 * Makefile (MAKE_VERSION): 20151020 3319 Merge with NetBSD make, pick up 3320 o var.c: fix uninitialized var 3321 33222015-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 3323 3324 * var.c: the conditional expressions used with ':?' can be 3325 expensive, if already discarding do not evaluate or expand 3326 anything. 3327 33282015-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 3329 3330 * Makefile (MAKE_VERSION): 20151010 3331 Merge with NetBSD make, pick up 3332 o Add Boolean wantit flag to Var_Subst and Var_Parse 3333 when FALSE we know we are discarding the result and can 3334 skip operations like Cmd_Exec. 3335 33362015-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 3337 3338 * Makefile (MAKE_VERSION): 20151009 3339 Merge with NetBSD make, pick up 3340 o var.c: don't check for NULL before free() 3341 o meta.c: meta_oodate, do not hard code ignore of makeDependfile 3342 33432015-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 3344 3345 * Makefile (MAKE_VERSION): 20150910 3346 Merge with NetBSD make, pick up 3347 o main.c: with -w print Enter/Leaving messages for objdir too 3348 if necessary. 3349 o centralize shell metachar handling 3350 3351 * FILES: add metachar.[ch] 3352 33532015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 3354 3355 * Makefile (MAKE_VERSION): 20150606 3356 Merge with NetBSD make, pick up 3357 o make.1: document .OBJDIR target 3358 33592015-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 3360 3361 * Makefile (MAKE_VERSION): 20150505 3362 Merge with NetBSD make, pick up 3363 o cond.c: be strict about lhs of comparison when evaluating .if 3364 but less so when called from variable expansion. 3365 o unit-tests/cond2.mk: test various error conditions 3366 33672015-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 3368 3369 * machine.sh (MACHINE): Add Bitrig 3370 patch from joerg@netbsd.org 3371 33722015-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 3373 3374 * Makefile (MAKE_VERSION): 20150418 3375 Merge with NetBSD make, pick up 3376 o job.c: use memmove() rather than memcpy() 3377 3378 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL 3379 case, so skip it. 3380 33812015-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 3382 3383 * Makefile (MAKE_VERSION): 20150411 3384 bump version - only mk/ changes. 3385 33862015-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 3387 3388 * Makefile (MAKE_VERSION): 20150410 3389 Merge with NetBSD make, pick up 3390 o document different handling of '-' in jobs mode vs compat 3391 o fix jobs mode so that '-' only applies to whole job 3392 when shell lacks hasErrCtl 3393 o meta.c: use separate vars to track lcwd and latestdir (read) 3394 per process 3395 33962015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 3397 3398 * Makefile (MAKE_VERSION): 20150401 3399 Merge with NetBSD make, pick up 3400 o meta.c: close meta file in child 3401 3402 * Makefile: use BINDIR.bmake if set. 3403 Same for MANDIR and SHAREDIR 3404 Handy for testing release candidates 3405 in various environments. 3406 34072015-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 3408 3409 * move initialization of savederr to block where it is used 3410 to avoid spurious warning from gcc5 3411 34122014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 3413 3414 * Makefile (MAKE_VERSION): 20141111 3415 just a cooler number 3416 34172014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 3418 3419 * Makefile (MAKE_VERSION): 20141105 3420 Merge with NetBSD make, pick up 3421 o revert major overhaul of suffix handling 3422 and POSIX compliance - too much breakage 3423 and impossible to make backwards compatible. 3424 o we still have the new unit test structure which is ok. 3425 o meta.c ensure "-- filemon" is at start of line. 3426 34272014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 3428 3429 * configure.in: test that result of getconf PATH_MAX is numeric 3430 and discard if not. Apparently needed for Hurd. 3431 34322014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 3433 3434 * Makefile (MAKE_VERSION): 20140830 3435 Merge with NetBSD make, pick up 3436 o major overhaul of suffix handling 3437 o improved POSIX compliance 3438 o overhauled unit-tests 3439 34402014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 3441 3442 * Makefile (MAKE_VERSION): 20140620 3443 Merge with NetBSD make, pick up 3444 o var.c return varNoError rather than var_Error for ::= modifiers. 3445 34462014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 3447 3448 * Makefile (MAKE_VERSION): 20140522 3449 Merge with NetBSD make, pick up 3450 o var.c detect some parse errors. 3451 34522014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 3453 3454 * Fix spelling errors - patch from Pedro Giffuni 3455 34562014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 3457 3458 * Makefile (MAKE_VERSION): 20140214 3459 Merge with NetBSD make, pick up 3460 o .INCLUDEFROM* 3461 o use Var_Value to get MAKEOBJDIR[PREFIX] 3462 o reduced realloc'ign in brk_string. 3463 * configure.in: add a check for compiler supporting __func__ 3464 34652014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 3466 3467 * boot-strap: ignore mksrc=none 3468 34692014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 3470 3471 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 3472 34732014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 3474 3475 * Makefile (MAKE_VERSION): 20140101 3476 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 3477 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 3478 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 3479 Hurd) 3480 * configure.in: Add AC_PREREQ and check for 3481 sysctl; patch from Andrew Shadura andrewsh at debian.org 3482 34832013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 3484 3485 * Makefile (MAKE_VERSION): 20131010 3486 * lose the const from arg to systcl to avoid problems on older BSDs. 3487 34882013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 3489 3490 * Makefile (MAKE_VERSION): 20131001 3491 Merge with NetBSD make, pick up 3492 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 3493 hw.machine_arch if necessary. 3494 o meta.c: meta_oodate - need to look at src of Link and target 3495 of Move as well. 3496 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 3497 provide __arraycount() if needed. 3498 34992013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 3500 3501 * Makefile (MAKE_VERSION): 20130904 3502 Merge with NetBSD make, pick up 3503 o Add VAR_INTERNAL context, so that internal setting of 3504 MAKEFILE does not override value set by makefiles. 3505 35062013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 3507 3508 * Makefile (MAKE_VERSION): 20130902 3509 Merge with NetBSD make, pick up 3510 o CompatRunCommand: only apply shellErrFlag when errCheck is true 3511 35122013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 3513 3514 * Makefile (MAKE_VERSION): 20130828 3515 Merge with NetBSD make, pick up 3516 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 3517 o Call Job_SetPrefix() from Job_Init() so makefiles have 3518 opportunity to set .MAKE.JOB.PREFIX 3519 35202013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 3521 3522 * Makefile (MAKE_VERSION): 20130730 3523 Merge with NetBSD make, pick up 3524 o Allow suppression of --- job -- tokens by setting 3525 .MAKE.JOB.PREFIX empty. 3526 35272013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 3528 3529 * Makefile (MAKE_VERSION): 20130716 3530 Merge with NetBSD make, pick up 3531 o number of gmake compatibility tweaks 3532 -w for gmake style entering/leaving messages 3533 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 3534 handle MAKEFLAGS containing only letters. 3535 o when overriding a GLOBAL variable on the command line, 3536 delete it from GLOBAL context so -V doesn't show the wrong 3537 value. 3538 35392013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 3540 3541 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 3542 3543 * Makefile (MAKE_VERSION): 20130706 3544 Merge with NetBSD make, pick up 3545 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 3546 true so that CompatRunCommand() can use it, to ensure 3547 consistent behavior with jobs mode. 3548 o use MAKE_LEVEL_ENV to define the variable to propagate 3549 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 3550 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 3551 paths to ignore. 3552 35532013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 3554 3555 * Makefile (MAKE_VERSION): 20130604 3556 Merge with NetBSD make, pick up 3557 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 3558 to avoid leaking descriptors. 3559 35602013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 3561 3562 * Makefile (MAKE_VERSION): 20130528 3563 Merge with NetBSD make, pick up 3564 o var.c: cleanup some left-overs in VarHash() 3565 35662013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 3567 3568 * Makefile (MAKE_VERSION): 20130520 3569 generate manifest from component FILES rather than have to 3570 update FILES when mk/FILES changes. 3571 35722013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 3573 3574 * Makefile (MAKE_VERSION): 20130518 3575 Merge with NetBSD make, pick up 3576 o suff.c: don't skip all processsing for .PHONY targets 3577 else wildcard srcs do not get expanded. 3578 o var.c: expand name of variable to delete if necessary. 3579 35802013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 3581 3582 * Makefile (MAKE_VERSION): 20130330 3583 Merge with NetBSD make, pick up 3584 o meta.c: refine the handling of .OODATE in commands. 3585 Rather than suppress command comparison for the entire script 3586 as though .NOMETA_CMP had been used, only suppress it for the 3587 one command line. 3588 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 3589 suppress comparison of a command without otherwise affecting it. 3590 o make.1: document that 3591 35922013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 3593 3594 * Makefile (MAKE_VERSION): 20130321 3595 yes, not quite right but its a cooler number. 3596 Merge with NetBSD make, pick up 3597 o parse.c: fix ParseGmakeExport to be portable 3598 and add a unit-test. 3599 * meta.c: call meta_init() before makefiles are read and if built 3600 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 3601 this let's makefiles test for support. 3602 Call meta_mode_init() to process .MAKE.MODE. 3603 36042013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 3605 3606 * Makefile (MAKE_VERSION): 20130305 3607 Merge with NetBSD make, pick up 3608 o run .STALE: target when a dependency from .depend is missing. 3609 o job.c: add Job_RunTarget() for the above and .BEGIN 3610 36112013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 3612 3613 * Makefile (MAKE_VERSION): 20130303 3614 Merge with NetBSD make, pick up 3615 o main.c: set .MAKE.OS to utsname.sysname 3616 o job.c: more checks for read and poll errors 3617 o var.c: lose VarChangeCase() saves 4% time 3618 36192013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 3620 3621 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 3622 want to use MAKEOBJDIR 3623 36242013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 3625 3626 * Merge with NetBSD make, pick up 3627 o make.1: more info on how shell commands are handled. 3628 o job.c,main.c: detect write errors to job pipes. 3629 36302013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 3631 3632 * Makefile (MAKE_VERSION): 20130123 3633 Merge with NetBSD make, pick up 3634 o meta.c: if script uses .OODATE and meta_oodate() decides 3635 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 3636 o var.c: in debug output indicate which variabale modifiers 3637 apply to. 3638 o remove Check_Cwd logic the makefiles have been fixed. 3639 36402012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 3641 3642 * makefile.in: add a simple makefile for folk who insist on 3643 ./configure; make; make install 3644 it just runs boot-strap 3645 * include mk/* to accommodate the above 3646 * boot-strap: re-work to accommodate the above 3647 mksrc defaults to $Mydir/mk 3648 allow op={configure,build,install,clean,all} 3649 add options to facilitate install 3650 * Makefile.config.in: just the bits set by configure 3651 * Makefile: bump version to 20121212 3652 abandon Makefile.in (NetBSD Makefile) 3653 leverage mk/* instead 3654 * configure.in: ensure srcdir is absolute 3655 36562012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 3657 3658 * Makefile.in (MAKE_VERSION): 20121111 3659 fix generation of bmake.cat1 3660 36612012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 3662 3663 * Makefile.in (MAKE_VERSION): 20121109 3664 Merge with NetBSD make, pick up 3665 o make.c: MakeBuildChild: return 0 so search continues if a 3666 .ORDER dependency is detected. 3667 o unit-tests/order: test the above 3668 36692012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 3670 3671 * Makefile.in (MAKE_VERSION): 20121102 3672 Merge with NetBSD make, pick up 3673 o cond.c: allow cond_state[] to grow. 3674 In meta mode with a very large tree, we can hit the limit 3675 while processing dirdeps. 3676 36772012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 3678 3679 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 3680 36812012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 3682 3683 * Makefile.in (MAKE_VERSION): 20121010 3684 o protect syntax that only bmake parses correctly. 3685 o remove auto setting of FORCE_MACHINE, use configure's 3686 --with-force-machine=whatever if that is desired. 3687 36882012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 3689 3690 * Makefile.in: do not lose history from make.1 when generating bmake.1 3691 36922012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 3693 3694 * Makefile.in (MAKE_VERSION): 20121007 3695 Merge with NetBSD make, pick up 3696 o compat.c: ignore empty commands - same as jobs mode. 3697 o make.1: document meta chars that cause use of shell 3698 36992012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 3700 3701 * Makefile.in (MAKE_VERSION): bump version to 20120911 3702 * bsd.after-import.mk: include Makefile.inc early and allow it to 3703 override PROG 3704 37052012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 3706 3707 * Makefile.in (MAKE_VERSION): bump version to 20120831 3708 Merge with NetBSD make, pick up 3709 o cast sizeof() to int for comparison 3710 o minor make.1 tweak 3711 37122012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 3713 3714 * Makefile.in (MAKE_VERSION): bump version to 20120830 3715 Merge with NetBSD make, pick up 3716 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 3717 o debug flag -dV causes -V to show raw value regardless. 3718 37192012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 3720 3721 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 3722 gets SRCTOP set. 3723 37242012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 3725 3726 * Makefile.in (MAKE_VERSION): bump version to 20120704 3727 Merge with NetBSD make, pick up 3728 o Job_ParseShell should call Shell_Init if it has been 3729 previously called. 3730 * Makefile.in: set USE_META based on configure result. 3731 also .PARSEDIR is safer indicator of bmake. 3732 37332012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 3734 3735 * Makefile.in: bump version to 20120626 3736 ensure CPPFLAGS is in CFLAGS 3737 * meta.c: avoid nested externs 3738 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 3739 37402012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 3741 3742 * Makefile.in (MAKE_VERSION): bump version to 20120620 3743 Merge with NetBSD make, pick up 3744 o make_malloc.c: avoid including make_malloc.h again 3745 3746 * Makefile.in: avoid bmake only syntax or protect with 3747 .if defined(.MAKE.LEVEL) 3748 * bsd.after-import.mk: replace .-include with .sinclude 3749 ensure? SRCTOP gets a value 3750 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 3751 37522012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 3753 3754 * Makefile.in (MAKE_VERSION): bump version to 20120612 3755 Merge with NetBSD make, pick up 3756 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 3757 for greater portability. 3758 o unit-tests/forloop: check that .for works as expected wrt 3759 number of times and with "quoted strings". 3760 37612012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 3762 3763 * Makefile.in (MAKE_VERSION): bump version to 20120606 3764 Merge with NetBSD make, pick up 3765 o compat.c: use kill(2) rather than raise(3). 3766 * configure.in: look for sys/dev/filemon 3767 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 3768 and pass BOOTSTRAP_XTRAS to boot-strap. 3769 37702012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 3771 3772 * Makefile.in (MAKE_VERSION): bump version to 20120604 3773 Merge with NetBSD make, pick up 3774 o util.c and var.c share same var for tracking if environ 3775 has been reallocated. 3776 o util.c provide getenv with setenv. 3777 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 3778 when the shell actively strips .MAKE.* from the environment. 3779 We still refer to the variable always as .MAKE.LEVEL 3780 * util.c fix bug in findenv() was finding prefix of name. 3781 * compat.c: re-raising SIGINT etc after running .INTERRUPT 3782 results in more reliable termination of all activity on many 3783 platforms. 3784 37852012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 3786 3787 * Makefile.in (MAKE_VERSION): bump version to 20120602 3788 Merge with NetBSD make, pick up 3789 o for.c: handle quoted items in .for list 3790 37912012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 3792 3793 * Makefile.in (MAKE_VERSION): bump version to 20120530 3794 Merge with NetBSD make, pick up 3795 o compat.c: ignore empty command. 3796 37972012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 3798 3799 * Makefile.in (MAKE_VERSION): bump version to 20120524 3800 * FILES: add bsd.after-import.mk: 3801 A simple means of integrating bmake into a BSD build system. 3802 38032012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 3804 3805 * Makefile.in (MAKE_VERSION): bump version to 20120520 3806 Merge with NetBSD make, pick up 3807 o increased limit for nested conditionals. 3808 38092012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 3810 3811 * Makefile.in (MAKE_VERSION): bump version to 20120518 3812 Merge with NetBSD make, pick up 3813 o use _exit(2) in signal hanlder 3814 o Don't use the [dir] cache when building nodes that might have 3815 changed since the last exec. 3816 o Avoid nested extern declaration warnings. 3817 38182012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 3819 3820 * meta.c (fgetLine): avoid %z - not portable. 3821 * parse.c: Since we moved include of sys/mman.h 3822 and def's of MAP_COPY etc. we got dups from a merge. 3823 38242012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 3825 3826 * Makefile.in (MAKE_VERSION): bump version to 20120420 3827 Merge with NetBSD make, pick up 3828 o restore duplicate supression in .MAKE.MAKEFILES 3829 runtime saving can be significant. 3830 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 3831 consumption up to 20%. 3832 38332012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 3834 3835 * Makefile.in (MAKE_VERSION): bump version to 20120420 3836 Merge with NetBSD make, pick up 3837 o remove duplicate supression in .MAKE.MAKEFILES 3838 o improved dir cache behavior 3839 o gmake'ish export command 3840 38412012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 3842 3843 * Makefile.in (MAKE_VERSION): bump version to 20120325 3844 Merge with NetBSD make, pick up 3845 o fix parsing of :[#] in conditionals. 3846 38472012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 3848 3849 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 3850 since some systems cannot cope with .Nx <version> 3851 38522011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 3853 3854 * Makefile.in (MAKE_VERSION): bump version to 20111111 3855 Merge with NetBSD make, pick up 3856 o debug output for .PARSEDIR and .PARSEFILE 3857 38582011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 3859 3860 * Makefile.in (MAKE_VERSION): bump version to 20111010 3861 38622011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 3863 3864 * boot-strap: check for an expected file in the dirs we look for. 3865 * make-bootstrap.sh: pass on LDSTATIC 3866 38672011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 3868 3869 * Makefile.in (MAKE_VERSION): bump version to 20111001 3870 Merge with NetBSD make, pick up 3871 o ensure .PREFIX is set for .PHONY 3872 and .TARGET set for .PHONY run via .END 3873 o __dead used consistently 3874 38752011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 3876 3877 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 3878 38792011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 3880 3881 * Makefile.in (MAKE_VERSION): bump version to 20110905 3882 Merge with NetBSD make, pick up 3883 o meta_oodate: ignore makeDependfile 3884 38852011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 3886 3887 * Makefile.in (MAKE_VERSION): bump version to 20110828 3888 Merge with NetBSD make, pick up 3889 o silent=yes in .MAKE.MODE causes meta mode to mark targets 3890 as SILENT if a .meta file is created 3891 38922011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 3893 3894 * Makefile.in (MAKE_VERSION): bump version to 20110818 3895 Merge with NetBSD make, pick up 3896 o in meta mode, if target flagged .META a missing .meta file 3897 means target is out-of-date 3898 o fixes for gcc 4.5 warnings 3899 o simplify job printing code 3900 39012011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 3902 3903 * Makefile.in (MAKE_VERSION): bump version to 20110808 3904 Merge with NetBSD make, pick up 3905 o do not touch OP_SPECIAL targets when doing make -t 3906 39072011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 3908 3909 * Makefile.in (MAKE_VERSION): bump version to 20110622 3910 Merge with NetBSD make, pick up 3911 o meta_oodate detect corrupted .meta file and declare oodate. 3912 * configure.in: add check for setsid 3913 39142011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 3915 3916 * Merge with NetBSD make, pick up 3917 o unit-tests/modts now works on MirBSD 3918 39192011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 3920 3921 * Makefile.in (MAKE_VERSION): bump version to 20110606 3922 Merge with NetBSD make, pick up 3923 o ApplyModifiers: when we parse a variable which is not 3924 the entire modifier string, or not followed by ':', do not 3925 consider it as containing modifiers. 3926 o loadfile: ensure newline at end of mapped file. 3927 39282011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 3929 3930 * Makefile.in (MAKE_VERSION): bump version to 20110505 3931 Merge with NetBSD make, pick up 3932 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 3933 of make's control. In meta mode, any generated file within 3934 said bailiwick, which is found to be missing, causes current 3935 target to be out-of-date. 3936 39372011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 3938 3939 * Makefile.in (MAKE_VERSION): bump version to 20110411 3940 Merge with NetBSD make, pick up 3941 o when long modifiers fail to match, check sysV style. 3942 - add a test case 3943 39442011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 3945 3946 * Makefile.in (MAKE_VERSION): bump version to 20110410 3947 Merge with NetBSD make, pick up 3948 o :hash - cheap 32bit hash of value 3949 o :localtime, :gmtime - use value as format string for strftime. 3950 39512011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 3952 3953 * Makefile.in (MAKE_VERSION): bump version to 20110330 3954 mostly because its a cooler version. 3955 Merge with NetBSD make, pick up 3956 o NetBSD tags for meta.[ch] 3957 o job.c call meta_job_finish() after meta_job_error(). 3958 o meta_job_error() should call meta_job_finish() to ensure 3959 .meta file is closed, and safe to copy - if .ERROR target wants. 3960 meta_job_finish() is safe to call repeatedly. 3961 39622011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 3963 3964 * unit-tests/modts: use printf if it is a builtin, 3965 to save us from MirBSD 3966 3967 * Makefile.in (MAKE_VERSION): bump version to 20110329 3968 Merge with NetBSD make, pick up 3969 o fix for use after free() in CondDoExists(). 3970 o meta_oodate() report extra commands and return earlier. 3971 39722011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 3973 3974 * Makefile.in (MAKE_VERSION): bump version to 20110327 3975 Merge with NetBSD make, pick up 3976 o meta.c, if .MAKE.MODE contains curdirOk=yes 3977 allow creating .meta files in .CURDIR 3978 * boot-strap (TOOL_DIFF): aparently at least on linux distro 3979 formats the output of 'type' differently - so eat any "()" 3980 39812011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 3982 3983 * Makefile.in (MAKE_VERSION): bump version to 20110306 3984 Merge with NetBSD make, pick up 3985 o meta.c, only do getcwd() once 3986 39872011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 3988 3989 * Makefile.in (MAKE_VERSION): bump version to 20110305 3990 Merge with NetBSD make, pick up 3991 o correct sysV substitution handling of empty lhs and variable 3992 o correct exists() check for dir with trailing / 3993 o correct handling of modifiers for non-existant variables 3994 during evaluation of conditionals. 3995 o ensure MAP_FILE is defined. 3996 o meta.c use curdir[] now exported by main.c 3997 39982011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 3999 4000 * Makefile.in (MAKE_VERSION): bump version to 20110225 4001 Merge with NetBSD make, pick up 4002 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 4003 makefiles have been read. 4004 o fix example of :? modifier in man page. 4005 40062011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 4007 4008 * Makefile.in (MAKE_VERSION): bump version to 20110214 4009 Merge with NetBSD make, pick up 4010 o meta.c handle realpath() failing when generating meta file 4011 name. 4012 4013 * sigcompat.c: convert to ansi so we can use higher warning levels. 4014 4015 40162011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 4017 4018 * Makefile.in (MAKE_VERSION): bump version to 20110207 4019 Merge with NetBSD make, pick up 4020 o fix for bug in meta mode. 4021 40222011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 4023 4024 * parse.c: SunOS 5.8 at least does not have MAP_FILE 4025 40262011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 4027 4028 * Makefile.in (MAKE_VERSION): bump version to 20110101 4029 Merge with NetBSD make, pick up 4030 o use mmap(2) if available, for reading makefiles 4031 40322010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 4033 4034 * Makefile.in (MAKE_VERSION): bump version to 20101215 4035 Merge with NetBSD make, pick up 4036 o ensure meta_job_error() does not report a previous .meta file 4037 as being culprit. 4038 40392010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 4040 4041 * Makefile.in (MAKE_VERSION): bump version to 20101210 4042 Merge with NetBSD make, pick up 4043 o meta_oodate: track cwd per process, and only consider target 4044 out-of-date if missing file is outside make's CWD. 4045 Ignore files in /tmp/ etc. 4046 o to ensure unit-tests results match, need to control LC_ALL 4047 as well as LANG. 4048 o fix for parsing bug in var.c 4049 40502010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 4051 4052 * Makefile.in (MAKE_VERSION): bump version to 20101126 4053 Merge with NetBSD make, pick up 4054 o if stale dependency is an IMPSRC, search via .PATH 4055 o meta_oodate: if a referenced file is missing, target is 4056 out-of-date. 4057 o meta_oodate: if a target uses .OODATE in its commands, 4058 it (.OODATE) needs to be recomputed. 4059 o keep a pointer to youngest child node, rather than just its 4060 mtime. 4061 40622010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 4063 4064 * Makefile.in (MAKE_VERSION): bump version to 20101101 4065 40662010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 4067 4068 * machine.sh: like os.sh, 4069 allow for uname -p producing useless drivel 4070 40712010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 4072 4073 * boot-strap: document configure knobs for meta and filemon. 4074 4075 * Makefile.in (MAKE_VERSION): bump version to 20100911 4076 Merge with NetBSD make, pick up 4077 o meta.c - meta mode 4078 4079 * make-bootstrap.sh.in: handle meta.c 4080 * configure.in: add knobs for use_meta and filemon_h 4081 also, look for dirname, str[e]sep and strlcpy 4082 * util.c: add simple err[x] and warn[x] 4083 40842010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 4085 4086 * boot-strap (TOOL_DIFF): set this to ensure tests use 4087 the same version of diff that configure tested 4088 4089 * Makefile.in (MAKE_VERSION): bump version to 20100808 4090 Merge with NetBSD make, pick up 4091 o in jobs mode, when we discover we cannot make something, 4092 call PrintOnError before exit. 4093 40942010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 4095 4096 * Makefile.in (MAKE_VERSION): bump version to 20100806 4097 Merge with NetBSD make, pick up 4098 o formatting fixes for ignored errors 4099 o ensure jobs are cleaned up regardless of where wait() was called. 4100 41012010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 4102 4103 * Makefile.in (MAKE_VERSION): bump version to 20100618 4104 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 4105 41062010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 4107 4108 * Makefile.in (MAKE_VERSION): bump version to 20100616 4109 Merge with NetBSD make, pick up 4110 o man page update 4111 o call PrintOnError from JobFinish when we detect an error we 4112 are not ignoring. 4113 41142010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 4115 4116 * Makefile.in (MAKE_VERSION): bump version to 20100606 4117 Merge with NetBSD make, pick up 4118 o man page update 4119 41202010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 4121 4122 * Makefile.in (MAKE_VERSION): bump version to 20100605 4123 Merge with NetBSD make, pick up 4124 o use bmake_signal() which is a wrapper around sigaction() 4125 in place of signal() 4126 o add .export-env to allow exporting variables to environment 4127 without tracking (so no re-export when the internal value is 4128 changed). 4129 41302010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 4131 4132 * Makefile.in (MAKE_VERSION): bump version to 20100524 4133 Merge with NetBSD make, pick up 4134 o fix for .info et al being greedy. 4135 41362010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 4137 4138 * Makefile.in (MAKE_VERSION): bump version to 20100520 4139 Merge with NetBSD make, pick up 4140 o back to using realpath on argv[0] 4141 but only if contains '/' and does not start with '/'. 4142 41432010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 4144 4145 * boot-strap: use absolute path for bmake when running tests. 4146 4147 * Makefile.in (MAKE_VERSION): bump version to 20100510 4148 Merge with NetBSD make, pick up 4149 o revert use of realpath on argv[0] 4150 too many corner cases. 4151 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 4152 41532010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 4154 4155 * Makefile.in (MAKE_VERSION): bump version to 20100505 4156 Merge with NetBSD make, pick up 4157 o fix for missed SIGCHLD when compiled with SunPRO 4158 actually for bmake, defining FORCE_POSIX_SIGNALS would have 4159 done the job. 4160 41612010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 4162 4163 * Makefile.in (MAKE_VERSION): bump version to 20100430 4164 Merge with NetBSD make, pick up 4165 o fflush stdout before writing to stdout 4166 41672010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 4168 4169 * Makefile.in (MAKE_VERSION): bump version to 20100423 4170 Merge with NetBSD make, pick up 4171 o updated unit tests for Haiku (this time for sure). 4172 * boot-strap: based on patch from joerg 4173 honor --with-default-sys-path better. 4174 * boot-strap: remove mention of --with-prefix-sys-path 4175 41762010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 4177 4178 * Makefile.in (MAKE_VERSION): bump version to 20100422 4179 * Merge with NetBSD make, pick up 4180 o fix for vfork() on Darwin. 4181 o fix for bogus $TMPDIR. 4182 o set .MAKE.MODE=compat for -B 4183 o set .MAKE.JOBS=max_jobs for -j max_jobs 4184 o allow unit-tests to run without any *.mk 4185 o unit-tests/modmisc be more conservative in dirs presumed to exist. 4186 * boot-strap: ignore /usr/share/mk except on NetBSD. 4187 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 4188 ensure sort(1) behaves as expected. 4189 41902010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 4191 4192 * boot-strap: add FindHereOrAbove so we can use -m .../mk 4193 41942010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 4195 4196 * Makefile.in (MAKE_VERSION): bump version to 20100420 4197 * Merge with NetBSD make, pick up 4198 o fix for variable realpath() behavior. 4199 we have to stat(2) the result to be sure. 4200 o fix for .export (all) when nested vars use :sh 4201 42022010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 4203 4204 * Makefile.in (MAKE_VERSION): bump version to 20100414 4205 * Merge with NetBSD make, pick up 4206 o use realpath to resolve argv[0] (for .MAKE) if needed. 4207 o add realpath from libc. 4208 o add :tA to resolve variable via realpath(3) if possible. 4209 42102010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 4211 4212 * Makefile.in (MAKE_VERSION): bump version to 20100408 4213 * Merge with NetBSD make, pick up 4214 o unit tests for .ERROR, .error 4215 o fix for .ERROR to ensure it cannot be default target. 4216 42172010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 4218 4219 * Makefile.in (MAKE_VERSION): bump version to 20100406 4220 * Merge with NetBSD make, pick up 4221 o fix for compat mode "Error code" going to debug_file. 4222 o fix for .ALLSRC being populated twice. 4223 o support for .info, .warning and .error directives 4224 o .MAKE.MODE to control make's operational mode 4225 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 4226 name(s). 4227 o .MAKE.DEPENDFILE to control the name of the depend file 4228 o .ERROR target - run on failure. 4229 42302010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 4231 4232 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 4233 4234 * os.sh,arch.c: patch for Haiku from joerg at netbsd 4235 42362010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 4237 4238 * Makefile.in (MAKE_VERSION): bump version to 20100222 4239 * Merge with NetBSD make, pick up 4240 o better error msg for .for with mutiple inter vars 4241 4242 * boot-strap: 4243 o use make-bootstrap.sh from joerg at netbsd 4244 to avoid the need for a native make when bootstrapping. 4245 o add "" everywhere ;-) 4246 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 4247 otherwise the pre-formated version. 4248 42492010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 4250 4251 * Makefile.in (MAKE_VERSION): bump version to 20100102 4252 * Merge with NetBSD make, pick up: 4253 o fix for -m .../ 4254 42552009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 4256 4257 * Makefile.in (MAKE_VERSION): bump version to 20091118 4258 * Merge with NetBSD make, pick up: 4259 o .unexport 4260 o report lines that start with '.' and should have ':' 4261 (catch typo's of .el*if). 4262 42632009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 4264 4265 * configure.in: Ensure that srcdir and mksrc are absolute paths. 4266 42672009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 4268 4269 * Makefile.in (MAKE_VERSION): fix version to 20091007 4270 42712009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 4272 4273 * Makefile.in (MAKE_VERSION): bump version to 200910007 4274 * Merge with NetBSD make, pick up: 4275 o fix for parsing of :S;...;...; applied to .for loop iterator 4276 appearing in a dependency line. 4277 42782009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 4279 4280 * Makefile.in (MAKE_VERSION): bump version to 20090909 4281 * Merge with NetBSD make, pick up: 4282 o fix for -C, .CURDIR and .OBJDIR 4283 * boot-strap: 4284 o allow share_dir to be set independent of prefix. 4285 o select default share_dir better when prefix ends in $HOST_TARGET 4286 o if FORCE_BSD_MK etc were set, include them in the suggested 4287 install-mk command. 4288 42892009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 4290 4291 * Makefile.in (MAKE_VERSION): bump version to 20090908 4292 * Merge with NetBSD make, pick up: 4293 o .MAKE.LEVEL for recursion tracking 4294 o fix for :M scanning \: 4295 42962009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 4297 4298 * configure.in: Don't -D__EXTENSIONS__ if 4299 AC_USE_SYSTEM_EXTENSIONS says "no". 4300 43012009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 4302 4303 * Makefile.in (MAKE_VERSION): bump version to 20090826 4304 Simplify MAKE_VERSION to just the bare date. 4305 * Merge with NetBSD make, pick up: 4306 o -C directory support. 4307 o support for SIGINFO 4308 o use $TMPDIR for temp files. 4309 o child of vfork should be careful about modifying parent's state. 4310 4311 43122009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 4313 4314 * Appy some patches for MiNT from David Brownlee 4315 43162009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 4317 4318 * Makefile.in (BMAKE_VERSION): bump version to 20090222 4319 * Merge with NetBSD make, pick up: 4320 o Possible null pointer de-ref in Var_Set. 4321 43222009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 4323 4324 * Makefile.in (BMAKE_VERSION): bump version to 20090204 4325 * Merge with NetBSD make, pick up: 4326 o bmake_malloc et al moved to their own .c 4327 o Count both () and {} when looking for the end of a :M pattern 4328 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 4329 o strlist.c - functions for processing extendable arrays of pointers to strings. 4330 o ClientData replaced with void *, so const void * can be used. 4331 o New debug flag C for DEBUG_CWD 4332 43332008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 4334 4335 * Makefile.in (BMAKE_VERSION): bump version to 20081111 4336 Apply patch from Joerg Sonnenberge to 4337 configure.in: 4338 o remove some redundant checks 4339 o check for emlloc etc only in libutil and require the whole family. 4340 util.c: 4341 o remove [v]asprintf which is no longer used. 4342 43432008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 4344 4345 * Makefile.in (BMAKE_VERSION): bump version to 20081101 4346 * Merge with NetBSD make, pick up: 4347 o util.c: avoid use of putenv() - christos 4348 43492008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 4350 4351 * Makefile.in (BMAKE_VERSION): bump version to 20081030 4352 pick up man page tweaks. 4353 43542008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 4355 4356 * Makefile.in: move processing of LIBOBJS to after is definition! 4357 thus we'll have getenv.c in SRCS only if needed. 4358 4359 * make.1: add examples of how to use :? 4360 4361 * Makefile.in (BMAKE_VERSION): bump version to 20081029 4362 * Merge with NetBSD make, pick up: 4363 o fix for .END processing with -j 4364 o segfault from Parse_Error when no makefile is open 4365 o handle numeric expressions in any variable expansion 4366 o debug output now defaults to stderr, -dF to change it - apb 4367 o make now uses bmake_malloc etc so that it can build natively 4368 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 4369 43702008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 4371 4372 * Makefile.in (BMAKE_VERSION): bump version to 20080808 4373 * Merge with NetBSD make, pick up: 4374 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 4375 long lines in Makefiles 4376 o optimizations for VarQuote by joerg 4377 o fix for PR/38756: dominik: make dumps core on invalid makefile 4378 43792008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 4380 4381 * Makefile.in (BMAKE_VERSION): bump version to 20080515 4382 * Merge with NetBSD make, pick up: 4383 o fix skip setting vars in VAR_GLOBAL context, to handle 4384 cases where VAR_CMD is used for other than command line vars. 4385 43862008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 4387 4388 * boot-strap (make_version): we may need to look in 4389 $prefix/share/mk for sys.mk 4390 4391 * Makefile.in (BMAKE_VERSION): bump version to 20080514 4392 * Merge with NetBSD make, pick up: 4393 o skip setting vars in VAR_GLOBAL context, when already set in 4394 VAR_CMD which takes precedence. 4395 43962008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 4397 4398 * Makefile.in (BMAKE_VERSION): bump version to 20080330 4399 * Merge with NetBSD make, pick up: 4400 o fix for ?= when LHS contains variable reference. 4401 44022008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 4403 4404 * merge some patches from NetBSD pkgsrc. 4405 4406 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 4407 the MAKSYSPATH used during bootstrap. 4408 4409 * Makefile.in (BMAKE_VERSION): bump version to 20080215 4410 * Merge with NetBSD make, pick up: 4411 o warn if non-space chars follow 'empty' in a conditional. 4412 44132008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 4414 4415 * Makefile.in (BMAKE_VERSION): bump version to 20080118 4416 * Merge with NetBSD make, pick up: 4417 o consider dependencies read from .depend as optional - dsl 4418 o remember when buffer for reading makefile grows - dsl 4419 o add -dl (aka LOUD) - David O'Brien 4420 44212007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 4422 4423 * Makefile.in (BMAKE_VERSION): bump version to 20071022 4424 * Merge with NetBSD make, pick up: 4425 o Allow .PATH<suffix> to be used for .include "" 4426 4427 * boot-strap: source default settings from .bmake-boot-strap.rc 4428 44292007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 4430 4431 * Makefile.in: fix maninstall on various systems 4432 provided that our man.mk is used. 4433 For non-BSD systems we install the preformatted page 4434 into $MANDIR/cat1 4435 44362007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 4437 4438 * boot-strap: make bmake.1 too, so maninstall works. 4439 44402007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 4441 4442 * Makefile.in (BMAKE_VERSION): bump version to 20071014 4443 * Merge with NetBSD make, pick up: 4444 o revamped handling of defshell - configure no longer needs to 4445 know the content of the shells array - apb 4446 o stop Var_Subst modifying its input - apb 4447 o avoid calling ParseTrackInput too often - dsl 4448 44492007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 4450 4451 * Makefile.in (BMAKE_VERSION): bump version to 20071011 4452 * Merge with NetBSD make, pick up: 4453 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 4454 4455 * sigcompat.c: some tweaks for HP-UX 11.x based on 4456 patch from Tobias Nygren 4457 4458 * configure.in: update handling of --with-defshell to match 4459 new make behavior. --with-defshell=/usr/xpg4/bin/sh 4460 will now do what one might hope - provided the chosen shell 4461 behaves enough like sh. 4462 44632007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 4464 4465 * Makefile.in (BMAKE_VERSION): bump to 20071008 4466 * Merge with NetBSD make, pick up: 4467 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 4468 o .export/.MAKE.EXPORTED - export of variables - sjg 4469 o .MAKE.MAKEFILES - track all makefiles read - sjg 4470 o performance improvements - dsl 4471 o revamp parallel job scheduling - dsl 4472 44732006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 4474 4475 * Makefile.in (BMAKE_VERSION): bump to 20060728 4476 * Merge with NetBSD make, pick up: 4477 o extra debug info during variable and cond processing - sjg 4478 o shell definition now covers newline - rillig 4479 o minor mem leak in PrintOnError - sjg 4480 44812006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 4482 4483 * Makefile.in (BMAKE_VERSION): bump to 20060511 4484 * Merge with NetBSD make, pick up: 4485 o more memory leaks - coverity 4486 o possible overflow in ArchFindMember - coverity 4487 o extract variable modifier code out of Var_Parse() 4488 so it can be called recursively - sjg 4489 o unit-tests/moderrs - sjg 4490 44912006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 4492 4493 * Makefile.in (BMAKE_VERSION): bump to 20060412 4494 * Merge with NetBSD make, pick up: 4495 o fixes for some memory leaks - coverity 4496 o only read first sys.mk etc when searching sysIncPath - sjg 4497 4498 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 4499 setting ${MAKEFILE} - OBATA Akio 4500 45012006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 4502 4503 * Makefile.in (BMAKE_VERSION): bump to 20060318 4504 * Merge with NetBSD make, pick up: 4505 o cleanup of job.c to remove remote handling, distcc is more 4506 useful and this code was likely bit-rotting - dsl 4507 o fix for :P modifier - sjg 4508 * boot-strap: set default prefix to something reasonable 4509 (for me anyway). 4510 45112006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 4512 4513 * Makefile.in (BMAKE_VERSION): bump to 20060301 4514 * Merge with NetBSD make, pick up: 4515 o make .WAIT apply recursively, document and test case - apb 4516 o allow variable modifiers in a variable appear anywhere in 4517 modifier list, document and test case - sjg 4518 45192006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 4520 4521 * Makefile.in (BMAKE_VERSION): bump to 20060222 4522 * Merge with NetBSD make, pick up: 4523 o improved job token handling - dsl 4524 o SIG_DFL the correct signal before exec - dsl 4525 o more debug info during parsing - dsl 4526 o allow variable modifiers to be specified via variable - sjg 4527 * boot-strap: explain why we died if no mksrc 4528 45292005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 4530 4531 * Makefile.in (BMAKE_VERSION): bump to 20051105 4532 * configure.in: always set default_sys_path 4533 default is ${prefix}/share/mk 4534 - remove prefix_sys_path, anyone wanting more than above 4535 needs to set it manually. 4536 45372005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 4538 4539 * boot-strap: make this a bit easier for pkgsrc folk. 4540 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 4541 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 4542 45432005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 4544 4545 * Makefile.in (BMAKE_VERSION): bump to 20051102 4546 * job.c (JobFinish): fix likely ancient merge lossage 4547 fix from Todd Vierling. 4548 * boot-strap (srcdir): allow setting mksrc=none 4549 45502005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 4551 4552 * Makefile.in (BMAKE_VERSION): bump to 20051031 4553 * ranlib.h: skip on OSF too. 4554 (NetBSD PR 31864) 4555 45562005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 4557 4558 * Makefile.in (BMAKE_VERSION): bump to 20051002 4559 fix a silly typo 4560 45612005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 4562 4563 * Makefile.in (BMAKE_VERSION): bump to 20051001 4564 support for UnixWare and some other systems, 4565 based on patches from pkgsrc/bootstrap 4566 45672005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 4568 4569 * Makefile.in (BMAKE_VERSION): bump to 20050901 4570 * Merge with NetBSD make, pick up: 4571 o possible parse error causing us to wander off. 4572 45732005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 4574 4575 * Makefile.in (BMAKE_VERSION): bump to 20050606 4576 * Merge with NetBSD make, pick up: 4577 o :0x modifier for randomizing a list 4578 o fixes for a number of -Wuninitialized issues. 4579 45802005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 4581 4582 * Makefile.in (BMAKE_VERSION): bump to 20050530 4583 * Merge with NetBSD make, pick up: 4584 o Handle dependencies for .BEGIN, .END and .INTERRUPT 4585 4586 * README: was seriously out of date. 4587 45882005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 4589 4590 * Important to use .MAKE rather than MAKE. 4591 45922005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 4593 4594 * Makefile.in (BMAKE_VERSION): bump to 20050315 4595 * Merge with NetBSD make, pick up: 4596 o don't mistake .elsefoo for .else 4597 o use suffix-specific search path correctly 4598 o bunch of style nits 4599 46002004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 4601 4602 * boot-strap: 4603 o ensure that args to --src and --with-mksrc 4604 are resolved before giving them to configure. 4605 o add -o "objdir" so that builder can control it, 4606 default is $OS as determined by os.sh 4607 o add -q to suppress all the install instructions. 4608 46092004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 4610 4611 * Remove __IDSTRING() 4612 4613 * Makefile.in (BMAKE_VERSION): bump to 20040508 4614 * Merge with NetBSD make, pick up: 4615 o posix fixes 4616 - remove '-e' from compat mode 4617 - add support for '+' command-line prefix. 4618 o fix for handling '--' on command-line. 4619 o fix include in lst.lib/lstInt.h to simplify '-I's 4620 o we also picked up replacement of MAKE_BOOTSTRAP 4621 with !MAKE_NATIVE which is a noop, but possibly confusing. 4622 46232004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 4624 4625 * Makefile.in (BMAKE_VERSION): bump to 20040414 4626 * Merge with NetBSD make, pick up: 4627 o allow quoted strings on lhs of conditionals 4628 o issue warning when extra .else is seen 4629 o print line numer when errors encountered during parsing from 4630 string. 4631 46322004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 4633 4634 * Makefile.in (BMAKE_VERSION): bump to 20040220 4635 * Merge with NetBSD make, pick up: 4636 o fix for old :M parsing bug. 4637 o re-jigged unit-tests 4638 46392004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 4640 4641 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 4642 so that './bmake -f Makefile test' works. 4643 46442004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 4645 4646 * Makefile.in: (BMAKE_VERSION): bump to 20040214 4647 * Merge with NetBSD make, pick up: 4648 o search upwards for *.mk 4649 o fix for double free of var substitution buffers 4650 o use of getopt replaced with custom code, since the usage 4651 (re-scanning) isn't posix compatible. 4652 46532004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 4654 4655 * arch.c: don't include ranlib.h on ELF systems 4656 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 4657 46582004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 4659 4660 * Makefile.in (BMAKE_VERSION): bump to 20040118 4661 4662 * boot-strap (while): export vars we assign to on cmdline 4663 * unit-test/Makefile.in: ternary is .PHONY 4664 46652004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 4666 4667 * Makefile.in (BMAKE_VERSION): bump version to 20040108 4668 * Merge with NetBSD make, pick up: 4669 o fix for ternary modifier 4670 46712004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 4672 4673 * Makefile.in (BMAKE_VERSION): bump version to 20040105 4674 * Merge with NetBSD make, pick up: 4675 o fix for cond.c to handle compound expressions better 4676 o variable expansion within sysV style replacements 4677 46782003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 4679 4680 * Make portable snprintf safer - output to /dev/null first to 4681 check space needed. 4682 4683 * Makefile.in (BMAKE_VERSION): bump version to 20031222 4684 * Merge with NetBSD make, pick up: 4685 o -dg3 to show input graph when things go wrong. 4686 o explicitly look for makefiles in objdir if not found in curdir so 4687 that errors in .depend etc will be reported accurarely. 4688 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 4689 instead as it more accurately reflects the expected behavior and 4690 is more consistently implemented. 4691 o avoid use of asprintf. 4692 46932003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 4694 4695 * util.c: Add asprintf and vasprintf. 4696 4697 * Makefile.in (BMAKE_VERSION): bump version to 20030928 4698 * Merge with NetBSD make, pick up: 4699 :[] modifier - allows picking words from a variable. 4700 :tW modifier - allows treating value as one big word. 4701 W flag for :C and :S - allows treating value as one big word. 4702 47032003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 4704 4705 * Merge with NetBSD make 4706 pick up -de flag to enable printing failed command. 4707 don't skip 1st two dir entries (normally . and ..) since 4708 coda does not have them. 4709 47102003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 4711 4712 * Makefile.in (BMAKE_VERSION): bump version to 20030909 4713 * Merge with NetBSD make, pick up: 4714 - changes for -V '${VAR}' to print fully expanded value 4715 cf. -V VAR 4716 - CompatRunCommand now prints the command that failed. 4717 - several files got updated 3 clause Berkeley license. 4718 47192003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 4720 4721 * boot-strap: Allow setting configure args on command line. 4722 47232003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 4724 4725 * configure.in: add --with-defshell to allow sh or ksh 4726 to be selected as default shell. 4727 4728 * Makefile.in: bump version to 20030731 4729 4730 * Merge with NetBSD make 4731 Pick up .SHELL spec for ksh and associate man page changes. 4732 Also compat mode now uses the same shell specs. 4733 47342003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 4735 4736 * var.c (Var_Parse): ensure delim is initialized. 4737 4738 * unit-tests/Makefile.in: use single quotes to avoid problems from 4739 some shells. 4740 4741 * makefile.boot.in: 4742 Run the unit-tests as part of the bootstrap procedure. 4743 47442003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 4745 4746 * unit-tests/Makefile.in: always force complaints from 4747 ${TEST_MAKE} to be from 'make'. 4748 4749 * configure.in: add check for 'diff -u' 4750 also fix some old autoconf'isms 4751 4752 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 4753 if using GCC add -Wno-cast-qual to CFLAGS for var.o 4754 4755 * Merge with NetBSD make 4756 Pick up fix for :ts parsing error in some cases. 4757 Pick unit-tests. 4758 47592003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 4760 4761 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 4762 4763 * var.c (Var_Parse): fix bug in :ts modifier, after const 4764 correctness fixes, must pass nstr to VarModify. 4765 47662003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 4767 4768 * Makefile.in: BMAKE_VERSION switch to a date based version. 4769 We'll generally use the date of last import from NetBSD. 4770 4771 * Merge with NetBSD make 4772 Pick up fixes for const-correctness, now passes WARNS=3 on 4773 NetBSD. 4774 Pick up :ts modifier, allows controlling the separator used 4775 between words in variable expansion. 4776 47772003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 4778 4779 * FILES: include boot-strap and os.sh 4780 4781 * Makefile.in: only set WARNS if we are NetBSD, the effect on 4782 FreeBSD is known to be bad. 4783 4784 * makefile.boot.in (bootstrap): make this the default target. 4785 4786 * Makefile.in: bump version to 3.1.19 4787 4788 * machine.sh: avoid A-Z with tr as it is bound to lose. 4789 47902003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 4791 4792 * Merge with NetBSD make 4793 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 4794 Plus some doc fixes. 4795 47962003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 4797 4798 * Merge with NetBSD make 4799 Pick up fix for PR/1523 - don't count a library as built, if there 4800 is no way to build it 4801 4802 * Bump version to 3.1.18 4803 48042003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 4805 4806 * Merge with NetBSD make 4807 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 4808 appears in src list. 4809 48102003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 4811 4812 * Merge with NetBSD make (mmm 10th anniversary!) 4813 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 4814 pick up -X which tells us to not export VAR=val via setenv if 4815 we are already doing so via MAKEFLAGS. This saves valuable env 4816 space on systems like Darwin. 4817 set MAKE_VERSION to 3.1.17 4818 4819 * parse.c: pix up fix for suffix rules 4820 48212003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 4822 4823 * Merge with NetBSD make. 4824 pick up fix for propagating -B via MAKEFLAGS. 4825 set MAKE_VERSION to 3.1.16 4826 4827 * Apply some patches from pkgsrc-bootstrap/bmake 4828 Originally by Grant Beattie <grant@netbsd.org> 4829 I may have missed some - since they are based on bmake-3.1.12 4830 48312002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 4832 4833 * makefile.boot.in (bmake): update install targets for those that 4834 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 4835 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 4836 4837 * bmake.cat1: update the pre-formatted man page! 4838 48392002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 4840 4841 * Merge with NetBSD make. 4842 pick up fix for premature free of pointer used in call 4843 to Dir_InitCur(). 4844 set MAKE_VERSION to 3.1.15 4845 48462002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 4847 4848 * configure.in: determine suitable value for MKSRC. 4849 override using --with-mksrc=PATH. 4850 4851 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 4852 configs(8) will use 'sun4' as an alias for 'sparc'. 4853 48542002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 4855 4856 * Merge with NetBSD make. 4857 pick up ${.PATH} 4858 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 4859 set MAKE_VERSION to 3.1.14 4860 add configure checks for killpg and sys/socket.h 4861 48622002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 4863 4864 * tag bmake-3-1-13 4865 4866 * makefile.boot.in (bmake): use install-mk 4867 Also setup ./mk before trying to invoke bmake.boot incase we 4868 needed install-mk to create a sys.mk for us. 4869 4870 * configure.in: If we need to add -I${srcdir}/missing, make it an 4871 absolute path so that it works for lst.lib too. 4872 4873 * make.h: always include sys/cdefs.h since we provide one if the 4874 host does not. 4875 4876 * Makefile.in (install-mk): 4877 use MKSRC/install-mk which will do the right thing. 4878 use uname -p for ARCH if possible. 4879 since install-mk will setup links bsd.prog.mk -> prog.mk if 4880 needed, just .include bsd.prog.mk 4881 4882 * Merge with NetBSD make (NetBSD-1.6) 4883 Code is ansi-C only now. 4884 Bug in handling of dotLast is fixed. 4885 Can now assign .OBJDIR and make will reset its notions of life. 4886 New modifiers :tu :tl for toUpper and toLower. 4887 4888Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 4889 4890 * Merge with NetBSD make 4891 pick up fix for .END failure in compat mode. 4892 pick up fix for extra va_end() in ParseVErrorInternal. 4893 4894Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 4895 4896 * configure.in: for systems that have sys/cdefs.h check if it is 4897 compatible. If not, include the one under missing, but tell it to 4898 include the native one too - necessary on Linux. 4899 4900 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 4901 include_next (for gcc) to get the native sys/cdefs.h 4902 4903Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4904 4905 * job.c (JobFinish): Fix an earlier merge bug that resulted in 4906 leaking descriptors when using -jN. 4907 4908 * job.c (JobPrintCommand): See if "curdir" exists before 4909 attempting to chdir(). Doing the chdir directly in make (when in 4910 compat mode) fails silently, so let the -jN version do the same. 4911 This can happen when building kernels in an object tree and 4912 playing clever games to reset .CURDIR. 4913 4914 * Merged with NetBSD make 4915 pick up .USEBEFORE 4916 4917Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4918 4919 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 4920 4921Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4922 4923 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 4924 us not to export the iterator variable when using VAR_CMD context. 4925 4926Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4927 4928 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 4929 its the wrong "fix". 4930 4931Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4932 4933 * Redesigned export of VAR_CMD's via MAKEFLAGS. 4934 We now simply append the variable names to .MAKEOVERRIDES, and 4935 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 4936 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 4937 Apart from fixing quoting bugs in previous version, this allows us 4938 to export vars to the environment by simply doing: 4939 .MAKEOVERRIDES+= PATH 4940 Merged again with NetBSD make, but the above is the only change. 4941 4942 * configure.in: added 4943 --disable-pwd-override disable $PWD overriding getcwd() 4944 --disable-check-make-chdir disable make trying to guess 4945 when it should automatically cd ${.CURDIR} 4946 4947 * Merge with NetBSD make, changes include: 4948 parse.c (ParseDoDependency): Spot that the syntax error is 4949 caused by an unresolved cvs/rcs conflict and say so. 4950 var.c: most of Var* functions now take a ctxt as 1st arg. 4951 now does variable substituion on rhs of sysv style modifiers. 4952 4953 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 4954 is now done here. We append the name='value' to .MAKEOVERRIDES 4955 rather than directly into MAKEFLAGS as this allows a Makefile to 4956 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 4957 very similar mechanism. Note that in adding name='value' to 4958 .MAKEOVERRIDES we do the moral equivalent of: 4959 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 4960 4961Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4962 4963 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 4964 4965 * Merged with NetBSD make 4966 make -dx can now be used to run commands via sh -x 4967 better error messages on exec failures. 4968 4969Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4970 4971 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 4972 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 4973 MACHINE etc otherwise they propagate from the previous bmake. 4974 4975 * configure.in (machine): allow --with-machine=generic to make 4976 configure use machine.sh to set MACHINE. 4977 4978 * job.c (JobInterrupt): convert to using WAIT_T and friends. 4979 4980 * Makefile.in: mention in bmake.1 that we use autoconf. 4981 4982 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 4983 4984Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4985 4986 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 4987 as that rather defeats the usefulness of ${MAKEFILE}. 4988 4989 * main.c (MainParseArgs): append command line variable assignments 4990 to MAKEFLAGS so that they get propagated to child make's. 4991 Apparently this is required POSIX behaviour? Its useful anyway. 4992 4993Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4994 4995 * compat.c (CompatRunCommand): don't use perror() since stdio may 4996 cause problems in child of vfork(). 4997 4998 * compat.c, main.c: Call PrintOnError() when we are going to bail. 4999 This routine prints out the .curdir where we stopped and will also 5000 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 5001 5002 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 5003 :@ expansion. 5004 5005 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 5006 5007 * Added RCSid's for the files we've touched. 5008 5009Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 5010 5011 * configure.in: Thanks to some clues from mdb@juniper.net, 5012 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 5013 as well as what ends up in _PATH_DEFSYSPATH. We now have: 5014 5015 --with-machine=MACHINE explicitly set MACHINE 5016 --with-force-machine=MACHINE set FORCE_MACHINE 5017 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 5018 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 5019 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 5020 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 5021 5022 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 5023 5024 * makefile: added a pathetically simple makefile to drive 5025 bootstrapping. Running configure by hand is more useful. 5026 5027 * Makefile.in: added MAKE_VERSION, and reworked things to be less 5028 dependent on NetBSD bsd.*.mk 5029 5030 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 5031 _PATH_OBJDIRPREFIX for those that don't want a default. 5032 construct _PATH_DEFSYSPATH from the info we get from configure. 5033 5034 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 5035 if MAKE_VERSION is defined. 5036 5037 * compat.c: when we bail, print out the .CURDIR we were in. 5038 5039Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 5040 5041 * Merged with NetBSD make 5042 5043 * var.c: fixed a bug in the handling of the modifier :P 5044 if the node as found but the path was null, we segfault trying to 5045 duplicate it. 5046 5047Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 5048 5049 * Merged with NetBSD make 5050 5051 * make.c: Make_OODate's test for a library out of date was using 5052 cmtime where it should have used mtime (my bug). 5053 5054 * compat.c: Use perror() to tell us what really went wrong when we 5055 cannot exec a command. 5056 5057Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 5058 5059 * Merged with NetBSD make 5060 5061Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 5062 5063 * Merged with NetBSD make 5064 5065Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 5066 5067 * Merged with NetBSD make 5068 5069Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 5070 5071 * Merged with NetBSD make 5072 5073Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 5074 5075 * util.c: don't provide signal() since we use sigcompat.c 5076 5077 * Makefile.in: added a build target. 5078 5079 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 5080 These allow some quite clever magic. 5081 5082 * main.c (main): added support for getenv(MAKESYSPATH). 5083 5084Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 5085 5086 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 5087 This avoids objdir having a different value depending on how a 5088 directory was reached (via command line, or subdir.mk). 5089 5090 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 5091 5092Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 5093 5094 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 5095 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 5096 I've been testing this in NetBSD's make for some weeks. 5097 5098 * Turn Makefile into Makefile.in and make it useful. 5099 5100Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 5101 5102 * Imported NetBSD's -current make(1) and resolve conflicts. 5103 5104 * Applied autoconf patches from bmake v2 5105 5106 * Imported clean code base from NetBSD-1.0 5107