12018-02-22 Simon J. Gerraty <sjg@bad.crufty.net> 2 3 * VERSION: 20180222 4 Merge with NetBSD make, pick up 5 o parse.c: avoid calling sysconf for every call to loadfile 6 72018-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 8 9 * VERSION: 20180218 10 Merge with NetBSD make, pick up 11 o var.c: Var_Set handle NULL value anytime. 12 132018-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 14 15 * VERSION: 20180212 16 Merge with NetBSD make, pick up 17 o parse.c: do not treat .info as warning with -W 18 192017-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 20 21 * VERSION: 20171207 22 Merge with NetBSD make, pick up 23 o var.c: Var_Append use Var_Set if var not previously set 24 so that VAR_CMD is handled correctly. 25 Add a suitable unit-test. 26 272017-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 28 29 * VERSION (_MAKE_VERSION): 20171126 30 31 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__ 32 since AC_TRY_COMPILE puts input inside main() 33 which upsets modern compilers. 34 352017-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 36 37 * VERSION: 20171118 38 Merge with NetBSD make, pick up 39 o var.c: do not append to variable set on command line 40 add unit-test to catch this. 41 422017-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 43 44 * VERSION: 20171028 45 Merge with NetBSD make, pick up 46 o main.c: ignore empty MAKEOBJDIR 47 48 * Makefile.config.in: 49 make @prefix@ @machine*@ and @default_sys_path@ defaults. 50 512017-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 52 53 * VERSION: 20171005 54 55 * unit-tests/dotwait.mk: redirect stderr through pipe for more 56 consistent result on some platforms. 57 582017-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 59 60 * machine.sh: entry for AIX 61 622017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 63 64 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION 65 to a file that can be included by configure as well as make. 66 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh 67 682017-08-10 Simon J. Gerraty <sjg@bad.crufty.net> 69 70 * Makefile (_MAKE_VERSION): 20170810 71 Merge with NetBSD make, pick up 72 o meta.c: if target is in subdir we only need subdir name in 73 meta_name. 74 752017-07-20 Simon J. Gerraty <sjg@bad.crufty.net> 76 77 * Makefile (_MAKE_VERSION): 20170720 78 Merge with NetBSD make, pick up 79 o compat.c: pass SIGINT etc onto child and wait for it to exit 80 before we self-terminate. 81 822017-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 83 84 * Makefile (_MAKE_VERSION): 20170711 85 forgot to update after merge on 20170708 ;-) 86 o main.c: refactor to reduce size of main function. 87 add -v option to always fully expand values. 88 o meta.c: ensure command output in meta file has ending newline 89 even when filemon not being used. 90 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use 91 pathname via ':L' since any ':' in pathname breaks that. 92 Instead set a '${.p.}' to pathname in the target context and 93 use that. 94 952017-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 96 97 * Makefile (_MAKE_VERSION): 20170510 98 Merge with NetBSD make, pick up 99 o main.c: Main_SetObjdir: ensure buf2 is in scope 100 1012017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 102 103 * Makefile (_MAKE_VERSION): 20170505 104 see mk/ChangeLog 105 1062017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 107 108 * parse.c: not everyone has stdint.h 109 1102017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 111 112 * Makefile (_MAKE_VERSION): 20170501 113 see mk/ChangeLog 114 1152017-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 116 117 * Makefile (_MAKE_VERSION): 20170421 118 Merge with NetBSD make, pick up 119 o str.c: Str_Match: fix closure tests for [^] and add unit-test. 120 1212017-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 122 123 * Makefile (_MAKE_VERSION): 20170420 124 Merge with NetBSD make, pick up 125 o main.c: only use -C arg "as is" if it contains no 126 relative component. 127 1282017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 129 130 * Makefile (_MAKE_VERSION): 20170418 131 Merge with NetBSD make, pick up 132 o main.c: fix Main_SetObjdir() for relative paths (eg obj). 133 1342017-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 135 136 * Makefile (_MAKE_VERSION): 20170417 137 Merge with NetBSD make, pick up 138 o fixes a number of coverity complaints 139 - check return value of fseek, fcntl 140 - plug memory leak in Dir_FindFile, Var_LoopExpand, 141 JobPrintCommand, ParseTraditionalInclude 142 - use bmake_malloc() where NULL is not tollerated 143 - use MAKE_ATTR_UNUSED rather that kludges like 144 return(unused ? 0 : 0) 145 - use purge_cached_realpaths() rather than abuse cached_realpath() 146 1472017-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 148 149 * Makefile (_MAKE_VERSION): 20170413 150 Merge with NetBSD make, pick up 151 o main.c: when setting .OBJDIR ignore '$' in paths. 152 153 * job.c: use MALLOC_OPTIONS to set malloc_options. 154 1552017-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 156 157 * Makefile (_MAKE_VERSION): 20170411 158 Merge with NetBSD make, pick up 159 o str.c: Str_Match: allow [^a-z] to behave as expected. 160 1612017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 162 163 * Makefile (_MAKE_VERSION): 20170326 164 Merge with NetBSD make, pick up 165 o main.c: purge relative paths from realpath cache when .OBJDIR 166 is changed. 167 1682017-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 169 170 * Makefile (_MAKE_VERSION): 20170311 171 Merge with NetBSD make, pick up 172 o main.c: only use -C arg "as is" if it starts with '/'. 173 1742017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 175 176 * Makefile (_MAKE_VERSION): 20170301 177 Merge with NetBSD make, pick up 178 o main.c: use -C arg "as is" rather than getcwd() 179 if they identify the same directory. 180 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case 181 1822017-02-01 Simon J. Gerraty <sjg@bad.crufty.net> 183 184 * Makefile (_MAKE_VERSION): 20170201 185 Merge with NetBSD make, pick up 186 o var.c: allow :_=var and avoid use of special context. 187 1882017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 189 190 * Makefile (_MAKE_VERSION): 20170130 191 Merge with NetBSD make, pick up 192 o var.c: add :range and :_ 193 o main.c: partially initialize Dir_* before MainParseArgs() 194 can be called. 195 If -V, skip Main_ExportMAKEFLAGS() 196 1972017-01-14 Simon J. Gerraty <sjg@bad.crufty.net> 198 199 * Makefile (_MAKE_VERSION): 20170114 200 Merge with NetBSD make, pick up 201 o var.c: allow specifying the utc value used by :{gm,local}time 202 2032016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 204 205 * Makefile (_MAKE_VERSION): 20161212 206 Merge with NetBSD make, pick up 207 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too. 208 2092016-12-09 Simon J. Gerraty <sjg@bad.crufty.net> 210 211 * Makefile (_MAKE_VERSION): 20161209 212 Merge with NetBSD make, pick up 213 o main.c: cleanup setting of .OBJDIR 214 o parse.c: avoid coredump from (var)=val 215 2162016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 217 218 * Makefile (_MAKE_VERSION): 20161126 219 Merge with NetBSD make, pick up 220 o make.c: Make_OODate: report src node name if path not set 221 2222016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 223 224 * Makefile (_MAKE_VERSION): 20160926 225 Merge with NetBSD make, pick up 226 o support for .DELETE_ON_ERROR: (remove targets that fail) 227 2282016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 229 230 * Makefile MAN: tweak .Dt to match ${PROG} 231 2322016-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 233 234 * Makefile (_MAKE_VERSION): 20160818 235 its a neater number; pick up whitespace fixes to man page. 236 2372016-08-17 Simon J. Gerraty <sjg@bad.crufty.net> 238 239 * Makefile (_MAKE_VERSION): 20160817 240 Merge with NetBSD make, pick up 241 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore() 242 so we can call it before adding entries to missingFiles. 243 Thus we do not track files we have been told to ignore. 244 2452016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 246 247 * Makefile (_MAKE_VERSION): 20160815 248 Merge with NetBSD make, pick up 249 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to 250 pathnames, and skip if the expansion is empty. 251 Useful for dirdeps.mk when checking DIRDEPS_CACHE. 252 2532016-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 254 255 * Makefile (_MAKE_VERSION): 20160812 256 Merge with NetBSD make, pick up 257 o meta.c: remove all missingFiles entries that match a deleted 258 dir. 259 o main.c: set .ERROR_CMD if possible. 260 2612016-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 262 263 * Makefile (_MAKE_VERSION): 20160606 264 Merge with NetBSD make, pick up 265 o dir.c: extend mtimes cache to others via cached_stat() 266 2672016-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 268 269 * Makefile (_MAKE_VERSION): 20160604 270 Merge with NetBSD make, pick up 271 o meta.c: missing filemon data is only relevant if we read a 272 meta file. 273 Also do not return oodate for a missing metafile if gn->path 274 points to .CURDIR 275 2762016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 277 278 * Makefile (_MAKE_VERSION): 20160602 279 Merge with NetBSD make, pick up 280 o cached_realpath(): avoid hitting filesystem more than necessary. 281 o meta.c: refactor need_meta decision, add knobs for 282 missing meta file and filemon data wrt out-of-datedness. 283 2842016-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 285 286 * Makefile (_MAKE_VERSION): 20160528 287 288 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 289 2902016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 291 292 * Makefile (_MAKE_VERSION): 20160512 293 Merge with NetBSD make, pick up 294 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS 295 this is useful for gcov builds. 296 o propagate errors from filemon(4). 297 2982016-05-09 Simon J. Gerraty <sjg@bad.crufty.net> 299 300 * Makefile (_MAKE_VERSION): 20160509 301 Merge with NetBSD make, pick up 302 o remove use of non-standard types u_int etc. 303 o meta.c: apply realpath() before matching against metaIgnorePaths 304 3052016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 306 307 * Makefile (_MAKE_VERSION): 20160404 308 Merge with NetBSD make, pick up 309 o allow makefile to set .MAKE.JOBS 310 311 * Makefile (PROG_NAME): use ${_MAKE_VERSION} 312 3132016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 314 315 * Makefile (_MAKE_VERSION): 20160315 316 Merge with NetBSD make, pick up 317 o fix handling of archive members 318 3192016-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 320 321 * Makefile (_MAKE_VERSION): rename variable to avoid interference 322 with checks for ${MAKE_VERSION} 323 3242016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 325 326 * Makefile (MAKE_VERSION): 20160310 327 Merge with NetBSD make, pick up 328 o meta.c: treat missing Read file same as Write, incase we Delete it. 329 3302016-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 331 332 * Makefile (MAKE_VERSION): 20160307 333 Merge with NetBSD make, pick up 334 o var.c: fix :ts\nnn to be octal by default. 335 o meta.c: meta_finish() to cleanup memory. 336 3372016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 338 339 * Makefile (MAKE_VERSION): 20160226 340 Merge with NetBSD make, pick up 341 o meta.c: allow meta file for makeDepend if makefiles want it. 342 3432016-02-19 Simon J. Gerraty <sjg@bad.crufty.net> 344 345 * var.c: default .MAKE.SAVE_DOLLARS to FALSE 346 for backwards compatability. 347 348 * Makefile (MAKE_VERSION): 20160220 349 Merge with NetBSD make, pick up 350 o var.c: add knob to control handling of '$$' in := 351 3522016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 353 354 * Makefile (MAKE_VERSION): 20160218 355 Merge with NetBSD make, pick up 356 o var.c: add .export-literal allows us to fix sys.clean-env.mk 357 post the changes to Var_Subst. 358 Var_Subst now takes flags, and does not consume '$$' in := 359 3602016-02-17 Simon J. Gerraty <sjg@bad.crufty.net> 361 362 * Makefile (MAKE_VERSION): 20160217 363 Merge with NetBSD make, pick up 364 o var.c: preserve '$$' in := 365 o parse.c: add .dinclude for handling included 366 makefile like .depend 367 3682015-12-20 Simon J. Gerraty <sjg@bad.crufty.net> 369 370 * Makefile (MAKE_VERSION): 20151220 371 Merge with NetBSD make, pick up 372 o suff.c: re-initialize suffNull when clearing suffixes. 373 3742015-12-01 Simon J. Gerraty <sjg@bad.crufty.net> 375 376 * Makefile (MAKE_VERSION): 20151201 377 Merge with NetBSD make, pick up 378 o cond.c: CondCvtArg: avoid access beyond end of empty buffer. 379 o meta.c: meta_oodate: use lstat(2) for checking link target 380 in case it is a symlink. 381 o var.c: avoid calling brk_string and Var_Export1 with empty 382 strings. 383 3842015-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 385 386 * Makefile (MAKE_VERSION): 20151126 387 Merge with NetBSD make, pick up 388 o parse.c: ParseTrackInput don't access beyond 389 end of old value. 390 3912015-10-22 Simon J. Gerraty <sjg@bad.crufty.net> 392 393 * Makefile (MAKE_VERSION): 20151022 394 395 * Add support for BSD/OS which lacks inttypes.h 396 and really needs sys/param.h for sys/sysctl.h 397 also 'type' is not a shell builtin. 398 399 * var.c: eliminate uint32_t and need for inttypes.h 400 401 * main.c: PrintOnError flush stdout before run .ERROR 402 403 * parse.c: cope with _SC_PAGESIZE not being defined. 404 405 4062015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 407 408 * Makefile (MAKE_VERSION): 20151020 409 Merge with NetBSD make, pick up 410 o var.c: fix uninitialized var 411 4122015-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 413 414 * var.c: the conditional expressions used with ':?' can be 415 expensive, if already discarding do not evaluate or expand 416 anything. 417 4182015-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 419 420 * Makefile (MAKE_VERSION): 20151010 421 Merge with NetBSD make, pick up 422 o Add Boolean wantit flag to Var_Subst and Var_Parse 423 when FALSE we know we are discarding the result and can 424 skip operations like Cmd_Exec. 425 4262015-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 427 428 * Makefile (MAKE_VERSION): 20151009 429 Merge with NetBSD make, pick up 430 o var.c: don't check for NULL before free() 431 o meta.c: meta_oodate, do not hard code ignore of makeDependfile 432 4332015-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 434 435 * Makefile (MAKE_VERSION): 20150910 436 Merge with NetBSD make, pick up 437 o main.c: with -w print Enter/Leaving messages for objdir too 438 if necessary. 439 o centralize shell metachar handling 440 441 * FILES: add metachar.[ch] 442 4432015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 444 445 * Makefile (MAKE_VERSION): 20150606 446 Merge with NetBSD make, pick up 447 o make.1: document .OBJDIR target 448 4492015-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 450 451 * Makefile (MAKE_VERSION): 20150505 452 Merge with NetBSD make, pick up 453 o cond.c: be strict about lhs of comparison when evaluating .if 454 but less so when called from variable expansion. 455 o unit-tests/cond2.mk: test various error conditions 456 4572015-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 458 459 * machine.sh (MACHINE): Add Bitrig 460 patch from joerg@netbsd.org 461 4622015-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 463 464 * Makefile (MAKE_VERSION): 20150418 465 Merge with NetBSD make, pick up 466 o job.c: use memmove() rather than memcpy() 467 468 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL 469 case, so skip it. 470 4712015-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 472 473 * Makefile (MAKE_VERSION): 20150411 474 bump version - only mk/ changes. 475 4762015-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 477 478 * Makefile (MAKE_VERSION): 20150410 479 Merge with NetBSD make, pick up 480 o document different handling of '-' in jobs mode vs compat 481 o fix jobs mode so that '-' only applies to whole job 482 when shell lacks hasErrCtl 483 o meta.c: use separate vars to track lcwd and latestdir (read) 484 per process 485 4862015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 487 488 * Makefile (MAKE_VERSION): 20150401 489 Merge with NetBSD make, pick up 490 o meta.c: close meta file in child 491 492 * Makefile: use BINDIR.bmake if set. 493 Same for MANDIR and SHAREDIR 494 Handy for testing release candidates 495 in various environments. 496 4972015-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 498 499 * move initialization of savederr to block where it is used 500 to avoid spurious warning from gcc5 501 5022014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 503 504 * Makefile (MAKE_VERSION): 20141111 505 just a cooler number 506 5072014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 508 509 * Makefile (MAKE_VERSION): 20141105 510 Merge with NetBSD make, pick up 511 o revert major overhaul of suffix handling 512 and POSIX compliance - too much breakage 513 and impossible to make backwards compatible. 514 o we still have the new unit test structure which is ok. 515 o meta.c ensure "-- filemon" is at start of line. 516 5172014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 518 519 * configure.in: test that result of getconf PATH_MAX is numeric 520 and discard if not. Apparently needed for Hurd. 521 5222014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 523 524 * Makefile (MAKE_VERSION): 20140830 525 Merge with NetBSD make, pick up 526 o major overhaul of suffix handling 527 o improved POSIX compliance 528 o overhauled unit-tests 529 5302014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 531 532 * Makefile (MAKE_VERSION): 20140620 533 Merge with NetBSD make, pick up 534 o var.c return varNoError rather than var_Error for ::= modifiers. 535 5362014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 537 538 * Makefile (MAKE_VERSION): 20140522 539 Merge with NetBSD make, pick up 540 o var.c detect some parse errors. 541 5422014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 543 544 * Fix spelling errors - patch from Pedro Giffuni 545 5462014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 547 548 * Makefile (MAKE_VERSION): 20140214 549 Merge with NetBSD make, pick up 550 o .INCLUDEFROM* 551 o use Var_Value to get MAKEOBJDIR[PREFIX] 552 o reduced realloc'ign in brk_string. 553 * configure.in: add a check for compiler supporting __func__ 554 5552014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 556 557 * boot-strap: ignore mksrc=none 558 5592014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 560 561 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 562 5632014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 564 565 * Makefile (MAKE_VERSION): 20140101 566 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 567 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 568 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 569 Hurd) 570 * configure.in: Add AC_PREREQ and check for 571 sysctl; patch from Andrew Shadura andrewsh at debian.org 572 5732013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 574 575 * Makefile (MAKE_VERSION): 20131010 576 * lose the const from arg to systcl to avoid problems on older BSDs. 577 5782013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 579 580 * Makefile (MAKE_VERSION): 20131001 581 Merge with NetBSD make, pick up 582 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 583 hw.machine_arch if necessary. 584 o meta.c: meta_oodate - need to look at src of Link and target 585 of Move as well. 586 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 587 provide __arraycount() if needed. 588 5892013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 590 591 * Makefile (MAKE_VERSION): 20130904 592 Merge with NetBSD make, pick up 593 o Add VAR_INTERNAL context, so that internal setting of 594 MAKEFILE does not override value set by makefiles. 595 5962013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 597 598 * Makefile (MAKE_VERSION): 20130902 599 Merge with NetBSD make, pick up 600 o CompatRunCommand: only apply shellErrFlag when errCheck is true 601 6022013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 603 604 * Makefile (MAKE_VERSION): 20130828 605 Merge with NetBSD make, pick up 606 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 607 o Call Job_SetPrefix() from Job_Init() so makefiles have 608 opportunity to set .MAKE.JOB.PREFIX 609 6102013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 611 612 * Makefile (MAKE_VERSION): 20130730 613 Merge with NetBSD make, pick up 614 o Allow suppression of --- job -- tokens by setting 615 .MAKE.JOB.PREFIX empty. 616 6172013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 618 619 * Makefile (MAKE_VERSION): 20130716 620 Merge with NetBSD make, pick up 621 o number of gmake compatibility tweaks 622 -w for gmake style entering/leaving messages 623 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 624 handle MAKEFLAGS containing only letters. 625 o when overriding a GLOBAL variable on the command line, 626 delete it from GLOBAL context so -V doesn't show the wrong 627 value. 628 6292013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 630 631 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 632 633 * Makefile (MAKE_VERSION): 20130706 634 Merge with NetBSD make, pick up 635 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 636 true so that CompatRunCommand() can use it, to ensure 637 consistent behavior with jobs mode. 638 o use MAKE_LEVEL_ENV to define the variable to propagate 639 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 640 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 641 paths to ignore. 642 6432013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 644 645 * Makefile (MAKE_VERSION): 20130604 646 Merge with NetBSD make, pick up 647 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 648 to avoid leaking descriptors. 649 6502013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 651 652 * Makefile (MAKE_VERSION): 20130528 653 Merge with NetBSD make, pick up 654 o var.c: cleanup some left-overs in VarHash() 655 6562013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 657 658 * Makefile (MAKE_VERSION): 20130520 659 generate manifest from component FILES rather than have to 660 update FILES when mk/FILES changes. 661 6622013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 663 664 * Makefile (MAKE_VERSION): 20130518 665 Merge with NetBSD make, pick up 666 o suff.c: don't skip all processsing for .PHONY targets 667 else wildcard srcs do not get expanded. 668 o var.c: expand name of variable to delete if necessary. 669 6702013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 671 672 * Makefile (MAKE_VERSION): 20130330 673 Merge with NetBSD make, pick up 674 o meta.c: refine the handling of .OODATE in commands. 675 Rather than suppress command comparison for the entire script 676 as though .NOMETA_CMP had been used, only suppress it for the 677 one command line. 678 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 679 suppress comparison of a command without otherwise affecting it. 680 o make.1: document that 681 6822013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 683 684 * Makefile (MAKE_VERSION): 20130321 685 yes, not quite right but its a cooler number. 686 Merge with NetBSD make, pick up 687 o parse.c: fix ParseGmakeExport to be portable 688 and add a unit-test. 689 * meta.c: call meta_init() before makefiles are read and if built 690 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 691 this let's makefiles test for support. 692 Call meta_mode_init() to process .MAKE.MODE. 693 6942013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 695 696 * Makefile (MAKE_VERSION): 20130305 697 Merge with NetBSD make, pick up 698 o run .STALE: target when a dependency from .depend is missing. 699 o job.c: add Job_RunTarget() for the above and .BEGIN 700 7012013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 702 703 * Makefile (MAKE_VERSION): 20130303 704 Merge with NetBSD make, pick up 705 o main.c: set .MAKE.OS to utsname.sysname 706 o job.c: more checks for read and poll errors 707 o var.c: lose VarChangeCase() saves 4% time 708 7092013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 710 711 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 712 want to use MAKEOBJDIR 713 7142013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 715 716 * Merge with NetBSD make, pick up 717 o make.1: more info on how shell commands are handled. 718 o job.c,main.c: detect write errors to job pipes. 719 7202013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 721 722 * Makefile (MAKE_VERSION): 20130123 723 Merge with NetBSD make, pick up 724 o meta.c: if script uses .OODATE and meta_oodate() decides 725 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 726 o var.c: in debug output indicate which variabale modifiers 727 apply to. 728 o remove Check_Cwd logic the makefiles have been fixed. 729 7302012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 731 732 * makefile.in: add a simple makefile for folk who insist on 733 ./configure; make; make install 734 it just runs boot-strap 735 * include mk/* to accommodate the above 736 * boot-strap: re-work to accommodate the above 737 mksrc defaults to $Mydir/mk 738 allow op={configure,build,install,clean,all} 739 add options to facilitate install 740 * Makefile.config.in: just the bits set by configure 741 * Makefile: bump version to 20121212 742 abandon Makefile.in (NetBSD Makefile) 743 leverage mk/* instead 744 * configure.in: ensure srcdir is absolute 745 7462012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 747 748 * Makefile.in (MAKE_VERSION): 20121111 749 fix generation of bmake.cat1 750 7512012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 752 753 * Makefile.in (MAKE_VERSION): 20121109 754 Merge with NetBSD make, pick up 755 o make.c: MakeBuildChild: return 0 so search continues if a 756 .ORDER dependency is detected. 757 o unit-tests/order: test the above 758 7592012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 760 761 * Makefile.in (MAKE_VERSION): 20121102 762 Merge with NetBSD make, pick up 763 o cond.c: allow cond_state[] to grow. 764 In meta mode with a very large tree, we can hit the limit 765 while processing dirdeps. 766 7672012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 768 769 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 770 7712012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 772 773 * Makefile.in (MAKE_VERSION): 20121010 774 o protect syntax that only bmake parses correctly. 775 o remove auto setting of FORCE_MACHINE, use configure's 776 --with-force-machine=whatever if that is desired. 777 7782012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 779 780 * Makefile.in: do not lose history from make.1 when generating bmake.1 781 7822012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 783 784 * Makefile.in (MAKE_VERSION): 20121007 785 Merge with NetBSD make, pick up 786 o compat.c: ignore empty commands - same as jobs mode. 787 o make.1: document meta chars that cause use of shell 788 7892012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 790 791 * Makefile.in (MAKE_VERSION): bump version to 20120911 792 * bsd.after-import.mk: include Makefile.inc early and allow it to 793 override PROG 794 7952012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 796 797 * Makefile.in (MAKE_VERSION): bump version to 20120831 798 Merge with NetBSD make, pick up 799 o cast sizeof() to int for comparison 800 o minor make.1 tweak 801 8022012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 803 804 * Makefile.in (MAKE_VERSION): bump version to 20120830 805 Merge with NetBSD make, pick up 806 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 807 o debug flag -dV causes -V to show raw value regardless. 808 8092012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 810 811 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 812 gets SRCTOP set. 813 8142012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 815 816 * Makefile.in (MAKE_VERSION): bump version to 20120704 817 Merge with NetBSD make, pick up 818 o Job_ParseShell should call Shell_Init if it has been 819 previously called. 820 * Makefile.in: set USE_META based on configure result. 821 also .PARSEDIR is safer indicator of bmake. 822 8232012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 824 825 * Makefile.in: bump version to 20120626 826 ensure CPPFLAGS is in CFLAGS 827 * meta.c: avoid nested externs 828 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 829 8302012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 831 832 * Makefile.in (MAKE_VERSION): bump version to 20120620 833 Merge with NetBSD make, pick up 834 o make_malloc.c: avoid including make_malloc.h again 835 836 * Makefile.in: avoid bmake only syntax or protect with 837 .if defined(.MAKE.LEVEL) 838 * bsd.after-import.mk: replace .-include with .sinclude 839 ensure? SRCTOP gets a value 840 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 841 8422012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 843 844 * Makefile.in (MAKE_VERSION): bump version to 20120612 845 Merge with NetBSD make, pick up 846 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 847 for greater portability. 848 o unit-tests/forloop: check that .for works as expected wrt 849 number of times and with "quoted strings". 850 8512012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 852 853 * Makefile.in (MAKE_VERSION): bump version to 20120606 854 Merge with NetBSD make, pick up 855 o compat.c: use kill(2) rather than raise(3). 856 * configure.in: look for sys/dev/filemon 857 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 858 and pass BOOTSTRAP_XTRAS to boot-strap. 859 8602012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 861 862 * Makefile.in (MAKE_VERSION): bump version to 20120604 863 Merge with NetBSD make, pick up 864 o util.c and var.c share same var for tracking if environ 865 has been reallocated. 866 o util.c provide getenv with setenv. 867 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 868 when the shell actively strips .MAKE.* from the environment. 869 We still refer to the variable always as .MAKE.LEVEL 870 * util.c fix bug in findenv() was finding prefix of name. 871 * compat.c: re-raising SIGINT etc after running .INTERRUPT 872 results in more reliable termination of all activity on many 873 platforms. 874 8752012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 876 877 * Makefile.in (MAKE_VERSION): bump version to 20120602 878 Merge with NetBSD make, pick up 879 o for.c: handle quoted items in .for list 880 8812012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 882 883 * Makefile.in (MAKE_VERSION): bump version to 20120530 884 Merge with NetBSD make, pick up 885 o compat.c: ignore empty command. 886 8872012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 888 889 * Makefile.in (MAKE_VERSION): bump version to 20120524 890 * FILES: add bsd.after-import.mk: 891 A simple means of integrating bmake into a BSD build system. 892 8932012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 894 895 * Makefile.in (MAKE_VERSION): bump version to 20120520 896 Merge with NetBSD make, pick up 897 o increased limit for nested conditionals. 898 8992012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 900 901 * Makefile.in (MAKE_VERSION): bump version to 20120518 902 Merge with NetBSD make, pick up 903 o use _exit(2) in signal hanlder 904 o Don't use the [dir] cache when building nodes that might have 905 changed since the last exec. 906 o Avoid nested extern declaration warnings. 907 9082012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 909 910 * meta.c (fgetLine): avoid %z - not portable. 911 * parse.c: Since we moved include of sys/mman.h 912 and def's of MAP_COPY etc. we got dups from a merge. 913 9142012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 915 916 * Makefile.in (MAKE_VERSION): bump version to 20120420 917 Merge with NetBSD make, pick up 918 o restore duplicate supression in .MAKE.MAKEFILES 919 runtime saving can be significant. 920 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 921 consumption up to 20%. 922 9232012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 924 925 * Makefile.in (MAKE_VERSION): bump version to 20120420 926 Merge with NetBSD make, pick up 927 o remove duplicate supression in .MAKE.MAKEFILES 928 o improved dir cache behavior 929 o gmake'ish export command 930 9312012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 932 933 * Makefile.in (MAKE_VERSION): bump version to 20120325 934 Merge with NetBSD make, pick up 935 o fix parsing of :[#] in conditionals. 936 9372012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 938 939 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 940 since some systems cannot cope with .Nx <version> 941 9422011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 943 944 * Makefile.in (MAKE_VERSION): bump version to 20111111 945 Merge with NetBSD make, pick up 946 o debug output for .PARSEDIR and .PARSEFILE 947 9482011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 949 950 * Makefile.in (MAKE_VERSION): bump version to 20111010 951 9522011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 953 954 * boot-strap: check for an expected file in the dirs we look for. 955 * make-bootstrap.sh: pass on LDSTATIC 956 9572011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 958 959 * Makefile.in (MAKE_VERSION): bump version to 20111001 960 Merge with NetBSD make, pick up 961 o ensure .PREFIX is set for .PHONY 962 and .TARGET set for .PHONY run via .END 963 o __dead used consistently 964 9652011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 966 967 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 968 9692011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 970 971 * Makefile.in (MAKE_VERSION): bump version to 20110905 972 Merge with NetBSD make, pick up 973 o meta_oodate: ignore makeDependfile 974 9752011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 976 977 * Makefile.in (MAKE_VERSION): bump version to 20110828 978 Merge with NetBSD make, pick up 979 o silent=yes in .MAKE.MODE causes meta mode to mark targets 980 as SILENT if a .meta file is created 981 9822011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 983 984 * Makefile.in (MAKE_VERSION): bump version to 20110818 985 Merge with NetBSD make, pick up 986 o in meta mode, if target flagged .META a missing .meta file 987 means target is out-of-date 988 o fixes for gcc 4.5 warnings 989 o simplify job printing code 990 9912011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 992 993 * Makefile.in (MAKE_VERSION): bump version to 20110808 994 Merge with NetBSD make, pick up 995 o do not touch OP_SPECIAL targets when doing make -t 996 9972011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 998 999 * Makefile.in (MAKE_VERSION): bump version to 20110622 1000 Merge with NetBSD make, pick up 1001 o meta_oodate detect corrupted .meta file and declare oodate. 1002 * configure.in: add check for setsid 1003 10042011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 1005 1006 * Merge with NetBSD make, pick up 1007 o unit-tests/modts now works on MirBSD 1008 10092011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1010 1011 * Makefile.in (MAKE_VERSION): bump version to 20110606 1012 Merge with NetBSD make, pick up 1013 o ApplyModifiers: when we parse a variable which is not 1014 the entire modifier string, or not followed by ':', do not 1015 consider it as containing modifiers. 1016 o loadfile: ensure newline at end of mapped file. 1017 10182011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1019 1020 * Makefile.in (MAKE_VERSION): bump version to 20110505 1021 Merge with NetBSD make, pick up 1022 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 1023 of make's control. In meta mode, any generated file within 1024 said bailiwick, which is found to be missing, causes current 1025 target to be out-of-date. 1026 10272011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 1028 1029 * Makefile.in (MAKE_VERSION): bump version to 20110411 1030 Merge with NetBSD make, pick up 1031 o when long modifiers fail to match, check sysV style. 1032 - add a test case 1033 10342011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 1035 1036 * Makefile.in (MAKE_VERSION): bump version to 20110410 1037 Merge with NetBSD make, pick up 1038 o :hash - cheap 32bit hash of value 1039 o :localtime, :gmtime - use value as format string for strftime. 1040 10412011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1042 1043 * Makefile.in (MAKE_VERSION): bump version to 20110330 1044 mostly because its a cooler version. 1045 Merge with NetBSD make, pick up 1046 o NetBSD tags for meta.[ch] 1047 o job.c call meta_job_finish() after meta_job_error(). 1048 o meta_job_error() should call meta_job_finish() to ensure 1049 .meta file is closed, and safe to copy - if .ERROR target wants. 1050 meta_job_finish() is safe to call repeatedly. 1051 10522011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1053 1054 * unit-tests/modts: use printf if it is a builtin, 1055 to save us from MirBSD 1056 1057 * Makefile.in (MAKE_VERSION): bump version to 20110329 1058 Merge with NetBSD make, pick up 1059 o fix for use after free() in CondDoExists(). 1060 o meta_oodate() report extra commands and return earlier. 1061 10622011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 1063 1064 * Makefile.in (MAKE_VERSION): bump version to 20110327 1065 Merge with NetBSD make, pick up 1066 o meta.c, if .MAKE.MODE contains curdirOk=yes 1067 allow creating .meta files in .CURDIR 1068 * boot-strap (TOOL_DIFF): aparently at least on linux distro 1069 formats the output of 'type' differently - so eat any "()" 1070 10712011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 1072 1073 * Makefile.in (MAKE_VERSION): bump version to 20110306 1074 Merge with NetBSD make, pick up 1075 o meta.c, only do getcwd() once 1076 10772011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 1078 1079 * Makefile.in (MAKE_VERSION): bump version to 20110305 1080 Merge with NetBSD make, pick up 1081 o correct sysV substitution handling of empty lhs and variable 1082 o correct exists() check for dir with trailing / 1083 o correct handling of modifiers for non-existant variables 1084 during evaluation of conditionals. 1085 o ensure MAP_FILE is defined. 1086 o meta.c use curdir[] now exported by main.c 1087 10882011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 1089 1090 * Makefile.in (MAKE_VERSION): bump version to 20110225 1091 Merge with NetBSD make, pick up 1092 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 1093 makefiles have been read. 1094 o fix example of :? modifier in man page. 1095 10962011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 1097 1098 * Makefile.in (MAKE_VERSION): bump version to 20110214 1099 Merge with NetBSD make, pick up 1100 o meta.c handle realpath() failing when generating meta file 1101 name. 1102 1103 * sigcompat.c: convert to ansi so we can use higher warning levels. 1104 1105 11062011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 1107 1108 * Makefile.in (MAKE_VERSION): bump version to 20110207 1109 Merge with NetBSD make, pick up 1110 o fix for bug in meta mode. 1111 11122011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 1113 1114 * parse.c: SunOS 5.8 at least does not have MAP_FILE 1115 11162011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 1117 1118 * Makefile.in (MAKE_VERSION): bump version to 20110101 1119 Merge with NetBSD make, pick up 1120 o use mmap(2) if available, for reading makefiles 1121 11222010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 1123 1124 * Makefile.in (MAKE_VERSION): bump version to 20101215 1125 Merge with NetBSD make, pick up 1126 o ensure meta_job_error() does not report a previous .meta file 1127 as being culprit. 1128 11292010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 1130 1131 * Makefile.in (MAKE_VERSION): bump version to 20101210 1132 Merge with NetBSD make, pick up 1133 o meta_oodate: track cwd per process, and only consider target 1134 out-of-date if missing file is outside make's CWD. 1135 Ignore files in /tmp/ etc. 1136 o to ensure unit-tests results match, need to control LC_ALL 1137 as well as LANG. 1138 o fix for parsing bug in var.c 1139 11402010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1141 1142 * Makefile.in (MAKE_VERSION): bump version to 20101126 1143 Merge with NetBSD make, pick up 1144 o if stale dependency is an IMPSRC, search via .PATH 1145 o meta_oodate: if a referenced file is missing, target is 1146 out-of-date. 1147 o meta_oodate: if a target uses .OODATE in its commands, 1148 it (.OODATE) needs to be recomputed. 1149 o keep a pointer to youngest child node, rather than just its 1150 mtime. 1151 11522010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 1153 1154 * Makefile.in (MAKE_VERSION): bump version to 20101101 1155 11562010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 1157 1158 * machine.sh: like os.sh, 1159 allow for uname -p producing useless drivel 1160 11612010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 1162 1163 * boot-strap: document configure knobs for meta and filemon. 1164 1165 * Makefile.in (MAKE_VERSION): bump version to 20100911 1166 Merge with NetBSD make, pick up 1167 o meta.c - meta mode 1168 1169 * make-bootstrap.sh.in: handle meta.c 1170 * configure.in: add knobs for use_meta and filemon_h 1171 also, look for dirname, str[e]sep and strlcpy 1172 * util.c: add simple err[x] and warn[x] 1173 11742010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1175 1176 * boot-strap (TOOL_DIFF): set this to ensure tests use 1177 the same version of diff that configure tested 1178 1179 * Makefile.in (MAKE_VERSION): bump version to 20100808 1180 Merge with NetBSD make, pick up 1181 o in jobs mode, when we discover we cannot make something, 1182 call PrintOnError before exit. 1183 11842010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 1185 1186 * Makefile.in (MAKE_VERSION): bump version to 20100806 1187 Merge with NetBSD make, pick up 1188 o formatting fixes for ignored errors 1189 o ensure jobs are cleaned up regardless of where wait() was called. 1190 11912010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1192 1193 * Makefile.in (MAKE_VERSION): bump version to 20100618 1194 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 1195 11962010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1197 1198 * Makefile.in (MAKE_VERSION): bump version to 20100616 1199 Merge with NetBSD make, pick up 1200 o man page update 1201 o call PrintOnError from JobFinish when we detect an error we 1202 are not ignoring. 1203 12042010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1205 1206 * Makefile.in (MAKE_VERSION): bump version to 20100606 1207 Merge with NetBSD make, pick up 1208 o man page update 1209 12102010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 1211 1212 * Makefile.in (MAKE_VERSION): bump version to 20100605 1213 Merge with NetBSD make, pick up 1214 o use bmake_signal() which is a wrapper around sigaction() 1215 in place of signal() 1216 o add .export-env to allow exporting variables to environment 1217 without tracking (so no re-export when the internal value is 1218 changed). 1219 12202010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1221 1222 * Makefile.in (MAKE_VERSION): bump version to 20100524 1223 Merge with NetBSD make, pick up 1224 o fix for .info et al being greedy. 1225 12262010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 1227 1228 * Makefile.in (MAKE_VERSION): bump version to 20100520 1229 Merge with NetBSD make, pick up 1230 o back to using realpath on argv[0] 1231 but only if contains '/' and does not start with '/'. 1232 12332010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1234 1235 * boot-strap: use absolute path for bmake when running tests. 1236 1237 * Makefile.in (MAKE_VERSION): bump version to 20100510 1238 Merge with NetBSD make, pick up 1239 o revert use of realpath on argv[0] 1240 too many corner cases. 1241 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 1242 12432010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1244 1245 * Makefile.in (MAKE_VERSION): bump version to 20100505 1246 Merge with NetBSD make, pick up 1247 o fix for missed SIGCHLD when compiled with SunPRO 1248 actually for bmake, defining FORCE_POSIX_SIGNALS would have 1249 done the job. 1250 12512010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1252 1253 * Makefile.in (MAKE_VERSION): bump version to 20100430 1254 Merge with NetBSD make, pick up 1255 o fflush stdout before writing to stdout 1256 12572010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 1258 1259 * Makefile.in (MAKE_VERSION): bump version to 20100423 1260 Merge with NetBSD make, pick up 1261 o updated unit tests for Haiku (this time for sure). 1262 * boot-strap: based on patch from joerg 1263 honor --with-default-sys-path better. 1264 * boot-strap: remove mention of --with-prefix-sys-path 1265 12662010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1267 1268 * Makefile.in (MAKE_VERSION): bump version to 20100422 1269 * Merge with NetBSD make, pick up 1270 o fix for vfork() on Darwin. 1271 o fix for bogus $TMPDIR. 1272 o set .MAKE.MODE=compat for -B 1273 o set .MAKE.JOBS=max_jobs for -j max_jobs 1274 o allow unit-tests to run without any *.mk 1275 o unit-tests/modmisc be more conservative in dirs presumed to exist. 1276 * boot-strap: ignore /usr/share/mk except on NetBSD. 1277 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 1278 ensure sort(1) behaves as expected. 1279 12802010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1281 1282 * boot-strap: add FindHereOrAbove so we can use -m .../mk 1283 12842010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1285 1286 * Makefile.in (MAKE_VERSION): bump version to 20100420 1287 * Merge with NetBSD make, pick up 1288 o fix for variable realpath() behavior. 1289 we have to stat(2) the result to be sure. 1290 o fix for .export (all) when nested vars use :sh 1291 12922010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 1293 1294 * Makefile.in (MAKE_VERSION): bump version to 20100414 1295 * Merge with NetBSD make, pick up 1296 o use realpath to resolve argv[0] (for .MAKE) if needed. 1297 o add realpath from libc. 1298 o add :tA to resolve variable via realpath(3) if possible. 1299 13002010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 1301 1302 * Makefile.in (MAKE_VERSION): bump version to 20100408 1303 * Merge with NetBSD make, pick up 1304 o unit tests for .ERROR, .error 1305 o fix for .ERROR to ensure it cannot be default target. 1306 13072010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 1308 1309 * Makefile.in (MAKE_VERSION): bump version to 20100406 1310 * Merge with NetBSD make, pick up 1311 o fix for compat mode "Error code" going to debug_file. 1312 o fix for .ALLSRC being populated twice. 1313 o support for .info, .warning and .error directives 1314 o .MAKE.MODE to control make's operational mode 1315 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 1316 name(s). 1317 o .MAKE.DEPENDFILE to control the name of the depend file 1318 o .ERROR target - run on failure. 1319 13202010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1321 1322 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 1323 1324 * os.sh,arch.c: patch for Haiku from joerg at netbsd 1325 13262010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 1327 1328 * Makefile.in (MAKE_VERSION): bump version to 20100222 1329 * Merge with NetBSD make, pick up 1330 o better error msg for .for with mutiple inter vars 1331 1332 * boot-strap: 1333 o use make-bootstrap.sh from joerg at netbsd 1334 to avoid the need for a native make when bootstrapping. 1335 o add "" everywhere ;-) 1336 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 1337 otherwise the pre-formated version. 1338 13392010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1340 1341 * Makefile.in (MAKE_VERSION): bump version to 20100102 1342 * Merge with NetBSD make, pick up: 1343 o fix for -m .../ 1344 13452009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 1346 1347 * Makefile.in (MAKE_VERSION): bump version to 20091118 1348 * Merge with NetBSD make, pick up: 1349 o .unexport 1350 o report lines that start with '.' and should have ':' 1351 (catch typo's of .el*if). 1352 13532009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1354 1355 * configure.in: Ensure that srcdir and mksrc are absolute paths. 1356 13572009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1358 1359 * Makefile.in (MAKE_VERSION): fix version to 20091007 1360 13612009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 1362 1363 * Makefile.in (MAKE_VERSION): bump version to 200910007 1364 * Merge with NetBSD make, pick up: 1365 o fix for parsing of :S;...;...; applied to .for loop iterator 1366 appearing in a dependency line. 1367 13682009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1369 1370 * Makefile.in (MAKE_VERSION): bump version to 20090909 1371 * Merge with NetBSD make, pick up: 1372 o fix for -C, .CURDIR and .OBJDIR 1373 * boot-strap: 1374 o allow share_dir to be set independent of prefix. 1375 o select default share_dir better when prefix ends in $HOST_TARGET 1376 o if FORCE_BSD_MK etc were set, include them in the suggested 1377 install-mk command. 1378 13792009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1380 1381 * Makefile.in (MAKE_VERSION): bump version to 20090908 1382 * Merge with NetBSD make, pick up: 1383 o .MAKE.LEVEL for recursion tracking 1384 o fix for :M scanning \: 1385 13862009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1387 1388 * configure.in: Don't -D__EXTENSIONS__ if 1389 AC_USE_SYSTEM_EXTENSIONS says "no". 1390 13912009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 1392 1393 * Makefile.in (MAKE_VERSION): bump version to 20090826 1394 Simplify MAKE_VERSION to just the bare date. 1395 * Merge with NetBSD make, pick up: 1396 o -C directory support. 1397 o support for SIGINFO 1398 o use $TMPDIR for temp files. 1399 o child of vfork should be careful about modifying parent's state. 1400 1401 14022009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1403 1404 * Appy some patches for MiNT from David Brownlee 1405 14062009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 1407 1408 * Makefile.in (BMAKE_VERSION): bump version to 20090222 1409 * Merge with NetBSD make, pick up: 1410 o Possible null pointer de-ref in Var_Set. 1411 14122009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 1413 1414 * Makefile.in (BMAKE_VERSION): bump version to 20090204 1415 * Merge with NetBSD make, pick up: 1416 o bmake_malloc et al moved to their own .c 1417 o Count both () and {} when looking for the end of a :M pattern 1418 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 1419 o strlist.c - functions for processing extendable arrays of pointers to strings. 1420 o ClientData replaced with void *, so const void * can be used. 1421 o New debug flag C for DEBUG_CWD 1422 14232008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1424 1425 * Makefile.in (BMAKE_VERSION): bump version to 20081111 1426 Apply patch from Joerg Sonnenberge to 1427 configure.in: 1428 o remove some redundant checks 1429 o check for emlloc etc only in libutil and require the whole family. 1430 util.c: 1431 o remove [v]asprintf which is no longer used. 1432 14332008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1434 1435 * Makefile.in (BMAKE_VERSION): bump version to 20081101 1436 * Merge with NetBSD make, pick up: 1437 o util.c: avoid use of putenv() - christos 1438 14392008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1440 1441 * Makefile.in (BMAKE_VERSION): bump version to 20081030 1442 pick up man page tweaks. 1443 14442008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 1445 1446 * Makefile.in: move processing of LIBOBJS to after is definition! 1447 thus we'll have getenv.c in SRCS only if needed. 1448 1449 * make.1: add examples of how to use :? 1450 1451 * Makefile.in (BMAKE_VERSION): bump version to 20081029 1452 * Merge with NetBSD make, pick up: 1453 o fix for .END processing with -j 1454 o segfault from Parse_Error when no makefile is open 1455 o handle numeric expressions in any variable expansion 1456 o debug output now defaults to stderr, -dF to change it - apb 1457 o make now uses bmake_malloc etc so that it can build natively 1458 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 1459 14602008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 1461 1462 * Makefile.in (BMAKE_VERSION): bump version to 20080808 1463 * Merge with NetBSD make, pick up: 1464 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 1465 long lines in Makefiles 1466 o optimizations for VarQuote by joerg 1467 o fix for PR/38756: dominik: make dumps core on invalid makefile 1468 14692008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 1470 1471 * Makefile.in (BMAKE_VERSION): bump version to 20080515 1472 * Merge with NetBSD make, pick up: 1473 o fix skip setting vars in VAR_GLOBAL context, to handle 1474 cases where VAR_CMD is used for other than command line vars. 1475 14762008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 1477 1478 * boot-strap (make_version): we may need to look in 1479 $prefix/share/mk for sys.mk 1480 1481 * Makefile.in (BMAKE_VERSION): bump version to 20080514 1482 * Merge with NetBSD make, pick up: 1483 o skip setting vars in VAR_GLOBAL context, when already set in 1484 VAR_CMD which takes precedence. 1485 14862008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 1487 1488 * Makefile.in (BMAKE_VERSION): bump version to 20080330 1489 * Merge with NetBSD make, pick up: 1490 o fix for ?= when LHS contains variable reference. 1491 14922008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1493 1494 * merge some patches from NetBSD pkgsrc. 1495 1496 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 1497 the MAKSYSPATH used during bootstrap. 1498 1499 * Makefile.in (BMAKE_VERSION): bump version to 20080215 1500 * Merge with NetBSD make, pick up: 1501 o warn if non-space chars follow 'empty' in a conditional. 1502 15032008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1504 1505 * Makefile.in (BMAKE_VERSION): bump version to 20080118 1506 * Merge with NetBSD make, pick up: 1507 o consider dependencies read from .depend as optional - dsl 1508 o remember when buffer for reading makefile grows - dsl 1509 o add -dl (aka LOUD) - David O'Brien 1510 15112007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 1512 1513 * Makefile.in (BMAKE_VERSION): bump version to 20071022 1514 * Merge with NetBSD make, pick up: 1515 o Allow .PATH<suffix> to be used for .include "" 1516 1517 * boot-strap: source default settings from .bmake-boot-strap.rc 1518 15192007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 1520 1521 * Makefile.in: fix maninstall on various systems 1522 provided that our man.mk is used. 1523 For non-BSD systems we install the preformatted page 1524 into $MANDIR/cat1 1525 15262007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 1527 1528 * boot-strap: make bmake.1 too, so maninstall works. 1529 15302007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 1531 1532 * Makefile.in (BMAKE_VERSION): bump version to 20071014 1533 * Merge with NetBSD make, pick up: 1534 o revamped handling of defshell - configure no longer needs to 1535 know the content of the shells array - apb 1536 o stop Var_Subst modifying its input - apb 1537 o avoid calling ParseTrackInput too often - dsl 1538 15392007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 1540 1541 * Makefile.in (BMAKE_VERSION): bump version to 20071011 1542 * Merge with NetBSD make, pick up: 1543 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 1544 1545 * sigcompat.c: some tweaks for HP-UX 11.x based on 1546 patch from Tobias Nygren 1547 1548 * configure.in: update handling of --with-defshell to match 1549 new make behavior. --with-defshell=/usr/xpg4/bin/sh 1550 will now do what one might hope - provided the chosen shell 1551 behaves enough like sh. 1552 15532007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 1554 1555 * Makefile.in (BMAKE_VERSION): bump to 20071008 1556 * Merge with NetBSD make, pick up: 1557 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 1558 o .export/.MAKE.EXPORTED - export of variables - sjg 1559 o .MAKE.MAKEFILES - track all makefiles read - sjg 1560 o performance improvements - dsl 1561 o revamp parallel job scheduling - dsl 1562 15632006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1564 1565 * Makefile.in (BMAKE_VERSION): bump to 20060728 1566 * Merge with NetBSD make, pick up: 1567 o extra debug info during variable and cond processing - sjg 1568 o shell definition now covers newline - rillig 1569 o minor mem leak in PrintOnError - sjg 1570 15712006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1572 1573 * Makefile.in (BMAKE_VERSION): bump to 20060511 1574 * Merge with NetBSD make, pick up: 1575 o more memory leaks - coverity 1576 o possible overflow in ArchFindMember - coverity 1577 o extract variable modifier code out of Var_Parse() 1578 so it can be called recursively - sjg 1579 o unit-tests/moderrs - sjg 1580 15812006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 1582 1583 * Makefile.in (BMAKE_VERSION): bump to 20060412 1584 * Merge with NetBSD make, pick up: 1585 o fixes for some memory leaks - coverity 1586 o only read first sys.mk etc when searching sysIncPath - sjg 1587 1588 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 1589 setting ${MAKEFILE} - OBATA Akio 1590 15912006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1592 1593 * Makefile.in (BMAKE_VERSION): bump to 20060318 1594 * Merge with NetBSD make, pick up: 1595 o cleanup of job.c to remove remote handling, distcc is more 1596 useful and this code was likely bit-rotting - dsl 1597 o fix for :P modifier - sjg 1598 * boot-strap: set default prefix to something reasonable 1599 (for me anyway). 1600 16012006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1602 1603 * Makefile.in (BMAKE_VERSION): bump to 20060301 1604 * Merge with NetBSD make, pick up: 1605 o make .WAIT apply recursively, document and test case - apb 1606 o allow variable modifiers in a variable appear anywhere in 1607 modifier list, document and test case - sjg 1608 16092006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 1610 1611 * Makefile.in (BMAKE_VERSION): bump to 20060222 1612 * Merge with NetBSD make, pick up: 1613 o improved job token handling - dsl 1614 o SIG_DFL the correct signal before exec - dsl 1615 o more debug info during parsing - dsl 1616 o allow variable modifiers to be specified via variable - sjg 1617 * boot-strap: explain why we died if no mksrc 1618 16192005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 1620 1621 * Makefile.in (BMAKE_VERSION): bump to 20051105 1622 * configure.in: always set default_sys_path 1623 default is ${prefix}/share/mk 1624 - remove prefix_sys_path, anyone wanting more than above 1625 needs to set it manually. 1626 16272005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1628 1629 * boot-strap: make this a bit easier for pkgsrc folk. 1630 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 1631 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 1632 16332005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 1634 1635 * Makefile.in (BMAKE_VERSION): bump to 20051102 1636 * job.c (JobFinish): fix likely ancient merge lossage 1637 fix from Todd Vierling. 1638 * boot-strap (srcdir): allow setting mksrc=none 1639 16402005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 1641 1642 * Makefile.in (BMAKE_VERSION): bump to 20051031 1643 * ranlib.h: skip on OSF too. 1644 (NetBSD PR 31864) 1645 16462005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 1647 1648 * Makefile.in (BMAKE_VERSION): bump to 20051002 1649 fix a silly typo 1650 16512005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1652 1653 * Makefile.in (BMAKE_VERSION): bump to 20051001 1654 support for UnixWare and some other systems, 1655 based on patches from pkgsrc/bootstrap 1656 16572005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1658 1659 * Makefile.in (BMAKE_VERSION): bump to 20050901 1660 * Merge with NetBSD make, pick up: 1661 o possible parse error causing us to wander off. 1662 16632005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 1664 1665 * Makefile.in (BMAKE_VERSION): bump to 20050606 1666 * Merge with NetBSD make, pick up: 1667 o :0x modifier for randomizing a list 1668 o fixes for a number of -Wuninitialized issues. 1669 16702005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 1671 1672 * Makefile.in (BMAKE_VERSION): bump to 20050530 1673 * Merge with NetBSD make, pick up: 1674 o Handle dependencies for .BEGIN, .END and .INTERRUPT 1675 1676 * README: was seriously out of date. 1677 16782005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1679 1680 * Important to use .MAKE rather than MAKE. 1681 16822005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 1683 1684 * Makefile.in (BMAKE_VERSION): bump to 20050315 1685 * Merge with NetBSD make, pick up: 1686 o don't mistake .elsefoo for .else 1687 o use suffix-specific search path correctly 1688 o bunch of style nits 1689 16902004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1691 1692 * boot-strap: 1693 o ensure that args to --src and --with-mksrc 1694 are resolved before giving them to configure. 1695 o add -o "objdir" so that builder can control it, 1696 default is $OS as determined by os.sh 1697 o add -q to suppress all the install instructions. 1698 16992004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 1700 1701 * Remove __IDSTRING() 1702 1703 * Makefile.in (BMAKE_VERSION): bump to 20040508 1704 * Merge with NetBSD make, pick up: 1705 o posix fixes 1706 - remove '-e' from compat mode 1707 - add support for '+' command-line prefix. 1708 o fix for handling '--' on command-line. 1709 o fix include in lst.lib/lstInt.h to simplify '-I's 1710 o we also picked up replacement of MAKE_BOOTSTRAP 1711 with !MAKE_NATIVE which is a noop, but possibly confusing. 1712 17132004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 1714 1715 * Makefile.in (BMAKE_VERSION): bump to 20040414 1716 * Merge with NetBSD make, pick up: 1717 o allow quoted strings on lhs of conditionals 1718 o issue warning when extra .else is seen 1719 o print line numer when errors encountered during parsing from 1720 string. 1721 17222004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 1723 1724 * Makefile.in (BMAKE_VERSION): bump to 20040220 1725 * Merge with NetBSD make, pick up: 1726 o fix for old :M parsing bug. 1727 o re-jigged unit-tests 1728 17292004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1730 1731 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 1732 so that './bmake -f Makefile test' works. 1733 17342004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1735 1736 * Makefile.in: (BMAKE_VERSION): bump to 20040214 1737 * Merge with NetBSD make, pick up: 1738 o search upwards for *.mk 1739 o fix for double free of var substitution buffers 1740 o use of getopt replaced with custom code, since the usage 1741 (re-scanning) isn't posix compatible. 1742 17432004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 1744 1745 * arch.c: don't include ranlib.h on ELF systems 1746 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 1747 17482004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1749 1750 * Makefile.in (BMAKE_VERSION): bump to 20040118 1751 1752 * boot-strap (while): export vars we assign to on cmdline 1753 * unit-test/Makefile.in: ternary is .PHONY 1754 17552004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 1756 1757 * Makefile.in (BMAKE_VERSION): bump version to 20040108 1758 * Merge with NetBSD make, pick up: 1759 o fix for ternary modifier 1760 17612004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 1762 1763 * Makefile.in (BMAKE_VERSION): bump version to 20040105 1764 * Merge with NetBSD make, pick up: 1765 o fix for cond.c to handle compound expressions better 1766 o variable expansion within sysV style replacements 1767 17682003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 1769 1770 * Make portable snprintf safer - output to /dev/null first to 1771 check space needed. 1772 1773 * Makefile.in (BMAKE_VERSION): bump version to 20031222 1774 * Merge with NetBSD make, pick up: 1775 o -dg3 to show input graph when things go wrong. 1776 o explicitly look for makefiles in objdir if not found in curdir so 1777 that errors in .depend etc will be reported accurarely. 1778 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 1779 instead as it more accurately reflects the expected behavior and 1780 is more consistently implemented. 1781 o avoid use of asprintf. 1782 17832003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1784 1785 * util.c: Add asprintf and vasprintf. 1786 1787 * Makefile.in (BMAKE_VERSION): bump version to 20030928 1788 * Merge with NetBSD make, pick up: 1789 :[] modifier - allows picking words from a variable. 1790 :tW modifier - allows treating value as one big word. 1791 W flag for :C and :S - allows treating value as one big word. 1792 17932003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 1794 1795 * Merge with NetBSD make 1796 pick up -de flag to enable printing failed command. 1797 don't skip 1st two dir entries (normally . and ..) since 1798 coda does not have them. 1799 18002003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1801 1802 * Makefile.in (BMAKE_VERSION): bump version to 20030909 1803 * Merge with NetBSD make, pick up: 1804 - changes for -V '${VAR}' to print fully expanded value 1805 cf. -V VAR 1806 - CompatRunCommand now prints the command that failed. 1807 - several files got updated 3 clause Berkeley license. 1808 18092003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 1810 1811 * boot-strap: Allow setting configure args on command line. 1812 18132003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1814 1815 * configure.in: add --with-defshell to allow sh or ksh 1816 to be selected as default shell. 1817 1818 * Makefile.in: bump version to 20030731 1819 1820 * Merge with NetBSD make 1821 Pick up .SHELL spec for ksh and associate man page changes. 1822 Also compat mode now uses the same shell specs. 1823 18242003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 1825 1826 * var.c (Var_Parse): ensure delim is initialized. 1827 1828 * unit-tests/Makefile.in: use single quotes to avoid problems from 1829 some shells. 1830 1831 * makefile.boot.in: 1832 Run the unit-tests as part of the bootstrap procedure. 1833 18342003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1835 1836 * unit-tests/Makefile.in: always force complaints from 1837 ${TEST_MAKE} to be from 'make'. 1838 1839 * configure.in: add check for 'diff -u' 1840 also fix some old autoconf'isms 1841 1842 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 1843 if using GCC add -Wno-cast-qual to CFLAGS for var.o 1844 1845 * Merge with NetBSD make 1846 Pick up fix for :ts parsing error in some cases. 1847 Pick unit-tests. 1848 18492003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 1850 1851 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 1852 1853 * var.c (Var_Parse): fix bug in :ts modifier, after const 1854 correctness fixes, must pass nstr to VarModify. 1855 18562003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 1857 1858 * Makefile.in: BMAKE_VERSION switch to a date based version. 1859 We'll generally use the date of last import from NetBSD. 1860 1861 * Merge with NetBSD make 1862 Pick up fixes for const-correctness, now passes WARNS=3 on 1863 NetBSD. 1864 Pick up :ts modifier, allows controlling the separator used 1865 between words in variable expansion. 1866 18672003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 1868 1869 * FILES: include boot-strap and os.sh 1870 1871 * Makefile.in: only set WARNS if we are NetBSD, the effect on 1872 FreeBSD is known to be bad. 1873 1874 * makefile.boot.in (bootstrap): make this the default target. 1875 1876 * Makefile.in: bump version to 3.1.19 1877 1878 * machine.sh: avoid A-Z with tr as it is bound to lose. 1879 18802003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 1881 1882 * Merge with NetBSD make 1883 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 1884 Plus some doc fixes. 1885 18862003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 1887 1888 * Merge with NetBSD make 1889 Pick up fix for PR/1523 - don't count a library as built, if there 1890 is no way to build it 1891 1892 * Bump version to 3.1.18 1893 18942003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 1895 1896 * Merge with NetBSD make 1897 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 1898 appears in src list. 1899 19002003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 1901 1902 * Merge with NetBSD make (mmm 10th anniversary!) 1903 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 1904 pick up -X which tells us to not export VAR=val via setenv if 1905 we are already doing so via MAKEFLAGS. This saves valuable env 1906 space on systems like Darwin. 1907 set MAKE_VERSION to 3.1.17 1908 1909 * parse.c: pix up fix for suffix rules 1910 19112003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 1912 1913 * Merge with NetBSD make. 1914 pick up fix for propagating -B via MAKEFLAGS. 1915 set MAKE_VERSION to 3.1.16 1916 1917 * Apply some patches from pkgsrc-bootstrap/bmake 1918 Originally by Grant Beattie <grant@netbsd.org> 1919 I may have missed some - since they are based on bmake-3.1.12 1920 19212002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 1922 1923 * makefile.boot.in (bmake): update install targets for those that 1924 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 1925 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 1926 1927 * bmake.cat1: update the pre-formatted man page! 1928 19292002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 1930 1931 * Merge with NetBSD make. 1932 pick up fix for premature free of pointer used in call 1933 to Dir_InitCur(). 1934 set MAKE_VERSION to 3.1.15 1935 19362002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 1937 1938 * configure.in: determine suitable value for MKSRC. 1939 override using --with-mksrc=PATH. 1940 1941 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 1942 configs(8) will use 'sun4' as an alias for 'sparc'. 1943 19442002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1945 1946 * Merge with NetBSD make. 1947 pick up ${.PATH} 1948 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 1949 set MAKE_VERSION to 3.1.14 1950 add configure checks for killpg and sys/socket.h 1951 19522002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 1953 1954 * tag bmake-3-1-13 1955 1956 * makefile.boot.in (bmake): use install-mk 1957 Also setup ./mk before trying to invoke bmake.boot incase we 1958 needed install-mk to create a sys.mk for us. 1959 1960 * configure.in: If we need to add -I${srcdir}/missing, make it an 1961 absolute path so that it works for lst.lib too. 1962 1963 * make.h: always include sys/cdefs.h since we provide one if the 1964 host does not. 1965 1966 * Makefile.in (install-mk): 1967 use MKSRC/install-mk which will do the right thing. 1968 use uname -p for ARCH if possible. 1969 since install-mk will setup links bsd.prog.mk -> prog.mk if 1970 needed, just .include bsd.prog.mk 1971 1972 * Merge with NetBSD make (NetBSD-1.6) 1973 Code is ansi-C only now. 1974 Bug in handling of dotLast is fixed. 1975 Can now assign .OBJDIR and make will reset its notions of life. 1976 New modifiers :tu :tl for toUpper and toLower. 1977 1978Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 1979 1980 * Merge with NetBSD make 1981 pick up fix for .END failure in compat mode. 1982 pick up fix for extra va_end() in ParseVErrorInternal. 1983 1984Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 1985 1986 * configure.in: for systems that have sys/cdefs.h check if it is 1987 compatible. If not, include the one under missing, but tell it to 1988 include the native one too - necessary on Linux. 1989 1990 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 1991 include_next (for gcc) to get the native sys/cdefs.h 1992 1993Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1994 1995 * job.c (JobFinish): Fix an earlier merge bug that resulted in 1996 leaking descriptors when using -jN. 1997 1998 * job.c (JobPrintCommand): See if "curdir" exists before 1999 attempting to chdir(). Doing the chdir directly in make (when in 2000 compat mode) fails silently, so let the -jN version do the same. 2001 This can happen when building kernels in an object tree and 2002 playing clever games to reset .CURDIR. 2003 2004 * Merged with NetBSD make 2005 pick up .USEBEFORE 2006 2007Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2008 2009 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 2010 2011Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2012 2013 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 2014 us not to export the iterator variable when using VAR_CMD context. 2015 2016Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2017 2018 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 2019 its the wrong "fix". 2020 2021Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2022 2023 * Redesigned export of VAR_CMD's via MAKEFLAGS. 2024 We now simply append the variable names to .MAKEOVERRIDES, and 2025 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 2026 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 2027 Apart from fixing quoting bugs in previous version, this allows us 2028 to export vars to the environment by simply doing: 2029 .MAKEOVERRIDES+= PATH 2030 Merged again with NetBSD make, but the above is the only change. 2031 2032 * configure.in: added 2033 --disable-pwd-override disable $PWD overriding getcwd() 2034 --disable-check-make-chdir disable make trying to guess 2035 when it should automatically cd ${.CURDIR} 2036 2037 * Merge with NetBSD make, changes include: 2038 parse.c (ParseDoDependency): Spot that the syntax error is 2039 caused by an unresolved cvs/rcs conflict and say so. 2040 var.c: most of Var* functions now take a ctxt as 1st arg. 2041 now does variable substituion on rhs of sysv style modifiers. 2042 2043 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 2044 is now done here. We append the name='value' to .MAKEOVERRIDES 2045 rather than directly into MAKEFLAGS as this allows a Makefile to 2046 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 2047 very similar mechanism. Note that in adding name='value' to 2048 .MAKEOVERRIDES we do the moral equivalent of: 2049 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 2050 2051Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2052 2053 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 2054 2055 * Merged with NetBSD make 2056 make -dx can now be used to run commands via sh -x 2057 better error messages on exec failures. 2058 2059Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2060 2061 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 2062 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 2063 MACHINE etc otherwise they propagate from the previous bmake. 2064 2065 * configure.in (machine): allow --with-machine=generic to make 2066 configure use machine.sh to set MACHINE. 2067 2068 * job.c (JobInterrupt): convert to using WAIT_T and friends. 2069 2070 * Makefile.in: mention in bmake.1 that we use autoconf. 2071 2072 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 2073 2074Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2075 2076 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 2077 as that rather defeats the usefulness of ${MAKEFILE}. 2078 2079 * main.c (MainParseArgs): append command line variable assignments 2080 to MAKEFLAGS so that they get propagated to child make's. 2081 Apparently this is required POSIX behaviour? Its useful anyway. 2082 2083Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2084 2085 * compat.c (CompatRunCommand): don't use perror() since stdio may 2086 cause problems in child of vfork(). 2087 2088 * compat.c, main.c: Call PrintOnError() when we are going to bail. 2089 This routine prints out the .curdir where we stopped and will also 2090 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 2091 2092 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 2093 :@ expansion. 2094 2095 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 2096 2097 * Added RCSid's for the files we've touched. 2098 2099Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2100 2101 * configure.in: Thanks to some clues from mdb@juniper.net, 2102 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 2103 as well as what ends up in _PATH_DEFSYSPATH. We now have: 2104 2105 --with-machine=MACHINE explicitly set MACHINE 2106 --with-force-machine=MACHINE set FORCE_MACHINE 2107 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 2108 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 2109 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 2110 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 2111 2112 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 2113 2114 * makefile: added a pathetically simple makefile to drive 2115 bootstrapping. Running configure by hand is more useful. 2116 2117 * Makefile.in: added MAKE_VERSION, and reworked things to be less 2118 dependent on NetBSD bsd.*.mk 2119 2120 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 2121 _PATH_OBJDIRPREFIX for those that don't want a default. 2122 construct _PATH_DEFSYSPATH from the info we get from configure. 2123 2124 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 2125 if MAKE_VERSION is defined. 2126 2127 * compat.c: when we bail, print out the .CURDIR we were in. 2128 2129Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2130 2131 * Merged with NetBSD make 2132 2133 * var.c: fixed a bug in the handling of the modifier :P 2134 if the node as found but the path was null, we segfault trying to 2135 duplicate it. 2136 2137Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2138 2139 * Merged with NetBSD make 2140 2141 * make.c: Make_OODate's test for a library out of date was using 2142 cmtime where it should have used mtime (my bug). 2143 2144 * compat.c: Use perror() to tell us what really went wrong when we 2145 cannot exec a command. 2146 2147Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2148 2149 * Merged with NetBSD make 2150 2151Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2152 2153 * Merged with NetBSD make 2154 2155Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2156 2157 * Merged with NetBSD make 2158 2159Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2160 2161 * Merged with NetBSD make 2162 2163Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2164 2165 * util.c: don't provide signal() since we use sigcompat.c 2166 2167 * Makefile.in: added a build target. 2168 2169 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 2170 These allow some quite clever magic. 2171 2172 * main.c (main): added support for getenv(MAKESYSPATH). 2173 2174Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2175 2176 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 2177 This avoids objdir having a different value depending on how a 2178 directory was reached (via command line, or subdir.mk). 2179 2180 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 2181 2182Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2183 2184 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 2185 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 2186 I've been testing this in NetBSD's make for some weeks. 2187 2188 * Turn Makefile into Makefile.in and make it useful. 2189 2190Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2191 2192 * Imported NetBSD's -current make(1) and resolve conflicts. 2193 2194 * Applied autoconf patches from bmake v2 2195 2196 * Imported clean code base from NetBSD-1.0 2197