12018-09-21 Simon J. Gerraty <sjg@bad.crufty.net> 2 3 * VERSION: 20180919 4 Merge with NetBSD make, pick up 5 o var.c: add :q 6 o dir.c: cleanup caching of stats 7 82018-09-21 Simon J Gerraty <sjg@beast.crufty.net> 9 10 * Makefile.config.in: use += where it makes sense. 11 122018-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 13 14 * VERSION: 20180512 15 Merge with NetBSD make, pick up 16 o job.c: skip polling job token pipe 17 182018-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 19 20 * VERSION: 20180405 21 Merge with NetBSD make, pick up 22 o parse.c: be more cautious about detecting depenency line 23 rather than sysV style include. 24 252018-02-22 Simon J. Gerraty <sjg@bad.crufty.net> 26 27 * VERSION: 20180222 28 Merge with NetBSD make, pick up 29 o parse.c: avoid calling sysconf for every call to loadfile 30 312018-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 32 33 * VERSION: 20180218 34 Merge with NetBSD make, pick up 35 o var.c: Var_Set handle NULL value anytime. 36 372018-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 38 39 * VERSION: 20180212 40 Merge with NetBSD make, pick up 41 o parse.c: do not treat .info as warning with -W 42 432017-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 44 45 * VERSION: 20171207 46 Merge with NetBSD make, pick up 47 o var.c: Var_Append use Var_Set if var not previously set 48 so that VAR_CMD is handled correctly. 49 Add a suitable unit-test. 50 512017-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 52 53 * VERSION (_MAKE_VERSION): 20171126 54 55 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__ 56 since AC_TRY_COMPILE puts input inside main() 57 which upsets modern compilers. 58 592017-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 60 61 * VERSION: 20171118 62 Merge with NetBSD make, pick up 63 o var.c: do not append to variable set on command line 64 add unit-test to catch this. 65 662017-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 67 68 * VERSION: 20171028 69 Merge with NetBSD make, pick up 70 o main.c: ignore empty MAKEOBJDIR 71 72 * Makefile.config.in: 73 make @prefix@ @machine*@ and @default_sys_path@ defaults. 74 752017-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 76 77 * VERSION: 20171005 78 79 * unit-tests/dotwait.mk: redirect stderr through pipe for more 80 consistent result on some platforms. 81 822017-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 83 84 * machine.sh: entry for AIX 85 862017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 87 88 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION 89 to a file that can be included by configure as well as make. 90 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh 91 922017-08-10 Simon J. Gerraty <sjg@bad.crufty.net> 93 94 * Makefile (_MAKE_VERSION): 20170810 95 Merge with NetBSD make, pick up 96 o meta.c: if target is in subdir we only need subdir name in 97 meta_name. 98 992017-07-20 Simon J. Gerraty <sjg@bad.crufty.net> 100 101 * Makefile (_MAKE_VERSION): 20170720 102 Merge with NetBSD make, pick up 103 o compat.c: pass SIGINT etc onto child and wait for it to exit 104 before we self-terminate. 105 1062017-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 107 108 * Makefile (_MAKE_VERSION): 20170711 109 forgot to update after merge on 20170708 ;-) 110 o main.c: refactor to reduce size of main function. 111 add -v option to always fully expand values. 112 o meta.c: ensure command output in meta file has ending newline 113 even when filemon not being used. 114 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use 115 pathname via ':L' since any ':' in pathname breaks that. 116 Instead set a '${.p.}' to pathname in the target context and 117 use that. 118 1192017-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 120 121 * Makefile (_MAKE_VERSION): 20170510 122 Merge with NetBSD make, pick up 123 o main.c: Main_SetObjdir: ensure buf2 is in scope 124 1252017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 126 127 * Makefile (_MAKE_VERSION): 20170505 128 see mk/ChangeLog 129 1302017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 131 132 * parse.c: not everyone has stdint.h 133 1342017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 135 136 * Makefile (_MAKE_VERSION): 20170501 137 see mk/ChangeLog 138 1392017-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 140 141 * Makefile (_MAKE_VERSION): 20170421 142 Merge with NetBSD make, pick up 143 o str.c: Str_Match: fix closure tests for [^] and add unit-test. 144 1452017-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 146 147 * Makefile (_MAKE_VERSION): 20170420 148 Merge with NetBSD make, pick up 149 o main.c: only use -C arg "as is" if it contains no 150 relative component. 151 1522017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 153 154 * Makefile (_MAKE_VERSION): 20170418 155 Merge with NetBSD make, pick up 156 o main.c: fix Main_SetObjdir() for relative paths (eg obj). 157 1582017-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 159 160 * Makefile (_MAKE_VERSION): 20170417 161 Merge with NetBSD make, pick up 162 o fixes a number of coverity complaints 163 - check return value of fseek, fcntl 164 - plug memory leak in Dir_FindFile, Var_LoopExpand, 165 JobPrintCommand, ParseTraditionalInclude 166 - use bmake_malloc() where NULL is not tollerated 167 - use MAKE_ATTR_UNUSED rather that kludges like 168 return(unused ? 0 : 0) 169 - use purge_cached_realpaths() rather than abuse cached_realpath() 170 1712017-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 172 173 * Makefile (_MAKE_VERSION): 20170413 174 Merge with NetBSD make, pick up 175 o main.c: when setting .OBJDIR ignore '$' in paths. 176 177 * job.c: use MALLOC_OPTIONS to set malloc_options. 178 1792017-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 180 181 * Makefile (_MAKE_VERSION): 20170411 182 Merge with NetBSD make, pick up 183 o str.c: Str_Match: allow [^a-z] to behave as expected. 184 1852017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 186 187 * Makefile (_MAKE_VERSION): 20170326 188 Merge with NetBSD make, pick up 189 o main.c: purge relative paths from realpath cache when .OBJDIR 190 is changed. 191 1922017-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 193 194 * Makefile (_MAKE_VERSION): 20170311 195 Merge with NetBSD make, pick up 196 o main.c: only use -C arg "as is" if it starts with '/'. 197 1982017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 199 200 * Makefile (_MAKE_VERSION): 20170301 201 Merge with NetBSD make, pick up 202 o main.c: use -C arg "as is" rather than getcwd() 203 if they identify the same directory. 204 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case 205 2062017-02-01 Simon J. Gerraty <sjg@bad.crufty.net> 207 208 * Makefile (_MAKE_VERSION): 20170201 209 Merge with NetBSD make, pick up 210 o var.c: allow :_=var and avoid use of special context. 211 2122017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 213 214 * Makefile (_MAKE_VERSION): 20170130 215 Merge with NetBSD make, pick up 216 o var.c: add :range and :_ 217 o main.c: partially initialize Dir_* before MainParseArgs() 218 can be called. 219 If -V, skip Main_ExportMAKEFLAGS() 220 2212017-01-14 Simon J. Gerraty <sjg@bad.crufty.net> 222 223 * Makefile (_MAKE_VERSION): 20170114 224 Merge with NetBSD make, pick up 225 o var.c: allow specifying the utc value used by :{gm,local}time 226 2272016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 228 229 * Makefile (_MAKE_VERSION): 20161212 230 Merge with NetBSD make, pick up 231 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too. 232 2332016-12-09 Simon J. Gerraty <sjg@bad.crufty.net> 234 235 * Makefile (_MAKE_VERSION): 20161209 236 Merge with NetBSD make, pick up 237 o main.c: cleanup setting of .OBJDIR 238 o parse.c: avoid coredump from (var)=val 239 2402016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 241 242 * Makefile (_MAKE_VERSION): 20161126 243 Merge with NetBSD make, pick up 244 o make.c: Make_OODate: report src node name if path not set 245 2462016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 247 248 * Makefile (_MAKE_VERSION): 20160926 249 Merge with NetBSD make, pick up 250 o support for .DELETE_ON_ERROR: (remove targets that fail) 251 2522016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 253 254 * Makefile MAN: tweak .Dt to match ${PROG} 255 2562016-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 257 258 * Makefile (_MAKE_VERSION): 20160818 259 its a neater number; pick up whitespace fixes to man page. 260 2612016-08-17 Simon J. Gerraty <sjg@bad.crufty.net> 262 263 * Makefile (_MAKE_VERSION): 20160817 264 Merge with NetBSD make, pick up 265 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore() 266 so we can call it before adding entries to missingFiles. 267 Thus we do not track files we have been told to ignore. 268 2692016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 270 271 * Makefile (_MAKE_VERSION): 20160815 272 Merge with NetBSD make, pick up 273 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to 274 pathnames, and skip if the expansion is empty. 275 Useful for dirdeps.mk when checking DIRDEPS_CACHE. 276 2772016-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 278 279 * Makefile (_MAKE_VERSION): 20160812 280 Merge with NetBSD make, pick up 281 o meta.c: remove all missingFiles entries that match a deleted 282 dir. 283 o main.c: set .ERROR_CMD if possible. 284 2852016-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 286 287 * Makefile (_MAKE_VERSION): 20160606 288 Merge with NetBSD make, pick up 289 o dir.c: extend mtimes cache to others via cached_stat() 290 2912016-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 292 293 * Makefile (_MAKE_VERSION): 20160604 294 Merge with NetBSD make, pick up 295 o meta.c: missing filemon data is only relevant if we read a 296 meta file. 297 Also do not return oodate for a missing metafile if gn->path 298 points to .CURDIR 299 3002016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 301 302 * Makefile (_MAKE_VERSION): 20160602 303 Merge with NetBSD make, pick up 304 o cached_realpath(): avoid hitting filesystem more than necessary. 305 o meta.c: refactor need_meta decision, add knobs for 306 missing meta file and filemon data wrt out-of-datedness. 307 3082016-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 309 310 * Makefile (_MAKE_VERSION): 20160528 311 312 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 313 3142016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 315 316 * Makefile (_MAKE_VERSION): 20160512 317 Merge with NetBSD make, pick up 318 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS 319 this is useful for gcov builds. 320 o propagate errors from filemon(4). 321 3222016-05-09 Simon J. Gerraty <sjg@bad.crufty.net> 323 324 * Makefile (_MAKE_VERSION): 20160509 325 Merge with NetBSD make, pick up 326 o remove use of non-standard types u_int etc. 327 o meta.c: apply realpath() before matching against metaIgnorePaths 328 3292016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 330 331 * Makefile (_MAKE_VERSION): 20160404 332 Merge with NetBSD make, pick up 333 o allow makefile to set .MAKE.JOBS 334 335 * Makefile (PROG_NAME): use ${_MAKE_VERSION} 336 3372016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 338 339 * Makefile (_MAKE_VERSION): 20160315 340 Merge with NetBSD make, pick up 341 o fix handling of archive members 342 3432016-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 344 345 * Makefile (_MAKE_VERSION): rename variable to avoid interference 346 with checks for ${MAKE_VERSION} 347 3482016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 349 350 * Makefile (MAKE_VERSION): 20160310 351 Merge with NetBSD make, pick up 352 o meta.c: treat missing Read file same as Write, incase we Delete it. 353 3542016-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 355 356 * Makefile (MAKE_VERSION): 20160307 357 Merge with NetBSD make, pick up 358 o var.c: fix :ts\nnn to be octal by default. 359 o meta.c: meta_finish() to cleanup memory. 360 3612016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 362 363 * Makefile (MAKE_VERSION): 20160226 364 Merge with NetBSD make, pick up 365 o meta.c: allow meta file for makeDepend if makefiles want it. 366 3672016-02-19 Simon J. Gerraty <sjg@bad.crufty.net> 368 369 * var.c: default .MAKE.SAVE_DOLLARS to FALSE 370 for backwards compatability. 371 372 * Makefile (MAKE_VERSION): 20160220 373 Merge with NetBSD make, pick up 374 o var.c: add knob to control handling of '$$' in := 375 3762016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 377 378 * Makefile (MAKE_VERSION): 20160218 379 Merge with NetBSD make, pick up 380 o var.c: add .export-literal allows us to fix sys.clean-env.mk 381 post the changes to Var_Subst. 382 Var_Subst now takes flags, and does not consume '$$' in := 383 3842016-02-17 Simon J. Gerraty <sjg@bad.crufty.net> 385 386 * Makefile (MAKE_VERSION): 20160217 387 Merge with NetBSD make, pick up 388 o var.c: preserve '$$' in := 389 o parse.c: add .dinclude for handling included 390 makefile like .depend 391 3922015-12-20 Simon J. Gerraty <sjg@bad.crufty.net> 393 394 * Makefile (MAKE_VERSION): 20151220 395 Merge with NetBSD make, pick up 396 o suff.c: re-initialize suffNull when clearing suffixes. 397 3982015-12-01 Simon J. Gerraty <sjg@bad.crufty.net> 399 400 * Makefile (MAKE_VERSION): 20151201 401 Merge with NetBSD make, pick up 402 o cond.c: CondCvtArg: avoid access beyond end of empty buffer. 403 o meta.c: meta_oodate: use lstat(2) for checking link target 404 in case it is a symlink. 405 o var.c: avoid calling brk_string and Var_Export1 with empty 406 strings. 407 4082015-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 409 410 * Makefile (MAKE_VERSION): 20151126 411 Merge with NetBSD make, pick up 412 o parse.c: ParseTrackInput don't access beyond 413 end of old value. 414 4152015-10-22 Simon J. Gerraty <sjg@bad.crufty.net> 416 417 * Makefile (MAKE_VERSION): 20151022 418 419 * Add support for BSD/OS which lacks inttypes.h 420 and really needs sys/param.h for sys/sysctl.h 421 also 'type' is not a shell builtin. 422 423 * var.c: eliminate uint32_t and need for inttypes.h 424 425 * main.c: PrintOnError flush stdout before run .ERROR 426 427 * parse.c: cope with _SC_PAGESIZE not being defined. 428 429 4302015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 431 432 * Makefile (MAKE_VERSION): 20151020 433 Merge with NetBSD make, pick up 434 o var.c: fix uninitialized var 435 4362015-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 437 438 * var.c: the conditional expressions used with ':?' can be 439 expensive, if already discarding do not evaluate or expand 440 anything. 441 4422015-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 443 444 * Makefile (MAKE_VERSION): 20151010 445 Merge with NetBSD make, pick up 446 o Add Boolean wantit flag to Var_Subst and Var_Parse 447 when FALSE we know we are discarding the result and can 448 skip operations like Cmd_Exec. 449 4502015-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 451 452 * Makefile (MAKE_VERSION): 20151009 453 Merge with NetBSD make, pick up 454 o var.c: don't check for NULL before free() 455 o meta.c: meta_oodate, do not hard code ignore of makeDependfile 456 4572015-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 458 459 * Makefile (MAKE_VERSION): 20150910 460 Merge with NetBSD make, pick up 461 o main.c: with -w print Enter/Leaving messages for objdir too 462 if necessary. 463 o centralize shell metachar handling 464 465 * FILES: add metachar.[ch] 466 4672015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 468 469 * Makefile (MAKE_VERSION): 20150606 470 Merge with NetBSD make, pick up 471 o make.1: document .OBJDIR target 472 4732015-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 474 475 * Makefile (MAKE_VERSION): 20150505 476 Merge with NetBSD make, pick up 477 o cond.c: be strict about lhs of comparison when evaluating .if 478 but less so when called from variable expansion. 479 o unit-tests/cond2.mk: test various error conditions 480 4812015-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 482 483 * machine.sh (MACHINE): Add Bitrig 484 patch from joerg@netbsd.org 485 4862015-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 487 488 * Makefile (MAKE_VERSION): 20150418 489 Merge with NetBSD make, pick up 490 o job.c: use memmove() rather than memcpy() 491 492 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL 493 case, so skip it. 494 4952015-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 496 497 * Makefile (MAKE_VERSION): 20150411 498 bump version - only mk/ changes. 499 5002015-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 501 502 * Makefile (MAKE_VERSION): 20150410 503 Merge with NetBSD make, pick up 504 o document different handling of '-' in jobs mode vs compat 505 o fix jobs mode so that '-' only applies to whole job 506 when shell lacks hasErrCtl 507 o meta.c: use separate vars to track lcwd and latestdir (read) 508 per process 509 5102015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 511 512 * Makefile (MAKE_VERSION): 20150401 513 Merge with NetBSD make, pick up 514 o meta.c: close meta file in child 515 516 * Makefile: use BINDIR.bmake if set. 517 Same for MANDIR and SHAREDIR 518 Handy for testing release candidates 519 in various environments. 520 5212015-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 522 523 * move initialization of savederr to block where it is used 524 to avoid spurious warning from gcc5 525 5262014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 527 528 * Makefile (MAKE_VERSION): 20141111 529 just a cooler number 530 5312014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 532 533 * Makefile (MAKE_VERSION): 20141105 534 Merge with NetBSD make, pick up 535 o revert major overhaul of suffix handling 536 and POSIX compliance - too much breakage 537 and impossible to make backwards compatible. 538 o we still have the new unit test structure which is ok. 539 o meta.c ensure "-- filemon" is at start of line. 540 5412014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 542 543 * configure.in: test that result of getconf PATH_MAX is numeric 544 and discard if not. Apparently needed for Hurd. 545 5462014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 547 548 * Makefile (MAKE_VERSION): 20140830 549 Merge with NetBSD make, pick up 550 o major overhaul of suffix handling 551 o improved POSIX compliance 552 o overhauled unit-tests 553 5542014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 555 556 * Makefile (MAKE_VERSION): 20140620 557 Merge with NetBSD make, pick up 558 o var.c return varNoError rather than var_Error for ::= modifiers. 559 5602014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 561 562 * Makefile (MAKE_VERSION): 20140522 563 Merge with NetBSD make, pick up 564 o var.c detect some parse errors. 565 5662014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 567 568 * Fix spelling errors - patch from Pedro Giffuni 569 5702014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 571 572 * Makefile (MAKE_VERSION): 20140214 573 Merge with NetBSD make, pick up 574 o .INCLUDEFROM* 575 o use Var_Value to get MAKEOBJDIR[PREFIX] 576 o reduced realloc'ign in brk_string. 577 * configure.in: add a check for compiler supporting __func__ 578 5792014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 580 581 * boot-strap: ignore mksrc=none 582 5832014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 584 585 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 586 5872014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 588 589 * Makefile (MAKE_VERSION): 20140101 590 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 591 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 592 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 593 Hurd) 594 * configure.in: Add AC_PREREQ and check for 595 sysctl; patch from Andrew Shadura andrewsh at debian.org 596 5972013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 598 599 * Makefile (MAKE_VERSION): 20131010 600 * lose the const from arg to systcl to avoid problems on older BSDs. 601 6022013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 603 604 * Makefile (MAKE_VERSION): 20131001 605 Merge with NetBSD make, pick up 606 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 607 hw.machine_arch if necessary. 608 o meta.c: meta_oodate - need to look at src of Link and target 609 of Move as well. 610 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 611 provide __arraycount() if needed. 612 6132013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 614 615 * Makefile (MAKE_VERSION): 20130904 616 Merge with NetBSD make, pick up 617 o Add VAR_INTERNAL context, so that internal setting of 618 MAKEFILE does not override value set by makefiles. 619 6202013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 621 622 * Makefile (MAKE_VERSION): 20130902 623 Merge with NetBSD make, pick up 624 o CompatRunCommand: only apply shellErrFlag when errCheck is true 625 6262013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 627 628 * Makefile (MAKE_VERSION): 20130828 629 Merge with NetBSD make, pick up 630 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 631 o Call Job_SetPrefix() from Job_Init() so makefiles have 632 opportunity to set .MAKE.JOB.PREFIX 633 6342013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 635 636 * Makefile (MAKE_VERSION): 20130730 637 Merge with NetBSD make, pick up 638 o Allow suppression of --- job -- tokens by setting 639 .MAKE.JOB.PREFIX empty. 640 6412013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 642 643 * Makefile (MAKE_VERSION): 20130716 644 Merge with NetBSD make, pick up 645 o number of gmake compatibility tweaks 646 -w for gmake style entering/leaving messages 647 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 648 handle MAKEFLAGS containing only letters. 649 o when overriding a GLOBAL variable on the command line, 650 delete it from GLOBAL context so -V doesn't show the wrong 651 value. 652 6532013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 654 655 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 656 657 * Makefile (MAKE_VERSION): 20130706 658 Merge with NetBSD make, pick up 659 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 660 true so that CompatRunCommand() can use it, to ensure 661 consistent behavior with jobs mode. 662 o use MAKE_LEVEL_ENV to define the variable to propagate 663 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 664 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 665 paths to ignore. 666 6672013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 668 669 * Makefile (MAKE_VERSION): 20130604 670 Merge with NetBSD make, pick up 671 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 672 to avoid leaking descriptors. 673 6742013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 675 676 * Makefile (MAKE_VERSION): 20130528 677 Merge with NetBSD make, pick up 678 o var.c: cleanup some left-overs in VarHash() 679 6802013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 681 682 * Makefile (MAKE_VERSION): 20130520 683 generate manifest from component FILES rather than have to 684 update FILES when mk/FILES changes. 685 6862013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 687 688 * Makefile (MAKE_VERSION): 20130518 689 Merge with NetBSD make, pick up 690 o suff.c: don't skip all processsing for .PHONY targets 691 else wildcard srcs do not get expanded. 692 o var.c: expand name of variable to delete if necessary. 693 6942013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 695 696 * Makefile (MAKE_VERSION): 20130330 697 Merge with NetBSD make, pick up 698 o meta.c: refine the handling of .OODATE in commands. 699 Rather than suppress command comparison for the entire script 700 as though .NOMETA_CMP had been used, only suppress it for the 701 one command line. 702 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 703 suppress comparison of a command without otherwise affecting it. 704 o make.1: document that 705 7062013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 707 708 * Makefile (MAKE_VERSION): 20130321 709 yes, not quite right but its a cooler number. 710 Merge with NetBSD make, pick up 711 o parse.c: fix ParseGmakeExport to be portable 712 and add a unit-test. 713 * meta.c: call meta_init() before makefiles are read and if built 714 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 715 this let's makefiles test for support. 716 Call meta_mode_init() to process .MAKE.MODE. 717 7182013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 719 720 * Makefile (MAKE_VERSION): 20130305 721 Merge with NetBSD make, pick up 722 o run .STALE: target when a dependency from .depend is missing. 723 o job.c: add Job_RunTarget() for the above and .BEGIN 724 7252013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 726 727 * Makefile (MAKE_VERSION): 20130303 728 Merge with NetBSD make, pick up 729 o main.c: set .MAKE.OS to utsname.sysname 730 o job.c: more checks for read and poll errors 731 o var.c: lose VarChangeCase() saves 4% time 732 7332013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 734 735 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 736 want to use MAKEOBJDIR 737 7382013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 739 740 * Merge with NetBSD make, pick up 741 o make.1: more info on how shell commands are handled. 742 o job.c,main.c: detect write errors to job pipes. 743 7442013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 745 746 * Makefile (MAKE_VERSION): 20130123 747 Merge with NetBSD make, pick up 748 o meta.c: if script uses .OODATE and meta_oodate() decides 749 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 750 o var.c: in debug output indicate which variabale modifiers 751 apply to. 752 o remove Check_Cwd logic the makefiles have been fixed. 753 7542012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 755 756 * makefile.in: add a simple makefile for folk who insist on 757 ./configure; make; make install 758 it just runs boot-strap 759 * include mk/* to accommodate the above 760 * boot-strap: re-work to accommodate the above 761 mksrc defaults to $Mydir/mk 762 allow op={configure,build,install,clean,all} 763 add options to facilitate install 764 * Makefile.config.in: just the bits set by configure 765 * Makefile: bump version to 20121212 766 abandon Makefile.in (NetBSD Makefile) 767 leverage mk/* instead 768 * configure.in: ensure srcdir is absolute 769 7702012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 771 772 * Makefile.in (MAKE_VERSION): 20121111 773 fix generation of bmake.cat1 774 7752012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 776 777 * Makefile.in (MAKE_VERSION): 20121109 778 Merge with NetBSD make, pick up 779 o make.c: MakeBuildChild: return 0 so search continues if a 780 .ORDER dependency is detected. 781 o unit-tests/order: test the above 782 7832012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 784 785 * Makefile.in (MAKE_VERSION): 20121102 786 Merge with NetBSD make, pick up 787 o cond.c: allow cond_state[] to grow. 788 In meta mode with a very large tree, we can hit the limit 789 while processing dirdeps. 790 7912012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 792 793 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 794 7952012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 796 797 * Makefile.in (MAKE_VERSION): 20121010 798 o protect syntax that only bmake parses correctly. 799 o remove auto setting of FORCE_MACHINE, use configure's 800 --with-force-machine=whatever if that is desired. 801 8022012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 803 804 * Makefile.in: do not lose history from make.1 when generating bmake.1 805 8062012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 807 808 * Makefile.in (MAKE_VERSION): 20121007 809 Merge with NetBSD make, pick up 810 o compat.c: ignore empty commands - same as jobs mode. 811 o make.1: document meta chars that cause use of shell 812 8132012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 814 815 * Makefile.in (MAKE_VERSION): bump version to 20120911 816 * bsd.after-import.mk: include Makefile.inc early and allow it to 817 override PROG 818 8192012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 820 821 * Makefile.in (MAKE_VERSION): bump version to 20120831 822 Merge with NetBSD make, pick up 823 o cast sizeof() to int for comparison 824 o minor make.1 tweak 825 8262012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 827 828 * Makefile.in (MAKE_VERSION): bump version to 20120830 829 Merge with NetBSD make, pick up 830 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 831 o debug flag -dV causes -V to show raw value regardless. 832 8332012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 834 835 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 836 gets SRCTOP set. 837 8382012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 839 840 * Makefile.in (MAKE_VERSION): bump version to 20120704 841 Merge with NetBSD make, pick up 842 o Job_ParseShell should call Shell_Init if it has been 843 previously called. 844 * Makefile.in: set USE_META based on configure result. 845 also .PARSEDIR is safer indicator of bmake. 846 8472012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 848 849 * Makefile.in: bump version to 20120626 850 ensure CPPFLAGS is in CFLAGS 851 * meta.c: avoid nested externs 852 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 853 8542012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 855 856 * Makefile.in (MAKE_VERSION): bump version to 20120620 857 Merge with NetBSD make, pick up 858 o make_malloc.c: avoid including make_malloc.h again 859 860 * Makefile.in: avoid bmake only syntax or protect with 861 .if defined(.MAKE.LEVEL) 862 * bsd.after-import.mk: replace .-include with .sinclude 863 ensure? SRCTOP gets a value 864 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 865 8662012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 867 868 * Makefile.in (MAKE_VERSION): bump version to 20120612 869 Merge with NetBSD make, pick up 870 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 871 for greater portability. 872 o unit-tests/forloop: check that .for works as expected wrt 873 number of times and with "quoted strings". 874 8752012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 876 877 * Makefile.in (MAKE_VERSION): bump version to 20120606 878 Merge with NetBSD make, pick up 879 o compat.c: use kill(2) rather than raise(3). 880 * configure.in: look for sys/dev/filemon 881 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 882 and pass BOOTSTRAP_XTRAS to boot-strap. 883 8842012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 885 886 * Makefile.in (MAKE_VERSION): bump version to 20120604 887 Merge with NetBSD make, pick up 888 o util.c and var.c share same var for tracking if environ 889 has been reallocated. 890 o util.c provide getenv with setenv. 891 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 892 when the shell actively strips .MAKE.* from the environment. 893 We still refer to the variable always as .MAKE.LEVEL 894 * util.c fix bug in findenv() was finding prefix of name. 895 * compat.c: re-raising SIGINT etc after running .INTERRUPT 896 results in more reliable termination of all activity on many 897 platforms. 898 8992012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 900 901 * Makefile.in (MAKE_VERSION): bump version to 20120602 902 Merge with NetBSD make, pick up 903 o for.c: handle quoted items in .for list 904 9052012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 906 907 * Makefile.in (MAKE_VERSION): bump version to 20120530 908 Merge with NetBSD make, pick up 909 o compat.c: ignore empty command. 910 9112012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 912 913 * Makefile.in (MAKE_VERSION): bump version to 20120524 914 * FILES: add bsd.after-import.mk: 915 A simple means of integrating bmake into a BSD build system. 916 9172012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 918 919 * Makefile.in (MAKE_VERSION): bump version to 20120520 920 Merge with NetBSD make, pick up 921 o increased limit for nested conditionals. 922 9232012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 924 925 * Makefile.in (MAKE_VERSION): bump version to 20120518 926 Merge with NetBSD make, pick up 927 o use _exit(2) in signal hanlder 928 o Don't use the [dir] cache when building nodes that might have 929 changed since the last exec. 930 o Avoid nested extern declaration warnings. 931 9322012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 933 934 * meta.c (fgetLine): avoid %z - not portable. 935 * parse.c: Since we moved include of sys/mman.h 936 and def's of MAP_COPY etc. we got dups from a merge. 937 9382012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 939 940 * Makefile.in (MAKE_VERSION): bump version to 20120420 941 Merge with NetBSD make, pick up 942 o restore duplicate supression in .MAKE.MAKEFILES 943 runtime saving can be significant. 944 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 945 consumption up to 20%. 946 9472012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 948 949 * Makefile.in (MAKE_VERSION): bump version to 20120420 950 Merge with NetBSD make, pick up 951 o remove duplicate supression in .MAKE.MAKEFILES 952 o improved dir cache behavior 953 o gmake'ish export command 954 9552012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 956 957 * Makefile.in (MAKE_VERSION): bump version to 20120325 958 Merge with NetBSD make, pick up 959 o fix parsing of :[#] in conditionals. 960 9612012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 962 963 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 964 since some systems cannot cope with .Nx <version> 965 9662011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 967 968 * Makefile.in (MAKE_VERSION): bump version to 20111111 969 Merge with NetBSD make, pick up 970 o debug output for .PARSEDIR and .PARSEFILE 971 9722011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 973 974 * Makefile.in (MAKE_VERSION): bump version to 20111010 975 9762011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 977 978 * boot-strap: check for an expected file in the dirs we look for. 979 * make-bootstrap.sh: pass on LDSTATIC 980 9812011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 982 983 * Makefile.in (MAKE_VERSION): bump version to 20111001 984 Merge with NetBSD make, pick up 985 o ensure .PREFIX is set for .PHONY 986 and .TARGET set for .PHONY run via .END 987 o __dead used consistently 988 9892011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 990 991 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 992 9932011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 994 995 * Makefile.in (MAKE_VERSION): bump version to 20110905 996 Merge with NetBSD make, pick up 997 o meta_oodate: ignore makeDependfile 998 9992011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1000 1001 * Makefile.in (MAKE_VERSION): bump version to 20110828 1002 Merge with NetBSD make, pick up 1003 o silent=yes in .MAKE.MODE causes meta mode to mark targets 1004 as SILENT if a .meta file is created 1005 10062011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 1007 1008 * Makefile.in (MAKE_VERSION): bump version to 20110818 1009 Merge with NetBSD make, pick up 1010 o in meta mode, if target flagged .META a missing .meta file 1011 means target is out-of-date 1012 o fixes for gcc 4.5 warnings 1013 o simplify job printing code 1014 10152011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 1016 1017 * Makefile.in (MAKE_VERSION): bump version to 20110808 1018 Merge with NetBSD make, pick up 1019 o do not touch OP_SPECIAL targets when doing make -t 1020 10212011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 1022 1023 * Makefile.in (MAKE_VERSION): bump version to 20110622 1024 Merge with NetBSD make, pick up 1025 o meta_oodate detect corrupted .meta file and declare oodate. 1026 * configure.in: add check for setsid 1027 10282011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 1029 1030 * Merge with NetBSD make, pick up 1031 o unit-tests/modts now works on MirBSD 1032 10332011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1034 1035 * Makefile.in (MAKE_VERSION): bump version to 20110606 1036 Merge with NetBSD make, pick up 1037 o ApplyModifiers: when we parse a variable which is not 1038 the entire modifier string, or not followed by ':', do not 1039 consider it as containing modifiers. 1040 o loadfile: ensure newline at end of mapped file. 1041 10422011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1043 1044 * Makefile.in (MAKE_VERSION): bump version to 20110505 1045 Merge with NetBSD make, pick up 1046 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 1047 of make's control. In meta mode, any generated file within 1048 said bailiwick, which is found to be missing, causes current 1049 target to be out-of-date. 1050 10512011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 1052 1053 * Makefile.in (MAKE_VERSION): bump version to 20110411 1054 Merge with NetBSD make, pick up 1055 o when long modifiers fail to match, check sysV style. 1056 - add a test case 1057 10582011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 1059 1060 * Makefile.in (MAKE_VERSION): bump version to 20110410 1061 Merge with NetBSD make, pick up 1062 o :hash - cheap 32bit hash of value 1063 o :localtime, :gmtime - use value as format string for strftime. 1064 10652011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1066 1067 * Makefile.in (MAKE_VERSION): bump version to 20110330 1068 mostly because its a cooler version. 1069 Merge with NetBSD make, pick up 1070 o NetBSD tags for meta.[ch] 1071 o job.c call meta_job_finish() after meta_job_error(). 1072 o meta_job_error() should call meta_job_finish() to ensure 1073 .meta file is closed, and safe to copy - if .ERROR target wants. 1074 meta_job_finish() is safe to call repeatedly. 1075 10762011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1077 1078 * unit-tests/modts: use printf if it is a builtin, 1079 to save us from MirBSD 1080 1081 * Makefile.in (MAKE_VERSION): bump version to 20110329 1082 Merge with NetBSD make, pick up 1083 o fix for use after free() in CondDoExists(). 1084 o meta_oodate() report extra commands and return earlier. 1085 10862011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 1087 1088 * Makefile.in (MAKE_VERSION): bump version to 20110327 1089 Merge with NetBSD make, pick up 1090 o meta.c, if .MAKE.MODE contains curdirOk=yes 1091 allow creating .meta files in .CURDIR 1092 * boot-strap (TOOL_DIFF): aparently at least on linux distro 1093 formats the output of 'type' differently - so eat any "()" 1094 10952011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 1096 1097 * Makefile.in (MAKE_VERSION): bump version to 20110306 1098 Merge with NetBSD make, pick up 1099 o meta.c, only do getcwd() once 1100 11012011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 1102 1103 * Makefile.in (MAKE_VERSION): bump version to 20110305 1104 Merge with NetBSD make, pick up 1105 o correct sysV substitution handling of empty lhs and variable 1106 o correct exists() check for dir with trailing / 1107 o correct handling of modifiers for non-existant variables 1108 during evaluation of conditionals. 1109 o ensure MAP_FILE is defined. 1110 o meta.c use curdir[] now exported by main.c 1111 11122011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 1113 1114 * Makefile.in (MAKE_VERSION): bump version to 20110225 1115 Merge with NetBSD make, pick up 1116 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 1117 makefiles have been read. 1118 o fix example of :? modifier in man page. 1119 11202011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 1121 1122 * Makefile.in (MAKE_VERSION): bump version to 20110214 1123 Merge with NetBSD make, pick up 1124 o meta.c handle realpath() failing when generating meta file 1125 name. 1126 1127 * sigcompat.c: convert to ansi so we can use higher warning levels. 1128 1129 11302011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 1131 1132 * Makefile.in (MAKE_VERSION): bump version to 20110207 1133 Merge with NetBSD make, pick up 1134 o fix for bug in meta mode. 1135 11362011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 1137 1138 * parse.c: SunOS 5.8 at least does not have MAP_FILE 1139 11402011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 1141 1142 * Makefile.in (MAKE_VERSION): bump version to 20110101 1143 Merge with NetBSD make, pick up 1144 o use mmap(2) if available, for reading makefiles 1145 11462010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 1147 1148 * Makefile.in (MAKE_VERSION): bump version to 20101215 1149 Merge with NetBSD make, pick up 1150 o ensure meta_job_error() does not report a previous .meta file 1151 as being culprit. 1152 11532010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 1154 1155 * Makefile.in (MAKE_VERSION): bump version to 20101210 1156 Merge with NetBSD make, pick up 1157 o meta_oodate: track cwd per process, and only consider target 1158 out-of-date if missing file is outside make's CWD. 1159 Ignore files in /tmp/ etc. 1160 o to ensure unit-tests results match, need to control LC_ALL 1161 as well as LANG. 1162 o fix for parsing bug in var.c 1163 11642010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1165 1166 * Makefile.in (MAKE_VERSION): bump version to 20101126 1167 Merge with NetBSD make, pick up 1168 o if stale dependency is an IMPSRC, search via .PATH 1169 o meta_oodate: if a referenced file is missing, target is 1170 out-of-date. 1171 o meta_oodate: if a target uses .OODATE in its commands, 1172 it (.OODATE) needs to be recomputed. 1173 o keep a pointer to youngest child node, rather than just its 1174 mtime. 1175 11762010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 1177 1178 * Makefile.in (MAKE_VERSION): bump version to 20101101 1179 11802010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 1181 1182 * machine.sh: like os.sh, 1183 allow for uname -p producing useless drivel 1184 11852010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 1186 1187 * boot-strap: document configure knobs for meta and filemon. 1188 1189 * Makefile.in (MAKE_VERSION): bump version to 20100911 1190 Merge with NetBSD make, pick up 1191 o meta.c - meta mode 1192 1193 * make-bootstrap.sh.in: handle meta.c 1194 * configure.in: add knobs for use_meta and filemon_h 1195 also, look for dirname, str[e]sep and strlcpy 1196 * util.c: add simple err[x] and warn[x] 1197 11982010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1199 1200 * boot-strap (TOOL_DIFF): set this to ensure tests use 1201 the same version of diff that configure tested 1202 1203 * Makefile.in (MAKE_VERSION): bump version to 20100808 1204 Merge with NetBSD make, pick up 1205 o in jobs mode, when we discover we cannot make something, 1206 call PrintOnError before exit. 1207 12082010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 1209 1210 * Makefile.in (MAKE_VERSION): bump version to 20100806 1211 Merge with NetBSD make, pick up 1212 o formatting fixes for ignored errors 1213 o ensure jobs are cleaned up regardless of where wait() was called. 1214 12152010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1216 1217 * Makefile.in (MAKE_VERSION): bump version to 20100618 1218 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 1219 12202010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1221 1222 * Makefile.in (MAKE_VERSION): bump version to 20100616 1223 Merge with NetBSD make, pick up 1224 o man page update 1225 o call PrintOnError from JobFinish when we detect an error we 1226 are not ignoring. 1227 12282010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1229 1230 * Makefile.in (MAKE_VERSION): bump version to 20100606 1231 Merge with NetBSD make, pick up 1232 o man page update 1233 12342010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 1235 1236 * Makefile.in (MAKE_VERSION): bump version to 20100605 1237 Merge with NetBSD make, pick up 1238 o use bmake_signal() which is a wrapper around sigaction() 1239 in place of signal() 1240 o add .export-env to allow exporting variables to environment 1241 without tracking (so no re-export when the internal value is 1242 changed). 1243 12442010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1245 1246 * Makefile.in (MAKE_VERSION): bump version to 20100524 1247 Merge with NetBSD make, pick up 1248 o fix for .info et al being greedy. 1249 12502010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 1251 1252 * Makefile.in (MAKE_VERSION): bump version to 20100520 1253 Merge with NetBSD make, pick up 1254 o back to using realpath on argv[0] 1255 but only if contains '/' and does not start with '/'. 1256 12572010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1258 1259 * boot-strap: use absolute path for bmake when running tests. 1260 1261 * Makefile.in (MAKE_VERSION): bump version to 20100510 1262 Merge with NetBSD make, pick up 1263 o revert use of realpath on argv[0] 1264 too many corner cases. 1265 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 1266 12672010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1268 1269 * Makefile.in (MAKE_VERSION): bump version to 20100505 1270 Merge with NetBSD make, pick up 1271 o fix for missed SIGCHLD when compiled with SunPRO 1272 actually for bmake, defining FORCE_POSIX_SIGNALS would have 1273 done the job. 1274 12752010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1276 1277 * Makefile.in (MAKE_VERSION): bump version to 20100430 1278 Merge with NetBSD make, pick up 1279 o fflush stdout before writing to stdout 1280 12812010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 1282 1283 * Makefile.in (MAKE_VERSION): bump version to 20100423 1284 Merge with NetBSD make, pick up 1285 o updated unit tests for Haiku (this time for sure). 1286 * boot-strap: based on patch from joerg 1287 honor --with-default-sys-path better. 1288 * boot-strap: remove mention of --with-prefix-sys-path 1289 12902010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1291 1292 * Makefile.in (MAKE_VERSION): bump version to 20100422 1293 * Merge with NetBSD make, pick up 1294 o fix for vfork() on Darwin. 1295 o fix for bogus $TMPDIR. 1296 o set .MAKE.MODE=compat for -B 1297 o set .MAKE.JOBS=max_jobs for -j max_jobs 1298 o allow unit-tests to run without any *.mk 1299 o unit-tests/modmisc be more conservative in dirs presumed to exist. 1300 * boot-strap: ignore /usr/share/mk except on NetBSD. 1301 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 1302 ensure sort(1) behaves as expected. 1303 13042010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1305 1306 * boot-strap: add FindHereOrAbove so we can use -m .../mk 1307 13082010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1309 1310 * Makefile.in (MAKE_VERSION): bump version to 20100420 1311 * Merge with NetBSD make, pick up 1312 o fix for variable realpath() behavior. 1313 we have to stat(2) the result to be sure. 1314 o fix for .export (all) when nested vars use :sh 1315 13162010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 1317 1318 * Makefile.in (MAKE_VERSION): bump version to 20100414 1319 * Merge with NetBSD make, pick up 1320 o use realpath to resolve argv[0] (for .MAKE) if needed. 1321 o add realpath from libc. 1322 o add :tA to resolve variable via realpath(3) if possible. 1323 13242010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 1325 1326 * Makefile.in (MAKE_VERSION): bump version to 20100408 1327 * Merge with NetBSD make, pick up 1328 o unit tests for .ERROR, .error 1329 o fix for .ERROR to ensure it cannot be default target. 1330 13312010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 1332 1333 * Makefile.in (MAKE_VERSION): bump version to 20100406 1334 * Merge with NetBSD make, pick up 1335 o fix for compat mode "Error code" going to debug_file. 1336 o fix for .ALLSRC being populated twice. 1337 o support for .info, .warning and .error directives 1338 o .MAKE.MODE to control make's operational mode 1339 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 1340 name(s). 1341 o .MAKE.DEPENDFILE to control the name of the depend file 1342 o .ERROR target - run on failure. 1343 13442010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1345 1346 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 1347 1348 * os.sh,arch.c: patch for Haiku from joerg at netbsd 1349 13502010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 1351 1352 * Makefile.in (MAKE_VERSION): bump version to 20100222 1353 * Merge with NetBSD make, pick up 1354 o better error msg for .for with mutiple inter vars 1355 1356 * boot-strap: 1357 o use make-bootstrap.sh from joerg at netbsd 1358 to avoid the need for a native make when bootstrapping. 1359 o add "" everywhere ;-) 1360 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 1361 otherwise the pre-formated version. 1362 13632010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1364 1365 * Makefile.in (MAKE_VERSION): bump version to 20100102 1366 * Merge with NetBSD make, pick up: 1367 o fix for -m .../ 1368 13692009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 1370 1371 * Makefile.in (MAKE_VERSION): bump version to 20091118 1372 * Merge with NetBSD make, pick up: 1373 o .unexport 1374 o report lines that start with '.' and should have ':' 1375 (catch typo's of .el*if). 1376 13772009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1378 1379 * configure.in: Ensure that srcdir and mksrc are absolute paths. 1380 13812009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1382 1383 * Makefile.in (MAKE_VERSION): fix version to 20091007 1384 13852009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 1386 1387 * Makefile.in (MAKE_VERSION): bump version to 200910007 1388 * Merge with NetBSD make, pick up: 1389 o fix for parsing of :S;...;...; applied to .for loop iterator 1390 appearing in a dependency line. 1391 13922009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1393 1394 * Makefile.in (MAKE_VERSION): bump version to 20090909 1395 * Merge with NetBSD make, pick up: 1396 o fix for -C, .CURDIR and .OBJDIR 1397 * boot-strap: 1398 o allow share_dir to be set independent of prefix. 1399 o select default share_dir better when prefix ends in $HOST_TARGET 1400 o if FORCE_BSD_MK etc were set, include them in the suggested 1401 install-mk command. 1402 14032009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1404 1405 * Makefile.in (MAKE_VERSION): bump version to 20090908 1406 * Merge with NetBSD make, pick up: 1407 o .MAKE.LEVEL for recursion tracking 1408 o fix for :M scanning \: 1409 14102009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1411 1412 * configure.in: Don't -D__EXTENSIONS__ if 1413 AC_USE_SYSTEM_EXTENSIONS says "no". 1414 14152009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 1416 1417 * Makefile.in (MAKE_VERSION): bump version to 20090826 1418 Simplify MAKE_VERSION to just the bare date. 1419 * Merge with NetBSD make, pick up: 1420 o -C directory support. 1421 o support for SIGINFO 1422 o use $TMPDIR for temp files. 1423 o child of vfork should be careful about modifying parent's state. 1424 1425 14262009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1427 1428 * Appy some patches for MiNT from David Brownlee 1429 14302009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 1431 1432 * Makefile.in (BMAKE_VERSION): bump version to 20090222 1433 * Merge with NetBSD make, pick up: 1434 o Possible null pointer de-ref in Var_Set. 1435 14362009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 1437 1438 * Makefile.in (BMAKE_VERSION): bump version to 20090204 1439 * Merge with NetBSD make, pick up: 1440 o bmake_malloc et al moved to their own .c 1441 o Count both () and {} when looking for the end of a :M pattern 1442 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 1443 o strlist.c - functions for processing extendable arrays of pointers to strings. 1444 o ClientData replaced with void *, so const void * can be used. 1445 o New debug flag C for DEBUG_CWD 1446 14472008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1448 1449 * Makefile.in (BMAKE_VERSION): bump version to 20081111 1450 Apply patch from Joerg Sonnenberge to 1451 configure.in: 1452 o remove some redundant checks 1453 o check for emlloc etc only in libutil and require the whole family. 1454 util.c: 1455 o remove [v]asprintf which is no longer used. 1456 14572008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1458 1459 * Makefile.in (BMAKE_VERSION): bump version to 20081101 1460 * Merge with NetBSD make, pick up: 1461 o util.c: avoid use of putenv() - christos 1462 14632008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1464 1465 * Makefile.in (BMAKE_VERSION): bump version to 20081030 1466 pick up man page tweaks. 1467 14682008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 1469 1470 * Makefile.in: move processing of LIBOBJS to after is definition! 1471 thus we'll have getenv.c in SRCS only if needed. 1472 1473 * make.1: add examples of how to use :? 1474 1475 * Makefile.in (BMAKE_VERSION): bump version to 20081029 1476 * Merge with NetBSD make, pick up: 1477 o fix for .END processing with -j 1478 o segfault from Parse_Error when no makefile is open 1479 o handle numeric expressions in any variable expansion 1480 o debug output now defaults to stderr, -dF to change it - apb 1481 o make now uses bmake_malloc etc so that it can build natively 1482 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 1483 14842008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 1485 1486 * Makefile.in (BMAKE_VERSION): bump version to 20080808 1487 * Merge with NetBSD make, pick up: 1488 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 1489 long lines in Makefiles 1490 o optimizations for VarQuote by joerg 1491 o fix for PR/38756: dominik: make dumps core on invalid makefile 1492 14932008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 1494 1495 * Makefile.in (BMAKE_VERSION): bump version to 20080515 1496 * Merge with NetBSD make, pick up: 1497 o fix skip setting vars in VAR_GLOBAL context, to handle 1498 cases where VAR_CMD is used for other than command line vars. 1499 15002008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 1501 1502 * boot-strap (make_version): we may need to look in 1503 $prefix/share/mk for sys.mk 1504 1505 * Makefile.in (BMAKE_VERSION): bump version to 20080514 1506 * Merge with NetBSD make, pick up: 1507 o skip setting vars in VAR_GLOBAL context, when already set in 1508 VAR_CMD which takes precedence. 1509 15102008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 1511 1512 * Makefile.in (BMAKE_VERSION): bump version to 20080330 1513 * Merge with NetBSD make, pick up: 1514 o fix for ?= when LHS contains variable reference. 1515 15162008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1517 1518 * merge some patches from NetBSD pkgsrc. 1519 1520 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 1521 the MAKSYSPATH used during bootstrap. 1522 1523 * Makefile.in (BMAKE_VERSION): bump version to 20080215 1524 * Merge with NetBSD make, pick up: 1525 o warn if non-space chars follow 'empty' in a conditional. 1526 15272008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1528 1529 * Makefile.in (BMAKE_VERSION): bump version to 20080118 1530 * Merge with NetBSD make, pick up: 1531 o consider dependencies read from .depend as optional - dsl 1532 o remember when buffer for reading makefile grows - dsl 1533 o add -dl (aka LOUD) - David O'Brien 1534 15352007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 1536 1537 * Makefile.in (BMAKE_VERSION): bump version to 20071022 1538 * Merge with NetBSD make, pick up: 1539 o Allow .PATH<suffix> to be used for .include "" 1540 1541 * boot-strap: source default settings from .bmake-boot-strap.rc 1542 15432007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 1544 1545 * Makefile.in: fix maninstall on various systems 1546 provided that our man.mk is used. 1547 For non-BSD systems we install the preformatted page 1548 into $MANDIR/cat1 1549 15502007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 1551 1552 * boot-strap: make bmake.1 too, so maninstall works. 1553 15542007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 1555 1556 * Makefile.in (BMAKE_VERSION): bump version to 20071014 1557 * Merge with NetBSD make, pick up: 1558 o revamped handling of defshell - configure no longer needs to 1559 know the content of the shells array - apb 1560 o stop Var_Subst modifying its input - apb 1561 o avoid calling ParseTrackInput too often - dsl 1562 15632007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 1564 1565 * Makefile.in (BMAKE_VERSION): bump version to 20071011 1566 * Merge with NetBSD make, pick up: 1567 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 1568 1569 * sigcompat.c: some tweaks for HP-UX 11.x based on 1570 patch from Tobias Nygren 1571 1572 * configure.in: update handling of --with-defshell to match 1573 new make behavior. --with-defshell=/usr/xpg4/bin/sh 1574 will now do what one might hope - provided the chosen shell 1575 behaves enough like sh. 1576 15772007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 1578 1579 * Makefile.in (BMAKE_VERSION): bump to 20071008 1580 * Merge with NetBSD make, pick up: 1581 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 1582 o .export/.MAKE.EXPORTED - export of variables - sjg 1583 o .MAKE.MAKEFILES - track all makefiles read - sjg 1584 o performance improvements - dsl 1585 o revamp parallel job scheduling - dsl 1586 15872006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1588 1589 * Makefile.in (BMAKE_VERSION): bump to 20060728 1590 * Merge with NetBSD make, pick up: 1591 o extra debug info during variable and cond processing - sjg 1592 o shell definition now covers newline - rillig 1593 o minor mem leak in PrintOnError - sjg 1594 15952006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1596 1597 * Makefile.in (BMAKE_VERSION): bump to 20060511 1598 * Merge with NetBSD make, pick up: 1599 o more memory leaks - coverity 1600 o possible overflow in ArchFindMember - coverity 1601 o extract variable modifier code out of Var_Parse() 1602 so it can be called recursively - sjg 1603 o unit-tests/moderrs - sjg 1604 16052006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 1606 1607 * Makefile.in (BMAKE_VERSION): bump to 20060412 1608 * Merge with NetBSD make, pick up: 1609 o fixes for some memory leaks - coverity 1610 o only read first sys.mk etc when searching sysIncPath - sjg 1611 1612 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 1613 setting ${MAKEFILE} - OBATA Akio 1614 16152006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1616 1617 * Makefile.in (BMAKE_VERSION): bump to 20060318 1618 * Merge with NetBSD make, pick up: 1619 o cleanup of job.c to remove remote handling, distcc is more 1620 useful and this code was likely bit-rotting - dsl 1621 o fix for :P modifier - sjg 1622 * boot-strap: set default prefix to something reasonable 1623 (for me anyway). 1624 16252006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1626 1627 * Makefile.in (BMAKE_VERSION): bump to 20060301 1628 * Merge with NetBSD make, pick up: 1629 o make .WAIT apply recursively, document and test case - apb 1630 o allow variable modifiers in a variable appear anywhere in 1631 modifier list, document and test case - sjg 1632 16332006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 1634 1635 * Makefile.in (BMAKE_VERSION): bump to 20060222 1636 * Merge with NetBSD make, pick up: 1637 o improved job token handling - dsl 1638 o SIG_DFL the correct signal before exec - dsl 1639 o more debug info during parsing - dsl 1640 o allow variable modifiers to be specified via variable - sjg 1641 * boot-strap: explain why we died if no mksrc 1642 16432005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 1644 1645 * Makefile.in (BMAKE_VERSION): bump to 20051105 1646 * configure.in: always set default_sys_path 1647 default is ${prefix}/share/mk 1648 - remove prefix_sys_path, anyone wanting more than above 1649 needs to set it manually. 1650 16512005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1652 1653 * boot-strap: make this a bit easier for pkgsrc folk. 1654 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 1655 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 1656 16572005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 1658 1659 * Makefile.in (BMAKE_VERSION): bump to 20051102 1660 * job.c (JobFinish): fix likely ancient merge lossage 1661 fix from Todd Vierling. 1662 * boot-strap (srcdir): allow setting mksrc=none 1663 16642005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 1665 1666 * Makefile.in (BMAKE_VERSION): bump to 20051031 1667 * ranlib.h: skip on OSF too. 1668 (NetBSD PR 31864) 1669 16702005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 1671 1672 * Makefile.in (BMAKE_VERSION): bump to 20051002 1673 fix a silly typo 1674 16752005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1676 1677 * Makefile.in (BMAKE_VERSION): bump to 20051001 1678 support for UnixWare and some other systems, 1679 based on patches from pkgsrc/bootstrap 1680 16812005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1682 1683 * Makefile.in (BMAKE_VERSION): bump to 20050901 1684 * Merge with NetBSD make, pick up: 1685 o possible parse error causing us to wander off. 1686 16872005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 1688 1689 * Makefile.in (BMAKE_VERSION): bump to 20050606 1690 * Merge with NetBSD make, pick up: 1691 o :0x modifier for randomizing a list 1692 o fixes for a number of -Wuninitialized issues. 1693 16942005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 1695 1696 * Makefile.in (BMAKE_VERSION): bump to 20050530 1697 * Merge with NetBSD make, pick up: 1698 o Handle dependencies for .BEGIN, .END and .INTERRUPT 1699 1700 * README: was seriously out of date. 1701 17022005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1703 1704 * Important to use .MAKE rather than MAKE. 1705 17062005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 1707 1708 * Makefile.in (BMAKE_VERSION): bump to 20050315 1709 * Merge with NetBSD make, pick up: 1710 o don't mistake .elsefoo for .else 1711 o use suffix-specific search path correctly 1712 o bunch of style nits 1713 17142004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1715 1716 * boot-strap: 1717 o ensure that args to --src and --with-mksrc 1718 are resolved before giving them to configure. 1719 o add -o "objdir" so that builder can control it, 1720 default is $OS as determined by os.sh 1721 o add -q to suppress all the install instructions. 1722 17232004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 1724 1725 * Remove __IDSTRING() 1726 1727 * Makefile.in (BMAKE_VERSION): bump to 20040508 1728 * Merge with NetBSD make, pick up: 1729 o posix fixes 1730 - remove '-e' from compat mode 1731 - add support for '+' command-line prefix. 1732 o fix for handling '--' on command-line. 1733 o fix include in lst.lib/lstInt.h to simplify '-I's 1734 o we also picked up replacement of MAKE_BOOTSTRAP 1735 with !MAKE_NATIVE which is a noop, but possibly confusing. 1736 17372004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 1738 1739 * Makefile.in (BMAKE_VERSION): bump to 20040414 1740 * Merge with NetBSD make, pick up: 1741 o allow quoted strings on lhs of conditionals 1742 o issue warning when extra .else is seen 1743 o print line numer when errors encountered during parsing from 1744 string. 1745 17462004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 1747 1748 * Makefile.in (BMAKE_VERSION): bump to 20040220 1749 * Merge with NetBSD make, pick up: 1750 o fix for old :M parsing bug. 1751 o re-jigged unit-tests 1752 17532004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1754 1755 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 1756 so that './bmake -f Makefile test' works. 1757 17582004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1759 1760 * Makefile.in: (BMAKE_VERSION): bump to 20040214 1761 * Merge with NetBSD make, pick up: 1762 o search upwards for *.mk 1763 o fix for double free of var substitution buffers 1764 o use of getopt replaced with custom code, since the usage 1765 (re-scanning) isn't posix compatible. 1766 17672004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 1768 1769 * arch.c: don't include ranlib.h on ELF systems 1770 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 1771 17722004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1773 1774 * Makefile.in (BMAKE_VERSION): bump to 20040118 1775 1776 * boot-strap (while): export vars we assign to on cmdline 1777 * unit-test/Makefile.in: ternary is .PHONY 1778 17792004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 1780 1781 * Makefile.in (BMAKE_VERSION): bump version to 20040108 1782 * Merge with NetBSD make, pick up: 1783 o fix for ternary modifier 1784 17852004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 1786 1787 * Makefile.in (BMAKE_VERSION): bump version to 20040105 1788 * Merge with NetBSD make, pick up: 1789 o fix for cond.c to handle compound expressions better 1790 o variable expansion within sysV style replacements 1791 17922003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 1793 1794 * Make portable snprintf safer - output to /dev/null first to 1795 check space needed. 1796 1797 * Makefile.in (BMAKE_VERSION): bump version to 20031222 1798 * Merge with NetBSD make, pick up: 1799 o -dg3 to show input graph when things go wrong. 1800 o explicitly look for makefiles in objdir if not found in curdir so 1801 that errors in .depend etc will be reported accurarely. 1802 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 1803 instead as it more accurately reflects the expected behavior and 1804 is more consistently implemented. 1805 o avoid use of asprintf. 1806 18072003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1808 1809 * util.c: Add asprintf and vasprintf. 1810 1811 * Makefile.in (BMAKE_VERSION): bump version to 20030928 1812 * Merge with NetBSD make, pick up: 1813 :[] modifier - allows picking words from a variable. 1814 :tW modifier - allows treating value as one big word. 1815 W flag for :C and :S - allows treating value as one big word. 1816 18172003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 1818 1819 * Merge with NetBSD make 1820 pick up -de flag to enable printing failed command. 1821 don't skip 1st two dir entries (normally . and ..) since 1822 coda does not have them. 1823 18242003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1825 1826 * Makefile.in (BMAKE_VERSION): bump version to 20030909 1827 * Merge with NetBSD make, pick up: 1828 - changes for -V '${VAR}' to print fully expanded value 1829 cf. -V VAR 1830 - CompatRunCommand now prints the command that failed. 1831 - several files got updated 3 clause Berkeley license. 1832 18332003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 1834 1835 * boot-strap: Allow setting configure args on command line. 1836 18372003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1838 1839 * configure.in: add --with-defshell to allow sh or ksh 1840 to be selected as default shell. 1841 1842 * Makefile.in: bump version to 20030731 1843 1844 * Merge with NetBSD make 1845 Pick up .SHELL spec for ksh and associate man page changes. 1846 Also compat mode now uses the same shell specs. 1847 18482003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 1849 1850 * var.c (Var_Parse): ensure delim is initialized. 1851 1852 * unit-tests/Makefile.in: use single quotes to avoid problems from 1853 some shells. 1854 1855 * makefile.boot.in: 1856 Run the unit-tests as part of the bootstrap procedure. 1857 18582003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1859 1860 * unit-tests/Makefile.in: always force complaints from 1861 ${TEST_MAKE} to be from 'make'. 1862 1863 * configure.in: add check for 'diff -u' 1864 also fix some old autoconf'isms 1865 1866 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 1867 if using GCC add -Wno-cast-qual to CFLAGS for var.o 1868 1869 * Merge with NetBSD make 1870 Pick up fix for :ts parsing error in some cases. 1871 Pick unit-tests. 1872 18732003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 1874 1875 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 1876 1877 * var.c (Var_Parse): fix bug in :ts modifier, after const 1878 correctness fixes, must pass nstr to VarModify. 1879 18802003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 1881 1882 * Makefile.in: BMAKE_VERSION switch to a date based version. 1883 We'll generally use the date of last import from NetBSD. 1884 1885 * Merge with NetBSD make 1886 Pick up fixes for const-correctness, now passes WARNS=3 on 1887 NetBSD. 1888 Pick up :ts modifier, allows controlling the separator used 1889 between words in variable expansion. 1890 18912003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 1892 1893 * FILES: include boot-strap and os.sh 1894 1895 * Makefile.in: only set WARNS if we are NetBSD, the effect on 1896 FreeBSD is known to be bad. 1897 1898 * makefile.boot.in (bootstrap): make this the default target. 1899 1900 * Makefile.in: bump version to 3.1.19 1901 1902 * machine.sh: avoid A-Z with tr as it is bound to lose. 1903 19042003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 1905 1906 * Merge with NetBSD make 1907 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 1908 Plus some doc fixes. 1909 19102003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 1911 1912 * Merge with NetBSD make 1913 Pick up fix for PR/1523 - don't count a library as built, if there 1914 is no way to build it 1915 1916 * Bump version to 3.1.18 1917 19182003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 1919 1920 * Merge with NetBSD make 1921 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 1922 appears in src list. 1923 19242003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 1925 1926 * Merge with NetBSD make (mmm 10th anniversary!) 1927 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 1928 pick up -X which tells us to not export VAR=val via setenv if 1929 we are already doing so via MAKEFLAGS. This saves valuable env 1930 space on systems like Darwin. 1931 set MAKE_VERSION to 3.1.17 1932 1933 * parse.c: pix up fix for suffix rules 1934 19352003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 1936 1937 * Merge with NetBSD make. 1938 pick up fix for propagating -B via MAKEFLAGS. 1939 set MAKE_VERSION to 3.1.16 1940 1941 * Apply some patches from pkgsrc-bootstrap/bmake 1942 Originally by Grant Beattie <grant@netbsd.org> 1943 I may have missed some - since they are based on bmake-3.1.12 1944 19452002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 1946 1947 * makefile.boot.in (bmake): update install targets for those that 1948 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 1949 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 1950 1951 * bmake.cat1: update the pre-formatted man page! 1952 19532002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 1954 1955 * Merge with NetBSD make. 1956 pick up fix for premature free of pointer used in call 1957 to Dir_InitCur(). 1958 set MAKE_VERSION to 3.1.15 1959 19602002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 1961 1962 * configure.in: determine suitable value for MKSRC. 1963 override using --with-mksrc=PATH. 1964 1965 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 1966 configs(8) will use 'sun4' as an alias for 'sparc'. 1967 19682002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1969 1970 * Merge with NetBSD make. 1971 pick up ${.PATH} 1972 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 1973 set MAKE_VERSION to 3.1.14 1974 add configure checks for killpg and sys/socket.h 1975 19762002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 1977 1978 * tag bmake-3-1-13 1979 1980 * makefile.boot.in (bmake): use install-mk 1981 Also setup ./mk before trying to invoke bmake.boot incase we 1982 needed install-mk to create a sys.mk for us. 1983 1984 * configure.in: If we need to add -I${srcdir}/missing, make it an 1985 absolute path so that it works for lst.lib too. 1986 1987 * make.h: always include sys/cdefs.h since we provide one if the 1988 host does not. 1989 1990 * Makefile.in (install-mk): 1991 use MKSRC/install-mk which will do the right thing. 1992 use uname -p for ARCH if possible. 1993 since install-mk will setup links bsd.prog.mk -> prog.mk if 1994 needed, just .include bsd.prog.mk 1995 1996 * Merge with NetBSD make (NetBSD-1.6) 1997 Code is ansi-C only now. 1998 Bug in handling of dotLast is fixed. 1999 Can now assign .OBJDIR and make will reset its notions of life. 2000 New modifiers :tu :tl for toUpper and toLower. 2001 2002Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 2003 2004 * Merge with NetBSD make 2005 pick up fix for .END failure in compat mode. 2006 pick up fix for extra va_end() in ParseVErrorInternal. 2007 2008Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 2009 2010 * configure.in: for systems that have sys/cdefs.h check if it is 2011 compatible. If not, include the one under missing, but tell it to 2012 include the native one too - necessary on Linux. 2013 2014 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 2015 include_next (for gcc) to get the native sys/cdefs.h 2016 2017Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2018 2019 * job.c (JobFinish): Fix an earlier merge bug that resulted in 2020 leaking descriptors when using -jN. 2021 2022 * job.c (JobPrintCommand): See if "curdir" exists before 2023 attempting to chdir(). Doing the chdir directly in make (when in 2024 compat mode) fails silently, so let the -jN version do the same. 2025 This can happen when building kernels in an object tree and 2026 playing clever games to reset .CURDIR. 2027 2028 * Merged with NetBSD make 2029 pick up .USEBEFORE 2030 2031Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2032 2033 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 2034 2035Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2036 2037 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 2038 us not to export the iterator variable when using VAR_CMD context. 2039 2040Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2041 2042 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 2043 its the wrong "fix". 2044 2045Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2046 2047 * Redesigned export of VAR_CMD's via MAKEFLAGS. 2048 We now simply append the variable names to .MAKEOVERRIDES, and 2049 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 2050 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 2051 Apart from fixing quoting bugs in previous version, this allows us 2052 to export vars to the environment by simply doing: 2053 .MAKEOVERRIDES+= PATH 2054 Merged again with NetBSD make, but the above is the only change. 2055 2056 * configure.in: added 2057 --disable-pwd-override disable $PWD overriding getcwd() 2058 --disable-check-make-chdir disable make trying to guess 2059 when it should automatically cd ${.CURDIR} 2060 2061 * Merge with NetBSD make, changes include: 2062 parse.c (ParseDoDependency): Spot that the syntax error is 2063 caused by an unresolved cvs/rcs conflict and say so. 2064 var.c: most of Var* functions now take a ctxt as 1st arg. 2065 now does variable substituion on rhs of sysv style modifiers. 2066 2067 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 2068 is now done here. We append the name='value' to .MAKEOVERRIDES 2069 rather than directly into MAKEFLAGS as this allows a Makefile to 2070 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 2071 very similar mechanism. Note that in adding name='value' to 2072 .MAKEOVERRIDES we do the moral equivalent of: 2073 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 2074 2075Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2076 2077 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 2078 2079 * Merged with NetBSD make 2080 make -dx can now be used to run commands via sh -x 2081 better error messages on exec failures. 2082 2083Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2084 2085 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 2086 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 2087 MACHINE etc otherwise they propagate from the previous bmake. 2088 2089 * configure.in (machine): allow --with-machine=generic to make 2090 configure use machine.sh to set MACHINE. 2091 2092 * job.c (JobInterrupt): convert to using WAIT_T and friends. 2093 2094 * Makefile.in: mention in bmake.1 that we use autoconf. 2095 2096 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 2097 2098Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2099 2100 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 2101 as that rather defeats the usefulness of ${MAKEFILE}. 2102 2103 * main.c (MainParseArgs): append command line variable assignments 2104 to MAKEFLAGS so that they get propagated to child make's. 2105 Apparently this is required POSIX behaviour? Its useful anyway. 2106 2107Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2108 2109 * compat.c (CompatRunCommand): don't use perror() since stdio may 2110 cause problems in child of vfork(). 2111 2112 * compat.c, main.c: Call PrintOnError() when we are going to bail. 2113 This routine prints out the .curdir where we stopped and will also 2114 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 2115 2116 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 2117 :@ expansion. 2118 2119 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 2120 2121 * Added RCSid's for the files we've touched. 2122 2123Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2124 2125 * configure.in: Thanks to some clues from mdb@juniper.net, 2126 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 2127 as well as what ends up in _PATH_DEFSYSPATH. We now have: 2128 2129 --with-machine=MACHINE explicitly set MACHINE 2130 --with-force-machine=MACHINE set FORCE_MACHINE 2131 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 2132 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 2133 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 2134 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 2135 2136 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 2137 2138 * makefile: added a pathetically simple makefile to drive 2139 bootstrapping. Running configure by hand is more useful. 2140 2141 * Makefile.in: added MAKE_VERSION, and reworked things to be less 2142 dependent on NetBSD bsd.*.mk 2143 2144 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 2145 _PATH_OBJDIRPREFIX for those that don't want a default. 2146 construct _PATH_DEFSYSPATH from the info we get from configure. 2147 2148 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 2149 if MAKE_VERSION is defined. 2150 2151 * compat.c: when we bail, print out the .CURDIR we were in. 2152 2153Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2154 2155 * Merged with NetBSD make 2156 2157 * var.c: fixed a bug in the handling of the modifier :P 2158 if the node as found but the path was null, we segfault trying to 2159 duplicate it. 2160 2161Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2162 2163 * Merged with NetBSD make 2164 2165 * make.c: Make_OODate's test for a library out of date was using 2166 cmtime where it should have used mtime (my bug). 2167 2168 * compat.c: Use perror() to tell us what really went wrong when we 2169 cannot exec a command. 2170 2171Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2172 2173 * Merged with NetBSD make 2174 2175Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2176 2177 * Merged with NetBSD make 2178 2179Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2180 2181 * Merged with NetBSD make 2182 2183Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2184 2185 * Merged with NetBSD make 2186 2187Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2188 2189 * util.c: don't provide signal() since we use sigcompat.c 2190 2191 * Makefile.in: added a build target. 2192 2193 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 2194 These allow some quite clever magic. 2195 2196 * main.c (main): added support for getenv(MAKESYSPATH). 2197 2198Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2199 2200 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 2201 This avoids objdir having a different value depending on how a 2202 directory was reached (via command line, or subdir.mk). 2203 2204 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 2205 2206Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2207 2208 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 2209 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 2210 I've been testing this in NetBSD's make for some weeks. 2211 2212 * Turn Makefile into Makefile.in and make it useful. 2213 2214Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2215 2216 * Imported NetBSD's -current make(1) and resolve conflicts. 2217 2218 * Applied autoconf patches from bmake v2 2219 2220 * Imported clean code base from NetBSD-1.0 2221