12017-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 2 3 * VERSION: 20171028 4 Merge with NetBSD make, pick up 5 o main.c: ignore empty MAKEOBJDIR 6 7 * Makefile.config.in: 8 make @prefix@ @machine*@ and @default_sys_path@ defaults. 9 102017-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 11 12 * VERSION: 20171005 13 14 * unit-tests/dotwait.mk: redirect stderr through pipe for more 15 consistent result on some platforms. 16 172017-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 18 19 * machine.sh: entry for AIX 20 212017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 22 23 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION 24 to a file that can be included by configure as well as make. 25 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh 26 272017-08-10 Simon J. Gerraty <sjg@bad.crufty.net> 28 29 * Makefile (_MAKE_VERSION): 20170810 30 Merge with NetBSD make, pick up 31 o meta.c: if target is in subdir we only need subdir name in 32 meta_name. 33 342017-07-20 Simon J. Gerraty <sjg@bad.crufty.net> 35 36 * Makefile (_MAKE_VERSION): 20170720 37 Merge with NetBSD make, pick up 38 o compat.c: pass SIGINT etc onto child and wait for it to exit 39 before we self-terminate. 40 412017-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 42 43 * Makefile (_MAKE_VERSION): 20170711 44 forgot to update after merge on 20170708 ;-) 45 o main.c: refactor to reduce size of main function. 46 add -v option to always fully expand values. 47 o meta.c: ensure command output in meta file has ending newline 48 even when filemon not being used. 49 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use 50 pathname via ':L' since any ':' in pathname breaks that. 51 Instead set a '${.p.}' to pathname in the target context and 52 use that. 53 542017-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 55 56 * Makefile (_MAKE_VERSION): 20170510 57 Merge with NetBSD make, pick up 58 o main.c: Main_SetObjdir: ensure buf2 is in scope 59 602017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 61 62 * Makefile (_MAKE_VERSION): 20170505 63 see mk/ChangeLog 64 652017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 66 67 * parse.c: not everyone has stdint.h 68 692017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 70 71 * Makefile (_MAKE_VERSION): 20170501 72 see mk/ChangeLog 73 742017-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 75 76 * Makefile (_MAKE_VERSION): 20170421 77 Merge with NetBSD make, pick up 78 o str.c: Str_Match: fix closure tests for [^] and add unit-test. 79 802017-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 81 82 * Makefile (_MAKE_VERSION): 20170420 83 Merge with NetBSD make, pick up 84 o main.c: only use -C arg "as is" if it contains no 85 relative component. 86 872017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 88 89 * Makefile (_MAKE_VERSION): 20170418 90 Merge with NetBSD make, pick up 91 o main.c: fix Main_SetObjdir() for relative paths (eg obj). 92 932017-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 94 95 * Makefile (_MAKE_VERSION): 20170417 96 Merge with NetBSD make, pick up 97 o fixes a number of coverity complaints 98 - check return value of fseek, fcntl 99 - plug memory leak in Dir_FindFile, Var_LoopExpand, 100 JobPrintCommand, ParseTraditionalInclude 101 - use bmake_malloc() where NULL is not tollerated 102 - use MAKE_ATTR_UNUSED rather that kludges like 103 return(unused ? 0 : 0) 104 - use purge_cached_realpaths() rather than abuse cached_realpath() 105 1062017-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 107 108 * Makefile (_MAKE_VERSION): 20170413 109 Merge with NetBSD make, pick up 110 o main.c: when setting .OBJDIR ignore '$' in paths. 111 112 * job.c: use MALLOC_OPTIONS to set malloc_options. 113 1142017-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 115 116 * Makefile (_MAKE_VERSION): 20170411 117 Merge with NetBSD make, pick up 118 o str.c: Str_Match: allow [^a-z] to behave as expected. 119 1202017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 121 122 * Makefile (_MAKE_VERSION): 20170326 123 Merge with NetBSD make, pick up 124 o main.c: purge relative paths from realpath cache when .OBJDIR 125 is changed. 126 1272017-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 128 129 * Makefile (_MAKE_VERSION): 20170311 130 Merge with NetBSD make, pick up 131 o main.c: only use -C arg "as is" if it starts with '/'. 132 1332017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 134 135 * Makefile (_MAKE_VERSION): 20170301 136 Merge with NetBSD make, pick up 137 o main.c: use -C arg "as is" rather than getcwd() 138 if they identify the same directory. 139 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case 140 1412017-02-01 Simon J. Gerraty <sjg@bad.crufty.net> 142 143 * Makefile (_MAKE_VERSION): 20170201 144 Merge with NetBSD make, pick up 145 o var.c: allow :_=var and avoid use of special context. 146 1472017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 148 149 * Makefile (_MAKE_VERSION): 20170130 150 Merge with NetBSD make, pick up 151 o var.c: add :range and :_ 152 o main.c: partially initialize Dir_* before MainParseArgs() 153 can be called. 154 If -V, skip Main_ExportMAKEFLAGS() 155 1562017-01-14 Simon J. Gerraty <sjg@bad.crufty.net> 157 158 * Makefile (_MAKE_VERSION): 20170114 159 Merge with NetBSD make, pick up 160 o var.c: allow specifying the utc value used by :{gm,local}time 161 1622016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 163 164 * Makefile (_MAKE_VERSION): 20161212 165 Merge with NetBSD make, pick up 166 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too. 167 1682016-12-09 Simon J. Gerraty <sjg@bad.crufty.net> 169 170 * Makefile (_MAKE_VERSION): 20161209 171 Merge with NetBSD make, pick up 172 o main.c: cleanup setting of .OBJDIR 173 o parse.c: avoid coredump from (var)=val 174 1752016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 176 177 * Makefile (_MAKE_VERSION): 20161126 178 Merge with NetBSD make, pick up 179 o make.c: Make_OODate: report src node name if path not set 180 1812016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 182 183 * Makefile (_MAKE_VERSION): 20160926 184 Merge with NetBSD make, pick up 185 o support for .DELETE_ON_ERROR: (remove targets that fail) 186 1872016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 188 189 * Makefile MAN: tweak .Dt to match ${PROG} 190 1912016-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 192 193 * Makefile (_MAKE_VERSION): 20160818 194 its a neater number; pick up whitespace fixes to man page. 195 1962016-08-17 Simon J. Gerraty <sjg@bad.crufty.net> 197 198 * Makefile (_MAKE_VERSION): 20160817 199 Merge with NetBSD make, pick up 200 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore() 201 so we can call it before adding entries to missingFiles. 202 Thus we do not track files we have been told to ignore. 203 2042016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 205 206 * Makefile (_MAKE_VERSION): 20160815 207 Merge with NetBSD make, pick up 208 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to 209 pathnames, and skip if the expansion is empty. 210 Useful for dirdeps.mk when checking DIRDEPS_CACHE. 211 2122016-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 213 214 * Makefile (_MAKE_VERSION): 20160812 215 Merge with NetBSD make, pick up 216 o meta.c: remove all missingFiles entries that match a deleted 217 dir. 218 o main.c: set .ERROR_CMD if possible. 219 2202016-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 221 222 * Makefile (_MAKE_VERSION): 20160606 223 Merge with NetBSD make, pick up 224 o dir.c: extend mtimes cache to others via cached_stat() 225 2262016-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 227 228 * Makefile (_MAKE_VERSION): 20160604 229 Merge with NetBSD make, pick up 230 o meta.c: missing filemon data is only relevant if we read a 231 meta file. 232 Also do not return oodate for a missing metafile if gn->path 233 points to .CURDIR 234 2352016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 236 237 * Makefile (_MAKE_VERSION): 20160602 238 Merge with NetBSD make, pick up 239 o cached_realpath(): avoid hitting filesystem more than necessary. 240 o meta.c: refactor need_meta decision, add knobs for 241 missing meta file and filemon data wrt out-of-datedness. 242 2432016-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 244 245 * Makefile (_MAKE_VERSION): 20160528 246 247 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 248 2492016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 250 251 * Makefile (_MAKE_VERSION): 20160512 252 Merge with NetBSD make, pick up 253 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS 254 this is useful for gcov builds. 255 o propagate errors from filemon(4). 256 2572016-05-09 Simon J. Gerraty <sjg@bad.crufty.net> 258 259 * Makefile (_MAKE_VERSION): 20160509 260 Merge with NetBSD make, pick up 261 o remove use of non-standard types u_int etc. 262 o meta.c: apply realpath() before matching against metaIgnorePaths 263 2642016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 265 266 * Makefile (_MAKE_VERSION): 20160404 267 Merge with NetBSD make, pick up 268 o allow makefile to set .MAKE.JOBS 269 270 * Makefile (PROG_NAME): use ${_MAKE_VERSION} 271 2722016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 273 274 * Makefile (_MAKE_VERSION): 20160315 275 Merge with NetBSD make, pick up 276 o fix handling of archive members 277 2782016-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 279 280 * Makefile (_MAKE_VERSION): rename variable to avoid interference 281 with checks for ${MAKE_VERSION} 282 2832016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 284 285 * Makefile (MAKE_VERSION): 20160310 286 Merge with NetBSD make, pick up 287 o meta.c: treat missing Read file same as Write, incase we Delete it. 288 2892016-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 290 291 * Makefile (MAKE_VERSION): 20160307 292 Merge with NetBSD make, pick up 293 o var.c: fix :ts\nnn to be octal by default. 294 o meta.c: meta_finish() to cleanup memory. 295 2962016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 297 298 * Makefile (MAKE_VERSION): 20160226 299 Merge with NetBSD make, pick up 300 o meta.c: allow meta file for makeDepend if makefiles want it. 301 3022016-02-19 Simon J. Gerraty <sjg@bad.crufty.net> 303 304 * var.c: default .MAKE.SAVE_DOLLARS to FALSE 305 for backwards compatability. 306 307 * Makefile (MAKE_VERSION): 20160220 308 Merge with NetBSD make, pick up 309 o var.c: add knob to control handling of '$$' in := 310 3112016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 312 313 * Makefile (MAKE_VERSION): 20160218 314 Merge with NetBSD make, pick up 315 o var.c: add .export-literal allows us to fix sys.clean-env.mk 316 post the changes to Var_Subst. 317 Var_Subst now takes flags, and does not consume '$$' in := 318 3192016-02-17 Simon J. Gerraty <sjg@bad.crufty.net> 320 321 * Makefile (MAKE_VERSION): 20160217 322 Merge with NetBSD make, pick up 323 o var.c: preserve '$$' in := 324 o parse.c: add .dinclude for handling included 325 makefile like .depend 326 3272015-12-20 Simon J. Gerraty <sjg@bad.crufty.net> 328 329 * Makefile (MAKE_VERSION): 20151220 330 Merge with NetBSD make, pick up 331 o suff.c: re-initialize suffNull when clearing suffixes. 332 3332015-12-01 Simon J. Gerraty <sjg@bad.crufty.net> 334 335 * Makefile (MAKE_VERSION): 20151201 336 Merge with NetBSD make, pick up 337 o cond.c: CondCvtArg: avoid access beyond end of empty buffer. 338 o meta.c: meta_oodate: use lstat(2) for checking link target 339 in case it is a symlink. 340 o var.c: avoid calling brk_string and Var_Export1 with empty 341 strings. 342 3432015-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 344 345 * Makefile (MAKE_VERSION): 20151126 346 Merge with NetBSD make, pick up 347 o parse.c: ParseTrackInput don't access beyond 348 end of old value. 349 3502015-10-22 Simon J. Gerraty <sjg@bad.crufty.net> 351 352 * Makefile (MAKE_VERSION): 20151022 353 354 * Add support for BSD/OS which lacks inttypes.h 355 and really needs sys/param.h for sys/sysctl.h 356 also 'type' is not a shell builtin. 357 358 * var.c: eliminate uint32_t and need for inttypes.h 359 360 * main.c: PrintOnError flush stdout before run .ERROR 361 362 * parse.c: cope with _SC_PAGESIZE not being defined. 363 364 3652015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 366 367 * Makefile (MAKE_VERSION): 20151020 368 Merge with NetBSD make, pick up 369 o var.c: fix uninitialized var 370 3712015-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 372 373 * var.c: the conditional expressions used with ':?' can be 374 expensive, if already discarding do not evaluate or expand 375 anything. 376 3772015-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 378 379 * Makefile (MAKE_VERSION): 20151010 380 Merge with NetBSD make, pick up 381 o Add Boolean wantit flag to Var_Subst and Var_Parse 382 when FALSE we know we are discarding the result and can 383 skip operations like Cmd_Exec. 384 3852015-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 386 387 * Makefile (MAKE_VERSION): 20151009 388 Merge with NetBSD make, pick up 389 o var.c: don't check for NULL before free() 390 o meta.c: meta_oodate, do not hard code ignore of makeDependfile 391 3922015-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 393 394 * Makefile (MAKE_VERSION): 20150910 395 Merge with NetBSD make, pick up 396 o main.c: with -w print Enter/Leaving messages for objdir too 397 if necessary. 398 o centralize shell metachar handling 399 400 * FILES: add metachar.[ch] 401 4022015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 403 404 * Makefile (MAKE_VERSION): 20150606 405 Merge with NetBSD make, pick up 406 o make.1: document .OBJDIR target 407 4082015-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 409 410 * Makefile (MAKE_VERSION): 20150505 411 Merge with NetBSD make, pick up 412 o cond.c: be strict about lhs of comparison when evaluating .if 413 but less so when called from variable expansion. 414 o unit-tests/cond2.mk: test various error conditions 415 4162015-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 417 418 * machine.sh (MACHINE): Add Bitrig 419 patch from joerg@netbsd.org 420 4212015-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 422 423 * Makefile (MAKE_VERSION): 20150418 424 Merge with NetBSD make, pick up 425 o job.c: use memmove() rather than memcpy() 426 427 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL 428 case, so skip it. 429 4302015-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 431 432 * Makefile (MAKE_VERSION): 20150411 433 bump version - only mk/ changes. 434 4352015-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 436 437 * Makefile (MAKE_VERSION): 20150410 438 Merge with NetBSD make, pick up 439 o document different handling of '-' in jobs mode vs compat 440 o fix jobs mode so that '-' only applies to whole job 441 when shell lacks hasErrCtl 442 o meta.c: use separate vars to track lcwd and latestdir (read) 443 per process 444 4452015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 446 447 * Makefile (MAKE_VERSION): 20150401 448 Merge with NetBSD make, pick up 449 o meta.c: close meta file in child 450 451 * Makefile: use BINDIR.bmake if set. 452 Same for MANDIR and SHAREDIR 453 Handy for testing release candidates 454 in various environments. 455 4562015-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 457 458 * move initialization of savederr to block where it is used 459 to avoid spurious warning from gcc5 460 4612014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 462 463 * Makefile (MAKE_VERSION): 20141111 464 just a cooler number 465 4662014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 467 468 * Makefile (MAKE_VERSION): 20141105 469 Merge with NetBSD make, pick up 470 o revert major overhaul of suffix handling 471 and POSIX compliance - too much breakage 472 and impossible to make backwards compatible. 473 o we still have the new unit test structure which is ok. 474 o meta.c ensure "-- filemon" is at start of line. 475 4762014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 477 478 * configure.in: test that result of getconf PATH_MAX is numeric 479 and discard if not. Apparently needed for Hurd. 480 4812014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 482 483 * Makefile (MAKE_VERSION): 20140830 484 Merge with NetBSD make, pick up 485 o major overhaul of suffix handling 486 o improved POSIX compliance 487 o overhauled unit-tests 488 4892014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 490 491 * Makefile (MAKE_VERSION): 20140620 492 Merge with NetBSD make, pick up 493 o var.c return varNoError rather than var_Error for ::= modifiers. 494 4952014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 496 497 * Makefile (MAKE_VERSION): 20140522 498 Merge with NetBSD make, pick up 499 o var.c detect some parse errors. 500 5012014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 502 503 * Fix spelling errors - patch from Pedro Giffuni 504 5052014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 506 507 * Makefile (MAKE_VERSION): 20140214 508 Merge with NetBSD make, pick up 509 o .INCLUDEFROM* 510 o use Var_Value to get MAKEOBJDIR[PREFIX] 511 o reduced realloc'ign in brk_string. 512 * configure.in: add a check for compiler supporting __func__ 513 5142014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 515 516 * boot-strap: ignore mksrc=none 517 5182014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 519 520 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 521 5222014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 523 524 * Makefile (MAKE_VERSION): 20140101 525 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 526 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 527 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 528 Hurd) 529 * configure.in: Add AC_PREREQ and check for 530 sysctl; patch from Andrew Shadura andrewsh at debian.org 531 5322013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 533 534 * Makefile (MAKE_VERSION): 20131010 535 * lose the const from arg to systcl to avoid problems on older BSDs. 536 5372013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 538 539 * Makefile (MAKE_VERSION): 20131001 540 Merge with NetBSD make, pick up 541 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 542 hw.machine_arch if necessary. 543 o meta.c: meta_oodate - need to look at src of Link and target 544 of Move as well. 545 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 546 provide __arraycount() if needed. 547 5482013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 549 550 * Makefile (MAKE_VERSION): 20130904 551 Merge with NetBSD make, pick up 552 o Add VAR_INTERNAL context, so that internal setting of 553 MAKEFILE does not override value set by makefiles. 554 5552013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 556 557 * Makefile (MAKE_VERSION): 20130902 558 Merge with NetBSD make, pick up 559 o CompatRunCommand: only apply shellErrFlag when errCheck is true 560 5612013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 562 563 * Makefile (MAKE_VERSION): 20130828 564 Merge with NetBSD make, pick up 565 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 566 o Call Job_SetPrefix() from Job_Init() so makefiles have 567 opportunity to set .MAKE.JOB.PREFIX 568 5692013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 570 571 * Makefile (MAKE_VERSION): 20130730 572 Merge with NetBSD make, pick up 573 o Allow suppression of --- job -- tokens by setting 574 .MAKE.JOB.PREFIX empty. 575 5762013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 577 578 * Makefile (MAKE_VERSION): 20130716 579 Merge with NetBSD make, pick up 580 o number of gmake compatibility tweaks 581 -w for gmake style entering/leaving messages 582 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 583 handle MAKEFLAGS containing only letters. 584 o when overriding a GLOBAL variable on the command line, 585 delete it from GLOBAL context so -V doesn't show the wrong 586 value. 587 5882013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 589 590 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 591 592 * Makefile (MAKE_VERSION): 20130706 593 Merge with NetBSD make, pick up 594 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 595 true so that CompatRunCommand() can use it, to ensure 596 consistent behavior with jobs mode. 597 o use MAKE_LEVEL_ENV to define the variable to propagate 598 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 599 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 600 paths to ignore. 601 6022013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 603 604 * Makefile (MAKE_VERSION): 20130604 605 Merge with NetBSD make, pick up 606 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 607 to avoid leaking descriptors. 608 6092013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 610 611 * Makefile (MAKE_VERSION): 20130528 612 Merge with NetBSD make, pick up 613 o var.c: cleanup some left-overs in VarHash() 614 6152013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 616 617 * Makefile (MAKE_VERSION): 20130520 618 generate manifest from component FILES rather than have to 619 update FILES when mk/FILES changes. 620 6212013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 622 623 * Makefile (MAKE_VERSION): 20130518 624 Merge with NetBSD make, pick up 625 o suff.c: don't skip all processsing for .PHONY targets 626 else wildcard srcs do not get expanded. 627 o var.c: expand name of variable to delete if necessary. 628 6292013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 630 631 * Makefile (MAKE_VERSION): 20130330 632 Merge with NetBSD make, pick up 633 o meta.c: refine the handling of .OODATE in commands. 634 Rather than suppress command comparison for the entire script 635 as though .NOMETA_CMP had been used, only suppress it for the 636 one command line. 637 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 638 suppress comparison of a command without otherwise affecting it. 639 o make.1: document that 640 6412013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 642 643 * Makefile (MAKE_VERSION): 20130321 644 yes, not quite right but its a cooler number. 645 Merge with NetBSD make, pick up 646 o parse.c: fix ParseGmakeExport to be portable 647 and add a unit-test. 648 * meta.c: call meta_init() before makefiles are read and if built 649 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 650 this let's makefiles test for support. 651 Call meta_mode_init() to process .MAKE.MODE. 652 6532013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 654 655 * Makefile (MAKE_VERSION): 20130305 656 Merge with NetBSD make, pick up 657 o run .STALE: target when a dependency from .depend is missing. 658 o job.c: add Job_RunTarget() for the above and .BEGIN 659 6602013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 661 662 * Makefile (MAKE_VERSION): 20130303 663 Merge with NetBSD make, pick up 664 o main.c: set .MAKE.OS to utsname.sysname 665 o job.c: more checks for read and poll errors 666 o var.c: lose VarChangeCase() saves 4% time 667 6682013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 669 670 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 671 want to use MAKEOBJDIR 672 6732013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 674 675 * Merge with NetBSD make, pick up 676 o make.1: more info on how shell commands are handled. 677 o job.c,main.c: detect write errors to job pipes. 678 6792013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 680 681 * Makefile (MAKE_VERSION): 20130123 682 Merge with NetBSD make, pick up 683 o meta.c: if script uses .OODATE and meta_oodate() decides 684 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 685 o var.c: in debug output indicate which variabale modifiers 686 apply to. 687 o remove Check_Cwd logic the makefiles have been fixed. 688 6892012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 690 691 * makefile.in: add a simple makefile for folk who insist on 692 ./configure; make; make install 693 it just runs boot-strap 694 * include mk/* to accommodate the above 695 * boot-strap: re-work to accommodate the above 696 mksrc defaults to $Mydir/mk 697 allow op={configure,build,install,clean,all} 698 add options to facilitate install 699 * Makefile.config.in: just the bits set by configure 700 * Makefile: bump version to 20121212 701 abandon Makefile.in (NetBSD Makefile) 702 leverage mk/* instead 703 * configure.in: ensure srcdir is absolute 704 7052012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 706 707 * Makefile.in (MAKE_VERSION): 20121111 708 fix generation of bmake.cat1 709 7102012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 711 712 * Makefile.in (MAKE_VERSION): 20121109 713 Merge with NetBSD make, pick up 714 o make.c: MakeBuildChild: return 0 so search continues if a 715 .ORDER dependency is detected. 716 o unit-tests/order: test the above 717 7182012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 719 720 * Makefile.in (MAKE_VERSION): 20121102 721 Merge with NetBSD make, pick up 722 o cond.c: allow cond_state[] to grow. 723 In meta mode with a very large tree, we can hit the limit 724 while processing dirdeps. 725 7262012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 727 728 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 729 7302012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 731 732 * Makefile.in (MAKE_VERSION): 20121010 733 o protect syntax that only bmake parses correctly. 734 o remove auto setting of FORCE_MACHINE, use configure's 735 --with-force-machine=whatever if that is desired. 736 7372012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 738 739 * Makefile.in: do not lose history from make.1 when generating bmake.1 740 7412012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 742 743 * Makefile.in (MAKE_VERSION): 20121007 744 Merge with NetBSD make, pick up 745 o compat.c: ignore empty commands - same as jobs mode. 746 o make.1: document meta chars that cause use of shell 747 7482012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 749 750 * Makefile.in (MAKE_VERSION): bump version to 20120911 751 * bsd.after-import.mk: include Makefile.inc early and allow it to 752 override PROG 753 7542012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 755 756 * Makefile.in (MAKE_VERSION): bump version to 20120831 757 Merge with NetBSD make, pick up 758 o cast sizeof() to int for comparison 759 o minor make.1 tweak 760 7612012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 762 763 * Makefile.in (MAKE_VERSION): bump version to 20120830 764 Merge with NetBSD make, pick up 765 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 766 o debug flag -dV causes -V to show raw value regardless. 767 7682012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 769 770 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 771 gets SRCTOP set. 772 7732012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 774 775 * Makefile.in (MAKE_VERSION): bump version to 20120704 776 Merge with NetBSD make, pick up 777 o Job_ParseShell should call Shell_Init if it has been 778 previously called. 779 * Makefile.in: set USE_META based on configure result. 780 also .PARSEDIR is safer indicator of bmake. 781 7822012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 783 784 * Makefile.in: bump version to 20120626 785 ensure CPPFLAGS is in CFLAGS 786 * meta.c: avoid nested externs 787 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 788 7892012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 790 791 * Makefile.in (MAKE_VERSION): bump version to 20120620 792 Merge with NetBSD make, pick up 793 o make_malloc.c: avoid including make_malloc.h again 794 795 * Makefile.in: avoid bmake only syntax or protect with 796 .if defined(.MAKE.LEVEL) 797 * bsd.after-import.mk: replace .-include with .sinclude 798 ensure? SRCTOP gets a value 799 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 800 8012012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 802 803 * Makefile.in (MAKE_VERSION): bump version to 20120612 804 Merge with NetBSD make, pick up 805 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 806 for greater portability. 807 o unit-tests/forloop: check that .for works as expected wrt 808 number of times and with "quoted strings". 809 8102012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 811 812 * Makefile.in (MAKE_VERSION): bump version to 20120606 813 Merge with NetBSD make, pick up 814 o compat.c: use kill(2) rather than raise(3). 815 * configure.in: look for sys/dev/filemon 816 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 817 and pass BOOTSTRAP_XTRAS to boot-strap. 818 8192012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 820 821 * Makefile.in (MAKE_VERSION): bump version to 20120604 822 Merge with NetBSD make, pick up 823 o util.c and var.c share same var for tracking if environ 824 has been reallocated. 825 o util.c provide getenv with setenv. 826 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 827 when the shell actively strips .MAKE.* from the environment. 828 We still refer to the variable always as .MAKE.LEVEL 829 * util.c fix bug in findenv() was finding prefix of name. 830 * compat.c: re-raising SIGINT etc after running .INTERRUPT 831 results in more reliable termination of all activity on many 832 platforms. 833 8342012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 835 836 * Makefile.in (MAKE_VERSION): bump version to 20120602 837 Merge with NetBSD make, pick up 838 o for.c: handle quoted items in .for list 839 8402012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 841 842 * Makefile.in (MAKE_VERSION): bump version to 20120530 843 Merge with NetBSD make, pick up 844 o compat.c: ignore empty command. 845 8462012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 847 848 * Makefile.in (MAKE_VERSION): bump version to 20120524 849 * FILES: add bsd.after-import.mk: 850 A simple means of integrating bmake into a BSD build system. 851 8522012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 853 854 * Makefile.in (MAKE_VERSION): bump version to 20120520 855 Merge with NetBSD make, pick up 856 o increased limit for nested conditionals. 857 8582012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 859 860 * Makefile.in (MAKE_VERSION): bump version to 20120518 861 Merge with NetBSD make, pick up 862 o use _exit(2) in signal hanlder 863 o Don't use the [dir] cache when building nodes that might have 864 changed since the last exec. 865 o Avoid nested extern declaration warnings. 866 8672012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 868 869 * meta.c (fgetLine): avoid %z - not portable. 870 * parse.c: Since we moved include of sys/mman.h 871 and def's of MAP_COPY etc. we got dups from a merge. 872 8732012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 874 875 * Makefile.in (MAKE_VERSION): bump version to 20120420 876 Merge with NetBSD make, pick up 877 o restore duplicate supression in .MAKE.MAKEFILES 878 runtime saving can be significant. 879 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 880 consumption up to 20%. 881 8822012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 883 884 * Makefile.in (MAKE_VERSION): bump version to 20120420 885 Merge with NetBSD make, pick up 886 o remove duplicate supression in .MAKE.MAKEFILES 887 o improved dir cache behavior 888 o gmake'ish export command 889 8902012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 891 892 * Makefile.in (MAKE_VERSION): bump version to 20120325 893 Merge with NetBSD make, pick up 894 o fix parsing of :[#] in conditionals. 895 8962012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 897 898 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 899 since some systems cannot cope with .Nx <version> 900 9012011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 902 903 * Makefile.in (MAKE_VERSION): bump version to 20111111 904 Merge with NetBSD make, pick up 905 o debug output for .PARSEDIR and .PARSEFILE 906 9072011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 908 909 * Makefile.in (MAKE_VERSION): bump version to 20111010 910 9112011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 912 913 * boot-strap: check for an expected file in the dirs we look for. 914 * make-bootstrap.sh: pass on LDSTATIC 915 9162011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 917 918 * Makefile.in (MAKE_VERSION): bump version to 20111001 919 Merge with NetBSD make, pick up 920 o ensure .PREFIX is set for .PHONY 921 and .TARGET set for .PHONY run via .END 922 o __dead used consistently 923 9242011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 925 926 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 927 9282011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 929 930 * Makefile.in (MAKE_VERSION): bump version to 20110905 931 Merge with NetBSD make, pick up 932 o meta_oodate: ignore makeDependfile 933 9342011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 935 936 * Makefile.in (MAKE_VERSION): bump version to 20110828 937 Merge with NetBSD make, pick up 938 o silent=yes in .MAKE.MODE causes meta mode to mark targets 939 as SILENT if a .meta file is created 940 9412011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 942 943 * Makefile.in (MAKE_VERSION): bump version to 20110818 944 Merge with NetBSD make, pick up 945 o in meta mode, if target flagged .META a missing .meta file 946 means target is out-of-date 947 o fixes for gcc 4.5 warnings 948 o simplify job printing code 949 9502011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 951 952 * Makefile.in (MAKE_VERSION): bump version to 20110808 953 Merge with NetBSD make, pick up 954 o do not touch OP_SPECIAL targets when doing make -t 955 9562011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 957 958 * Makefile.in (MAKE_VERSION): bump version to 20110622 959 Merge with NetBSD make, pick up 960 o meta_oodate detect corrupted .meta file and declare oodate. 961 * configure.in: add check for setsid 962 9632011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 964 965 * Merge with NetBSD make, pick up 966 o unit-tests/modts now works on MirBSD 967 9682011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 969 970 * Makefile.in (MAKE_VERSION): bump version to 20110606 971 Merge with NetBSD make, pick up 972 o ApplyModifiers: when we parse a variable which is not 973 the entire modifier string, or not followed by ':', do not 974 consider it as containing modifiers. 975 o loadfile: ensure newline at end of mapped file. 976 9772011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 978 979 * Makefile.in (MAKE_VERSION): bump version to 20110505 980 Merge with NetBSD make, pick up 981 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 982 of make's control. In meta mode, any generated file within 983 said bailiwick, which is found to be missing, causes current 984 target to be out-of-date. 985 9862011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 987 988 * Makefile.in (MAKE_VERSION): bump version to 20110411 989 Merge with NetBSD make, pick up 990 o when long modifiers fail to match, check sysV style. 991 - add a test case 992 9932011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 994 995 * Makefile.in (MAKE_VERSION): bump version to 20110410 996 Merge with NetBSD make, pick up 997 o :hash - cheap 32bit hash of value 998 o :localtime, :gmtime - use value as format string for strftime. 999 10002011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1001 1002 * Makefile.in (MAKE_VERSION): bump version to 20110330 1003 mostly because its a cooler version. 1004 Merge with NetBSD make, pick up 1005 o NetBSD tags for meta.[ch] 1006 o job.c call meta_job_finish() after meta_job_error(). 1007 o meta_job_error() should call meta_job_finish() to ensure 1008 .meta file is closed, and safe to copy - if .ERROR target wants. 1009 meta_job_finish() is safe to call repeatedly. 1010 10112011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1012 1013 * unit-tests/modts: use printf if it is a builtin, 1014 to save us from MirBSD 1015 1016 * Makefile.in (MAKE_VERSION): bump version to 20110329 1017 Merge with NetBSD make, pick up 1018 o fix for use after free() in CondDoExists(). 1019 o meta_oodate() report extra commands and return earlier. 1020 10212011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 1022 1023 * Makefile.in (MAKE_VERSION): bump version to 20110327 1024 Merge with NetBSD make, pick up 1025 o meta.c, if .MAKE.MODE contains curdirOk=yes 1026 allow creating .meta files in .CURDIR 1027 * boot-strap (TOOL_DIFF): aparently at least on linux distro 1028 formats the output of 'type' differently - so eat any "()" 1029 10302011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 1031 1032 * Makefile.in (MAKE_VERSION): bump version to 20110306 1033 Merge with NetBSD make, pick up 1034 o meta.c, only do getcwd() once 1035 10362011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 1037 1038 * Makefile.in (MAKE_VERSION): bump version to 20110305 1039 Merge with NetBSD make, pick up 1040 o correct sysV substitution handling of empty lhs and variable 1041 o correct exists() check for dir with trailing / 1042 o correct handling of modifiers for non-existant variables 1043 during evaluation of conditionals. 1044 o ensure MAP_FILE is defined. 1045 o meta.c use curdir[] now exported by main.c 1046 10472011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 1048 1049 * Makefile.in (MAKE_VERSION): bump version to 20110225 1050 Merge with NetBSD make, pick up 1051 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 1052 makefiles have been read. 1053 o fix example of :? modifier in man page. 1054 10552011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 1056 1057 * Makefile.in (MAKE_VERSION): bump version to 20110214 1058 Merge with NetBSD make, pick up 1059 o meta.c handle realpath() failing when generating meta file 1060 name. 1061 1062 * sigcompat.c: convert to ansi so we can use higher warning levels. 1063 1064 10652011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 1066 1067 * Makefile.in (MAKE_VERSION): bump version to 20110207 1068 Merge with NetBSD make, pick up 1069 o fix for bug in meta mode. 1070 10712011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 1072 1073 * parse.c: SunOS 5.8 at least does not have MAP_FILE 1074 10752011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 1076 1077 * Makefile.in (MAKE_VERSION): bump version to 20110101 1078 Merge with NetBSD make, pick up 1079 o use mmap(2) if available, for reading makefiles 1080 10812010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 1082 1083 * Makefile.in (MAKE_VERSION): bump version to 20101215 1084 Merge with NetBSD make, pick up 1085 o ensure meta_job_error() does not report a previous .meta file 1086 as being culprit. 1087 10882010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 1089 1090 * Makefile.in (MAKE_VERSION): bump version to 20101210 1091 Merge with NetBSD make, pick up 1092 o meta_oodate: track cwd per process, and only consider target 1093 out-of-date if missing file is outside make's CWD. 1094 Ignore files in /tmp/ etc. 1095 o to ensure unit-tests results match, need to control LC_ALL 1096 as well as LANG. 1097 o fix for parsing bug in var.c 1098 10992010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1100 1101 * Makefile.in (MAKE_VERSION): bump version to 20101126 1102 Merge with NetBSD make, pick up 1103 o if stale dependency is an IMPSRC, search via .PATH 1104 o meta_oodate: if a referenced file is missing, target is 1105 out-of-date. 1106 o meta_oodate: if a target uses .OODATE in its commands, 1107 it (.OODATE) needs to be recomputed. 1108 o keep a pointer to youngest child node, rather than just its 1109 mtime. 1110 11112010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 1112 1113 * Makefile.in (MAKE_VERSION): bump version to 20101101 1114 11152010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 1116 1117 * machine.sh: like os.sh, 1118 allow for uname -p producing useless drivel 1119 11202010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 1121 1122 * boot-strap: document configure knobs for meta and filemon. 1123 1124 * Makefile.in (MAKE_VERSION): bump version to 20100911 1125 Merge with NetBSD make, pick up 1126 o meta.c - meta mode 1127 1128 * make-bootstrap.sh.in: handle meta.c 1129 * configure.in: add knobs for use_meta and filemon_h 1130 also, look for dirname, str[e]sep and strlcpy 1131 * util.c: add simple err[x] and warn[x] 1132 11332010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1134 1135 * boot-strap (TOOL_DIFF): set this to ensure tests use 1136 the same version of diff that configure tested 1137 1138 * Makefile.in (MAKE_VERSION): bump version to 20100808 1139 Merge with NetBSD make, pick up 1140 o in jobs mode, when we discover we cannot make something, 1141 call PrintOnError before exit. 1142 11432010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 1144 1145 * Makefile.in (MAKE_VERSION): bump version to 20100806 1146 Merge with NetBSD make, pick up 1147 o formatting fixes for ignored errors 1148 o ensure jobs are cleaned up regardless of where wait() was called. 1149 11502010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1151 1152 * Makefile.in (MAKE_VERSION): bump version to 20100618 1153 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 1154 11552010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1156 1157 * Makefile.in (MAKE_VERSION): bump version to 20100616 1158 Merge with NetBSD make, pick up 1159 o man page update 1160 o call PrintOnError from JobFinish when we detect an error we 1161 are not ignoring. 1162 11632010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1164 1165 * Makefile.in (MAKE_VERSION): bump version to 20100606 1166 Merge with NetBSD make, pick up 1167 o man page update 1168 11692010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 1170 1171 * Makefile.in (MAKE_VERSION): bump version to 20100605 1172 Merge with NetBSD make, pick up 1173 o use bmake_signal() which is a wrapper around sigaction() 1174 in place of signal() 1175 o add .export-env to allow exporting variables to environment 1176 without tracking (so no re-export when the internal value is 1177 changed). 1178 11792010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1180 1181 * Makefile.in (MAKE_VERSION): bump version to 20100524 1182 Merge with NetBSD make, pick up 1183 o fix for .info et al being greedy. 1184 11852010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 1186 1187 * Makefile.in (MAKE_VERSION): bump version to 20100520 1188 Merge with NetBSD make, pick up 1189 o back to using realpath on argv[0] 1190 but only if contains '/' and does not start with '/'. 1191 11922010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1193 1194 * boot-strap: use absolute path for bmake when running tests. 1195 1196 * Makefile.in (MAKE_VERSION): bump version to 20100510 1197 Merge with NetBSD make, pick up 1198 o revert use of realpath on argv[0] 1199 too many corner cases. 1200 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 1201 12022010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1203 1204 * Makefile.in (MAKE_VERSION): bump version to 20100505 1205 Merge with NetBSD make, pick up 1206 o fix for missed SIGCHLD when compiled with SunPRO 1207 actually for bmake, defining FORCE_POSIX_SIGNALS would have 1208 done the job. 1209 12102010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1211 1212 * Makefile.in (MAKE_VERSION): bump version to 20100430 1213 Merge with NetBSD make, pick up 1214 o fflush stdout before writing to stdout 1215 12162010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 1217 1218 * Makefile.in (MAKE_VERSION): bump version to 20100423 1219 Merge with NetBSD make, pick up 1220 o updated unit tests for Haiku (this time for sure). 1221 * boot-strap: based on patch from joerg 1222 honor --with-default-sys-path better. 1223 * boot-strap: remove mention of --with-prefix-sys-path 1224 12252010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1226 1227 * Makefile.in (MAKE_VERSION): bump version to 20100422 1228 * Merge with NetBSD make, pick up 1229 o fix for vfork() on Darwin. 1230 o fix for bogus $TMPDIR. 1231 o set .MAKE.MODE=compat for -B 1232 o set .MAKE.JOBS=max_jobs for -j max_jobs 1233 o allow unit-tests to run without any *.mk 1234 o unit-tests/modmisc be more conservative in dirs presumed to exist. 1235 * boot-strap: ignore /usr/share/mk except on NetBSD. 1236 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 1237 ensure sort(1) behaves as expected. 1238 12392010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1240 1241 * boot-strap: add FindHereOrAbove so we can use -m .../mk 1242 12432010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1244 1245 * Makefile.in (MAKE_VERSION): bump version to 20100420 1246 * Merge with NetBSD make, pick up 1247 o fix for variable realpath() behavior. 1248 we have to stat(2) the result to be sure. 1249 o fix for .export (all) when nested vars use :sh 1250 12512010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 1252 1253 * Makefile.in (MAKE_VERSION): bump version to 20100414 1254 * Merge with NetBSD make, pick up 1255 o use realpath to resolve argv[0] (for .MAKE) if needed. 1256 o add realpath from libc. 1257 o add :tA to resolve variable via realpath(3) if possible. 1258 12592010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 1260 1261 * Makefile.in (MAKE_VERSION): bump version to 20100408 1262 * Merge with NetBSD make, pick up 1263 o unit tests for .ERROR, .error 1264 o fix for .ERROR to ensure it cannot be default target. 1265 12662010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 1267 1268 * Makefile.in (MAKE_VERSION): bump version to 20100406 1269 * Merge with NetBSD make, pick up 1270 o fix for compat mode "Error code" going to debug_file. 1271 o fix for .ALLSRC being populated twice. 1272 o support for .info, .warning and .error directives 1273 o .MAKE.MODE to control make's operational mode 1274 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 1275 name(s). 1276 o .MAKE.DEPENDFILE to control the name of the depend file 1277 o .ERROR target - run on failure. 1278 12792010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1280 1281 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 1282 1283 * os.sh,arch.c: patch for Haiku from joerg at netbsd 1284 12852010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 1286 1287 * Makefile.in (MAKE_VERSION): bump version to 20100222 1288 * Merge with NetBSD make, pick up 1289 o better error msg for .for with mutiple inter vars 1290 1291 * boot-strap: 1292 o use make-bootstrap.sh from joerg at netbsd 1293 to avoid the need for a native make when bootstrapping. 1294 o add "" everywhere ;-) 1295 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 1296 otherwise the pre-formated version. 1297 12982010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1299 1300 * Makefile.in (MAKE_VERSION): bump version to 20100102 1301 * Merge with NetBSD make, pick up: 1302 o fix for -m .../ 1303 13042009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 1305 1306 * Makefile.in (MAKE_VERSION): bump version to 20091118 1307 * Merge with NetBSD make, pick up: 1308 o .unexport 1309 o report lines that start with '.' and should have ':' 1310 (catch typo's of .el*if). 1311 13122009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1313 1314 * configure.in: Ensure that srcdir and mksrc are absolute paths. 1315 13162009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1317 1318 * Makefile.in (MAKE_VERSION): fix version to 20091007 1319 13202009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 1321 1322 * Makefile.in (MAKE_VERSION): bump version to 200910007 1323 * Merge with NetBSD make, pick up: 1324 o fix for parsing of :S;...;...; applied to .for loop iterator 1325 appearing in a dependency line. 1326 13272009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1328 1329 * Makefile.in (MAKE_VERSION): bump version to 20090909 1330 * Merge with NetBSD make, pick up: 1331 o fix for -C, .CURDIR and .OBJDIR 1332 * boot-strap: 1333 o allow share_dir to be set independent of prefix. 1334 o select default share_dir better when prefix ends in $HOST_TARGET 1335 o if FORCE_BSD_MK etc were set, include them in the suggested 1336 install-mk command. 1337 13382009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1339 1340 * Makefile.in (MAKE_VERSION): bump version to 20090908 1341 * Merge with NetBSD make, pick up: 1342 o .MAKE.LEVEL for recursion tracking 1343 o fix for :M scanning \: 1344 13452009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1346 1347 * configure.in: Don't -D__EXTENSIONS__ if 1348 AC_USE_SYSTEM_EXTENSIONS says "no". 1349 13502009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 1351 1352 * Makefile.in (MAKE_VERSION): bump version to 20090826 1353 Simplify MAKE_VERSION to just the bare date. 1354 * Merge with NetBSD make, pick up: 1355 o -C directory support. 1356 o support for SIGINFO 1357 o use $TMPDIR for temp files. 1358 o child of vfork should be careful about modifying parent's state. 1359 1360 13612009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1362 1363 * Appy some patches for MiNT from David Brownlee 1364 13652009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 1366 1367 * Makefile.in (BMAKE_VERSION): bump version to 20090222 1368 * Merge with NetBSD make, pick up: 1369 o Possible null pointer de-ref in Var_Set. 1370 13712009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 1372 1373 * Makefile.in (BMAKE_VERSION): bump version to 20090204 1374 * Merge with NetBSD make, pick up: 1375 o bmake_malloc et al moved to their own .c 1376 o Count both () and {} when looking for the end of a :M pattern 1377 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 1378 o strlist.c - functions for processing extendable arrays of pointers to strings. 1379 o ClientData replaced with void *, so const void * can be used. 1380 o New debug flag C for DEBUG_CWD 1381 13822008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1383 1384 * Makefile.in (BMAKE_VERSION): bump version to 20081111 1385 Apply patch from Joerg Sonnenberge to 1386 configure.in: 1387 o remove some redundant checks 1388 o check for emlloc etc only in libutil and require the whole family. 1389 util.c: 1390 o remove [v]asprintf which is no longer used. 1391 13922008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1393 1394 * Makefile.in (BMAKE_VERSION): bump version to 20081101 1395 * Merge with NetBSD make, pick up: 1396 o util.c: avoid use of putenv() - christos 1397 13982008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1399 1400 * Makefile.in (BMAKE_VERSION): bump version to 20081030 1401 pick up man page tweaks. 1402 14032008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 1404 1405 * Makefile.in: move processing of LIBOBJS to after is definition! 1406 thus we'll have getenv.c in SRCS only if needed. 1407 1408 * make.1: add examples of how to use :? 1409 1410 * Makefile.in (BMAKE_VERSION): bump version to 20081029 1411 * Merge with NetBSD make, pick up: 1412 o fix for .END processing with -j 1413 o segfault from Parse_Error when no makefile is open 1414 o handle numeric expressions in any variable expansion 1415 o debug output now defaults to stderr, -dF to change it - apb 1416 o make now uses bmake_malloc etc so that it can build natively 1417 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 1418 14192008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 1420 1421 * Makefile.in (BMAKE_VERSION): bump version to 20080808 1422 * Merge with NetBSD make, pick up: 1423 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 1424 long lines in Makefiles 1425 o optimizations for VarQuote by joerg 1426 o fix for PR/38756: dominik: make dumps core on invalid makefile 1427 14282008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 1429 1430 * Makefile.in (BMAKE_VERSION): bump version to 20080515 1431 * Merge with NetBSD make, pick up: 1432 o fix skip setting vars in VAR_GLOBAL context, to handle 1433 cases where VAR_CMD is used for other than command line vars. 1434 14352008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 1436 1437 * boot-strap (make_version): we may need to look in 1438 $prefix/share/mk for sys.mk 1439 1440 * Makefile.in (BMAKE_VERSION): bump version to 20080514 1441 * Merge with NetBSD make, pick up: 1442 o skip setting vars in VAR_GLOBAL context, when already set in 1443 VAR_CMD which takes precedence. 1444 14452008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 1446 1447 * Makefile.in (BMAKE_VERSION): bump version to 20080330 1448 * Merge with NetBSD make, pick up: 1449 o fix for ?= when LHS contains variable reference. 1450 14512008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1452 1453 * merge some patches from NetBSD pkgsrc. 1454 1455 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 1456 the MAKSYSPATH used during bootstrap. 1457 1458 * Makefile.in (BMAKE_VERSION): bump version to 20080215 1459 * Merge with NetBSD make, pick up: 1460 o warn if non-space chars follow 'empty' in a conditional. 1461 14622008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1463 1464 * Makefile.in (BMAKE_VERSION): bump version to 20080118 1465 * Merge with NetBSD make, pick up: 1466 o consider dependencies read from .depend as optional - dsl 1467 o remember when buffer for reading makefile grows - dsl 1468 o add -dl (aka LOUD) - David O'Brien 1469 14702007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 1471 1472 * Makefile.in (BMAKE_VERSION): bump version to 20071022 1473 * Merge with NetBSD make, pick up: 1474 o Allow .PATH<suffix> to be used for .include "" 1475 1476 * boot-strap: source default settings from .bmake-boot-strap.rc 1477 14782007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 1479 1480 * Makefile.in: fix maninstall on various systems 1481 provided that our man.mk is used. 1482 For non-BSD systems we install the preformatted page 1483 into $MANDIR/cat1 1484 14852007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 1486 1487 * boot-strap: make bmake.1 too, so maninstall works. 1488 14892007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 1490 1491 * Makefile.in (BMAKE_VERSION): bump version to 20071014 1492 * Merge with NetBSD make, pick up: 1493 o revamped handling of defshell - configure no longer needs to 1494 know the content of the shells array - apb 1495 o stop Var_Subst modifying its input - apb 1496 o avoid calling ParseTrackInput too often - dsl 1497 14982007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 1499 1500 * Makefile.in (BMAKE_VERSION): bump version to 20071011 1501 * Merge with NetBSD make, pick up: 1502 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 1503 1504 * sigcompat.c: some tweaks for HP-UX 11.x based on 1505 patch from Tobias Nygren 1506 1507 * configure.in: update handling of --with-defshell to match 1508 new make behavior. --with-defshell=/usr/xpg4/bin/sh 1509 will now do what one might hope - provided the chosen shell 1510 behaves enough like sh. 1511 15122007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 1513 1514 * Makefile.in (BMAKE_VERSION): bump to 20071008 1515 * Merge with NetBSD make, pick up: 1516 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 1517 o .export/.MAKE.EXPORTED - export of variables - sjg 1518 o .MAKE.MAKEFILES - track all makefiles read - sjg 1519 o performance improvements - dsl 1520 o revamp parallel job scheduling - dsl 1521 15222006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1523 1524 * Makefile.in (BMAKE_VERSION): bump to 20060728 1525 * Merge with NetBSD make, pick up: 1526 o extra debug info during variable and cond processing - sjg 1527 o shell definition now covers newline - rillig 1528 o minor mem leak in PrintOnError - sjg 1529 15302006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1531 1532 * Makefile.in (BMAKE_VERSION): bump to 20060511 1533 * Merge with NetBSD make, pick up: 1534 o more memory leaks - coverity 1535 o possible overflow in ArchFindMember - coverity 1536 o extract variable modifier code out of Var_Parse() 1537 so it can be called recursively - sjg 1538 o unit-tests/moderrs - sjg 1539 15402006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 1541 1542 * Makefile.in (BMAKE_VERSION): bump to 20060412 1543 * Merge with NetBSD make, pick up: 1544 o fixes for some memory leaks - coverity 1545 o only read first sys.mk etc when searching sysIncPath - sjg 1546 1547 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 1548 setting ${MAKEFILE} - OBATA Akio 1549 15502006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1551 1552 * Makefile.in (BMAKE_VERSION): bump to 20060318 1553 * Merge with NetBSD make, pick up: 1554 o cleanup of job.c to remove remote handling, distcc is more 1555 useful and this code was likely bit-rotting - dsl 1556 o fix for :P modifier - sjg 1557 * boot-strap: set default prefix to something reasonable 1558 (for me anyway). 1559 15602006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1561 1562 * Makefile.in (BMAKE_VERSION): bump to 20060301 1563 * Merge with NetBSD make, pick up: 1564 o make .WAIT apply recursively, document and test case - apb 1565 o allow variable modifiers in a variable appear anywhere in 1566 modifier list, document and test case - sjg 1567 15682006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 1569 1570 * Makefile.in (BMAKE_VERSION): bump to 20060222 1571 * Merge with NetBSD make, pick up: 1572 o improved job token handling - dsl 1573 o SIG_DFL the correct signal before exec - dsl 1574 o more debug info during parsing - dsl 1575 o allow variable modifiers to be specified via variable - sjg 1576 * boot-strap: explain why we died if no mksrc 1577 15782005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 1579 1580 * Makefile.in (BMAKE_VERSION): bump to 20051105 1581 * configure.in: always set default_sys_path 1582 default is ${prefix}/share/mk 1583 - remove prefix_sys_path, anyone wanting more than above 1584 needs to set it manually. 1585 15862005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1587 1588 * boot-strap: make this a bit easier for pkgsrc folk. 1589 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 1590 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 1591 15922005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 1593 1594 * Makefile.in (BMAKE_VERSION): bump to 20051102 1595 * job.c (JobFinish): fix likely ancient merge lossage 1596 fix from Todd Vierling. 1597 * boot-strap (srcdir): allow setting mksrc=none 1598 15992005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 1600 1601 * Makefile.in (BMAKE_VERSION): bump to 20051031 1602 * ranlib.h: skip on OSF too. 1603 (NetBSD PR 31864) 1604 16052005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 1606 1607 * Makefile.in (BMAKE_VERSION): bump to 20051002 1608 fix a silly typo 1609 16102005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1611 1612 * Makefile.in (BMAKE_VERSION): bump to 20051001 1613 support for UnixWare and some other systems, 1614 based on patches from pkgsrc/bootstrap 1615 16162005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1617 1618 * Makefile.in (BMAKE_VERSION): bump to 20050901 1619 * Merge with NetBSD make, pick up: 1620 o possible parse error causing us to wander off. 1621 16222005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 1623 1624 * Makefile.in (BMAKE_VERSION): bump to 20050606 1625 * Merge with NetBSD make, pick up: 1626 o :0x modifier for randomizing a list 1627 o fixes for a number of -Wuninitialized issues. 1628 16292005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 1630 1631 * Makefile.in (BMAKE_VERSION): bump to 20050530 1632 * Merge with NetBSD make, pick up: 1633 o Handle dependencies for .BEGIN, .END and .INTERRUPT 1634 1635 * README: was seriously out of date. 1636 16372005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1638 1639 * Important to use .MAKE rather than MAKE. 1640 16412005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 1642 1643 * Makefile.in (BMAKE_VERSION): bump to 20050315 1644 * Merge with NetBSD make, pick up: 1645 o don't mistake .elsefoo for .else 1646 o use suffix-specific search path correctly 1647 o bunch of style nits 1648 16492004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1650 1651 * boot-strap: 1652 o ensure that args to --src and --with-mksrc 1653 are resolved before giving them to configure. 1654 o add -o "objdir" so that builder can control it, 1655 default is $OS as determined by os.sh 1656 o add -q to suppress all the install instructions. 1657 16582004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 1659 1660 * Remove __IDSTRING() 1661 1662 * Makefile.in (BMAKE_VERSION): bump to 20040508 1663 * Merge with NetBSD make, pick up: 1664 o posix fixes 1665 - remove '-e' from compat mode 1666 - add support for '+' command-line prefix. 1667 o fix for handling '--' on command-line. 1668 o fix include in lst.lib/lstInt.h to simplify '-I's 1669 o we also picked up replacement of MAKE_BOOTSTRAP 1670 with !MAKE_NATIVE which is a noop, but possibly confusing. 1671 16722004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 1673 1674 * Makefile.in (BMAKE_VERSION): bump to 20040414 1675 * Merge with NetBSD make, pick up: 1676 o allow quoted strings on lhs of conditionals 1677 o issue warning when extra .else is seen 1678 o print line numer when errors encountered during parsing from 1679 string. 1680 16812004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 1682 1683 * Makefile.in (BMAKE_VERSION): bump to 20040220 1684 * Merge with NetBSD make, pick up: 1685 o fix for old :M parsing bug. 1686 o re-jigged unit-tests 1687 16882004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1689 1690 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 1691 so that './bmake -f Makefile test' works. 1692 16932004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1694 1695 * Makefile.in: (BMAKE_VERSION): bump to 20040214 1696 * Merge with NetBSD make, pick up: 1697 o search upwards for *.mk 1698 o fix for double free of var substitution buffers 1699 o use of getopt replaced with custom code, since the usage 1700 (re-scanning) isn't posix compatible. 1701 17022004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 1703 1704 * arch.c: don't include ranlib.h on ELF systems 1705 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 1706 17072004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1708 1709 * Makefile.in (BMAKE_VERSION): bump to 20040118 1710 1711 * boot-strap (while): export vars we assign to on cmdline 1712 * unit-test/Makefile.in: ternary is .PHONY 1713 17142004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 1715 1716 * Makefile.in (BMAKE_VERSION): bump version to 20040108 1717 * Merge with NetBSD make, pick up: 1718 o fix for ternary modifier 1719 17202004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 1721 1722 * Makefile.in (BMAKE_VERSION): bump version to 20040105 1723 * Merge with NetBSD make, pick up: 1724 o fix for cond.c to handle compound expressions better 1725 o variable expansion within sysV style replacements 1726 17272003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 1728 1729 * Make portable snprintf safer - output to /dev/null first to 1730 check space needed. 1731 1732 * Makefile.in (BMAKE_VERSION): bump version to 20031222 1733 * Merge with NetBSD make, pick up: 1734 o -dg3 to show input graph when things go wrong. 1735 o explicitly look for makefiles in objdir if not found in curdir so 1736 that errors in .depend etc will be reported accurarely. 1737 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 1738 instead as it more accurately reflects the expected behavior and 1739 is more consistently implemented. 1740 o avoid use of asprintf. 1741 17422003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1743 1744 * util.c: Add asprintf and vasprintf. 1745 1746 * Makefile.in (BMAKE_VERSION): bump version to 20030928 1747 * Merge with NetBSD make, pick up: 1748 :[] modifier - allows picking words from a variable. 1749 :tW modifier - allows treating value as one big word. 1750 W flag for :C and :S - allows treating value as one big word. 1751 17522003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 1753 1754 * Merge with NetBSD make 1755 pick up -de flag to enable printing failed command. 1756 don't skip 1st two dir entries (normally . and ..) since 1757 coda does not have them. 1758 17592003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1760 1761 * Makefile.in (BMAKE_VERSION): bump version to 20030909 1762 * Merge with NetBSD make, pick up: 1763 - changes for -V '${VAR}' to print fully expanded value 1764 cf. -V VAR 1765 - CompatRunCommand now prints the command that failed. 1766 - several files got updated 3 clause Berkeley license. 1767 17682003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 1769 1770 * boot-strap: Allow setting configure args on command line. 1771 17722003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1773 1774 * configure.in: add --with-defshell to allow sh or ksh 1775 to be selected as default shell. 1776 1777 * Makefile.in: bump version to 20030731 1778 1779 * Merge with NetBSD make 1780 Pick up .SHELL spec for ksh and associate man page changes. 1781 Also compat mode now uses the same shell specs. 1782 17832003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 1784 1785 * var.c (Var_Parse): ensure delim is initialized. 1786 1787 * unit-tests/Makefile.in: use single quotes to avoid problems from 1788 some shells. 1789 1790 * makefile.boot.in: 1791 Run the unit-tests as part of the bootstrap procedure. 1792 17932003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1794 1795 * unit-tests/Makefile.in: always force complaints from 1796 ${TEST_MAKE} to be from 'make'. 1797 1798 * configure.in: add check for 'diff -u' 1799 also fix some old autoconf'isms 1800 1801 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 1802 if using GCC add -Wno-cast-qual to CFLAGS for var.o 1803 1804 * Merge with NetBSD make 1805 Pick up fix for :ts parsing error in some cases. 1806 Pick unit-tests. 1807 18082003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 1809 1810 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 1811 1812 * var.c (Var_Parse): fix bug in :ts modifier, after const 1813 correctness fixes, must pass nstr to VarModify. 1814 18152003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 1816 1817 * Makefile.in: BMAKE_VERSION switch to a date based version. 1818 We'll generally use the date of last import from NetBSD. 1819 1820 * Merge with NetBSD make 1821 Pick up fixes for const-correctness, now passes WARNS=3 on 1822 NetBSD. 1823 Pick up :ts modifier, allows controlling the separator used 1824 between words in variable expansion. 1825 18262003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 1827 1828 * FILES: include boot-strap and os.sh 1829 1830 * Makefile.in: only set WARNS if we are NetBSD, the effect on 1831 FreeBSD is known to be bad. 1832 1833 * makefile.boot.in (bootstrap): make this the default target. 1834 1835 * Makefile.in: bump version to 3.1.19 1836 1837 * machine.sh: avoid A-Z with tr as it is bound to lose. 1838 18392003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 1840 1841 * Merge with NetBSD make 1842 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 1843 Plus some doc fixes. 1844 18452003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 1846 1847 * Merge with NetBSD make 1848 Pick up fix for PR/1523 - don't count a library as built, if there 1849 is no way to build it 1850 1851 * Bump version to 3.1.18 1852 18532003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 1854 1855 * Merge with NetBSD make 1856 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 1857 appears in src list. 1858 18592003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 1860 1861 * Merge with NetBSD make (mmm 10th anniversary!) 1862 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 1863 pick up -X which tells us to not export VAR=val via setenv if 1864 we are already doing so via MAKEFLAGS. This saves valuable env 1865 space on systems like Darwin. 1866 set MAKE_VERSION to 3.1.17 1867 1868 * parse.c: pix up fix for suffix rules 1869 18702003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 1871 1872 * Merge with NetBSD make. 1873 pick up fix for propagating -B via MAKEFLAGS. 1874 set MAKE_VERSION to 3.1.16 1875 1876 * Apply some patches from pkgsrc-bootstrap/bmake 1877 Originally by Grant Beattie <grant@netbsd.org> 1878 I may have missed some - since they are based on bmake-3.1.12 1879 18802002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 1881 1882 * makefile.boot.in (bmake): update install targets for those that 1883 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 1884 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 1885 1886 * bmake.cat1: update the pre-formatted man page! 1887 18882002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 1889 1890 * Merge with NetBSD make. 1891 pick up fix for premature free of pointer used in call 1892 to Dir_InitCur(). 1893 set MAKE_VERSION to 3.1.15 1894 18952002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 1896 1897 * configure.in: determine suitable value for MKSRC. 1898 override using --with-mksrc=PATH. 1899 1900 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 1901 configs(8) will use 'sun4' as an alias for 'sparc'. 1902 19032002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1904 1905 * Merge with NetBSD make. 1906 pick up ${.PATH} 1907 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 1908 set MAKE_VERSION to 3.1.14 1909 add configure checks for killpg and sys/socket.h 1910 19112002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 1912 1913 * tag bmake-3-1-13 1914 1915 * makefile.boot.in (bmake): use install-mk 1916 Also setup ./mk before trying to invoke bmake.boot incase we 1917 needed install-mk to create a sys.mk for us. 1918 1919 * configure.in: If we need to add -I${srcdir}/missing, make it an 1920 absolute path so that it works for lst.lib too. 1921 1922 * make.h: always include sys/cdefs.h since we provide one if the 1923 host does not. 1924 1925 * Makefile.in (install-mk): 1926 use MKSRC/install-mk which will do the right thing. 1927 use uname -p for ARCH if possible. 1928 since install-mk will setup links bsd.prog.mk -> prog.mk if 1929 needed, just .include bsd.prog.mk 1930 1931 * Merge with NetBSD make (NetBSD-1.6) 1932 Code is ansi-C only now. 1933 Bug in handling of dotLast is fixed. 1934 Can now assign .OBJDIR and make will reset its notions of life. 1935 New modifiers :tu :tl for toUpper and toLower. 1936 1937Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 1938 1939 * Merge with NetBSD make 1940 pick up fix for .END failure in compat mode. 1941 pick up fix for extra va_end() in ParseVErrorInternal. 1942 1943Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 1944 1945 * configure.in: for systems that have sys/cdefs.h check if it is 1946 compatible. If not, include the one under missing, but tell it to 1947 include the native one too - necessary on Linux. 1948 1949 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 1950 include_next (for gcc) to get the native sys/cdefs.h 1951 1952Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1953 1954 * job.c (JobFinish): Fix an earlier merge bug that resulted in 1955 leaking descriptors when using -jN. 1956 1957 * job.c (JobPrintCommand): See if "curdir" exists before 1958 attempting to chdir(). Doing the chdir directly in make (when in 1959 compat mode) fails silently, so let the -jN version do the same. 1960 This can happen when building kernels in an object tree and 1961 playing clever games to reset .CURDIR. 1962 1963 * Merged with NetBSD make 1964 pick up .USEBEFORE 1965 1966Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1967 1968 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 1969 1970Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1971 1972 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 1973 us not to export the iterator variable when using VAR_CMD context. 1974 1975Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1976 1977 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 1978 its the wrong "fix". 1979 1980Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1981 1982 * Redesigned export of VAR_CMD's via MAKEFLAGS. 1983 We now simply append the variable names to .MAKEOVERRIDES, and 1984 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 1985 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 1986 Apart from fixing quoting bugs in previous version, this allows us 1987 to export vars to the environment by simply doing: 1988 .MAKEOVERRIDES+= PATH 1989 Merged again with NetBSD make, but the above is the only change. 1990 1991 * configure.in: added 1992 --disable-pwd-override disable $PWD overriding getcwd() 1993 --disable-check-make-chdir disable make trying to guess 1994 when it should automatically cd ${.CURDIR} 1995 1996 * Merge with NetBSD make, changes include: 1997 parse.c (ParseDoDependency): Spot that the syntax error is 1998 caused by an unresolved cvs/rcs conflict and say so. 1999 var.c: most of Var* functions now take a ctxt as 1st arg. 2000 now does variable substituion on rhs of sysv style modifiers. 2001 2002 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 2003 is now done here. We append the name='value' to .MAKEOVERRIDES 2004 rather than directly into MAKEFLAGS as this allows a Makefile to 2005 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 2006 very similar mechanism. Note that in adding name='value' to 2007 .MAKEOVERRIDES we do the moral equivalent of: 2008 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 2009 2010Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2011 2012 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 2013 2014 * Merged with NetBSD make 2015 make -dx can now be used to run commands via sh -x 2016 better error messages on exec failures. 2017 2018Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2019 2020 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 2021 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 2022 MACHINE etc otherwise they propagate from the previous bmake. 2023 2024 * configure.in (machine): allow --with-machine=generic to make 2025 configure use machine.sh to set MACHINE. 2026 2027 * job.c (JobInterrupt): convert to using WAIT_T and friends. 2028 2029 * Makefile.in: mention in bmake.1 that we use autoconf. 2030 2031 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 2032 2033Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2034 2035 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 2036 as that rather defeats the usefulness of ${MAKEFILE}. 2037 2038 * main.c (MainParseArgs): append command line variable assignments 2039 to MAKEFLAGS so that they get propagated to child make's. 2040 Apparently this is required POSIX behaviour? Its useful anyway. 2041 2042Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2043 2044 * compat.c (CompatRunCommand): don't use perror() since stdio may 2045 cause problems in child of vfork(). 2046 2047 * compat.c, main.c: Call PrintOnError() when we are going to bail. 2048 This routine prints out the .curdir where we stopped and will also 2049 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 2050 2051 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 2052 :@ expansion. 2053 2054 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 2055 2056 * Added RCSid's for the files we've touched. 2057 2058Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2059 2060 * configure.in: Thanks to some clues from mdb@juniper.net, 2061 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 2062 as well as what ends up in _PATH_DEFSYSPATH. We now have: 2063 2064 --with-machine=MACHINE explicitly set MACHINE 2065 --with-force-machine=MACHINE set FORCE_MACHINE 2066 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 2067 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 2068 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 2069 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 2070 2071 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 2072 2073 * makefile: added a pathetically simple makefile to drive 2074 bootstrapping. Running configure by hand is more useful. 2075 2076 * Makefile.in: added MAKE_VERSION, and reworked things to be less 2077 dependent on NetBSD bsd.*.mk 2078 2079 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 2080 _PATH_OBJDIRPREFIX for those that don't want a default. 2081 construct _PATH_DEFSYSPATH from the info we get from configure. 2082 2083 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 2084 if MAKE_VERSION is defined. 2085 2086 * compat.c: when we bail, print out the .CURDIR we were in. 2087 2088Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2089 2090 * Merged with NetBSD make 2091 2092 * var.c: fixed a bug in the handling of the modifier :P 2093 if the node as found but the path was null, we segfault trying to 2094 duplicate it. 2095 2096Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2097 2098 * Merged with NetBSD make 2099 2100 * make.c: Make_OODate's test for a library out of date was using 2101 cmtime where it should have used mtime (my bug). 2102 2103 * compat.c: Use perror() to tell us what really went wrong when we 2104 cannot exec a command. 2105 2106Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2107 2108 * Merged with NetBSD make 2109 2110Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2111 2112 * Merged with NetBSD make 2113 2114Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2115 2116 * Merged with NetBSD make 2117 2118Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2119 2120 * Merged with NetBSD make 2121 2122Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2123 2124 * util.c: don't provide signal() since we use sigcompat.c 2125 2126 * Makefile.in: added a build target. 2127 2128 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 2129 These allow some quite clever magic. 2130 2131 * main.c (main): added support for getenv(MAKESYSPATH). 2132 2133Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2134 2135 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 2136 This avoids objdir having a different value depending on how a 2137 directory was reached (via command line, or subdir.mk). 2138 2139 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 2140 2141Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2142 2143 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 2144 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 2145 I've been testing this in NetBSD's make for some weeks. 2146 2147 * Turn Makefile into Makefile.in and make it useful. 2148 2149Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2150 2151 * Imported NetBSD's -current make(1) and resolve conflicts. 2152 2153 * Applied autoconf patches from bmake v2 2154 2155 * Imported clean code base from NetBSD-1.0 2156