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