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