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