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