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