12013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 2 3 * Makefile (MAKE_VERSION): 20130904 4 Merge with NetBSD make, pick up 5 o Add VAR_INTERNAL context, so that internal setting of 6 MAKEFILE does not override value set by makefiles. 7 82013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 9 10 * Makefile (MAKE_VERSION): 20130902 11 Merge with NetBSD make, pick up 12 o CompatRunCommand: only apply shellErrFlag when errCheck is true 13 142013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 15 16 * Makefile (MAKE_VERSION): 20130828 17 Merge with NetBSD make, pick up 18 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 19 o Call Job_SetPrefix() from Job_Init() so makefiles have 20 opportunity to set .MAKE.JOB.PREFIX 21 222013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 23 24 * Makefile (MAKE_VERSION): 20130730 25 Merge with NetBSD make, pick up 26 o Allow suppression of --- job -- tokens by setting 27 .MAKE.JOB.PREFIX empty. 28 292013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 30 31 * Makefile (MAKE_VERSION): 20130716 32 Merge with NetBSD make, pick up 33 o number of gmake compatability tweaks 34 -w for gmake style entering/leaving messages 35 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 36 handle MAKEFLAGS containing only letters. 37 o when overriding a GLOBAL variable on the command line, 38 delete it from GLOBAL context so -V doesn't show the wrong 39 value. 40 412013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 42 43 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 44 45 * Makefile (MAKE_VERSION): 20130706 46 Merge with NetBSD make, pick up 47 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 48 true so that CompatRunCommand() can use it, to ensure 49 consistent behavior with jobs mode. 50 o use MAKE_LEVEL_ENV to define the variable to propagate 51 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 52 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 53 paths to ignore. 54 552013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 56 57 * Makefile (MAKE_VERSION): 20130604 58 Merge with NetBSD make, pick up 59 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 60 to avoid leaking descriptors. 61 622013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 63 64 * Makefile (MAKE_VERSION): 20130528 65 Merge with NetBSD make, pick up 66 o var.c: cleanup some left-overs in VarHash() 67 682013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 69 70 * Makefile (MAKE_VERSION): 20130520 71 generate manifest from component FILES rather than have to 72 update FILES when mk/FILES changes. 73 742013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 75 76 * Makefile (MAKE_VERSION): 20130518 77 Merge with NetBSD make, pick up 78 o suff.c: don't skip all processsing for .PHONY targets 79 else wildcard srcs do not get expanded. 80 o var.c: expand name of variable to delete if necessary. 81 822013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 83 84 * Makefile (MAKE_VERSION): 20130330 85 Merge with NetBSD make, pick up 86 o meta.c: refine the handling of .OODATE in commands. 87 Rather than suppress command comparison for the entire script 88 as though .NOMETA_CMP had been used, only suppress it for the 89 one command line. 90 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 91 suppress comparison of a command without otherwise affecting it. 92 o make.1: document that 93 942013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 95 96 * Makefile (MAKE_VERSION): 20130321 97 yes, not quite right but its a cooler number. 98 Merge with NetBSD make, pick up 99 o parse.c: fix ParseGmakeExport to be portable 100 and add a unit-test. 101 * meta.c: call meta_init() before makefiles are read and if built 102 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 103 this let's makefiles test for support. 104 Call meta_mode_init() to process .MAKE.MODE. 105 1062013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 107 108 * Makefile (MAKE_VERSION): 20130305 109 Merge with NetBSD make, pick up 110 o run .STALE: target when a dependency from .depend is missing. 111 o job.c: add Job_RunTarget() for the above and .BEGIN 112 1132013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 114 115 * Makefile (MAKE_VERSION): 20130303 116 Merge with NetBSD make, pick up 117 o main.c: set .MAKE.OS to utsname.sysname 118 o job.c: more checks for read and poll errors 119 o var.c: lose VarChangeCase() saves 4% time 120 1212013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 122 123 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 124 want to use MAKEOBJDIR 125 1262013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 127 128 * Merge with NetBSD make, pick up 129 o make.1: more info on how shell commands are handled. 130 o job.c,main.c: detect write errors to job pipes. 131 1322013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 133 134 * Makefile (MAKE_VERSION): 20130123 135 Merge with NetBSD make, pick up 136 o meta.c: if script uses .OODATE and meta_oodate() decides 137 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 138 o var.c: in debug output indicate which variabale modifiers 139 apply to. 140 o remove Check_Cwd logic the makefiles have been fixed. 141 1422012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 143 144 * makefile.in: add a simple makefile for folk who insist on 145 ./configure; make; make install 146 it just runs boot-strap 147 * include mk/* to accommodate the above 148 * boot-strap: re-work to accommodate the above 149 mksrc defaults to $Mydir/mk 150 allow op={configure,build,install,clean,all} 151 add options to facilitate install 152 * Makefile.config.in: just the bits set by configure 153 * Makefile: bump version to 20121212 154 abandon Makefile.in (NetBSD Makefile) 155 leverage mk/* instead 156 * configure.in: ensure srcdir is absolute 157 1582012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 159 160 * Makefile.in (MAKE_VERSION): 20121111 161 fix generation of bmake.cat1 162 1632012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 164 165 * Makefile.in (MAKE_VERSION): 20121109 166 Merge with NetBSD make, pick up 167 o make.c: MakeBuildChild: return 0 so search continues if a 168 .ORDER dependency is detected. 169 o unit-tests/order: test the above 170 1712012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 172 173 * Makefile.in (MAKE_VERSION): 20121102 174 Merge with NetBSD make, pick up 175 o cond.c: allow cond_state[] to grow. 176 In meta mode with a very large tree, we can hit the limit 177 while processing dirdeps. 178 1792012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 180 181 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 182 1832012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 184 185 * Makefile.in (MAKE_VERSION): 20121010 186 o protect syntax that only bmake parses correctly. 187 o remove auto setting of FORCE_MACHINE, use configure's 188 --with-force-machine=whatever if that is desired. 189 1902012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 191 192 * Makefile.in: do not lose history from make.1 when generating bmake.1 193 1942012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 195 196 * Makefile.in (MAKE_VERSION): 20121007 197 Merge with NetBSD make, pick up 198 o compat.c: ignore empty commands - same as jobs mode. 199 o make.1: document meta chars that cause use of shell 200 2012012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 202 203 * Makefile.in (MAKE_VERSION): bump version to 20120911 204 * bsd.after-import.mk: include Makefile.inc early and allow it to 205 override PROG 206 2072012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 208 209 * Makefile.in (MAKE_VERSION): bump version to 20120831 210 Merge with NetBSD make, pick up 211 o cast sizeof() to int for comparison 212 o minor make.1 tweak 213 2142012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 215 216 * Makefile.in (MAKE_VERSION): bump version to 20120830 217 Merge with NetBSD make, pick up 218 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 219 o debug flag -dV causes -V to show raw value regardless. 220 2212012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 222 223 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 224 gets SRCTOP set. 225 2262012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 227 228 * Makefile.in (MAKE_VERSION): bump version to 20120704 229 Merge with NetBSD make, pick up 230 o Job_ParseShell should call Shell_Init if it has been 231 previously called. 232 * Makefile.in: set USE_META based on configure result. 233 also .PARSEDIR is safer indicator of bmake. 234 2352012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 236 237 * Makefile.in: bump version to 20120626 238 ensure CPPFLAGS is in CFLAGS 239 * meta.c: avoid nested externs 240 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 241 2422012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 243 244 * Makefile.in (MAKE_VERSION): bump version to 20120620 245 Merge with NetBSD make, pick up 246 o make_malloc.c: avoid including make_malloc.h again 247 248 * Makefile.in: avoid bmake only syntax or protect with 249 .if defined(.MAKE.LEVEL) 250 * bsd.after-import.mk: replace .-include with .sinclude 251 ensure? SRCTOP gets a value 252 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 253 2542012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 255 256 * Makefile.in (MAKE_VERSION): bump version to 20120612 257 Merge with NetBSD make, pick up 258 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 259 for greater portability. 260 o unit-tests/forloop: check that .for works as expected wrt 261 number of times and with "quoted strings". 262 2632012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 264 265 * Makefile.in (MAKE_VERSION): bump version to 20120606 266 Merge with NetBSD make, pick up 267 o compat.c: use kill(2) rather than raise(3). 268 * configure.in: look for sys/dev/filemon 269 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 270 and pass BOOTSTRAP_XTRAS to boot-strap. 271 2722012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 273 274 * Makefile.in (MAKE_VERSION): bump version to 20120604 275 Merge with NetBSD make, pick up 276 o util.c and var.c share same var for tracking if environ 277 has been reallocated. 278 o util.c provide getenv with setenv. 279 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 280 when the shell actively strips .MAKE.* from the environment. 281 We still refer to the variable always as .MAKE.LEVEL 282 * util.c fix bug in findenv() was finding prefix of name. 283 * compat.c: re-raising SIGINT etc after running .INTERRUPT 284 results in more reliable termination of all activity on many 285 platforms. 286 2872012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 288 289 * Makefile.in (MAKE_VERSION): bump version to 20120602 290 Merge with NetBSD make, pick up 291 o for.c: handle quoted items in .for list 292 2932012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 294 295 * Makefile.in (MAKE_VERSION): bump version to 20120530 296 Merge with NetBSD make, pick up 297 o compat.c: ignore empty command. 298 2992012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 300 301 * Makefile.in (MAKE_VERSION): bump version to 20120524 302 * FILES: add bsd.after-import.mk: 303 A simple means of integrating bmake into a BSD build system. 304 3052012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 306 307 * Makefile.in (MAKE_VERSION): bump version to 20120520 308 Merge with NetBSD make, pick up 309 o increased limit for nested conditionals. 310 3112012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 312 313 * Makefile.in (MAKE_VERSION): bump version to 20120518 314 Merge with NetBSD make, pick up 315 o use _exit(2) in signal hanlder 316 o Don't use the [dir] cache when building nodes that might have 317 changed since the last exec. 318 o Avoid nested extern declaration warnings. 319 3202012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 321 322 * meta.c (fgetLine): avoid %z - not portable. 323 * parse.c: Since we moved include of sys/mman.h 324 and def's of MAP_COPY etc. we got dups from a merge. 325 3262012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 327 328 * Makefile.in (MAKE_VERSION): bump version to 20120420 329 Merge with NetBSD make, pick up 330 o restore duplicate supression in .MAKE.MAKEFILES 331 runtime saving can be significant. 332 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 333 consumption up to 20%. 334 3352012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 336 337 * Makefile.in (MAKE_VERSION): bump version to 20120420 338 Merge with NetBSD make, pick up 339 o remove duplicate supression in .MAKE.MAKEFILES 340 o improved dir cache behavior 341 o gmake'ish export command 342 3432012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 344 345 * Makefile.in (MAKE_VERSION): bump version to 20120325 346 Merge with NetBSD make, pick up 347 o fix parsing of :[#] in conditionals. 348 3492012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 350 351 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 352 since some systems cannot cope with .Nx <version> 353 3542011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 355 356 * Makefile.in (MAKE_VERSION): bump version to 20111111 357 Merge with NetBSD make, pick up 358 o debug output for .PARSEDIR and .PARSEFILE 359 3602011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 361 362 * Makefile.in (MAKE_VERSION): bump version to 20111010 363 3642011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 365 366 * boot-strap: check for an expected file in the dirs we look for. 367 * make-bootstrap.sh: pass on LDSTATIC 368 3692011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 370 371 * Makefile.in (MAKE_VERSION): bump version to 20111001 372 Merge with NetBSD make, pick up 373 o ensure .PREFIX is set for .PHONY 374 and .TARGET set for .PHONY run via .END 375 o __dead used consistently 376 3772011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 378 379 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 380 3812011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 382 383 * Makefile.in (MAKE_VERSION): bump version to 20110905 384 Merge with NetBSD make, pick up 385 o meta_oodate: ignore makeDependfile 386 3872011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 388 389 * Makefile.in (MAKE_VERSION): bump version to 20110828 390 Merge with NetBSD make, pick up 391 o silent=yes in .MAKE.MODE causes meta mode to mark targets 392 as SILENT if a .meta file is created 393 3942011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 395 396 * Makefile.in (MAKE_VERSION): bump version to 20110818 397 Merge with NetBSD make, pick up 398 o in meta mode, if target flagged .META a missing .meta file 399 means target is out-of-date 400 o fixes for gcc 4.5 warnings 401 o simplify job printing code 402 4032011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 404 405 * Makefile.in (MAKE_VERSION): bump version to 20110808 406 Merge with NetBSD make, pick up 407 o do not touch OP_SPECIAL targets when doing make -t 408 4092011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 410 411 * Makefile.in (MAKE_VERSION): bump version to 20110622 412 Merge with NetBSD make, pick up 413 o meta_oodate detect corrupted .meta file and declare oodate. 414 * configure.in: add check for setsid 415 4162011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 417 418 * Merge with NetBSD make, pick up 419 o unit-tests/modts now works on MirBSD 420 4212011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 422 423 * Makefile.in (MAKE_VERSION): bump version to 20110606 424 Merge with NetBSD make, pick up 425 o ApplyModifiers: when we parse a variable which is not 426 the entire modifier string, or not followed by ':', do not 427 consider it as containing modifiers. 428 o loadfile: ensure newline at end of mapped file. 429 4302011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 431 432 * Makefile.in (MAKE_VERSION): bump version to 20110505 433 Merge with NetBSD make, pick up 434 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 435 of make's control. In meta mode, any generated file within 436 said bailiwick, which is found to be missing, causes current 437 target to be out-of-date. 438 4392011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 440 441 * Makefile.in (MAKE_VERSION): bump version to 20110411 442 Merge with NetBSD make, pick up 443 o when long modifiers fail to match, check sysV style. 444 - add a test case 445 4462011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 447 448 * Makefile.in (MAKE_VERSION): bump version to 20110410 449 Merge with NetBSD make, pick up 450 o :hash - cheap 32bit hash of value 451 o :localtime, :gmtime - use value as format string for strftime. 452 4532011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 454 455 * Makefile.in (MAKE_VERSION): bump version to 20110330 456 mostly because its a cooler version. 457 Merge with NetBSD make, pick up 458 o NetBSD tags for meta.[ch] 459 o job.c call meta_job_finish() after meta_job_error(). 460 o meta_job_error() should call meta_job_finish() to ensure 461 .meta file is closed, and safe to copy - if .ERROR target wants. 462 meta_job_finish() is safe to call repeatedly. 463 4642011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 465 466 * unit-tests/modts: use printf if it is a builtin, 467 to save us from MirBSD 468 469 * Makefile.in (MAKE_VERSION): bump version to 20110329 470 Merge with NetBSD make, pick up 471 o fix for use after free() in CondDoExists(). 472 o meta_oodate() report extra commands and return earlier. 473 4742011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 475 476 * Makefile.in (MAKE_VERSION): bump version to 20110327 477 Merge with NetBSD make, pick up 478 o meta.c, if .MAKE.MODE contains curdirOk=yes 479 allow creating .meta files in .CURDIR 480 * boot-strap (TOOL_DIFF): aparently at least on linux distro 481 formats the output of 'type' differently - so eat any "()" 482 4832011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 484 485 * Makefile.in (MAKE_VERSION): bump version to 20110306 486 Merge with NetBSD make, pick up 487 o meta.c, only do getcwd() once 488 4892011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 490 491 * Makefile.in (MAKE_VERSION): bump version to 20110305 492 Merge with NetBSD make, pick up 493 o correct sysV substitution handling of empty lhs and variable 494 o correct exists() check for dir with trailing / 495 o correct handling of modifiers for non-existant variables 496 during evaluation of conditionals. 497 o ensure MAP_FILE is defined. 498 o meta.c use curdir[] now exported by main.c 499 5002011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 501 502 * Makefile.in (MAKE_VERSION): bump version to 20110225 503 Merge with NetBSD make, pick up 504 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 505 makefiles have been read. 506 o fix example of :? modifier in man page. 507 5082011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 509 510 * Makefile.in (MAKE_VERSION): bump version to 20110214 511 Merge with NetBSD make, pick up 512 o meta.c handle realpath() failing when generating meta file 513 name. 514 515 * sigcompat.c: convert to ansi so we can use higher warning levels. 516 517 5182011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 519 520 * Makefile.in (MAKE_VERSION): bump version to 20110207 521 Merge with NetBSD make, pick up 522 o fix for bug in meta mode. 523 5242011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 525 526 * parse.c: SunOS 5.8 at least does not have MAP_FILE 527 5282011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 529 530 * Makefile.in (MAKE_VERSION): bump version to 20110101 531 Merge with NetBSD make, pick up 532 o use mmap(2) if available, for reading makefiles 533 5342010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 535 536 * Makefile.in (MAKE_VERSION): bump version to 20101215 537 Merge with NetBSD make, pick up 538 o ensure meta_job_error() does not report a previous .meta file 539 as being culprit. 540 5412010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 542 543 * Makefile.in (MAKE_VERSION): bump version to 20101210 544 Merge with NetBSD make, pick up 545 o meta_oodate: track cwd per process, and only consider target 546 out-of-date if missing file is outside make's CWD. 547 Ignore files in /tmp/ etc. 548 o to ensure unit-tests results match, need to control LC_ALL 549 as well as LANG. 550 o fix for parsing bug in var.c 551 5522010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 553 554 * Makefile.in (MAKE_VERSION): bump version to 20101126 555 Merge with NetBSD make, pick up 556 o if stale dependency is an IMPSRC, search via .PATH 557 o meta_oodate: if a referenced file is missing, target is 558 out-of-date. 559 o meta_oodate: if a target uses .OODATE in its commands, 560 it (.OODATE) needs to be recomputed. 561 o keep a pointer to youngest child node, rather than just its 562 mtime. 563 5642010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 565 566 * Makefile.in (MAKE_VERSION): bump version to 20101101 567 5682010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 569 570 * machine.sh: like os.sh, 571 allow for uname -p producing useless drivel 572 5732010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 574 575 * boot-strap: document configure knobs for meta and filemon. 576 577 * Makefile.in (MAKE_VERSION): bump version to 20100911 578 Merge with NetBSD make, pick up 579 o meta.c - meta mode 580 581 * make-bootstrap.sh.in: handle meta.c 582 * configure.in: add knobs for use_meta and filemon_h 583 also, look for dirname, str[e]sep and strlcpy 584 * util.c: add simple err[x] and warn[x] 585 5862010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 587 588 * boot-strap (TOOL_DIFF): set this to ensure tests use 589 the same version of diff that configure tested 590 591 * Makefile.in (MAKE_VERSION): bump version to 20100808 592 Merge with NetBSD make, pick up 593 o in jobs mode, when we discover we cannot make something, 594 call PrintOnError before exit. 595 5962010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 597 598 * Makefile.in (MAKE_VERSION): bump version to 20100806 599 Merge with NetBSD make, pick up 600 o formatting fixes for ignored errors 601 o ensure jobs are cleaned up regardless of where wait() was called. 602 6032010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 604 605 * Makefile.in (MAKE_VERSION): bump version to 20100618 606 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 607 6082010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 609 610 * Makefile.in (MAKE_VERSION): bump version to 20100616 611 Merge with NetBSD make, pick up 612 o man page update 613 o call PrintOnError from JobFinish when we detect an error we 614 are not ignoring. 615 6162010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 617 618 * Makefile.in (MAKE_VERSION): bump version to 20100606 619 Merge with NetBSD make, pick up 620 o man page update 621 6222010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 623 624 * Makefile.in (MAKE_VERSION): bump version to 20100605 625 Merge with NetBSD make, pick up 626 o use bmake_signal() which is a wrapper around sigaction() 627 in place of signal() 628 o add .export-env to allow exporting variables to environment 629 without tracking (so no re-export when the internal value is 630 changed). 631 6322010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 633 634 * Makefile.in (MAKE_VERSION): bump version to 20100524 635 Merge with NetBSD make, pick up 636 o fix for .info et al being greedy. 637 6382010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 639 640 * Makefile.in (MAKE_VERSION): bump version to 20100520 641 Merge with NetBSD make, pick up 642 o back to using realpath on argv[0] 643 but only if contains '/' and does not start with '/'. 644 6452010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 646 647 * boot-strap: use absolute path for bmake when running tests. 648 649 * Makefile.in (MAKE_VERSION): bump version to 20100510 650 Merge with NetBSD make, pick up 651 o revert use of realpath on argv[0] 652 too many corner cases. 653 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 654 6552010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 656 657 * Makefile.in (MAKE_VERSION): bump version to 20100505 658 Merge with NetBSD make, pick up 659 o fix for missed SIGCHLD when compiled with SunPRO 660 actually for bmake, defining FORCE_POSIX_SIGNALS would have 661 done the job. 662 6632010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 664 665 * Makefile.in (MAKE_VERSION): bump version to 20100430 666 Merge with NetBSD make, pick up 667 o fflush stdout before writing to stdout 668 6692010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 670 671 * Makefile.in (MAKE_VERSION): bump version to 20100423 672 Merge with NetBSD make, pick up 673 o updated unit tests for Haiku (this time for sure). 674 * boot-strap: based on patch from joerg 675 honor --with-default-sys-path better. 676 * boot-strap: remove mention of --with-prefix-sys-path 677 6782010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 679 680 * Makefile.in (MAKE_VERSION): bump version to 20100422 681 * Merge with NetBSD make, pick up 682 o fix for vfork() on Darwin. 683 o fix for bogus $TMPDIR. 684 o set .MAKE.MODE=compat for -B 685 o set .MAKE.JOBS=max_jobs for -j max_jobs 686 o allow unit-tests to run without any *.mk 687 o unit-tests/modmisc be more conservative in dirs presumed to exist. 688 * boot-strap: ignore /usr/share/mk except on NetBSD. 689 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 690 ensure sort(1) behaves as expected. 691 6922010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 693 694 * boot-strap: add FindHereOrAbove so we can use -m .../mk 695 6962010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 697 698 * Makefile.in (MAKE_VERSION): bump version to 20100420 699 * Merge with NetBSD make, pick up 700 o fix for variable realpath() behavior. 701 we have to stat(2) the result to be sure. 702 o fix for .export (all) when nested vars use :sh 703 7042010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 705 706 * Makefile.in (MAKE_VERSION): bump version to 20100414 707 * Merge with NetBSD make, pick up 708 o use realpath to resolve argv[0] (for .MAKE) if needed. 709 o add realpath from libc. 710 o add :tA to resolve variable via realpath(3) if possible. 711 7122010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 713 714 * Makefile.in (MAKE_VERSION): bump version to 20100408 715 * Merge with NetBSD make, pick up 716 o unit tests for .ERROR, .error 717 o fix for .ERROR to ensure it cannot be default target. 718 7192010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 720 721 * Makefile.in (MAKE_VERSION): bump version to 20100406 722 * Merge with NetBSD make, pick up 723 o fix for compat mode "Error code" going to debug_file. 724 o fix for .ALLSRC being populated twice. 725 o support for .info, .warning and .error directives 726 o .MAKE.MODE to control make's operational mode 727 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 728 name(s). 729 o .MAKE.DEPENDFILE to control the name of the depend file 730 o .ERROR target - run on failure. 731 7322010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 733 734 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 735 736 * os.sh,arch.c: patch for Haiku from joerg at netbsd 737 7382010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 739 740 * Makefile.in (MAKE_VERSION): bump version to 20100222 741 * Merge with NetBSD make, pick up 742 o better error msg for .for with mutiple inter vars 743 744 * boot-strap: 745 o use make-bootstrap.sh from joerg at netbsd 746 to avoid the need for a native make when bootstrapping. 747 o add "" everywhere ;-) 748 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 749 otherwise the pre-formated version. 750 7512010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 752 753 * Makefile.in (MAKE_VERSION): bump version to 20100102 754 * Merge with NetBSD make, pick up: 755 o fix for -m .../ 756 7572009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 758 759 * Makefile.in (MAKE_VERSION): bump version to 20091118 760 * Merge with NetBSD make, pick up: 761 o .unexport 762 o report lines that start with '.' and should have ':' 763 (catch typo's of .el*if). 764 7652009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 766 767 * configure.in: Ensure that srcdir and mksrc are absolute paths. 768 7692009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 770 771 * Makefile.in (MAKE_VERSION): fix version to 20091007 772 7732009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 774 775 * Makefile.in (MAKE_VERSION): bump version to 200910007 776 * Merge with NetBSD make, pick up: 777 o fix for parsing of :S;...;...; applied to .for loop iterator 778 appearing in a dependency line. 779 7802009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 781 782 * Makefile.in (MAKE_VERSION): bump version to 20090909 783 * Merge with NetBSD make, pick up: 784 o fix for -C, .CURDIR and .OBJDIR 785 * boot-strap: 786 o allow share_dir to be set independent of prefix. 787 o select default share_dir better when prefix ends in $HOST_TARGET 788 o if FORCE_BSD_MK etc were set, include them in the suggested 789 install-mk command. 790 7912009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 792 793 * Makefile.in (MAKE_VERSION): bump version to 20090908 794 * Merge with NetBSD make, pick up: 795 o .MAKE.LEVEL for recursion tracking 796 o fix for :M scanning \: 797 7982009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 799 800 * configure.in: Don't -D__EXTENSIONS__ if 801 AC_USE_SYSTEM_EXTENSIONS says "no". 802 8032009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 804 805 * Makefile.in (MAKE_VERSION): bump version to 20090826 806 Simplify MAKE_VERSION to just the bare date. 807 * Merge with NetBSD make, pick up: 808 o -C directory support. 809 o support for SIGINFO 810 o use $TMPDIR for temp files. 811 o child of vfork should be careful about modifying parent's state. 812 813 8142009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 815 816 * Appy some patches for MiNT from David Brownlee 817 8182009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 819 820 * Makefile.in (BMAKE_VERSION): bump version to 20090222 821 * Merge with NetBSD make, pick up: 822 o Possible null pointer de-ref in Var_Set. 823 8242009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 825 826 * Makefile.in (BMAKE_VERSION): bump version to 20090204 827 * Merge with NetBSD make, pick up: 828 o bmake_malloc et al moved to their own .c 829 o Count both () and {} when looking for the end of a :M pattern 830 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 831 o strlist.c - functions for processing extendable arrays of pointers to strings. 832 o ClientData replaced with void *, so const void * can be used. 833 o New debug flag C for DEBUG_CWD 834 8352008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 836 837 * Makefile.in (BMAKE_VERSION): bump version to 20081111 838 Apply patch from Joerg Sonnenberge to 839 configure.in: 840 o remove some redundant checks 841 o check for emlloc etc only in libutil and require the whole family. 842 util.c: 843 o remove [v]asprintf which is no longer used. 844 8452008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 846 847 * Makefile.in (BMAKE_VERSION): bump version to 20081101 848 * Merge with NetBSD make, pick up: 849 o util.c: avoid use of putenv() - christos 850 8512008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 852 853 * Makefile.in (BMAKE_VERSION): bump version to 20081030 854 pick up man page tweaks. 855 8562008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 857 858 * Makefile.in: move processing of LIBOBJS to after is definition! 859 thus we'll have getenv.c in SRCS only if needed. 860 861 * make.1: add examples of how to use :? 862 863 * Makefile.in (BMAKE_VERSION): bump version to 20081029 864 * Merge with NetBSD make, pick up: 865 o fix for .END processing with -j 866 o segfault from Parse_Error when no makefile is open 867 o handle numeric expressions in any variable expansion 868 o debug output now defaults to stderr, -dF to change it - apb 869 o make now uses bmake_malloc etc so that it can build natively 870 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 871 8722008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 873 874 * Makefile.in (BMAKE_VERSION): bump version to 20080808 875 * Merge with NetBSD make, pick up: 876 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 877 long lines in Makefiles 878 o optimizations for VarQuote by joerg 879 o fix for PR/38756: dominik: make dumps core on invalid makefile 880 8812008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 882 883 * Makefile.in (BMAKE_VERSION): bump version to 20080515 884 * Merge with NetBSD make, pick up: 885 o fix skip setting vars in VAR_GLOBAL context, to handle 886 cases where VAR_CMD is used for other than command line vars. 887 8882008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 889 890 * boot-strap (make_version): we may need to look in 891 $prefix/share/mk for sys.mk 892 893 * Makefile.in (BMAKE_VERSION): bump version to 20080514 894 * Merge with NetBSD make, pick up: 895 o skip setting vars in VAR_GLOBAL context, when already set in 896 VAR_CMD which takes precedence. 897 8982008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 899 900 * Makefile.in (BMAKE_VERSION): bump version to 20080330 901 * Merge with NetBSD make, pick up: 902 o fix for ?= when LHS contains variable reference. 903 9042008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 905 906 * merge some patches from NetBSD pkgsrc. 907 908 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 909 the MAKSYSPATH used during bootstrap. 910 911 * Makefile.in (BMAKE_VERSION): bump version to 20080215 912 * Merge with NetBSD make, pick up: 913 o warn if non-space chars follow 'empty' in a conditional. 914 9152008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 916 917 * Makefile.in (BMAKE_VERSION): bump version to 20080118 918 * Merge with NetBSD make, pick up: 919 o consider dependencies read from .depend as optional - dsl 920 o remember when buffer for reading makefile grows - dsl 921 o add -dl (aka LOUD) - David O'Brien 922 9232007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 924 925 * Makefile.in (BMAKE_VERSION): bump version to 20071022 926 * Merge with NetBSD make, pick up: 927 o Allow .PATH<suffix> to be used for .include "" 928 929 * boot-strap: source default settings from .bmake-boot-strap.rc 930 9312007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 932 933 * Makefile.in: fix maninstall on various systems 934 provided that our man.mk is used. 935 For non-BSD systems we install the preformatted page 936 into $MANDIR/cat1 937 9382007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 939 940 * boot-strap: make bmake.1 too, so maninstall works. 941 9422007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 943 944 * Makefile.in (BMAKE_VERSION): bump version to 20071014 945 * Merge with NetBSD make, pick up: 946 o revamped handling of defshell - configure no longer needs to 947 know the content of the shells array - apb 948 o stop Var_Subst modifying its input - apb 949 o avoid calling ParseTrackInput too often - dsl 950 9512007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 952 953 * Makefile.in (BMAKE_VERSION): bump version to 20071011 954 * Merge with NetBSD make, pick up: 955 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 956 957 * sigcompat.c: some tweaks for HP-UX 11.x based on 958 patch from Tobias Nygren 959 960 * configure.in: update handling of --with-defshell to match 961 new make behavior. --with-defshell=/usr/xpg4/bin/sh 962 will now do what one might hope - provided the chosen shell 963 behaves enough like sh. 964 9652007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 966 967 * Makefile.in (BMAKE_VERSION): bump to 20071008 968 * Merge with NetBSD make, pick up: 969 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 970 o .export/.MAKE.EXPORTED - export of variables - sjg 971 o .MAKE.MAKEFILES - track all makefiles read - sjg 972 o performance improvements - dsl 973 o revamp parallel job scheduling - dsl 974 9752006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 976 977 * Makefile.in (BMAKE_VERSION): bump to 20060728 978 * Merge with NetBSD make, pick up: 979 o extra debug info during variable and cond processing - sjg 980 o shell definition now covers newline - rillig 981 o minor mem leak in PrintOnError - sjg 982 9832006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 984 985 * Makefile.in (BMAKE_VERSION): bump to 20060511 986 * Merge with NetBSD make, pick up: 987 o more memory leaks - coverity 988 o possible overflow in ArchFindMember - coverity 989 o extract variable modifier code out of Var_Parse() 990 so it can be called recursively - sjg 991 o unit-tests/moderrs - sjg 992 9932006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 994 995 * Makefile.in (BMAKE_VERSION): bump to 20060412 996 * Merge with NetBSD make, pick up: 997 o fixes for some memory leaks - coverity 998 o only read first sys.mk etc when searching sysIncPath - sjg 999 1000 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 1001 setting ${MAKEFILE} - OBATA Akio 1002 10032006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1004 1005 * Makefile.in (BMAKE_VERSION): bump to 20060318 1006 * Merge with NetBSD make, pick up: 1007 o cleanup of job.c to remove remote handling, distcc is more 1008 useful and this code was likely bit-rotting - dsl 1009 o fix for :P modifier - sjg 1010 * boot-strap: set default prefix to something reasonable 1011 (for me anyway). 1012 10132006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1014 1015 * Makefile.in (BMAKE_VERSION): bump to 20060301 1016 * Merge with NetBSD make, pick up: 1017 o make .WAIT apply recursively, document and test case - apb 1018 o allow variable modifiers in a variable appear anywhere in 1019 modifier list, document and test case - sjg 1020 10212006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 1022 1023 * Makefile.in (BMAKE_VERSION): bump to 20060222 1024 * Merge with NetBSD make, pick up: 1025 o improved job token handling - dsl 1026 o SIG_DFL the correct signal before exec - dsl 1027 o more debug info during parsing - dsl 1028 o allow variable modifiers to be specified via variable - sjg 1029 * boot-strap: explain why we died if no mksrc 1030 10312005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 1032 1033 * Makefile.in (BMAKE_VERSION): bump to 20051105 1034 * configure.in: always set default_sys_path 1035 default is ${prefix}/share/mk 1036 - remove prefix_sys_path, anyone wanting more than above 1037 needs to set it manually. 1038 10392005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1040 1041 * boot-strap: make this a bit easier for pkgsrc folk. 1042 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 1043 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 1044 10452005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 1046 1047 * Makefile.in (BMAKE_VERSION): bump to 20051102 1048 * job.c (JobFinish): fix likely ancient merge lossage 1049 fix from Todd Vierling. 1050 * boot-strap (srcdir): allow setting mksrc=none 1051 10522005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 1053 1054 * Makefile.in (BMAKE_VERSION): bump to 20051031 1055 * ranlib.h: skip on OSF too. 1056 (NetBSD PR 31864) 1057 10582005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 1059 1060 * Makefile.in (BMAKE_VERSION): bump to 20051002 1061 fix a silly typo 1062 10632005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1064 1065 * Makefile.in (BMAKE_VERSION): bump to 20051001 1066 support for UnixWare and some other systems, 1067 based on patches from pkgsrc/bootstrap 1068 10692005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1070 1071 * Makefile.in (BMAKE_VERSION): bump to 20050901 1072 * Merge with NetBSD make, pick up: 1073 o possible parse error causing us to wander off. 1074 10752005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 1076 1077 * Makefile.in (BMAKE_VERSION): bump to 20050606 1078 * Merge with NetBSD make, pick up: 1079 o :0x modifier for randomizing a list 1080 o fixes for a number of -Wuninitialized issues. 1081 10822005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 1083 1084 * Makefile.in (BMAKE_VERSION): bump to 20050530 1085 * Merge with NetBSD make, pick up: 1086 o Handle dependencies for .BEGIN, .END and .INTERRUPT 1087 1088 * README: was seriously out of date. 1089 10902005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1091 1092 * Important to use .MAKE rather than MAKE. 1093 10942005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 1095 1096 * Makefile.in (BMAKE_VERSION): bump to 20050315 1097 * Merge with NetBSD make, pick up: 1098 o don't mistake .elsefoo for .else 1099 o use suffix-specific search path correctly 1100 o bunch of style nits 1101 11022004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1103 1104 * boot-strap: 1105 o ensure that args to --src and --with-mksrc 1106 are resolved before giving them to configure. 1107 o add -o "objdir" so that builder can control it, 1108 default is $OS as determined by os.sh 1109 o add -q to suppress all the install instructions. 1110 11112004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 1112 1113 * Remove __IDSTRING() 1114 1115 * Makefile.in (BMAKE_VERSION): bump to 20040508 1116 * Merge with NetBSD make, pick up: 1117 o posix fixes 1118 - remove '-e' from compat mode 1119 - add support for '+' command-line prefix. 1120 o fix for handling '--' on command-line. 1121 o fix include in lst.lib/lstInt.h to simplify '-I's 1122 o we also picked up replacement of MAKE_BOOTSTRAP 1123 with !MAKE_NATIVE which is a noop, but possibly confusing. 1124 11252004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 1126 1127 * Makefile.in (BMAKE_VERSION): bump to 20040414 1128 * Merge with NetBSD make, pick up: 1129 o allow quoted strings on lhs of conditionals 1130 o issue warning when extra .else is seen 1131 o print line numer when errors encountered during parsing from 1132 string. 1133 11342004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 1135 1136 * Makefile.in (BMAKE_VERSION): bump to 20040220 1137 * Merge with NetBSD make, pick up: 1138 o fix for old :M parsing bug. 1139 o re-jigged unit-tests 1140 11412004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1142 1143 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 1144 so that './bmake -f Makefile test' works. 1145 11462004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1147 1148 * Makefile.in: (BMAKE_VERSION): bump to 20040214 1149 * Merge with NetBSD make, pick up: 1150 o search upwards for *.mk 1151 o fix for double free of var substitution buffers 1152 o use of getopt replaced with custom code, since the usage 1153 (re-scanning) isn't posix compatible. 1154 11552004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 1156 1157 * arch.c: don't include ranlib.h on ELF systems 1158 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 1159 11602004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1161 1162 * Makefile.in (BMAKE_VERSION): bump to 20040118 1163 1164 * boot-strap (while): export vars we assign to on cmdline 1165 * unit-test/Makefile.in: ternary is .PHONY 1166 11672004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 1168 1169 * Makefile.in (BMAKE_VERSION): bump version to 20040108 1170 * Merge with NetBSD make, pick up: 1171 o fix for ternary modifier 1172 11732004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 1174 1175 * Makefile.in (BMAKE_VERSION): bump version to 20040105 1176 * Merge with NetBSD make, pick up: 1177 o fix for cond.c to handle compound expressions better 1178 o variable expansion within sysV style replacements 1179 11802003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 1181 1182 * Make portable snprintf safer - output to /dev/null first to 1183 check space needed. 1184 1185 * Makefile.in (BMAKE_VERSION): bump version to 20031222 1186 * Merge with NetBSD make, pick up: 1187 o -dg3 to show input graph when things go wrong. 1188 o explicitly look for makefiles in objdir if not found in curdir so 1189 that errors in .depend etc will be reported accurarely. 1190 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 1191 instead as it more accurately reflects the expected behavior and 1192 is more consistently implemented. 1193 o avoid use of asprintf. 1194 11952003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1196 1197 * util.c: Add asprintf and vasprintf. 1198 1199 * Makefile.in (BMAKE_VERSION): bump version to 20030928 1200 * Merge with NetBSD make, pick up: 1201 :[] modifier - allows picking words from a variable. 1202 :tW modifier - allows treating value as one big word. 1203 W flag for :C and :S - allows treating value as one big word. 1204 12052003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 1206 1207 * Merge with NetBSD make 1208 pick up -de flag to enable printing failed command. 1209 don't skip 1st two dir entries (normally . and ..) since 1210 coda does not have them. 1211 12122003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1213 1214 * Makefile.in (BMAKE_VERSION): bump version to 20030909 1215 * Merge with NetBSD make, pick up: 1216 - changes for -V '${VAR}' to print fully expanded value 1217 cf. -V VAR 1218 - CompatRunCommand now prints the command that failed. 1219 - several files got updated 3 clause Berkeley license. 1220 12212003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 1222 1223 * boot-strap: Allow setting configure args on command line. 1224 12252003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1226 1227 * configure.in: add --with-defshell to allow sh or ksh 1228 to be selected as default shell. 1229 1230 * Makefile.in: bump version to 20030731 1231 1232 * Merge with NetBSD make 1233 Pick up .SHELL spec for ksh and associate man page changes. 1234 Also compat mode now uses the same shell specs. 1235 12362003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 1237 1238 * var.c (Var_Parse): ensure delim is initialized. 1239 1240 * unit-tests/Makefile.in: use single quotes to avoid problems from 1241 some shells. 1242 1243 * makefile.boot.in: 1244 Run the unit-tests as part of the bootstrap procedure. 1245 12462003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1247 1248 * unit-tests/Makefile.in: always force complaints from 1249 ${TEST_MAKE} to be from 'make'. 1250 1251 * configure.in: add check for 'diff -u' 1252 also fix some old autoconf'isms 1253 1254 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 1255 if using GCC add -Wno-cast-qual to CFLAGS for var.o 1256 1257 * Merge with NetBSD make 1258 Pick up fix for :ts parsing error in some cases. 1259 Pick unit-tests. 1260 12612003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 1262 1263 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 1264 1265 * var.c (Var_Parse): fix bug in :ts modifier, after const 1266 correctness fixes, must pass nstr to VarModify. 1267 12682003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 1269 1270 * Makefile.in: BMAKE_VERSION switch to a date based version. 1271 We'll generally use the date of last import from NetBSD. 1272 1273 * Merge with NetBSD make 1274 Pick up fixes for const-correctness, now passes WARNS=3 on 1275 NetBSD. 1276 Pick up :ts modifier, allows controlling the separator used 1277 between words in variable expansion. 1278 12792003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 1280 1281 * FILES: include boot-strap and os.sh 1282 1283 * Makefile.in: only set WARNS if we are NetBSD, the effect on 1284 FreeBSD is known to be bad. 1285 1286 * makefile.boot.in (bootstrap): make this the default target. 1287 1288 * Makefile.in: bump version to 3.1.19 1289 1290 * machine.sh: avoid A-Z with tr as it is bound to lose. 1291 12922003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 1293 1294 * Merge with NetBSD make 1295 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 1296 Plus some doc fixes. 1297 12982003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 1299 1300 * Merge with NetBSD make 1301 Pick up fix for PR/1523 - don't count a library as built, if there 1302 is no way to build it 1303 1304 * Bump version to 3.1.18 1305 13062003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 1307 1308 * Merge with NetBSD make 1309 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 1310 appears in src list. 1311 13122003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 1313 1314 * Merge with NetBSD make (mmm 10th anniversary!) 1315 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 1316 pick up -X which tells us to not export VAR=val via setenv if 1317 we are already doing so via MAKEFLAGS. This saves valuable env 1318 space on systems like Darwin. 1319 set MAKE_VERSION to 3.1.17 1320 1321 * parse.c: pix up fix for suffix rules 1322 13232003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 1324 1325 * Merge with NetBSD make. 1326 pick up fix for propagating -B via MAKEFLAGS. 1327 set MAKE_VERSION to 3.1.16 1328 1329 * Apply some patches from pkgsrc-bootstrap/bmake 1330 Originally by Grant Beattie <grant@netbsd.org> 1331 I may have missed some - since they are based on bmake-3.1.12 1332 13332002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 1334 1335 * makefile.boot.in (bmake): update install targets for those that 1336 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 1337 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 1338 1339 * bmake.cat1: update the pre-formatted man page! 1340 13412002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 1342 1343 * Merge with NetBSD make. 1344 pick up fix for premature free of pointer used in call 1345 to Dir_InitCur(). 1346 set MAKE_VERSION to 3.1.15 1347 13482002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 1349 1350 * configure.in: determine suitable value for MKSRC. 1351 override using --with-mksrc=PATH. 1352 1353 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 1354 configs(8) will use 'sun4' as an alias for 'sparc'. 1355 13562002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1357 1358 * Merge with NetBSD make. 1359 pick up ${.PATH} 1360 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 1361 set MAKE_VERSION to 3.1.14 1362 add configure checks for killpg and sys/socket.h 1363 13642002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 1365 1366 * tag bmake-3-1-13 1367 1368 * makefile.boot.in (bmake): use install-mk 1369 Also setup ./mk before trying to invoke bmake.boot incase we 1370 needed install-mk to create a sys.mk for us. 1371 1372 * configure.in: If we need to add -I${srcdir}/missing, make it an 1373 absolute path so that it works for lst.lib too. 1374 1375 * make.h: always include sys/cdefs.h since we provide one if the 1376 host does not. 1377 1378 * Makefile.in (install-mk): 1379 use MKSRC/install-mk which will do the right thing. 1380 use uname -p for ARCH if possible. 1381 since install-mk will setup links bsd.prog.mk -> prog.mk if 1382 needed, just .include bsd.prog.mk 1383 1384 * Merge with NetBSD make (NetBSD-1.6) 1385 Code is ansi-C only now. 1386 Bug in handling of dotLast is fixed. 1387 Can now assign .OBJDIR and make will reset its notions of life. 1388 New modifiers :tu :tl for toUpper and toLower. 1389 1390Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 1391 1392 * Merge with NetBSD make 1393 pick up fix for .END failure in compat mode. 1394 pick up fix for extra va_end() in ParseVErrorInternal. 1395 1396Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 1397 1398 * configure.in: for systems that have sys/cdefs.h check if it is 1399 compatible. If not, include the one under missing, but tell it to 1400 include the native one too - necessary on Linux. 1401 1402 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 1403 include_next (for gcc) to get the native sys/cdefs.h 1404 1405Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1406 1407 * job.c (JobFinish): Fix an earlier merge bug that resulted in 1408 leaking descriptors when using -jN. 1409 1410 * job.c (JobPrintCommand): See if "curdir" exists before 1411 attempting to chdir(). Doing the chdir directly in make (when in 1412 compat mode) fails silently, so let the -jN version do the same. 1413 This can happen when building kernels in an object tree and 1414 playing clever games to reset .CURDIR. 1415 1416 * Merged with NetBSD make 1417 pick up .USEBEFORE 1418 1419Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1420 1421 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 1422 1423Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1424 1425 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 1426 us not to export the iterator variable when using VAR_CMD context. 1427 1428Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1429 1430 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 1431 its the wrong "fix". 1432 1433Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1434 1435 * Redesigned export of VAR_CMD's via MAKEFLAGS. 1436 We now simply append the variable names to .MAKEOVERRIDES, and 1437 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 1438 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 1439 Apart from fixing quoting bugs in previous version, this allows us 1440 to export vars to the environment by simply doing: 1441 .MAKEOVERRIDES+= PATH 1442 Merged again with NetBSD make, but the above is the only change. 1443 1444 * configure.in: added 1445 --disable-pwd-override disable $PWD overriding getcwd() 1446 --disable-check-make-chdir disable make trying to guess 1447 when it should automatically cd ${.CURDIR} 1448 1449 * Merge with NetBSD make, changes include: 1450 parse.c (ParseDoDependency): Spot that the syntax error is 1451 caused by an unresolved cvs/rcs conflict and say so. 1452 var.c: most of Var* functions now take a ctxt as 1st arg. 1453 now does variable substituion on rhs of sysv style modifiers. 1454 1455 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 1456 is now done here. We append the name='value' to .MAKEOVERRIDES 1457 rather than directly into MAKEFLAGS as this allows a Makefile to 1458 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 1459 very similar mechanism. Note that in adding name='value' to 1460 .MAKEOVERRIDES we do the moral equivalent of: 1461 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 1462 1463Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1464 1465 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 1466 1467 * Merged with NetBSD make 1468 make -dx can now be used to run commands via sh -x 1469 better error messages on exec failures. 1470 1471Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1472 1473 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 1474 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 1475 MACHINE etc otherwise they propagate from the previous bmake. 1476 1477 * configure.in (machine): allow --with-machine=generic to make 1478 configure use machine.sh to set MACHINE. 1479 1480 * job.c (JobInterrupt): convert to using WAIT_T and friends. 1481 1482 * Makefile.in: mention in bmake.1 that we use autoconf. 1483 1484 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 1485 1486Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1487 1488 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 1489 as that rather defeats the usefulness of ${MAKEFILE}. 1490 1491 * main.c (MainParseArgs): append command line variable assignments 1492 to MAKEFLAGS so that they get propagated to child make's. 1493 Apparently this is required POSIX behaviour? Its useful anyway. 1494 1495Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1496 1497 * compat.c (CompatRunCommand): don't use perror() since stdio may 1498 cause problems in child of vfork(). 1499 1500 * compat.c, main.c: Call PrintOnError() when we are going to bail. 1501 This routine prints out the .curdir where we stopped and will also 1502 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 1503 1504 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 1505 :@ expansion. 1506 1507 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 1508 1509 * Added RCSid's for the files we've touched. 1510 1511Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1512 1513 * configure.in: Thanks to some clues from mdb@juniper.net, 1514 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 1515 as well as what ends up in _PATH_DEFSYSPATH. We now have: 1516 1517 --with-machine=MACHINE explicitly set MACHINE 1518 --with-force-machine=MACHINE set FORCE_MACHINE 1519 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 1520 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 1521 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 1522 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 1523 1524 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 1525 1526 * makefile: added a pathetically simple makefile to drive 1527 bootstrapping. Running configure by hand is more useful. 1528 1529 * Makefile.in: added MAKE_VERSION, and reworked things to be less 1530 dependent on NetBSD bsd.*.mk 1531 1532 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 1533 _PATH_OBJDIRPREFIX for those that don't want a default. 1534 construct _PATH_DEFSYSPATH from the info we get from configure. 1535 1536 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 1537 if MAKE_VERSION is defined. 1538 1539 * compat.c: when we bail, print out the .CURDIR we were in. 1540 1541Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1542 1543 * Merged with NetBSD make 1544 1545 * var.c: fixed a bug in the handling of the modifier :P 1546 if the node as found but the path was null, we segfault trying to 1547 duplicate it. 1548 1549Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1550 1551 * Merged with NetBSD make 1552 1553 * make.c: Make_OODate's test for a library out of date was using 1554 cmtime where it should have used mtime (my bug). 1555 1556 * compat.c: Use perror() to tell us what really went wrong when we 1557 cannot exec a command. 1558 1559Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1560 1561 * Merged with NetBSD make 1562 1563Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1564 1565 * Merged with NetBSD make 1566 1567Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1568 1569 * Merged with NetBSD make 1570 1571Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1572 1573 * Merged with NetBSD make 1574 1575Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1576 1577 * util.c: don't provide signal() since we use sigcompat.c 1578 1579 * Makefile.in: added a build target. 1580 1581 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 1582 These allow some quite clever magic. 1583 1584 * main.c (main): added support for getenv(MAKESYSPATH). 1585 1586Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1587 1588 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 1589 This avoids objdir having a different value depending on how a 1590 directory was reached (via command line, or subdir.mk). 1591 1592 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 1593 1594Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1595 1596 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 1597 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 1598 I've been testing this in NetBSD's make for some weeks. 1599 1600 * Turn Makefile into Makefile.in and make it useful. 1601 1602Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1603 1604 * Imported NetBSD's -current make(1) and resolve conflicts. 1605 1606 * Applied autoconf patches from bmake v2 1607 1608 * Imported clean code base from NetBSD-1.0 1609