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