12020-09-02 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * VERSION (_MAKE_VERSION): 20200902 4 Merge with NetBSD make, pick up 5 o use make_stat to ensure no confusion over valid fields 6 returned by cached_stat 7 o var.c: make VarQuote const-correct 8 o add unit tests for .for 9 102020-09-01 Simon J Gerraty <sjg@beast.crufty.net> 11 12 * VERSION (_MAKE_VERSION): 20200901 13 Merge with NetBSD make, pick up 14 o rename Hash_Table fields 15 o make data types in Dir_HasWildcards more precise 16 172020-08-31 Simon J Gerraty <sjg@beast.crufty.net> 18 19 * VERSION (_MAKE_VERSION): 20200831 20 Merge with NetBSD make, pick up 21 o suff.c: fix unbalanced Lst_Open/Lst_Close in SuffFindCmds 22 o lst.c: Lst_Open renable assert that list isn't open 23 o unit test for .TARGET dependent flags 24 o var.c: fix aliasing bug in VarUniq 25 o more unit tests for :u 26 272020-08-30 Simon J Gerraty <sjg@beast.crufty.net> 28 29 * VERSION (_MAKE_VERSION): 20200830 30 Merge with NetBSD make, pick up 31 o allow for strict type checking for Boolean 32 o Var_Parse never returns NULL 33 o Var_Subst never returns NULL 34 o Lst_Find now takes boolean match function 35 o rename Lst_Memeber to Lst_FindDatum 36 o rename LstNode functions to match their type 37 o rename GNode.iParents to implicitParents 38 o fix assertion failure for .SUFFIXES in archives 39 o compat.c: clean up documentation for CompatInterrupt and Compat_Run 40 remove unreachable code from CompatRunCommand 41 o main.c: simplify getBoolean 42 o stc.c: replace brk_string with simpler Str_Words 43 o suff.c: add debug macros 44 452020-08-28 Simon J Gerraty <sjg@beast.crufty.net> 46 47 * VERSION (_MAKE_VERSION): 20200828 48 Merge with NetBSD make, pick up 49 o lst.c: inline LstIsValid and LstNodeIsValid 50 o remove trailing S from Lst function names after migration complete 51 o more comment cleanup/clarification 52 o suff.c: clean up suffix handling 53 o more unit tests 54 552020-08-26 Simon J Gerraty <sjg@beast.crufty.net> 56 57 * VERSION (_MAKE_VERSION): 20200826 58 Merge with NetBSD make, pick up 59 o enum.c: distinguish between bitsets containing flags and 60 ordinary enums 61 o var.c: fix error message for ::!= modifier with shell error 62 o fix bugs in -DCLEANUP mode 63 642020-08-24 Simon J Gerraty <sjg@beast.crufty.net> 65 66 * VERSION (_MAKE_VERSION): 20200824 67 Merge with NetBSD make, pick up 68 o in debug mode, print GNode details in symbols 69 702020-08-23 Simon J Gerraty <sjg@beast.crufty.net> 71 72 * VERSION (_MAKE_VERSION): 20200823 73 Merge with NetBSD make, pick up 74 o lst.c: more asserts, 75 make args to Lst_Find match others. 76 o var.c: pass flags to VarAdd 77 o arch.c: use Buffer 78 o str.c: brk_string return size_t for nwords 79 o more unit tests 80 812020-08-22 Simon J Gerraty <sjg@beast.crufty.net> 82 83 * VERSION (_MAKE_VERSION): 84 Merge with NetBSD make, pick up 85 o var.c: support for read-only variables eg .SHELL 86 being the shell used to run scripts. 87 o lst.c: more simplification 88 o more documentation and style cleanup 89 o more unit tests 90 o ensure unit-test/Makefile is run by TEST_MAKE 91 o reduce duplication of header inclusion 92 932020-08-21 Simon J Gerraty <sjg@beast.crufty.net> 94 95 * VERSION (_MAKE_VERSION): 20200821 96 Merge with NetBSD make, pick up 97 o lst.c: revert invalid assertion - but document it 98 o dir.c: split Dir_Init into two functions 99 1002020-08-20 Simon J Gerraty <sjg@beast.crufty.net> 101 102 * lst.c: needs inttypes.h on Linux 103 104 * VERSION (_MAKE_VERSION): 20200820 105 Merge with NetBSD make, pick up 106 o make.1: clarify some passages 107 o var.c: more cleanup, clarify comments 108 o make_malloc.c: remove unreachable code 109 o cond.c: make CondGetString easier to debug 110 o simplify list usage 111 o unit-tests: more 112 1132020-08-16 Simon J Gerraty <sjg@beast.crufty.net> 114 115 * VERSION (_MAKE_VERSION): 20200816 116 Merge with NetBSD make, pick up 117 o refactor unit-tests to be more fine grained 118 not all tests moved yet 119 1202020-08-14 Simon J Gerraty <sjg@beast.crufty.net> 121 122 * VERSION (_MAKE_VERSION): 20200814 123 Merge with NetBSD make, pick up 124 o more str_concat variants 125 o more enums for flags 126 o var.c: cleanup for higher warnings level 127 1282020-08-10 Simon J Gerraty <sjg@beast.crufty.net> 129 130 * VERSION (_MAKE_VERSION): 20200810 131 Merge with NetBSD make, pick up 132 o more unit tests 133 o general comment and style cleanup 134 1352020-08-08 Simon J Gerraty <sjg@beast.crufty.net> 136 137 * VERSION (_MAKE_VERSION): 20200808 138 Merge with NetBSD make, pick up 139 o enum.[ch]: streamline, enums for use in flags and debug output 140 o cond.c: cleanup 141 o var.c: reduce duplicate code for modifiers 142 debug logging for Var_Parse 143 more detailed debug output 144 o more unit tests 145 1462020-08-06 Simon J Gerraty <sjg@beast.crufty.net> 147 148 * unit-tests/Makefile: -r for recursive and include Makefile.inc 149 so I can run tests in meta mode 150 supress extra noise if in meta mode 151 152 * VERSION (_MAKE_VERSION): 20200806 153 Merge with NetBSD make, pick up 154 o parse.c: remove VARE_WANTRES for LINT 155 we just want to check parsing (for now). 156 1572020-08-05 Simon J Gerraty <sjg@beast.crufty.net> 158 159 * VERSION (_MAKE_VERSION): 20200805 160 Merge with NetBSD make, pick up 161 o make.1: Rework the description of dependence operators 162 1632020-08-03 Simon J Gerraty <sjg@beast.crufty.net> 164 165 * VERSION (_MAKE_VERSION): 20200803 166 Merge with NetBSD make, pick up 167 o revert some C99 usage, for max portability 168 o unit-tests/lint 169 1702020-08-02 Simon J Gerraty <sjg@beast.crufty.net> 171 172 * VERSION (_MAKE_VERSION): 20200802 173 Merge with NetBSD make, pick up 174 o more unit tests 175 1762020-08-01 Simon J Gerraty <sjg@beast.crufty.net> 177 178 * Remove NetBSD specific plumbing from unit-tests/Makefile 179 180 * VERSION (_MAKE_VERSION): 20200801 181 Merge with NetBSD make, pick up 182 o make Var_Value return const 183 o size_t for buf sizes 184 o optimize some buffer operations - avoid strlen 185 1862020-07-31 Simon J Gerraty <sjg@beast.crufty.net> 187 188 * VERSION (_MAKE_VERSION): 20200731 189 Merge with NetBSD make, pick up 190 o var.c: fix undefinded behavior for incomplete :t modifier 191 fixes unit-test/moderrs on Ubuntu 192 o parse.c: When parsing variable assignments other than := 193 if DEBUG(LINT) test substition of value, so we get a file and 194 line number in the resulting error. 195 o dir.c: fix parsing of nested braces in dependency lines 196 add unit-tests 197 1982020-07-30 Simon J Gerraty <sjg@beast.crufty.net> 199 200 * VERSION (_MAKE_VERSION): 20200730 201 Merge with NetBSD make, pick up 202 o var.c: minor cleanup 203 o unit-tests: more tests to improve code coverage 204 2052020-07-28 Simon J Gerraty <sjg@beast.crufty.net> 206 207 * VERSION (_MAKE_VERSION): 20200728 208 Merge with NetBSD make, pick up 209 o var.c: more optimizations 210 2112020-07-26 Simon J Gerraty <sjg@beast.crufty.net> 212 213 * VERSION (_MAKE_VERSION): 20200726 214 Merge with NetBSD make, pick up 215 o collapse lsd.lib into lst.c - reduce code size and allow inlining 216 o lots of function comment updates 217 o var.c: more optimizations 218 o make return of Var_Parse const 219 2202020-07-20 Simon J Gerraty <sjg@beast.crufty.net> 221 222 * VERSION (_MAKE_VERSION): 20200720 223 Merge with NetBSD make, pick up 224 o DEBUG_HASH report stats at end and tone down the noise 225 o var.c: each flag type gets its own prefix. 226 move SysV string matching to var.c 227 make ampersand in ${VAR:from=to&} an ordinary character 228 cleanup and simplify implementation of modifiers 229 o make.1: move documentation for assignment modifiers 230 2312020-07-18 Simon J Gerraty <sjg@beast.crufty.net> 232 233 * VERSION (_MAKE_VERSION): 20200718 234 Merge with NetBSD make, pick up 235 o DEBUG_HASH to see how well the hash tables are working 236 2372020-07-11 Simon J Gerraty <sjg@beast.crufty.net> 238 239 * bsd.after-import.mk: make sure we update unit-tests/Makefile 240 2412020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 242 243 * configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC 244 245 * VERSION (_MAKE_VERSION): 20200710 246 Merge with NetBSD make, pick up 247 o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall 248 o meta.c: target flagged .META is out-of-date if meta file missing 249 2502020-07-09 Simon J Gerraty <sjg@beast.crufty.net> 251 252 * VERSION (_MAKE_VERSION): 20200709 253 Merge with NetBSD make, pick up 254 o cond.c: fix for compare_expression when doEval=0 255 o unit-tests/Makefile: rework 256 o filemon/filemon_dev.c: ensure filemon fd is closed on exec. 257 2582020-07-04 Simon J Gerraty <sjg@beast.crufty.net> 259 260 * VERSION (_MAKE_VERSION): 20200704 261 Merge with NetBSD make, pick up 262 (most of this by rillig@) 263 o lots of style and white-space cleanup 264 o lots more unit tests for variable modifiers 265 o simplified description of some functions 266 o str.c: refactor Str_Match 267 o var.c: debugging output for :@ 268 constify VarModify parameter 269 fix :hash modifier on 16-bit platforms 270 remove unnecessary forward declarations 271 refactor ApplyModifier_SysV to have less indentation 272 simplify code for :E and :R 273 clean up code for :H and :T 274 refactor ApplyModifiers 275 276 * var.c: we need stdint.h on some platforms to get uint32_t 277 * unit-test/Makefile: we need to supress the specific error 278 for RE substitution error in modmisc, since it varies accross 279 different OS. 280 2812020-07-02 Simon J Gerraty <sjg@beast.crufty.net> 282 283 * VERSION (_MAKE_VERSION): 20200702 284 Merge with NetBSD make, pick up 285 o var.c: more improvements to avoiding unnecessary evaluation 286 use enums for flags 287 o remove flags arg to Var_Set which outside of var.c is always 0 288 2892020-07-01 Simon J Gerraty <sjg@beast.crufty.net> 290 291 * VERSION (_MAKE_VERSION): 20200701 292 Merge with NetBSD make, pick up 293 o var.c: with change to cond.c; ensure that nested variables 294 within a variable name are expanded. 295 o unit-tests/varmisc.mk: test for nested varname 296 2972020-06-29 Simon J Gerraty <sjg@beast.crufty.net> 298 299 * VERSION (_MAKE_VERSION): 20200629 300 Merge with NetBSD make, pick up 301 o cond.c: do not eval unnecessary terms of conditionals. 302 3032020-06-25 Simon J Gerraty <sjg@beast.crufty.net> 304 305 * VERSION (_MAKE_VERSION): 20200625 306 Merge with NetBSD make, pick up 307 o meta.c: report error if lseek in filemon_read fails 308 3092020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 310 311 * VERSION (_MAKE_VERSION): 20200622 312 Merge with NetBSD make, pick up 313 o dieQuietly: ignore OP_SUBMAKE as too aggressive 314 3152020-06-19 Simon J Gerraty <sjg@beast.crufty.net> 316 317 * VERSION (_MAKE_VERSION): 20200619 318 Merge with NetBSD make, pick up 319 o str.c: performance improvement for Str_Match for multiple '*' 320 o dieQuietly: supress the failure output from make 321 when failing node is a sub-make or a sibling failed. 322 This cuts down greatly on unhelpful noise at the end of 323 build log. Disabled by -dj or .MAKE.DIE_QUIETLY=no 324 3252020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 326 327 * FILES: add LICENSE to appease some packagers. 328 This is an attempt to fairly represent the license on almost 329 200 files, which are almost all BSD-3-Clause 330 The few exceptions being more liberal. 331 332 * VERSION (_MAKE_VERSION): 20200610 333 Merge with NetBSD make, pick up 334 o unit test for :Or 335 3362020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 337 338 * VERSION (_MAKE_VERSION): 20200606 339 Merge with NetBSD make, pick up 340 o make.1: cleanup 341 342 * Makefile: fix depends for main.o which broke MAKE_VERSION 343 3442020-06-05 Simon J Gerraty <sjg@beast.crufty.net> 345 346 * VERSION (_MAKE_VERSION): 20200605 347 Merge with NetBSD make, pick up 348 o dir.c: cached_stats - don't confuse stat and lstat results. 349 o var.c: add :Or for reverse sort. 350 3512020-05-24 Simon J Gerraty <sjg@beast.crufty.net> 352 353 * configure.in: add AC_PROG_CC_C99 for mipspro compiler 354 also if --with-filemon= specifies path to filemon.h 355 set use_filemon=dev 356 * dirname.c: remove include of namespace.h 357 3582020-05-17 Simon J Gerraty <sjg@beast.crufty.net> 359 360 * VERSION (_MAKE_VERSION): 20200517 361 Merge with NetBSD make, pick up 362 o modified dollar tests to avoid shell dependencies 363 o new tests for .INCLUDEFROM 364 3652020-05-16 Simon J Gerraty <sjg@beast.crufty.net> 366 367 * unit-tests/dollar.mk: tweak '1 dollar literal' test 368 to not depend so much on shell behavior 369 3702020-05-10 Simon J Gerraty <sjg@beast.crufty.net> 371 372 * VERSION (_MAKE_VERSION): 20200510 373 Merge with NetBSD make, pick up 374 o unit test for dollar handling 375 3762020-05-06 Simon J Gerraty <sjg@beast.crufty.net> 377 378 * VERSION (_MAKE_VERSION): 20200506 379 Merge with NetBSD make, pick up 380 o str.c: empty string does not match % pattern 381 plus unit-test changes 382 3832020-05-04 Simon J Gerraty <sjg@beast.crufty.net> 384 385 * VERSION (_MAKE_VERSION): 20200504 386 May the 4th be with you 387 Merge with NetBSD make, pick up 388 o var.c: import handling of old sysV style modifier using '%' 389 o str.c: refactor brk_string 390 o unit-tests: add test case for lazy conditions 391 3922020-04-18 Simon J Gerraty <sjg@beast.crufty.net> 393 394 * VERSION (_MAKE_VERSION): 20200418 395 396 * configure.in: use_makefile=no for cygwin et al. 397 case insensitive filesystems just don't work if both 398 makefile and Makefile exist. 399 NOTE: bmake does not support cygwin and likely never will, 400 but if brave souls want to try it - help them out. 401 4022020-04-02 Simon J Gerraty <sjg@beast.crufty.net> 403 404 * VERSION (_MAKE_VERSION): 20200402 405 Merge with NetBSD make, pick up 406 o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD 407 a blank command is perfectly valid. 408 4092020-03-30 Simon J Gerraty <sjg@beast.crufty.net> 410 411 * VERSION (_MAKE_VERSION): 20200330 412 Merge with NetBSD make, pick up 413 o make.h: extern debug_file 414 4152020-03-18 Simon J Gerraty <sjg@beast.crufty.net> 416 417 * VERSION (_MAKE_VERSION): 20200318 418 Merge with NetBSD make, pick up 419 o meta.c: meta_oodate, check for corrupted meta file 420 earlier and more often. 421 4222020-02-20 Simon J Gerraty <sjg@beast.crufty.net> 423 424 * VERSION (_MAKE_VERSION): 20200220 425 4262020-02-19 Simon J Gerraty <sjg@beast.crufty.net> 427 428 * boot-strap: unset MAKEFLAGS 429 4302020-02-12 Simon J Gerraty <sjg@beast.crufty.net> 431 432 * VERSION (_MAKE_VERSION): 20200212 433 * meta.c: meta_compat_parent check for USE_FILEMON 434 patch from Soeren Tempel 435 4362020-02-05 Simon J Gerraty <sjg@beast.crufty.net> 437 438 * VERSION: 20200205 439 Merge with NetBSD make, pick up 440 o meta.c: fix compat mode, need to call meta_job_output() 441 o job.c: extra fds for meta mode not needed if using filemon_dev 442 4432020-01-22 Simon J Gerraty <sjg@beast.crufty.net> 444 445 * VERSION: 20200122 446 Merge with NetBSD make, pick up 447 o meta.c: avoid passing NULL to filemon_*() when meta_needed() 448 returns FALSE. 449 4502020-01-21 Simon J Gerraty <sjg@beast.crufty.net> 451 452 * VERSION: 20200121 453 Merge with NetBSD make, pick up 454 o filemon/filemon_{dev,ktrace}.c: allow selection of 455 filemon implementation. filemon_dev.c uses the kernel module 456 while filemon_ktrace.c leverages the fktrace api available in 457 NetBSD. filemon_ktrace.c can hopefully form the basis for 458 adding support for other tracing mechanisms such as strace on 459 Linux. 460 o meta.c: when target is out-of-date per normal make rules 461 record value of .OODATE in meta file. 462 4632019-09-26 Simon J Gerraty <sjg@beast.crufty.net> 464 465 * VERSION: 20190926 466 Merge with NetBSD make, pick up 467 o parse.c: don't pass NULL to realpath(3) 468 some versions cannot handle it. 469 4702019-04-09 Simon J Gerraty <sjg@beast.crufty.net> 471 472 * VERSION: 20190409 473 Merge with NetBSD make, pick up 474 o parse.c: ParseDoDependency: free paths rather than assert 475 4762018-12-22 Simon J Gerraty <sjg@beast.crufty.net> 477 478 * VERSION: 20181222 479 480 * configure.in: add --without-makefile to avoid generating 481 makefile and make-bootstrap.sh 482 483 * include Makefile.inc if it exists 484 485 * Use Makefile and Makefile.config.in in unit-tests 486 so we can use just: make obj && make && make test 487 when bmake is already available. 488 We add --without-makefile to CONFIGURE_ARGS in this case. 489 490 * tweak bsd.after-import.mk (captures Makefile.config etc 491 after import to FreeBSD for example) to cope with all the above. 492 4932018-12-21 Simon J Gerraty <sjg@beast.crufty.net> 494 495 * VERSION: 20181221 496 Merge with NetBSD make, pick up 497 o parse.c: ParseVErrorInternal use .PARSEDIR 498 and apply if relative, and then use .PARSEFILE 499 for consistent result. 500 5012018-12-20 Simon J Gerraty <sjg@beast.crufty.net> 502 503 * VERSION: 20181220 504 Merge with NetBSD make, pick up 505 o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR 506 is relative 507 o var.c: avoid SEGFAULT in .unexport-env 508 when MAKELEVEL is not set 509 5102018-12-16 Simon J Gerraty <sjg@beast.crufty.net> 511 512 * VERSION: 20181216 513 Merge with NetBSD make, pick up 514 o fix for unit-tests/varquote.mk on Debian 515 5162018-09-21 Simon J. Gerraty <sjg@bad.crufty.net> 517 518 * VERSION: 20180919 519 Merge with NetBSD make, pick up 520 o var.c: add :q 521 o dir.c: cleanup caching of stats 522 5232018-09-21 Simon J Gerraty <sjg@beast.crufty.net> 524 525 * Makefile.config.in: use += where it makes sense. 526 5272018-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 528 529 * VERSION: 20180512 530 Merge with NetBSD make, pick up 531 o job.c: skip polling job token pipe 532 5332018-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 534 535 * VERSION: 20180405 536 Merge with NetBSD make, pick up 537 o parse.c: be more cautious about detecting depenency line 538 rather than sysV style include. 539 5402018-02-22 Simon J. Gerraty <sjg@bad.crufty.net> 541 542 * VERSION: 20180222 543 Merge with NetBSD make, pick up 544 o parse.c: avoid calling sysconf for every call to loadfile 545 5462018-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 547 548 * VERSION: 20180218 549 Merge with NetBSD make, pick up 550 o var.c: Var_Set handle NULL value anytime. 551 5522018-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 553 554 * VERSION: 20180212 555 Merge with NetBSD make, pick up 556 o parse.c: do not treat .info as warning with -W 557 5582017-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 559 560 * VERSION: 20171207 561 Merge with NetBSD make, pick up 562 o var.c: Var_Append use Var_Set if var not previously set 563 so that VAR_CMD is handled correctly. 564 Add a suitable unit-test. 565 5662017-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 567 568 * VERSION (_MAKE_VERSION): 20171126 569 570 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__ 571 since AC_TRY_COMPILE puts input inside main() 572 which upsets modern compilers. 573 5742017-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 575 576 * VERSION: 20171118 577 Merge with NetBSD make, pick up 578 o var.c: do not append to variable set on command line 579 add unit-test to catch this. 580 5812017-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 582 583 * VERSION: 20171028 584 Merge with NetBSD make, pick up 585 o main.c: ignore empty MAKEOBJDIR 586 587 * Makefile.config.in: 588 make @prefix@ @machine*@ and @default_sys_path@ defaults. 589 5902017-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 591 592 * VERSION: 20171005 593 594 * unit-tests/dotwait.mk: redirect stderr through pipe for more 595 consistent result on some platforms. 596 5972017-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 598 599 * machine.sh: entry for AIX 600 6012017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 602 603 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION 604 to a file that can be included by configure as well as make. 605 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh 606 6072017-08-10 Simon J. Gerraty <sjg@bad.crufty.net> 608 609 * Makefile (_MAKE_VERSION): 20170810 610 Merge with NetBSD make, pick up 611 o meta.c: if target is in subdir we only need subdir name in 612 meta_name. 613 6142017-07-20 Simon J. Gerraty <sjg@bad.crufty.net> 615 616 * Makefile (_MAKE_VERSION): 20170720 617 Merge with NetBSD make, pick up 618 o compat.c: pass SIGINT etc onto child and wait for it to exit 619 before we self-terminate. 620 6212017-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 622 623 * Makefile (_MAKE_VERSION): 20170711 624 forgot to update after merge on 20170708 ;-) 625 o main.c: refactor to reduce size of main function. 626 add -v option to always fully expand values. 627 o meta.c: ensure command output in meta file has ending newline 628 even when filemon not being used. 629 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use 630 pathname via ':L' since any ':' in pathname breaks that. 631 Instead set a '${.p.}' to pathname in the target context and 632 use that. 633 6342017-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 635 636 * Makefile (_MAKE_VERSION): 20170510 637 Merge with NetBSD make, pick up 638 o main.c: Main_SetObjdir: ensure buf2 is in scope 639 6402017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 641 642 * Makefile (_MAKE_VERSION): 20170505 643 see mk/ChangeLog 644 6452017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 646 647 * parse.c: not everyone has stdint.h 648 6492017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 650 651 * Makefile (_MAKE_VERSION): 20170501 652 see mk/ChangeLog 653 6542017-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 655 656 * Makefile (_MAKE_VERSION): 20170421 657 Merge with NetBSD make, pick up 658 o str.c: Str_Match: fix closure tests for [^] and add unit-test. 659 6602017-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 661 662 * Makefile (_MAKE_VERSION): 20170420 663 Merge with NetBSD make, pick up 664 o main.c: only use -C arg "as is" if it contains no 665 relative component. 666 6672017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 668 669 * Makefile (_MAKE_VERSION): 20170418 670 Merge with NetBSD make, pick up 671 o main.c: fix Main_SetObjdir() for relative paths (eg obj). 672 6732017-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 674 675 * Makefile (_MAKE_VERSION): 20170417 676 Merge with NetBSD make, pick up 677 o fixes a number of coverity complaints 678 - check return value of fseek, fcntl 679 - plug memory leak in Dir_FindFile, Var_LoopExpand, 680 JobPrintCommand, ParseTraditionalInclude 681 - use bmake_malloc() where NULL is not tollerated 682 - use MAKE_ATTR_UNUSED rather that kludges like 683 return(unused ? 0 : 0) 684 - use purge_cached_realpaths() rather than abuse cached_realpath() 685 6862017-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 687 688 * Makefile (_MAKE_VERSION): 20170413 689 Merge with NetBSD make, pick up 690 o main.c: when setting .OBJDIR ignore '$' in paths. 691 692 * job.c: use MALLOC_OPTIONS to set malloc_options. 693 6942017-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 695 696 * Makefile (_MAKE_VERSION): 20170411 697 Merge with NetBSD make, pick up 698 o str.c: Str_Match: allow [^a-z] to behave as expected. 699 7002017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 701 702 * Makefile (_MAKE_VERSION): 20170326 703 Merge with NetBSD make, pick up 704 o main.c: purge relative paths from realpath cache when .OBJDIR 705 is changed. 706 7072017-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 708 709 * Makefile (_MAKE_VERSION): 20170311 710 Merge with NetBSD make, pick up 711 o main.c: only use -C arg "as is" if it starts with '/'. 712 7132017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 714 715 * Makefile (_MAKE_VERSION): 20170301 716 Merge with NetBSD make, pick up 717 o main.c: use -C arg "as is" rather than getcwd() 718 if they identify the same directory. 719 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case 720 7212017-02-01 Simon J. Gerraty <sjg@bad.crufty.net> 722 723 * Makefile (_MAKE_VERSION): 20170201 724 Merge with NetBSD make, pick up 725 o var.c: allow :_=var and avoid use of special context. 726 7272017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 728 729 * Makefile (_MAKE_VERSION): 20170130 730 Merge with NetBSD make, pick up 731 o var.c: add :range and :_ 732 o main.c: partially initialize Dir_* before MainParseArgs() 733 can be called. 734 If -V, skip Main_ExportMAKEFLAGS() 735 7362017-01-14 Simon J. Gerraty <sjg@bad.crufty.net> 737 738 * Makefile (_MAKE_VERSION): 20170114 739 Merge with NetBSD make, pick up 740 o var.c: allow specifying the utc value used by :{gm,local}time 741 7422016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 743 744 * Makefile (_MAKE_VERSION): 20161212 745 Merge with NetBSD make, pick up 746 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too. 747 7482016-12-09 Simon J. Gerraty <sjg@bad.crufty.net> 749 750 * Makefile (_MAKE_VERSION): 20161209 751 Merge with NetBSD make, pick up 752 o main.c: cleanup setting of .OBJDIR 753 o parse.c: avoid coredump from (var)=val 754 7552016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 756 757 * Makefile (_MAKE_VERSION): 20161126 758 Merge with NetBSD make, pick up 759 o make.c: Make_OODate: report src node name if path not set 760 7612016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 762 763 * Makefile (_MAKE_VERSION): 20160926 764 Merge with NetBSD make, pick up 765 o support for .DELETE_ON_ERROR: (remove targets that fail) 766 7672016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 768 769 * Makefile MAN: tweak .Dt to match ${PROG} 770 7712016-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 772 773 * Makefile (_MAKE_VERSION): 20160818 774 its a neater number; pick up whitespace fixes to man page. 775 7762016-08-17 Simon J. Gerraty <sjg@bad.crufty.net> 777 778 * Makefile (_MAKE_VERSION): 20160817 779 Merge with NetBSD make, pick up 780 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore() 781 so we can call it before adding entries to missingFiles. 782 Thus we do not track files we have been told to ignore. 783 7842016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 785 786 * Makefile (_MAKE_VERSION): 20160815 787 Merge with NetBSD make, pick up 788 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to 789 pathnames, and skip if the expansion is empty. 790 Useful for dirdeps.mk when checking DIRDEPS_CACHE. 791 7922016-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 793 794 * Makefile (_MAKE_VERSION): 20160812 795 Merge with NetBSD make, pick up 796 o meta.c: remove all missingFiles entries that match a deleted 797 dir. 798 o main.c: set .ERROR_CMD if possible. 799 8002016-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 801 802 * Makefile (_MAKE_VERSION): 20160606 803 Merge with NetBSD make, pick up 804 o dir.c: extend mtimes cache to others via cached_stat() 805 8062016-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 807 808 * Makefile (_MAKE_VERSION): 20160604 809 Merge with NetBSD make, pick up 810 o meta.c: missing filemon data is only relevant if we read a 811 meta file. 812 Also do not return oodate for a missing metafile if gn->path 813 points to .CURDIR 814 8152016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 816 817 * Makefile (_MAKE_VERSION): 20160602 818 Merge with NetBSD make, pick up 819 o cached_realpath(): avoid hitting filesystem more than necessary. 820 o meta.c: refactor need_meta decision, add knobs for 821 missing meta file and filemon data wrt out-of-datedness. 822 8232016-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 824 825 * Makefile (_MAKE_VERSION): 20160528 826 827 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 828 8292016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 830 831 * Makefile (_MAKE_VERSION): 20160512 832 Merge with NetBSD make, pick up 833 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS 834 this is useful for gcov builds. 835 o propagate errors from filemon(4). 836 8372016-05-09 Simon J. Gerraty <sjg@bad.crufty.net> 838 839 * Makefile (_MAKE_VERSION): 20160509 840 Merge with NetBSD make, pick up 841 o remove use of non-standard types u_int etc. 842 o meta.c: apply realpath() before matching against metaIgnorePaths 843 8442016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 845 846 * Makefile (_MAKE_VERSION): 20160404 847 Merge with NetBSD make, pick up 848 o allow makefile to set .MAKE.JOBS 849 850 * Makefile (PROG_NAME): use ${_MAKE_VERSION} 851 8522016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 853 854 * Makefile (_MAKE_VERSION): 20160315 855 Merge with NetBSD make, pick up 856 o fix handling of archive members 857 8582016-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 859 860 * Makefile (_MAKE_VERSION): rename variable to avoid interference 861 with checks for ${MAKE_VERSION} 862 8632016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 864 865 * Makefile (MAKE_VERSION): 20160310 866 Merge with NetBSD make, pick up 867 o meta.c: treat missing Read file same as Write, incase we Delete it. 868 8692016-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 870 871 * Makefile (MAKE_VERSION): 20160307 872 Merge with NetBSD make, pick up 873 o var.c: fix :ts\nnn to be octal by default. 874 o meta.c: meta_finish() to cleanup memory. 875 8762016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 877 878 * Makefile (MAKE_VERSION): 20160226 879 Merge with NetBSD make, pick up 880 o meta.c: allow meta file for makeDepend if makefiles want it. 881 8822016-02-19 Simon J. Gerraty <sjg@bad.crufty.net> 883 884 * var.c: default .MAKE.SAVE_DOLLARS to FALSE 885 for backwards compatability. 886 887 * Makefile (MAKE_VERSION): 20160220 888 Merge with NetBSD make, pick up 889 o var.c: add knob to control handling of '$$' in := 890 8912016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 892 893 * Makefile (MAKE_VERSION): 20160218 894 Merge with NetBSD make, pick up 895 o var.c: add .export-literal allows us to fix sys.clean-env.mk 896 post the changes to Var_Subst. 897 Var_Subst now takes flags, and does not consume '$$' in := 898 8992016-02-17 Simon J. Gerraty <sjg@bad.crufty.net> 900 901 * Makefile (MAKE_VERSION): 20160217 902 Merge with NetBSD make, pick up 903 o var.c: preserve '$$' in := 904 o parse.c: add .dinclude for handling included 905 makefile like .depend 906 9072015-12-20 Simon J. Gerraty <sjg@bad.crufty.net> 908 909 * Makefile (MAKE_VERSION): 20151220 910 Merge with NetBSD make, pick up 911 o suff.c: re-initialize suffNull when clearing suffixes. 912 9132015-12-01 Simon J. Gerraty <sjg@bad.crufty.net> 914 915 * Makefile (MAKE_VERSION): 20151201 916 Merge with NetBSD make, pick up 917 o cond.c: CondCvtArg: avoid access beyond end of empty buffer. 918 o meta.c: meta_oodate: use lstat(2) for checking link target 919 in case it is a symlink. 920 o var.c: avoid calling brk_string and Var_Export1 with empty 921 strings. 922 9232015-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 924 925 * Makefile (MAKE_VERSION): 20151126 926 Merge with NetBSD make, pick up 927 o parse.c: ParseTrackInput don't access beyond 928 end of old value. 929 9302015-10-22 Simon J. Gerraty <sjg@bad.crufty.net> 931 932 * Makefile (MAKE_VERSION): 20151022 933 934 * Add support for BSD/OS which lacks inttypes.h 935 and really needs sys/param.h for sys/sysctl.h 936 also 'type' is not a shell builtin. 937 938 * var.c: eliminate uint32_t and need for inttypes.h 939 940 * main.c: PrintOnError flush stdout before run .ERROR 941 942 * parse.c: cope with _SC_PAGESIZE not being defined. 943 944 9452015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 946 947 * Makefile (MAKE_VERSION): 20151020 948 Merge with NetBSD make, pick up 949 o var.c: fix uninitialized var 950 9512015-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 952 953 * var.c: the conditional expressions used with ':?' can be 954 expensive, if already discarding do not evaluate or expand 955 anything. 956 9572015-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 958 959 * Makefile (MAKE_VERSION): 20151010 960 Merge with NetBSD make, pick up 961 o Add Boolean wantit flag to Var_Subst and Var_Parse 962 when FALSE we know we are discarding the result and can 963 skip operations like Cmd_Exec. 964 9652015-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 966 967 * Makefile (MAKE_VERSION): 20151009 968 Merge with NetBSD make, pick up 969 o var.c: don't check for NULL before free() 970 o meta.c: meta_oodate, do not hard code ignore of makeDependfile 971 9722015-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 973 974 * Makefile (MAKE_VERSION): 20150910 975 Merge with NetBSD make, pick up 976 o main.c: with -w print Enter/Leaving messages for objdir too 977 if necessary. 978 o centralize shell metachar handling 979 980 * FILES: add metachar.[ch] 981 9822015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 983 984 * Makefile (MAKE_VERSION): 20150606 985 Merge with NetBSD make, pick up 986 o make.1: document .OBJDIR target 987 9882015-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 989 990 * Makefile (MAKE_VERSION): 20150505 991 Merge with NetBSD make, pick up 992 o cond.c: be strict about lhs of comparison when evaluating .if 993 but less so when called from variable expansion. 994 o unit-tests/cond2.mk: test various error conditions 995 9962015-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 997 998 * machine.sh (MACHINE): Add Bitrig 999 patch from joerg@netbsd.org 1000 10012015-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 1002 1003 * Makefile (MAKE_VERSION): 20150418 1004 Merge with NetBSD make, pick up 1005 o job.c: use memmove() rather than memcpy() 1006 1007 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL 1008 case, so skip it. 1009 10102015-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 1011 1012 * Makefile (MAKE_VERSION): 20150411 1013 bump version - only mk/ changes. 1014 10152015-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 1016 1017 * Makefile (MAKE_VERSION): 20150410 1018 Merge with NetBSD make, pick up 1019 o document different handling of '-' in jobs mode vs compat 1020 o fix jobs mode so that '-' only applies to whole job 1021 when shell lacks hasErrCtl 1022 o meta.c: use separate vars to track lcwd and latestdir (read) 1023 per process 1024 10252015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 1026 1027 * Makefile (MAKE_VERSION): 20150401 1028 Merge with NetBSD make, pick up 1029 o meta.c: close meta file in child 1030 1031 * Makefile: use BINDIR.bmake if set. 1032 Same for MANDIR and SHAREDIR 1033 Handy for testing release candidates 1034 in various environments. 1035 10362015-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 1037 1038 * move initialization of savederr to block where it is used 1039 to avoid spurious warning from gcc5 1040 10412014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1042 1043 * Makefile (MAKE_VERSION): 20141111 1044 just a cooler number 1045 10462014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 1047 1048 * Makefile (MAKE_VERSION): 20141105 1049 Merge with NetBSD make, pick up 1050 o revert major overhaul of suffix handling 1051 and POSIX compliance - too much breakage 1052 and impossible to make backwards compatible. 1053 o we still have the new unit test structure which is ok. 1054 o meta.c ensure "-- filemon" is at start of line. 1055 10562014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 1057 1058 * configure.in: test that result of getconf PATH_MAX is numeric 1059 and discard if not. Apparently needed for Hurd. 1060 10612014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 1062 1063 * Makefile (MAKE_VERSION): 20140830 1064 Merge with NetBSD make, pick up 1065 o major overhaul of suffix handling 1066 o improved POSIX compliance 1067 o overhauled unit-tests 1068 10692014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 1070 1071 * Makefile (MAKE_VERSION): 20140620 1072 Merge with NetBSD make, pick up 1073 o var.c return varNoError rather than var_Error for ::= modifiers. 1074 10752014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 1076 1077 * Makefile (MAKE_VERSION): 20140522 1078 Merge with NetBSD make, pick up 1079 o var.c detect some parse errors. 1080 10812014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 1082 1083 * Fix spelling errors - patch from Pedro Giffuni 1084 10852014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 1086 1087 * Makefile (MAKE_VERSION): 20140214 1088 Merge with NetBSD make, pick up 1089 o .INCLUDEFROM* 1090 o use Var_Value to get MAKEOBJDIR[PREFIX] 1091 o reduced realloc'ign in brk_string. 1092 * configure.in: add a check for compiler supporting __func__ 1093 10942014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 1095 1096 * boot-strap: ignore mksrc=none 1097 10982014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 1099 1100 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 1101 11022014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 1103 1104 * Makefile (MAKE_VERSION): 20140101 1105 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 1106 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 1107 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 1108 Hurd) 1109 * configure.in: Add AC_PREREQ and check for 1110 sysctl; patch from Andrew Shadura andrewsh at debian.org 1111 11122013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 1113 1114 * Makefile (MAKE_VERSION): 20131010 1115 * lose the const from arg to systcl to avoid problems on older BSDs. 1116 11172013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1118 1119 * Makefile (MAKE_VERSION): 20131001 1120 Merge with NetBSD make, pick up 1121 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 1122 hw.machine_arch if necessary. 1123 o meta.c: meta_oodate - need to look at src of Link and target 1124 of Move as well. 1125 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 1126 provide __arraycount() if needed. 1127 11282013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 1129 1130 * Makefile (MAKE_VERSION): 20130904 1131 Merge with NetBSD make, pick up 1132 o Add VAR_INTERNAL context, so that internal setting of 1133 MAKEFILE does not override value set by makefiles. 1134 11352013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 1136 1137 * Makefile (MAKE_VERSION): 20130902 1138 Merge with NetBSD make, pick up 1139 o CompatRunCommand: only apply shellErrFlag when errCheck is true 1140 11412013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1142 1143 * Makefile (MAKE_VERSION): 20130828 1144 Merge with NetBSD make, pick up 1145 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 1146 o Call Job_SetPrefix() from Job_Init() so makefiles have 1147 opportunity to set .MAKE.JOB.PREFIX 1148 11492013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 1150 1151 * Makefile (MAKE_VERSION): 20130730 1152 Merge with NetBSD make, pick up 1153 o Allow suppression of --- job -- tokens by setting 1154 .MAKE.JOB.PREFIX empty. 1155 11562013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 1157 1158 * Makefile (MAKE_VERSION): 20130716 1159 Merge with NetBSD make, pick up 1160 o number of gmake compatibility tweaks 1161 -w for gmake style entering/leaving messages 1162 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 1163 handle MAKEFLAGS containing only letters. 1164 o when overriding a GLOBAL variable on the command line, 1165 delete it from GLOBAL context so -V doesn't show the wrong 1166 value. 1167 11682013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 1169 1170 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 1171 1172 * Makefile (MAKE_VERSION): 20130706 1173 Merge with NetBSD make, pick up 1174 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 1175 true so that CompatRunCommand() can use it, to ensure 1176 consistent behavior with jobs mode. 1177 o use MAKE_LEVEL_ENV to define the variable to propagate 1178 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 1179 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 1180 paths to ignore. 1181 11822013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1183 1184 * Makefile (MAKE_VERSION): 20130604 1185 Merge with NetBSD make, pick up 1186 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 1187 to avoid leaking descriptors. 1188 11892013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 1190 1191 * Makefile (MAKE_VERSION): 20130528 1192 Merge with NetBSD make, pick up 1193 o var.c: cleanup some left-overs in VarHash() 1194 11952013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1196 1197 * Makefile (MAKE_VERSION): 20130520 1198 generate manifest from component FILES rather than have to 1199 update FILES when mk/FILES changes. 1200 12012013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 1202 1203 * Makefile (MAKE_VERSION): 20130518 1204 Merge with NetBSD make, pick up 1205 o suff.c: don't skip all processsing for .PHONY targets 1206 else wildcard srcs do not get expanded. 1207 o var.c: expand name of variable to delete if necessary. 1208 12092013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1210 1211 * Makefile (MAKE_VERSION): 20130330 1212 Merge with NetBSD make, pick up 1213 o meta.c: refine the handling of .OODATE in commands. 1214 Rather than suppress command comparison for the entire script 1215 as though .NOMETA_CMP had been used, only suppress it for the 1216 one command line. 1217 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 1218 suppress comparison of a command without otherwise affecting it. 1219 o make.1: document that 1220 12212013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 1222 1223 * Makefile (MAKE_VERSION): 20130321 1224 yes, not quite right but its a cooler number. 1225 Merge with NetBSD make, pick up 1226 o parse.c: fix ParseGmakeExport to be portable 1227 and add a unit-test. 1228 * meta.c: call meta_init() before makefiles are read and if built 1229 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 1230 this let's makefiles test for support. 1231 Call meta_mode_init() to process .MAKE.MODE. 1232 12332013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 1234 1235 * Makefile (MAKE_VERSION): 20130305 1236 Merge with NetBSD make, pick up 1237 o run .STALE: target when a dependency from .depend is missing. 1238 o job.c: add Job_RunTarget() for the above and .BEGIN 1239 12402013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1241 1242 * Makefile (MAKE_VERSION): 20130303 1243 Merge with NetBSD make, pick up 1244 o main.c: set .MAKE.OS to utsname.sysname 1245 o job.c: more checks for read and poll errors 1246 o var.c: lose VarChangeCase() saves 4% time 1247 12482013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1249 1250 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 1251 want to use MAKEOBJDIR 1252 12532013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 1254 1255 * Merge with NetBSD make, pick up 1256 o make.1: more info on how shell commands are handled. 1257 o job.c,main.c: detect write errors to job pipes. 1258 12592013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 1260 1261 * Makefile (MAKE_VERSION): 20130123 1262 Merge with NetBSD make, pick up 1263 o meta.c: if script uses .OODATE and meta_oodate() decides 1264 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 1265 o var.c: in debug output indicate which variabale modifiers 1266 apply to. 1267 o remove Check_Cwd logic the makefiles have been fixed. 1268 12692012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1270 1271 * makefile.in: add a simple makefile for folk who insist on 1272 ./configure; make; make install 1273 it just runs boot-strap 1274 * include mk/* to accommodate the above 1275 * boot-strap: re-work to accommodate the above 1276 mksrc defaults to $Mydir/mk 1277 allow op={configure,build,install,clean,all} 1278 add options to facilitate install 1279 * Makefile.config.in: just the bits set by configure 1280 * Makefile: bump version to 20121212 1281 abandon Makefile.in (NetBSD Makefile) 1282 leverage mk/* instead 1283 * configure.in: ensure srcdir is absolute 1284 12852012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1286 1287 * Makefile.in (MAKE_VERSION): 20121111 1288 fix generation of bmake.cat1 1289 12902012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1291 1292 * Makefile.in (MAKE_VERSION): 20121109 1293 Merge with NetBSD make, pick up 1294 o make.c: MakeBuildChild: return 0 so search continues if a 1295 .ORDER dependency is detected. 1296 o unit-tests/order: test the above 1297 12982012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 1299 1300 * Makefile.in (MAKE_VERSION): 20121102 1301 Merge with NetBSD make, pick up 1302 o cond.c: allow cond_state[] to grow. 1303 In meta mode with a very large tree, we can hit the limit 1304 while processing dirdeps. 1305 13062012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 1307 1308 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 1309 13102012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1311 1312 * Makefile.in (MAKE_VERSION): 20121010 1313 o protect syntax that only bmake parses correctly. 1314 o remove auto setting of FORCE_MACHINE, use configure's 1315 --with-force-machine=whatever if that is desired. 1316 13172012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 1318 1319 * Makefile.in: do not lose history from make.1 when generating bmake.1 1320 13212012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 1322 1323 * Makefile.in (MAKE_VERSION): 20121007 1324 Merge with NetBSD make, pick up 1325 o compat.c: ignore empty commands - same as jobs mode. 1326 o make.1: document meta chars that cause use of shell 1327 13282012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1329 1330 * Makefile.in (MAKE_VERSION): bump version to 20120911 1331 * bsd.after-import.mk: include Makefile.inc early and allow it to 1332 override PROG 1333 13342012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 1335 1336 * Makefile.in (MAKE_VERSION): bump version to 20120831 1337 Merge with NetBSD make, pick up 1338 o cast sizeof() to int for comparison 1339 o minor make.1 tweak 1340 13412012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 1342 1343 * Makefile.in (MAKE_VERSION): bump version to 20120830 1344 Merge with NetBSD make, pick up 1345 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 1346 o debug flag -dV causes -V to show raw value regardless. 1347 13482012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 1349 1350 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 1351 gets SRCTOP set. 1352 13532012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 1354 1355 * Makefile.in (MAKE_VERSION): bump version to 20120704 1356 Merge with NetBSD make, pick up 1357 o Job_ParseShell should call Shell_Init if it has been 1358 previously called. 1359 * Makefile.in: set USE_META based on configure result. 1360 also .PARSEDIR is safer indicator of bmake. 1361 13622012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 1363 1364 * Makefile.in: bump version to 20120626 1365 ensure CPPFLAGS is in CFLAGS 1366 * meta.c: avoid nested externs 1367 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 1368 13692012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 1370 1371 * Makefile.in (MAKE_VERSION): bump version to 20120620 1372 Merge with NetBSD make, pick up 1373 o make_malloc.c: avoid including make_malloc.h again 1374 1375 * Makefile.in: avoid bmake only syntax or protect with 1376 .if defined(.MAKE.LEVEL) 1377 * bsd.after-import.mk: replace .-include with .sinclude 1378 ensure? SRCTOP gets a value 1379 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 1380 13812012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 1382 1383 * Makefile.in (MAKE_VERSION): bump version to 20120612 1384 Merge with NetBSD make, pick up 1385 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 1386 for greater portability. 1387 o unit-tests/forloop: check that .for works as expected wrt 1388 number of times and with "quoted strings". 1389 13902012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1391 1392 * Makefile.in (MAKE_VERSION): bump version to 20120606 1393 Merge with NetBSD make, pick up 1394 o compat.c: use kill(2) rather than raise(3). 1395 * configure.in: look for sys/dev/filemon 1396 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 1397 and pass BOOTSTRAP_XTRAS to boot-strap. 1398 13992012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1400 1401 * Makefile.in (MAKE_VERSION): bump version to 20120604 1402 Merge with NetBSD make, pick up 1403 o util.c and var.c share same var for tracking if environ 1404 has been reallocated. 1405 o util.c provide getenv with setenv. 1406 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 1407 when the shell actively strips .MAKE.* from the environment. 1408 We still refer to the variable always as .MAKE.LEVEL 1409 * util.c fix bug in findenv() was finding prefix of name. 1410 * compat.c: re-raising SIGINT etc after running .INTERRUPT 1411 results in more reliable termination of all activity on many 1412 platforms. 1413 14142012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1415 1416 * Makefile.in (MAKE_VERSION): bump version to 20120602 1417 Merge with NetBSD make, pick up 1418 o for.c: handle quoted items in .for list 1419 14202012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 1421 1422 * Makefile.in (MAKE_VERSION): bump version to 20120530 1423 Merge with NetBSD make, pick up 1424 o compat.c: ignore empty command. 1425 14262012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1427 1428 * Makefile.in (MAKE_VERSION): bump version to 20120524 1429 * FILES: add bsd.after-import.mk: 1430 A simple means of integrating bmake into a BSD build system. 1431 14322012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1433 1434 * Makefile.in (MAKE_VERSION): bump version to 20120520 1435 Merge with NetBSD make, pick up 1436 o increased limit for nested conditionals. 1437 14382012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 1439 1440 * Makefile.in (MAKE_VERSION): bump version to 20120518 1441 Merge with NetBSD make, pick up 1442 o use _exit(2) in signal hanlder 1443 o Don't use the [dir] cache when building nodes that might have 1444 changed since the last exec. 1445 o Avoid nested extern declaration warnings. 1446 14472012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 1448 1449 * meta.c (fgetLine): avoid %z - not portable. 1450 * parse.c: Since we moved include of sys/mman.h 1451 and def's of MAP_COPY etc. we got dups from a merge. 1452 14532012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 1454 1455 * Makefile.in (MAKE_VERSION): bump version to 20120420 1456 Merge with NetBSD make, pick up 1457 o restore duplicate supression in .MAKE.MAKEFILES 1458 runtime saving can be significant. 1459 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 1460 consumption up to 20%. 1461 14622012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1463 1464 * Makefile.in (MAKE_VERSION): bump version to 20120420 1465 Merge with NetBSD make, pick up 1466 o remove duplicate supression in .MAKE.MAKEFILES 1467 o improved dir cache behavior 1468 o gmake'ish export command 1469 14702012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 1471 1472 * Makefile.in (MAKE_VERSION): bump version to 20120325 1473 Merge with NetBSD make, pick up 1474 o fix parsing of :[#] in conditionals. 1475 14762012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1477 1478 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 1479 since some systems cannot cope with .Nx <version> 1480 14812011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1482 1483 * Makefile.in (MAKE_VERSION): bump version to 20111111 1484 Merge with NetBSD make, pick up 1485 o debug output for .PARSEDIR and .PARSEFILE 1486 14872011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1488 1489 * Makefile.in (MAKE_VERSION): bump version to 20111010 1490 14912011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 1492 1493 * boot-strap: check for an expected file in the dirs we look for. 1494 * make-bootstrap.sh: pass on LDSTATIC 1495 14962011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1497 1498 * Makefile.in (MAKE_VERSION): bump version to 20111001 1499 Merge with NetBSD make, pick up 1500 o ensure .PREFIX is set for .PHONY 1501 and .TARGET set for .PHONY run via .END 1502 o __dead used consistently 1503 15042011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 1505 1506 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 1507 15082011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 1509 1510 * Makefile.in (MAKE_VERSION): bump version to 20110905 1511 Merge with NetBSD make, pick up 1512 o meta_oodate: ignore makeDependfile 1513 15142011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1515 1516 * Makefile.in (MAKE_VERSION): bump version to 20110828 1517 Merge with NetBSD make, pick up 1518 o silent=yes in .MAKE.MODE causes meta mode to mark targets 1519 as SILENT if a .meta file is created 1520 15212011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 1522 1523 * Makefile.in (MAKE_VERSION): bump version to 20110818 1524 Merge with NetBSD make, pick up 1525 o in meta mode, if target flagged .META a missing .meta file 1526 means target is out-of-date 1527 o fixes for gcc 4.5 warnings 1528 o simplify job printing code 1529 15302011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 1531 1532 * Makefile.in (MAKE_VERSION): bump version to 20110808 1533 Merge with NetBSD make, pick up 1534 o do not touch OP_SPECIAL targets when doing make -t 1535 15362011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 1537 1538 * Makefile.in (MAKE_VERSION): bump version to 20110622 1539 Merge with NetBSD make, pick up 1540 o meta_oodate detect corrupted .meta file and declare oodate. 1541 * configure.in: add check for setsid 1542 15432011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 1544 1545 * Merge with NetBSD make, pick up 1546 o unit-tests/modts now works on MirBSD 1547 15482011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1549 1550 * Makefile.in (MAKE_VERSION): bump version to 20110606 1551 Merge with NetBSD make, pick up 1552 o ApplyModifiers: when we parse a variable which is not 1553 the entire modifier string, or not followed by ':', do not 1554 consider it as containing modifiers. 1555 o loadfile: ensure newline at end of mapped file. 1556 15572011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1558 1559 * Makefile.in (MAKE_VERSION): bump version to 20110505 1560 Merge with NetBSD make, pick up 1561 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 1562 of make's control. In meta mode, any generated file within 1563 said bailiwick, which is found to be missing, causes current 1564 target to be out-of-date. 1565 15662011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 1567 1568 * Makefile.in (MAKE_VERSION): bump version to 20110411 1569 Merge with NetBSD make, pick up 1570 o when long modifiers fail to match, check sysV style. 1571 - add a test case 1572 15732011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 1574 1575 * Makefile.in (MAKE_VERSION): bump version to 20110410 1576 Merge with NetBSD make, pick up 1577 o :hash - cheap 32bit hash of value 1578 o :localtime, :gmtime - use value as format string for strftime. 1579 15802011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1581 1582 * Makefile.in (MAKE_VERSION): bump version to 20110330 1583 mostly because its a cooler version. 1584 Merge with NetBSD make, pick up 1585 o NetBSD tags for meta.[ch] 1586 o job.c call meta_job_finish() after meta_job_error(). 1587 o meta_job_error() should call meta_job_finish() to ensure 1588 .meta file is closed, and safe to copy - if .ERROR target wants. 1589 meta_job_finish() is safe to call repeatedly. 1590 15912011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1592 1593 * unit-tests/modts: use printf if it is a builtin, 1594 to save us from MirBSD 1595 1596 * Makefile.in (MAKE_VERSION): bump version to 20110329 1597 Merge with NetBSD make, pick up 1598 o fix for use after free() in CondDoExists(). 1599 o meta_oodate() report extra commands and return earlier. 1600 16012011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 1602 1603 * Makefile.in (MAKE_VERSION): bump version to 20110327 1604 Merge with NetBSD make, pick up 1605 o meta.c, if .MAKE.MODE contains curdirOk=yes 1606 allow creating .meta files in .CURDIR 1607 * boot-strap (TOOL_DIFF): aparently at least on linux distro 1608 formats the output of 'type' differently - so eat any "()" 1609 16102011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 1611 1612 * Makefile.in (MAKE_VERSION): bump version to 20110306 1613 Merge with NetBSD make, pick up 1614 o meta.c, only do getcwd() once 1615 16162011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 1617 1618 * Makefile.in (MAKE_VERSION): bump version to 20110305 1619 Merge with NetBSD make, pick up 1620 o correct sysV substitution handling of empty lhs and variable 1621 o correct exists() check for dir with trailing / 1622 o correct handling of modifiers for non-existant variables 1623 during evaluation of conditionals. 1624 o ensure MAP_FILE is defined. 1625 o meta.c use curdir[] now exported by main.c 1626 16272011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 1628 1629 * Makefile.in (MAKE_VERSION): bump version to 20110225 1630 Merge with NetBSD make, pick up 1631 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 1632 makefiles have been read. 1633 o fix example of :? modifier in man page. 1634 16352011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 1636 1637 * Makefile.in (MAKE_VERSION): bump version to 20110214 1638 Merge with NetBSD make, pick up 1639 o meta.c handle realpath() failing when generating meta file 1640 name. 1641 1642 * sigcompat.c: convert to ansi so we can use higher warning levels. 1643 1644 16452011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 1646 1647 * Makefile.in (MAKE_VERSION): bump version to 20110207 1648 Merge with NetBSD make, pick up 1649 o fix for bug in meta mode. 1650 16512011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 1652 1653 * parse.c: SunOS 5.8 at least does not have MAP_FILE 1654 16552011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 1656 1657 * Makefile.in (MAKE_VERSION): bump version to 20110101 1658 Merge with NetBSD make, pick up 1659 o use mmap(2) if available, for reading makefiles 1660 16612010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 1662 1663 * Makefile.in (MAKE_VERSION): bump version to 20101215 1664 Merge with NetBSD make, pick up 1665 o ensure meta_job_error() does not report a previous .meta file 1666 as being culprit. 1667 16682010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 1669 1670 * Makefile.in (MAKE_VERSION): bump version to 20101210 1671 Merge with NetBSD make, pick up 1672 o meta_oodate: track cwd per process, and only consider target 1673 out-of-date if missing file is outside make's CWD. 1674 Ignore files in /tmp/ etc. 1675 o to ensure unit-tests results match, need to control LC_ALL 1676 as well as LANG. 1677 o fix for parsing bug in var.c 1678 16792010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1680 1681 * Makefile.in (MAKE_VERSION): bump version to 20101126 1682 Merge with NetBSD make, pick up 1683 o if stale dependency is an IMPSRC, search via .PATH 1684 o meta_oodate: if a referenced file is missing, target is 1685 out-of-date. 1686 o meta_oodate: if a target uses .OODATE in its commands, 1687 it (.OODATE) needs to be recomputed. 1688 o keep a pointer to youngest child node, rather than just its 1689 mtime. 1690 16912010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 1692 1693 * Makefile.in (MAKE_VERSION): bump version to 20101101 1694 16952010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 1696 1697 * machine.sh: like os.sh, 1698 allow for uname -p producing useless drivel 1699 17002010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 1701 1702 * boot-strap: document configure knobs for meta and filemon. 1703 1704 * Makefile.in (MAKE_VERSION): bump version to 20100911 1705 Merge with NetBSD make, pick up 1706 o meta.c - meta mode 1707 1708 * make-bootstrap.sh.in: handle meta.c 1709 * configure.in: add knobs for use_meta and filemon_h 1710 also, look for dirname, str[e]sep and strlcpy 1711 * util.c: add simple err[x] and warn[x] 1712 17132010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1714 1715 * boot-strap (TOOL_DIFF): set this to ensure tests use 1716 the same version of diff that configure tested 1717 1718 * Makefile.in (MAKE_VERSION): bump version to 20100808 1719 Merge with NetBSD make, pick up 1720 o in jobs mode, when we discover we cannot make something, 1721 call PrintOnError before exit. 1722 17232010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 1724 1725 * Makefile.in (MAKE_VERSION): bump version to 20100806 1726 Merge with NetBSD make, pick up 1727 o formatting fixes for ignored errors 1728 o ensure jobs are cleaned up regardless of where wait() was called. 1729 17302010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1731 1732 * Makefile.in (MAKE_VERSION): bump version to 20100618 1733 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 1734 17352010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1736 1737 * Makefile.in (MAKE_VERSION): bump version to 20100616 1738 Merge with NetBSD make, pick up 1739 o man page update 1740 o call PrintOnError from JobFinish when we detect an error we 1741 are not ignoring. 1742 17432010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1744 1745 * Makefile.in (MAKE_VERSION): bump version to 20100606 1746 Merge with NetBSD make, pick up 1747 o man page update 1748 17492010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 1750 1751 * Makefile.in (MAKE_VERSION): bump version to 20100605 1752 Merge with NetBSD make, pick up 1753 o use bmake_signal() which is a wrapper around sigaction() 1754 in place of signal() 1755 o add .export-env to allow exporting variables to environment 1756 without tracking (so no re-export when the internal value is 1757 changed). 1758 17592010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1760 1761 * Makefile.in (MAKE_VERSION): bump version to 20100524 1762 Merge with NetBSD make, pick up 1763 o fix for .info et al being greedy. 1764 17652010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 1766 1767 * Makefile.in (MAKE_VERSION): bump version to 20100520 1768 Merge with NetBSD make, pick up 1769 o back to using realpath on argv[0] 1770 but only if contains '/' and does not start with '/'. 1771 17722010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1773 1774 * boot-strap: use absolute path for bmake when running tests. 1775 1776 * Makefile.in (MAKE_VERSION): bump version to 20100510 1777 Merge with NetBSD make, pick up 1778 o revert use of realpath on argv[0] 1779 too many corner cases. 1780 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 1781 17822010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1783 1784 * Makefile.in (MAKE_VERSION): bump version to 20100505 1785 Merge with NetBSD make, pick up 1786 o fix for missed SIGCHLD when compiled with SunPRO 1787 actually for bmake, defining FORCE_POSIX_SIGNALS would have 1788 done the job. 1789 17902010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1791 1792 * Makefile.in (MAKE_VERSION): bump version to 20100430 1793 Merge with NetBSD make, pick up 1794 o fflush stdout before writing to stdout 1795 17962010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 1797 1798 * Makefile.in (MAKE_VERSION): bump version to 20100423 1799 Merge with NetBSD make, pick up 1800 o updated unit tests for Haiku (this time for sure). 1801 * boot-strap: based on patch from joerg 1802 honor --with-default-sys-path better. 1803 * boot-strap: remove mention of --with-prefix-sys-path 1804 18052010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1806 1807 * Makefile.in (MAKE_VERSION): bump version to 20100422 1808 * Merge with NetBSD make, pick up 1809 o fix for vfork() on Darwin. 1810 o fix for bogus $TMPDIR. 1811 o set .MAKE.MODE=compat for -B 1812 o set .MAKE.JOBS=max_jobs for -j max_jobs 1813 o allow unit-tests to run without any *.mk 1814 o unit-tests/modmisc be more conservative in dirs presumed to exist. 1815 * boot-strap: ignore /usr/share/mk except on NetBSD. 1816 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 1817 ensure sort(1) behaves as expected. 1818 18192010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1820 1821 * boot-strap: add FindHereOrAbove so we can use -m .../mk 1822 18232010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1824 1825 * Makefile.in (MAKE_VERSION): bump version to 20100420 1826 * Merge with NetBSD make, pick up 1827 o fix for variable realpath() behavior. 1828 we have to stat(2) the result to be sure. 1829 o fix for .export (all) when nested vars use :sh 1830 18312010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 1832 1833 * Makefile.in (MAKE_VERSION): bump version to 20100414 1834 * Merge with NetBSD make, pick up 1835 o use realpath to resolve argv[0] (for .MAKE) if needed. 1836 o add realpath from libc. 1837 o add :tA to resolve variable via realpath(3) if possible. 1838 18392010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 1840 1841 * Makefile.in (MAKE_VERSION): bump version to 20100408 1842 * Merge with NetBSD make, pick up 1843 o unit tests for .ERROR, .error 1844 o fix for .ERROR to ensure it cannot be default target. 1845 18462010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 1847 1848 * Makefile.in (MAKE_VERSION): bump version to 20100406 1849 * Merge with NetBSD make, pick up 1850 o fix for compat mode "Error code" going to debug_file. 1851 o fix for .ALLSRC being populated twice. 1852 o support for .info, .warning and .error directives 1853 o .MAKE.MODE to control make's operational mode 1854 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 1855 name(s). 1856 o .MAKE.DEPENDFILE to control the name of the depend file 1857 o .ERROR target - run on failure. 1858 18592010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1860 1861 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 1862 1863 * os.sh,arch.c: patch for Haiku from joerg at netbsd 1864 18652010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 1866 1867 * Makefile.in (MAKE_VERSION): bump version to 20100222 1868 * Merge with NetBSD make, pick up 1869 o better error msg for .for with mutiple inter vars 1870 1871 * boot-strap: 1872 o use make-bootstrap.sh from joerg at netbsd 1873 to avoid the need for a native make when bootstrapping. 1874 o add "" everywhere ;-) 1875 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 1876 otherwise the pre-formated version. 1877 18782010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1879 1880 * Makefile.in (MAKE_VERSION): bump version to 20100102 1881 * Merge with NetBSD make, pick up: 1882 o fix for -m .../ 1883 18842009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 1885 1886 * Makefile.in (MAKE_VERSION): bump version to 20091118 1887 * Merge with NetBSD make, pick up: 1888 o .unexport 1889 o report lines that start with '.' and should have ':' 1890 (catch typo's of .el*if). 1891 18922009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1893 1894 * configure.in: Ensure that srcdir and mksrc are absolute paths. 1895 18962009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1897 1898 * Makefile.in (MAKE_VERSION): fix version to 20091007 1899 19002009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 1901 1902 * Makefile.in (MAKE_VERSION): bump version to 200910007 1903 * Merge with NetBSD make, pick up: 1904 o fix for parsing of :S;...;...; applied to .for loop iterator 1905 appearing in a dependency line. 1906 19072009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1908 1909 * Makefile.in (MAKE_VERSION): bump version to 20090909 1910 * Merge with NetBSD make, pick up: 1911 o fix for -C, .CURDIR and .OBJDIR 1912 * boot-strap: 1913 o allow share_dir to be set independent of prefix. 1914 o select default share_dir better when prefix ends in $HOST_TARGET 1915 o if FORCE_BSD_MK etc were set, include them in the suggested 1916 install-mk command. 1917 19182009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1919 1920 * Makefile.in (MAKE_VERSION): bump version to 20090908 1921 * Merge with NetBSD make, pick up: 1922 o .MAKE.LEVEL for recursion tracking 1923 o fix for :M scanning \: 1924 19252009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1926 1927 * configure.in: Don't -D__EXTENSIONS__ if 1928 AC_USE_SYSTEM_EXTENSIONS says "no". 1929 19302009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 1931 1932 * Makefile.in (MAKE_VERSION): bump version to 20090826 1933 Simplify MAKE_VERSION to just the bare date. 1934 * Merge with NetBSD make, pick up: 1935 o -C directory support. 1936 o support for SIGINFO 1937 o use $TMPDIR for temp files. 1938 o child of vfork should be careful about modifying parent's state. 1939 1940 19412009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1942 1943 * Appy some patches for MiNT from David Brownlee 1944 19452009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 1946 1947 * Makefile.in (BMAKE_VERSION): bump version to 20090222 1948 * Merge with NetBSD make, pick up: 1949 o Possible null pointer de-ref in Var_Set. 1950 19512009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 1952 1953 * Makefile.in (BMAKE_VERSION): bump version to 20090204 1954 * Merge with NetBSD make, pick up: 1955 o bmake_malloc et al moved to their own .c 1956 o Count both () and {} when looking for the end of a :M pattern 1957 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 1958 o strlist.c - functions for processing extendable arrays of pointers to strings. 1959 o ClientData replaced with void *, so const void * can be used. 1960 o New debug flag C for DEBUG_CWD 1961 19622008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1963 1964 * Makefile.in (BMAKE_VERSION): bump version to 20081111 1965 Apply patch from Joerg Sonnenberge to 1966 configure.in: 1967 o remove some redundant checks 1968 o check for emlloc etc only in libutil and require the whole family. 1969 util.c: 1970 o remove [v]asprintf which is no longer used. 1971 19722008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1973 1974 * Makefile.in (BMAKE_VERSION): bump version to 20081101 1975 * Merge with NetBSD make, pick up: 1976 o util.c: avoid use of putenv() - christos 1977 19782008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1979 1980 * Makefile.in (BMAKE_VERSION): bump version to 20081030 1981 pick up man page tweaks. 1982 19832008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 1984 1985 * Makefile.in: move processing of LIBOBJS to after is definition! 1986 thus we'll have getenv.c in SRCS only if needed. 1987 1988 * make.1: add examples of how to use :? 1989 1990 * Makefile.in (BMAKE_VERSION): bump version to 20081029 1991 * Merge with NetBSD make, pick up: 1992 o fix for .END processing with -j 1993 o segfault from Parse_Error when no makefile is open 1994 o handle numeric expressions in any variable expansion 1995 o debug output now defaults to stderr, -dF to change it - apb 1996 o make now uses bmake_malloc etc so that it can build natively 1997 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 1998 19992008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 2000 2001 * Makefile.in (BMAKE_VERSION): bump version to 20080808 2002 * Merge with NetBSD make, pick up: 2003 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 2004 long lines in Makefiles 2005 o optimizations for VarQuote by joerg 2006 o fix for PR/38756: dominik: make dumps core on invalid makefile 2007 20082008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 2009 2010 * Makefile.in (BMAKE_VERSION): bump version to 20080515 2011 * Merge with NetBSD make, pick up: 2012 o fix skip setting vars in VAR_GLOBAL context, to handle 2013 cases where VAR_CMD is used for other than command line vars. 2014 20152008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 2016 2017 * boot-strap (make_version): we may need to look in 2018 $prefix/share/mk for sys.mk 2019 2020 * Makefile.in (BMAKE_VERSION): bump version to 20080514 2021 * Merge with NetBSD make, pick up: 2022 o skip setting vars in VAR_GLOBAL context, when already set in 2023 VAR_CMD which takes precedence. 2024 20252008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 2026 2027 * Makefile.in (BMAKE_VERSION): bump version to 20080330 2028 * Merge with NetBSD make, pick up: 2029 o fix for ?= when LHS contains variable reference. 2030 20312008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2032 2033 * merge some patches from NetBSD pkgsrc. 2034 2035 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 2036 the MAKSYSPATH used during bootstrap. 2037 2038 * Makefile.in (BMAKE_VERSION): bump version to 20080215 2039 * Merge with NetBSD make, pick up: 2040 o warn if non-space chars follow 'empty' in a conditional. 2041 20422008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 2043 2044 * Makefile.in (BMAKE_VERSION): bump version to 20080118 2045 * Merge with NetBSD make, pick up: 2046 o consider dependencies read from .depend as optional - dsl 2047 o remember when buffer for reading makefile grows - dsl 2048 o add -dl (aka LOUD) - David O'Brien 2049 20502007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 2051 2052 * Makefile.in (BMAKE_VERSION): bump version to 20071022 2053 * Merge with NetBSD make, pick up: 2054 o Allow .PATH<suffix> to be used for .include "" 2055 2056 * boot-strap: source default settings from .bmake-boot-strap.rc 2057 20582007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 2059 2060 * Makefile.in: fix maninstall on various systems 2061 provided that our man.mk is used. 2062 For non-BSD systems we install the preformatted page 2063 into $MANDIR/cat1 2064 20652007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 2066 2067 * boot-strap: make bmake.1 too, so maninstall works. 2068 20692007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 2070 2071 * Makefile.in (BMAKE_VERSION): bump version to 20071014 2072 * Merge with NetBSD make, pick up: 2073 o revamped handling of defshell - configure no longer needs to 2074 know the content of the shells array - apb 2075 o stop Var_Subst modifying its input - apb 2076 o avoid calling ParseTrackInput too often - dsl 2077 20782007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 2079 2080 * Makefile.in (BMAKE_VERSION): bump version to 20071011 2081 * Merge with NetBSD make, pick up: 2082 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 2083 2084 * sigcompat.c: some tweaks for HP-UX 11.x based on 2085 patch from Tobias Nygren 2086 2087 * configure.in: update handling of --with-defshell to match 2088 new make behavior. --with-defshell=/usr/xpg4/bin/sh 2089 will now do what one might hope - provided the chosen shell 2090 behaves enough like sh. 2091 20922007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 2093 2094 * Makefile.in (BMAKE_VERSION): bump to 20071008 2095 * Merge with NetBSD make, pick up: 2096 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 2097 o .export/.MAKE.EXPORTED - export of variables - sjg 2098 o .MAKE.MAKEFILES - track all makefiles read - sjg 2099 o performance improvements - dsl 2100 o revamp parallel job scheduling - dsl 2101 21022006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2103 2104 * Makefile.in (BMAKE_VERSION): bump to 20060728 2105 * Merge with NetBSD make, pick up: 2106 o extra debug info during variable and cond processing - sjg 2107 o shell definition now covers newline - rillig 2108 o minor mem leak in PrintOnError - sjg 2109 21102006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 2111 2112 * Makefile.in (BMAKE_VERSION): bump to 20060511 2113 * Merge with NetBSD make, pick up: 2114 o more memory leaks - coverity 2115 o possible overflow in ArchFindMember - coverity 2116 o extract variable modifier code out of Var_Parse() 2117 so it can be called recursively - sjg 2118 o unit-tests/moderrs - sjg 2119 21202006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 2121 2122 * Makefile.in (BMAKE_VERSION): bump to 20060412 2123 * Merge with NetBSD make, pick up: 2124 o fixes for some memory leaks - coverity 2125 o only read first sys.mk etc when searching sysIncPath - sjg 2126 2127 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 2128 setting ${MAKEFILE} - OBATA Akio 2129 21302006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 2131 2132 * Makefile.in (BMAKE_VERSION): bump to 20060318 2133 * Merge with NetBSD make, pick up: 2134 o cleanup of job.c to remove remote handling, distcc is more 2135 useful and this code was likely bit-rotting - dsl 2136 o fix for :P modifier - sjg 2137 * boot-strap: set default prefix to something reasonable 2138 (for me anyway). 2139 21402006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 2141 2142 * Makefile.in (BMAKE_VERSION): bump to 20060301 2143 * Merge with NetBSD make, pick up: 2144 o make .WAIT apply recursively, document and test case - apb 2145 o allow variable modifiers in a variable appear anywhere in 2146 modifier list, document and test case - sjg 2147 21482006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 2149 2150 * Makefile.in (BMAKE_VERSION): bump to 20060222 2151 * Merge with NetBSD make, pick up: 2152 o improved job token handling - dsl 2153 o SIG_DFL the correct signal before exec - dsl 2154 o more debug info during parsing - dsl 2155 o allow variable modifiers to be specified via variable - sjg 2156 * boot-strap: explain why we died if no mksrc 2157 21582005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 2159 2160 * Makefile.in (BMAKE_VERSION): bump to 20051105 2161 * configure.in: always set default_sys_path 2162 default is ${prefix}/share/mk 2163 - remove prefix_sys_path, anyone wanting more than above 2164 needs to set it manually. 2165 21662005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 2167 2168 * boot-strap: make this a bit easier for pkgsrc folk. 2169 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 2170 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 2171 21722005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 2173 2174 * Makefile.in (BMAKE_VERSION): bump to 20051102 2175 * job.c (JobFinish): fix likely ancient merge lossage 2176 fix from Todd Vierling. 2177 * boot-strap (srcdir): allow setting mksrc=none 2178 21792005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 2180 2181 * Makefile.in (BMAKE_VERSION): bump to 20051031 2182 * ranlib.h: skip on OSF too. 2183 (NetBSD PR 31864) 2184 21852005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 2186 2187 * Makefile.in (BMAKE_VERSION): bump to 20051002 2188 fix a silly typo 2189 21902005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 2191 2192 * Makefile.in (BMAKE_VERSION): bump to 20051001 2193 support for UnixWare and some other systems, 2194 based on patches from pkgsrc/bootstrap 2195 21962005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 2197 2198 * Makefile.in (BMAKE_VERSION): bump to 20050901 2199 * Merge with NetBSD make, pick up: 2200 o possible parse error causing us to wander off. 2201 22022005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 2203 2204 * Makefile.in (BMAKE_VERSION): bump to 20050606 2205 * Merge with NetBSD make, pick up: 2206 o :0x modifier for randomizing a list 2207 o fixes for a number of -Wuninitialized issues. 2208 22092005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 2210 2211 * Makefile.in (BMAKE_VERSION): bump to 20050530 2212 * Merge with NetBSD make, pick up: 2213 o Handle dependencies for .BEGIN, .END and .INTERRUPT 2214 2215 * README: was seriously out of date. 2216 22172005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 2218 2219 * Important to use .MAKE rather than MAKE. 2220 22212005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 2222 2223 * Makefile.in (BMAKE_VERSION): bump to 20050315 2224 * Merge with NetBSD make, pick up: 2225 o don't mistake .elsefoo for .else 2226 o use suffix-specific search path correctly 2227 o bunch of style nits 2228 22292004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 2230 2231 * boot-strap: 2232 o ensure that args to --src and --with-mksrc 2233 are resolved before giving them to configure. 2234 o add -o "objdir" so that builder can control it, 2235 default is $OS as determined by os.sh 2236 o add -q to suppress all the install instructions. 2237 22382004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 2239 2240 * Remove __IDSTRING() 2241 2242 * Makefile.in (BMAKE_VERSION): bump to 20040508 2243 * Merge with NetBSD make, pick up: 2244 o posix fixes 2245 - remove '-e' from compat mode 2246 - add support for '+' command-line prefix. 2247 o fix for handling '--' on command-line. 2248 o fix include in lst.lib/lstInt.h to simplify '-I's 2249 o we also picked up replacement of MAKE_BOOTSTRAP 2250 with !MAKE_NATIVE which is a noop, but possibly confusing. 2251 22522004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 2253 2254 * Makefile.in (BMAKE_VERSION): bump to 20040414 2255 * Merge with NetBSD make, pick up: 2256 o allow quoted strings on lhs of conditionals 2257 o issue warning when extra .else is seen 2258 o print line numer when errors encountered during parsing from 2259 string. 2260 22612004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 2262 2263 * Makefile.in (BMAKE_VERSION): bump to 20040220 2264 * Merge with NetBSD make, pick up: 2265 o fix for old :M parsing bug. 2266 o re-jigged unit-tests 2267 22682004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2269 2270 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 2271 so that './bmake -f Makefile test' works. 2272 22732004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2274 2275 * Makefile.in: (BMAKE_VERSION): bump to 20040214 2276 * Merge with NetBSD make, pick up: 2277 o search upwards for *.mk 2278 o fix for double free of var substitution buffers 2279 o use of getopt replaced with custom code, since the usage 2280 (re-scanning) isn't posix compatible. 2281 22822004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 2283 2284 * arch.c: don't include ranlib.h on ELF systems 2285 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 2286 22872004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 2288 2289 * Makefile.in (BMAKE_VERSION): bump to 20040118 2290 2291 * boot-strap (while): export vars we assign to on cmdline 2292 * unit-test/Makefile.in: ternary is .PHONY 2293 22942004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 2295 2296 * Makefile.in (BMAKE_VERSION): bump version to 20040108 2297 * Merge with NetBSD make, pick up: 2298 o fix for ternary modifier 2299 23002004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 2301 2302 * Makefile.in (BMAKE_VERSION): bump version to 20040105 2303 * Merge with NetBSD make, pick up: 2304 o fix for cond.c to handle compound expressions better 2305 o variable expansion within sysV style replacements 2306 23072003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 2308 2309 * Make portable snprintf safer - output to /dev/null first to 2310 check space needed. 2311 2312 * Makefile.in (BMAKE_VERSION): bump version to 20031222 2313 * Merge with NetBSD make, pick up: 2314 o -dg3 to show input graph when things go wrong. 2315 o explicitly look for makefiles in objdir if not found in curdir so 2316 that errors in .depend etc will be reported accurarely. 2317 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 2318 instead as it more accurately reflects the expected behavior and 2319 is more consistently implemented. 2320 o avoid use of asprintf. 2321 23222003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2323 2324 * util.c: Add asprintf and vasprintf. 2325 2326 * Makefile.in (BMAKE_VERSION): bump version to 20030928 2327 * Merge with NetBSD make, pick up: 2328 :[] modifier - allows picking words from a variable. 2329 :tW modifier - allows treating value as one big word. 2330 W flag for :C and :S - allows treating value as one big word. 2331 23322003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 2333 2334 * Merge with NetBSD make 2335 pick up -de flag to enable printing failed command. 2336 don't skip 1st two dir entries (normally . and ..) since 2337 coda does not have them. 2338 23392003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 2340 2341 * Makefile.in (BMAKE_VERSION): bump version to 20030909 2342 * Merge with NetBSD make, pick up: 2343 - changes for -V '${VAR}' to print fully expanded value 2344 cf. -V VAR 2345 - CompatRunCommand now prints the command that failed. 2346 - several files got updated 3 clause Berkeley license. 2347 23482003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 2349 2350 * boot-strap: Allow setting configure args on command line. 2351 23522003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2353 2354 * configure.in: add --with-defshell to allow sh or ksh 2355 to be selected as default shell. 2356 2357 * Makefile.in: bump version to 20030731 2358 2359 * Merge with NetBSD make 2360 Pick up .SHELL spec for ksh and associate man page changes. 2361 Also compat mode now uses the same shell specs. 2362 23632003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 2364 2365 * var.c (Var_Parse): ensure delim is initialized. 2366 2367 * unit-tests/Makefile.in: use single quotes to avoid problems from 2368 some shells. 2369 2370 * makefile.boot.in: 2371 Run the unit-tests as part of the bootstrap procedure. 2372 23732003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2374 2375 * unit-tests/Makefile.in: always force complaints from 2376 ${TEST_MAKE} to be from 'make'. 2377 2378 * configure.in: add check for 'diff -u' 2379 also fix some old autoconf'isms 2380 2381 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 2382 if using GCC add -Wno-cast-qual to CFLAGS for var.o 2383 2384 * Merge with NetBSD make 2385 Pick up fix for :ts parsing error in some cases. 2386 Pick unit-tests. 2387 23882003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2389 2390 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 2391 2392 * var.c (Var_Parse): fix bug in :ts modifier, after const 2393 correctness fixes, must pass nstr to VarModify. 2394 23952003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 2396 2397 * Makefile.in: BMAKE_VERSION switch to a date based version. 2398 We'll generally use the date of last import from NetBSD. 2399 2400 * Merge with NetBSD make 2401 Pick up fixes for const-correctness, now passes WARNS=3 on 2402 NetBSD. 2403 Pick up :ts modifier, allows controlling the separator used 2404 between words in variable expansion. 2405 24062003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 2407 2408 * FILES: include boot-strap and os.sh 2409 2410 * Makefile.in: only set WARNS if we are NetBSD, the effect on 2411 FreeBSD is known to be bad. 2412 2413 * makefile.boot.in (bootstrap): make this the default target. 2414 2415 * Makefile.in: bump version to 3.1.19 2416 2417 * machine.sh: avoid A-Z with tr as it is bound to lose. 2418 24192003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 2420 2421 * Merge with NetBSD make 2422 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 2423 Plus some doc fixes. 2424 24252003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 2426 2427 * Merge with NetBSD make 2428 Pick up fix for PR/1523 - don't count a library as built, if there 2429 is no way to build it 2430 2431 * Bump version to 3.1.18 2432 24332003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 2434 2435 * Merge with NetBSD make 2436 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 2437 appears in src list. 2438 24392003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 2440 2441 * Merge with NetBSD make (mmm 10th anniversary!) 2442 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 2443 pick up -X which tells us to not export VAR=val via setenv if 2444 we are already doing so via MAKEFLAGS. This saves valuable env 2445 space on systems like Darwin. 2446 set MAKE_VERSION to 3.1.17 2447 2448 * parse.c: pix up fix for suffix rules 2449 24502003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 2451 2452 * Merge with NetBSD make. 2453 pick up fix for propagating -B via MAKEFLAGS. 2454 set MAKE_VERSION to 3.1.16 2455 2456 * Apply some patches from pkgsrc-bootstrap/bmake 2457 Originally by Grant Beattie <grant@netbsd.org> 2458 I may have missed some - since they are based on bmake-3.1.12 2459 24602002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 2461 2462 * makefile.boot.in (bmake): update install targets for those that 2463 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 2464 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 2465 2466 * bmake.cat1: update the pre-formatted man page! 2467 24682002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 2469 2470 * Merge with NetBSD make. 2471 pick up fix for premature free of pointer used in call 2472 to Dir_InitCur(). 2473 set MAKE_VERSION to 3.1.15 2474 24752002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 2476 2477 * configure.in: determine suitable value for MKSRC. 2478 override using --with-mksrc=PATH. 2479 2480 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 2481 configs(8) will use 'sun4' as an alias for 'sparc'. 2482 24832002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 2484 2485 * Merge with NetBSD make. 2486 pick up ${.PATH} 2487 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 2488 set MAKE_VERSION to 3.1.14 2489 add configure checks for killpg and sys/socket.h 2490 24912002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 2492 2493 * tag bmake-3-1-13 2494 2495 * makefile.boot.in (bmake): use install-mk 2496 Also setup ./mk before trying to invoke bmake.boot incase we 2497 needed install-mk to create a sys.mk for us. 2498 2499 * configure.in: If we need to add -I${srcdir}/missing, make it an 2500 absolute path so that it works for lst.lib too. 2501 2502 * make.h: always include sys/cdefs.h since we provide one if the 2503 host does not. 2504 2505 * Makefile.in (install-mk): 2506 use MKSRC/install-mk which will do the right thing. 2507 use uname -p for ARCH if possible. 2508 since install-mk will setup links bsd.prog.mk -> prog.mk if 2509 needed, just .include bsd.prog.mk 2510 2511 * Merge with NetBSD make (NetBSD-1.6) 2512 Code is ansi-C only now. 2513 Bug in handling of dotLast is fixed. 2514 Can now assign .OBJDIR and make will reset its notions of life. 2515 New modifiers :tu :tl for toUpper and toLower. 2516 2517Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 2518 2519 * Merge with NetBSD make 2520 pick up fix for .END failure in compat mode. 2521 pick up fix for extra va_end() in ParseVErrorInternal. 2522 2523Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 2524 2525 * configure.in: for systems that have sys/cdefs.h check if it is 2526 compatible. If not, include the one under missing, but tell it to 2527 include the native one too - necessary on Linux. 2528 2529 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 2530 include_next (for gcc) to get the native sys/cdefs.h 2531 2532Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2533 2534 * job.c (JobFinish): Fix an earlier merge bug that resulted in 2535 leaking descriptors when using -jN. 2536 2537 * job.c (JobPrintCommand): See if "curdir" exists before 2538 attempting to chdir(). Doing the chdir directly in make (when in 2539 compat mode) fails silently, so let the -jN version do the same. 2540 This can happen when building kernels in an object tree and 2541 playing clever games to reset .CURDIR. 2542 2543 * Merged with NetBSD make 2544 pick up .USEBEFORE 2545 2546Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2547 2548 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 2549 2550Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2551 2552 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 2553 us not to export the iterator variable when using VAR_CMD context. 2554 2555Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2556 2557 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 2558 its the wrong "fix". 2559 2560Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2561 2562 * Redesigned export of VAR_CMD's via MAKEFLAGS. 2563 We now simply append the variable names to .MAKEOVERRIDES, and 2564 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 2565 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 2566 Apart from fixing quoting bugs in previous version, this allows us 2567 to export vars to the environment by simply doing: 2568 .MAKEOVERRIDES+= PATH 2569 Merged again with NetBSD make, but the above is the only change. 2570 2571 * configure.in: added 2572 --disable-pwd-override disable $PWD overriding getcwd() 2573 --disable-check-make-chdir disable make trying to guess 2574 when it should automatically cd ${.CURDIR} 2575 2576 * Merge with NetBSD make, changes include: 2577 parse.c (ParseDoDependency): Spot that the syntax error is 2578 caused by an unresolved cvs/rcs conflict and say so. 2579 var.c: most of Var* functions now take a ctxt as 1st arg. 2580 now does variable substituion on rhs of sysv style modifiers. 2581 2582 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 2583 is now done here. We append the name='value' to .MAKEOVERRIDES 2584 rather than directly into MAKEFLAGS as this allows a Makefile to 2585 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 2586 very similar mechanism. Note that in adding name='value' to 2587 .MAKEOVERRIDES we do the moral equivalent of: 2588 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 2589 2590Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2591 2592 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 2593 2594 * Merged with NetBSD make 2595 make -dx can now be used to run commands via sh -x 2596 better error messages on exec failures. 2597 2598Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2599 2600 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 2601 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 2602 MACHINE etc otherwise they propagate from the previous bmake. 2603 2604 * configure.in (machine): allow --with-machine=generic to make 2605 configure use machine.sh to set MACHINE. 2606 2607 * job.c (JobInterrupt): convert to using WAIT_T and friends. 2608 2609 * Makefile.in: mention in bmake.1 that we use autoconf. 2610 2611 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 2612 2613Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2614 2615 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 2616 as that rather defeats the usefulness of ${MAKEFILE}. 2617 2618 * main.c (MainParseArgs): append command line variable assignments 2619 to MAKEFLAGS so that they get propagated to child make's. 2620 Apparently this is required POSIX behaviour? Its useful anyway. 2621 2622Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2623 2624 * compat.c (CompatRunCommand): don't use perror() since stdio may 2625 cause problems in child of vfork(). 2626 2627 * compat.c, main.c: Call PrintOnError() when we are going to bail. 2628 This routine prints out the .curdir where we stopped and will also 2629 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 2630 2631 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 2632 :@ expansion. 2633 2634 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 2635 2636 * Added RCSid's for the files we've touched. 2637 2638Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2639 2640 * configure.in: Thanks to some clues from mdb@juniper.net, 2641 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 2642 as well as what ends up in _PATH_DEFSYSPATH. We now have: 2643 2644 --with-machine=MACHINE explicitly set MACHINE 2645 --with-force-machine=MACHINE set FORCE_MACHINE 2646 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 2647 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 2648 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 2649 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 2650 2651 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 2652 2653 * makefile: added a pathetically simple makefile to drive 2654 bootstrapping. Running configure by hand is more useful. 2655 2656 * Makefile.in: added MAKE_VERSION, and reworked things to be less 2657 dependent on NetBSD bsd.*.mk 2658 2659 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 2660 _PATH_OBJDIRPREFIX for those that don't want a default. 2661 construct _PATH_DEFSYSPATH from the info we get from configure. 2662 2663 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 2664 if MAKE_VERSION is defined. 2665 2666 * compat.c: when we bail, print out the .CURDIR we were in. 2667 2668Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2669 2670 * Merged with NetBSD make 2671 2672 * var.c: fixed a bug in the handling of the modifier :P 2673 if the node as found but the path was null, we segfault trying to 2674 duplicate it. 2675 2676Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2677 2678 * Merged with NetBSD make 2679 2680 * make.c: Make_OODate's test for a library out of date was using 2681 cmtime where it should have used mtime (my bug). 2682 2683 * compat.c: Use perror() to tell us what really went wrong when we 2684 cannot exec a command. 2685 2686Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2687 2688 * Merged with NetBSD make 2689 2690Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2691 2692 * Merged with NetBSD make 2693 2694Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2695 2696 * Merged with NetBSD make 2697 2698Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2699 2700 * Merged with NetBSD make 2701 2702Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2703 2704 * util.c: don't provide signal() since we use sigcompat.c 2705 2706 * Makefile.in: added a build target. 2707 2708 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 2709 These allow some quite clever magic. 2710 2711 * main.c (main): added support for getenv(MAKESYSPATH). 2712 2713Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2714 2715 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 2716 This avoids objdir having a different value depending on how a 2717 directory was reached (via command line, or subdir.mk). 2718 2719 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 2720 2721Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2722 2723 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 2724 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 2725 I've been testing this in NetBSD's make for some weeks. 2726 2727 * Turn Makefile into Makefile.in and make it useful. 2728 2729Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2730 2731 * Imported NetBSD's -current make(1) and resolve conflicts. 2732 2733 * Applied autoconf patches from bmake v2 2734 2735 * Imported clean code base from NetBSD-1.0 2736