12017-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 2 3 * Makefile (_MAKE_VERSION): 20170420 4 Merge with NetBSD make, pick up 5 o main.c: only use -C arg "as is" if it contains no 6 relative component. 7 82017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 9 10 * Makefile (_MAKE_VERSION): 20170418 11 Merge with NetBSD make, pick up 12 o main.c: fix Main_SetObjdir() for relative paths (eg obj). 13 142017-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 15 16 * Makefile (_MAKE_VERSION): 20170417 17 Merge with NetBSD make, pick up 18 o fixes a number of coverity complaints 19 - check return value of fseek, fcntl 20 - plug memory leak in Dir_FindFile, Var_LoopExpand, 21 JobPrintCommand, ParseTraditionalInclude 22 - use bmake_malloc() where NULL is not tollerated 23 - use MAKE_ATTR_UNUSED rather that kludges like 24 return(unused ? 0 : 0) 25 - use purge_cached_realpaths() rather than abuse cached_realpath() 26 272017-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 28 29 * Makefile (_MAKE_VERSION): 20170413 30 Merge with NetBSD make, pick up 31 o main.c: when setting .OBJDIR ignore '$' in paths. 32 33 * job.c: use MALLOC_OPTIONS to set malloc_options. 34 352017-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 36 37 * Makefile (_MAKE_VERSION): 20170411 38 Merge with NetBSD make, pick up 39 o str.c: Str_Match: allow [^a-z] to behave as expected. 40 412017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 42 43 * Makefile (_MAKE_VERSION): 20170326 44 Merge with NetBSD make, pick up 45 o main.c: purge relative paths from realpath cache when .OBJDIR 46 is changed. 47 482017-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 49 50 * Makefile (_MAKE_VERSION): 20170311 51 Merge with NetBSD make, pick up 52 o main.c: only use -C arg "as is" if it starts with '/'. 53 542017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 55 56 * Makefile (_MAKE_VERSION): 20170301 57 Merge with NetBSD make, pick up 58 o main.c: use -C arg "as is" rather than getcwd() 59 if they identify the same directory. 60 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case 61 622017-02-01 Simon J. Gerraty <sjg@bad.crufty.net> 63 64 * Makefile (_MAKE_VERSION): 20170201 65 Merge with NetBSD make, pick up 66 o var.c: allow :_=var and avoid use of special context. 67 682017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 69 70 * Makefile (_MAKE_VERSION): 20170130 71 Merge with NetBSD make, pick up 72 o var.c: add :range and :_ 73 o main.c: partially initialize Dir_* before MainParseArgs() 74 can be called. 75 If -V, skip Main_ExportMAKEFLAGS() 76 772017-01-14 Simon J. Gerraty <sjg@bad.crufty.net> 78 79 * Makefile (_MAKE_VERSION): 20170114 80 Merge with NetBSD make, pick up 81 o var.c: allow specifying the utc value used by :{gm,local}time 82 832016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 84 85 * Makefile (_MAKE_VERSION): 20161212 86 Merge with NetBSD make, pick up 87 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too. 88 892016-12-09 Simon J. Gerraty <sjg@bad.crufty.net> 90 91 * Makefile (_MAKE_VERSION): 20161209 92 Merge with NetBSD make, pick up 93 o main.c: cleanup setting of .OBJDIR 94 o parse.c: avoid coredump from (var)=val 95 962016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 97 98 * Makefile (_MAKE_VERSION): 20161126 99 Merge with NetBSD make, pick up 100 o make.c: Make_OODate: report src node name if path not set 101 1022016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 103 104 * Makefile (_MAKE_VERSION): 20160926 105 Merge with NetBSD make, pick up 106 o support for .DELETE_ON_ERROR: (remove targets that fail) 107 1082016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 109 110 * Makefile MAN: tweak .Dt to match ${PROG} 111 1122016-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 113 114 * Makefile (_MAKE_VERSION): 20160818 115 its a neater number; pick up whitespace fixes to man page. 116 1172016-08-17 Simon J. Gerraty <sjg@bad.crufty.net> 118 119 * Makefile (_MAKE_VERSION): 20160817 120 Merge with NetBSD make, pick up 121 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore() 122 so we can call it before adding entries to missingFiles. 123 Thus we do not track files we have been told to ignore. 124 1252016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 126 127 * Makefile (_MAKE_VERSION): 20160815 128 Merge with NetBSD make, pick up 129 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to 130 pathnames, and skip if the expansion is empty. 131 Useful for dirdeps.mk when checking DIRDEPS_CACHE. 132 1332016-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 134 135 * Makefile (_MAKE_VERSION): 20160812 136 Merge with NetBSD make, pick up 137 o meta.c: remove all missingFiles entries that match a deleted 138 dir. 139 o main.c: set .ERROR_CMD if possible. 140 1412016-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 142 143 * Makefile (_MAKE_VERSION): 20160606 144 Merge with NetBSD make, pick up 145 o dir.c: extend mtimes cache to others via cached_stat() 146 1472016-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 148 149 * Makefile (_MAKE_VERSION): 20160604 150 Merge with NetBSD make, pick up 151 o meta.c: missing filemon data is only relevant if we read a 152 meta file. 153 Also do not return oodate for a missing metafile if gn->path 154 points to .CURDIR 155 1562016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 157 158 * Makefile (_MAKE_VERSION): 20160602 159 Merge with NetBSD make, pick up 160 o cached_realpath(): avoid hitting filesystem more than necessary. 161 o meta.c: refactor need_meta decision, add knobs for 162 missing meta file and filemon data wrt out-of-datedness. 163 1642016-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 165 166 * Makefile (_MAKE_VERSION): 20160528 167 168 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 169 1702016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 171 172 * Makefile (_MAKE_VERSION): 20160512 173 Merge with NetBSD make, pick up 174 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS 175 this is useful for gcov builds. 176 o propagate errors from filemon(4). 177 1782016-05-09 Simon J. Gerraty <sjg@bad.crufty.net> 179 180 * Makefile (_MAKE_VERSION): 20160509 181 Merge with NetBSD make, pick up 182 o remove use of non-standard types u_int etc. 183 o meta.c: apply realpath() before matching against metaIgnorePaths 184 1852016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 186 187 * Makefile (_MAKE_VERSION): 20160404 188 Merge with NetBSD make, pick up 189 o allow makefile to set .MAKE.JOBS 190 191 * Makefile (PROG_NAME): use ${_MAKE_VERSION} 192 1932016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 194 195 * Makefile (_MAKE_VERSION): 20160315 196 Merge with NetBSD make, pick up 197 o fix handling of archive members 198 1992016-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 200 201 * Makefile (_MAKE_VERSION): rename variable to avoid interference 202 with checks for ${MAKE_VERSION} 203 2042016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 205 206 * Makefile (MAKE_VERSION): 20160310 207 Merge with NetBSD make, pick up 208 o meta.c: treat missing Read file same as Write, incase we Delete it. 209 2102016-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 211 212 * Makefile (MAKE_VERSION): 20160307 213 Merge with NetBSD make, pick up 214 o var.c: fix :ts\nnn to be octal by default. 215 o meta.c: meta_finish() to cleanup memory. 216 2172016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 218 219 * Makefile (MAKE_VERSION): 20160226 220 Merge with NetBSD make, pick up 221 o meta.c: allow meta file for makeDepend if makefiles want it. 222 2232016-02-19 Simon J. Gerraty <sjg@bad.crufty.net> 224 225 * var.c: default .MAKE.SAVE_DOLLARS to FALSE 226 for backwards compatability. 227 228 * Makefile (MAKE_VERSION): 20160220 229 Merge with NetBSD make, pick up 230 o var.c: add knob to control handling of '$$' in := 231 2322016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 233 234 * Makefile (MAKE_VERSION): 20160218 235 Merge with NetBSD make, pick up 236 o var.c: add .export-literal allows us to fix sys.clean-env.mk 237 post the changes to Var_Subst. 238 Var_Subst now takes flags, and does not consume '$$' in := 239 2402016-02-17 Simon J. Gerraty <sjg@bad.crufty.net> 241 242 * Makefile (MAKE_VERSION): 20160217 243 Merge with NetBSD make, pick up 244 o var.c: preserve '$$' in := 245 o parse.c: add .dinclude for handling included 246 makefile like .depend 247 2482015-12-20 Simon J. Gerraty <sjg@bad.crufty.net> 249 250 * Makefile (MAKE_VERSION): 20151220 251 Merge with NetBSD make, pick up 252 o suff.c: re-initialize suffNull when clearing suffixes. 253 2542015-12-01 Simon J. Gerraty <sjg@bad.crufty.net> 255 256 * Makefile (MAKE_VERSION): 20151201 257 Merge with NetBSD make, pick up 258 o cond.c: CondCvtArg: avoid access beyond end of empty buffer. 259 o meta.c: meta_oodate: use lstat(2) for checking link target 260 in case it is a symlink. 261 o var.c: avoid calling brk_string and Var_Export1 with empty 262 strings. 263 2642015-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 265 266 * Makefile (MAKE_VERSION): 20151126 267 Merge with NetBSD make, pick up 268 o parse.c: ParseTrackInput don't access beyond 269 end of old value. 270 2712015-10-22 Simon J. Gerraty <sjg@bad.crufty.net> 272 273 * Makefile (MAKE_VERSION): 20151022 274 275 * Add support for BSD/OS which lacks inttypes.h 276 and really needs sys/param.h for sys/sysctl.h 277 also 'type' is not a shell builtin. 278 279 * var.c: eliminate uint32_t and need for inttypes.h 280 281 * main.c: PrintOnError flush stdout before run .ERROR 282 283 * parse.c: cope with _SC_PAGESIZE not being defined. 284 285 2862015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 287 288 * Makefile (MAKE_VERSION): 20151020 289 Merge with NetBSD make, pick up 290 o var.c: fix uninitialized var 291 2922015-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 293 294 * var.c: the conditional expressions used with ':?' can be 295 expensive, if already discarding do not evaluate or expand 296 anything. 297 2982015-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 299 300 * Makefile (MAKE_VERSION): 20151010 301 Merge with NetBSD make, pick up 302 o Add Boolean wantit flag to Var_Subst and Var_Parse 303 when FALSE we know we are discarding the result and can 304 skip operations like Cmd_Exec. 305 3062015-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 307 308 * Makefile (MAKE_VERSION): 20151009 309 Merge with NetBSD make, pick up 310 o var.c: don't check for NULL before free() 311 o meta.c: meta_oodate, do not hard code ignore of makeDependfile 312 3132015-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 314 315 * Makefile (MAKE_VERSION): 20150910 316 Merge with NetBSD make, pick up 317 o main.c: with -w print Enter/Leaving messages for objdir too 318 if necessary. 319 o centralize shell metachar handling 320 321 * FILES: add metachar.[ch] 322 3232015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 324 325 * Makefile (MAKE_VERSION): 20150606 326 Merge with NetBSD make, pick up 327 o make.1: document .OBJDIR target 328 3292015-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 330 331 * Makefile (MAKE_VERSION): 20150505 332 Merge with NetBSD make, pick up 333 o cond.c: be strict about lhs of comparison when evaluating .if 334 but less so when called from variable expansion. 335 o unit-tests/cond2.mk: test various error conditions 336 3372015-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 338 339 * machine.sh (MACHINE): Add Bitrig 340 patch from joerg@netbsd.org 341 3422015-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 343 344 * Makefile (MAKE_VERSION): 20150418 345 Merge with NetBSD make, pick up 346 o job.c: use memmove() rather than memcpy() 347 348 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL 349 case, so skip it. 350 3512015-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 352 353 * Makefile (MAKE_VERSION): 20150411 354 bump version - only mk/ changes. 355 3562015-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 357 358 * Makefile (MAKE_VERSION): 20150410 359 Merge with NetBSD make, pick up 360 o document different handling of '-' in jobs mode vs compat 361 o fix jobs mode so that '-' only applies to whole job 362 when shell lacks hasErrCtl 363 o meta.c: use separate vars to track lcwd and latestdir (read) 364 per process 365 3662015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 367 368 * Makefile (MAKE_VERSION): 20150401 369 Merge with NetBSD make, pick up 370 o meta.c: close meta file in child 371 372 * Makefile: use BINDIR.bmake if set. 373 Same for MANDIR and SHAREDIR 374 Handy for testing release candidates 375 in various environments. 376 3772015-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 378 379 * move initialization of savederr to block where it is used 380 to avoid spurious warning from gcc5 381 3822014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 383 384 * Makefile (MAKE_VERSION): 20141111 385 just a cooler number 386 3872014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 388 389 * Makefile (MAKE_VERSION): 20141105 390 Merge with NetBSD make, pick up 391 o revert major overhaul of suffix handling 392 and POSIX compliance - too much breakage 393 and impossible to make backwards compatible. 394 o we still have the new unit test structure which is ok. 395 o meta.c ensure "-- filemon" is at start of line. 396 3972014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 398 399 * configure.in: test that result of getconf PATH_MAX is numeric 400 and discard if not. Apparently needed for Hurd. 401 4022014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 403 404 * Makefile (MAKE_VERSION): 20140830 405 Merge with NetBSD make, pick up 406 o major overhaul of suffix handling 407 o improved POSIX compliance 408 o overhauled unit-tests 409 4102014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 411 412 * Makefile (MAKE_VERSION): 20140620 413 Merge with NetBSD make, pick up 414 o var.c return varNoError rather than var_Error for ::= modifiers. 415 4162014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 417 418 * Makefile (MAKE_VERSION): 20140522 419 Merge with NetBSD make, pick up 420 o var.c detect some parse errors. 421 4222014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 423 424 * Fix spelling errors - patch from Pedro Giffuni 425 4262014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 427 428 * Makefile (MAKE_VERSION): 20140214 429 Merge with NetBSD make, pick up 430 o .INCLUDEFROM* 431 o use Var_Value to get MAKEOBJDIR[PREFIX] 432 o reduced realloc'ign in brk_string. 433 * configure.in: add a check for compiler supporting __func__ 434 4352014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 436 437 * boot-strap: ignore mksrc=none 438 4392014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 440 441 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 442 4432014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 444 445 * Makefile (MAKE_VERSION): 20140101 446 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 447 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 448 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 449 Hurd) 450 * configure.in: Add AC_PREREQ and check for 451 sysctl; patch from Andrew Shadura andrewsh at debian.org 452 4532013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 454 455 * Makefile (MAKE_VERSION): 20131010 456 * lose the const from arg to systcl to avoid problems on older BSDs. 457 4582013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 459 460 * Makefile (MAKE_VERSION): 20131001 461 Merge with NetBSD make, pick up 462 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 463 hw.machine_arch if necessary. 464 o meta.c: meta_oodate - need to look at src of Link and target 465 of Move as well. 466 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 467 provide __arraycount() if needed. 468 4692013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 470 471 * Makefile (MAKE_VERSION): 20130904 472 Merge with NetBSD make, pick up 473 o Add VAR_INTERNAL context, so that internal setting of 474 MAKEFILE does not override value set by makefiles. 475 4762013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 477 478 * Makefile (MAKE_VERSION): 20130902 479 Merge with NetBSD make, pick up 480 o CompatRunCommand: only apply shellErrFlag when errCheck is true 481 4822013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 483 484 * Makefile (MAKE_VERSION): 20130828 485 Merge with NetBSD make, pick up 486 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 487 o Call Job_SetPrefix() from Job_Init() so makefiles have 488 opportunity to set .MAKE.JOB.PREFIX 489 4902013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 491 492 * Makefile (MAKE_VERSION): 20130730 493 Merge with NetBSD make, pick up 494 o Allow suppression of --- job -- tokens by setting 495 .MAKE.JOB.PREFIX empty. 496 4972013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 498 499 * Makefile (MAKE_VERSION): 20130716 500 Merge with NetBSD make, pick up 501 o number of gmake compatibility tweaks 502 -w for gmake style entering/leaving messages 503 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 504 handle MAKEFLAGS containing only letters. 505 o when overriding a GLOBAL variable on the command line, 506 delete it from GLOBAL context so -V doesn't show the wrong 507 value. 508 5092013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 510 511 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 512 513 * Makefile (MAKE_VERSION): 20130706 514 Merge with NetBSD make, pick up 515 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 516 true so that CompatRunCommand() can use it, to ensure 517 consistent behavior with jobs mode. 518 o use MAKE_LEVEL_ENV to define the variable to propagate 519 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 520 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 521 paths to ignore. 522 5232013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 524 525 * Makefile (MAKE_VERSION): 20130604 526 Merge with NetBSD make, pick up 527 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 528 to avoid leaking descriptors. 529 5302013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 531 532 * Makefile (MAKE_VERSION): 20130528 533 Merge with NetBSD make, pick up 534 o var.c: cleanup some left-overs in VarHash() 535 5362013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 537 538 * Makefile (MAKE_VERSION): 20130520 539 generate manifest from component FILES rather than have to 540 update FILES when mk/FILES changes. 541 5422013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 543 544 * Makefile (MAKE_VERSION): 20130518 545 Merge with NetBSD make, pick up 546 o suff.c: don't skip all processsing for .PHONY targets 547 else wildcard srcs do not get expanded. 548 o var.c: expand name of variable to delete if necessary. 549 5502013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 551 552 * Makefile (MAKE_VERSION): 20130330 553 Merge with NetBSD make, pick up 554 o meta.c: refine the handling of .OODATE in commands. 555 Rather than suppress command comparison for the entire script 556 as though .NOMETA_CMP had been used, only suppress it for the 557 one command line. 558 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 559 suppress comparison of a command without otherwise affecting it. 560 o make.1: document that 561 5622013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 563 564 * Makefile (MAKE_VERSION): 20130321 565 yes, not quite right but its a cooler number. 566 Merge with NetBSD make, pick up 567 o parse.c: fix ParseGmakeExport to be portable 568 and add a unit-test. 569 * meta.c: call meta_init() before makefiles are read and if built 570 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 571 this let's makefiles test for support. 572 Call meta_mode_init() to process .MAKE.MODE. 573 5742013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 575 576 * Makefile (MAKE_VERSION): 20130305 577 Merge with NetBSD make, pick up 578 o run .STALE: target when a dependency from .depend is missing. 579 o job.c: add Job_RunTarget() for the above and .BEGIN 580 5812013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 582 583 * Makefile (MAKE_VERSION): 20130303 584 Merge with NetBSD make, pick up 585 o main.c: set .MAKE.OS to utsname.sysname 586 o job.c: more checks for read and poll errors 587 o var.c: lose VarChangeCase() saves 4% time 588 5892013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 590 591 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 592 want to use MAKEOBJDIR 593 5942013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 595 596 * Merge with NetBSD make, pick up 597 o make.1: more info on how shell commands are handled. 598 o job.c,main.c: detect write errors to job pipes. 599 6002013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 601 602 * Makefile (MAKE_VERSION): 20130123 603 Merge with NetBSD make, pick up 604 o meta.c: if script uses .OODATE and meta_oodate() decides 605 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 606 o var.c: in debug output indicate which variabale modifiers 607 apply to. 608 o remove Check_Cwd logic the makefiles have been fixed. 609 6102012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 611 612 * makefile.in: add a simple makefile for folk who insist on 613 ./configure; make; make install 614 it just runs boot-strap 615 * include mk/* to accommodate the above 616 * boot-strap: re-work to accommodate the above 617 mksrc defaults to $Mydir/mk 618 allow op={configure,build,install,clean,all} 619 add options to facilitate install 620 * Makefile.config.in: just the bits set by configure 621 * Makefile: bump version to 20121212 622 abandon Makefile.in (NetBSD Makefile) 623 leverage mk/* instead 624 * configure.in: ensure srcdir is absolute 625 6262012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 627 628 * Makefile.in (MAKE_VERSION): 20121111 629 fix generation of bmake.cat1 630 6312012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 632 633 * Makefile.in (MAKE_VERSION): 20121109 634 Merge with NetBSD make, pick up 635 o make.c: MakeBuildChild: return 0 so search continues if a 636 .ORDER dependency is detected. 637 o unit-tests/order: test the above 638 6392012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 640 641 * Makefile.in (MAKE_VERSION): 20121102 642 Merge with NetBSD make, pick up 643 o cond.c: allow cond_state[] to grow. 644 In meta mode with a very large tree, we can hit the limit 645 while processing dirdeps. 646 6472012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 648 649 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 650 6512012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 652 653 * Makefile.in (MAKE_VERSION): 20121010 654 o protect syntax that only bmake parses correctly. 655 o remove auto setting of FORCE_MACHINE, use configure's 656 --with-force-machine=whatever if that is desired. 657 6582012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 659 660 * Makefile.in: do not lose history from make.1 when generating bmake.1 661 6622012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 663 664 * Makefile.in (MAKE_VERSION): 20121007 665 Merge with NetBSD make, pick up 666 o compat.c: ignore empty commands - same as jobs mode. 667 o make.1: document meta chars that cause use of shell 668 6692012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 670 671 * Makefile.in (MAKE_VERSION): bump version to 20120911 672 * bsd.after-import.mk: include Makefile.inc early and allow it to 673 override PROG 674 6752012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 676 677 * Makefile.in (MAKE_VERSION): bump version to 20120831 678 Merge with NetBSD make, pick up 679 o cast sizeof() to int for comparison 680 o minor make.1 tweak 681 6822012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 683 684 * Makefile.in (MAKE_VERSION): bump version to 20120830 685 Merge with NetBSD make, pick up 686 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 687 o debug flag -dV causes -V to show raw value regardless. 688 6892012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 690 691 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 692 gets SRCTOP set. 693 6942012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 695 696 * Makefile.in (MAKE_VERSION): bump version to 20120704 697 Merge with NetBSD make, pick up 698 o Job_ParseShell should call Shell_Init if it has been 699 previously called. 700 * Makefile.in: set USE_META based on configure result. 701 also .PARSEDIR is safer indicator of bmake. 702 7032012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 704 705 * Makefile.in: bump version to 20120626 706 ensure CPPFLAGS is in CFLAGS 707 * meta.c: avoid nested externs 708 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 709 7102012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 711 712 * Makefile.in (MAKE_VERSION): bump version to 20120620 713 Merge with NetBSD make, pick up 714 o make_malloc.c: avoid including make_malloc.h again 715 716 * Makefile.in: avoid bmake only syntax or protect with 717 .if defined(.MAKE.LEVEL) 718 * bsd.after-import.mk: replace .-include with .sinclude 719 ensure? SRCTOP gets a value 720 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 721 7222012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 723 724 * Makefile.in (MAKE_VERSION): bump version to 20120612 725 Merge with NetBSD make, pick up 726 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 727 for greater portability. 728 o unit-tests/forloop: check that .for works as expected wrt 729 number of times and with "quoted strings". 730 7312012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 732 733 * Makefile.in (MAKE_VERSION): bump version to 20120606 734 Merge with NetBSD make, pick up 735 o compat.c: use kill(2) rather than raise(3). 736 * configure.in: look for sys/dev/filemon 737 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 738 and pass BOOTSTRAP_XTRAS to boot-strap. 739 7402012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 741 742 * Makefile.in (MAKE_VERSION): bump version to 20120604 743 Merge with NetBSD make, pick up 744 o util.c and var.c share same var for tracking if environ 745 has been reallocated. 746 o util.c provide getenv with setenv. 747 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 748 when the shell actively strips .MAKE.* from the environment. 749 We still refer to the variable always as .MAKE.LEVEL 750 * util.c fix bug in findenv() was finding prefix of name. 751 * compat.c: re-raising SIGINT etc after running .INTERRUPT 752 results in more reliable termination of all activity on many 753 platforms. 754 7552012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 756 757 * Makefile.in (MAKE_VERSION): bump version to 20120602 758 Merge with NetBSD make, pick up 759 o for.c: handle quoted items in .for list 760 7612012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 762 763 * Makefile.in (MAKE_VERSION): bump version to 20120530 764 Merge with NetBSD make, pick up 765 o compat.c: ignore empty command. 766 7672012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 768 769 * Makefile.in (MAKE_VERSION): bump version to 20120524 770 * FILES: add bsd.after-import.mk: 771 A simple means of integrating bmake into a BSD build system. 772 7732012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 774 775 * Makefile.in (MAKE_VERSION): bump version to 20120520 776 Merge with NetBSD make, pick up 777 o increased limit for nested conditionals. 778 7792012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 780 781 * Makefile.in (MAKE_VERSION): bump version to 20120518 782 Merge with NetBSD make, pick up 783 o use _exit(2) in signal hanlder 784 o Don't use the [dir] cache when building nodes that might have 785 changed since the last exec. 786 o Avoid nested extern declaration warnings. 787 7882012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 789 790 * meta.c (fgetLine): avoid %z - not portable. 791 * parse.c: Since we moved include of sys/mman.h 792 and def's of MAP_COPY etc. we got dups from a merge. 793 7942012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 795 796 * Makefile.in (MAKE_VERSION): bump version to 20120420 797 Merge with NetBSD make, pick up 798 o restore duplicate supression in .MAKE.MAKEFILES 799 runtime saving can be significant. 800 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 801 consumption up to 20%. 802 8032012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 804 805 * Makefile.in (MAKE_VERSION): bump version to 20120420 806 Merge with NetBSD make, pick up 807 o remove duplicate supression in .MAKE.MAKEFILES 808 o improved dir cache behavior 809 o gmake'ish export command 810 8112012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 812 813 * Makefile.in (MAKE_VERSION): bump version to 20120325 814 Merge with NetBSD make, pick up 815 o fix parsing of :[#] in conditionals. 816 8172012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 818 819 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 820 since some systems cannot cope with .Nx <version> 821 8222011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 823 824 * Makefile.in (MAKE_VERSION): bump version to 20111111 825 Merge with NetBSD make, pick up 826 o debug output for .PARSEDIR and .PARSEFILE 827 8282011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 829 830 * Makefile.in (MAKE_VERSION): bump version to 20111010 831 8322011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 833 834 * boot-strap: check for an expected file in the dirs we look for. 835 * make-bootstrap.sh: pass on LDSTATIC 836 8372011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 838 839 * Makefile.in (MAKE_VERSION): bump version to 20111001 840 Merge with NetBSD make, pick up 841 o ensure .PREFIX is set for .PHONY 842 and .TARGET set for .PHONY run via .END 843 o __dead used consistently 844 8452011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 846 847 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 848 8492011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 850 851 * Makefile.in (MAKE_VERSION): bump version to 20110905 852 Merge with NetBSD make, pick up 853 o meta_oodate: ignore makeDependfile 854 8552011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 856 857 * Makefile.in (MAKE_VERSION): bump version to 20110828 858 Merge with NetBSD make, pick up 859 o silent=yes in .MAKE.MODE causes meta mode to mark targets 860 as SILENT if a .meta file is created 861 8622011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 863 864 * Makefile.in (MAKE_VERSION): bump version to 20110818 865 Merge with NetBSD make, pick up 866 o in meta mode, if target flagged .META a missing .meta file 867 means target is out-of-date 868 o fixes for gcc 4.5 warnings 869 o simplify job printing code 870 8712011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 872 873 * Makefile.in (MAKE_VERSION): bump version to 20110808 874 Merge with NetBSD make, pick up 875 o do not touch OP_SPECIAL targets when doing make -t 876 8772011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 878 879 * Makefile.in (MAKE_VERSION): bump version to 20110622 880 Merge with NetBSD make, pick up 881 o meta_oodate detect corrupted .meta file and declare oodate. 882 * configure.in: add check for setsid 883 8842011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 885 886 * Merge with NetBSD make, pick up 887 o unit-tests/modts now works on MirBSD 888 8892011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 890 891 * Makefile.in (MAKE_VERSION): bump version to 20110606 892 Merge with NetBSD make, pick up 893 o ApplyModifiers: when we parse a variable which is not 894 the entire modifier string, or not followed by ':', do not 895 consider it as containing modifiers. 896 o loadfile: ensure newline at end of mapped file. 897 8982011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 899 900 * Makefile.in (MAKE_VERSION): bump version to 20110505 901 Merge with NetBSD make, pick up 902 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 903 of make's control. In meta mode, any generated file within 904 said bailiwick, which is found to be missing, causes current 905 target to be out-of-date. 906 9072011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 908 909 * Makefile.in (MAKE_VERSION): bump version to 20110411 910 Merge with NetBSD make, pick up 911 o when long modifiers fail to match, check sysV style. 912 - add a test case 913 9142011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 915 916 * Makefile.in (MAKE_VERSION): bump version to 20110410 917 Merge with NetBSD make, pick up 918 o :hash - cheap 32bit hash of value 919 o :localtime, :gmtime - use value as format string for strftime. 920 9212011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 922 923 * Makefile.in (MAKE_VERSION): bump version to 20110330 924 mostly because its a cooler version. 925 Merge with NetBSD make, pick up 926 o NetBSD tags for meta.[ch] 927 o job.c call meta_job_finish() after meta_job_error(). 928 o meta_job_error() should call meta_job_finish() to ensure 929 .meta file is closed, and safe to copy - if .ERROR target wants. 930 meta_job_finish() is safe to call repeatedly. 931 9322011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 933 934 * unit-tests/modts: use printf if it is a builtin, 935 to save us from MirBSD 936 937 * Makefile.in (MAKE_VERSION): bump version to 20110329 938 Merge with NetBSD make, pick up 939 o fix for use after free() in CondDoExists(). 940 o meta_oodate() report extra commands and return earlier. 941 9422011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 943 944 * Makefile.in (MAKE_VERSION): bump version to 20110327 945 Merge with NetBSD make, pick up 946 o meta.c, if .MAKE.MODE contains curdirOk=yes 947 allow creating .meta files in .CURDIR 948 * boot-strap (TOOL_DIFF): aparently at least on linux distro 949 formats the output of 'type' differently - so eat any "()" 950 9512011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 952 953 * Makefile.in (MAKE_VERSION): bump version to 20110306 954 Merge with NetBSD make, pick up 955 o meta.c, only do getcwd() once 956 9572011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 958 959 * Makefile.in (MAKE_VERSION): bump version to 20110305 960 Merge with NetBSD make, pick up 961 o correct sysV substitution handling of empty lhs and variable 962 o correct exists() check for dir with trailing / 963 o correct handling of modifiers for non-existant variables 964 during evaluation of conditionals. 965 o ensure MAP_FILE is defined. 966 o meta.c use curdir[] now exported by main.c 967 9682011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 969 970 * Makefile.in (MAKE_VERSION): bump version to 20110225 971 Merge with NetBSD make, pick up 972 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 973 makefiles have been read. 974 o fix example of :? modifier in man page. 975 9762011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 977 978 * Makefile.in (MAKE_VERSION): bump version to 20110214 979 Merge with NetBSD make, pick up 980 o meta.c handle realpath() failing when generating meta file 981 name. 982 983 * sigcompat.c: convert to ansi so we can use higher warning levels. 984 985 9862011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 987 988 * Makefile.in (MAKE_VERSION): bump version to 20110207 989 Merge with NetBSD make, pick up 990 o fix for bug in meta mode. 991 9922011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 993 994 * parse.c: SunOS 5.8 at least does not have MAP_FILE 995 9962011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 997 998 * Makefile.in (MAKE_VERSION): bump version to 20110101 999 Merge with NetBSD make, pick up 1000 o use mmap(2) if available, for reading makefiles 1001 10022010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 1003 1004 * Makefile.in (MAKE_VERSION): bump version to 20101215 1005 Merge with NetBSD make, pick up 1006 o ensure meta_job_error() does not report a previous .meta file 1007 as being culprit. 1008 10092010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 1010 1011 * Makefile.in (MAKE_VERSION): bump version to 20101210 1012 Merge with NetBSD make, pick up 1013 o meta_oodate: track cwd per process, and only consider target 1014 out-of-date if missing file is outside make's CWD. 1015 Ignore files in /tmp/ etc. 1016 o to ensure unit-tests results match, need to control LC_ALL 1017 as well as LANG. 1018 o fix for parsing bug in var.c 1019 10202010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1021 1022 * Makefile.in (MAKE_VERSION): bump version to 20101126 1023 Merge with NetBSD make, pick up 1024 o if stale dependency is an IMPSRC, search via .PATH 1025 o meta_oodate: if a referenced file is missing, target is 1026 out-of-date. 1027 o meta_oodate: if a target uses .OODATE in its commands, 1028 it (.OODATE) needs to be recomputed. 1029 o keep a pointer to youngest child node, rather than just its 1030 mtime. 1031 10322010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 1033 1034 * Makefile.in (MAKE_VERSION): bump version to 20101101 1035 10362010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 1037 1038 * machine.sh: like os.sh, 1039 allow for uname -p producing useless drivel 1040 10412010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 1042 1043 * boot-strap: document configure knobs for meta and filemon. 1044 1045 * Makefile.in (MAKE_VERSION): bump version to 20100911 1046 Merge with NetBSD make, pick up 1047 o meta.c - meta mode 1048 1049 * make-bootstrap.sh.in: handle meta.c 1050 * configure.in: add knobs for use_meta and filemon_h 1051 also, look for dirname, str[e]sep and strlcpy 1052 * util.c: add simple err[x] and warn[x] 1053 10542010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1055 1056 * boot-strap (TOOL_DIFF): set this to ensure tests use 1057 the same version of diff that configure tested 1058 1059 * Makefile.in (MAKE_VERSION): bump version to 20100808 1060 Merge with NetBSD make, pick up 1061 o in jobs mode, when we discover we cannot make something, 1062 call PrintOnError before exit. 1063 10642010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 1065 1066 * Makefile.in (MAKE_VERSION): bump version to 20100806 1067 Merge with NetBSD make, pick up 1068 o formatting fixes for ignored errors 1069 o ensure jobs are cleaned up regardless of where wait() was called. 1070 10712010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1072 1073 * Makefile.in (MAKE_VERSION): bump version to 20100618 1074 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 1075 10762010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1077 1078 * Makefile.in (MAKE_VERSION): bump version to 20100616 1079 Merge with NetBSD make, pick up 1080 o man page update 1081 o call PrintOnError from JobFinish when we detect an error we 1082 are not ignoring. 1083 10842010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1085 1086 * Makefile.in (MAKE_VERSION): bump version to 20100606 1087 Merge with NetBSD make, pick up 1088 o man page update 1089 10902010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 1091 1092 * Makefile.in (MAKE_VERSION): bump version to 20100605 1093 Merge with NetBSD make, pick up 1094 o use bmake_signal() which is a wrapper around sigaction() 1095 in place of signal() 1096 o add .export-env to allow exporting variables to environment 1097 without tracking (so no re-export when the internal value is 1098 changed). 1099 11002010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1101 1102 * Makefile.in (MAKE_VERSION): bump version to 20100524 1103 Merge with NetBSD make, pick up 1104 o fix for .info et al being greedy. 1105 11062010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 1107 1108 * Makefile.in (MAKE_VERSION): bump version to 20100520 1109 Merge with NetBSD make, pick up 1110 o back to using realpath on argv[0] 1111 but only if contains '/' and does not start with '/'. 1112 11132010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1114 1115 * boot-strap: use absolute path for bmake when running tests. 1116 1117 * Makefile.in (MAKE_VERSION): bump version to 20100510 1118 Merge with NetBSD make, pick up 1119 o revert use of realpath on argv[0] 1120 too many corner cases. 1121 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 1122 11232010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1124 1125 * Makefile.in (MAKE_VERSION): bump version to 20100505 1126 Merge with NetBSD make, pick up 1127 o fix for missed SIGCHLD when compiled with SunPRO 1128 actually for bmake, defining FORCE_POSIX_SIGNALS would have 1129 done the job. 1130 11312010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1132 1133 * Makefile.in (MAKE_VERSION): bump version to 20100430 1134 Merge with NetBSD make, pick up 1135 o fflush stdout before writing to stdout 1136 11372010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 1138 1139 * Makefile.in (MAKE_VERSION): bump version to 20100423 1140 Merge with NetBSD make, pick up 1141 o updated unit tests for Haiku (this time for sure). 1142 * boot-strap: based on patch from joerg 1143 honor --with-default-sys-path better. 1144 * boot-strap: remove mention of --with-prefix-sys-path 1145 11462010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1147 1148 * Makefile.in (MAKE_VERSION): bump version to 20100422 1149 * Merge with NetBSD make, pick up 1150 o fix for vfork() on Darwin. 1151 o fix for bogus $TMPDIR. 1152 o set .MAKE.MODE=compat for -B 1153 o set .MAKE.JOBS=max_jobs for -j max_jobs 1154 o allow unit-tests to run without any *.mk 1155 o unit-tests/modmisc be more conservative in dirs presumed to exist. 1156 * boot-strap: ignore /usr/share/mk except on NetBSD. 1157 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 1158 ensure sort(1) behaves as expected. 1159 11602010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1161 1162 * boot-strap: add FindHereOrAbove so we can use -m .../mk 1163 11642010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1165 1166 * Makefile.in (MAKE_VERSION): bump version to 20100420 1167 * Merge with NetBSD make, pick up 1168 o fix for variable realpath() behavior. 1169 we have to stat(2) the result to be sure. 1170 o fix for .export (all) when nested vars use :sh 1171 11722010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 1173 1174 * Makefile.in (MAKE_VERSION): bump version to 20100414 1175 * Merge with NetBSD make, pick up 1176 o use realpath to resolve argv[0] (for .MAKE) if needed. 1177 o add realpath from libc. 1178 o add :tA to resolve variable via realpath(3) if possible. 1179 11802010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 1181 1182 * Makefile.in (MAKE_VERSION): bump version to 20100408 1183 * Merge with NetBSD make, pick up 1184 o unit tests for .ERROR, .error 1185 o fix for .ERROR to ensure it cannot be default target. 1186 11872010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 1188 1189 * Makefile.in (MAKE_VERSION): bump version to 20100406 1190 * Merge with NetBSD make, pick up 1191 o fix for compat mode "Error code" going to debug_file. 1192 o fix for .ALLSRC being populated twice. 1193 o support for .info, .warning and .error directives 1194 o .MAKE.MODE to control make's operational mode 1195 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 1196 name(s). 1197 o .MAKE.DEPENDFILE to control the name of the depend file 1198 o .ERROR target - run on failure. 1199 12002010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1201 1202 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 1203 1204 * os.sh,arch.c: patch for Haiku from joerg at netbsd 1205 12062010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 1207 1208 * Makefile.in (MAKE_VERSION): bump version to 20100222 1209 * Merge with NetBSD make, pick up 1210 o better error msg for .for with mutiple inter vars 1211 1212 * boot-strap: 1213 o use make-bootstrap.sh from joerg at netbsd 1214 to avoid the need for a native make when bootstrapping. 1215 o add "" everywhere ;-) 1216 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 1217 otherwise the pre-formated version. 1218 12192010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1220 1221 * Makefile.in (MAKE_VERSION): bump version to 20100102 1222 * Merge with NetBSD make, pick up: 1223 o fix for -m .../ 1224 12252009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 1226 1227 * Makefile.in (MAKE_VERSION): bump version to 20091118 1228 * Merge with NetBSD make, pick up: 1229 o .unexport 1230 o report lines that start with '.' and should have ':' 1231 (catch typo's of .el*if). 1232 12332009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1234 1235 * configure.in: Ensure that srcdir and mksrc are absolute paths. 1236 12372009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1238 1239 * Makefile.in (MAKE_VERSION): fix version to 20091007 1240 12412009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 1242 1243 * Makefile.in (MAKE_VERSION): bump version to 200910007 1244 * Merge with NetBSD make, pick up: 1245 o fix for parsing of :S;...;...; applied to .for loop iterator 1246 appearing in a dependency line. 1247 12482009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1249 1250 * Makefile.in (MAKE_VERSION): bump version to 20090909 1251 * Merge with NetBSD make, pick up: 1252 o fix for -C, .CURDIR and .OBJDIR 1253 * boot-strap: 1254 o allow share_dir to be set independent of prefix. 1255 o select default share_dir better when prefix ends in $HOST_TARGET 1256 o if FORCE_BSD_MK etc were set, include them in the suggested 1257 install-mk command. 1258 12592009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1260 1261 * Makefile.in (MAKE_VERSION): bump version to 20090908 1262 * Merge with NetBSD make, pick up: 1263 o .MAKE.LEVEL for recursion tracking 1264 o fix for :M scanning \: 1265 12662009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1267 1268 * configure.in: Don't -D__EXTENSIONS__ if 1269 AC_USE_SYSTEM_EXTENSIONS says "no". 1270 12712009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 1272 1273 * Makefile.in (MAKE_VERSION): bump version to 20090826 1274 Simplify MAKE_VERSION to just the bare date. 1275 * Merge with NetBSD make, pick up: 1276 o -C directory support. 1277 o support for SIGINFO 1278 o use $TMPDIR for temp files. 1279 o child of vfork should be careful about modifying parent's state. 1280 1281 12822009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1283 1284 * Appy some patches for MiNT from David Brownlee 1285 12862009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 1287 1288 * Makefile.in (BMAKE_VERSION): bump version to 20090222 1289 * Merge with NetBSD make, pick up: 1290 o Possible null pointer de-ref in Var_Set. 1291 12922009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 1293 1294 * Makefile.in (BMAKE_VERSION): bump version to 20090204 1295 * Merge with NetBSD make, pick up: 1296 o bmake_malloc et al moved to their own .c 1297 o Count both () and {} when looking for the end of a :M pattern 1298 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 1299 o strlist.c - functions for processing extendable arrays of pointers to strings. 1300 o ClientData replaced with void *, so const void * can be used. 1301 o New debug flag C for DEBUG_CWD 1302 13032008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1304 1305 * Makefile.in (BMAKE_VERSION): bump version to 20081111 1306 Apply patch from Joerg Sonnenberge to 1307 configure.in: 1308 o remove some redundant checks 1309 o check for emlloc etc only in libutil and require the whole family. 1310 util.c: 1311 o remove [v]asprintf which is no longer used. 1312 13132008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1314 1315 * Makefile.in (BMAKE_VERSION): bump version to 20081101 1316 * Merge with NetBSD make, pick up: 1317 o util.c: avoid use of putenv() - christos 1318 13192008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1320 1321 * Makefile.in (BMAKE_VERSION): bump version to 20081030 1322 pick up man page tweaks. 1323 13242008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 1325 1326 * Makefile.in: move processing of LIBOBJS to after is definition! 1327 thus we'll have getenv.c in SRCS only if needed. 1328 1329 * make.1: add examples of how to use :? 1330 1331 * Makefile.in (BMAKE_VERSION): bump version to 20081029 1332 * Merge with NetBSD make, pick up: 1333 o fix for .END processing with -j 1334 o segfault from Parse_Error when no makefile is open 1335 o handle numeric expressions in any variable expansion 1336 o debug output now defaults to stderr, -dF to change it - apb 1337 o make now uses bmake_malloc etc so that it can build natively 1338 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 1339 13402008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 1341 1342 * Makefile.in (BMAKE_VERSION): bump version to 20080808 1343 * Merge with NetBSD make, pick up: 1344 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 1345 long lines in Makefiles 1346 o optimizations for VarQuote by joerg 1347 o fix for PR/38756: dominik: make dumps core on invalid makefile 1348 13492008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 1350 1351 * Makefile.in (BMAKE_VERSION): bump version to 20080515 1352 * Merge with NetBSD make, pick up: 1353 o fix skip setting vars in VAR_GLOBAL context, to handle 1354 cases where VAR_CMD is used for other than command line vars. 1355 13562008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 1357 1358 * boot-strap (make_version): we may need to look in 1359 $prefix/share/mk for sys.mk 1360 1361 * Makefile.in (BMAKE_VERSION): bump version to 20080514 1362 * Merge with NetBSD make, pick up: 1363 o skip setting vars in VAR_GLOBAL context, when already set in 1364 VAR_CMD which takes precedence. 1365 13662008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 1367 1368 * Makefile.in (BMAKE_VERSION): bump version to 20080330 1369 * Merge with NetBSD make, pick up: 1370 o fix for ?= when LHS contains variable reference. 1371 13722008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1373 1374 * merge some patches from NetBSD pkgsrc. 1375 1376 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 1377 the MAKSYSPATH used during bootstrap. 1378 1379 * Makefile.in (BMAKE_VERSION): bump version to 20080215 1380 * Merge with NetBSD make, pick up: 1381 o warn if non-space chars follow 'empty' in a conditional. 1382 13832008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1384 1385 * Makefile.in (BMAKE_VERSION): bump version to 20080118 1386 * Merge with NetBSD make, pick up: 1387 o consider dependencies read from .depend as optional - dsl 1388 o remember when buffer for reading makefile grows - dsl 1389 o add -dl (aka LOUD) - David O'Brien 1390 13912007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 1392 1393 * Makefile.in (BMAKE_VERSION): bump version to 20071022 1394 * Merge with NetBSD make, pick up: 1395 o Allow .PATH<suffix> to be used for .include "" 1396 1397 * boot-strap: source default settings from .bmake-boot-strap.rc 1398 13992007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 1400 1401 * Makefile.in: fix maninstall on various systems 1402 provided that our man.mk is used. 1403 For non-BSD systems we install the preformatted page 1404 into $MANDIR/cat1 1405 14062007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 1407 1408 * boot-strap: make bmake.1 too, so maninstall works. 1409 14102007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 1411 1412 * Makefile.in (BMAKE_VERSION): bump version to 20071014 1413 * Merge with NetBSD make, pick up: 1414 o revamped handling of defshell - configure no longer needs to 1415 know the content of the shells array - apb 1416 o stop Var_Subst modifying its input - apb 1417 o avoid calling ParseTrackInput too often - dsl 1418 14192007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 1420 1421 * Makefile.in (BMAKE_VERSION): bump version to 20071011 1422 * Merge with NetBSD make, pick up: 1423 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 1424 1425 * sigcompat.c: some tweaks for HP-UX 11.x based on 1426 patch from Tobias Nygren 1427 1428 * configure.in: update handling of --with-defshell to match 1429 new make behavior. --with-defshell=/usr/xpg4/bin/sh 1430 will now do what one might hope - provided the chosen shell 1431 behaves enough like sh. 1432 14332007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 1434 1435 * Makefile.in (BMAKE_VERSION): bump to 20071008 1436 * Merge with NetBSD make, pick up: 1437 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 1438 o .export/.MAKE.EXPORTED - export of variables - sjg 1439 o .MAKE.MAKEFILES - track all makefiles read - sjg 1440 o performance improvements - dsl 1441 o revamp parallel job scheduling - dsl 1442 14432006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1444 1445 * Makefile.in (BMAKE_VERSION): bump to 20060728 1446 * Merge with NetBSD make, pick up: 1447 o extra debug info during variable and cond processing - sjg 1448 o shell definition now covers newline - rillig 1449 o minor mem leak in PrintOnError - sjg 1450 14512006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1452 1453 * Makefile.in (BMAKE_VERSION): bump to 20060511 1454 * Merge with NetBSD make, pick up: 1455 o more memory leaks - coverity 1456 o possible overflow in ArchFindMember - coverity 1457 o extract variable modifier code out of Var_Parse() 1458 so it can be called recursively - sjg 1459 o unit-tests/moderrs - sjg 1460 14612006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 1462 1463 * Makefile.in (BMAKE_VERSION): bump to 20060412 1464 * Merge with NetBSD make, pick up: 1465 o fixes for some memory leaks - coverity 1466 o only read first sys.mk etc when searching sysIncPath - sjg 1467 1468 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 1469 setting ${MAKEFILE} - OBATA Akio 1470 14712006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1472 1473 * Makefile.in (BMAKE_VERSION): bump to 20060318 1474 * Merge with NetBSD make, pick up: 1475 o cleanup of job.c to remove remote handling, distcc is more 1476 useful and this code was likely bit-rotting - dsl 1477 o fix for :P modifier - sjg 1478 * boot-strap: set default prefix to something reasonable 1479 (for me anyway). 1480 14812006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1482 1483 * Makefile.in (BMAKE_VERSION): bump to 20060301 1484 * Merge with NetBSD make, pick up: 1485 o make .WAIT apply recursively, document and test case - apb 1486 o allow variable modifiers in a variable appear anywhere in 1487 modifier list, document and test case - sjg 1488 14892006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 1490 1491 * Makefile.in (BMAKE_VERSION): bump to 20060222 1492 * Merge with NetBSD make, pick up: 1493 o improved job token handling - dsl 1494 o SIG_DFL the correct signal before exec - dsl 1495 o more debug info during parsing - dsl 1496 o allow variable modifiers to be specified via variable - sjg 1497 * boot-strap: explain why we died if no mksrc 1498 14992005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 1500 1501 * Makefile.in (BMAKE_VERSION): bump to 20051105 1502 * configure.in: always set default_sys_path 1503 default is ${prefix}/share/mk 1504 - remove prefix_sys_path, anyone wanting more than above 1505 needs to set it manually. 1506 15072005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1508 1509 * boot-strap: make this a bit easier for pkgsrc folk. 1510 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 1511 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 1512 15132005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 1514 1515 * Makefile.in (BMAKE_VERSION): bump to 20051102 1516 * job.c (JobFinish): fix likely ancient merge lossage 1517 fix from Todd Vierling. 1518 * boot-strap (srcdir): allow setting mksrc=none 1519 15202005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 1521 1522 * Makefile.in (BMAKE_VERSION): bump to 20051031 1523 * ranlib.h: skip on OSF too. 1524 (NetBSD PR 31864) 1525 15262005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 1527 1528 * Makefile.in (BMAKE_VERSION): bump to 20051002 1529 fix a silly typo 1530 15312005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1532 1533 * Makefile.in (BMAKE_VERSION): bump to 20051001 1534 support for UnixWare and some other systems, 1535 based on patches from pkgsrc/bootstrap 1536 15372005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1538 1539 * Makefile.in (BMAKE_VERSION): bump to 20050901 1540 * Merge with NetBSD make, pick up: 1541 o possible parse error causing us to wander off. 1542 15432005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 1544 1545 * Makefile.in (BMAKE_VERSION): bump to 20050606 1546 * Merge with NetBSD make, pick up: 1547 o :0x modifier for randomizing a list 1548 o fixes for a number of -Wuninitialized issues. 1549 15502005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 1551 1552 * Makefile.in (BMAKE_VERSION): bump to 20050530 1553 * Merge with NetBSD make, pick up: 1554 o Handle dependencies for .BEGIN, .END and .INTERRUPT 1555 1556 * README: was seriously out of date. 1557 15582005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1559 1560 * Important to use .MAKE rather than MAKE. 1561 15622005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 1563 1564 * Makefile.in (BMAKE_VERSION): bump to 20050315 1565 * Merge with NetBSD make, pick up: 1566 o don't mistake .elsefoo for .else 1567 o use suffix-specific search path correctly 1568 o bunch of style nits 1569 15702004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1571 1572 * boot-strap: 1573 o ensure that args to --src and --with-mksrc 1574 are resolved before giving them to configure. 1575 o add -o "objdir" so that builder can control it, 1576 default is $OS as determined by os.sh 1577 o add -q to suppress all the install instructions. 1578 15792004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 1580 1581 * Remove __IDSTRING() 1582 1583 * Makefile.in (BMAKE_VERSION): bump to 20040508 1584 * Merge with NetBSD make, pick up: 1585 o posix fixes 1586 - remove '-e' from compat mode 1587 - add support for '+' command-line prefix. 1588 o fix for handling '--' on command-line. 1589 o fix include in lst.lib/lstInt.h to simplify '-I's 1590 o we also picked up replacement of MAKE_BOOTSTRAP 1591 with !MAKE_NATIVE which is a noop, but possibly confusing. 1592 15932004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 1594 1595 * Makefile.in (BMAKE_VERSION): bump to 20040414 1596 * Merge with NetBSD make, pick up: 1597 o allow quoted strings on lhs of conditionals 1598 o issue warning when extra .else is seen 1599 o print line numer when errors encountered during parsing from 1600 string. 1601 16022004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 1603 1604 * Makefile.in (BMAKE_VERSION): bump to 20040220 1605 * Merge with NetBSD make, pick up: 1606 o fix for old :M parsing bug. 1607 o re-jigged unit-tests 1608 16092004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1610 1611 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 1612 so that './bmake -f Makefile test' works. 1613 16142004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1615 1616 * Makefile.in: (BMAKE_VERSION): bump to 20040214 1617 * Merge with NetBSD make, pick up: 1618 o search upwards for *.mk 1619 o fix for double free of var substitution buffers 1620 o use of getopt replaced with custom code, since the usage 1621 (re-scanning) isn't posix compatible. 1622 16232004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 1624 1625 * arch.c: don't include ranlib.h on ELF systems 1626 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 1627 16282004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1629 1630 * Makefile.in (BMAKE_VERSION): bump to 20040118 1631 1632 * boot-strap (while): export vars we assign to on cmdline 1633 * unit-test/Makefile.in: ternary is .PHONY 1634 16352004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 1636 1637 * Makefile.in (BMAKE_VERSION): bump version to 20040108 1638 * Merge with NetBSD make, pick up: 1639 o fix for ternary modifier 1640 16412004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 1642 1643 * Makefile.in (BMAKE_VERSION): bump version to 20040105 1644 * Merge with NetBSD make, pick up: 1645 o fix for cond.c to handle compound expressions better 1646 o variable expansion within sysV style replacements 1647 16482003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 1649 1650 * Make portable snprintf safer - output to /dev/null first to 1651 check space needed. 1652 1653 * Makefile.in (BMAKE_VERSION): bump version to 20031222 1654 * Merge with NetBSD make, pick up: 1655 o -dg3 to show input graph when things go wrong. 1656 o explicitly look for makefiles in objdir if not found in curdir so 1657 that errors in .depend etc will be reported accurarely. 1658 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 1659 instead as it more accurately reflects the expected behavior and 1660 is more consistently implemented. 1661 o avoid use of asprintf. 1662 16632003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1664 1665 * util.c: Add asprintf and vasprintf. 1666 1667 * Makefile.in (BMAKE_VERSION): bump version to 20030928 1668 * Merge with NetBSD make, pick up: 1669 :[] modifier - allows picking words from a variable. 1670 :tW modifier - allows treating value as one big word. 1671 W flag for :C and :S - allows treating value as one big word. 1672 16732003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 1674 1675 * Merge with NetBSD make 1676 pick up -de flag to enable printing failed command. 1677 don't skip 1st two dir entries (normally . and ..) since 1678 coda does not have them. 1679 16802003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1681 1682 * Makefile.in (BMAKE_VERSION): bump version to 20030909 1683 * Merge with NetBSD make, pick up: 1684 - changes for -V '${VAR}' to print fully expanded value 1685 cf. -V VAR 1686 - CompatRunCommand now prints the command that failed. 1687 - several files got updated 3 clause Berkeley license. 1688 16892003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 1690 1691 * boot-strap: Allow setting configure args on command line. 1692 16932003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1694 1695 * configure.in: add --with-defshell to allow sh or ksh 1696 to be selected as default shell. 1697 1698 * Makefile.in: bump version to 20030731 1699 1700 * Merge with NetBSD make 1701 Pick up .SHELL spec for ksh and associate man page changes. 1702 Also compat mode now uses the same shell specs. 1703 17042003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 1705 1706 * var.c (Var_Parse): ensure delim is initialized. 1707 1708 * unit-tests/Makefile.in: use single quotes to avoid problems from 1709 some shells. 1710 1711 * makefile.boot.in: 1712 Run the unit-tests as part of the bootstrap procedure. 1713 17142003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1715 1716 * unit-tests/Makefile.in: always force complaints from 1717 ${TEST_MAKE} to be from 'make'. 1718 1719 * configure.in: add check for 'diff -u' 1720 also fix some old autoconf'isms 1721 1722 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 1723 if using GCC add -Wno-cast-qual to CFLAGS for var.o 1724 1725 * Merge with NetBSD make 1726 Pick up fix for :ts parsing error in some cases. 1727 Pick unit-tests. 1728 17292003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 1730 1731 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 1732 1733 * var.c (Var_Parse): fix bug in :ts modifier, after const 1734 correctness fixes, must pass nstr to VarModify. 1735 17362003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 1737 1738 * Makefile.in: BMAKE_VERSION switch to a date based version. 1739 We'll generally use the date of last import from NetBSD. 1740 1741 * Merge with NetBSD make 1742 Pick up fixes for const-correctness, now passes WARNS=3 on 1743 NetBSD. 1744 Pick up :ts modifier, allows controlling the separator used 1745 between words in variable expansion. 1746 17472003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 1748 1749 * FILES: include boot-strap and os.sh 1750 1751 * Makefile.in: only set WARNS if we are NetBSD, the effect on 1752 FreeBSD is known to be bad. 1753 1754 * makefile.boot.in (bootstrap): make this the default target. 1755 1756 * Makefile.in: bump version to 3.1.19 1757 1758 * machine.sh: avoid A-Z with tr as it is bound to lose. 1759 17602003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 1761 1762 * Merge with NetBSD make 1763 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 1764 Plus some doc fixes. 1765 17662003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 1767 1768 * Merge with NetBSD make 1769 Pick up fix for PR/1523 - don't count a library as built, if there 1770 is no way to build it 1771 1772 * Bump version to 3.1.18 1773 17742003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 1775 1776 * Merge with NetBSD make 1777 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 1778 appears in src list. 1779 17802003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 1781 1782 * Merge with NetBSD make (mmm 10th anniversary!) 1783 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 1784 pick up -X which tells us to not export VAR=val via setenv if 1785 we are already doing so via MAKEFLAGS. This saves valuable env 1786 space on systems like Darwin. 1787 set MAKE_VERSION to 3.1.17 1788 1789 * parse.c: pix up fix for suffix rules 1790 17912003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 1792 1793 * Merge with NetBSD make. 1794 pick up fix for propagating -B via MAKEFLAGS. 1795 set MAKE_VERSION to 3.1.16 1796 1797 * Apply some patches from pkgsrc-bootstrap/bmake 1798 Originally by Grant Beattie <grant@netbsd.org> 1799 I may have missed some - since they are based on bmake-3.1.12 1800 18012002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 1802 1803 * makefile.boot.in (bmake): update install targets for those that 1804 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 1805 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 1806 1807 * bmake.cat1: update the pre-formatted man page! 1808 18092002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 1810 1811 * Merge with NetBSD make. 1812 pick up fix for premature free of pointer used in call 1813 to Dir_InitCur(). 1814 set MAKE_VERSION to 3.1.15 1815 18162002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 1817 1818 * configure.in: determine suitable value for MKSRC. 1819 override using --with-mksrc=PATH. 1820 1821 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 1822 configs(8) will use 'sun4' as an alias for 'sparc'. 1823 18242002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1825 1826 * Merge with NetBSD make. 1827 pick up ${.PATH} 1828 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 1829 set MAKE_VERSION to 3.1.14 1830 add configure checks for killpg and sys/socket.h 1831 18322002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 1833 1834 * tag bmake-3-1-13 1835 1836 * makefile.boot.in (bmake): use install-mk 1837 Also setup ./mk before trying to invoke bmake.boot incase we 1838 needed install-mk to create a sys.mk for us. 1839 1840 * configure.in: If we need to add -I${srcdir}/missing, make it an 1841 absolute path so that it works for lst.lib too. 1842 1843 * make.h: always include sys/cdefs.h since we provide one if the 1844 host does not. 1845 1846 * Makefile.in (install-mk): 1847 use MKSRC/install-mk which will do the right thing. 1848 use uname -p for ARCH if possible. 1849 since install-mk will setup links bsd.prog.mk -> prog.mk if 1850 needed, just .include bsd.prog.mk 1851 1852 * Merge with NetBSD make (NetBSD-1.6) 1853 Code is ansi-C only now. 1854 Bug in handling of dotLast is fixed. 1855 Can now assign .OBJDIR and make will reset its notions of life. 1856 New modifiers :tu :tl for toUpper and toLower. 1857 1858Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 1859 1860 * Merge with NetBSD make 1861 pick up fix for .END failure in compat mode. 1862 pick up fix for extra va_end() in ParseVErrorInternal. 1863 1864Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 1865 1866 * configure.in: for systems that have sys/cdefs.h check if it is 1867 compatible. If not, include the one under missing, but tell it to 1868 include the native one too - necessary on Linux. 1869 1870 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 1871 include_next (for gcc) to get the native sys/cdefs.h 1872 1873Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1874 1875 * job.c (JobFinish): Fix an earlier merge bug that resulted in 1876 leaking descriptors when using -jN. 1877 1878 * job.c (JobPrintCommand): See if "curdir" exists before 1879 attempting to chdir(). Doing the chdir directly in make (when in 1880 compat mode) fails silently, so let the -jN version do the same. 1881 This can happen when building kernels in an object tree and 1882 playing clever games to reset .CURDIR. 1883 1884 * Merged with NetBSD make 1885 pick up .USEBEFORE 1886 1887Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1888 1889 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 1890 1891Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1892 1893 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 1894 us not to export the iterator variable when using VAR_CMD context. 1895 1896Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1897 1898 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 1899 its the wrong "fix". 1900 1901Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1902 1903 * Redesigned export of VAR_CMD's via MAKEFLAGS. 1904 We now simply append the variable names to .MAKEOVERRIDES, and 1905 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 1906 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 1907 Apart from fixing quoting bugs in previous version, this allows us 1908 to export vars to the environment by simply doing: 1909 .MAKEOVERRIDES+= PATH 1910 Merged again with NetBSD make, but the above is the only change. 1911 1912 * configure.in: added 1913 --disable-pwd-override disable $PWD overriding getcwd() 1914 --disable-check-make-chdir disable make trying to guess 1915 when it should automatically cd ${.CURDIR} 1916 1917 * Merge with NetBSD make, changes include: 1918 parse.c (ParseDoDependency): Spot that the syntax error is 1919 caused by an unresolved cvs/rcs conflict and say so. 1920 var.c: most of Var* functions now take a ctxt as 1st arg. 1921 now does variable substituion on rhs of sysv style modifiers. 1922 1923 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 1924 is now done here. We append the name='value' to .MAKEOVERRIDES 1925 rather than directly into MAKEFLAGS as this allows a Makefile to 1926 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 1927 very similar mechanism. Note that in adding name='value' to 1928 .MAKEOVERRIDES we do the moral equivalent of: 1929 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 1930 1931Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1932 1933 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 1934 1935 * Merged with NetBSD make 1936 make -dx can now be used to run commands via sh -x 1937 better error messages on exec failures. 1938 1939Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1940 1941 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 1942 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 1943 MACHINE etc otherwise they propagate from the previous bmake. 1944 1945 * configure.in (machine): allow --with-machine=generic to make 1946 configure use machine.sh to set MACHINE. 1947 1948 * job.c (JobInterrupt): convert to using WAIT_T and friends. 1949 1950 * Makefile.in: mention in bmake.1 that we use autoconf. 1951 1952 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 1953 1954Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1955 1956 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 1957 as that rather defeats the usefulness of ${MAKEFILE}. 1958 1959 * main.c (MainParseArgs): append command line variable assignments 1960 to MAKEFLAGS so that they get propagated to child make's. 1961 Apparently this is required POSIX behaviour? Its useful anyway. 1962 1963Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1964 1965 * compat.c (CompatRunCommand): don't use perror() since stdio may 1966 cause problems in child of vfork(). 1967 1968 * compat.c, main.c: Call PrintOnError() when we are going to bail. 1969 This routine prints out the .curdir where we stopped and will also 1970 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 1971 1972 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 1973 :@ expansion. 1974 1975 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 1976 1977 * Added RCSid's for the files we've touched. 1978 1979Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1980 1981 * configure.in: Thanks to some clues from mdb@juniper.net, 1982 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 1983 as well as what ends up in _PATH_DEFSYSPATH. We now have: 1984 1985 --with-machine=MACHINE explicitly set MACHINE 1986 --with-force-machine=MACHINE set FORCE_MACHINE 1987 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 1988 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 1989 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 1990 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 1991 1992 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 1993 1994 * makefile: added a pathetically simple makefile to drive 1995 bootstrapping. Running configure by hand is more useful. 1996 1997 * Makefile.in: added MAKE_VERSION, and reworked things to be less 1998 dependent on NetBSD bsd.*.mk 1999 2000 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 2001 _PATH_OBJDIRPREFIX for those that don't want a default. 2002 construct _PATH_DEFSYSPATH from the info we get from configure. 2003 2004 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 2005 if MAKE_VERSION is defined. 2006 2007 * compat.c: when we bail, print out the .CURDIR we were in. 2008 2009Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2010 2011 * Merged with NetBSD make 2012 2013 * var.c: fixed a bug in the handling of the modifier :P 2014 if the node as found but the path was null, we segfault trying to 2015 duplicate it. 2016 2017Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2018 2019 * Merged with NetBSD make 2020 2021 * make.c: Make_OODate's test for a library out of date was using 2022 cmtime where it should have used mtime (my bug). 2023 2024 * compat.c: Use perror() to tell us what really went wrong when we 2025 cannot exec a command. 2026 2027Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2028 2029 * Merged with NetBSD make 2030 2031Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2032 2033 * Merged with NetBSD make 2034 2035Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2036 2037 * Merged with NetBSD make 2038 2039Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2040 2041 * Merged with NetBSD make 2042 2043Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2044 2045 * util.c: don't provide signal() since we use sigcompat.c 2046 2047 * Makefile.in: added a build target. 2048 2049 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 2050 These allow some quite clever magic. 2051 2052 * main.c (main): added support for getenv(MAKESYSPATH). 2053 2054Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2055 2056 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 2057 This avoids objdir having a different value depending on how a 2058 directory was reached (via command line, or subdir.mk). 2059 2060 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 2061 2062Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2063 2064 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 2065 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 2066 I've been testing this in NetBSD's make for some weeks. 2067 2068 * Turn Makefile into Makefile.in and make it useful. 2069 2070Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2071 2072 * Imported NetBSD's -current make(1) and resolve conflicts. 2073 2074 * Applied autoconf patches from bmake v2 2075 2076 * Imported clean code base from NetBSD-1.0 2077