12024-04-30 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * VERSION (_MAKE_VERSION): 20240430 4 Merge with NetBSD make, pick up 5 o main.c: ensure '.include <makefile>' respects MAKESYSPATH. 6 Dir_FindFile will search .CURDIR first unless ".DOTLAST" is seen. 7 82024-04-28 Simon J Gerraty <sjg@beast.crufty.net> 9 10 * VERSION (_MAKE_VERSION): 20240428 11 Merge with NetBSD make, pick up 12 o simplify freeing of lists 13 o arch.c: trim pointless comments 14 o var.c: delay variable assignments until actually needed 15 don't reallocate memory after evaluating an expression, result is 16 almost always short-lived. 17 182024-04-26 Simon J Gerraty <sjg@beast.crufty.net> 19 20 * VERSION (_MAKE_VERSION): 20240426 21 Merge with NetBSD make, pick up 22 o job.c: in debug output, print the directory in which a job 23 failed at same time as failed target so it is more easily found in 24 build log. 25 262024-04-24 Simon J Gerraty <sjg@beast.crufty.net> 27 28 * VERSION (_MAKE_VERSION): 20240424 29 Merge with NetBSD make, pick up 30 o clean up comments, code and tests 31 322024-04-23 Simon J Gerraty <sjg@beast.crufty.net> 33 34 * VERSION (_MAKE_VERSION): 20240422 35 Merge with NetBSD make, pick up 36 o var.c: avoid LazyBuf for :*time modifiers. 37 LazyBuf's are not nul terminated so not suitable for passing to 38 functions that expect that. These modifiers are used sparingly so 39 an extra allocation is not a problem. 40 412024-04-20 Simon J Gerraty <sjg@beast.crufty.net> 42 43 * VERSION (_MAKE_VERSION): 20240420 44 Merge with NetBSD make, pick up 45 o provide more context information for parse/evaluate errors 46 472024-04-14 Simon J Gerraty <sjg@beast.crufty.net> 48 49 * VERSION (_MAKE_VERSION): 20240414 50 Merge with NetBSD make, pick up 51 o parse.c: print -dp debug info earlier so we see which 52 .if or .for line is being parsed. 53 542024-04-04 Simon J Gerraty <sjg@beast.crufty.net> 55 56 * VERSION (_MAKE_VERSION): 20240404 57 Merge with NetBSD make, pick up 58 o fix some unit tests for Cygwin 59 o parse.c: exit immediately after reading a null byte from a makefile 60 61 * fix generation of bmake.cat1 62 632024-03-19 Simon J Gerraty <sjg@beast.crufty.net> 64 65 * VERSION (_MAKE_VERSION): 20240314 66 Add/Improve support for Cygwin 67 o uname -s output isn't useful so allow configure to 68 set FORCE_MAKE_OS - to force the value of .MAKE.OS 69 and use Cygwin which matches uname -o 70 o fix some unit-tests for Cygwin 71 722024-03-10 Simon J Gerraty <sjg@beast.crufty.net> 73 74 * boot-strap: tests can take a long time; use a cookie to 75 skip them if bmake has not been updated since tests last 76 ran successfully. 77 78 * Makefile: Cygwin handles MANTARGET man 79 80 * unit-tests/Makefile: set BROKEN_TESTS for Cygwin 81 822024-03-09 Simon J Gerraty <sjg@beast.crufty.net> 83 84 * VERSION (_MAKE_VERSION): 20240309 85 Merge with NetBSD make, pick up 86 o set .ERROR_EXIT to the exit status of .ERROR_TARGET 87 this allows a .ERROR target to ignore the case of 88 .ERROR_EXIT==6 which just means that the build actually 89 failed somewhere else. 90 912024-03-04 Simon J Gerraty <sjg@beast.crufty.net> 92 93 * VERSION (_MAKE_VERSION): 20240303 94 95 * var.c: on IRIX we need both inttypes.h and stdint.h 96 972024-03-01 Simon J Gerraty <sjg@beast.crufty.net> 98 99 * VERSION (_MAKE_VERSION): 20240301 100 Merge with NetBSD make, pick up 101 o export variables with value from target scope 102 when appropriate. 103 1042024-02-12 Simon J Gerraty <sjg@beast.crufty.net> 105 106 * VERSION (_MAKE_VERSION): 20240212 107 Merge with NetBSD make, pick up 108 o remove unneeded conditional-compilation toggles 109 INCLUDES, LIBRARIES, POSIX, SYSVINCLUDE, SYSVVARSUB, 110 GMAKEEXPORT NO_REGEX and SUNSHCMD 111 112 * configure.in: add check for regex.h 113 114 * var.c: replace use of NO_REGEX with HAVE_REGEX_H 115 1162024-02-04 Simon J Gerraty <sjg@beast.crufty.net> 117 118 * VERSION (_MAKE_VERSION): 20240204 119 Merge with NetBSD make, pick up 120 o var.c: fix some lint (-dL) mode parsing issues 121 1222024-02-02 Simon J Gerraty <sjg@beast.crufty.net> 123 124 * VERSION: (_MAKE_VERSION): 20240202 125 Merge with NetBSD make, pick up 126 o make.1: note that arg to :D and :U can be empty 127 o var.c: $$ is not a parse error when .MAKE.SAVE_DOLLARS=no 128 1292024-01-08 Simon J Gerraty <sjg@beast.crufty.net> 130 131 * VERSION (_MAKE_VERSION): 20240108 132 Merge with NetBSD make, pick up 133 o miscellaneous cleanups 134 1352024-01-06 Simon J Gerraty <sjg@beast.crufty.net> 136 137 * VERSION (_MAKE_VERSION): 20240106 138 Merge with NetBSD make, pick up 139 o fix duplicate progname when reporting an unknown target 140 o unit tests for Cmd_Exec using temp file 141 1422024-01-05 Simon J Gerraty <sjg@beast.crufty.net> 143 144 * VERSION (_MAKE_VERSION): 20240105 145 Merge with NetBSD make, pick up 146 o main.c: Cmd_Exec write cmd to a file if too big 147 avoid blowing commandline/env limits 148 1492024-01-02 Simon J Gerraty <sjg@beast.crufty.net> 150 151 * VERSION (_MAKE_VERSION): 20240101 152 o util.c: flesh out more of strftime 153 * configure.in: add --with-bmake-strftime 154 it is not a full implementation but enough to pass all 155 the unit-tests. 156 * parse.c: LoadFile do not append \n to empty buffer. 157 1582023-12-30 Simon J Gerraty <sjg@beast.crufty.net> 159 160 * VERSION (_MAKE_VERSION): 20231230 161 Merge with NetBSD make, pick up 162 o simplify memory allocation for string buffers 163 o fix declared types of list nodes 164 o suff.c: clean up freeing of suffixes 165 o var.c: simplify debug message for the ':@var@...@' modifier 166 clean up variable handling 167 1682023-12-26 Simon J Gerraty <sjg@beast.crufty.net> 169 170 * VERSION (_MAKE_VERSION): 20231226 171 Merge with NetBSD make, pick up 172 o compat.c: ensure make's output is correctly ordered with that of 173 the target when not going to a tty 174 o main.c: check for shellPath whether to call Shell_Init() 175 1762023-12-24 Simon J Gerraty <sjg@beast.crufty.net> 177 178 * VERSION (_MAKE_VERSION): 20231224 179 Merge with NetBSD make, pick up 180 o compat.c: check for shellPath whether to call Shell_Init() 181 tweak the unit test to detect the bug thus fixed. 182 o make.1: do not claim .SHELL is only used by jobs mode. 183 1842023-12-22 Simon J Gerraty <sjg@beast.crufty.net> 185 186 * VERSION (_MAKE_VERSION): 20231220 187 Merge with NetBSD make, pick up 188 o str.c: speed up pattern matching in the ':M' modifier 189 o var.c: fix confusing debug logging when deleting a variable 190 use consistent debug messages style when ignoring variables 191 1922023-12-10 Simon J Gerraty <sjg@beast.crufty.net> 193 194 * VERSION (_MAKE_VERSION): 20231210 195 Merge with NetBSD make, pick up 196 o var.c: avoid segfault on empty :C match expression 197 explain in debug log why variable assignment is ignored. 198 1992023-12-08 Simon J Gerraty <sjg@beast.crufty.net> 200 201 * VERSION (_MAKE_VERSION): 20231208 202 Merge with NetBSD make, pick up 203 o var.c: ensure fromCmd is set correctly for variables set on 204 command line. 205 2062023-11-26 Simon J Gerraty <sjg@beast.crufty.net> 207 208 * configure.in: disable generation of 'makefile' for 209 Darwin by default. 210 211 * boot-strap: docuement --without-makefile 212 2132023-11-24 Simon J Gerraty <sjg@beast.crufty.net> 214 215 * VERSION (_MAKE_VERSION): 20231124 216 Merge with NetBSD make, pick up 217 o main.c: cleanup processing of -j 218 fix lint warning about strchr 219 o var.c: more accurate error message for invalid ':mtime' argument 220 cleanup :[...] modifier 221 avoid reading beyond substring when comparing 222 o unit-tests cover all cases of :mtime, test and explain exporting 223 of variables 224 o cleanup comments 225 2262023-09-17 Simon J Gerraty <sjg@beast.crufty.net> 227 228 * bsd.after-import.mk (ECHO_TAG): FreeBSD no longer uses 229 $FreeBSD$ tag, so avoid adding it. 230 2312023-09-09 Simon J Gerraty <sjg@beast.crufty.net> 232 233 * VERSION (_MAKE_VERSION): 20230909 234 Merge with NetBSD make, pick up 235 o main.c: allow -j to compute a multiple of ncpu 236 If _SC_NPROCESSORS_ONLN is supported; and -j arg is a floating 237 point number or ends in 'C' compute .MAKE.JOBS as a multiple of 238 _SC_NPROCESSORS_ONLN 239 .MAKE.JOBS.C will be "yes" if -jC is supported 240 2412023-08-20 Simon J Gerraty <sjg@beast.crufty.net> 242 243 * VERSION (_MAKE_VERSION): 20230820 244 Merge with NetBSD make, pick up 245 o make.1: note that :localtime is better for %s 246 o parse.c: improve error messages for invalid input. 247 o var.c: fix for %s:L:gmtime - set TZ=UTC and use localtime to get 248 correct result, it is still better to use %s:L:localtime. 249 2502023-08-18 Simon J Gerraty <sjg@beast.crufty.net> 251 252 * VERSION (_MAKE_VERSION): 20230818 253 Merge with NetBSD make, pick up 254 o meta.c: meta_ignore - check raw path against metaIgnorePaths 255 to potentially skip call to realpath. 256 o var.c: be strict when parsing the argument of the ':mtime' modifier 257 o unit-tests/varmod-mtime.mk: document why '${%s:L:localtime}' 258 should be used to get an equivalent value to time(3). 259 2602023-08-16 Simon J Gerraty <sjg@beast.crufty.net> 261 262 * VERSION (_MAKE_VERSION): 20230816 263 Merge with NetBSD make, pick up 264 o cond.c: clean up multiple-inclusion guards 265 2662023-07-25 Simon J Gerraty <sjg@beast.crufty.net> 267 268 * unit-tests/Makefile: addd varmod-localtime to BROKEN_TESTS 269 if configure cannot work out how to control TZ. 270 Remove varmod-localtime from BROKEN_TESTS for IRIX* 271 2722023-07-24 Simon J Gerraty <sjg@beast.crufty.net> 273 274 * VERSION (_MAKE_VERSION): 20230723 275 276 * configure.in: fix the test for wether TZ=Europe/Berlin works. 277 Depending on the time of year, if run between 22:00 and 00:00 UTC 278 the check in configure would fail incorrectly. 279 Take the day into account as well. 280 2812023-07-18 Simon J Gerraty <sjg@beast.crufty.net> 282 283 * VERSION (_MAKE_VERSION): 20230711 284 Merge with NetBSD make, pick up 285 o make.1: clean up wording, clarify scope of '!' in conditions 286 2872023-07-15 Simon J Gerraty <sjg@beast.crufty.net> 288 289 * make-bootstrap.sh.in: set prefix 290 If configure is run using ksh we get unexpanded ${prefix} in 291 DEFAULT_SYS_PATH, by ensuring prefix is set we should still get 292 correct result. 293 2942023-07-13 Simon J Gerraty <sjg@beast.crufty.net> 295 296 * VERSION (_MAKE_VERSION): 20230711 297 bump version for IRIX tweaks 298 299 * make.h: undef OP_NONE if defined 300 301 * unit-tests/Makefile: set BROKEN_TESTS for IRIX 302 303 * configure.in: override INSTALL on IRIX 304 3052023-06-27 Simon J Gerraty <sjg@beast.crufty.net> 306 307 * boot-strap op_test: ensure we set TEST_MAKE as we want it. 308 3092023-06-22 Simon J Gerraty <sjg@beast.crufty.net> 310 311 * VERSION (_MAKE_VERSION): 20230622 312 Merge with NetBSD make, pick up 313 o optimize string matching for ':M' and ':N' 314 o warn about malformed patterns in ':M', ':N' and '.if make(...)' 315 3162023-06-21 Simon J Gerraty <sjg@beast.crufty.net> 317 318 * VERSION (_MAKE_VERSION): 20230621 319 Merge with NetBSD make, pick up 320 o more extensive tests for include guards 321 o parse.c: if a guard is already defined a file that uses the same 322 guard is still guarded by it. 323 3242023-06-20 Simon J Gerraty <sjg@beast.crufty.net> 325 326 * VERSION (_MAKE_VERSION): 20230620 327 Merge with NetBSD make, pick up 328 o allow guards to be targets as well as variables 329 The guard targets may include variable references like 330 __${.PARSEDIR:tA}/${.PARSEFILE}__ 331 3322023-06-19 Simon J Gerraty <sjg@beast.crufty.net> 333 334 * VERSION (_MAKE_VERSION): 20230619 335 Merge with NetBSD make, pick up 336 o unit test for .undef of readOnly vars 337 o optimization for makefiles protected from multiple-inclusion 338 skip even opening the file after first include. 339 Initially this only handles makefiles guarded by a variable 340 target guards are next. 341 3422023-06-16 Simon J Gerraty <sjg@beast.crufty.net> 343 344 * VERSION (_MAKE_VERSION): 20230616 345 Merge with NetBSD make, pick up 346 o var.c: do not allow delete of readOnly variable 347 3482023-06-03 Simon J Gerraty <sjg@beast.crufty.net> 349 350 * VERSION (_MAKE_VERSION): 20230601 351 Merge with NetBSD make, pick up 352 o parse.c: .break takes no args 353 o lots of unit test updates 354 3552023-05-29 Simon J Gerraty <sjg@beast.crufty.net> 356 357 * unit-tests/Makefile: skip tests that require /dev/filemon 358 if it does not exists - issue a warning. 359 3602023-05-22 Simon J Gerraty <sjg@beast.crufty.net> 361 362 * VERSION (_MAKE_VERSION): 20230522 363 Fix building on darwin ppc 364 365 * os.sh (MACHINE): Darwin powerpc cannot use `uname -m` 366 also recent NetBSD uses x86_64 for MACHINE_ARCH so conform. 367 3682023-05-15 Simon J Gerraty <sjg@beast.crufty.net> 369 370 * VERSION (_MAKE_VERSION): 20230515 371 372 * Makefile (COPTS.filemon_ktrace.c): NetBSD 7 needs help to 373 compile filemon_ktrace.c 374 3752023-05-13 Simon J Gerraty <sjg@beast.crufty.net> 376 377 * VERSION (_MAKE_VERSION): 20230512 378 o sys.dirdeps.mk - broke after-import target 379 3802023-05-10 Simon J Gerraty <sjg@beast.crufty.net> 381 382 * VERSION (_MAKE_VERSION): 20230510 383 Merge with NetBSD make, pick up 384 o parse.c: don't print null filename in stack traces 385 o var.c: :mtime operate on each word in variable value 386 3872023-05-09 Simon J Gerraty <sjg@beast.crufty.net> 388 389 * VERSION (_MAKE_VERSION): 20230509 390 Merge with NetBSD make, pick up 391 o for.c: skip syntactically wrong .for loops 392 o var.c: allow for :gmtime=${mtime} 393 add :mtime[=timestamp] where timestamp is used if stat(2) 394 fails, if :mtime=error stat(2) failure causes error. 395 3962023-05-05 Simon J Gerraty <sjg@beast.crufty.net> 397 398 * VERSION (_MAKE_VERSION): 20230504 399 Merge with NetBSD make, pick up 400 o compat.c: fix compile on NetBSD 7.2 401 o make.1: fix documentation of .PREFIX to match reality and POSIX 402 o unit-tests: improved var-scope-local 403 4042023-04-14 Simon J Gerraty <sjg@beast.crufty.net> 405 406 * VERSION (_MAKE_VERSION): 20230414 407 Merge with NetBSD make, pick up 408 o minor cleanup 409 4102023-03-25 Simon J Gerraty <sjg@beast.crufty.net> 411 412 * main.c: on some systems (eg OS/X) setting RLIMIT_NOFILE to 413 unlimited results in an insane number (0x7fffffffffffffff). 414 If BMAKE_NOFILE_MAX is defined, use that instead. 415 4162023-03-22 Simon J Gerraty <sjg@beast.crufty.net> 417 418 * VERSION (_MAKE_VERSION): 20230321 419 Merge with NetBSD make, pick up 420 * make.1: document seemingly unexplained Error code 6. 421 4222023-03-18 Simon J Gerraty <sjg@beast.crufty.net> 423 424 * VERSION (_MAKE_VERSION): 20230317 425 Merge with NetBSD make, pick up 426 o compat.c: CompatDeleteTarget skip .PHONY targets to be 427 consistent with JobDeleteTarget. 428 o job.c: fix memory leak in handling sysv :from=to modifiers 429 4302023-03-04 Simon J Gerraty <sjg@beast.crufty.net> 431 432 * VERSION (_MAKE_VERSION): 20230303 433 Merge with NetBSD make, pick up 434 o several updated unit-tests 435 4362023-02-22 Simon J Gerraty <sjg@beast.crufty.net> 437 438 * VERSION (_MAKE_VERSION): 20230222 439 Merge with NetBSD make, pick up 440 o unit tests for .MAKE.META.IGNORE_{FILTER,PATHS,PATTERNS} 441 4422023-02-20 Simon J Gerraty <sjg@beast.crufty.net> 443 444 * VERSION (_MAKE_VERSION): 20230218 445 Merge with NetBSD make, pick up 446 o var.c: fix parsing of unevaluated subexpressions with 447 unbalanced '{}' 448 4492023-02-17 Simon J Gerraty <sjg@beast.crufty.net> 450 451 * VERSION (_MAKE_VERSION): 20230215 452 Merge with NetBSD make, pick up 453 o inline macros for some variable names 454 o cond.c: reduce complexity of evaluating expressions 455 4562023-02-08 Simon J Gerraty <sjg@beast.crufty.net> 457 458 * VERSION (_MAKE_VERSION): 20230208 459 Merge with NetBSD make, pick up 460 o var.c: always use SCOPE_GLOBAL for :_ to avoid problems 461 when it has been used within conditional expressions 462 4632023-01-27 Simon J Gerraty <sjg@beast.crufty.net> 464 465 * VERSION (_MAKE_VERSION): 20230127 466 467 * install-sh: if making directories ensure umask is set 468 to match mode. 469 470 * Makefile: use DIRMODE for directories and 471 NONBINMODE for man pages and mk files 472 4732023-01-26 Simon J Gerraty <sjg@beast.crufty.net> 474 475 * VERSION (_MAKE_VERSION): 20230126 476 Merge with NetBSD make, pick up 477 o variables like .newline and .MAKE.{GID,PID,PPID,UID} 478 should be read-only. 479 4802023-01-23 Simon J Gerraty <sjg@beast.crufty.net> 481 482 * VERSION (_MAKE_VERSION): 20230123 483 Merge with NetBSD make, pick up 484 o .[NO]READONLY: for control of read-only variables 485 o .SYSPATH: for controlling the path searched for makefiles 486 4872023-01-20 Simon J Gerraty <sjg@beast.crufty.net> 488 489 * VERSION (_MAKE_VERSION): 20230120 490 Merge with NetBSD make, pick up 491 o allow for white-space between command specifiers @+- 492 o add more details to warning 'Extra targets ignored' 493 4942023-01-12 Simon J Gerraty <sjg@beast.crufty.net> 495 496 * machine.sh: leverage os.sh rather than duplicate 497 also dispence with the $OS.$MACHINE values - we have $HOST_TARGET 498 for that purpose for the past decade or so. 499 We invariably get MACHINE and MACHINE_ARCH at runtime anyway. 500 5012023-01-02 Simon J Gerraty <sjg@beast.crufty.net> 502 503 * VERSION (_MAKE_VERSION): 20230101 504 Merge with NetBSD make, pick up 505 o cleanup comments, inline some LazyBuf_ methods 506 o unit-tests/ add/improve comments in tests 507 o make.1: sync list of built-in variables with reality 508 sort list of built-in variables 509 reduce indentation of the long list of variable names 510 use consistent markup for boolean flags 511 move description of .MAKE.MODE below the .MAKE.META block 512 clarify in which case an expression may omit braces 513 5142022-11-08 Simon J Gerraty <sjg@beast.crufty.net> 515 516 * VERSION (_MAKE_VERSION): 20221024 517 Merge with NetBSD make, pick up 518 o change return type of unlink_file back to int 519 5202022-10-07 Simon J Gerraty <sjg@beast.crufty.net> 521 522 * Makefile: Darwin and Linux can handle MANTARGET=man 523 5242022-09-28 Simon J Gerraty <sjg@beast.crufty.net> 525 526 * VERSION (_MAKE_VERSION): 20220928 527 Merge with NetBSD make, pick up 528 o fix more ignored returns from snprintf 529 o compile with higher warnings 530 5312022-09-26 Simon J Gerraty <sjg@beast.crufty.net> 532 533 * main.c meta.c: do not ignore return from snprintf 534 535 * meta.c strlcpy.c: we need prototype for strlcpy 536 537 * sigcompat.c: fix unused function warnings 538 5392022-09-24 Simon J Gerraty <sjg@beast.crufty.net> 540 541 * VERSION (_MAKE_VERSION): 20220924 542 Merge with NetBSD make, pick up 543 o fix bug in .break reset of conditional depth 544 o overhaul and simplify tracking of conditional depth 545 5462022-09-17 Simon J Gerraty <sjg@beast.crufty.net> 547 548 * VERSION (_MAKE_VERSION): 20220912 549 Merge with NetBSD make, pick up 550 o man page updates 551 5522022-09-09 Simon J Gerraty <sjg@beast.crufty.net> 553 554 * VERSION (_MAKE_VERSION): 20220909 555 Merge with NetBSD make, pick up 556 o update unit-tests to handle deprecation of egrep 557 o cond.c: add more details to error message for numeric comparison 558 559 * configure.in: allow for deprecation of egrep 560 561 * Makefile: Linux can handle MANTARGET=man 562 5632022-09-03 Simon J Gerraty <sjg@beast.crufty.net> 564 565 * VERSION (_MAKE_VERSION): 20220903 566 Merge with NetBSD make, pick up 567 o job.c: fix handling of null bytes in output 568 5692022-09-02 Simon J Gerraty <sjg@beast.crufty.net> 570 571 * VERSION (_MAKE_VERSION): 20220902 572 Merge with NetBSD make, pick up 573 o Allow .break to terminate a .for loop early 574 5752022-09-01 Simon J Gerraty <sjg@beast.crufty.net> 576 577 * VERSION (_MAKE_VERSION): 20220901 578 Merge with NetBSD make, pick up 579 o var.c: fix out-of-bounds errors when parsing 580 5812022-08-24 Simon J Gerraty <sjg@beast.crufty.net> 582 583 * VERSION (_MAKE_VERSION): 20220824 584 Merge with NetBSD make, pick up 585 o var.c: revert change to modifier parsing that breaks 586 shell variable references within ':@var@body@' 587 o adjust unit-tests 588 5892022-08-18 Simon J Gerraty <sjg@beast.crufty.net> 590 591 * VERSION (_MAKE_VERSION): 20220818 592 Merge with NetBSD make, pick up 593 o fix exit status for '-q' (since 1994) 594 5952022-08-08 Simon J Gerraty <sjg@beast.crufty.net> 596 597 * VERSION (_MAKE_VERSION): 20220808 598 Merge with NetBSD make, pick up 599 o var.c: fix parsing of modifiers containing unbalanced subexpressions 600 extract parsing of ':D' and ':U' modifiers into separate function 601 6022022-07-26 Simon J Gerraty <sjg@beast.crufty.net> 603 604 * VERSION (_MAKE_VERSION): 20220726 605 606 * Auto-create objdir for bmake/unit-tests if appropriate 607 6082022-07-24 Simon J Gerraty <sjg@beast.crufty.net> 609 610 * VERSION (_MAKE_VERSION): 20220724 611 Merge with NetBSD make, pick up 612 o make.1: describe variable assignment and evaluation more precisely 613 o parse.c: fix out-of-bounds read when parsing an invalid line 614 o var.c: simplify return type of IsShortVarnameValid 615 6162022-06-12 Simon J Gerraty <sjg@beast.crufty.net> 617 618 * VERSION (_MAKE_VERSION): 20220612 619 Merge with NetBSD make, pick up 620 o allow to randomize build order of targets 621 .MAKE.MODE += randomize-targets can help uncover dependency bugs 622 within a makefile. 623 o compat.c: rename Compat_Run to Compat_MakeAll 624 o make.c: inline MakeBuildParent 625 inline make_abort, improve error details 626 o parse.c: reorganize Parse_Error 627 fix memory leak in wildcard targets and sources 628 separate cases in HandleDependencyTargetMundane 629 extract HandleSingleDependencyTargetMundane 630 rename loadfile to LoadFile 631 split IncludeFile into separate functions 632 condense code for searching a file in the paths 633 fix off-by-one error in buffer for .WAIT nodes 634 o str.c: condense Str_Match 635 make code for string matching syntactically more consistent 636 6372022-04-18 Simon J Gerraty <sjg@beast.crufty.net> 638 639 * VERSION (_MAKE_VERSION): 20220418 640 Merge with NetBSD make, pick up 641 o ignore '.POSIX:' if not in first non-comment line 642 of Makefile as specified by POSIX. 643 add unit-tests for above. 644 o meta.c: make it easier to find usage of identifiers 645 o targ.c: add .USEBEFORE to Targ_PrintType 646 6472022-04-14 Simon J Gerraty <sjg@beast.crufty.net> 648 649 * VERSION (_MAKE_VERSION): 20220414 650 651 * unit-tests/Makefile: simplify checks for shells with 652 BROKEN_TESTS, this helps with other Linux distros that 653 use dash. 654 6552022-03-30 Simon J Gerraty <sjg@beast.crufty.net> 656 657 * VERSION (_MAKE_VERSION): 20220330 658 Merge with NetBSD make, pick up 659 o var.c: fix spacing, and a typo in a test 660 6612022-03-26 Simon J Gerraty <sjg@beast.crufty.net> 662 663 * VERSION (_MAKE_VERSION): 20220326 664 Merge with NetBSD make, pick up 665 o parse.c: try to include 'posix.mk' the first time 666 .POSIX: is encountered, to allow for beter POSIX compliance. 667 o var.c: make debug logs more readable 668 prefer 'long long' over 'long' on 32-bit C99 platforms 669 fix crash on .undef of an environment variable 670 6712022-03-03 Simon J Gerraty <sjg@beast.crufty.net> 672 673 * VERSION (_MAKE_VERSION): 20220303 674 Merge with NetBSD make, pick up 675 o tell meta mode unit tests not to expect filemon 676 o cond.c: make debug logging for comparisons less technical 677 o lst.c: fix mem leak in Lst_Remove 678 o str.c: make code for string matching syntactically more consistent 679 o var.c: simplify ParseModifier_Match 680 6812022-02-14 Simon J Gerraty <sjg@beast.crufty.net> 682 683 * unit-tests/Makefile: control MAKESYSPATH for deptgt-phony 684 685 * VERSION (_MAKE_VERSION): 20220214 686 Merge with NetBSD make, pick up 687 o cond.c: simplify control flow in CondParser_Comparison 688 o job.c: fix echoing of command with '-' in silent target in jobs mode 689 o main.c: prefix the warning about read-only .OBJDIR with a colon 690 o parse.c: remove redundant conditions 691 o var.c: simplify control flow in ModifyWord_SysVSubst 692 6932022-02-08 Simon J Gerraty <sjg@beast.crufty.net> 694 695 * unit-tests/Makefile: disable opt-debug-x-trace on Linux if there 696 is any chance we have dash as .SHELL 697 698 * VERSION (_MAKE_VERSION): 20220208 699 Merge with NetBSD make, pick up 700 o more unit tests 701 o meta.c: use a variable to hold command line to be filtered 702 to avoid any side effects from content of command line. 703 7042022-02-04 Simon J Gerraty <sjg@beast.crufty.net> 705 706 * VERSION (_MAKE_VERSION): 20220204 707 Merge with NetBSD make, pick up 708 o use unsigned consistently for line numbers, avoid the need for %z 709 o parse.c: do not step off end of input in Parse_IsVar 710 when checking for target local variable assignments 711 7122022-02-02 Simon J Gerraty <sjg@beast.crufty.net> 713 714 * VERSION (_MAKE_VERSION): 20220202 715 Merge with NetBSD make, pick up 716 o remove redundant declaration of HashIter_Init 717 o make DEBUG0 simpler 718 7192022-01-30 Simon J Gerraty <sjg@beast.crufty.net> 720 721 * cast gn->lineno to avoid %z 722 723 * VERSION (_MAKE_VERSION): 20220130 724 Merge with NetBSD make, pick up 725 o more unit tests 726 o make GNode lineno unsigned to please lint 727 o print location of recursive variable references in commands 728 o print "stack trace" (makefile includes) on fatal errors 729 o make.1: refine documentation for target local assignments 730 7312022-01-28 Simon J Gerraty <sjg@beast.crufty.net> 732 733 * VERSION (_MAKE_VERSION): 20220128 734 Merge with NetBSD make, pick up 735 o inline functions called only once 736 o for.c: clean up AddEscape for building the body of a .for loop 737 o hash.c: merge duplicate code for finding an entry in a hash table 738 replace HashEntry_KeyEquals with strncmp 739 o make.1: document quirks of target local variable assignments. 740 o parse.c: cleanup white-space 741 7422022-01-26 Simon J Gerraty <sjg@beast.crufty.net> 743 744 * VERSION (_MAKE_VERSION): 20220126 745 Merge with NetBSD make, pick up 746 o allow setting target local variables 747 o more unit tests 748 o add missing newline after "cannot continue" message 749 o meta.c: clean up eat_dots 750 o parse.c: fix filename in warning about duplicate script 751 o var.c: when expanding nested variables, check simple things first 752 7532022-01-16 Simon J Gerraty <sjg@beast.crufty.net> 754 755 * VERSION (_MAKE_VERSION): 20220116 756 Merge with NetBSD make, pick up 757 o fix for unit-tests/varname-makeflags on non-BSD systems 758 o use Var_Exists rather than Var_Value where appropriate 759 o remove unnecessary functions for expanding variable names 760 o cond.c: inline EvalBare 761 o main.c: lint cleanup 762 o parse.c: condense code in Parse_IsVar 763 use islower for parsing directives (none have upper case) 764 7652022-01-12 Simon J Gerraty <sjg@beast.crufty.net> 766 767 * VERSION (_MAKE_VERSION): 20220112 768 Merge with NetBSD make, pick up 769 o meta.c: add .MAKE.META.CMP_FILTER for filtering commands before 770 comparion, rarely needed but useful when it is. 771 7722022-01-10 Simon J Gerraty <sjg@beast.crufty.net> 773 774 * VERSION (_MAKE_VERSION): 20220110 775 Merge with NetBSD make, pick up 776 o inline Buf_Clear 777 o remove redundant braces 778 o rename and inline Targ_Precious 779 o cond.c: remove redundant initializer in CondParser_ComparisonOrLeaf 780 o for.c: clean up handling of .for loops 781 fix reported line numbers of continuation lines 782 add details about .for loop variables to stack traces 783 o job.c: reduce code for initializing error handling in shell 784 o main.c: in Cmd_Exec, return error message instead of format string 785 have as few statements as possible between va_start and va_end 786 add debug logging for capturing the output of external commands 787 o make.c: use consistent variable names for varargs 788 o make_malloc.c: remove duplicate code from bmake_strdup 789 o parse.c: add missing printflike annotations 790 remove redundant lines from stack traces 791 fix stack traces in -dp mode 792 reduce confusing code in ParseForLoop 793 fix line number in debug log after returning from a file 794 rename IFile and its fields to match their actual content 795 clean up ParseDependencySources 796 o var.c: shorten ApplyModifier_Assign 797 rename is_shell_metachar, fix character conversion warning 798 merge calls to ApplyModifier_Time 799 merge duplicate code for modifiers 'gmtime' and 'localtime' 800 8012022-01-04 Simon J Gerraty <sjg@beast.crufty.net> 802 803 * parse.c: loadfile restore extra byte in buffer. 804 8052022-01-01 Simon J Gerraty <sjg@beast.crufty.net> 806 807 * VERSION (_MAKE_VERSION): 20220101 808 Merge with NetBSD make, pick up 809 o more unit-tests 810 o remove unnecessary words from command line options in CmdOpts 811 o rename eunlink to unlink_file 812 o cond.c: make ParseWord in condition parser simpler 813 internally return false for irrelevant leaves in conditions 814 replace table for function lookup in conditions with simple code 815 merge duplicate types CondEvalResult and CondResult 816 o for.c: clean up handling of .for loops and .include directives 817 o main.c: constify cached_realpath 818 clean up Cmd_Exec 819 o parse.c: sync API documentation 820 fix error message when reading more than 1 GB from stdin 821 clean up parsing of makefiles 822 fix line number in error message about open conditionals 823 unexport types VarAssignOp and VarAssign 824 clean up function names 825 remove redundant parameters in dependency parsing functions 826 reduce scope of the list of wildcard target names 827 extract OP_NOTARGET into separate function 828 clean up variable names for parsing dependency lines 829 make debug logging a bit more human-friendly 830 o var.c: condense code in ApplyModifier_Assign 831 8322021-12-21 Simon J Gerraty <sjg@beast.crufty.net> 833 834 * VERSION (_MAKE_VERSION): 20211221 835 Merge with NetBSD make, pick up 836 o more unit-tests 837 o style cleanup 838 o in CLEANUP mode, free interned strings at the very end 839 o fix memory leak for filenames in .for loops 840 o buf.c: avoid memory leak 841 o cond.c: condense CondParser_ComparisonOp 842 o hash.c: change return type of HashTable_Set to void 843 o job.c: change return type of Compat_RunCommand from int to bool 844 o main.c: remove bmake_free 845 o parse.c: condense repetetive code in ParseDirective 846 remove dead code for handling traditional include directives 847 clean up parsing of variable assignments 848 remove unreachable code for parsing the dependency operator 849 clean up loading of files 850 fix memory leak in IncludeFile 851 o var.c: fix memory leak when parsing a variable name 852 fix memory leak from ${.SUFFIXES} 853 reduce memory allocation in modifier ':?' and ':C' 854 condense RegexReplace for the modifier ':C' and avoid strlen 855 merge duplicate code for memory handling in Var_Parse 856 distinguish between short-lived and environment variables 857 rename VarFreeEnv to VarFreeShortLived 858 8592021-12-15 Simon J Gerraty <sjg@beast.crufty.net> 860 861 * cond.c: fix mem leak in CondParser_Leaf 862 8632021-12-12 Simon J Gerraty <sjg@beast.crufty.net> 864 865 * VERSION (_MAKE_VERSION): 20211212 866 Merge with NetBSD make, pick up 867 o rename Parse_SetInput to Parse_PushInput 868 o remove remove period from end of error messages and warnings 869 to be more consistent 870 o arch.c: use simpler memory management for parsing archive members 871 o cond.c: rework and reduce recursion 872 o for.c: rename some functions to better reflect purpose 873 o suff.c: add Suff_NamesStr to provide .SUFFIXES as a string. 874 o var.c: in parse errors, mark whitespace more clearly 875 inline ParseEmptyArg into CondParser_FuncCallEmpty 876 minimize calls to LazyBuf_Get in ParseVarnameLong 877 treat .SUFFIXES as a read-only variable 878 8792021-12-07 Simon J Gerraty <sjg@beast.crufty.net> 880 881 * VERSION (_MAKE_VERSION): 20211207 882 Merge with NetBSD make, pick up 883 o inline HashIter_Init 884 o parse.c: inline common subexpression in ParseRawLine 885 o var.c: merge branches for modifiers ':D' and ':U' 886 extract common code into Expr_Words 887 extract common code into Expr_Str 888 move low-level implementation details out of Var_Parse 889 8902021-12-06 Simon J Gerraty <sjg@beast.crufty.net> 891 892 * VERSION (_MAKE_VERSION): 20211206 893 Merge with NetBSD make, pick up 894 o add unit-tests/varmod-loop-delete 895 o for.c: inline Str_Words - reduce memory allocation 896 o parse.c: do not try to expand fixed variable names 897 only allocate the name of an included file if necessary 898 clean up ParseInclude 899 o var.c: fix use-after-free in modifier ':@' 900 save a memory allocation in each modifier ':O' and ':u' 901 save a memory allocation in the modifier ':[...]' 902 in UnexportVars, replace Str_Words with Substring_Words to 903 reduce allocations and copying. 904 9052021-12-04 Simon J Gerraty <sjg@beast.crufty.net> 906 907 * VERSION (_MAKE_VERSION): 20211204 908 Merge with NetBSD make, pick up 909 o flesh out a number of tests 910 o replace enums with bitfields, this simplifies a lot of code. 911 o var.c: refactor ParseModifierPartSubst 912 9132021-10-24 Simon J Gerraty <sjg@beast.crufty.net> 914 915 * VERSION (_MAKE_VERSION): 20211024 916 Merge with NetBSD make, pick up 917 o Punt on write errors - ENOSPC etc. 918 9192021-10-22 Simon J Gerraty <sjg@beast.crufty.net> 920 921 * configure.in: use_defshell, set both DEFSHELL_INDEX 922 and defshell_path if appropriate. 923 This makes it easier to use say the KSH specification with 924 and alternate path for the shell. 925 926 * configure.in compat.c: for SCO we need to force UseShell 927 928 * configure.in: SCO /bin/sh is not usable, provide a list of 929 alternatives for use as .SHELL. 930 We still have to mark some tests as broken, plus more if we end up 931 with ksh as .SHELL. 932 Issue a warning about skipped tests. 933 934 * boot-strap: leave TOOL_DIFF to configure 935 936 * configure.in: on SCO native cc is not usable, 937 gcc is to be found in /usr/gnu/bin 938 and while ancient is at least able to compile bmake. 939 Thus we add /usr/gnu/bin to PATH if it exists, and later 940 check if $CC would have been found via $PATH. 941 If not we set CC to the full path of $CC. 942 Also gnu diff is known to support -u, so if it exists use it. 943 944 * configure.in: move getopt to AC_REPLACE_FUNCS 945 also add AC_C_INLINE - in an attempt to compile using 946 native cc on SCO. 947 948 * configure.in: check for stresep as well as strsep, since we 949 define the later to the former if necessary, and if we have to 950 provide stresep we also need to provide a prototype. 951 952 * configure.in: we no longer need to worry about 953 sys/cdefs.h providing __RCSID which simplifies things quite a bit. 954 955 * make.h: make sure we have __RCSID 956 957 * unit-tests/Makefile.config.in: add TOOL_DIFF so configure 958 can control it. 959 9602021-10-20 Simon J Gerraty <sjg@beast.crufty.net> 961 962 * VERSION: 20211020 963 Merge with NetBSD make, pick up 964 o confirm sync of unit-tests 965 9662021-10-18 Simon J Gerraty <sjg@beast.crufty.net> 967 968 * configure.in: check if timezone Europe/Berlin is supported 969 if not try UTC-1 970 * configure.in: if .OBJDIR is $srcdir/obj we need to create a 971 symlink unit-tests -> ../unit-tests/obj so that 972 unit-tests/Makefile.config is put in the right place. 973 * refine filtering of .OBJDIR in unit-tests 974 9752021-10-16 Simon J Gerraty <sjg@beast.crufty.net> 976 977 * Fix unit-tests on Minix 3.2.0 978 o job.c: do not punt if read of token pipe fails for EAGAIN. 979 On Minix at least, we are not ready to read the childExitJob pipe 980 when poll says we are. 981 There should actually be no reason for this pipe to be 982 non-blocking, but while that works fine on {Net,Free}BSD it 983 breaks another test case on Minix. 984 o unit-tests/Makefile: deal with variants of error messages 985 and use of obj as .OBJDIR 986 9872021-10-14 Simon J Gerraty <sjg@beast.crufty.net> 988 989 * configure.in: add sigaction to AC_REPLACE_FUNCS 990 we also need to check for sigaddset etc just for the benefit of 991 sigact.c 992 993 * Add sigact.c as sigaction.c so this "just works". 994 This should have been done back when bmake_signal started using 995 sigaction (I only just noticed that sigact.c wasn't here ;-) 996 Note: I no longer have access to any system where this would matter. 997 9982021-10-13 Simon J Gerraty <sjg@beast.crufty.net> 999 1000 * VERSION (_MAKE_VERSION): 20211011 1001 1002 * Makefile: cleanup a little 1003 1004 * configure.in: check for sigsetmask 1005 10062021-10-01 Simon J Gerraty <sjg@beast.crufty.net> 1007 1008 * VERSION (_MAKE_VERSION): 20211001 1009 Merge with NetBSD make, pick up 1010 o reduce locations reducing text size 1011 o remove unnecessary const 1012 o cond.c: fix lint warning on i386 1013 do not allow unquoted 'left == right' after modifier ':?' 1014 o hash.c: fix build for DEBUG_HASH_LOOKUP 1015 o var.c: fix memory leak in error case of the ':?' modifier 1016 10172021-09-11 Simon J Gerraty <sjg@beast.crufty.net> 1018 1019 * VERSION (_MAKE_VERSION): 20210911 1020 Merge with NetBSD make, pick up 1021 o var.c: replace remaining ModChain_ShouldEval with Expr_ShouldEval 1022 10232021-09-08 Simon J Gerraty <sjg@beast.crufty.net> 1024 1025 * VERSION (_MAKE_VERSION): 20210906 1026 Merge with NetBSD make, pick up 1027 o more unit tests 1028 o lint cleanup 1029 o rename some functions to better fit purpose 1030 o for.c: cleanup - remove unnecessary optimization 1031 fix embedded newlines 1032 o parse.c: correct case for CVS/RCS 1033 10342021-08-11 Simon J Gerraty <sjg@beast.crufty.net> 1035 1036 * VERSION (_MAKE_VERSION): 20210808 1037 Merge with NetBSD make, pick up 1038 o var.c: remove redundant initialization in ApplyModifier_Order 1039 1040 * mk/options.mk: issue warning for incorrect usage 1041 10422021-08-03 Simon J Gerraty <sjg@beast.crufty.net> 1043 1044 * var.c: use long for :On if we don't have a 64bit int type 1045 1046 * VERSION (_MAKE_VERSION): 20210803 1047 Merge with NetBSD make, pick up 1048 o rework varmod-order tests to avoid qsort instability 1049 o make.1: clarify :On entry 1050 10512021-07-31 Simon J Gerraty <sjg@beast.crufty.net> 1052 1053 * VERSION (_MAKE_VERSION): 20210731 1054 Merge with NetBSD make, pick up 1055 o fix some lint issues 1056 o more unit tests 1057 o var.c: rework of ApplyModifier_Order 1058 10592021-07-30 Simon J Gerraty <sjg@beast.crufty.net> 1060 1061 * util.c: add strto*l if HAVE_STRTO*L not defined 1062 1063 * VERSION (_MAKE_VERSION): 20210730 1064 Merge with NetBSD make, pick up 1065 o var.c: add :On and :Orn for numeric sort 1066 disabled if no 64bit type available. 1067 o _strtol.h: to implement strto*l functions 1068 10692021-07-04 Simon J Gerraty <sjg@beast.crufty.net> 1070 1071 * VERSION (_MAKE_VERSION): 20210704 1072 Merge with NetBSD make, pick up 1073 o unit-tests: fix some tests to be more portable 1074 - job-output-null not all shells do the same number of write calls 1075 - objdir-writable if TMPDIR is set; /tmp may not be usable 1076 10772021-07-01 Simon J Gerraty <sjg@beast.crufty.net> 1078 1079 * VERSION (_MAKE_VERSION): 20210701 1080 Merge with NetBSD make, pick up 1081 o unit-tests: allow for BROKEN_TESTS to list TESTS to be skipped; 1082 some tests just cannot work in some environments. 1083 o buf.c: simpler upper bound for length in Buf_AddInt 1084 o cond.c: fix grammar in error message for malformed conditional 1085 o for.c: prevent newline injection (from ${.newline}) in .for loops 1086 o var.c: use more practical data type in RegexReplace 1087 (avoid need for %zu) 1088 extract RegexReplace from ModifyWord_SubstRegex 1089 10902021-06-21 Simon J Gerraty <sjg@beast.crufty.net> 1091 1092 * VERSION (_MAKE_VERSION): 20210621 1093 Merge with NetBSD make, pick up 1094 o var.c: only report error for unmatched regex subexpression 1095 when linting (-dL) since we cannot tell when an unmatched 1096 subexpression is an expected result. 1097 o move unmatched regex subexpression tests to 1098 varmod-subst-regex.mk and enable strict (lint) mode 1099 11002021-06-16 Simon J Gerraty <sjg@beast.crufty.net> 1101 1102 * VERSION (_MAKE_VERSION): 20210616 1103 Merge with NetBSD make, pick up 1104 o more unit tests 1105 o cond.c: rename If_Eval to EvalBare 1106 improve function names for parsing conditions 1107 o job.c: fix error handling of targets that cannot be made 1108 o var.c: uncompress code in ApplyModifier_Unique 1109 11102021-05-18 Simon J Gerraty <sjg@beast.crufty.net> 1111 1112 * VERSION (_MAKE_VERSION): 20210518 1113 Merge with NetBSD make, pick up 1114 o fix unit-tests/opt-chdir to cope with /nonexistent existing. 1115 o job.c: Print -de error information when running multiple jobs 1116 11172021-04-20 Simon J Gerraty <sjg@beast.crufty.net> 1118 1119 * VERSION (_MAKE_VERSION): 20210420 1120 Merge with NetBSD make, pick up 1121 o use C99 bool type 1122 o convert VarEvalFlags back into an enum 1123 o cond.c: do not complain when skipping the condition 'no >= 10' 1124 o hash.c: avoid allocating memory for simple variable names 1125 o job.c: use distinct wording for writing to the shell commands file 1126 remove type name for the abort status in job handling 1127 rename PrintOutput to PrintFilteredOutput to avoid confusion 1128 o main.c: avoid double slash in name of temporary directory 1129 o var.c: use straight quotes for error 'Bad conditional expression' 1130 reduce memory allocations in the modifiers ':D' and ':U' 1131 rename members of ModifyWord_LoopArgs 1132 clean up pattern flags for the modifiers ':S' and ':C' 1133 reduce memory allocation and strlen calls in modifier ':from=to' 1134 in the ':Q' modifier, only allocate memory if necessary 1135 improve performance for LazyBuf 1136 remove redundant parameter from ParseVarnameLong 1137 migrate ParseModifierPart to use Substring 1138 avoid unnecessary calls to strlen when evaluating modifiers 1139 migrate ModifyWord functions to use Substring 1140 migrate handling of the modifier ':S,from,to,' to Substring 1141 reduce debug logging and memory allocation for ${:U...} 1142 reduce verbosity of the -dv debug logging for standard cases 1143 clean up debug logging for ':M' and ':N' 1144 disallow '$' in the variable name of the modifier ':@' 1145 simplify access to the name of an expression during evaluation 1146 11472021-03-30 Simon J Gerraty <sjg@beast.crufty.net> 1148 1149 * VERSION (_MAKE_VERSION): 20210330 1150 Merge with NetBSD make, pick up 1151 o replace enum bit-field with struct bit-field for VarEvalFlags 1152 o rename VARE_NONE to VARE_PARSE_ONLY 1153 o var.c: rename ApplyModifiersState to ModChain 1154 fix double varname expansion in the variable modifier '::=' 1155 change debug log for variable evaluation flags to lowercase 1156 11572021-03-14 Simon J Gerraty <sjg@beast.crufty.net> 1158 1159 * VERSION (_MAKE_VERSION): 20210314 1160 Merge with NetBSD make, pick up 1161 o var.c: avoid evaluating many modifiers in parse only mode 1162 in strict mode (-dL) many variable references are parsed twice, 1163 the first time just to report parse errors early, so we want to 1164 avoid side effects and wasted effort to the extent possible. 1165 11662021-02-26 Simon J Gerraty <sjg@beast.crufty.net> 1167 1168 * VERSION (_MAKE_VERSION): 20210226 1169 Merge with NetBSD make, pick up 1170 o remove freestanding freeIt variables 1171 link via FStr 1172 o var.c: restructure code in ParseVarname to target human readers 1173 improve error message for; 1174 bad modifier in variable expression 1175 unclosed modifier 1176 unknown modifier 1177 remove redundant parameter of ApplySingleModifier 1178 explain non-obvious code around indirect variable modifiers 1179 quote ':S' in error message about missing delimiter 1180 extract ParseModifier_Match into separate function 1181 add context information to error message about ':range' modifier 1182 add quotes around variable name in an error message 1183 reorder code in ModifyWords 1184 use more common parameter order for VarSelectWords 1185 make ModifyWord_Subst a little easier to understand 1186 do not expand variable name from the command line twice 1187 extract ExistsInCmdline from Var_SetWithFlags 1188 save a hash map lookup when defining a cmdline variable 1189 clean up VarAdd, Var_Delete, Var_ReexportVars 1190 use bit-shift expressions for VarFlags constants 1191 rename constants for VarFlags 1192 rename ExprDefined constants for debug logging 1193 rename ExprStatus to ExprDefined 1194 split parameters for evaluating variable expressions 1195 reduce redundant code around ModifyWords 1196 print error about failed shell command before overwriting variable 1197 clean up ValidShortVarname, ParseVarnameShort 1198 rename VarExprStatus to ExprStatus 1199 add functions for assigning the value of an expression 1200 rename ApplyModifiersState_Define to Expr_Define 1201 condense the code for parsing :S and :C modifiers 1202 12032021-02-06 Simon J Gerraty <sjg@beast.crufty.net> 1204 1205 * VERSION (_MAKE_VERSION): 20210206 1206 Merge with NetBSD make, pick up 1207 o unit-tests: use private TMPDIR to avoid errors from other users 1208 12092021-02-05 Simon J Gerraty <sjg@beast.crufty.net> 1210 1211 * VERSION (_MAKE_VERSION): 20210205 1212 Merge with NetBSD make, pick up 1213 o avoid strdup in mkTempFile 1214 o always use vfork 1215 o rename context and ctxt to scope 1216 o rename some VAR constants to SCOPE 1217 o Var_ functions, move the scope to the front 1218 o use shortcut functions Global_Set and Global_Append 1219 o add shortcut Global_Delete for deleting a global variable 1220 o rename Var_Delete to Var_DeleteExpand, Var_DeleteVar to Var_Delete 1221 o compat.c: when exiting due to an error, print graph information 1222 o enum.c: remove overengineered Enum_ValueToString 1223 o make.c: remove unused INTERNAL flag 1224 remove unused return type of MakeBuildParent 1225 o parse.c: replace parse error "Need an operator" with better message 1226 o var.c: improve documentation about variable scopes 1227 rename Var_ValueDirect to GNode_ValueDirect 1228 rename old Var_SetWithFlags to Var_SetExpandWithFlags 1229 merge SetVar into Var_SetWithFlags 1230 split Var_Exists into plain Var_Exists and Var_ExistsExpand 1231 split Var_Append into Var_Append and Var_AppendExpand 1232 replace enum bit-set with bit-field 1233 o unit-tests/var-op-shell: use kill rather than kill -14 1234 which broke on darwin with recent update. 1235 12362021-02-01 Simon J Gerraty <sjg@beast.crufty.net> 1237 1238 * configure.in: check for sig_atomic_t and define it as 'int' 1239 if missing. 1240 1241 * VERSION (_MAKE_VERSION): 20210201 1242 Merge with NetBSD make, pick up 1243 o use sig_atomic_t for caught_sigchld 1244 12452021-01-30 Simon J Gerraty <sjg@beast.crufty.net> 1246 1247 * VERSION (_MAKE_VERSION): 20210130 1248 Merge with NetBSD make, pick up 1249 o more unit tests 1250 o convert SearchPath to struct 1251 o split Buf_Destroy into Buf_Done and Buf_DoneData 1252 o for.c: split For_Eval into separate functions 1253 rename struct For to struct ForLoop 1254 o job.c: do not create empty shell files in jobs mode 1255 rename JobOpenTmpFile to JobWriteShellCommands 1256 reduce unnecessary calls to waitpid 1257 o parse.c: in -dp mode, print stack trace with each diagnostic 1258 12592021-01-23 Simon J Gerraty <sjg@beast.crufty.net> 1260 1261 * VERSION (_MAKE_VERSION): 20210123 1262 Merge with NetBSD make, pick up 1263 o rename Dir_Expand to SearchPath_Expand 1264 o rename Dir_AddDir, reorder parameters of SearchPath_ToFlags 1265 o cond.c: fix debug output for comparison operators in conditionals 1266 o dir.c: split Dir_FindFile into separate functions 1267 12682021-01-20 Simon J Gerraty <sjg@beast.crufty.net> 1269 1270 * VERSION (_MAKE_VERSION): 20210120 1271 Merge with NetBSD make, pick up 1272 o fix some more lint nits 1273 o refine some unit tests for portability 1274 o cond.c: rework parsing 1275 12762021-01-10 Simon J Gerraty <sjg@beast.crufty.net> 1277 1278 * VERSION (_MAKE_VERSION): 20210110 1279 Merge with NetBSD make, pick up 1280 o fix lint warnings 1281 o consistently use boolean expressions in conditions 1282 12832021-01-08 Simon J Gerraty <sjg@beast.crufty.net> 1284 1285 * VERSION (_MAKE_VERSION): 20210108 1286 Merge with NetBSD make, pick up 1287 o job.c: back to polling token pipe if we want a token 1288 o main.c: always print 'stopped in' on first call 1289 The execption is if we bail because of an abort token 1290 in which case just exit 6. 1291 12922021-01-01 Simon J Gerraty <sjg@beast.crufty.net> 1293 1294 * VERSION (_MAKE_VERSION): 20210101 1295 Merge with NetBSD make, pick up 1296 o Happy New Year! 1297 o rename CmdOpts.lint to strict 1298 o exit 2 on technical errors 1299 o replace pointers in controlling conditions with booleans 1300 o replace global preserveUndefined with VARE_KEEP_UNDEF 1301 o compat.c: re-export variables from the actual make process 1302 if using vfork this is the effect anyway 1303 o cond.c: clean up VarParseResult constants 1304 o for.c: fix undefined behavior in SubstVarLong 1305 make control flow in SubstVarLong of .for loops more obvious 1306 clean up SubstVarShort in .for loops 1307 extract ForSubstBody from ForReadMore 1308 clean up ForReadMore 1309 simplify termination condition for .for loop 1310 add error handling for .for loop items 1311 job.c: re-export variables from the actual make process 1312 parse.c: remove mmap for loading files, only allow files < 1 GiB 1313 fix edge case in := with undefined in variable name 1314 skip variable expansion in ParseDependencyTargetWord 1315 var.c: split ExportVar into separate functions 1316 clean up code in extracted ExportVar functions 1317 remove dead code from ApplyModifiersIndirect 1318 split Var_Subst into easily understandable functions 1319 clean up VarParseResult constants 1320 13212020-12-25 Simon J Gerraty <sjg@beast.crufty.net> 1322 1323 * main.c: use .MAKE.DEPENDFILE as set by makefiles 1324 13252020-12-22 Simon J Gerraty <sjg@beast.crufty.net> 1326 1327 * VERSION (_MAKE_VERSION): 20201222 1328 Merge with NetBSD make, pick up 1329 o make DEBUG macro return boolean 1330 o parse.c: fix assertion failure for files without trailing newline 1331 o var.c: allow .undef to undefine multiple variables at once 1332 remove excess newline from parse errors 1333 13342020-12-21 Simon J Gerraty <sjg@beast.crufty.net> 1335 1336 * VERSION (_MAKE_VERSION): 20201221 1337 Merge with NetBSD make, pick up 1338 o some unit-test updates 1339 13402020-12-20 Simon J Gerraty <sjg@beast.crufty.net> 1341 1342 * VERSION (_MAKE_VERSION): 20201220 1343 Merge with NetBSD make, pick up 1344 o more unit tests 1345 o return FStr from Var_Parse and Var_Value 1346 o spell nonexistent consistently 1347 o add str_basename to reduce duplicate code 1348 o compat.c: fix .ERROR_TARGET in compat -k mode 1349 extract InitSignals from Compat_Run 1350 extract UseShell from Compat_RunCommand 1351 o cond.c: error out if an '.endif' or '.else' contain extraneous text 1352 o for.c: rename ForIterate to ForReadMore 1353 o hash.c: clean up hash function for HashTable 1354 o lst.c: rename Vector.priv_cap to cap 1355 o main.c: remove constant parameter from MakeMode 1356 o make.c: use symbolic time for 0 in Make_Recheck 1357 extract MakeChildren from MakeStartJobs 1358 o parse.c: clean up memory handling in VarAssign_EvalShell, Parse_DoVar 1359 fix error message for .info/.warning/.error without argument 1360 extract Var_Undef from ParseDirective 1361 extract ParseSkippedBranches, ParseForLoop from ParseReadLine 1362 rename mode constants for ParseGetLine to be more expressive 1363 reduce debugging details in Parse_SetInput 1364 fix line numbers in .for loops 1365 split ParseGetLine into separate functions 1366 fix garbled output for failed shell command 1367 var.c: remove redundant assignment in ApplyModifier_SysV 1368 error out on unknown variable modifiers at parse time 1369 remove wrong error message for indirect modifier in lint mode 1370 extract ApplySingleModifier from ApplyModifiers 1371 use FStr for memory management in Var_SetWithFlags 1372 extract SetVar from Var_SetWithFlags 1373 use FStr in VarNew 1374 extract string functions from ApplyModifier_To 1375 error out if .undef has not exactly 1 argument 1376 extract Var_DeleteVar from Var_Delete 1377 extract Var_Undef from ParseDirective 1378 clean up memory management for expanding variable expressions 1379 13802020-12-12 Simon J Gerraty <sjg@beast.crufty.net> 1381 1382 * avoid %zu 1383 1384 * lst.c: avoid anonymous union 1385 1386 * VERSION (_MAKE_VERSION): 20201212 1387 Merge with NetBSD make, pick up 1388 o more unit tests 1389 o inline Targ_Ignore and Targ_Silent 1390 o split JobFlags into separate fields 1391 o remove const from function parameters (left overs from refactoring) 1392 o eliminate boolean argument of Var_Export 1393 o make API of Buf_Init simpler 1394 o rename ParseRunOptions to ParseCommandFlags 1395 o replace *line with line[0] 1396 o compat.c: fix wrong exit status for multiple failed main targets 1397 refactor Compat_Run to show the error condition more clearly 1398 don't make .END if the main targets already failed (-k mode) 1399 fix exit status in -k mode if a dependency fails 1400 o for.c: clean up Buf_AddEscaped in .for loops 1401 o job.c: extract ShellWriter_ErrOn from JobPrintCommand 1402 make Job_Touch simpler 1403 refactor JobFinish 1404 rename Shell.exitFlag to errFlag 1405 move Job.xtraced to ShellWriter 1406 make printing of shell commands independent from the job 1407 rename shell flags in struct Shell 1408 extract JobOpenTmpFile from JobStart 1409 rename RunFlags to CommandFlags 1410 split various Job.* into separate fields 1411 rename commandShell to shell 1412 extract InitShellNameAndPath from Shell_Init 1413 replace signal handling macros with local functions 1414 replace macro MESSAGE with local function 1415 parse.c: error out on null bytes in makefiles 1416 error out on misspelled directives 1417 rename IFile.nextbuf to readMore 1418 fix undefined behavior in ParseEOF 1419 str.c: remove redundant call to strlen in Str_Words 1420 var.c: error out on misspelled .unexport-env 1421 error out on misspelled .export directives 1422 extract ExportVars from Var_Export 1423 extract ExportVarsExpand from Var_Export 1424 eliminate boolean argument of Var_Export 1425 fix undefined behavior when exporting ${:U } 1426 rename Var_ExportVars to Var_ReexportVars 1427 rename Var_Export1 to ExportVar 1428 14292020-12-06 Simon J Gerraty <sjg@beast.crufty.net> 1430 1431 * VERSION (_MAKE_VERSION): 20201206 1432 Merge with NetBSD make, pick up 1433 o more unit tests 1434 o inline macros for debug logging 1435 o use consistent variable names for list nodes 1436 o define constants for enum zero-values 1437 o dir.c: use fixed format for debug output of the directory cache 1438 remove Dir_InitDir 1439 o lst.c: inline Lst_Enqueue, Vector_Done 1440 o meta.c: remove unused parameter from meta_needed 1441 o parse.c: rename parse functions 1442 o suff.c: extract ExpandChildrenRegular from ExpandChildren 1443 o targ.c: don't concatenate identifiers in Targ_PrintType 1444 o var.c: remove comment decoration 1445 extract UnexportVars from Var_UnExport 1446 extract GetVarnamesToUnexport from Var_UnExport 1447 extract UnexportEnv from Var_UnExport 1448 extract UnexportVar from Var_UnExport 1449 move CleanEnv to UnexportVars 1450 replace pointer comparisons with enum 1451 add FStr to var.c to make memory handling simpler 1452 use FStr in Var_UnExport 1453 move type definitions in var.c to the top 1454 extract FreeEnvVar from Var_Parse 1455 extract ShuffleStrings from ApplyModifier_Order 1456 14572020-11-30 Simon J Gerraty <sjg@beast.crufty.net> 1458 1459 * VERSION (_MAKE_VERSION): 20201130 1460 Merge with NetBSD make, pick up 1461 o add unit tests for META MODE 1462 o reduce memory allocation for dirSearchPath, GNode.parents, 1463 GNode.children, OpenDirs 1464 o reduce pointer indirection for GNode.cohorts and 1465 GNode.implicitParents 1466 o remove pointer indirection from GNode.commands 1467 o inline Lst_ForEachUntil in meta mode 1468 o dir.c: fix memory leak for lstat cache in -DCLEANUP mode 1469 clean up memory management for CachedDirs 1470 fix the reference count of dotLast going negative 1471 add debug logging for OpenDirs_Done 1472 extract CacheNewDir from Dir_AddDir 1473 add debug logging for reference counting of CachedDir 1474 rename some Dir functions to SearchPath 1475 o job.c: rename some global variables 1476 o main.c: reduce memory allocation in ReadBuiltinRules 1477 reduce memory allocation in CmdOpts.create, CmdOpts.variables, 1478 CmdOpts.makefiles 1479 Add .MAKE.UID and .MAKE.GID 1480 o make.c: reduce memory allocation for/in toBeMade, 1481 Make_ProcessWait, Make_ExpandUse 1482 o meta.c: reduce memory allocation in meta_oodate 1483 o parse.c: reduce memory allocations for parsing dependencies and 1484 targets 1485 o suff.c: reduce memory allocation in suffix handling 1486 14872020-11-24 Simon J Gerraty <sjg@beast.crufty.net> 1488 1489 * VERSION (_MAKE_VERSION): 20201124 1490 Merge with NetBSD make, pick up 1491 o .MAKE.{UID,GID} represent uid and gid running make. 1492 o fix error handling for .BEGIN and .END dependency in -k mode 1493 o fix missing "Stop." after failed .END node in -k mode 1494 o use properly typed comparisons in boolean contexts 1495 o replace a few HashTable_CreateEntry with HashTable_Set 1496 o add HashSet type 1497 o compat.c: split Compat_Make into smaller functions 1498 extract DebugFailedTarget from Compat_RunCommand 1499 o dir.c: refactor Dir_UpdateMTime 1500 migrate CachedDir.files from HashTable to HashSet 1501 o make.c: add high-level API for GNode.made 1502 15032020-11-22 Simon J Gerraty <sjg@beast.crufty.net> 1504 1505 * VERSION (_MAKE_VERSION): 20201122 1506 Merge with NetBSD make, pick up 1507 o rename GNode.context to vars 1508 o suff.c: cleanup and refactor 1509 rename some functions and vars to better reflect usage 1510 add high-level API for CandidateSearcher 1511 o targ.c: add more debug logging for suffix handling 1512 o more unit tests 1513 o add debug logging for setting and resetting the main target 1514 15152020-11-17 Simon J Gerraty <sjg@beast.crufty.net> 1516 1517 * VERSION (_MAKE_VERSION): 20201117 1518 Merge with NetBSD make, pick up 1519 o fix some unit-tests when .SHELL is dash 1520 o rename Targ_NewGN to GNode_New 1521 o make some GNode functions const 1522 o main.c: call Targ_Init before Var_Init 1523 cleanup PrintOnError, getTmpdir and ParseBoolean 1524 o var.c: fix error message of failed :!cmd! modifier 1525 15262020-11-14 Simon J Gerraty <sjg@beast.crufty.net> 1527 1528 * VERSION (_MAKE_VERSION): 20201114 1529 Merge with NetBSD make, pick up 1530 o replace a few HashTable_CreateEntry with HashTable_Set 1531 o clean up cached_stats 1532 o rename DEFAULT to defaultNode 1533 o remove redundant struct make_stat 1534 o cond.c: in lint mode, check for ".else <cond>" 1535 use bitset for IfState 1536 replace large switch with if-else in Cond_EvalLine 1537 o job.c: clean up JobExec, JobStart, JobDoOutput 1538 use stderr for error message about failed touch 1539 clean up Job_Touch 1540 replace macro DBPRINTF with JobPrintln 1541 rename JobState to JobStatus 1542 main.c: switch cache for realpath from GNode to HashTable 1543 clean up Fatal 1544 clean up InitDefSysIncPath 1545 use progname instead of hard-coded 'make' in warning 1546 rename Main_SetVarObjdir to SetVarObjdir 1547 make.1: document the -S option 1548 make.c: fix debug output for GNode details 1549 use symbolic names in debug output of GNodes 1550 15512020-11-12 Simon J Gerraty <sjg@beast.crufty.net> 1552 1553 * configure.in: fix --with-force-machine-arch 1554 1555 * VERSION (_MAKE_VERSION): 20201112 1556 Merge with NetBSD make, pick up 1557 o allow env var MAKE_OBJDIR_CHECK_WRITABLE=no to skip writable 1558 checks in InitObjdir. Explicit .OBJDIR target always allows 1559 read-only directory. 1560 o cond.c: clean up Cond_EvalLine 1561 15622020-11-11 Simon J Gerraty <sjg@beast.crufty.net> 1563 1564 * VERSION (_MAKE_VERSION): 20201111 1565 Merge with NetBSD make, pick up 1566 o more unit-tests 1567 o style cleanup 1568 remove redundant parentheses from sizeof operator 1569 replace character literal 0 with '\0'. 1570 replace pointer literal 0 with NULL. 1571 remove redundant parentheses. 1572 replace (expr & mask) == 0 with !(expr & mask). 1573 use strict typing in conditions of the form !var 1574 o rename Make_OODate to GNode_IsOODate 1575 o rename Make_TimeStamp to GNode_UpdateYoungestChild 1576 o rename Var_Set_with_flags to Var_SetWithFlags 1577 o rename dieQuietly to shouldDieQuietly 1578 o buf.c: make API of Buf_Init simpler 1579 o compat.c: clean up Compat_Make, Compat_RunCommand, 1580 CompatDeleteTarget and CompatInterrupt 1581 o cond.c: in lint mode, only allow '&&' and '||', not '&' and '|' 1582 clean up CondParser_Comparison 1583 o main.c: rename getBoolean and s2Boolean 1584 rename MAKEFILE_PREFERENCE for consistency 1585 o parse.c: replace strstr in ParseMaybeSubMake with optimized code 1586 o var.c: rename VARE_ASSIGN to VARE_KEEP_DOLLAR 1587 replace emptyString with allocated empty string 1588 error out on unclosed expressions after the colon 1589 15902020-11-01 Simon J Gerraty <sjg@beast.crufty.net> 1591 1592 * VERSION (_MAKE_VERSION): 20201101 1593 Merge with NetBSD make, pick up 1594 o negate NoExecute to GNode_ShouldExecute 1595 o job.c: rename JobMatchShell to FindShellByName 1596 extract EscapeShellDblQuot from JobPrintCommand 1597 extract ParseRunOptions from JobPrintCommand 1598 o var.c: extract ApplyModifiersIndirect from ApplyModifiers 1599 treat malformed :range, :ts and :[...] as errors 1600 add tests for the variable modifiers :[words] and :range 1601 16022020-10-31 Simon J Gerraty <sjg@beast.crufty.net> 1603 1604 * VERSION (_MAKE_VERSION): 20201031 1605 Merge with NetBSD make, pick up 1606 o format #include directives consistently 1607 o do not look up local variables like .TARGET anywhere else 1608 o main.c: Main_SetObjdir is first called for curdir which may be 1609 readonly 1610 reduce the scope where recursive expressions are detected 1611 remove redundant :tl from getBoolean 1612 clean up mkTempFile 1613 o meta.c: simplify memory allocation in meta_create and meta_oodate 1614 o parse.c: extract loadedfile_mmap from loadfile 1615 o trace.c: document possible undefined behavior with .CURDIR 1616 o var.c: make parsing of the :gmtime and :localtime modifiers stricter 1617 rename ismeta to is_shell_metachar 1618 remove debug logging for the :Q variable modifier 1619 rename VarIsDynamic to VarnameIsDynamic 1620 use consistent parameter order in varname parsing functions 1621 extract ParseVarnameLong from Var_Parse 1622 extract ParseVarnameShort from Var_Parse 1623 fix type of ParseModifierPart parameter delim 1624 extract IsEscapedModifierPart from ParseModifierPart 1625 clean up ModifyWords 1626 add test for combining the :@ and :? variable modifiers 1627 16282020-10-30 Simon J Gerraty <sjg@beast.crufty.net> 1629 1630 * VERSION (_MAKE_VERSION): 20201030 1631 Merge with NetBSD make, pick up 1632 o change char * to void * in Var_Value 1633 o make iterating over HashTable simpler 1634 o rename VAR_CMD to VAR_CMDLINE 1635 o cond.c: clean up is_separator 1636 fix parse error in string literal in conditional 1637 o main.c: do not use objdir that is not writable 1638 in lint mode, exit with error status on errors 1639 o parse.c: clean up StrContainsWord 1640 fix out-of-bounds pointer in ParseTrackInput 1641 o var.c: rename Str_SYSVMatch and its parameters 1642 remove unsatisfiable conditions in Var_Set_with_flags 1643 document where the variable name is expanded 1644 fix documentation for VARP_SUB_ONE 1645 rename VAR_EXPORTED_YES to VAR_EXPORTED_SOME 1646 document VAR_READONLY 1647 prevent appending to read-only variables 1648 extract MayExport from Var_Export1 1649 remove redundant evaluations in VarFind 1650 replace VarFindFlags with a simple Boolean 1651 rename FIND_CMD to FIND_CMDLINE, to match VAR_CMDLINE 1652 16532020-10-28 Simon J Gerraty <sjg@beast.crufty.net> 1654 1655 * VERSION (_MAKE_VERSION): 20201028 1656 Merge with NetBSD make, pick up 1657 o rename defIncPath to defSysIncPath 1658 o initialize all CmdOpts fields 1659 o lst.c: inline Vector_Get 1660 o main.c: refactor main extract 1661 InitMaxJobs,InitObjdir,InitVarMake,InitRandom, 1662 ReadMakefiles,CleanUp,InitVpath,ReadBuiltinRules, 1663 InitDefIncPath,CmdOpts_Init,UnlimitFiles 1664 o parse.c: merge curFile into includes 1665 rename predecessor to order_pred 1666 sort ParseSpecial alphabetically 1667 remove unused, undocumented .NOEXPORT 1668 rename ParseSpecial enum values consistently 1669 rename some fields of struct IFile 1670 16712020-10-26 Simon J Gerraty <sjg@beast.crufty.net> 1672 1673 * VERSION (_MAKE_VERSION): 20201026 1674 Merge with NetBSD make, pick up 1675 o group the command line options and arguments into a struct 1676 o rename GNode.cmgn to youngestChild 1677 o rename hash functions to identify the type name 1678 o negate OP_NOP and rename it to GNode_IsTarget 1679 o add GNode_Path to access the path of a GNode 1680 o remove macros MIN and MAX 1681 o remove unused Lst_Find and Lst_FindFrom 1682 o arch.c: and make Arch_FindLib simpler 1683 clean up code layout 1684 make Arch_ParseArchive simpler 1685 o cond.c: inline CondFindStrMatch into FuncMake 1686 o dir.c: replace Dir_CopyDir with Dir_CopyDirSearchPath 1687 omit trailing space in debug output for expanding file patterns 1688 refactor DirMatchFiles 1689 document that the SearchPath of Dir_FindFile may be NULL 1690 remove UNCONST from Dir_Expand 1691 inline DirFindName 1692 o for.c: clean up code for handling .for loops 1693 o hash.c: print hash in debug log with fixed width 1694 clean up hash table functions 1695 reduce amount of string hashing 1696 o job.c: refactor JobDeleteTarget 1697 use proper enum constants for aborting 1698 convert result of JobStart from macros to enum 1699 convert abort reason macros to enum 1700 rework Job_CheckCommands to reduce indentation 1701 rename Shell fields 1702 add field names in declaration of DEFSHELL_CUSTOM 1703 convert JobState and JobFlags to enum types 1704 move handling of the "..." command to JobPrintCommands 1705 o lst.c: clean up 1706 refactor LstNodeNew 1707 remove Lst_Open, Lst_Next, Lst_Close 1708 remove code for circular lists from Lst_Next 1709 o main.c: do not attempt to read .MAKE.DEPENFILE if set to 1710 /dev/null or anything starting with "no" 1711 convert macros for debug flags into enum 1712 o make.c: inline Lst_Copy in Make_ExpandUse 1713 o meta.c: inline Lst_Find in meta_oodate 1714 make Lst_RemoveIf simpler in meta_oodate 1715 o parse.c: convert error level for Parse_Error to an enum 1716 o suff.c: properly terminate debug output with newline 1717 add more details to DEBUG_SRC log 1718 replace Dir_CopyDir with Dir_CopyDirSearchPath 1719 don't modify GNode name while rebuilding the suffix graph 1720 o var.c: reduce duplicate code in VarFind 1721 17222020-10-22 Simon J Gerraty <sjg@beast.crufty.net> 1723 1724 * VERSION (_MAKE_VERSION): 20201022 1725 Merge with NetBSD make, pick up 1726 o more refactoring and simplification to reduce code size 1727 o var.c: extract CanonicalVarname from VarFind 1728 o make.c: extract UpdateImplicitParentsVars from Make_Update 1729 o main.c: extract PrintVar from doPrintVars 1730 extract HandlePWD from main 1731 o lst.c: inline simple Lst getters 1732 remove unused Lst_ForEach 1733 o job.c: move struct Shell from job.h to job.c 1734 o more unit tests 1735 17362020-10-19 Simon J Gerraty <sjg@beast.crufty.net> 1737 1738 * configure.in: remove inappropriate use of AC_INCLUDES_DEFAULT 1739 17402020-10-18 Simon J Gerraty <sjg@beast.crufty.net> 1741 1742 * VERSION (_MAKE_VERSION): 20201018 1743 Merge with NetBSD make, pick up 1744 o remove USE_IOVEC 1745 o rename some Hash_* apis to Hash* 1746 o replace execError with execDie 1747 o rename Lst_Init to Lst_New 1748 o add tags to enum types 1749 o rename Stack to Vector 1750 o parse.c: more refactoring 1751 o unit-tests: make some tests use line buffered stdout 1752 o unit-tests/Makefile: in meta mode do not make all tests depend on 1753 Makefile, it isn't necessary. 1754 17552020-10-10 Simon J Gerraty <sjg@beast.crufty.net> 1756 1757 * main.c: check for CTL_HW being defined. 1758 * unit-tests/Makefile: ensure export tests output are POSIX compliant 1759 disable opt-debug-jobs test until it works on ubuntu 1760 1761 * VERSION (_MAKE_VERSION): 20201010 1762 Merge with NetBSD make, pick up 1763 o dir.c: remove pathname limit for Dir_FindHereOrAbove 1764 o hash.c: replace strcpy with memcpy in Hash_CreateEntry 1765 o main.c: extract init_machine and init_machine_arch from main 1766 allow to disable debug logging options 1767 o parse.c: enable format string truncation warnings 1768 extract parsing of sources from ParseDoDependency 1769 split ParseDoSrc into smaller functions 1770 hide implementation details from Parse_DoVar 1771 clean up parsing of variable assignments 1772 split Parse_DoVar into manageable pieces 1773 don't modify the given line during Parse_DoVar 1774 fix out-of-bounds memory access in Parse_DoVar 1775 fix parsing of the :sh assignment modifier 1776 o var.c: rework memory allocation for the name of variables 1777 extract ApplyModifier_Literal into separate function 1778 in lint mode, reject modifiers without delimiter 1779 do not export variable names starting with '-' 1780 o fix double-free bug in -DCLEANUP mode 1781 o more cleanup to enable higher warnings level 1782 o more unit tests 1783 17842020-10-02 Simon J Gerraty <sjg@beast.crufty.net> 1785 1786 * VERSION (_MAKE_VERSION): 20201002 1787 Merge with NetBSD make, pick up 1788 o dir.c: use hash table for looking up open directories by name 1789 o main.c: clean up option handling 1790 o parse.c: add missing const for Parse_AddIncludeDir 1791 o var.c: ApplyModifier_To, update pp in each branch 1792 o remove redundant function prototypes 1793 o more unit tests 1794 17952020-10-01 Simon J Gerraty <sjg@beast.crufty.net> 1796 1797 * VERSION (_MAKE_VERSION): 20201001 1798 Merge with NetBSD make, pick up 1799 o compat.c: comment about "..." 1800 18012020-09-30 Simon J Gerraty <sjg@beast.crufty.net> 1802 1803 * VERSION (_MAKE_VERSION): 20200930 1804 Merge with NetBSD make, pick up 1805 o job.c: split Job.jobPipe into 2 separate fields 1806 replace Lst_Open with direct iteration 1807 o lst.c: remove redundant assertions 1808 o targ.c: replace Lst_Open with direct iteration 1809 o var.c: fix bug in evaluation of indirect variable modifiers 1810 extract ApplyModifier_Quote into separate function 1811 o make debug logging simpler 1812 18132020-09-27 Simon J Gerraty <sjg@beast.crufty.net> 1814 1815 * VERSION (_MAKE_VERSION): 20200927 1816 Merge with NetBSD make, pick up 1817 o parse.c: ensure parse errors result in 'stopped in' message. 1818 o compat.c: make parameter of Compat_RunCommand const 1819 o main.c: extract InitVarTarget from main 1820 o parse.c: rename ParseFinishLine to FinishDependencyGroup 1821 refactor ParseDoDependency 1822 o var.c: Var_Subst no longer returns string result 1823 rename Var_ParsePP back to Var_Parse 1824 in lint mode, improve error handling for undefined variables 1825 extract ParseVarname from Var_Parse 1826 o rename Lst_ForEach to Lst_ForEachUntil 1827 o inline Lst_ForEachUntil in several cases 1828 o clean up API for finding and creating GNodes 1829 o fix assertion failure in -j mode with .END node 1830 o inline and remove LstNode_Prev and LstNode_Next 1831 o use fine-grained type names for lists and their nodes 1832 o more unit tests 1833 18342020-09-11 Simon J Gerraty <sjg@beast.crufty.net> 1835 1836 * VERSION (_MAKE_VERSION): 20200911 1837 Merge with NetBSD make, pick up 1838 o cond.c: split EvalComparison into smaller functions 1839 reorder parameters of condition parsing functions 1840 reduce code size in CondParser_Eval 1841 rename CondGetString to CondParser_String 1842 add CondLexer_SkipWhitespace 1843 group the condition parsing state into a struct 1844 in CondGetString, replace repeated Buf_Add with Buf_AddStr 1845 o migrate Var_Parse to Var_ParsePP 1846 o add wrappers around ctype.h functions 1847 o lst.c: use a stack instead of a list for the nested include path 1848 o more unit tests 1849 18502020-09-04 Simon J Gerraty <sjg@beast.crufty.net> 1851 1852 * make-bootstrap.sh.in: adjust object list 1853 18542020-09-02 Simon J Gerraty <sjg@beast.crufty.net> 1855 1856 * VERSION (_MAKE_VERSION): 20200902 1857 Merge with NetBSD make, pick up 1858 o use make_stat to ensure no confusion over valid fields 1859 returned by cached_stat 1860 o var.c: make VarQuote const-correct 1861 o add unit tests for .for 1862 18632020-09-01 Simon J Gerraty <sjg@beast.crufty.net> 1864 1865 * VERSION (_MAKE_VERSION): 20200901 1866 Merge with NetBSD make, pick up 1867 o rename Hash_Table fields 1868 o make data types in Dir_HasWildcards more precise 1869 18702020-08-31 Simon J Gerraty <sjg@beast.crufty.net> 1871 1872 * VERSION (_MAKE_VERSION): 20200831 1873 Merge with NetBSD make, pick up 1874 o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds 1875 o lst.c: Lst_Open renable assert that list isn't open 1876 o unit test for .TARGET dependent flags 1877 o var.c: fix aliasing bug in VarUniq 1878 o more unit tests for :u 1879 18802020-08-30 Simon J Gerraty <sjg@beast.crufty.net> 1881 1882 * VERSION (_MAKE_VERSION): 20200830 1883 Merge with NetBSD make, pick up 1884 o allow for strict type checking for Boolean 1885 o Var_Parse never returns NULL 1886 o Var_Subst never returns NULL 1887 o Lst_Find now takes boolean match function 1888 o rename Lst_Memeber to Lst_FindDatum 1889 o rename LstNode functions to match their type 1890 o rename GNode.iParents to implicitParents 1891 o fix assertion failure for .SUFFIXES in archives 1892 o compat.c: clean up documentation for CompatInterrupt and Compat_Run 1893 remove unreachable code from CompatRunCommand 1894 o main.c: simplify getBoolean 1895 o stc.c: replace brk_string with simpler Str_Words 1896 o suff.c: add debug macros 1897 18982020-08-28 Simon J Gerraty <sjg@beast.crufty.net> 1899 1900 * VERSION (_MAKE_VERSION): 20200828 1901 Merge with NetBSD make, pick up 1902 o lst.c: inline LstIsValid and LstNodeIsValid 1903 o remove trailing S from Lst function names after migration complete 1904 o more comment cleanup/clarification 1905 o suff.c: clean up suffix handling 1906 o more unit tests 1907 19082020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 1909 1910 * VERSION (_MAKE_VERSION): 20200826 1911 Merge with NetBSD make, pick up 1912 o enum.c: distinguish between bitsets containing flags and 1913 ordinary enums 1914 o var.c: fix error message for ::!= modifier with shell error 1915 o fix bugs in -DCLEANUP mode 1916 19172020-08-24 Simon J Gerraty <sjg@beast.crufty.net> 1918 1919 * VERSION (_MAKE_VERSION): 20200824 1920 Merge with NetBSD make, pick up 1921 o in debug mode, print GNode details in symbols 1922 19232020-08-23 Simon J Gerraty <sjg@beast.crufty.net> 1924 1925 * VERSION (_MAKE_VERSION): 20200823 1926 Merge with NetBSD make, pick up 1927 o lst.c: more asserts, 1928 make args to Lst_Find match others. 1929 o var.c: pass flags to VarAdd 1930 o arch.c: use Buffer 1931 o str.c: brk_string return size_t for nwords 1932 o more unit tests 1933 19342020-08-22 Simon J Gerraty <sjg@beast.crufty.net> 1935 1936 * VERSION (_MAKE_VERSION): 1937 Merge with NetBSD make, pick up 1938 o var.c: support for read-only variables eg .SHELL 1939 being the shell used to run scripts. 1940 o lst.c: more simplification 1941 o more documentation and style cleanup 1942 o more unit tests 1943 o ensure unit-test/Makefile is run by TEST_MAKE 1944 o reduce duplication of header inclusion 1945 19462020-08-21 Simon J Gerraty <sjg@beast.crufty.net> 1947 1948 * VERSION (_MAKE_VERSION): 20200821 1949 Merge with NetBSD make, pick up 1950 o lst.c: revert invalid assertion - but document it 1951 o dir.c: split Dir_Init into two functions 1952 19532020-08-20 Simon J Gerraty <sjg@beast.crufty.net> 1954 1955 * lst.c: needs inttypes.h on Linux 1956 1957 * VERSION (_MAKE_VERSION): 20200820 1958 Merge with NetBSD make, pick up 1959 o make.1: clarify some passages 1960 o var.c: more cleanup, clarify comments 1961 o make_malloc.c: remove unreachable code 1962 o cond.c: make CondGetString easier to debug 1963 o simplify list usage 1964 o unit-tests: more 1965 19662020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 1967 1968 * VERSION (_MAKE_VERSION): 20200816 1969 Merge with NetBSD make, pick up 1970 o refactor unit-tests to be more fine grained 1971 not all tests moved yet 1972 19732020-08-14 Simon J Gerraty <sjg@beast.crufty.net> 1974 1975 * VERSION (_MAKE_VERSION): 20200814 1976 Merge with NetBSD make, pick up 1977 o more str_concat variants 1978 o more enums for flags 1979 o var.c: cleanup for higher warnings level 1980 19812020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 1982 1983 * VERSION (_MAKE_VERSION): 20200810 1984 Merge with NetBSD make, pick up 1985 o more unit tests 1986 o general comment and style cleanup 1987 19882020-08-08 Simon J Gerraty <sjg@beast.crufty.net> 1989 1990 * VERSION (_MAKE_VERSION): 20200808 1991 Merge with NetBSD make, pick up 1992 o enum.[ch]: streamline, enums for use in flags and debug output 1993 o cond.c: cleanup 1994 o var.c: reduce duplicate code for modifiers 1995 debug logging for Var_Parse 1996 more detailed debug output 1997 o more unit tests 1998 19992020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 2000 2001 * unit-tests/Makefile: -r for recursive and include Makefile.inc 2002 so I can run tests in meta mode 2003 supress extra noise if in meta mode 2004 2005 * VERSION (_MAKE_VERSION): 20200806 2006 Merge with NetBSD make, pick up 2007 o parse.c: remove VARE_WANTRES for LINT 2008 we just want to check parsing (for now). 2009 20102020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 2011 2012 * VERSION (_MAKE_VERSION): 20200805 2013 Merge with NetBSD make, pick up 2014 o make.1: Rework the description of dependence operators 2015 20162020-08-03 Simon J Gerraty <sjg@beast.crufty.net> 2017 2018 * VERSION (_MAKE_VERSION): 20200803 2019 Merge with NetBSD make, pick up 2020 o revert some C99 usage, for max portability 2021 o unit-tests/lint 2022 20232020-08-02 Simon J Gerraty <sjg@beast.crufty.net> 2024 2025 * VERSION (_MAKE_VERSION): 20200802 2026 Merge with NetBSD make, pick up 2027 o more unit tests 2028 20292020-08-01 Simon J Gerraty <sjg@beast.crufty.net> 2030 2031 * Remove NetBSD specific plumbing from unit-tests/Makefile 2032 2033 * VERSION (_MAKE_VERSION): 20200801 2034 Merge with NetBSD make, pick up 2035 o make Var_Value return const 2036 o size_t for buf sizes 2037 o optimize some buffer operations - avoid strlen 2038 20392020-07-31 Simon J Gerraty <sjg@beast.crufty.net> 2040 2041 * VERSION (_MAKE_VERSION): 20200731 2042 Merge with NetBSD make, pick up 2043 o var.c: fix undefinded behavior for incomplete :t modifier 2044 fixes unit-test/moderrs on Ubuntu 2045 o parse.c: When parsing variable assignments other than := 2046 if DEBUG(LINT) test substition of value, so we get a file and 2047 line number in the resulting error. 2048 o dir.c: fix parsing of nested braces in dependency lines 2049 add unit-tests 2050 20512020-07-30 Simon J Gerraty <sjg@beast.crufty.net> 2052 2053 * VERSION (_MAKE_VERSION): 20200730 2054 Merge with NetBSD make, pick up 2055 o var.c: minor cleanup 2056 o unit-tests: more tests to improve code coverage 2057 20582020-07-28 Simon J Gerraty <sjg@beast.crufty.net> 2059 2060 * VERSION (_MAKE_VERSION): 20200728 2061 Merge with NetBSD make, pick up 2062 o var.c: more optimizations 2063 20642020-07-26 Simon J Gerraty <sjg@beast.crufty.net> 2065 2066 * VERSION (_MAKE_VERSION): 20200726 2067 Merge with NetBSD make, pick up 2068 o collapse lsd.lib into lst.c - reduce code size and allow inlining 2069 o lots of function comment updates 2070 o var.c: more optimizations 2071 o make return of Var_Parse const 2072 20732020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 2074 2075 * VERSION (_MAKE_VERSION): 20200720 2076 Merge with NetBSD make, pick up 2077 o DEBUG_HASH report stats at end and tone down the noise 2078 o var.c: each flag type gets its own prefix. 2079 move SysV string matching to var.c 2080 make ampersand in ${VAR:from=to&} an ordinary character 2081 cleanup and simplify implementation of modifiers 2082 o make.1: move documentation for assignment modifiers 2083 20842020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 2085 2086 * VERSION (_MAKE_VERSION): 20200718 2087 Merge with NetBSD make, pick up 2088 o DEBUG_HASH to see how well the hash tables are working 2089 20902020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 2091 2092 * bsd.after-import.mk: make sure we update unit-tests/Makefile 2093 20942020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 2095 2096 * configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC 2097 2098 * VERSION (_MAKE_VERSION): 20200710 2099 Merge with NetBSD make, pick up 2100 o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall 2101 o meta.c: target flagged .META is out-of-date if meta file missing 2102 21032020-07-09 Simon J Gerraty <sjg@beast.crufty.net> 2104 2105 * VERSION (_MAKE_VERSION): 20200709 2106 Merge with NetBSD make, pick up 2107 o cond.c: fix for compare_expression when doEval=0 2108 o unit-tests/Makefile: rework 2109 o filemon/filemon_dev.c: ensure filemon fd is closed on exec. 2110 21112020-07-04 Simon J Gerraty <sjg@beast.crufty.net> 2112 2113 * VERSION (_MAKE_VERSION): 20200704 2114 Merge with NetBSD make, pick up 2115 (most of this by rillig@) 2116 o lots of style and white-space cleanup 2117 o lots more unit tests for variable modifiers 2118 o simplified description of some functions 2119 o str.c: refactor Str_Match 2120 o var.c: debugging output for :@ 2121 constify VarModify parameter 2122 fix :hash modifier on 16-bit platforms 2123 remove unnecessary forward declarations 2124 refactor ApplyModifier_SysV to have less indentation 2125 simplify code for :E and :R 2126 clean up code for :H and :T 2127 refactor ApplyModifiers 2128 2129 * var.c: we need stdint.h on some platforms to get uint32_t 2130 * unit-test/Makefile: we need to supress the specific error 2131 for RE substitution error in modmisc, since it varies accross 2132 different OS. 2133 21342020-07-02 Simon J Gerraty <sjg@beast.crufty.net> 2135 2136 * VERSION (_MAKE_VERSION): 20200702 2137 Merge with NetBSD make, pick up 2138 o var.c: more improvements to avoiding unnecessary evaluation 2139 use enums for flags 2140 o remove flags arg to Var_Set which outside of var.c is always 0 2141 21422020-07-01 Simon J Gerraty <sjg@beast.crufty.net> 2143 2144 * VERSION (_MAKE_VERSION): 20200701 2145 Merge with NetBSD make, pick up 2146 o var.c: with change to cond.c; ensure that nested variables 2147 within a variable name are expanded. 2148 o unit-tests/varmisc.mk: test for nested varname 2149 21502020-06-29 Simon J Gerraty <sjg@beast.crufty.net> 2151 2152 * VERSION (_MAKE_VERSION): 20200629 2153 Merge with NetBSD make, pick up 2154 o cond.c: do not eval unnecessary terms of conditionals. 2155 21562020-06-25 Simon J Gerraty <sjg@beast.crufty.net> 2157 2158 * VERSION (_MAKE_VERSION): 20200625 2159 Merge with NetBSD make, pick up 2160 o meta.c: report error if lseek in filemon_read fails 2161 21622020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 2163 2164 * VERSION (_MAKE_VERSION): 20200622 2165 Merge with NetBSD make, pick up 2166 o dieQuietly: ignore OP_SUBMAKE as too aggressive 2167 21682020-06-19 Simon J Gerraty <sjg@beast.crufty.net> 2169 2170 * VERSION (_MAKE_VERSION): 20200619 2171 Merge with NetBSD make, pick up 2172 o str.c: performance improvement for Str_Match for multiple '*' 2173 o dieQuietly: supress the failure output from make 2174 when failing node is a sub-make or a sibling failed. 2175 This cuts down greatly on unhelpful noise at the end of 2176 build log. Disabled by -dj or .MAKE.DIE_QUIETLY=no 2177 21782020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 2179 2180 * FILES: add LICENSE to appease some packagers. 2181 This is an attempt to fairly represent the license on almost 2182 200 files, which are almost all BSD-3-Clause 2183 The few exceptions being more liberal. 2184 2185 * VERSION (_MAKE_VERSION): 20200610 2186 Merge with NetBSD make, pick up 2187 o unit test for :Or 2188 21892020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 2190 2191 * VERSION (_MAKE_VERSION): 20200606 2192 Merge with NetBSD make, pick up 2193 o make.1: cleanup 2194 2195 * Makefile: fix depends for main.o which broke MAKE_VERSION 2196 21972020-06-05 Simon J Gerraty <sjg@beast.crufty.net> 2198 2199 * VERSION (_MAKE_VERSION): 20200605 2200 Merge with NetBSD make, pick up 2201 o dir.c: cached_stats - don't confuse stat and lstat results. 2202 o var.c: add :Or for reverse sort. 2203 22042020-05-24 Simon J Gerraty <sjg@beast.crufty.net> 2205 2206 * configure.in: add AC_PROG_CC_C99 for mipspro compiler 2207 also if --with-filemon= specifies path to filemon.h 2208 set use_filemon=dev 2209 * dirname.c: remove include of namespace.h 2210 22112020-05-17 Simon J Gerraty <sjg@beast.crufty.net> 2212 2213 * VERSION (_MAKE_VERSION): 20200517 2214 Merge with NetBSD make, pick up 2215 o modified dollar tests to avoid shell dependencies 2216 o new tests for .INCLUDEFROM 2217 22182020-05-16 Simon J Gerraty <sjg@beast.crufty.net> 2219 2220 * unit-tests/dollar.mk: tweak '1 dollar literal' test 2221 to not depend so much on shell behavior 2222 22232020-05-10 Simon J Gerraty <sjg@beast.crufty.net> 2224 2225 * VERSION (_MAKE_VERSION): 20200510 2226 Merge with NetBSD make, pick up 2227 o unit test for dollar handling 2228 22292020-05-06 Simon J Gerraty <sjg@beast.crufty.net> 2230 2231 * VERSION (_MAKE_VERSION): 20200506 2232 Merge with NetBSD make, pick up 2233 o str.c: empty string does not match % pattern 2234 plus unit-test changes 2235 22362020-05-04 Simon J Gerraty <sjg@beast.crufty.net> 2237 2238 * VERSION (_MAKE_VERSION): 20200504 2239 May the 4th be with you 2240 Merge with NetBSD make, pick up 2241 o var.c: import handling of old sysV style modifier using '%' 2242 o str.c: refactor brk_string 2243 o unit-tests: add test case for lazy conditions 2244 22452020-04-18 Simon J Gerraty <sjg@beast.crufty.net> 2246 2247 * VERSION (_MAKE_VERSION): 20200418 2248 2249 * configure.in: use_makefile=no for Cygwin et al. 2250 case insensitive filesystems just don't work if both 2251 makefile and Makefile exist. 2252 NOTE: bmake does not support Cygwin and likely never will, 2253 but if brave souls want to try it - help them out. 2254 22552020-04-02 Simon J Gerraty <sjg@beast.crufty.net> 2256 2257 * VERSION (_MAKE_VERSION): 20200402 2258 Merge with NetBSD make, pick up 2259 o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD 2260 a blank command is perfectly valid. 2261 22622020-03-30 Simon J Gerraty <sjg@beast.crufty.net> 2263 2264 * VERSION (_MAKE_VERSION): 20200330 2265 Merge with NetBSD make, pick up 2266 o make.h: extern debug_file 2267 22682020-03-18 Simon J Gerraty <sjg@beast.crufty.net> 2269 2270 * VERSION (_MAKE_VERSION): 20200318 2271 Merge with NetBSD make, pick up 2272 o meta.c: meta_oodate, check for corrupted meta file 2273 earlier and more often. 2274 22752020-02-20 Simon J Gerraty <sjg@beast.crufty.net> 2276 2277 * VERSION (_MAKE_VERSION): 20200220 2278 22792020-02-19 Simon J Gerraty <sjg@beast.crufty.net> 2280 2281 * boot-strap: unset MAKEFLAGS 2282 22832020-02-12 Simon J Gerraty <sjg@beast.crufty.net> 2284 2285 * VERSION (_MAKE_VERSION): 20200212 2286 * meta.c: meta_compat_parent check for USE_FILEMON 2287 patch from Soeren Tempel 2288 22892020-02-05 Simon J Gerraty <sjg@beast.crufty.net> 2290 2291 * VERSION: 20200205 2292 Merge with NetBSD make, pick up 2293 o meta.c: fix compat mode, need to call meta_job_output() 2294 o job.c: extra fds for meta mode not needed if using filemon_dev 2295 22962020-01-22 Simon J Gerraty <sjg@beast.crufty.net> 2297 2298 * VERSION: 20200122 2299 Merge with NetBSD make, pick up 2300 o meta.c: avoid passing NULL to filemon_*() when meta_needed() 2301 returns FALSE. 2302 23032020-01-21 Simon J Gerraty <sjg@beast.crufty.net> 2304 2305 * VERSION: 20200121 2306 Merge with NetBSD make, pick up 2307 o filemon/filemon_{dev,ktrace}.c: allow selection of 2308 filemon implementation. filemon_dev.c uses the kernel module 2309 while filemon_ktrace.c leverages the fktrace api available in 2310 NetBSD. filemon_ktrace.c can hopefully form the basis for 2311 adding support for other tracing mechanisms such as strace on 2312 Linux. 2313 o meta.c: when target is out-of-date per normal make rules 2314 record value of .OODATE in meta file. 2315 23162019-09-26 Simon J Gerraty <sjg@beast.crufty.net> 2317 2318 * VERSION: 20190926 2319 Merge with NetBSD make, pick up 2320 o parse.c: don't pass NULL to realpath(3) 2321 some versions cannot handle it. 2322 23232019-04-09 Simon J Gerraty <sjg@beast.crufty.net> 2324 2325 * VERSION: 20190409 2326 Merge with NetBSD make, pick up 2327 o parse.c: ParseDoDependency: free paths rather than assert 2328 23292018-12-22 Simon J Gerraty <sjg@beast.crufty.net> 2330 2331 * VERSION: 20181222 2332 2333 * configure.in: add --without-makefile to avoid generating 2334 makefile and make-bootstrap.sh 2335 2336 * include Makefile.inc if it exists 2337 2338 * Use Makefile and Makefile.config.in in unit-tests 2339 so we can use just: make obj && make && make test 2340 when bmake is already available. 2341 We add --without-makefile to CONFIGURE_ARGS in this case. 2342 2343 * tweak bsd.after-import.mk (captures Makefile.config etc 2344 after import to FreeBSD for example) to cope with all the above. 2345 23462018-12-21 Simon J Gerraty <sjg@beast.crufty.net> 2347 2348 * VERSION: 20181221 2349 Merge with NetBSD make, pick up 2350 o parse.c: ParseVErrorInternal use .PARSEDIR 2351 and apply if relative, and then use .PARSEFILE 2352 for consistent result. 2353 23542018-12-20 Simon J Gerraty <sjg@beast.crufty.net> 2355 2356 * VERSION: 20181220 2357 Merge with NetBSD make, pick up 2358 o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR 2359 is relative 2360 o var.c: avoid SEGFAULT in .unexport-env 2361 when MAKELEVEL is not set 2362 23632018-12-16 Simon J Gerraty <sjg@beast.crufty.net> 2364 2365 * VERSION: 20181216 2366 Merge with NetBSD make, pick up 2367 o fix for unit-tests/varquote.mk on Debian 2368 23692018-09-21 Simon J. Gerraty <sjg@bad.crufty.net> 2370 2371 * VERSION: 20180919 2372 Merge with NetBSD make, pick up 2373 o var.c: add :q 2374 o dir.c: cleanup caching of stats 2375 23762018-09-21 Simon J Gerraty <sjg@beast.crufty.net> 2377 2378 * Makefile.config.in: use += where it makes sense. 2379 23802018-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 2381 2382 * VERSION: 20180512 2383 Merge with NetBSD make, pick up 2384 o job.c: skip polling job token pipe 2385 23862018-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 2387 2388 * VERSION: 20180405 2389 Merge with NetBSD make, pick up 2390 o parse.c: be more cautious about detecting depenency line 2391 rather than sysV style include. 2392 23932018-02-22 Simon J. Gerraty <sjg@bad.crufty.net> 2394 2395 * VERSION: 20180222 2396 Merge with NetBSD make, pick up 2397 o parse.c: avoid calling sysconf for every call to loadfile 2398 23992018-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 2400 2401 * VERSION: 20180218 2402 Merge with NetBSD make, pick up 2403 o var.c: Var_Set handle NULL value anytime. 2404 24052018-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 2406 2407 * VERSION: 20180212 2408 Merge with NetBSD make, pick up 2409 o parse.c: do not treat .info as warning with -W 2410 24112017-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 2412 2413 * VERSION: 20171207 2414 Merge with NetBSD make, pick up 2415 o var.c: Var_Append use Var_Set if var not previously set 2416 so that VAR_CMD is handled correctly. 2417 Add a suitable unit-test. 2418 24192017-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 2420 2421 * VERSION (_MAKE_VERSION): 20171126 2422 2423 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__ 2424 since AC_TRY_COMPILE puts input inside main() 2425 which upsets modern compilers. 2426 24272017-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 2428 2429 * VERSION: 20171118 2430 Merge with NetBSD make, pick up 2431 o var.c: do not append to variable set on command line 2432 add unit-test to catch this. 2433 24342017-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 2435 2436 * VERSION: 20171028 2437 Merge with NetBSD make, pick up 2438 o main.c: ignore empty MAKEOBJDIR 2439 2440 * Makefile.config.in: 2441 make @prefix@ @machine*@ and @default_sys_path@ defaults. 2442 24432017-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 2444 2445 * VERSION: 20171005 2446 2447 * unit-tests/dotwait.mk: redirect stderr through pipe for more 2448 consistent result on some platforms. 2449 24502017-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 2451 2452 * machine.sh: entry for AIX 2453 24542017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 2455 2456 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION 2457 to a file that can be included by configure as well as make. 2458 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh 2459 24602017-08-10 Simon J. Gerraty <sjg@bad.crufty.net> 2461 2462 * Makefile (_MAKE_VERSION): 20170810 2463 Merge with NetBSD make, pick up 2464 o meta.c: if target is in subdir we only need subdir name in 2465 meta_name. 2466 24672017-07-20 Simon J. Gerraty <sjg@bad.crufty.net> 2468 2469 * Makefile (_MAKE_VERSION): 20170720 2470 Merge with NetBSD make, pick up 2471 o compat.c: pass SIGINT etc onto child and wait for it to exit 2472 before we self-terminate. 2473 24742017-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 2475 2476 * Makefile (_MAKE_VERSION): 20170711 2477 forgot to update after merge on 20170708 ;-) 2478 o main.c: refactor to reduce size of main function. 2479 add -v option to always fully expand values. 2480 o meta.c: ensure command output in meta file has ending newline 2481 even when filemon not being used. 2482 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use 2483 pathname via ':L' since any ':' in pathname breaks that. 2484 Instead set a '${.p.}' to pathname in the target context and 2485 use that. 2486 24872017-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 2488 2489 * Makefile (_MAKE_VERSION): 20170510 2490 Merge with NetBSD make, pick up 2491 o main.c: Main_SetObjdir: ensure buf2 is in scope 2492 24932017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 2494 2495 * Makefile (_MAKE_VERSION): 20170505 2496 see mk/ChangeLog 2497 24982017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 2499 2500 * parse.c: not everyone has stdint.h 2501 25022017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 2503 2504 * Makefile (_MAKE_VERSION): 20170501 2505 see mk/ChangeLog 2506 25072017-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 2508 2509 * Makefile (_MAKE_VERSION): 20170421 2510 Merge with NetBSD make, pick up 2511 o str.c: Str_Match: fix closure tests for [^] and add unit-test. 2512 25132017-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 2514 2515 * Makefile (_MAKE_VERSION): 20170420 2516 Merge with NetBSD make, pick up 2517 o main.c: only use -C arg "as is" if it contains no 2518 relative component. 2519 25202017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 2521 2522 * Makefile (_MAKE_VERSION): 20170418 2523 Merge with NetBSD make, pick up 2524 o main.c: fix Main_SetObjdir() for relative paths (eg obj). 2525 25262017-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 2527 2528 * Makefile (_MAKE_VERSION): 20170417 2529 Merge with NetBSD make, pick up 2530 o fixes a number of coverity complaints 2531 - check return value of fseek, fcntl 2532 - plug memory leak in Dir_FindFile, Var_LoopExpand, 2533 JobPrintCommand, ParseTraditionalInclude 2534 - use bmake_malloc() where NULL is not tollerated 2535 - use MAKE_ATTR_UNUSED rather that kludges like 2536 return(unused ? 0 : 0) 2537 - use purge_cached_realpaths() rather than abuse cached_realpath() 2538 25392017-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 2540 2541 * Makefile (_MAKE_VERSION): 20170413 2542 Merge with NetBSD make, pick up 2543 o main.c: when setting .OBJDIR ignore '$' in paths. 2544 2545 * job.c: use MALLOC_OPTIONS to set malloc_options. 2546 25472017-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 2548 2549 * Makefile (_MAKE_VERSION): 20170411 2550 Merge with NetBSD make, pick up 2551 o str.c: Str_Match: allow [^a-z] to behave as expected. 2552 25532017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 2554 2555 * Makefile (_MAKE_VERSION): 20170326 2556 Merge with NetBSD make, pick up 2557 o main.c: purge relative paths from realpath cache when .OBJDIR 2558 is changed. 2559 25602017-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 2561 2562 * Makefile (_MAKE_VERSION): 20170311 2563 Merge with NetBSD make, pick up 2564 o main.c: only use -C arg "as is" if it starts with '/'. 2565 25662017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 2567 2568 * Makefile (_MAKE_VERSION): 20170301 2569 Merge with NetBSD make, pick up 2570 o main.c: use -C arg "as is" rather than getcwd() 2571 if they identify the same directory. 2572 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case 2573 25742017-02-01 Simon J. Gerraty <sjg@bad.crufty.net> 2575 2576 * Makefile (_MAKE_VERSION): 20170201 2577 Merge with NetBSD make, pick up 2578 o var.c: allow :_=var and avoid use of special context. 2579 25802017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 2581 2582 * Makefile (_MAKE_VERSION): 20170130 2583 Merge with NetBSD make, pick up 2584 o var.c: add :range and :_ 2585 o main.c: partially initialize Dir_* before MainParseArgs() 2586 can be called. 2587 If -V, skip Main_ExportMAKEFLAGS() 2588 25892017-01-14 Simon J. Gerraty <sjg@bad.crufty.net> 2590 2591 * Makefile (_MAKE_VERSION): 20170114 2592 Merge with NetBSD make, pick up 2593 o var.c: allow specifying the utc value used by :{gm,local}time 2594 25952016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 2596 2597 * Makefile (_MAKE_VERSION): 20161212 2598 Merge with NetBSD make, pick up 2599 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too. 2600 26012016-12-09 Simon J. Gerraty <sjg@bad.crufty.net> 2602 2603 * Makefile (_MAKE_VERSION): 20161209 2604 Merge with NetBSD make, pick up 2605 o main.c: cleanup setting of .OBJDIR 2606 o parse.c: avoid coredump from (var)=val 2607 26082016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 2609 2610 * Makefile (_MAKE_VERSION): 20161126 2611 Merge with NetBSD make, pick up 2612 o make.c: Make_OODate: report src node name if path not set 2613 26142016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 2615 2616 * Makefile (_MAKE_VERSION): 20160926 2617 Merge with NetBSD make, pick up 2618 o support for .DELETE_ON_ERROR: (remove targets that fail) 2619 26202016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 2621 2622 * Makefile MAN: tweak .Dt to match ${PROG} 2623 26242016-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 2625 2626 * Makefile (_MAKE_VERSION): 20160818 2627 its a neater number; pick up whitespace fixes to man page. 2628 26292016-08-17 Simon J. Gerraty <sjg@bad.crufty.net> 2630 2631 * Makefile (_MAKE_VERSION): 20160817 2632 Merge with NetBSD make, pick up 2633 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore() 2634 so we can call it before adding entries to missingFiles. 2635 Thus we do not track files we have been told to ignore. 2636 26372016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 2638 2639 * Makefile (_MAKE_VERSION): 20160815 2640 Merge with NetBSD make, pick up 2641 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to 2642 pathnames, and skip if the expansion is empty. 2643 Useful for dirdeps.mk when checking DIRDEPS_CACHE. 2644 26452016-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 2646 2647 * Makefile (_MAKE_VERSION): 20160812 2648 Merge with NetBSD make, pick up 2649 o meta.c: remove all missingFiles entries that match a deleted 2650 dir. 2651 o main.c: set .ERROR_CMD if possible. 2652 26532016-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 2654 2655 * Makefile (_MAKE_VERSION): 20160606 2656 Merge with NetBSD make, pick up 2657 o dir.c: extend mtimes cache to others via cached_stat() 2658 26592016-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 2660 2661 * Makefile (_MAKE_VERSION): 20160604 2662 Merge with NetBSD make, pick up 2663 o meta.c: missing filemon data is only relevant if we read a 2664 meta file. 2665 Also do not return oodate for a missing metafile if gn->path 2666 points to .CURDIR 2667 26682016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 2669 2670 * Makefile (_MAKE_VERSION): 20160602 2671 Merge with NetBSD make, pick up 2672 o cached_realpath(): avoid hitting filesystem more than necessary. 2673 o meta.c: refactor need_meta decision, add knobs for 2674 missing meta file and filemon data wrt out-of-datedness. 2675 26762016-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 2677 2678 * Makefile (_MAKE_VERSION): 20160528 2679 2680 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 2681 26822016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 2683 2684 * Makefile (_MAKE_VERSION): 20160512 2685 Merge with NetBSD make, pick up 2686 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS 2687 this is useful for gcov builds. 2688 o propagate errors from filemon(4). 2689 26902016-05-09 Simon J. Gerraty <sjg@bad.crufty.net> 2691 2692 * Makefile (_MAKE_VERSION): 20160509 2693 Merge with NetBSD make, pick up 2694 o remove use of non-standard types u_int etc. 2695 o meta.c: apply realpath() before matching against metaIgnorePaths 2696 26972016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 2698 2699 * Makefile (_MAKE_VERSION): 20160404 2700 Merge with NetBSD make, pick up 2701 o allow makefile to set .MAKE.JOBS 2702 2703 * Makefile (PROG_NAME): use ${_MAKE_VERSION} 2704 27052016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 2706 2707 * Makefile (_MAKE_VERSION): 20160315 2708 Merge with NetBSD make, pick up 2709 o fix handling of archive members 2710 27112016-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 2712 2713 * Makefile (_MAKE_VERSION): rename variable to avoid interference 2714 with checks for ${MAKE_VERSION} 2715 27162016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 2717 2718 * Makefile (MAKE_VERSION): 20160310 2719 Merge with NetBSD make, pick up 2720 o meta.c: treat missing Read file same as Write, incase we Delete it. 2721 27222016-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 2723 2724 * Makefile (MAKE_VERSION): 20160307 2725 Merge with NetBSD make, pick up 2726 o var.c: fix :ts\nnn to be octal by default. 2727 o meta.c: meta_finish() to cleanup memory. 2728 27292016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 2730 2731 * Makefile (MAKE_VERSION): 20160226 2732 Merge with NetBSD make, pick up 2733 o meta.c: allow meta file for makeDepend if makefiles want it. 2734 27352016-02-19 Simon J. Gerraty <sjg@bad.crufty.net> 2736 2737 * var.c: default .MAKE.SAVE_DOLLARS to FALSE 2738 for backwards compatability. 2739 2740 * Makefile (MAKE_VERSION): 20160220 2741 Merge with NetBSD make, pick up 2742 o var.c: add knob to control handling of '$$' in := 2743 27442016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 2745 2746 * Makefile (MAKE_VERSION): 20160218 2747 Merge with NetBSD make, pick up 2748 o var.c: add .export-literal allows us to fix sys.clean-env.mk 2749 post the changes to Var_Subst. 2750 Var_Subst now takes flags, and does not consume '$$' in := 2751 27522016-02-17 Simon J. Gerraty <sjg@bad.crufty.net> 2753 2754 * Makefile (MAKE_VERSION): 20160217 2755 Merge with NetBSD make, pick up 2756 o var.c: preserve '$$' in := 2757 o parse.c: add .dinclude for handling included 2758 makefile like .depend 2759 27602015-12-20 Simon J. Gerraty <sjg@bad.crufty.net> 2761 2762 * Makefile (MAKE_VERSION): 20151220 2763 Merge with NetBSD make, pick up 2764 o suff.c: re-initialize suffNull when clearing suffixes. 2765 27662015-12-01 Simon J. Gerraty <sjg@bad.crufty.net> 2767 2768 * Makefile (MAKE_VERSION): 20151201 2769 Merge with NetBSD make, pick up 2770 o cond.c: CondCvtArg: avoid access beyond end of empty buffer. 2771 o meta.c: meta_oodate: use lstat(2) for checking link target 2772 in case it is a symlink. 2773 o var.c: avoid calling brk_string and Var_Export1 with empty 2774 strings. 2775 27762015-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 2777 2778 * Makefile (MAKE_VERSION): 20151126 2779 Merge with NetBSD make, pick up 2780 o parse.c: ParseTrackInput don't access beyond 2781 end of old value. 2782 27832015-10-22 Simon J. Gerraty <sjg@bad.crufty.net> 2784 2785 * Makefile (MAKE_VERSION): 20151022 2786 2787 * Add support for BSD/OS which lacks inttypes.h 2788 and really needs sys/param.h for sys/sysctl.h 2789 also 'type' is not a shell builtin. 2790 2791 * var.c: eliminate uint32_t and need for inttypes.h 2792 2793 * main.c: PrintOnError flush stdout before run .ERROR 2794 2795 * parse.c: cope with _SC_PAGESIZE not being defined. 2796 2797 27982015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 2799 2800 * Makefile (MAKE_VERSION): 20151020 2801 Merge with NetBSD make, pick up 2802 o var.c: fix uninitialized var 2803 28042015-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 2805 2806 * var.c: the conditional expressions used with ':?' can be 2807 expensive, if already discarding do not evaluate or expand 2808 anything. 2809 28102015-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 2811 2812 * Makefile (MAKE_VERSION): 20151010 2813 Merge with NetBSD make, pick up 2814 o Add Boolean wantit flag to Var_Subst and Var_Parse 2815 when FALSE we know we are discarding the result and can 2816 skip operations like Cmd_Exec. 2817 28182015-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 2819 2820 * Makefile (MAKE_VERSION): 20151009 2821 Merge with NetBSD make, pick up 2822 o var.c: don't check for NULL before free() 2823 o meta.c: meta_oodate, do not hard code ignore of makeDependfile 2824 28252015-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 2826 2827 * Makefile (MAKE_VERSION): 20150910 2828 Merge with NetBSD make, pick up 2829 o main.c: with -w print Enter/Leaving messages for objdir too 2830 if necessary. 2831 o centralize shell metachar handling 2832 2833 * FILES: add metachar.[ch] 2834 28352015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 2836 2837 * Makefile (MAKE_VERSION): 20150606 2838 Merge with NetBSD make, pick up 2839 o make.1: document .OBJDIR target 2840 28412015-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 2842 2843 * Makefile (MAKE_VERSION): 20150505 2844 Merge with NetBSD make, pick up 2845 o cond.c: be strict about lhs of comparison when evaluating .if 2846 but less so when called from variable expansion. 2847 o unit-tests/cond2.mk: test various error conditions 2848 28492015-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 2850 2851 * machine.sh (MACHINE): Add Bitrig 2852 patch from joerg@netbsd.org 2853 28542015-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 2855 2856 * Makefile (MAKE_VERSION): 20150418 2857 Merge with NetBSD make, pick up 2858 o job.c: use memmove() rather than memcpy() 2859 2860 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL 2861 case, so skip it. 2862 28632015-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 2864 2865 * Makefile (MAKE_VERSION): 20150411 2866 bump version - only mk/ changes. 2867 28682015-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 2869 2870 * Makefile (MAKE_VERSION): 20150410 2871 Merge with NetBSD make, pick up 2872 o document different handling of '-' in jobs mode vs compat 2873 o fix jobs mode so that '-' only applies to whole job 2874 when shell lacks hasErrCtl 2875 o meta.c: use separate vars to track lcwd and latestdir (read) 2876 per process 2877 28782015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 2879 2880 * Makefile (MAKE_VERSION): 20150401 2881 Merge with NetBSD make, pick up 2882 o meta.c: close meta file in child 2883 2884 * Makefile: use BINDIR.bmake if set. 2885 Same for MANDIR and SHAREDIR 2886 Handy for testing release candidates 2887 in various environments. 2888 28892015-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 2890 2891 * move initialization of savederr to block where it is used 2892 to avoid spurious warning from gcc5 2893 28942014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 2895 2896 * Makefile (MAKE_VERSION): 20141111 2897 just a cooler number 2898 28992014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 2900 2901 * Makefile (MAKE_VERSION): 20141105 2902 Merge with NetBSD make, pick up 2903 o revert major overhaul of suffix handling 2904 and POSIX compliance - too much breakage 2905 and impossible to make backwards compatible. 2906 o we still have the new unit test structure which is ok. 2907 o meta.c ensure "-- filemon" is at start of line. 2908 29092014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 2910 2911 * configure.in: test that result of getconf PATH_MAX is numeric 2912 and discard if not. Apparently needed for Hurd. 2913 29142014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 2915 2916 * Makefile (MAKE_VERSION): 20140830 2917 Merge with NetBSD make, pick up 2918 o major overhaul of suffix handling 2919 o improved POSIX compliance 2920 o overhauled unit-tests 2921 29222014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 2923 2924 * Makefile (MAKE_VERSION): 20140620 2925 Merge with NetBSD make, pick up 2926 o var.c return varNoError rather than var_Error for ::= modifiers. 2927 29282014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 2929 2930 * Makefile (MAKE_VERSION): 20140522 2931 Merge with NetBSD make, pick up 2932 o var.c detect some parse errors. 2933 29342014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 2935 2936 * Fix spelling errors - patch from Pedro Giffuni 2937 29382014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 2939 2940 * Makefile (MAKE_VERSION): 20140214 2941 Merge with NetBSD make, pick up 2942 o .INCLUDEFROM* 2943 o use Var_Value to get MAKEOBJDIR[PREFIX] 2944 o reduced realloc'ign in brk_string. 2945 * configure.in: add a check for compiler supporting __func__ 2946 29472014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 2948 2949 * boot-strap: ignore mksrc=none 2950 29512014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 2952 2953 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 2954 29552014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 2956 2957 * Makefile (MAKE_VERSION): 20140101 2958 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 2959 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 2960 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 2961 Hurd) 2962 * configure.in: Add AC_PREREQ and check for 2963 sysctl; patch from Andrew Shadura andrewsh at debian.org 2964 29652013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 2966 2967 * Makefile (MAKE_VERSION): 20131010 2968 * lose the const from arg to systcl to avoid problems on older BSDs. 2969 29702013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 2971 2972 * Makefile (MAKE_VERSION): 20131001 2973 Merge with NetBSD make, pick up 2974 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 2975 hw.machine_arch if necessary. 2976 o meta.c: meta_oodate - need to look at src of Link and target 2977 of Move as well. 2978 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 2979 provide __arraycount() if needed. 2980 29812013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 2982 2983 * Makefile (MAKE_VERSION): 20130904 2984 Merge with NetBSD make, pick up 2985 o Add VAR_INTERNAL context, so that internal setting of 2986 MAKEFILE does not override value set by makefiles. 2987 29882013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 2989 2990 * Makefile (MAKE_VERSION): 20130902 2991 Merge with NetBSD make, pick up 2992 o CompatRunCommand: only apply shellErrFlag when errCheck is true 2993 29942013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 2995 2996 * Makefile (MAKE_VERSION): 20130828 2997 Merge with NetBSD make, pick up 2998 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 2999 o Call Job_SetPrefix() from Job_Init() so makefiles have 3000 opportunity to set .MAKE.JOB.PREFIX 3001 30022013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 3003 3004 * Makefile (MAKE_VERSION): 20130730 3005 Merge with NetBSD make, pick up 3006 o Allow suppression of --- job -- tokens by setting 3007 .MAKE.JOB.PREFIX empty. 3008 30092013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 3010 3011 * Makefile (MAKE_VERSION): 20130716 3012 Merge with NetBSD make, pick up 3013 o number of gmake compatibility tweaks 3014 -w for gmake style entering/leaving messages 3015 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 3016 handle MAKEFLAGS containing only letters. 3017 o when overriding a GLOBAL variable on the command line, 3018 delete it from GLOBAL context so -V doesn't show the wrong 3019 value. 3020 30212013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 3022 3023 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 3024 3025 * Makefile (MAKE_VERSION): 20130706 3026 Merge with NetBSD make, pick up 3027 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 3028 true so that CompatRunCommand() can use it, to ensure 3029 consistent behavior with jobs mode. 3030 o use MAKE_LEVEL_ENV to define the variable to propagate 3031 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 3032 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 3033 paths to ignore. 3034 30352013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 3036 3037 * Makefile (MAKE_VERSION): 20130604 3038 Merge with NetBSD make, pick up 3039 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 3040 to avoid leaking descriptors. 3041 30422013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 3043 3044 * Makefile (MAKE_VERSION): 20130528 3045 Merge with NetBSD make, pick up 3046 o var.c: cleanup some left-overs in VarHash() 3047 30482013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 3049 3050 * Makefile (MAKE_VERSION): 20130520 3051 generate manifest from component FILES rather than have to 3052 update FILES when mk/FILES changes. 3053 30542013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 3055 3056 * Makefile (MAKE_VERSION): 20130518 3057 Merge with NetBSD make, pick up 3058 o suff.c: don't skip all processsing for .PHONY targets 3059 else wildcard srcs do not get expanded. 3060 o var.c: expand name of variable to delete if necessary. 3061 30622013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 3063 3064 * Makefile (MAKE_VERSION): 20130330 3065 Merge with NetBSD make, pick up 3066 o meta.c: refine the handling of .OODATE in commands. 3067 Rather than suppress command comparison for the entire script 3068 as though .NOMETA_CMP had been used, only suppress it for the 3069 one command line. 3070 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 3071 suppress comparison of a command without otherwise affecting it. 3072 o make.1: document that 3073 30742013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 3075 3076 * Makefile (MAKE_VERSION): 20130321 3077 yes, not quite right but its a cooler number. 3078 Merge with NetBSD make, pick up 3079 o parse.c: fix ParseGmakeExport to be portable 3080 and add a unit-test. 3081 * meta.c: call meta_init() before makefiles are read and if built 3082 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 3083 this let's makefiles test for support. 3084 Call meta_mode_init() to process .MAKE.MODE. 3085 30862013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 3087 3088 * Makefile (MAKE_VERSION): 20130305 3089 Merge with NetBSD make, pick up 3090 o run .STALE: target when a dependency from .depend is missing. 3091 o job.c: add Job_RunTarget() for the above and .BEGIN 3092 30932013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 3094 3095 * Makefile (MAKE_VERSION): 20130303 3096 Merge with NetBSD make, pick up 3097 o main.c: set .MAKE.OS to utsname.sysname 3098 o job.c: more checks for read and poll errors 3099 o var.c: lose VarChangeCase() saves 4% time 3100 31012013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 3102 3103 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 3104 want to use MAKEOBJDIR 3105 31062013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 3107 3108 * Merge with NetBSD make, pick up 3109 o make.1: more info on how shell commands are handled. 3110 o job.c,main.c: detect write errors to job pipes. 3111 31122013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 3113 3114 * Makefile (MAKE_VERSION): 20130123 3115 Merge with NetBSD make, pick up 3116 o meta.c: if script uses .OODATE and meta_oodate() decides 3117 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 3118 o var.c: in debug output indicate which variabale modifiers 3119 apply to. 3120 o remove Check_Cwd logic the makefiles have been fixed. 3121 31222012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 3123 3124 * makefile.in: add a simple makefile for folk who insist on 3125 ./configure; make; make install 3126 it just runs boot-strap 3127 * include mk/* to accommodate the above 3128 * boot-strap: re-work to accommodate the above 3129 mksrc defaults to $Mydir/mk 3130 allow op={configure,build,install,clean,all} 3131 add options to facilitate install 3132 * Makefile.config.in: just the bits set by configure 3133 * Makefile: bump version to 20121212 3134 abandon Makefile.in (NetBSD Makefile) 3135 leverage mk/* instead 3136 * configure.in: ensure srcdir is absolute 3137 31382012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 3139 3140 * Makefile.in (MAKE_VERSION): 20121111 3141 fix generation of bmake.cat1 3142 31432012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 3144 3145 * Makefile.in (MAKE_VERSION): 20121109 3146 Merge with NetBSD make, pick up 3147 o make.c: MakeBuildChild: return 0 so search continues if a 3148 .ORDER dependency is detected. 3149 o unit-tests/order: test the above 3150 31512012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 3152 3153 * Makefile.in (MAKE_VERSION): 20121102 3154 Merge with NetBSD make, pick up 3155 o cond.c: allow cond_state[] to grow. 3156 In meta mode with a very large tree, we can hit the limit 3157 while processing dirdeps. 3158 31592012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 3160 3161 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 3162 31632012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 3164 3165 * Makefile.in (MAKE_VERSION): 20121010 3166 o protect syntax that only bmake parses correctly. 3167 o remove auto setting of FORCE_MACHINE, use configure's 3168 --with-force-machine=whatever if that is desired. 3169 31702012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 3171 3172 * Makefile.in: do not lose history from make.1 when generating bmake.1 3173 31742012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 3175 3176 * Makefile.in (MAKE_VERSION): 20121007 3177 Merge with NetBSD make, pick up 3178 o compat.c: ignore empty commands - same as jobs mode. 3179 o make.1: document meta chars that cause use of shell 3180 31812012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 3182 3183 * Makefile.in (MAKE_VERSION): bump version to 20120911 3184 * bsd.after-import.mk: include Makefile.inc early and allow it to 3185 override PROG 3186 31872012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 3188 3189 * Makefile.in (MAKE_VERSION): bump version to 20120831 3190 Merge with NetBSD make, pick up 3191 o cast sizeof() to int for comparison 3192 o minor make.1 tweak 3193 31942012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 3195 3196 * Makefile.in (MAKE_VERSION): bump version to 20120830 3197 Merge with NetBSD make, pick up 3198 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 3199 o debug flag -dV causes -V to show raw value regardless. 3200 32012012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 3202 3203 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 3204 gets SRCTOP set. 3205 32062012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 3207 3208 * Makefile.in (MAKE_VERSION): bump version to 20120704 3209 Merge with NetBSD make, pick up 3210 o Job_ParseShell should call Shell_Init if it has been 3211 previously called. 3212 * Makefile.in: set USE_META based on configure result. 3213 also .PARSEDIR is safer indicator of bmake. 3214 32152012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 3216 3217 * Makefile.in: bump version to 20120626 3218 ensure CPPFLAGS is in CFLAGS 3219 * meta.c: avoid nested externs 3220 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 3221 32222012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 3223 3224 * Makefile.in (MAKE_VERSION): bump version to 20120620 3225 Merge with NetBSD make, pick up 3226 o make_malloc.c: avoid including make_malloc.h again 3227 3228 * Makefile.in: avoid bmake only syntax or protect with 3229 .if defined(.MAKE.LEVEL) 3230 * bsd.after-import.mk: replace .-include with .sinclude 3231 ensure? SRCTOP gets a value 3232 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 3233 32342012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 3235 3236 * Makefile.in (MAKE_VERSION): bump version to 20120612 3237 Merge with NetBSD make, pick up 3238 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 3239 for greater portability. 3240 o unit-tests/forloop: check that .for works as expected wrt 3241 number of times and with "quoted strings". 3242 32432012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 3244 3245 * Makefile.in (MAKE_VERSION): bump version to 20120606 3246 Merge with NetBSD make, pick up 3247 o compat.c: use kill(2) rather than raise(3). 3248 * configure.in: look for sys/dev/filemon 3249 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 3250 and pass BOOTSTRAP_XTRAS to boot-strap. 3251 32522012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 3253 3254 * Makefile.in (MAKE_VERSION): bump version to 20120604 3255 Merge with NetBSD make, pick up 3256 o util.c and var.c share same var for tracking if environ 3257 has been reallocated. 3258 o util.c provide getenv with setenv. 3259 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 3260 when the shell actively strips .MAKE.* from the environment. 3261 We still refer to the variable always as .MAKE.LEVEL 3262 * util.c fix bug in findenv() was finding prefix of name. 3263 * compat.c: re-raising SIGINT etc after running .INTERRUPT 3264 results in more reliable termination of all activity on many 3265 platforms. 3266 32672012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 3268 3269 * Makefile.in (MAKE_VERSION): bump version to 20120602 3270 Merge with NetBSD make, pick up 3271 o for.c: handle quoted items in .for list 3272 32732012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 3274 3275 * Makefile.in (MAKE_VERSION): bump version to 20120530 3276 Merge with NetBSD make, pick up 3277 o compat.c: ignore empty command. 3278 32792012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 3280 3281 * Makefile.in (MAKE_VERSION): bump version to 20120524 3282 * FILES: add bsd.after-import.mk: 3283 A simple means of integrating bmake into a BSD build system. 3284 32852012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 3286 3287 * Makefile.in (MAKE_VERSION): bump version to 20120520 3288 Merge with NetBSD make, pick up 3289 o increased limit for nested conditionals. 3290 32912012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 3292 3293 * Makefile.in (MAKE_VERSION): bump version to 20120518 3294 Merge with NetBSD make, pick up 3295 o use _exit(2) in signal hanlder 3296 o Don't use the [dir] cache when building nodes that might have 3297 changed since the last exec. 3298 o Avoid nested extern declaration warnings. 3299 33002012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 3301 3302 * meta.c (fgetLine): avoid %z - not portable. 3303 * parse.c: Since we moved include of sys/mman.h 3304 and def's of MAP_COPY etc. we got dups from a merge. 3305 33062012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 3307 3308 * Makefile.in (MAKE_VERSION): bump version to 20120420 3309 Merge with NetBSD make, pick up 3310 o restore duplicate supression in .MAKE.MAKEFILES 3311 runtime saving can be significant. 3312 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 3313 consumption up to 20%. 3314 33152012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 3316 3317 * Makefile.in (MAKE_VERSION): bump version to 20120420 3318 Merge with NetBSD make, pick up 3319 o remove duplicate supression in .MAKE.MAKEFILES 3320 o improved dir cache behavior 3321 o gmake'ish export command 3322 33232012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 3324 3325 * Makefile.in (MAKE_VERSION): bump version to 20120325 3326 Merge with NetBSD make, pick up 3327 o fix parsing of :[#] in conditionals. 3328 33292012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 3330 3331 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 3332 since some systems cannot cope with .Nx <version> 3333 33342011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 3335 3336 * Makefile.in (MAKE_VERSION): bump version to 20111111 3337 Merge with NetBSD make, pick up 3338 o debug output for .PARSEDIR and .PARSEFILE 3339 33402011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 3341 3342 * Makefile.in (MAKE_VERSION): bump version to 20111010 3343 33442011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 3345 3346 * boot-strap: check for an expected file in the dirs we look for. 3347 * make-bootstrap.sh: pass on LDSTATIC 3348 33492011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 3350 3351 * Makefile.in (MAKE_VERSION): bump version to 20111001 3352 Merge with NetBSD make, pick up 3353 o ensure .PREFIX is set for .PHONY 3354 and .TARGET set for .PHONY run via .END 3355 o __dead used consistently 3356 33572011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 3358 3359 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 3360 33612011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 3362 3363 * Makefile.in (MAKE_VERSION): bump version to 20110905 3364 Merge with NetBSD make, pick up 3365 o meta_oodate: ignore makeDependfile 3366 33672011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 3368 3369 * Makefile.in (MAKE_VERSION): bump version to 20110828 3370 Merge with NetBSD make, pick up 3371 o silent=yes in .MAKE.MODE causes meta mode to mark targets 3372 as SILENT if a .meta file is created 3373 33742011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 3375 3376 * Makefile.in (MAKE_VERSION): bump version to 20110818 3377 Merge with NetBSD make, pick up 3378 o in meta mode, if target flagged .META a missing .meta file 3379 means target is out-of-date 3380 o fixes for gcc 4.5 warnings 3381 o simplify job printing code 3382 33832011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 3384 3385 * Makefile.in (MAKE_VERSION): bump version to 20110808 3386 Merge with NetBSD make, pick up 3387 o do not touch OP_SPECIAL targets when doing make -t 3388 33892011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 3390 3391 * Makefile.in (MAKE_VERSION): bump version to 20110622 3392 Merge with NetBSD make, pick up 3393 o meta_oodate detect corrupted .meta file and declare oodate. 3394 * configure.in: add check for setsid 3395 33962011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 3397 3398 * Merge with NetBSD make, pick up 3399 o unit-tests/modts now works on MirBSD 3400 34012011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 3402 3403 * Makefile.in (MAKE_VERSION): bump version to 20110606 3404 Merge with NetBSD make, pick up 3405 o ApplyModifiers: when we parse a variable which is not 3406 the entire modifier string, or not followed by ':', do not 3407 consider it as containing modifiers. 3408 o loadfile: ensure newline at end of mapped file. 3409 34102011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 3411 3412 * Makefile.in (MAKE_VERSION): bump version to 20110505 3413 Merge with NetBSD make, pick up 3414 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 3415 of make's control. In meta mode, any generated file within 3416 said bailiwick, which is found to be missing, causes current 3417 target to be out-of-date. 3418 34192011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 3420 3421 * Makefile.in (MAKE_VERSION): bump version to 20110411 3422 Merge with NetBSD make, pick up 3423 o when long modifiers fail to match, check sysV style. 3424 - add a test case 3425 34262011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 3427 3428 * Makefile.in (MAKE_VERSION): bump version to 20110410 3429 Merge with NetBSD make, pick up 3430 o :hash - cheap 32bit hash of value 3431 o :localtime, :gmtime - use value as format string for strftime. 3432 34332011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 3434 3435 * Makefile.in (MAKE_VERSION): bump version to 20110330 3436 mostly because its a cooler version. 3437 Merge with NetBSD make, pick up 3438 o NetBSD tags for meta.[ch] 3439 o job.c call meta_job_finish() after meta_job_error(). 3440 o meta_job_error() should call meta_job_finish() to ensure 3441 .meta file is closed, and safe to copy - if .ERROR target wants. 3442 meta_job_finish() is safe to call repeatedly. 3443 34442011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 3445 3446 * unit-tests/modts: use printf if it is a builtin, 3447 to save us from MirBSD 3448 3449 * Makefile.in (MAKE_VERSION): bump version to 20110329 3450 Merge with NetBSD make, pick up 3451 o fix for use after free() in CondDoExists(). 3452 o meta_oodate() report extra commands and return earlier. 3453 34542011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 3455 3456 * Makefile.in (MAKE_VERSION): bump version to 20110327 3457 Merge with NetBSD make, pick up 3458 o meta.c, if .MAKE.MODE contains curdirOk=yes 3459 allow creating .meta files in .CURDIR 3460 * boot-strap (TOOL_DIFF): aparently at least on linux distro 3461 formats the output of 'type' differently - so eat any "()" 3462 34632011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 3464 3465 * Makefile.in (MAKE_VERSION): bump version to 20110306 3466 Merge with NetBSD make, pick up 3467 o meta.c, only do getcwd() once 3468 34692011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 3470 3471 * Makefile.in (MAKE_VERSION): bump version to 20110305 3472 Merge with NetBSD make, pick up 3473 o correct sysV substitution handling of empty lhs and variable 3474 o correct exists() check for dir with trailing / 3475 o correct handling of modifiers for non-existant variables 3476 during evaluation of conditionals. 3477 o ensure MAP_FILE is defined. 3478 o meta.c use curdir[] now exported by main.c 3479 34802011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 3481 3482 * Makefile.in (MAKE_VERSION): bump version to 20110225 3483 Merge with NetBSD make, pick up 3484 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 3485 makefiles have been read. 3486 o fix example of :? modifier in man page. 3487 34882011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 3489 3490 * Makefile.in (MAKE_VERSION): bump version to 20110214 3491 Merge with NetBSD make, pick up 3492 o meta.c handle realpath() failing when generating meta file 3493 name. 3494 3495 * sigcompat.c: convert to ansi so we can use higher warning levels. 3496 3497 34982011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 3499 3500 * Makefile.in (MAKE_VERSION): bump version to 20110207 3501 Merge with NetBSD make, pick up 3502 o fix for bug in meta mode. 3503 35042011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 3505 3506 * parse.c: SunOS 5.8 at least does not have MAP_FILE 3507 35082011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 3509 3510 * Makefile.in (MAKE_VERSION): bump version to 20110101 3511 Merge with NetBSD make, pick up 3512 o use mmap(2) if available, for reading makefiles 3513 35142010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 3515 3516 * Makefile.in (MAKE_VERSION): bump version to 20101215 3517 Merge with NetBSD make, pick up 3518 o ensure meta_job_error() does not report a previous .meta file 3519 as being culprit. 3520 35212010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 3522 3523 * Makefile.in (MAKE_VERSION): bump version to 20101210 3524 Merge with NetBSD make, pick up 3525 o meta_oodate: track cwd per process, and only consider target 3526 out-of-date if missing file is outside make's CWD. 3527 Ignore files in /tmp/ etc. 3528 o to ensure unit-tests results match, need to control LC_ALL 3529 as well as LANG. 3530 o fix for parsing bug in var.c 3531 35322010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 3533 3534 * Makefile.in (MAKE_VERSION): bump version to 20101126 3535 Merge with NetBSD make, pick up 3536 o if stale dependency is an IMPSRC, search via .PATH 3537 o meta_oodate: if a referenced file is missing, target is 3538 out-of-date. 3539 o meta_oodate: if a target uses .OODATE in its commands, 3540 it (.OODATE) needs to be recomputed. 3541 o keep a pointer to youngest child node, rather than just its 3542 mtime. 3543 35442010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 3545 3546 * Makefile.in (MAKE_VERSION): bump version to 20101101 3547 35482010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 3549 3550 * machine.sh: like os.sh, 3551 allow for uname -p producing useless drivel 3552 35532010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 3554 3555 * boot-strap: document configure knobs for meta and filemon. 3556 3557 * Makefile.in (MAKE_VERSION): bump version to 20100911 3558 Merge with NetBSD make, pick up 3559 o meta.c - meta mode 3560 3561 * make-bootstrap.sh.in: handle meta.c 3562 * configure.in: add knobs for use_meta and filemon_h 3563 also, look for dirname, str[e]sep and strlcpy 3564 * util.c: add simple err[x] and warn[x] 3565 35662010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 3567 3568 * boot-strap (TOOL_DIFF): set this to ensure tests use 3569 the same version of diff that configure tested 3570 3571 * Makefile.in (MAKE_VERSION): bump version to 20100808 3572 Merge with NetBSD make, pick up 3573 o in jobs mode, when we discover we cannot make something, 3574 call PrintOnError before exit. 3575 35762010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 3577 3578 * Makefile.in (MAKE_VERSION): bump version to 20100806 3579 Merge with NetBSD make, pick up 3580 o formatting fixes for ignored errors 3581 o ensure jobs are cleaned up regardless of where wait() was called. 3582 35832010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 3584 3585 * Makefile.in (MAKE_VERSION): bump version to 20100618 3586 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 3587 35882010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 3589 3590 * Makefile.in (MAKE_VERSION): bump version to 20100616 3591 Merge with NetBSD make, pick up 3592 o man page update 3593 o call PrintOnError from JobFinish when we detect an error we 3594 are not ignoring. 3595 35962010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 3597 3598 * Makefile.in (MAKE_VERSION): bump version to 20100606 3599 Merge with NetBSD make, pick up 3600 o man page update 3601 36022010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 3603 3604 * Makefile.in (MAKE_VERSION): bump version to 20100605 3605 Merge with NetBSD make, pick up 3606 o use bmake_signal() which is a wrapper around sigaction() 3607 in place of signal() 3608 o add .export-env to allow exporting variables to environment 3609 without tracking (so no re-export when the internal value is 3610 changed). 3611 36122010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 3613 3614 * Makefile.in (MAKE_VERSION): bump version to 20100524 3615 Merge with NetBSD make, pick up 3616 o fix for .info et al being greedy. 3617 36182010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 3619 3620 * Makefile.in (MAKE_VERSION): bump version to 20100520 3621 Merge with NetBSD make, pick up 3622 o back to using realpath on argv[0] 3623 but only if contains '/' and does not start with '/'. 3624 36252010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 3626 3627 * boot-strap: use absolute path for bmake when running tests. 3628 3629 * Makefile.in (MAKE_VERSION): bump version to 20100510 3630 Merge with NetBSD make, pick up 3631 o revert use of realpath on argv[0] 3632 too many corner cases. 3633 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 3634 36352010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 3636 3637 * Makefile.in (MAKE_VERSION): bump version to 20100505 3638 Merge with NetBSD make, pick up 3639 o fix for missed SIGCHLD when compiled with SunPRO 3640 actually for bmake, defining FORCE_POSIX_SIGNALS would have 3641 done the job. 3642 36432010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 3644 3645 * Makefile.in (MAKE_VERSION): bump version to 20100430 3646 Merge with NetBSD make, pick up 3647 o fflush stdout before writing to stdout 3648 36492010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 3650 3651 * Makefile.in (MAKE_VERSION): bump version to 20100423 3652 Merge with NetBSD make, pick up 3653 o updated unit tests for Haiku (this time for sure). 3654 * boot-strap: based on patch from joerg 3655 honor --with-default-sys-path better. 3656 * boot-strap: remove mention of --with-prefix-sys-path 3657 36582010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 3659 3660 * Makefile.in (MAKE_VERSION): bump version to 20100422 3661 * Merge with NetBSD make, pick up 3662 o fix for vfork() on Darwin. 3663 o fix for bogus $TMPDIR. 3664 o set .MAKE.MODE=compat for -B 3665 o set .MAKE.JOBS=max_jobs for -j max_jobs 3666 o allow unit-tests to run without any *.mk 3667 o unit-tests/modmisc be more conservative in dirs presumed to exist. 3668 * boot-strap: ignore /usr/share/mk except on NetBSD. 3669 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 3670 ensure sort(1) behaves as expected. 3671 36722010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 3673 3674 * boot-strap: add FindHereOrAbove so we can use -m .../mk 3675 36762010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 3677 3678 * Makefile.in (MAKE_VERSION): bump version to 20100420 3679 * Merge with NetBSD make, pick up 3680 o fix for variable realpath() behavior. 3681 we have to stat(2) the result to be sure. 3682 o fix for .export (all) when nested vars use :sh 3683 36842010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 3685 3686 * Makefile.in (MAKE_VERSION): bump version to 20100414 3687 * Merge with NetBSD make, pick up 3688 o use realpath to resolve argv[0] (for .MAKE) if needed. 3689 o add realpath from libc. 3690 o add :tA to resolve variable via realpath(3) if possible. 3691 36922010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 3693 3694 * Makefile.in (MAKE_VERSION): bump version to 20100408 3695 * Merge with NetBSD make, pick up 3696 o unit tests for .ERROR, .error 3697 o fix for .ERROR to ensure it cannot be default target. 3698 36992010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 3700 3701 * Makefile.in (MAKE_VERSION): bump version to 20100406 3702 * Merge with NetBSD make, pick up 3703 o fix for compat mode "Error code" going to debug_file. 3704 o fix for .ALLSRC being populated twice. 3705 o support for .info, .warning and .error directives 3706 o .MAKE.MODE to control make's operational mode 3707 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 3708 name(s). 3709 o .MAKE.DEPENDFILE to control the name of the depend file 3710 o .ERROR target - run on failure. 3711 37122010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 3713 3714 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 3715 3716 * os.sh,arch.c: patch for Haiku from joerg at netbsd 3717 37182010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 3719 3720 * Makefile.in (MAKE_VERSION): bump version to 20100222 3721 * Merge with NetBSD make, pick up 3722 o better error msg for .for with mutiple inter vars 3723 3724 * boot-strap: 3725 o use make-bootstrap.sh from joerg at netbsd 3726 to avoid the need for a native make when bootstrapping. 3727 o add "" everywhere ;-) 3728 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 3729 otherwise the pre-formated version. 3730 37312010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 3732 3733 * Makefile.in (MAKE_VERSION): bump version to 20100102 3734 * Merge with NetBSD make, pick up: 3735 o fix for -m .../ 3736 37372009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 3738 3739 * Makefile.in (MAKE_VERSION): bump version to 20091118 3740 * Merge with NetBSD make, pick up: 3741 o .unexport 3742 o report lines that start with '.' and should have ':' 3743 (catch typo's of .el*if). 3744 37452009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 3746 3747 * configure.in: Ensure that srcdir and mksrc are absolute paths. 3748 37492009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 3750 3751 * Makefile.in (MAKE_VERSION): fix version to 20091007 3752 37532009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 3754 3755 * Makefile.in (MAKE_VERSION): bump version to 200910007 3756 * Merge with NetBSD make, pick up: 3757 o fix for parsing of :S;...;...; applied to .for loop iterator 3758 appearing in a dependency line. 3759 37602009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 3761 3762 * Makefile.in (MAKE_VERSION): bump version to 20090909 3763 * Merge with NetBSD make, pick up: 3764 o fix for -C, .CURDIR and .OBJDIR 3765 * boot-strap: 3766 o allow share_dir to be set independent of prefix. 3767 o select default share_dir better when prefix ends in $HOST_TARGET 3768 o if FORCE_BSD_MK etc were set, include them in the suggested 3769 install-mk command. 3770 37712009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 3772 3773 * Makefile.in (MAKE_VERSION): bump version to 20090908 3774 * Merge with NetBSD make, pick up: 3775 o .MAKE.LEVEL for recursion tracking 3776 o fix for :M scanning \: 3777 37782009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 3779 3780 * configure.in: Don't -D__EXTENSIONS__ if 3781 AC_USE_SYSTEM_EXTENSIONS says "no". 3782 37832009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 3784 3785 * Makefile.in (MAKE_VERSION): bump version to 20090826 3786 Simplify MAKE_VERSION to just the bare date. 3787 * Merge with NetBSD make, pick up: 3788 o -C directory support. 3789 o support for SIGINFO 3790 o use $TMPDIR for temp files. 3791 o child of vfork should be careful about modifying parent's state. 3792 3793 37942009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 3795 3796 * Appy some patches for MiNT from David Brownlee 3797 37982009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 3799 3800 * Makefile.in (BMAKE_VERSION): bump version to 20090222 3801 * Merge with NetBSD make, pick up: 3802 o Possible null pointer de-ref in Var_Set. 3803 38042009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 3805 3806 * Makefile.in (BMAKE_VERSION): bump version to 20090204 3807 * Merge with NetBSD make, pick up: 3808 o bmake_malloc et al moved to their own .c 3809 o Count both () and {} when looking for the end of a :M pattern 3810 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 3811 o strlist.c - functions for processing extendable arrays of pointers to strings. 3812 o ClientData replaced with void *, so const void * can be used. 3813 o New debug flag C for DEBUG_CWD 3814 38152008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 3816 3817 * Makefile.in (BMAKE_VERSION): bump version to 20081111 3818 Apply patch from Joerg Sonnenberge to 3819 configure.in: 3820 o remove some redundant checks 3821 o check for emlloc etc only in libutil and require the whole family. 3822 util.c: 3823 o remove [v]asprintf which is no longer used. 3824 38252008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 3826 3827 * Makefile.in (BMAKE_VERSION): bump version to 20081101 3828 * Merge with NetBSD make, pick up: 3829 o util.c: avoid use of putenv() - christos 3830 38312008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 3832 3833 * Makefile.in (BMAKE_VERSION): bump version to 20081030 3834 pick up man page tweaks. 3835 38362008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 3837 3838 * Makefile.in: move processing of LIBOBJS to after is definition! 3839 thus we'll have getenv.c in SRCS only if needed. 3840 3841 * make.1: add examples of how to use :? 3842 3843 * Makefile.in (BMAKE_VERSION): bump version to 20081029 3844 * Merge with NetBSD make, pick up: 3845 o fix for .END processing with -j 3846 o segfault from Parse_Error when no makefile is open 3847 o handle numeric expressions in any variable expansion 3848 o debug output now defaults to stderr, -dF to change it - apb 3849 o make now uses bmake_malloc etc so that it can build natively 3850 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 3851 38522008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 3853 3854 * Makefile.in (BMAKE_VERSION): bump version to 20080808 3855 * Merge with NetBSD make, pick up: 3856 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 3857 long lines in Makefiles 3858 o optimizations for VarQuote by joerg 3859 o fix for PR/38756: dominik: make dumps core on invalid makefile 3860 38612008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 3862 3863 * Makefile.in (BMAKE_VERSION): bump version to 20080515 3864 * Merge with NetBSD make, pick up: 3865 o fix skip setting vars in VAR_GLOBAL context, to handle 3866 cases where VAR_CMD is used for other than command line vars. 3867 38682008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 3869 3870 * boot-strap (make_version): we may need to look in 3871 $prefix/share/mk for sys.mk 3872 3873 * Makefile.in (BMAKE_VERSION): bump version to 20080514 3874 * Merge with NetBSD make, pick up: 3875 o skip setting vars in VAR_GLOBAL context, when already set in 3876 VAR_CMD which takes precedence. 3877 38782008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 3879 3880 * Makefile.in (BMAKE_VERSION): bump version to 20080330 3881 * Merge with NetBSD make, pick up: 3882 o fix for ?= when LHS contains variable reference. 3883 38842008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 3885 3886 * merge some patches from NetBSD pkgsrc. 3887 3888 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 3889 the MAKSYSPATH used during bootstrap. 3890 3891 * Makefile.in (BMAKE_VERSION): bump version to 20080215 3892 * Merge with NetBSD make, pick up: 3893 o warn if non-space chars follow 'empty' in a conditional. 3894 38952008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 3896 3897 * Makefile.in (BMAKE_VERSION): bump version to 20080118 3898 * Merge with NetBSD make, pick up: 3899 o consider dependencies read from .depend as optional - dsl 3900 o remember when buffer for reading makefile grows - dsl 3901 o add -dl (aka LOUD) - David O'Brien 3902 39032007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 3904 3905 * Makefile.in (BMAKE_VERSION): bump version to 20071022 3906 * Merge with NetBSD make, pick up: 3907 o Allow .PATH<suffix> to be used for .include "" 3908 3909 * boot-strap: source default settings from .bmake-boot-strap.rc 3910 39112007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 3912 3913 * Makefile.in: fix maninstall on various systems 3914 provided that our man.mk is used. 3915 For non-BSD systems we install the preformatted page 3916 into $MANDIR/cat1 3917 39182007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 3919 3920 * boot-strap: make bmake.1 too, so maninstall works. 3921 39222007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 3923 3924 * Makefile.in (BMAKE_VERSION): bump version to 20071014 3925 * Merge with NetBSD make, pick up: 3926 o revamped handling of defshell - configure no longer needs to 3927 know the content of the shells array - apb 3928 o stop Var_Subst modifying its input - apb 3929 o avoid calling ParseTrackInput too often - dsl 3930 39312007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 3932 3933 * Makefile.in (BMAKE_VERSION): bump version to 20071011 3934 * Merge with NetBSD make, pick up: 3935 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 3936 3937 * sigcompat.c: some tweaks for HP-UX 11.x based on 3938 patch from Tobias Nygren 3939 3940 * configure.in: update handling of --with-defshell to match 3941 new make behavior. --with-defshell=/usr/xpg4/bin/sh 3942 will now do what one might hope - provided the chosen shell 3943 behaves enough like sh. 3944 39452007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 3946 3947 * Makefile.in (BMAKE_VERSION): bump to 20071008 3948 * Merge with NetBSD make, pick up: 3949 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 3950 o .export/.MAKE.EXPORTED - export of variables - sjg 3951 o .MAKE.MAKEFILES - track all makefiles read - sjg 3952 o performance improvements - dsl 3953 o revamp parallel job scheduling - dsl 3954 39552006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 3956 3957 * Makefile.in (BMAKE_VERSION): bump to 20060728 3958 * Merge with NetBSD make, pick up: 3959 o extra debug info during variable and cond processing - sjg 3960 o shell definition now covers newline - rillig 3961 o minor mem leak in PrintOnError - sjg 3962 39632006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 3964 3965 * Makefile.in (BMAKE_VERSION): bump to 20060511 3966 * Merge with NetBSD make, pick up: 3967 o more memory leaks - coverity 3968 o possible overflow in ArchFindMember - coverity 3969 o extract variable modifier code out of Var_Parse() 3970 so it can be called recursively - sjg 3971 o unit-tests/moderrs - sjg 3972 39732006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 3974 3975 * Makefile.in (BMAKE_VERSION): bump to 20060412 3976 * Merge with NetBSD make, pick up: 3977 o fixes for some memory leaks - coverity 3978 o only read first sys.mk etc when searching sysIncPath - sjg 3979 3980 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 3981 setting ${MAKEFILE} - OBATA Akio 3982 39832006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 3984 3985 * Makefile.in (BMAKE_VERSION): bump to 20060318 3986 * Merge with NetBSD make, pick up: 3987 o cleanup of job.c to remove remote handling, distcc is more 3988 useful and this code was likely bit-rotting - dsl 3989 o fix for :P modifier - sjg 3990 * boot-strap: set default prefix to something reasonable 3991 (for me anyway). 3992 39932006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 3994 3995 * Makefile.in (BMAKE_VERSION): bump to 20060301 3996 * Merge with NetBSD make, pick up: 3997 o make .WAIT apply recursively, document and test case - apb 3998 o allow variable modifiers in a variable appear anywhere in 3999 modifier list, document and test case - sjg 4000 40012006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 4002 4003 * Makefile.in (BMAKE_VERSION): bump to 20060222 4004 * Merge with NetBSD make, pick up: 4005 o improved job token handling - dsl 4006 o SIG_DFL the correct signal before exec - dsl 4007 o more debug info during parsing - dsl 4008 o allow variable modifiers to be specified via variable - sjg 4009 * boot-strap: explain why we died if no mksrc 4010 40112005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 4012 4013 * Makefile.in (BMAKE_VERSION): bump to 20051105 4014 * configure.in: always set default_sys_path 4015 default is ${prefix}/share/mk 4016 - remove prefix_sys_path, anyone wanting more than above 4017 needs to set it manually. 4018 40192005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 4020 4021 * boot-strap: make this a bit easier for pkgsrc folk. 4022 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 4023 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 4024 40252005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 4026 4027 * Makefile.in (BMAKE_VERSION): bump to 20051102 4028 * job.c (JobFinish): fix likely ancient merge lossage 4029 fix from Todd Vierling. 4030 * boot-strap (srcdir): allow setting mksrc=none 4031 40322005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 4033 4034 * Makefile.in (BMAKE_VERSION): bump to 20051031 4035 * ranlib.h: skip on OSF too. 4036 (NetBSD PR 31864) 4037 40382005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 4039 4040 * Makefile.in (BMAKE_VERSION): bump to 20051002 4041 fix a silly typo 4042 40432005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 4044 4045 * Makefile.in (BMAKE_VERSION): bump to 20051001 4046 support for UnixWare and some other systems, 4047 based on patches from pkgsrc/bootstrap 4048 40492005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 4050 4051 * Makefile.in (BMAKE_VERSION): bump to 20050901 4052 * Merge with NetBSD make, pick up: 4053 o possible parse error causing us to wander off. 4054 40552005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 4056 4057 * Makefile.in (BMAKE_VERSION): bump to 20050606 4058 * Merge with NetBSD make, pick up: 4059 o :0x modifier for randomizing a list 4060 o fixes for a number of -Wuninitialized issues. 4061 40622005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 4063 4064 * Makefile.in (BMAKE_VERSION): bump to 20050530 4065 * Merge with NetBSD make, pick up: 4066 o Handle dependencies for .BEGIN, .END and .INTERRUPT 4067 4068 * README: was seriously out of date. 4069 40702005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 4071 4072 * Important to use .MAKE rather than MAKE. 4073 40742005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 4075 4076 * Makefile.in (BMAKE_VERSION): bump to 20050315 4077 * Merge with NetBSD make, pick up: 4078 o don't mistake .elsefoo for .else 4079 o use suffix-specific search path correctly 4080 o bunch of style nits 4081 40822004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 4083 4084 * boot-strap: 4085 o ensure that args to --src and --with-mksrc 4086 are resolved before giving them to configure. 4087 o add -o "objdir" so that builder can control it, 4088 default is $OS as determined by os.sh 4089 o add -q to suppress all the install instructions. 4090 40912004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 4092 4093 * Remove __IDSTRING() 4094 4095 * Makefile.in (BMAKE_VERSION): bump to 20040508 4096 * Merge with NetBSD make, pick up: 4097 o posix fixes 4098 - remove '-e' from compat mode 4099 - add support for '+' command-line prefix. 4100 o fix for handling '--' on command-line. 4101 o fix include in lst.lib/lstInt.h to simplify '-I's 4102 o we also picked up replacement of MAKE_BOOTSTRAP 4103 with !MAKE_NATIVE which is a noop, but possibly confusing. 4104 41052004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 4106 4107 * Makefile.in (BMAKE_VERSION): bump to 20040414 4108 * Merge with NetBSD make, pick up: 4109 o allow quoted strings on lhs of conditionals 4110 o issue warning when extra .else is seen 4111 o print line numer when errors encountered during parsing from 4112 string. 4113 41142004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 4115 4116 * Makefile.in (BMAKE_VERSION): bump to 20040220 4117 * Merge with NetBSD make, pick up: 4118 o fix for old :M parsing bug. 4119 o re-jigged unit-tests 4120 41212004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 4122 4123 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 4124 so that './bmake -f Makefile test' works. 4125 41262004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 4127 4128 * Makefile.in: (BMAKE_VERSION): bump to 20040214 4129 * Merge with NetBSD make, pick up: 4130 o search upwards for *.mk 4131 o fix for double free of var substitution buffers 4132 o use of getopt replaced with custom code, since the usage 4133 (re-scanning) isn't posix compatible. 4134 41352004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 4136 4137 * arch.c: don't include ranlib.h on ELF systems 4138 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 4139 41402004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 4141 4142 * Makefile.in (BMAKE_VERSION): bump to 20040118 4143 4144 * boot-strap (while): export vars we assign to on cmdline 4145 * unit-test/Makefile.in: ternary is .PHONY 4146 41472004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 4148 4149 * Makefile.in (BMAKE_VERSION): bump version to 20040108 4150 * Merge with NetBSD make, pick up: 4151 o fix for ternary modifier 4152 41532004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 4154 4155 * Makefile.in (BMAKE_VERSION): bump version to 20040105 4156 * Merge with NetBSD make, pick up: 4157 o fix for cond.c to handle compound expressions better 4158 o variable expansion within sysV style replacements 4159 41602003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 4161 4162 * Make portable snprintf safer - output to /dev/null first to 4163 check space needed. 4164 4165 * Makefile.in (BMAKE_VERSION): bump version to 20031222 4166 * Merge with NetBSD make, pick up: 4167 o -dg3 to show input graph when things go wrong. 4168 o explicitly look for makefiles in objdir if not found in curdir so 4169 that errors in .depend etc will be reported accurarely. 4170 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 4171 instead as it more accurately reflects the expected behavior and 4172 is more consistently implemented. 4173 o avoid use of asprintf. 4174 41752003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 4176 4177 * util.c: Add asprintf and vasprintf. 4178 4179 * Makefile.in (BMAKE_VERSION): bump version to 20030928 4180 * Merge with NetBSD make, pick up: 4181 :[] modifier - allows picking words from a variable. 4182 :tW modifier - allows treating value as one big word. 4183 W flag for :C and :S - allows treating value as one big word. 4184 41852003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 4186 4187 * Merge with NetBSD make 4188 pick up -de flag to enable printing failed command. 4189 don't skip 1st two dir entries (normally . and ..) since 4190 coda does not have them. 4191 41922003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 4193 4194 * Makefile.in (BMAKE_VERSION): bump version to 20030909 4195 * Merge with NetBSD make, pick up: 4196 - changes for -V '${VAR}' to print fully expanded value 4197 cf. -V VAR 4198 - CompatRunCommand now prints the command that failed. 4199 - several files got updated 3 clause Berkeley license. 4200 42012003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 4202 4203 * boot-strap: Allow setting configure args on command line. 4204 42052003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 4206 4207 * configure.in: add --with-defshell to allow sh or ksh 4208 to be selected as default shell. 4209 4210 * Makefile.in: bump version to 20030731 4211 4212 * Merge with NetBSD make 4213 Pick up .SHELL spec for ksh and associate man page changes. 4214 Also compat mode now uses the same shell specs. 4215 42162003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 4217 4218 * var.c (Var_Parse): ensure delim is initialized. 4219 4220 * unit-tests/Makefile.in: use single quotes to avoid problems from 4221 some shells. 4222 4223 * makefile.boot.in: 4224 Run the unit-tests as part of the bootstrap procedure. 4225 42262003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 4227 4228 * unit-tests/Makefile.in: always force complaints from 4229 ${TEST_MAKE} to be from 'make'. 4230 4231 * configure.in: add check for 'diff -u' 4232 also fix some old autoconf'isms 4233 4234 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 4235 if using GCC add -Wno-cast-qual to CFLAGS for var.o 4236 4237 * Merge with NetBSD make 4238 Pick up fix for :ts parsing error in some cases. 4239 Pick unit-tests. 4240 42412003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 4242 4243 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 4244 4245 * var.c (Var_Parse): fix bug in :ts modifier, after const 4246 correctness fixes, must pass nstr to VarModify. 4247 42482003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 4249 4250 * Makefile.in: BMAKE_VERSION switch to a date based version. 4251 We'll generally use the date of last import from NetBSD. 4252 4253 * Merge with NetBSD make 4254 Pick up fixes for const-correctness, now passes WARNS=3 on 4255 NetBSD. 4256 Pick up :ts modifier, allows controlling the separator used 4257 between words in variable expansion. 4258 42592003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 4260 4261 * FILES: include boot-strap and os.sh 4262 4263 * Makefile.in: only set WARNS if we are NetBSD, the effect on 4264 FreeBSD is known to be bad. 4265 4266 * makefile.boot.in (bootstrap): make this the default target. 4267 4268 * Makefile.in: bump version to 3.1.19 4269 4270 * machine.sh: avoid A-Z with tr as it is bound to lose. 4271 42722003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 4273 4274 * Merge with NetBSD make 4275 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 4276 Plus some doc fixes. 4277 42782003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 4279 4280 * Merge with NetBSD make 4281 Pick up fix for PR/1523 - don't count a library as built, if there 4282 is no way to build it 4283 4284 * Bump version to 3.1.18 4285 42862003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 4287 4288 * Merge with NetBSD make 4289 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 4290 appears in src list. 4291 42922003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 4293 4294 * Merge with NetBSD make (mmm 10th anniversary!) 4295 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 4296 pick up -X which tells us to not export VAR=val via setenv if 4297 we are already doing so via MAKEFLAGS. This saves valuable env 4298 space on systems like Darwin. 4299 set MAKE_VERSION to 3.1.17 4300 4301 * parse.c: pix up fix for suffix rules 4302 43032003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 4304 4305 * Merge with NetBSD make. 4306 pick up fix for propagating -B via MAKEFLAGS. 4307 set MAKE_VERSION to 3.1.16 4308 4309 * Apply some patches from pkgsrc-bootstrap/bmake 4310 Originally by Grant Beattie <grant@netbsd.org> 4311 I may have missed some - since they are based on bmake-3.1.12 4312 43132002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 4314 4315 * makefile.boot.in (bmake): update install targets for those that 4316 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 4317 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 4318 4319 * bmake.cat1: update the pre-formatted man page! 4320 43212002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 4322 4323 * Merge with NetBSD make. 4324 pick up fix for premature free of pointer used in call 4325 to Dir_InitCur(). 4326 set MAKE_VERSION to 3.1.15 4327 43282002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 4329 4330 * configure.in: determine suitable value for MKSRC. 4331 override using --with-mksrc=PATH. 4332 4333 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 4334 configs(8) will use 'sun4' as an alias for 'sparc'. 4335 43362002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 4337 4338 * Merge with NetBSD make. 4339 pick up ${.PATH} 4340 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 4341 set MAKE_VERSION to 3.1.14 4342 add configure checks for killpg and sys/socket.h 4343 43442002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 4345 4346 * tag bmake-3-1-13 4347 4348 * makefile.boot.in (bmake): use install-mk 4349 Also setup ./mk before trying to invoke bmake.boot incase we 4350 needed install-mk to create a sys.mk for us. 4351 4352 * configure.in: If we need to add -I${srcdir}/missing, make it an 4353 absolute path so that it works for lst.lib too. 4354 4355 * make.h: always include sys/cdefs.h since we provide one if the 4356 host does not. 4357 4358 * Makefile.in (install-mk): 4359 use MKSRC/install-mk which will do the right thing. 4360 use uname -p for ARCH if possible. 4361 since install-mk will setup links bsd.prog.mk -> prog.mk if 4362 needed, just .include bsd.prog.mk 4363 4364 * Merge with NetBSD make (NetBSD-1.6) 4365 Code is ansi-C only now. 4366 Bug in handling of dotLast is fixed. 4367 Can now assign .OBJDIR and make will reset its notions of life. 4368 New modifiers :tu :tl for toUpper and toLower. 4369 4370Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 4371 4372 * Merge with NetBSD make 4373 pick up fix for .END failure in compat mode. 4374 pick up fix for extra va_end() in ParseVErrorInternal. 4375 4376Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 4377 4378 * configure.in: for systems that have sys/cdefs.h check if it is 4379 compatible. If not, include the one under missing, but tell it to 4380 include the native one too - necessary on Linux. 4381 4382 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 4383 include_next (for gcc) to get the native sys/cdefs.h 4384 4385Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4386 4387 * job.c (JobFinish): Fix an earlier merge bug that resulted in 4388 leaking descriptors when using -jN. 4389 4390 * job.c (JobPrintCommand): See if "curdir" exists before 4391 attempting to chdir(). Doing the chdir directly in make (when in 4392 compat mode) fails silently, so let the -jN version do the same. 4393 This can happen when building kernels in an object tree and 4394 playing clever games to reset .CURDIR. 4395 4396 * Merged with NetBSD make 4397 pick up .USEBEFORE 4398 4399Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4400 4401 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 4402 4403Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4404 4405 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 4406 us not to export the iterator variable when using VAR_CMD context. 4407 4408Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4409 4410 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 4411 its the wrong "fix". 4412 4413Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4414 4415 * Redesigned export of VAR_CMD's via MAKEFLAGS. 4416 We now simply append the variable names to .MAKEOVERRIDES, and 4417 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 4418 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 4419 Apart from fixing quoting bugs in previous version, this allows us 4420 to export vars to the environment by simply doing: 4421 .MAKEOVERRIDES+= PATH 4422 Merged again with NetBSD make, but the above is the only change. 4423 4424 * configure.in: added 4425 --disable-pwd-override disable $PWD overriding getcwd() 4426 --disable-check-make-chdir disable make trying to guess 4427 when it should automatically cd ${.CURDIR} 4428 4429 * Merge with NetBSD make, changes include: 4430 parse.c (ParseDoDependency): Spot that the syntax error is 4431 caused by an unresolved cvs/rcs conflict and say so. 4432 var.c: most of Var* functions now take a ctxt as 1st arg. 4433 now does variable substituion on rhs of sysv style modifiers. 4434 4435 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 4436 is now done here. We append the name='value' to .MAKEOVERRIDES 4437 rather than directly into MAKEFLAGS as this allows a Makefile to 4438 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 4439 very similar mechanism. Note that in adding name='value' to 4440 .MAKEOVERRIDES we do the moral equivalent of: 4441 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 4442 4443Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4444 4445 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 4446 4447 * Merged with NetBSD make 4448 make -dx can now be used to run commands via sh -x 4449 better error messages on exec failures. 4450 4451Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4452 4453 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 4454 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 4455 MACHINE etc otherwise they propagate from the previous bmake. 4456 4457 * configure.in (machine): allow --with-machine=generic to make 4458 configure use machine.sh to set MACHINE. 4459 4460 * job.c (JobInterrupt): convert to using WAIT_T and friends. 4461 4462 * Makefile.in: mention in bmake.1 that we use autoconf. 4463 4464 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 4465 4466Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4467 4468 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 4469 as that rather defeats the usefulness of ${MAKEFILE}. 4470 4471 * main.c (MainParseArgs): append command line variable assignments 4472 to MAKEFLAGS so that they get propagated to child make's. 4473 Apparently this is required POSIX behaviour? Its useful anyway. 4474 4475Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4476 4477 * compat.c (CompatRunCommand): don't use perror() since stdio may 4478 cause problems in child of vfork(). 4479 4480 * compat.c, main.c: Call PrintOnError() when we are going to bail. 4481 This routine prints out the .curdir where we stopped and will also 4482 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 4483 4484 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 4485 :@ expansion. 4486 4487 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 4488 4489 * Added RCSid's for the files we've touched. 4490 4491Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4492 4493 * configure.in: Thanks to some clues from mdb@juniper.net, 4494 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 4495 as well as what ends up in _PATH_DEFSYSPATH. We now have: 4496 4497 --with-machine=MACHINE explicitly set MACHINE 4498 --with-force-machine=MACHINE set FORCE_MACHINE 4499 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 4500 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 4501 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 4502 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 4503 4504 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 4505 4506 * makefile: added a pathetically simple makefile to drive 4507 bootstrapping. Running configure by hand is more useful. 4508 4509 * Makefile.in: added MAKE_VERSION, and reworked things to be less 4510 dependent on NetBSD bsd.*.mk 4511 4512 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 4513 _PATH_OBJDIRPREFIX for those that don't want a default. 4514 construct _PATH_DEFSYSPATH from the info we get from configure. 4515 4516 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 4517 if MAKE_VERSION is defined. 4518 4519 * compat.c: when we bail, print out the .CURDIR we were in. 4520 4521Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4522 4523 * Merged with NetBSD make 4524 4525 * var.c: fixed a bug in the handling of the modifier :P 4526 if the node as found but the path was null, we segfault trying to 4527 duplicate it. 4528 4529Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 4530 4531 * Merged with NetBSD make 4532 4533 * make.c: Make_OODate's test for a library out of date was using 4534 cmtime where it should have used mtime (my bug). 4535 4536 * compat.c: Use perror() to tell us what really went wrong when we 4537 cannot exec a command. 4538 4539Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 4540 4541 * Merged with NetBSD make 4542 4543Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 4544 4545 * Merged with NetBSD make 4546 4547Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 4548 4549 * Merged with NetBSD make 4550 4551Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 4552 4553 * Merged with NetBSD make 4554 4555Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 4556 4557 * util.c: don't provide signal() since we use sigcompat.c 4558 4559 * Makefile.in: added a build target. 4560 4561 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 4562 These allow some quite clever magic. 4563 4564 * main.c (main): added support for getenv(MAKESYSPATH). 4565 4566Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 4567 4568 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 4569 This avoids objdir having a different value depending on how a 4570 directory was reached (via command line, or subdir.mk). 4571 4572 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 4573 4574Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 4575 4576 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 4577 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 4578 I've been testing this in NetBSD's make for some weeks. 4579 4580 * Turn Makefile into Makefile.in and make it useful. 4581 4582Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 4583 4584 * Imported NetBSD's -current make(1) and resolve conflicts. 4585 4586 * Applied autoconf patches from bmake v2 4587 4588 * Imported clean code base from NetBSD-1.0 4589