12017-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 2 3 * Makefile (_MAKE_VERSION): 20170711 4 forgot to update after merge on 20170708 ;-) 5 o main.c: refactor to reduce size of main function. 6 add -v option to always fully expand values. 7 o meta.c: ensure command output in meta file has ending newline 8 even when filemon not being used. 9 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use 10 pathname via ':L' since any ':' in pathname breaks that. 11 Instead set a '${.p.}' to pathname in the target context and 12 use that. 13 142017-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 15 16 * Makefile (_MAKE_VERSION): 20170510 17 Merge with NetBSD make, pick up 18 o main.c: Main_SetObjdir: ensure buf2 is in scope 19 202017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 21 22 * Makefile (_MAKE_VERSION): 20170505 23 see mk/ChangeLog 24 252017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 26 27 * parse.c: not everyone has stdint.h 28 292017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 30 31 * Makefile (_MAKE_VERSION): 20170501 32 see mk/ChangeLog 33 342017-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 35 36 * Makefile (_MAKE_VERSION): 20170421 37 Merge with NetBSD make, pick up 38 o str.c: Str_Match: fix closure tests for [^] and add unit-test. 39 402017-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 41 42 * Makefile (_MAKE_VERSION): 20170420 43 Merge with NetBSD make, pick up 44 o main.c: only use -C arg "as is" if it contains no 45 relative component. 46 472017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 48 49 * Makefile (_MAKE_VERSION): 20170418 50 Merge with NetBSD make, pick up 51 o main.c: fix Main_SetObjdir() for relative paths (eg obj). 52 532017-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 54 55 * Makefile (_MAKE_VERSION): 20170417 56 Merge with NetBSD make, pick up 57 o fixes a number of coverity complaints 58 - check return value of fseek, fcntl 59 - plug memory leak in Dir_FindFile, Var_LoopExpand, 60 JobPrintCommand, ParseTraditionalInclude 61 - use bmake_malloc() where NULL is not tollerated 62 - use MAKE_ATTR_UNUSED rather that kludges like 63 return(unused ? 0 : 0) 64 - use purge_cached_realpaths() rather than abuse cached_realpath() 65 662017-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 67 68 * Makefile (_MAKE_VERSION): 20170413 69 Merge with NetBSD make, pick up 70 o main.c: when setting .OBJDIR ignore '$' in paths. 71 72 * job.c: use MALLOC_OPTIONS to set malloc_options. 73 742017-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 75 76 * Makefile (_MAKE_VERSION): 20170411 77 Merge with NetBSD make, pick up 78 o str.c: Str_Match: allow [^a-z] to behave as expected. 79 802017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 81 82 * Makefile (_MAKE_VERSION): 20170326 83 Merge with NetBSD make, pick up 84 o main.c: purge relative paths from realpath cache when .OBJDIR 85 is changed. 86 872017-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 88 89 * Makefile (_MAKE_VERSION): 20170311 90 Merge with NetBSD make, pick up 91 o main.c: only use -C arg "as is" if it starts with '/'. 92 932017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 94 95 * Makefile (_MAKE_VERSION): 20170301 96 Merge with NetBSD make, pick up 97 o main.c: use -C arg "as is" rather than getcwd() 98 if they identify the same directory. 99 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case 100 1012017-02-01 Simon J. Gerraty <sjg@bad.crufty.net> 102 103 * Makefile (_MAKE_VERSION): 20170201 104 Merge with NetBSD make, pick up 105 o var.c: allow :_=var and avoid use of special context. 106 1072017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 108 109 * Makefile (_MAKE_VERSION): 20170130 110 Merge with NetBSD make, pick up 111 o var.c: add :range and :_ 112 o main.c: partially initialize Dir_* before MainParseArgs() 113 can be called. 114 If -V, skip Main_ExportMAKEFLAGS() 115 1162017-01-14 Simon J. Gerraty <sjg@bad.crufty.net> 117 118 * Makefile (_MAKE_VERSION): 20170114 119 Merge with NetBSD make, pick up 120 o var.c: allow specifying the utc value used by :{gm,local}time 121 1222016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 123 124 * Makefile (_MAKE_VERSION): 20161212 125 Merge with NetBSD make, pick up 126 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too. 127 1282016-12-09 Simon J. Gerraty <sjg@bad.crufty.net> 129 130 * Makefile (_MAKE_VERSION): 20161209 131 Merge with NetBSD make, pick up 132 o main.c: cleanup setting of .OBJDIR 133 o parse.c: avoid coredump from (var)=val 134 1352016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 136 137 * Makefile (_MAKE_VERSION): 20161126 138 Merge with NetBSD make, pick up 139 o make.c: Make_OODate: report src node name if path not set 140 1412016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 142 143 * Makefile (_MAKE_VERSION): 20160926 144 Merge with NetBSD make, pick up 145 o support for .DELETE_ON_ERROR: (remove targets that fail) 146 1472016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 148 149 * Makefile MAN: tweak .Dt to match ${PROG} 150 1512016-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 152 153 * Makefile (_MAKE_VERSION): 20160818 154 its a neater number; pick up whitespace fixes to man page. 155 1562016-08-17 Simon J. Gerraty <sjg@bad.crufty.net> 157 158 * Makefile (_MAKE_VERSION): 20160817 159 Merge with NetBSD make, pick up 160 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore() 161 so we can call it before adding entries to missingFiles. 162 Thus we do not track files we have been told to ignore. 163 1642016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 165 166 * Makefile (_MAKE_VERSION): 20160815 167 Merge with NetBSD make, pick up 168 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to 169 pathnames, and skip if the expansion is empty. 170 Useful for dirdeps.mk when checking DIRDEPS_CACHE. 171 1722016-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 173 174 * Makefile (_MAKE_VERSION): 20160812 175 Merge with NetBSD make, pick up 176 o meta.c: remove all missingFiles entries that match a deleted 177 dir. 178 o main.c: set .ERROR_CMD if possible. 179 1802016-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 181 182 * Makefile (_MAKE_VERSION): 20160606 183 Merge with NetBSD make, pick up 184 o dir.c: extend mtimes cache to others via cached_stat() 185 1862016-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 187 188 * Makefile (_MAKE_VERSION): 20160604 189 Merge with NetBSD make, pick up 190 o meta.c: missing filemon data is only relevant if we read a 191 meta file. 192 Also do not return oodate for a missing metafile if gn->path 193 points to .CURDIR 194 1952016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 196 197 * Makefile (_MAKE_VERSION): 20160602 198 Merge with NetBSD make, pick up 199 o cached_realpath(): avoid hitting filesystem more than necessary. 200 o meta.c: refactor need_meta decision, add knobs for 201 missing meta file and filemon data wrt out-of-datedness. 202 2032016-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 204 205 * Makefile (_MAKE_VERSION): 20160528 206 207 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 208 2092016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 210 211 * Makefile (_MAKE_VERSION): 20160512 212 Merge with NetBSD make, pick up 213 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS 214 this is useful for gcov builds. 215 o propagate errors from filemon(4). 216 2172016-05-09 Simon J. Gerraty <sjg@bad.crufty.net> 218 219 * Makefile (_MAKE_VERSION): 20160509 220 Merge with NetBSD make, pick up 221 o remove use of non-standard types u_int etc. 222 o meta.c: apply realpath() before matching against metaIgnorePaths 223 2242016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 225 226 * Makefile (_MAKE_VERSION): 20160404 227 Merge with NetBSD make, pick up 228 o allow makefile to set .MAKE.JOBS 229 230 * Makefile (PROG_NAME): use ${_MAKE_VERSION} 231 2322016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 233 234 * Makefile (_MAKE_VERSION): 20160315 235 Merge with NetBSD make, pick up 236 o fix handling of archive members 237 2382016-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 239 240 * Makefile (_MAKE_VERSION): rename variable to avoid interference 241 with checks for ${MAKE_VERSION} 242 2432016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 244 245 * Makefile (MAKE_VERSION): 20160310 246 Merge with NetBSD make, pick up 247 o meta.c: treat missing Read file same as Write, incase we Delete it. 248 2492016-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 250 251 * Makefile (MAKE_VERSION): 20160307 252 Merge with NetBSD make, pick up 253 o var.c: fix :ts\nnn to be octal by default. 254 o meta.c: meta_finish() to cleanup memory. 255 2562016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 257 258 * Makefile (MAKE_VERSION): 20160226 259 Merge with NetBSD make, pick up 260 o meta.c: allow meta file for makeDepend if makefiles want it. 261 2622016-02-19 Simon J. Gerraty <sjg@bad.crufty.net> 263 264 * var.c: default .MAKE.SAVE_DOLLARS to FALSE 265 for backwards compatability. 266 267 * Makefile (MAKE_VERSION): 20160220 268 Merge with NetBSD make, pick up 269 o var.c: add knob to control handling of '$$' in := 270 2712016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 272 273 * Makefile (MAKE_VERSION): 20160218 274 Merge with NetBSD make, pick up 275 o var.c: add .export-literal allows us to fix sys.clean-env.mk 276 post the changes to Var_Subst. 277 Var_Subst now takes flags, and does not consume '$$' in := 278 2792016-02-17 Simon J. Gerraty <sjg@bad.crufty.net> 280 281 * Makefile (MAKE_VERSION): 20160217 282 Merge with NetBSD make, pick up 283 o var.c: preserve '$$' in := 284 o parse.c: add .dinclude for handling included 285 makefile like .depend 286 2872015-12-20 Simon J. Gerraty <sjg@bad.crufty.net> 288 289 * Makefile (MAKE_VERSION): 20151220 290 Merge with NetBSD make, pick up 291 o suff.c: re-initialize suffNull when clearing suffixes. 292 2932015-12-01 Simon J. Gerraty <sjg@bad.crufty.net> 294 295 * Makefile (MAKE_VERSION): 20151201 296 Merge with NetBSD make, pick up 297 o cond.c: CondCvtArg: avoid access beyond end of empty buffer. 298 o meta.c: meta_oodate: use lstat(2) for checking link target 299 in case it is a symlink. 300 o var.c: avoid calling brk_string and Var_Export1 with empty 301 strings. 302 3032015-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 304 305 * Makefile (MAKE_VERSION): 20151126 306 Merge with NetBSD make, pick up 307 o parse.c: ParseTrackInput don't access beyond 308 end of old value. 309 3102015-10-22 Simon J. Gerraty <sjg@bad.crufty.net> 311 312 * Makefile (MAKE_VERSION): 20151022 313 314 * Add support for BSD/OS which lacks inttypes.h 315 and really needs sys/param.h for sys/sysctl.h 316 also 'type' is not a shell builtin. 317 318 * var.c: eliminate uint32_t and need for inttypes.h 319 320 * main.c: PrintOnError flush stdout before run .ERROR 321 322 * parse.c: cope with _SC_PAGESIZE not being defined. 323 324 3252015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 326 327 * Makefile (MAKE_VERSION): 20151020 328 Merge with NetBSD make, pick up 329 o var.c: fix uninitialized var 330 3312015-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 332 333 * var.c: the conditional expressions used with ':?' can be 334 expensive, if already discarding do not evaluate or expand 335 anything. 336 3372015-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 338 339 * Makefile (MAKE_VERSION): 20151010 340 Merge with NetBSD make, pick up 341 o Add Boolean wantit flag to Var_Subst and Var_Parse 342 when FALSE we know we are discarding the result and can 343 skip operations like Cmd_Exec. 344 3452015-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 346 347 * Makefile (MAKE_VERSION): 20151009 348 Merge with NetBSD make, pick up 349 o var.c: don't check for NULL before free() 350 o meta.c: meta_oodate, do not hard code ignore of makeDependfile 351 3522015-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 353 354 * Makefile (MAKE_VERSION): 20150910 355 Merge with NetBSD make, pick up 356 o main.c: with -w print Enter/Leaving messages for objdir too 357 if necessary. 358 o centralize shell metachar handling 359 360 * FILES: add metachar.[ch] 361 3622015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 363 364 * Makefile (MAKE_VERSION): 20150606 365 Merge with NetBSD make, pick up 366 o make.1: document .OBJDIR target 367 3682015-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 369 370 * Makefile (MAKE_VERSION): 20150505 371 Merge with NetBSD make, pick up 372 o cond.c: be strict about lhs of comparison when evaluating .if 373 but less so when called from variable expansion. 374 o unit-tests/cond2.mk: test various error conditions 375 3762015-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 377 378 * machine.sh (MACHINE): Add Bitrig 379 patch from joerg@netbsd.org 380 3812015-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 382 383 * Makefile (MAKE_VERSION): 20150418 384 Merge with NetBSD make, pick up 385 o job.c: use memmove() rather than memcpy() 386 387 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL 388 case, so skip it. 389 3902015-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 391 392 * Makefile (MAKE_VERSION): 20150411 393 bump version - only mk/ changes. 394 3952015-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 396 397 * Makefile (MAKE_VERSION): 20150410 398 Merge with NetBSD make, pick up 399 o document different handling of '-' in jobs mode vs compat 400 o fix jobs mode so that '-' only applies to whole job 401 when shell lacks hasErrCtl 402 o meta.c: use separate vars to track lcwd and latestdir (read) 403 per process 404 4052015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 406 407 * Makefile (MAKE_VERSION): 20150401 408 Merge with NetBSD make, pick up 409 o meta.c: close meta file in child 410 411 * Makefile: use BINDIR.bmake if set. 412 Same for MANDIR and SHAREDIR 413 Handy for testing release candidates 414 in various environments. 415 4162015-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 417 418 * move initialization of savederr to block where it is used 419 to avoid spurious warning from gcc5 420 4212014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 422 423 * Makefile (MAKE_VERSION): 20141111 424 just a cooler number 425 4262014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 427 428 * Makefile (MAKE_VERSION): 20141105 429 Merge with NetBSD make, pick up 430 o revert major overhaul of suffix handling 431 and POSIX compliance - too much breakage 432 and impossible to make backwards compatible. 433 o we still have the new unit test structure which is ok. 434 o meta.c ensure "-- filemon" is at start of line. 435 4362014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 437 438 * configure.in: test that result of getconf PATH_MAX is numeric 439 and discard if not. Apparently needed for Hurd. 440 4412014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 442 443 * Makefile (MAKE_VERSION): 20140830 444 Merge with NetBSD make, pick up 445 o major overhaul of suffix handling 446 o improved POSIX compliance 447 o overhauled unit-tests 448 4492014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 450 451 * Makefile (MAKE_VERSION): 20140620 452 Merge with NetBSD make, pick up 453 o var.c return varNoError rather than var_Error for ::= modifiers. 454 4552014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 456 457 * Makefile (MAKE_VERSION): 20140522 458 Merge with NetBSD make, pick up 459 o var.c detect some parse errors. 460 4612014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 462 463 * Fix spelling errors - patch from Pedro Giffuni 464 4652014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 466 467 * Makefile (MAKE_VERSION): 20140214 468 Merge with NetBSD make, pick up 469 o .INCLUDEFROM* 470 o use Var_Value to get MAKEOBJDIR[PREFIX] 471 o reduced realloc'ign in brk_string. 472 * configure.in: add a check for compiler supporting __func__ 473 4742014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 475 476 * boot-strap: ignore mksrc=none 477 4782014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 479 480 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 481 4822014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 483 484 * Makefile (MAKE_VERSION): 20140101 485 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 486 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 487 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 488 Hurd) 489 * configure.in: Add AC_PREREQ and check for 490 sysctl; patch from Andrew Shadura andrewsh at debian.org 491 4922013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 493 494 * Makefile (MAKE_VERSION): 20131010 495 * lose the const from arg to systcl to avoid problems on older BSDs. 496 4972013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 498 499 * Makefile (MAKE_VERSION): 20131001 500 Merge with NetBSD make, pick up 501 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 502 hw.machine_arch if necessary. 503 o meta.c: meta_oodate - need to look at src of Link and target 504 of Move as well. 505 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 506 provide __arraycount() if needed. 507 5082013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 509 510 * Makefile (MAKE_VERSION): 20130904 511 Merge with NetBSD make, pick up 512 o Add VAR_INTERNAL context, so that internal setting of 513 MAKEFILE does not override value set by makefiles. 514 5152013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 516 517 * Makefile (MAKE_VERSION): 20130902 518 Merge with NetBSD make, pick up 519 o CompatRunCommand: only apply shellErrFlag when errCheck is true 520 5212013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 522 523 * Makefile (MAKE_VERSION): 20130828 524 Merge with NetBSD make, pick up 525 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 526 o Call Job_SetPrefix() from Job_Init() so makefiles have 527 opportunity to set .MAKE.JOB.PREFIX 528 5292013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 530 531 * Makefile (MAKE_VERSION): 20130730 532 Merge with NetBSD make, pick up 533 o Allow suppression of --- job -- tokens by setting 534 .MAKE.JOB.PREFIX empty. 535 5362013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 537 538 * Makefile (MAKE_VERSION): 20130716 539 Merge with NetBSD make, pick up 540 o number of gmake compatibility tweaks 541 -w for gmake style entering/leaving messages 542 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 543 handle MAKEFLAGS containing only letters. 544 o when overriding a GLOBAL variable on the command line, 545 delete it from GLOBAL context so -V doesn't show the wrong 546 value. 547 5482013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 549 550 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 551 552 * Makefile (MAKE_VERSION): 20130706 553 Merge with NetBSD make, pick up 554 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 555 true so that CompatRunCommand() can use it, to ensure 556 consistent behavior with jobs mode. 557 o use MAKE_LEVEL_ENV to define the variable to propagate 558 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 559 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 560 paths to ignore. 561 5622013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 563 564 * Makefile (MAKE_VERSION): 20130604 565 Merge with NetBSD make, pick up 566 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 567 to avoid leaking descriptors. 568 5692013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 570 571 * Makefile (MAKE_VERSION): 20130528 572 Merge with NetBSD make, pick up 573 o var.c: cleanup some left-overs in VarHash() 574 5752013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 576 577 * Makefile (MAKE_VERSION): 20130520 578 generate manifest from component FILES rather than have to 579 update FILES when mk/FILES changes. 580 5812013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 582 583 * Makefile (MAKE_VERSION): 20130518 584 Merge with NetBSD make, pick up 585 o suff.c: don't skip all processsing for .PHONY targets 586 else wildcard srcs do not get expanded. 587 o var.c: expand name of variable to delete if necessary. 588 5892013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 590 591 * Makefile (MAKE_VERSION): 20130330 592 Merge with NetBSD make, pick up 593 o meta.c: refine the handling of .OODATE in commands. 594 Rather than suppress command comparison for the entire script 595 as though .NOMETA_CMP had been used, only suppress it for the 596 one command line. 597 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 598 suppress comparison of a command without otherwise affecting it. 599 o make.1: document that 600 6012013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 602 603 * Makefile (MAKE_VERSION): 20130321 604 yes, not quite right but its a cooler number. 605 Merge with NetBSD make, pick up 606 o parse.c: fix ParseGmakeExport to be portable 607 and add a unit-test. 608 * meta.c: call meta_init() before makefiles are read and if built 609 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 610 this let's makefiles test for support. 611 Call meta_mode_init() to process .MAKE.MODE. 612 6132013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 614 615 * Makefile (MAKE_VERSION): 20130305 616 Merge with NetBSD make, pick up 617 o run .STALE: target when a dependency from .depend is missing. 618 o job.c: add Job_RunTarget() for the above and .BEGIN 619 6202013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 621 622 * Makefile (MAKE_VERSION): 20130303 623 Merge with NetBSD make, pick up 624 o main.c: set .MAKE.OS to utsname.sysname 625 o job.c: more checks for read and poll errors 626 o var.c: lose VarChangeCase() saves 4% time 627 6282013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 629 630 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 631 want to use MAKEOBJDIR 632 6332013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 634 635 * Merge with NetBSD make, pick up 636 o make.1: more info on how shell commands are handled. 637 o job.c,main.c: detect write errors to job pipes. 638 6392013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 640 641 * Makefile (MAKE_VERSION): 20130123 642 Merge with NetBSD make, pick up 643 o meta.c: if script uses .OODATE and meta_oodate() decides 644 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 645 o var.c: in debug output indicate which variabale modifiers 646 apply to. 647 o remove Check_Cwd logic the makefiles have been fixed. 648 6492012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 650 651 * makefile.in: add a simple makefile for folk who insist on 652 ./configure; make; make install 653 it just runs boot-strap 654 * include mk/* to accommodate the above 655 * boot-strap: re-work to accommodate the above 656 mksrc defaults to $Mydir/mk 657 allow op={configure,build,install,clean,all} 658 add options to facilitate install 659 * Makefile.config.in: just the bits set by configure 660 * Makefile: bump version to 20121212 661 abandon Makefile.in (NetBSD Makefile) 662 leverage mk/* instead 663 * configure.in: ensure srcdir is absolute 664 6652012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 666 667 * Makefile.in (MAKE_VERSION): 20121111 668 fix generation of bmake.cat1 669 6702012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 671 672 * Makefile.in (MAKE_VERSION): 20121109 673 Merge with NetBSD make, pick up 674 o make.c: MakeBuildChild: return 0 so search continues if a 675 .ORDER dependency is detected. 676 o unit-tests/order: test the above 677 6782012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 679 680 * Makefile.in (MAKE_VERSION): 20121102 681 Merge with NetBSD make, pick up 682 o cond.c: allow cond_state[] to grow. 683 In meta mode with a very large tree, we can hit the limit 684 while processing dirdeps. 685 6862012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 687 688 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 689 6902012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 691 692 * Makefile.in (MAKE_VERSION): 20121010 693 o protect syntax that only bmake parses correctly. 694 o remove auto setting of FORCE_MACHINE, use configure's 695 --with-force-machine=whatever if that is desired. 696 6972012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 698 699 * Makefile.in: do not lose history from make.1 when generating bmake.1 700 7012012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 702 703 * Makefile.in (MAKE_VERSION): 20121007 704 Merge with NetBSD make, pick up 705 o compat.c: ignore empty commands - same as jobs mode. 706 o make.1: document meta chars that cause use of shell 707 7082012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 709 710 * Makefile.in (MAKE_VERSION): bump version to 20120911 711 * bsd.after-import.mk: include Makefile.inc early and allow it to 712 override PROG 713 7142012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 715 716 * Makefile.in (MAKE_VERSION): bump version to 20120831 717 Merge with NetBSD make, pick up 718 o cast sizeof() to int for comparison 719 o minor make.1 tweak 720 7212012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 722 723 * Makefile.in (MAKE_VERSION): bump version to 20120830 724 Merge with NetBSD make, pick up 725 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 726 o debug flag -dV causes -V to show raw value regardless. 727 7282012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 729 730 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 731 gets SRCTOP set. 732 7332012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 734 735 * Makefile.in (MAKE_VERSION): bump version to 20120704 736 Merge with NetBSD make, pick up 737 o Job_ParseShell should call Shell_Init if it has been 738 previously called. 739 * Makefile.in: set USE_META based on configure result. 740 also .PARSEDIR is safer indicator of bmake. 741 7422012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 743 744 * Makefile.in: bump version to 20120626 745 ensure CPPFLAGS is in CFLAGS 746 * meta.c: avoid nested externs 747 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 748 7492012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 750 751 * Makefile.in (MAKE_VERSION): bump version to 20120620 752 Merge with NetBSD make, pick up 753 o make_malloc.c: avoid including make_malloc.h again 754 755 * Makefile.in: avoid bmake only syntax or protect with 756 .if defined(.MAKE.LEVEL) 757 * bsd.after-import.mk: replace .-include with .sinclude 758 ensure? SRCTOP gets a value 759 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 760 7612012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 762 763 * Makefile.in (MAKE_VERSION): bump version to 20120612 764 Merge with NetBSD make, pick up 765 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 766 for greater portability. 767 o unit-tests/forloop: check that .for works as expected wrt 768 number of times and with "quoted strings". 769 7702012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 771 772 * Makefile.in (MAKE_VERSION): bump version to 20120606 773 Merge with NetBSD make, pick up 774 o compat.c: use kill(2) rather than raise(3). 775 * configure.in: look for sys/dev/filemon 776 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 777 and pass BOOTSTRAP_XTRAS to boot-strap. 778 7792012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 780 781 * Makefile.in (MAKE_VERSION): bump version to 20120604 782 Merge with NetBSD make, pick up 783 o util.c and var.c share same var for tracking if environ 784 has been reallocated. 785 o util.c provide getenv with setenv. 786 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 787 when the shell actively strips .MAKE.* from the environment. 788 We still refer to the variable always as .MAKE.LEVEL 789 * util.c fix bug in findenv() was finding prefix of name. 790 * compat.c: re-raising SIGINT etc after running .INTERRUPT 791 results in more reliable termination of all activity on many 792 platforms. 793 7942012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 795 796 * Makefile.in (MAKE_VERSION): bump version to 20120602 797 Merge with NetBSD make, pick up 798 o for.c: handle quoted items in .for list 799 8002012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 801 802 * Makefile.in (MAKE_VERSION): bump version to 20120530 803 Merge with NetBSD make, pick up 804 o compat.c: ignore empty command. 805 8062012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 807 808 * Makefile.in (MAKE_VERSION): bump version to 20120524 809 * FILES: add bsd.after-import.mk: 810 A simple means of integrating bmake into a BSD build system. 811 8122012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 813 814 * Makefile.in (MAKE_VERSION): bump version to 20120520 815 Merge with NetBSD make, pick up 816 o increased limit for nested conditionals. 817 8182012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 819 820 * Makefile.in (MAKE_VERSION): bump version to 20120518 821 Merge with NetBSD make, pick up 822 o use _exit(2) in signal hanlder 823 o Don't use the [dir] cache when building nodes that might have 824 changed since the last exec. 825 o Avoid nested extern declaration warnings. 826 8272012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 828 829 * meta.c (fgetLine): avoid %z - not portable. 830 * parse.c: Since we moved include of sys/mman.h 831 and def's of MAP_COPY etc. we got dups from a merge. 832 8332012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 834 835 * Makefile.in (MAKE_VERSION): bump version to 20120420 836 Merge with NetBSD make, pick up 837 o restore duplicate supression in .MAKE.MAKEFILES 838 runtime saving can be significant. 839 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 840 consumption up to 20%. 841 8422012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 843 844 * Makefile.in (MAKE_VERSION): bump version to 20120420 845 Merge with NetBSD make, pick up 846 o remove duplicate supression in .MAKE.MAKEFILES 847 o improved dir cache behavior 848 o gmake'ish export command 849 8502012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 851 852 * Makefile.in (MAKE_VERSION): bump version to 20120325 853 Merge with NetBSD make, pick up 854 o fix parsing of :[#] in conditionals. 855 8562012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 857 858 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 859 since some systems cannot cope with .Nx <version> 860 8612011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 862 863 * Makefile.in (MAKE_VERSION): bump version to 20111111 864 Merge with NetBSD make, pick up 865 o debug output for .PARSEDIR and .PARSEFILE 866 8672011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 868 869 * Makefile.in (MAKE_VERSION): bump version to 20111010 870 8712011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 872 873 * boot-strap: check for an expected file in the dirs we look for. 874 * make-bootstrap.sh: pass on LDSTATIC 875 8762011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 877 878 * Makefile.in (MAKE_VERSION): bump version to 20111001 879 Merge with NetBSD make, pick up 880 o ensure .PREFIX is set for .PHONY 881 and .TARGET set for .PHONY run via .END 882 o __dead used consistently 883 8842011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 885 886 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 887 8882011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 889 890 * Makefile.in (MAKE_VERSION): bump version to 20110905 891 Merge with NetBSD make, pick up 892 o meta_oodate: ignore makeDependfile 893 8942011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 895 896 * Makefile.in (MAKE_VERSION): bump version to 20110828 897 Merge with NetBSD make, pick up 898 o silent=yes in .MAKE.MODE causes meta mode to mark targets 899 as SILENT if a .meta file is created 900 9012011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 902 903 * Makefile.in (MAKE_VERSION): bump version to 20110818 904 Merge with NetBSD make, pick up 905 o in meta mode, if target flagged .META a missing .meta file 906 means target is out-of-date 907 o fixes for gcc 4.5 warnings 908 o simplify job printing code 909 9102011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 911 912 * Makefile.in (MAKE_VERSION): bump version to 20110808 913 Merge with NetBSD make, pick up 914 o do not touch OP_SPECIAL targets when doing make -t 915 9162011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 917 918 * Makefile.in (MAKE_VERSION): bump version to 20110622 919 Merge with NetBSD make, pick up 920 o meta_oodate detect corrupted .meta file and declare oodate. 921 * configure.in: add check for setsid 922 9232011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 924 925 * Merge with NetBSD make, pick up 926 o unit-tests/modts now works on MirBSD 927 9282011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 929 930 * Makefile.in (MAKE_VERSION): bump version to 20110606 931 Merge with NetBSD make, pick up 932 o ApplyModifiers: when we parse a variable which is not 933 the entire modifier string, or not followed by ':', do not 934 consider it as containing modifiers. 935 o loadfile: ensure newline at end of mapped file. 936 9372011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 938 939 * Makefile.in (MAKE_VERSION): bump version to 20110505 940 Merge with NetBSD make, pick up 941 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 942 of make's control. In meta mode, any generated file within 943 said bailiwick, which is found to be missing, causes current 944 target to be out-of-date. 945 9462011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 947 948 * Makefile.in (MAKE_VERSION): bump version to 20110411 949 Merge with NetBSD make, pick up 950 o when long modifiers fail to match, check sysV style. 951 - add a test case 952 9532011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 954 955 * Makefile.in (MAKE_VERSION): bump version to 20110410 956 Merge with NetBSD make, pick up 957 o :hash - cheap 32bit hash of value 958 o :localtime, :gmtime - use value as format string for strftime. 959 9602011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 961 962 * Makefile.in (MAKE_VERSION): bump version to 20110330 963 mostly because its a cooler version. 964 Merge with NetBSD make, pick up 965 o NetBSD tags for meta.[ch] 966 o job.c call meta_job_finish() after meta_job_error(). 967 o meta_job_error() should call meta_job_finish() to ensure 968 .meta file is closed, and safe to copy - if .ERROR target wants. 969 meta_job_finish() is safe to call repeatedly. 970 9712011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 972 973 * unit-tests/modts: use printf if it is a builtin, 974 to save us from MirBSD 975 976 * Makefile.in (MAKE_VERSION): bump version to 20110329 977 Merge with NetBSD make, pick up 978 o fix for use after free() in CondDoExists(). 979 o meta_oodate() report extra commands and return earlier. 980 9812011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 982 983 * Makefile.in (MAKE_VERSION): bump version to 20110327 984 Merge with NetBSD make, pick up 985 o meta.c, if .MAKE.MODE contains curdirOk=yes 986 allow creating .meta files in .CURDIR 987 * boot-strap (TOOL_DIFF): aparently at least on linux distro 988 formats the output of 'type' differently - so eat any "()" 989 9902011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 991 992 * Makefile.in (MAKE_VERSION): bump version to 20110306 993 Merge with NetBSD make, pick up 994 o meta.c, only do getcwd() once 995 9962011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 997 998 * Makefile.in (MAKE_VERSION): bump version to 20110305 999 Merge with NetBSD make, pick up 1000 o correct sysV substitution handling of empty lhs and variable 1001 o correct exists() check for dir with trailing / 1002 o correct handling of modifiers for non-existant variables 1003 during evaluation of conditionals. 1004 o ensure MAP_FILE is defined. 1005 o meta.c use curdir[] now exported by main.c 1006 10072011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 1008 1009 * Makefile.in (MAKE_VERSION): bump version to 20110225 1010 Merge with NetBSD make, pick up 1011 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 1012 makefiles have been read. 1013 o fix example of :? modifier in man page. 1014 10152011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 1016 1017 * Makefile.in (MAKE_VERSION): bump version to 20110214 1018 Merge with NetBSD make, pick up 1019 o meta.c handle realpath() failing when generating meta file 1020 name. 1021 1022 * sigcompat.c: convert to ansi so we can use higher warning levels. 1023 1024 10252011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 1026 1027 * Makefile.in (MAKE_VERSION): bump version to 20110207 1028 Merge with NetBSD make, pick up 1029 o fix for bug in meta mode. 1030 10312011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 1032 1033 * parse.c: SunOS 5.8 at least does not have MAP_FILE 1034 10352011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 1036 1037 * Makefile.in (MAKE_VERSION): bump version to 20110101 1038 Merge with NetBSD make, pick up 1039 o use mmap(2) if available, for reading makefiles 1040 10412010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 1042 1043 * Makefile.in (MAKE_VERSION): bump version to 20101215 1044 Merge with NetBSD make, pick up 1045 o ensure meta_job_error() does not report a previous .meta file 1046 as being culprit. 1047 10482010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 1049 1050 * Makefile.in (MAKE_VERSION): bump version to 20101210 1051 Merge with NetBSD make, pick up 1052 o meta_oodate: track cwd per process, and only consider target 1053 out-of-date if missing file is outside make's CWD. 1054 Ignore files in /tmp/ etc. 1055 o to ensure unit-tests results match, need to control LC_ALL 1056 as well as LANG. 1057 o fix for parsing bug in var.c 1058 10592010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1060 1061 * Makefile.in (MAKE_VERSION): bump version to 20101126 1062 Merge with NetBSD make, pick up 1063 o if stale dependency is an IMPSRC, search via .PATH 1064 o meta_oodate: if a referenced file is missing, target is 1065 out-of-date. 1066 o meta_oodate: if a target uses .OODATE in its commands, 1067 it (.OODATE) needs to be recomputed. 1068 o keep a pointer to youngest child node, rather than just its 1069 mtime. 1070 10712010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 1072 1073 * Makefile.in (MAKE_VERSION): bump version to 20101101 1074 10752010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 1076 1077 * machine.sh: like os.sh, 1078 allow for uname -p producing useless drivel 1079 10802010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 1081 1082 * boot-strap: document configure knobs for meta and filemon. 1083 1084 * Makefile.in (MAKE_VERSION): bump version to 20100911 1085 Merge with NetBSD make, pick up 1086 o meta.c - meta mode 1087 1088 * make-bootstrap.sh.in: handle meta.c 1089 * configure.in: add knobs for use_meta and filemon_h 1090 also, look for dirname, str[e]sep and strlcpy 1091 * util.c: add simple err[x] and warn[x] 1092 10932010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1094 1095 * boot-strap (TOOL_DIFF): set this to ensure tests use 1096 the same version of diff that configure tested 1097 1098 * Makefile.in (MAKE_VERSION): bump version to 20100808 1099 Merge with NetBSD make, pick up 1100 o in jobs mode, when we discover we cannot make something, 1101 call PrintOnError before exit. 1102 11032010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 1104 1105 * Makefile.in (MAKE_VERSION): bump version to 20100806 1106 Merge with NetBSD make, pick up 1107 o formatting fixes for ignored errors 1108 o ensure jobs are cleaned up regardless of where wait() was called. 1109 11102010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1111 1112 * Makefile.in (MAKE_VERSION): bump version to 20100618 1113 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 1114 11152010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1116 1117 * Makefile.in (MAKE_VERSION): bump version to 20100616 1118 Merge with NetBSD make, pick up 1119 o man page update 1120 o call PrintOnError from JobFinish when we detect an error we 1121 are not ignoring. 1122 11232010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1124 1125 * Makefile.in (MAKE_VERSION): bump version to 20100606 1126 Merge with NetBSD make, pick up 1127 o man page update 1128 11292010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 1130 1131 * Makefile.in (MAKE_VERSION): bump version to 20100605 1132 Merge with NetBSD make, pick up 1133 o use bmake_signal() which is a wrapper around sigaction() 1134 in place of signal() 1135 o add .export-env to allow exporting variables to environment 1136 without tracking (so no re-export when the internal value is 1137 changed). 1138 11392010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1140 1141 * Makefile.in (MAKE_VERSION): bump version to 20100524 1142 Merge with NetBSD make, pick up 1143 o fix for .info et al being greedy. 1144 11452010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 1146 1147 * Makefile.in (MAKE_VERSION): bump version to 20100520 1148 Merge with NetBSD make, pick up 1149 o back to using realpath on argv[0] 1150 but only if contains '/' and does not start with '/'. 1151 11522010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1153 1154 * boot-strap: use absolute path for bmake when running tests. 1155 1156 * Makefile.in (MAKE_VERSION): bump version to 20100510 1157 Merge with NetBSD make, pick up 1158 o revert use of realpath on argv[0] 1159 too many corner cases. 1160 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 1161 11622010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1163 1164 * Makefile.in (MAKE_VERSION): bump version to 20100505 1165 Merge with NetBSD make, pick up 1166 o fix for missed SIGCHLD when compiled with SunPRO 1167 actually for bmake, defining FORCE_POSIX_SIGNALS would have 1168 done the job. 1169 11702010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1171 1172 * Makefile.in (MAKE_VERSION): bump version to 20100430 1173 Merge with NetBSD make, pick up 1174 o fflush stdout before writing to stdout 1175 11762010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 1177 1178 * Makefile.in (MAKE_VERSION): bump version to 20100423 1179 Merge with NetBSD make, pick up 1180 o updated unit tests for Haiku (this time for sure). 1181 * boot-strap: based on patch from joerg 1182 honor --with-default-sys-path better. 1183 * boot-strap: remove mention of --with-prefix-sys-path 1184 11852010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1186 1187 * Makefile.in (MAKE_VERSION): bump version to 20100422 1188 * Merge with NetBSD make, pick up 1189 o fix for vfork() on Darwin. 1190 o fix for bogus $TMPDIR. 1191 o set .MAKE.MODE=compat for -B 1192 o set .MAKE.JOBS=max_jobs for -j max_jobs 1193 o allow unit-tests to run without any *.mk 1194 o unit-tests/modmisc be more conservative in dirs presumed to exist. 1195 * boot-strap: ignore /usr/share/mk except on NetBSD. 1196 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 1197 ensure sort(1) behaves as expected. 1198 11992010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1200 1201 * boot-strap: add FindHereOrAbove so we can use -m .../mk 1202 12032010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1204 1205 * Makefile.in (MAKE_VERSION): bump version to 20100420 1206 * Merge with NetBSD make, pick up 1207 o fix for variable realpath() behavior. 1208 we have to stat(2) the result to be sure. 1209 o fix for .export (all) when nested vars use :sh 1210 12112010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 1212 1213 * Makefile.in (MAKE_VERSION): bump version to 20100414 1214 * Merge with NetBSD make, pick up 1215 o use realpath to resolve argv[0] (for .MAKE) if needed. 1216 o add realpath from libc. 1217 o add :tA to resolve variable via realpath(3) if possible. 1218 12192010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 1220 1221 * Makefile.in (MAKE_VERSION): bump version to 20100408 1222 * Merge with NetBSD make, pick up 1223 o unit tests for .ERROR, .error 1224 o fix for .ERROR to ensure it cannot be default target. 1225 12262010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 1227 1228 * Makefile.in (MAKE_VERSION): bump version to 20100406 1229 * Merge with NetBSD make, pick up 1230 o fix for compat mode "Error code" going to debug_file. 1231 o fix for .ALLSRC being populated twice. 1232 o support for .info, .warning and .error directives 1233 o .MAKE.MODE to control make's operational mode 1234 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 1235 name(s). 1236 o .MAKE.DEPENDFILE to control the name of the depend file 1237 o .ERROR target - run on failure. 1238 12392010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1240 1241 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 1242 1243 * os.sh,arch.c: patch for Haiku from joerg at netbsd 1244 12452010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 1246 1247 * Makefile.in (MAKE_VERSION): bump version to 20100222 1248 * Merge with NetBSD make, pick up 1249 o better error msg for .for with mutiple inter vars 1250 1251 * boot-strap: 1252 o use make-bootstrap.sh from joerg at netbsd 1253 to avoid the need for a native make when bootstrapping. 1254 o add "" everywhere ;-) 1255 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 1256 otherwise the pre-formated version. 1257 12582010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1259 1260 * Makefile.in (MAKE_VERSION): bump version to 20100102 1261 * Merge with NetBSD make, pick up: 1262 o fix for -m .../ 1263 12642009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 1265 1266 * Makefile.in (MAKE_VERSION): bump version to 20091118 1267 * Merge with NetBSD make, pick up: 1268 o .unexport 1269 o report lines that start with '.' and should have ':' 1270 (catch typo's of .el*if). 1271 12722009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1273 1274 * configure.in: Ensure that srcdir and mksrc are absolute paths. 1275 12762009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1277 1278 * Makefile.in (MAKE_VERSION): fix version to 20091007 1279 12802009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 1281 1282 * Makefile.in (MAKE_VERSION): bump version to 200910007 1283 * Merge with NetBSD make, pick up: 1284 o fix for parsing of :S;...;...; applied to .for loop iterator 1285 appearing in a dependency line. 1286 12872009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1288 1289 * Makefile.in (MAKE_VERSION): bump version to 20090909 1290 * Merge with NetBSD make, pick up: 1291 o fix for -C, .CURDIR and .OBJDIR 1292 * boot-strap: 1293 o allow share_dir to be set independent of prefix. 1294 o select default share_dir better when prefix ends in $HOST_TARGET 1295 o if FORCE_BSD_MK etc were set, include them in the suggested 1296 install-mk command. 1297 12982009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1299 1300 * Makefile.in (MAKE_VERSION): bump version to 20090908 1301 * Merge with NetBSD make, pick up: 1302 o .MAKE.LEVEL for recursion tracking 1303 o fix for :M scanning \: 1304 13052009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1306 1307 * configure.in: Don't -D__EXTENSIONS__ if 1308 AC_USE_SYSTEM_EXTENSIONS says "no". 1309 13102009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 1311 1312 * Makefile.in (MAKE_VERSION): bump version to 20090826 1313 Simplify MAKE_VERSION to just the bare date. 1314 * Merge with NetBSD make, pick up: 1315 o -C directory support. 1316 o support for SIGINFO 1317 o use $TMPDIR for temp files. 1318 o child of vfork should be careful about modifying parent's state. 1319 1320 13212009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1322 1323 * Appy some patches for MiNT from David Brownlee 1324 13252009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 1326 1327 * Makefile.in (BMAKE_VERSION): bump version to 20090222 1328 * Merge with NetBSD make, pick up: 1329 o Possible null pointer de-ref in Var_Set. 1330 13312009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 1332 1333 * Makefile.in (BMAKE_VERSION): bump version to 20090204 1334 * Merge with NetBSD make, pick up: 1335 o bmake_malloc et al moved to their own .c 1336 o Count both () and {} when looking for the end of a :M pattern 1337 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 1338 o strlist.c - functions for processing extendable arrays of pointers to strings. 1339 o ClientData replaced with void *, so const void * can be used. 1340 o New debug flag C for DEBUG_CWD 1341 13422008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1343 1344 * Makefile.in (BMAKE_VERSION): bump version to 20081111 1345 Apply patch from Joerg Sonnenberge to 1346 configure.in: 1347 o remove some redundant checks 1348 o check for emlloc etc only in libutil and require the whole family. 1349 util.c: 1350 o remove [v]asprintf which is no longer used. 1351 13522008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1353 1354 * Makefile.in (BMAKE_VERSION): bump version to 20081101 1355 * Merge with NetBSD make, pick up: 1356 o util.c: avoid use of putenv() - christos 1357 13582008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1359 1360 * Makefile.in (BMAKE_VERSION): bump version to 20081030 1361 pick up man page tweaks. 1362 13632008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 1364 1365 * Makefile.in: move processing of LIBOBJS to after is definition! 1366 thus we'll have getenv.c in SRCS only if needed. 1367 1368 * make.1: add examples of how to use :? 1369 1370 * Makefile.in (BMAKE_VERSION): bump version to 20081029 1371 * Merge with NetBSD make, pick up: 1372 o fix for .END processing with -j 1373 o segfault from Parse_Error when no makefile is open 1374 o handle numeric expressions in any variable expansion 1375 o debug output now defaults to stderr, -dF to change it - apb 1376 o make now uses bmake_malloc etc so that it can build natively 1377 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 1378 13792008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 1380 1381 * Makefile.in (BMAKE_VERSION): bump version to 20080808 1382 * Merge with NetBSD make, pick up: 1383 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 1384 long lines in Makefiles 1385 o optimizations for VarQuote by joerg 1386 o fix for PR/38756: dominik: make dumps core on invalid makefile 1387 13882008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 1389 1390 * Makefile.in (BMAKE_VERSION): bump version to 20080515 1391 * Merge with NetBSD make, pick up: 1392 o fix skip setting vars in VAR_GLOBAL context, to handle 1393 cases where VAR_CMD is used for other than command line vars. 1394 13952008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 1396 1397 * boot-strap (make_version): we may need to look in 1398 $prefix/share/mk for sys.mk 1399 1400 * Makefile.in (BMAKE_VERSION): bump version to 20080514 1401 * Merge with NetBSD make, pick up: 1402 o skip setting vars in VAR_GLOBAL context, when already set in 1403 VAR_CMD which takes precedence. 1404 14052008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 1406 1407 * Makefile.in (BMAKE_VERSION): bump version to 20080330 1408 * Merge with NetBSD make, pick up: 1409 o fix for ?= when LHS contains variable reference. 1410 14112008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1412 1413 * merge some patches from NetBSD pkgsrc. 1414 1415 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 1416 the MAKSYSPATH used during bootstrap. 1417 1418 * Makefile.in (BMAKE_VERSION): bump version to 20080215 1419 * Merge with NetBSD make, pick up: 1420 o warn if non-space chars follow 'empty' in a conditional. 1421 14222008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1423 1424 * Makefile.in (BMAKE_VERSION): bump version to 20080118 1425 * Merge with NetBSD make, pick up: 1426 o consider dependencies read from .depend as optional - dsl 1427 o remember when buffer for reading makefile grows - dsl 1428 o add -dl (aka LOUD) - David O'Brien 1429 14302007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 1431 1432 * Makefile.in (BMAKE_VERSION): bump version to 20071022 1433 * Merge with NetBSD make, pick up: 1434 o Allow .PATH<suffix> to be used for .include "" 1435 1436 * boot-strap: source default settings from .bmake-boot-strap.rc 1437 14382007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 1439 1440 * Makefile.in: fix maninstall on various systems 1441 provided that our man.mk is used. 1442 For non-BSD systems we install the preformatted page 1443 into $MANDIR/cat1 1444 14452007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 1446 1447 * boot-strap: make bmake.1 too, so maninstall works. 1448 14492007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 1450 1451 * Makefile.in (BMAKE_VERSION): bump version to 20071014 1452 * Merge with NetBSD make, pick up: 1453 o revamped handling of defshell - configure no longer needs to 1454 know the content of the shells array - apb 1455 o stop Var_Subst modifying its input - apb 1456 o avoid calling ParseTrackInput too often - dsl 1457 14582007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 1459 1460 * Makefile.in (BMAKE_VERSION): bump version to 20071011 1461 * Merge with NetBSD make, pick up: 1462 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 1463 1464 * sigcompat.c: some tweaks for HP-UX 11.x based on 1465 patch from Tobias Nygren 1466 1467 * configure.in: update handling of --with-defshell to match 1468 new make behavior. --with-defshell=/usr/xpg4/bin/sh 1469 will now do what one might hope - provided the chosen shell 1470 behaves enough like sh. 1471 14722007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 1473 1474 * Makefile.in (BMAKE_VERSION): bump to 20071008 1475 * Merge with NetBSD make, pick up: 1476 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 1477 o .export/.MAKE.EXPORTED - export of variables - sjg 1478 o .MAKE.MAKEFILES - track all makefiles read - sjg 1479 o performance improvements - dsl 1480 o revamp parallel job scheduling - dsl 1481 14822006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1483 1484 * Makefile.in (BMAKE_VERSION): bump to 20060728 1485 * Merge with NetBSD make, pick up: 1486 o extra debug info during variable and cond processing - sjg 1487 o shell definition now covers newline - rillig 1488 o minor mem leak in PrintOnError - sjg 1489 14902006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1491 1492 * Makefile.in (BMAKE_VERSION): bump to 20060511 1493 * Merge with NetBSD make, pick up: 1494 o more memory leaks - coverity 1495 o possible overflow in ArchFindMember - coverity 1496 o extract variable modifier code out of Var_Parse() 1497 so it can be called recursively - sjg 1498 o unit-tests/moderrs - sjg 1499 15002006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 1501 1502 * Makefile.in (BMAKE_VERSION): bump to 20060412 1503 * Merge with NetBSD make, pick up: 1504 o fixes for some memory leaks - coverity 1505 o only read first sys.mk etc when searching sysIncPath - sjg 1506 1507 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 1508 setting ${MAKEFILE} - OBATA Akio 1509 15102006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1511 1512 * Makefile.in (BMAKE_VERSION): bump to 20060318 1513 * Merge with NetBSD make, pick up: 1514 o cleanup of job.c to remove remote handling, distcc is more 1515 useful and this code was likely bit-rotting - dsl 1516 o fix for :P modifier - sjg 1517 * boot-strap: set default prefix to something reasonable 1518 (for me anyway). 1519 15202006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1521 1522 * Makefile.in (BMAKE_VERSION): bump to 20060301 1523 * Merge with NetBSD make, pick up: 1524 o make .WAIT apply recursively, document and test case - apb 1525 o allow variable modifiers in a variable appear anywhere in 1526 modifier list, document and test case - sjg 1527 15282006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 1529 1530 * Makefile.in (BMAKE_VERSION): bump to 20060222 1531 * Merge with NetBSD make, pick up: 1532 o improved job token handling - dsl 1533 o SIG_DFL the correct signal before exec - dsl 1534 o more debug info during parsing - dsl 1535 o allow variable modifiers to be specified via variable - sjg 1536 * boot-strap: explain why we died if no mksrc 1537 15382005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 1539 1540 * Makefile.in (BMAKE_VERSION): bump to 20051105 1541 * configure.in: always set default_sys_path 1542 default is ${prefix}/share/mk 1543 - remove prefix_sys_path, anyone wanting more than above 1544 needs to set it manually. 1545 15462005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1547 1548 * boot-strap: make this a bit easier for pkgsrc folk. 1549 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 1550 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 1551 15522005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 1553 1554 * Makefile.in (BMAKE_VERSION): bump to 20051102 1555 * job.c (JobFinish): fix likely ancient merge lossage 1556 fix from Todd Vierling. 1557 * boot-strap (srcdir): allow setting mksrc=none 1558 15592005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 1560 1561 * Makefile.in (BMAKE_VERSION): bump to 20051031 1562 * ranlib.h: skip on OSF too. 1563 (NetBSD PR 31864) 1564 15652005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 1566 1567 * Makefile.in (BMAKE_VERSION): bump to 20051002 1568 fix a silly typo 1569 15702005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1571 1572 * Makefile.in (BMAKE_VERSION): bump to 20051001 1573 support for UnixWare and some other systems, 1574 based on patches from pkgsrc/bootstrap 1575 15762005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1577 1578 * Makefile.in (BMAKE_VERSION): bump to 20050901 1579 * Merge with NetBSD make, pick up: 1580 o possible parse error causing us to wander off. 1581 15822005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 1583 1584 * Makefile.in (BMAKE_VERSION): bump to 20050606 1585 * Merge with NetBSD make, pick up: 1586 o :0x modifier for randomizing a list 1587 o fixes for a number of -Wuninitialized issues. 1588 15892005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 1590 1591 * Makefile.in (BMAKE_VERSION): bump to 20050530 1592 * Merge with NetBSD make, pick up: 1593 o Handle dependencies for .BEGIN, .END and .INTERRUPT 1594 1595 * README: was seriously out of date. 1596 15972005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1598 1599 * Important to use .MAKE rather than MAKE. 1600 16012005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 1602 1603 * Makefile.in (BMAKE_VERSION): bump to 20050315 1604 * Merge with NetBSD make, pick up: 1605 o don't mistake .elsefoo for .else 1606 o use suffix-specific search path correctly 1607 o bunch of style nits 1608 16092004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1610 1611 * boot-strap: 1612 o ensure that args to --src and --with-mksrc 1613 are resolved before giving them to configure. 1614 o add -o "objdir" so that builder can control it, 1615 default is $OS as determined by os.sh 1616 o add -q to suppress all the install instructions. 1617 16182004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 1619 1620 * Remove __IDSTRING() 1621 1622 * Makefile.in (BMAKE_VERSION): bump to 20040508 1623 * Merge with NetBSD make, pick up: 1624 o posix fixes 1625 - remove '-e' from compat mode 1626 - add support for '+' command-line prefix. 1627 o fix for handling '--' on command-line. 1628 o fix include in lst.lib/lstInt.h to simplify '-I's 1629 o we also picked up replacement of MAKE_BOOTSTRAP 1630 with !MAKE_NATIVE which is a noop, but possibly confusing. 1631 16322004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 1633 1634 * Makefile.in (BMAKE_VERSION): bump to 20040414 1635 * Merge with NetBSD make, pick up: 1636 o allow quoted strings on lhs of conditionals 1637 o issue warning when extra .else is seen 1638 o print line numer when errors encountered during parsing from 1639 string. 1640 16412004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 1642 1643 * Makefile.in (BMAKE_VERSION): bump to 20040220 1644 * Merge with NetBSD make, pick up: 1645 o fix for old :M parsing bug. 1646 o re-jigged unit-tests 1647 16482004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1649 1650 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 1651 so that './bmake -f Makefile test' works. 1652 16532004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1654 1655 * Makefile.in: (BMAKE_VERSION): bump to 20040214 1656 * Merge with NetBSD make, pick up: 1657 o search upwards for *.mk 1658 o fix for double free of var substitution buffers 1659 o use of getopt replaced with custom code, since the usage 1660 (re-scanning) isn't posix compatible. 1661 16622004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 1663 1664 * arch.c: don't include ranlib.h on ELF systems 1665 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 1666 16672004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1668 1669 * Makefile.in (BMAKE_VERSION): bump to 20040118 1670 1671 * boot-strap (while): export vars we assign to on cmdline 1672 * unit-test/Makefile.in: ternary is .PHONY 1673 16742004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 1675 1676 * Makefile.in (BMAKE_VERSION): bump version to 20040108 1677 * Merge with NetBSD make, pick up: 1678 o fix for ternary modifier 1679 16802004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 1681 1682 * Makefile.in (BMAKE_VERSION): bump version to 20040105 1683 * Merge with NetBSD make, pick up: 1684 o fix for cond.c to handle compound expressions better 1685 o variable expansion within sysV style replacements 1686 16872003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 1688 1689 * Make portable snprintf safer - output to /dev/null first to 1690 check space needed. 1691 1692 * Makefile.in (BMAKE_VERSION): bump version to 20031222 1693 * Merge with NetBSD make, pick up: 1694 o -dg3 to show input graph when things go wrong. 1695 o explicitly look for makefiles in objdir if not found in curdir so 1696 that errors in .depend etc will be reported accurarely. 1697 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 1698 instead as it more accurately reflects the expected behavior and 1699 is more consistently implemented. 1700 o avoid use of asprintf. 1701 17022003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1703 1704 * util.c: Add asprintf and vasprintf. 1705 1706 * Makefile.in (BMAKE_VERSION): bump version to 20030928 1707 * Merge with NetBSD make, pick up: 1708 :[] modifier - allows picking words from a variable. 1709 :tW modifier - allows treating value as one big word. 1710 W flag for :C and :S - allows treating value as one big word. 1711 17122003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 1713 1714 * Merge with NetBSD make 1715 pick up -de flag to enable printing failed command. 1716 don't skip 1st two dir entries (normally . and ..) since 1717 coda does not have them. 1718 17192003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1720 1721 * Makefile.in (BMAKE_VERSION): bump version to 20030909 1722 * Merge with NetBSD make, pick up: 1723 - changes for -V '${VAR}' to print fully expanded value 1724 cf. -V VAR 1725 - CompatRunCommand now prints the command that failed. 1726 - several files got updated 3 clause Berkeley license. 1727 17282003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 1729 1730 * boot-strap: Allow setting configure args on command line. 1731 17322003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1733 1734 * configure.in: add --with-defshell to allow sh or ksh 1735 to be selected as default shell. 1736 1737 * Makefile.in: bump version to 20030731 1738 1739 * Merge with NetBSD make 1740 Pick up .SHELL spec for ksh and associate man page changes. 1741 Also compat mode now uses the same shell specs. 1742 17432003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 1744 1745 * var.c (Var_Parse): ensure delim is initialized. 1746 1747 * unit-tests/Makefile.in: use single quotes to avoid problems from 1748 some shells. 1749 1750 * makefile.boot.in: 1751 Run the unit-tests as part of the bootstrap procedure. 1752 17532003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1754 1755 * unit-tests/Makefile.in: always force complaints from 1756 ${TEST_MAKE} to be from 'make'. 1757 1758 * configure.in: add check for 'diff -u' 1759 also fix some old autoconf'isms 1760 1761 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 1762 if using GCC add -Wno-cast-qual to CFLAGS for var.o 1763 1764 * Merge with NetBSD make 1765 Pick up fix for :ts parsing error in some cases. 1766 Pick unit-tests. 1767 17682003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 1769 1770 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 1771 1772 * var.c (Var_Parse): fix bug in :ts modifier, after const 1773 correctness fixes, must pass nstr to VarModify. 1774 17752003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 1776 1777 * Makefile.in: BMAKE_VERSION switch to a date based version. 1778 We'll generally use the date of last import from NetBSD. 1779 1780 * Merge with NetBSD make 1781 Pick up fixes for const-correctness, now passes WARNS=3 on 1782 NetBSD. 1783 Pick up :ts modifier, allows controlling the separator used 1784 between words in variable expansion. 1785 17862003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 1787 1788 * FILES: include boot-strap and os.sh 1789 1790 * Makefile.in: only set WARNS if we are NetBSD, the effect on 1791 FreeBSD is known to be bad. 1792 1793 * makefile.boot.in (bootstrap): make this the default target. 1794 1795 * Makefile.in: bump version to 3.1.19 1796 1797 * machine.sh: avoid A-Z with tr as it is bound to lose. 1798 17992003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 1800 1801 * Merge with NetBSD make 1802 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 1803 Plus some doc fixes. 1804 18052003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 1806 1807 * Merge with NetBSD make 1808 Pick up fix for PR/1523 - don't count a library as built, if there 1809 is no way to build it 1810 1811 * Bump version to 3.1.18 1812 18132003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 1814 1815 * Merge with NetBSD make 1816 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 1817 appears in src list. 1818 18192003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 1820 1821 * Merge with NetBSD make (mmm 10th anniversary!) 1822 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 1823 pick up -X which tells us to not export VAR=val via setenv if 1824 we are already doing so via MAKEFLAGS. This saves valuable env 1825 space on systems like Darwin. 1826 set MAKE_VERSION to 3.1.17 1827 1828 * parse.c: pix up fix for suffix rules 1829 18302003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 1831 1832 * Merge with NetBSD make. 1833 pick up fix for propagating -B via MAKEFLAGS. 1834 set MAKE_VERSION to 3.1.16 1835 1836 * Apply some patches from pkgsrc-bootstrap/bmake 1837 Originally by Grant Beattie <grant@netbsd.org> 1838 I may have missed some - since they are based on bmake-3.1.12 1839 18402002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 1841 1842 * makefile.boot.in (bmake): update install targets for those that 1843 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 1844 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 1845 1846 * bmake.cat1: update the pre-formatted man page! 1847 18482002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 1849 1850 * Merge with NetBSD make. 1851 pick up fix for premature free of pointer used in call 1852 to Dir_InitCur(). 1853 set MAKE_VERSION to 3.1.15 1854 18552002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 1856 1857 * configure.in: determine suitable value for MKSRC. 1858 override using --with-mksrc=PATH. 1859 1860 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 1861 configs(8) will use 'sun4' as an alias for 'sparc'. 1862 18632002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1864 1865 * Merge with NetBSD make. 1866 pick up ${.PATH} 1867 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 1868 set MAKE_VERSION to 3.1.14 1869 add configure checks for killpg and sys/socket.h 1870 18712002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 1872 1873 * tag bmake-3-1-13 1874 1875 * makefile.boot.in (bmake): use install-mk 1876 Also setup ./mk before trying to invoke bmake.boot incase we 1877 needed install-mk to create a sys.mk for us. 1878 1879 * configure.in: If we need to add -I${srcdir}/missing, make it an 1880 absolute path so that it works for lst.lib too. 1881 1882 * make.h: always include sys/cdefs.h since we provide one if the 1883 host does not. 1884 1885 * Makefile.in (install-mk): 1886 use MKSRC/install-mk which will do the right thing. 1887 use uname -p for ARCH if possible. 1888 since install-mk will setup links bsd.prog.mk -> prog.mk if 1889 needed, just .include bsd.prog.mk 1890 1891 * Merge with NetBSD make (NetBSD-1.6) 1892 Code is ansi-C only now. 1893 Bug in handling of dotLast is fixed. 1894 Can now assign .OBJDIR and make will reset its notions of life. 1895 New modifiers :tu :tl for toUpper and toLower. 1896 1897Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 1898 1899 * Merge with NetBSD make 1900 pick up fix for .END failure in compat mode. 1901 pick up fix for extra va_end() in ParseVErrorInternal. 1902 1903Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 1904 1905 * configure.in: for systems that have sys/cdefs.h check if it is 1906 compatible. If not, include the one under missing, but tell it to 1907 include the native one too - necessary on Linux. 1908 1909 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 1910 include_next (for gcc) to get the native sys/cdefs.h 1911 1912Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1913 1914 * job.c (JobFinish): Fix an earlier merge bug that resulted in 1915 leaking descriptors when using -jN. 1916 1917 * job.c (JobPrintCommand): See if "curdir" exists before 1918 attempting to chdir(). Doing the chdir directly in make (when in 1919 compat mode) fails silently, so let the -jN version do the same. 1920 This can happen when building kernels in an object tree and 1921 playing clever games to reset .CURDIR. 1922 1923 * Merged with NetBSD make 1924 pick up .USEBEFORE 1925 1926Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1927 1928 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 1929 1930Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1931 1932 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 1933 us not to export the iterator variable when using VAR_CMD context. 1934 1935Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1936 1937 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 1938 its the wrong "fix". 1939 1940Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1941 1942 * Redesigned export of VAR_CMD's via MAKEFLAGS. 1943 We now simply append the variable names to .MAKEOVERRIDES, and 1944 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 1945 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 1946 Apart from fixing quoting bugs in previous version, this allows us 1947 to export vars to the environment by simply doing: 1948 .MAKEOVERRIDES+= PATH 1949 Merged again with NetBSD make, but the above is the only change. 1950 1951 * configure.in: added 1952 --disable-pwd-override disable $PWD overriding getcwd() 1953 --disable-check-make-chdir disable make trying to guess 1954 when it should automatically cd ${.CURDIR} 1955 1956 * Merge with NetBSD make, changes include: 1957 parse.c (ParseDoDependency): Spot that the syntax error is 1958 caused by an unresolved cvs/rcs conflict and say so. 1959 var.c: most of Var* functions now take a ctxt as 1st arg. 1960 now does variable substituion on rhs of sysv style modifiers. 1961 1962 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 1963 is now done here. We append the name='value' to .MAKEOVERRIDES 1964 rather than directly into MAKEFLAGS as this allows a Makefile to 1965 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 1966 very similar mechanism. Note that in adding name='value' to 1967 .MAKEOVERRIDES we do the moral equivalent of: 1968 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 1969 1970Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1971 1972 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 1973 1974 * Merged with NetBSD make 1975 make -dx can now be used to run commands via sh -x 1976 better error messages on exec failures. 1977 1978Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1979 1980 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 1981 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 1982 MACHINE etc otherwise they propagate from the previous bmake. 1983 1984 * configure.in (machine): allow --with-machine=generic to make 1985 configure use machine.sh to set MACHINE. 1986 1987 * job.c (JobInterrupt): convert to using WAIT_T and friends. 1988 1989 * Makefile.in: mention in bmake.1 that we use autoconf. 1990 1991 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 1992 1993Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1994 1995 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 1996 as that rather defeats the usefulness of ${MAKEFILE}. 1997 1998 * main.c (MainParseArgs): append command line variable assignments 1999 to MAKEFLAGS so that they get propagated to child make's. 2000 Apparently this is required POSIX behaviour? Its useful anyway. 2001 2002Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2003 2004 * compat.c (CompatRunCommand): don't use perror() since stdio may 2005 cause problems in child of vfork(). 2006 2007 * compat.c, main.c: Call PrintOnError() when we are going to bail. 2008 This routine prints out the .curdir where we stopped and will also 2009 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 2010 2011 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 2012 :@ expansion. 2013 2014 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 2015 2016 * Added RCSid's for the files we've touched. 2017 2018Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2019 2020 * configure.in: Thanks to some clues from mdb@juniper.net, 2021 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 2022 as well as what ends up in _PATH_DEFSYSPATH. We now have: 2023 2024 --with-machine=MACHINE explicitly set MACHINE 2025 --with-force-machine=MACHINE set FORCE_MACHINE 2026 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 2027 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 2028 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 2029 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 2030 2031 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 2032 2033 * makefile: added a pathetically simple makefile to drive 2034 bootstrapping. Running configure by hand is more useful. 2035 2036 * Makefile.in: added MAKE_VERSION, and reworked things to be less 2037 dependent on NetBSD bsd.*.mk 2038 2039 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 2040 _PATH_OBJDIRPREFIX for those that don't want a default. 2041 construct _PATH_DEFSYSPATH from the info we get from configure. 2042 2043 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 2044 if MAKE_VERSION is defined. 2045 2046 * compat.c: when we bail, print out the .CURDIR we were in. 2047 2048Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2049 2050 * Merged with NetBSD make 2051 2052 * var.c: fixed a bug in the handling of the modifier :P 2053 if the node as found but the path was null, we segfault trying to 2054 duplicate it. 2055 2056Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2057 2058 * Merged with NetBSD make 2059 2060 * make.c: Make_OODate's test for a library out of date was using 2061 cmtime where it should have used mtime (my bug). 2062 2063 * compat.c: Use perror() to tell us what really went wrong when we 2064 cannot exec a command. 2065 2066Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2067 2068 * Merged with NetBSD make 2069 2070Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2071 2072 * Merged with NetBSD make 2073 2074Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2075 2076 * Merged with NetBSD make 2077 2078Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2079 2080 * Merged with NetBSD make 2081 2082Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2083 2084 * util.c: don't provide signal() since we use sigcompat.c 2085 2086 * Makefile.in: added a build target. 2087 2088 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 2089 These allow some quite clever magic. 2090 2091 * main.c (main): added support for getenv(MAKESYSPATH). 2092 2093Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2094 2095 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 2096 This avoids objdir having a different value depending on how a 2097 directory was reached (via command line, or subdir.mk). 2098 2099 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 2100 2101Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2102 2103 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 2104 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 2105 I've been testing this in NetBSD's make for some weeks. 2106 2107 * Turn Makefile into Makefile.in and make it useful. 2108 2109Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2110 2111 * Imported NetBSD's -current make(1) and resolve conflicts. 2112 2113 * Applied autoconf patches from bmake v2 2114 2115 * Imported clean code base from NetBSD-1.0 2116