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