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