12014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 2 3 * Makefile (MAKE_VERSION): 20141111 4 just a cooler number 5 62014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 7 8 * Makefile (MAKE_VERSION): 20141105 9 Merge with NetBSD make, pick up 10 o revert major overhaul of suffix handling 11 and POSIX compliance - too much breakage 12 and impossible to make backwards compatible. 13 o we still have the new unit test structure which is ok. 14 o meta.c ensure "-- filemon" is at start of line. 15 162014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 17 18 * configure.in: test that result of getconf PATH_MAX is numeric 19 and discard if not. Apparently needed for Hurd. 20 212014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 22 23 * Makefile (MAKE_VERSION): 20140830 24 Merge with NetBSD make, pick up 25 o major overhaul of suffix handling 26 o improved POSIX compliance 27 o overhauled unit-tests 28 292014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 30 31 * Makefile (MAKE_VERSION): 20140620 32 Merge with NetBSD make, pick up 33 o var.c return varNoError rather than var_Error for ::= modifiers. 34 352014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 36 37 * Makefile (MAKE_VERSION): 20140522 38 Merge with NetBSD make, pick up 39 o var.c detect some parse errors. 40 412014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 42 43 * Fix spelling errors - patch from Pedro Giffuni 44 452014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 46 47 * Makefile (MAKE_VERSION): 20140214 48 Merge with NetBSD make, pick up 49 o .INCLUDEFROM* 50 o use Var_Value to get MAKEOBJDIR[PREFIX] 51 o reduced realloc'ign in brk_string. 52 * configure.in: add a check for compiler supporting __func__ 53 542014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 55 56 * boot-strap: ignore mksrc=none 57 582014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 59 60 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 61 622014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 63 64 * Makefile (MAKE_VERSION): 20140101 65 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 66 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 67 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 68 Hurd) 69 * configure.in: Add AC_PREREQ and check for 70 sysctl; patch from Andrew Shadura andrewsh at debian.org 71 722013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 73 74 * Makefile (MAKE_VERSION): 20131010 75 * lose the const from arg to systcl to avoid problems on older BSDs. 76 772013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 78 79 * Makefile (MAKE_VERSION): 20131001 80 Merge with NetBSD make, pick up 81 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 82 hw.machine_arch if necessary. 83 o meta.c: meta_oodate - need to look at src of Link and target 84 of Move as well. 85 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 86 provide __arraycount() if needed. 87 882013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 89 90 * Makefile (MAKE_VERSION): 20130904 91 Merge with NetBSD make, pick up 92 o Add VAR_INTERNAL context, so that internal setting of 93 MAKEFILE does not override value set by makefiles. 94 952013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 96 97 * Makefile (MAKE_VERSION): 20130902 98 Merge with NetBSD make, pick up 99 o CompatRunCommand: only apply shellErrFlag when errCheck is true 100 1012013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 102 103 * Makefile (MAKE_VERSION): 20130828 104 Merge with NetBSD make, pick up 105 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 106 o Call Job_SetPrefix() from Job_Init() so makefiles have 107 opportunity to set .MAKE.JOB.PREFIX 108 1092013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 110 111 * Makefile (MAKE_VERSION): 20130730 112 Merge with NetBSD make, pick up 113 o Allow suppression of --- job -- tokens by setting 114 .MAKE.JOB.PREFIX empty. 115 1162013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 117 118 * Makefile (MAKE_VERSION): 20130716 119 Merge with NetBSD make, pick up 120 o number of gmake compatibility tweaks 121 -w for gmake style entering/leaving messages 122 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 123 handle MAKEFLAGS containing only letters. 124 o when overriding a GLOBAL variable on the command line, 125 delete it from GLOBAL context so -V doesn't show the wrong 126 value. 127 1282013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 129 130 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 131 132 * Makefile (MAKE_VERSION): 20130706 133 Merge with NetBSD make, pick up 134 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 135 true so that CompatRunCommand() can use it, to ensure 136 consistent behavior with jobs mode. 137 o use MAKE_LEVEL_ENV to define the variable to propagate 138 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 139 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 140 paths to ignore. 141 1422013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 143 144 * Makefile (MAKE_VERSION): 20130604 145 Merge with NetBSD make, pick up 146 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 147 to avoid leaking descriptors. 148 1492013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 150 151 * Makefile (MAKE_VERSION): 20130528 152 Merge with NetBSD make, pick up 153 o var.c: cleanup some left-overs in VarHash() 154 1552013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 156 157 * Makefile (MAKE_VERSION): 20130520 158 generate manifest from component FILES rather than have to 159 update FILES when mk/FILES changes. 160 1612013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 162 163 * Makefile (MAKE_VERSION): 20130518 164 Merge with NetBSD make, pick up 165 o suff.c: don't skip all processsing for .PHONY targets 166 else wildcard srcs do not get expanded. 167 o var.c: expand name of variable to delete if necessary. 168 1692013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 170 171 * Makefile (MAKE_VERSION): 20130330 172 Merge with NetBSD make, pick up 173 o meta.c: refine the handling of .OODATE in commands. 174 Rather than suppress command comparison for the entire script 175 as though .NOMETA_CMP had been used, only suppress it for the 176 one command line. 177 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 178 suppress comparison of a command without otherwise affecting it. 179 o make.1: document that 180 1812013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 182 183 * Makefile (MAKE_VERSION): 20130321 184 yes, not quite right but its a cooler number. 185 Merge with NetBSD make, pick up 186 o parse.c: fix ParseGmakeExport to be portable 187 and add a unit-test. 188 * meta.c: call meta_init() before makefiles are read and if built 189 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 190 this let's makefiles test for support. 191 Call meta_mode_init() to process .MAKE.MODE. 192 1932013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 194 195 * Makefile (MAKE_VERSION): 20130305 196 Merge with NetBSD make, pick up 197 o run .STALE: target when a dependency from .depend is missing. 198 o job.c: add Job_RunTarget() for the above and .BEGIN 199 2002013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 201 202 * Makefile (MAKE_VERSION): 20130303 203 Merge with NetBSD make, pick up 204 o main.c: set .MAKE.OS to utsname.sysname 205 o job.c: more checks for read and poll errors 206 o var.c: lose VarChangeCase() saves 4% time 207 2082013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 209 210 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 211 want to use MAKEOBJDIR 212 2132013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 214 215 * Merge with NetBSD make, pick up 216 o make.1: more info on how shell commands are handled. 217 o job.c,main.c: detect write errors to job pipes. 218 2192013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 220 221 * Makefile (MAKE_VERSION): 20130123 222 Merge with NetBSD make, pick up 223 o meta.c: if script uses .OODATE and meta_oodate() decides 224 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 225 o var.c: in debug output indicate which variabale modifiers 226 apply to. 227 o remove Check_Cwd logic the makefiles have been fixed. 228 2292012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 230 231 * makefile.in: add a simple makefile for folk who insist on 232 ./configure; make; make install 233 it just runs boot-strap 234 * include mk/* to accommodate the above 235 * boot-strap: re-work to accommodate the above 236 mksrc defaults to $Mydir/mk 237 allow op={configure,build,install,clean,all} 238 add options to facilitate install 239 * Makefile.config.in: just the bits set by configure 240 * Makefile: bump version to 20121212 241 abandon Makefile.in (NetBSD Makefile) 242 leverage mk/* instead 243 * configure.in: ensure srcdir is absolute 244 2452012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 246 247 * Makefile.in (MAKE_VERSION): 20121111 248 fix generation of bmake.cat1 249 2502012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 251 252 * Makefile.in (MAKE_VERSION): 20121109 253 Merge with NetBSD make, pick up 254 o make.c: MakeBuildChild: return 0 so search continues if a 255 .ORDER dependency is detected. 256 o unit-tests/order: test the above 257 2582012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 259 260 * Makefile.in (MAKE_VERSION): 20121102 261 Merge with NetBSD make, pick up 262 o cond.c: allow cond_state[] to grow. 263 In meta mode with a very large tree, we can hit the limit 264 while processing dirdeps. 265 2662012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 267 268 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 269 2702012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 271 272 * Makefile.in (MAKE_VERSION): 20121010 273 o protect syntax that only bmake parses correctly. 274 o remove auto setting of FORCE_MACHINE, use configure's 275 --with-force-machine=whatever if that is desired. 276 2772012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 278 279 * Makefile.in: do not lose history from make.1 when generating bmake.1 280 2812012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 282 283 * Makefile.in (MAKE_VERSION): 20121007 284 Merge with NetBSD make, pick up 285 o compat.c: ignore empty commands - same as jobs mode. 286 o make.1: document meta chars that cause use of shell 287 2882012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 289 290 * Makefile.in (MAKE_VERSION): bump version to 20120911 291 * bsd.after-import.mk: include Makefile.inc early and allow it to 292 override PROG 293 2942012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 295 296 * Makefile.in (MAKE_VERSION): bump version to 20120831 297 Merge with NetBSD make, pick up 298 o cast sizeof() to int for comparison 299 o minor make.1 tweak 300 3012012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 302 303 * Makefile.in (MAKE_VERSION): bump version to 20120830 304 Merge with NetBSD make, pick up 305 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 306 o debug flag -dV causes -V to show raw value regardless. 307 3082012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 309 310 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 311 gets SRCTOP set. 312 3132012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 314 315 * Makefile.in (MAKE_VERSION): bump version to 20120704 316 Merge with NetBSD make, pick up 317 o Job_ParseShell should call Shell_Init if it has been 318 previously called. 319 * Makefile.in: set USE_META based on configure result. 320 also .PARSEDIR is safer indicator of bmake. 321 3222012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 323 324 * Makefile.in: bump version to 20120626 325 ensure CPPFLAGS is in CFLAGS 326 * meta.c: avoid nested externs 327 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 328 3292012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 330 331 * Makefile.in (MAKE_VERSION): bump version to 20120620 332 Merge with NetBSD make, pick up 333 o make_malloc.c: avoid including make_malloc.h again 334 335 * Makefile.in: avoid bmake only syntax or protect with 336 .if defined(.MAKE.LEVEL) 337 * bsd.after-import.mk: replace .-include with .sinclude 338 ensure? SRCTOP gets a value 339 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 340 3412012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 342 343 * Makefile.in (MAKE_VERSION): bump version to 20120612 344 Merge with NetBSD make, pick up 345 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 346 for greater portability. 347 o unit-tests/forloop: check that .for works as expected wrt 348 number of times and with "quoted strings". 349 3502012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 351 352 * Makefile.in (MAKE_VERSION): bump version to 20120606 353 Merge with NetBSD make, pick up 354 o compat.c: use kill(2) rather than raise(3). 355 * configure.in: look for sys/dev/filemon 356 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 357 and pass BOOTSTRAP_XTRAS to boot-strap. 358 3592012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 360 361 * Makefile.in (MAKE_VERSION): bump version to 20120604 362 Merge with NetBSD make, pick up 363 o util.c and var.c share same var for tracking if environ 364 has been reallocated. 365 o util.c provide getenv with setenv. 366 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 367 when the shell actively strips .MAKE.* from the environment. 368 We still refer to the variable always as .MAKE.LEVEL 369 * util.c fix bug in findenv() was finding prefix of name. 370 * compat.c: re-raising SIGINT etc after running .INTERRUPT 371 results in more reliable termination of all activity on many 372 platforms. 373 3742012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 375 376 * Makefile.in (MAKE_VERSION): bump version to 20120602 377 Merge with NetBSD make, pick up 378 o for.c: handle quoted items in .for list 379 3802012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 381 382 * Makefile.in (MAKE_VERSION): bump version to 20120530 383 Merge with NetBSD make, pick up 384 o compat.c: ignore empty command. 385 3862012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 387 388 * Makefile.in (MAKE_VERSION): bump version to 20120524 389 * FILES: add bsd.after-import.mk: 390 A simple means of integrating bmake into a BSD build system. 391 3922012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 393 394 * Makefile.in (MAKE_VERSION): bump version to 20120520 395 Merge with NetBSD make, pick up 396 o increased limit for nested conditionals. 397 3982012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 399 400 * Makefile.in (MAKE_VERSION): bump version to 20120518 401 Merge with NetBSD make, pick up 402 o use _exit(2) in signal hanlder 403 o Don't use the [dir] cache when building nodes that might have 404 changed since the last exec. 405 o Avoid nested extern declaration warnings. 406 4072012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 408 409 * meta.c (fgetLine): avoid %z - not portable. 410 * parse.c: Since we moved include of sys/mman.h 411 and def's of MAP_COPY etc. we got dups from a merge. 412 4132012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 414 415 * Makefile.in (MAKE_VERSION): bump version to 20120420 416 Merge with NetBSD make, pick up 417 o restore duplicate supression in .MAKE.MAKEFILES 418 runtime saving can be significant. 419 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 420 consumption up to 20%. 421 4222012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 423 424 * Makefile.in (MAKE_VERSION): bump version to 20120420 425 Merge with NetBSD make, pick up 426 o remove duplicate supression in .MAKE.MAKEFILES 427 o improved dir cache behavior 428 o gmake'ish export command 429 4302012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 431 432 * Makefile.in (MAKE_VERSION): bump version to 20120325 433 Merge with NetBSD make, pick up 434 o fix parsing of :[#] in conditionals. 435 4362012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 437 438 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 439 since some systems cannot cope with .Nx <version> 440 4412011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 442 443 * Makefile.in (MAKE_VERSION): bump version to 20111111 444 Merge with NetBSD make, pick up 445 o debug output for .PARSEDIR and .PARSEFILE 446 4472011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 448 449 * Makefile.in (MAKE_VERSION): bump version to 20111010 450 4512011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 452 453 * boot-strap: check for an expected file in the dirs we look for. 454 * make-bootstrap.sh: pass on LDSTATIC 455 4562011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 457 458 * Makefile.in (MAKE_VERSION): bump version to 20111001 459 Merge with NetBSD make, pick up 460 o ensure .PREFIX is set for .PHONY 461 and .TARGET set for .PHONY run via .END 462 o __dead used consistently 463 4642011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 465 466 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 467 4682011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 469 470 * Makefile.in (MAKE_VERSION): bump version to 20110905 471 Merge with NetBSD make, pick up 472 o meta_oodate: ignore makeDependfile 473 4742011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 475 476 * Makefile.in (MAKE_VERSION): bump version to 20110828 477 Merge with NetBSD make, pick up 478 o silent=yes in .MAKE.MODE causes meta mode to mark targets 479 as SILENT if a .meta file is created 480 4812011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 482 483 * Makefile.in (MAKE_VERSION): bump version to 20110818 484 Merge with NetBSD make, pick up 485 o in meta mode, if target flagged .META a missing .meta file 486 means target is out-of-date 487 o fixes for gcc 4.5 warnings 488 o simplify job printing code 489 4902011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 491 492 * Makefile.in (MAKE_VERSION): bump version to 20110808 493 Merge with NetBSD make, pick up 494 o do not touch OP_SPECIAL targets when doing make -t 495 4962011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 497 498 * Makefile.in (MAKE_VERSION): bump version to 20110622 499 Merge with NetBSD make, pick up 500 o meta_oodate detect corrupted .meta file and declare oodate. 501 * configure.in: add check for setsid 502 5032011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 504 505 * Merge with NetBSD make, pick up 506 o unit-tests/modts now works on MirBSD 507 5082011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 509 510 * Makefile.in (MAKE_VERSION): bump version to 20110606 511 Merge with NetBSD make, pick up 512 o ApplyModifiers: when we parse a variable which is not 513 the entire modifier string, or not followed by ':', do not 514 consider it as containing modifiers. 515 o loadfile: ensure newline at end of mapped file. 516 5172011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 518 519 * Makefile.in (MAKE_VERSION): bump version to 20110505 520 Merge with NetBSD make, pick up 521 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 522 of make's control. In meta mode, any generated file within 523 said bailiwick, which is found to be missing, causes current 524 target to be out-of-date. 525 5262011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 527 528 * Makefile.in (MAKE_VERSION): bump version to 20110411 529 Merge with NetBSD make, pick up 530 o when long modifiers fail to match, check sysV style. 531 - add a test case 532 5332011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 534 535 * Makefile.in (MAKE_VERSION): bump version to 20110410 536 Merge with NetBSD make, pick up 537 o :hash - cheap 32bit hash of value 538 o :localtime, :gmtime - use value as format string for strftime. 539 5402011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 541 542 * Makefile.in (MAKE_VERSION): bump version to 20110330 543 mostly because its a cooler version. 544 Merge with NetBSD make, pick up 545 o NetBSD tags for meta.[ch] 546 o job.c call meta_job_finish() after meta_job_error(). 547 o meta_job_error() should call meta_job_finish() to ensure 548 .meta file is closed, and safe to copy - if .ERROR target wants. 549 meta_job_finish() is safe to call repeatedly. 550 5512011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 552 553 * unit-tests/modts: use printf if it is a builtin, 554 to save us from MirBSD 555 556 * Makefile.in (MAKE_VERSION): bump version to 20110329 557 Merge with NetBSD make, pick up 558 o fix for use after free() in CondDoExists(). 559 o meta_oodate() report extra commands and return earlier. 560 5612011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 562 563 * Makefile.in (MAKE_VERSION): bump version to 20110327 564 Merge with NetBSD make, pick up 565 o meta.c, if .MAKE.MODE contains curdirOk=yes 566 allow creating .meta files in .CURDIR 567 * boot-strap (TOOL_DIFF): aparently at least on linux distro 568 formats the output of 'type' differently - so eat any "()" 569 5702011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 571 572 * Makefile.in (MAKE_VERSION): bump version to 20110306 573 Merge with NetBSD make, pick up 574 o meta.c, only do getcwd() once 575 5762011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 577 578 * Makefile.in (MAKE_VERSION): bump version to 20110305 579 Merge with NetBSD make, pick up 580 o correct sysV substitution handling of empty lhs and variable 581 o correct exists() check for dir with trailing / 582 o correct handling of modifiers for non-existant variables 583 during evaluation of conditionals. 584 o ensure MAP_FILE is defined. 585 o meta.c use curdir[] now exported by main.c 586 5872011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 588 589 * Makefile.in (MAKE_VERSION): bump version to 20110225 590 Merge with NetBSD make, pick up 591 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 592 makefiles have been read. 593 o fix example of :? modifier in man page. 594 5952011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 596 597 * Makefile.in (MAKE_VERSION): bump version to 20110214 598 Merge with NetBSD make, pick up 599 o meta.c handle realpath() failing when generating meta file 600 name. 601 602 * sigcompat.c: convert to ansi so we can use higher warning levels. 603 604 6052011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 606 607 * Makefile.in (MAKE_VERSION): bump version to 20110207 608 Merge with NetBSD make, pick up 609 o fix for bug in meta mode. 610 6112011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 612 613 * parse.c: SunOS 5.8 at least does not have MAP_FILE 614 6152011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 616 617 * Makefile.in (MAKE_VERSION): bump version to 20110101 618 Merge with NetBSD make, pick up 619 o use mmap(2) if available, for reading makefiles 620 6212010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 622 623 * Makefile.in (MAKE_VERSION): bump version to 20101215 624 Merge with NetBSD make, pick up 625 o ensure meta_job_error() does not report a previous .meta file 626 as being culprit. 627 6282010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 629 630 * Makefile.in (MAKE_VERSION): bump version to 20101210 631 Merge with NetBSD make, pick up 632 o meta_oodate: track cwd per process, and only consider target 633 out-of-date if missing file is outside make's CWD. 634 Ignore files in /tmp/ etc. 635 o to ensure unit-tests results match, need to control LC_ALL 636 as well as LANG. 637 o fix for parsing bug in var.c 638 6392010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 640 641 * Makefile.in (MAKE_VERSION): bump version to 20101126 642 Merge with NetBSD make, pick up 643 o if stale dependency is an IMPSRC, search via .PATH 644 o meta_oodate: if a referenced file is missing, target is 645 out-of-date. 646 o meta_oodate: if a target uses .OODATE in its commands, 647 it (.OODATE) needs to be recomputed. 648 o keep a pointer to youngest child node, rather than just its 649 mtime. 650 6512010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 652 653 * Makefile.in (MAKE_VERSION): bump version to 20101101 654 6552010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 656 657 * machine.sh: like os.sh, 658 allow for uname -p producing useless drivel 659 6602010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 661 662 * boot-strap: document configure knobs for meta and filemon. 663 664 * Makefile.in (MAKE_VERSION): bump version to 20100911 665 Merge with NetBSD make, pick up 666 o meta.c - meta mode 667 668 * make-bootstrap.sh.in: handle meta.c 669 * configure.in: add knobs for use_meta and filemon_h 670 also, look for dirname, str[e]sep and strlcpy 671 * util.c: add simple err[x] and warn[x] 672 6732010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 674 675 * boot-strap (TOOL_DIFF): set this to ensure tests use 676 the same version of diff that configure tested 677 678 * Makefile.in (MAKE_VERSION): bump version to 20100808 679 Merge with NetBSD make, pick up 680 o in jobs mode, when we discover we cannot make something, 681 call PrintOnError before exit. 682 6832010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 684 685 * Makefile.in (MAKE_VERSION): bump version to 20100806 686 Merge with NetBSD make, pick up 687 o formatting fixes for ignored errors 688 o ensure jobs are cleaned up regardless of where wait() was called. 689 6902010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 691 692 * Makefile.in (MAKE_VERSION): bump version to 20100618 693 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 694 6952010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 696 697 * Makefile.in (MAKE_VERSION): bump version to 20100616 698 Merge with NetBSD make, pick up 699 o man page update 700 o call PrintOnError from JobFinish when we detect an error we 701 are not ignoring. 702 7032010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 704 705 * Makefile.in (MAKE_VERSION): bump version to 20100606 706 Merge with NetBSD make, pick up 707 o man page update 708 7092010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 710 711 * Makefile.in (MAKE_VERSION): bump version to 20100605 712 Merge with NetBSD make, pick up 713 o use bmake_signal() which is a wrapper around sigaction() 714 in place of signal() 715 o add .export-env to allow exporting variables to environment 716 without tracking (so no re-export when the internal value is 717 changed). 718 7192010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 720 721 * Makefile.in (MAKE_VERSION): bump version to 20100524 722 Merge with NetBSD make, pick up 723 o fix for .info et al being greedy. 724 7252010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 726 727 * Makefile.in (MAKE_VERSION): bump version to 20100520 728 Merge with NetBSD make, pick up 729 o back to using realpath on argv[0] 730 but only if contains '/' and does not start with '/'. 731 7322010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 733 734 * boot-strap: use absolute path for bmake when running tests. 735 736 * Makefile.in (MAKE_VERSION): bump version to 20100510 737 Merge with NetBSD make, pick up 738 o revert use of realpath on argv[0] 739 too many corner cases. 740 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 741 7422010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 743 744 * Makefile.in (MAKE_VERSION): bump version to 20100505 745 Merge with NetBSD make, pick up 746 o fix for missed SIGCHLD when compiled with SunPRO 747 actually for bmake, defining FORCE_POSIX_SIGNALS would have 748 done the job. 749 7502010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 751 752 * Makefile.in (MAKE_VERSION): bump version to 20100430 753 Merge with NetBSD make, pick up 754 o fflush stdout before writing to stdout 755 7562010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 757 758 * Makefile.in (MAKE_VERSION): bump version to 20100423 759 Merge with NetBSD make, pick up 760 o updated unit tests for Haiku (this time for sure). 761 * boot-strap: based on patch from joerg 762 honor --with-default-sys-path better. 763 * boot-strap: remove mention of --with-prefix-sys-path 764 7652010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 766 767 * Makefile.in (MAKE_VERSION): bump version to 20100422 768 * Merge with NetBSD make, pick up 769 o fix for vfork() on Darwin. 770 o fix for bogus $TMPDIR. 771 o set .MAKE.MODE=compat for -B 772 o set .MAKE.JOBS=max_jobs for -j max_jobs 773 o allow unit-tests to run without any *.mk 774 o unit-tests/modmisc be more conservative in dirs presumed to exist. 775 * boot-strap: ignore /usr/share/mk except on NetBSD. 776 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 777 ensure sort(1) behaves as expected. 778 7792010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 780 781 * boot-strap: add FindHereOrAbove so we can use -m .../mk 782 7832010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 784 785 * Makefile.in (MAKE_VERSION): bump version to 20100420 786 * Merge with NetBSD make, pick up 787 o fix for variable realpath() behavior. 788 we have to stat(2) the result to be sure. 789 o fix for .export (all) when nested vars use :sh 790 7912010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 792 793 * Makefile.in (MAKE_VERSION): bump version to 20100414 794 * Merge with NetBSD make, pick up 795 o use realpath to resolve argv[0] (for .MAKE) if needed. 796 o add realpath from libc. 797 o add :tA to resolve variable via realpath(3) if possible. 798 7992010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 800 801 * Makefile.in (MAKE_VERSION): bump version to 20100408 802 * Merge with NetBSD make, pick up 803 o unit tests for .ERROR, .error 804 o fix for .ERROR to ensure it cannot be default target. 805 8062010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 807 808 * Makefile.in (MAKE_VERSION): bump version to 20100406 809 * Merge with NetBSD make, pick up 810 o fix for compat mode "Error code" going to debug_file. 811 o fix for .ALLSRC being populated twice. 812 o support for .info, .warning and .error directives 813 o .MAKE.MODE to control make's operational mode 814 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 815 name(s). 816 o .MAKE.DEPENDFILE to control the name of the depend file 817 o .ERROR target - run on failure. 818 8192010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 820 821 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 822 823 * os.sh,arch.c: patch for Haiku from joerg at netbsd 824 8252010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 826 827 * Makefile.in (MAKE_VERSION): bump version to 20100222 828 * Merge with NetBSD make, pick up 829 o better error msg for .for with mutiple inter vars 830 831 * boot-strap: 832 o use make-bootstrap.sh from joerg at netbsd 833 to avoid the need for a native make when bootstrapping. 834 o add "" everywhere ;-) 835 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 836 otherwise the pre-formated version. 837 8382010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 839 840 * Makefile.in (MAKE_VERSION): bump version to 20100102 841 * Merge with NetBSD make, pick up: 842 o fix for -m .../ 843 8442009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 845 846 * Makefile.in (MAKE_VERSION): bump version to 20091118 847 * Merge with NetBSD make, pick up: 848 o .unexport 849 o report lines that start with '.' and should have ':' 850 (catch typo's of .el*if). 851 8522009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 853 854 * configure.in: Ensure that srcdir and mksrc are absolute paths. 855 8562009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 857 858 * Makefile.in (MAKE_VERSION): fix version to 20091007 859 8602009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 861 862 * Makefile.in (MAKE_VERSION): bump version to 200910007 863 * Merge with NetBSD make, pick up: 864 o fix for parsing of :S;...;...; applied to .for loop iterator 865 appearing in a dependency line. 866 8672009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 868 869 * Makefile.in (MAKE_VERSION): bump version to 20090909 870 * Merge with NetBSD make, pick up: 871 o fix for -C, .CURDIR and .OBJDIR 872 * boot-strap: 873 o allow share_dir to be set independent of prefix. 874 o select default share_dir better when prefix ends in $HOST_TARGET 875 o if FORCE_BSD_MK etc were set, include them in the suggested 876 install-mk command. 877 8782009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 879 880 * Makefile.in (MAKE_VERSION): bump version to 20090908 881 * Merge with NetBSD make, pick up: 882 o .MAKE.LEVEL for recursion tracking 883 o fix for :M scanning \: 884 8852009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 886 887 * configure.in: Don't -D__EXTENSIONS__ if 888 AC_USE_SYSTEM_EXTENSIONS says "no". 889 8902009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 891 892 * Makefile.in (MAKE_VERSION): bump version to 20090826 893 Simplify MAKE_VERSION to just the bare date. 894 * Merge with NetBSD make, pick up: 895 o -C directory support. 896 o support for SIGINFO 897 o use $TMPDIR for temp files. 898 o child of vfork should be careful about modifying parent's state. 899 900 9012009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 902 903 * Appy some patches for MiNT from David Brownlee 904 9052009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 906 907 * Makefile.in (BMAKE_VERSION): bump version to 20090222 908 * Merge with NetBSD make, pick up: 909 o Possible null pointer de-ref in Var_Set. 910 9112009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 912 913 * Makefile.in (BMAKE_VERSION): bump version to 20090204 914 * Merge with NetBSD make, pick up: 915 o bmake_malloc et al moved to their own .c 916 o Count both () and {} when looking for the end of a :M pattern 917 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 918 o strlist.c - functions for processing extendable arrays of pointers to strings. 919 o ClientData replaced with void *, so const void * can be used. 920 o New debug flag C for DEBUG_CWD 921 9222008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 923 924 * Makefile.in (BMAKE_VERSION): bump version to 20081111 925 Apply patch from Joerg Sonnenberge to 926 configure.in: 927 o remove some redundant checks 928 o check for emlloc etc only in libutil and require the whole family. 929 util.c: 930 o remove [v]asprintf which is no longer used. 931 9322008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 933 934 * Makefile.in (BMAKE_VERSION): bump version to 20081101 935 * Merge with NetBSD make, pick up: 936 o util.c: avoid use of putenv() - christos 937 9382008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 939 940 * Makefile.in (BMAKE_VERSION): bump version to 20081030 941 pick up man page tweaks. 942 9432008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 944 945 * Makefile.in: move processing of LIBOBJS to after is definition! 946 thus we'll have getenv.c in SRCS only if needed. 947 948 * make.1: add examples of how to use :? 949 950 * Makefile.in (BMAKE_VERSION): bump version to 20081029 951 * Merge with NetBSD make, pick up: 952 o fix for .END processing with -j 953 o segfault from Parse_Error when no makefile is open 954 o handle numeric expressions in any variable expansion 955 o debug output now defaults to stderr, -dF to change it - apb 956 o make now uses bmake_malloc etc so that it can build natively 957 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 958 9592008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 960 961 * Makefile.in (BMAKE_VERSION): bump version to 20080808 962 * Merge with NetBSD make, pick up: 963 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 964 long lines in Makefiles 965 o optimizations for VarQuote by joerg 966 o fix for PR/38756: dominik: make dumps core on invalid makefile 967 9682008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 969 970 * Makefile.in (BMAKE_VERSION): bump version to 20080515 971 * Merge with NetBSD make, pick up: 972 o fix skip setting vars in VAR_GLOBAL context, to handle 973 cases where VAR_CMD is used for other than command line vars. 974 9752008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 976 977 * boot-strap (make_version): we may need to look in 978 $prefix/share/mk for sys.mk 979 980 * Makefile.in (BMAKE_VERSION): bump version to 20080514 981 * Merge with NetBSD make, pick up: 982 o skip setting vars in VAR_GLOBAL context, when already set in 983 VAR_CMD which takes precedence. 984 9852008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 986 987 * Makefile.in (BMAKE_VERSION): bump version to 20080330 988 * Merge with NetBSD make, pick up: 989 o fix for ?= when LHS contains variable reference. 990 9912008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 992 993 * merge some patches from NetBSD pkgsrc. 994 995 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 996 the MAKSYSPATH used during bootstrap. 997 998 * Makefile.in (BMAKE_VERSION): bump version to 20080215 999 * Merge with NetBSD make, pick up: 1000 o warn if non-space chars follow 'empty' in a conditional. 1001 10022008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1003 1004 * Makefile.in (BMAKE_VERSION): bump version to 20080118 1005 * Merge with NetBSD make, pick up: 1006 o consider dependencies read from .depend as optional - dsl 1007 o remember when buffer for reading makefile grows - dsl 1008 o add -dl (aka LOUD) - David O'Brien 1009 10102007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 1011 1012 * Makefile.in (BMAKE_VERSION): bump version to 20071022 1013 * Merge with NetBSD make, pick up: 1014 o Allow .PATH<suffix> to be used for .include "" 1015 1016 * boot-strap: source default settings from .bmake-boot-strap.rc 1017 10182007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 1019 1020 * Makefile.in: fix maninstall on various systems 1021 provided that our man.mk is used. 1022 For non-BSD systems we install the preformatted page 1023 into $MANDIR/cat1 1024 10252007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 1026 1027 * boot-strap: make bmake.1 too, so maninstall works. 1028 10292007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 1030 1031 * Makefile.in (BMAKE_VERSION): bump version to 20071014 1032 * Merge with NetBSD make, pick up: 1033 o revamped handling of defshell - configure no longer needs to 1034 know the content of the shells array - apb 1035 o stop Var_Subst modifying its input - apb 1036 o avoid calling ParseTrackInput too often - dsl 1037 10382007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 1039 1040 * Makefile.in (BMAKE_VERSION): bump version to 20071011 1041 * Merge with NetBSD make, pick up: 1042 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 1043 1044 * sigcompat.c: some tweaks for HP-UX 11.x based on 1045 patch from Tobias Nygren 1046 1047 * configure.in: update handling of --with-defshell to match 1048 new make behavior. --with-defshell=/usr/xpg4/bin/sh 1049 will now do what one might hope - provided the chosen shell 1050 behaves enough like sh. 1051 10522007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 1053 1054 * Makefile.in (BMAKE_VERSION): bump to 20071008 1055 * Merge with NetBSD make, pick up: 1056 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 1057 o .export/.MAKE.EXPORTED - export of variables - sjg 1058 o .MAKE.MAKEFILES - track all makefiles read - sjg 1059 o performance improvements - dsl 1060 o revamp parallel job scheduling - dsl 1061 10622006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1063 1064 * Makefile.in (BMAKE_VERSION): bump to 20060728 1065 * Merge with NetBSD make, pick up: 1066 o extra debug info during variable and cond processing - sjg 1067 o shell definition now covers newline - rillig 1068 o minor mem leak in PrintOnError - sjg 1069 10702006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1071 1072 * Makefile.in (BMAKE_VERSION): bump to 20060511 1073 * Merge with NetBSD make, pick up: 1074 o more memory leaks - coverity 1075 o possible overflow in ArchFindMember - coverity 1076 o extract variable modifier code out of Var_Parse() 1077 so it can be called recursively - sjg 1078 o unit-tests/moderrs - sjg 1079 10802006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 1081 1082 * Makefile.in (BMAKE_VERSION): bump to 20060412 1083 * Merge with NetBSD make, pick up: 1084 o fixes for some memory leaks - coverity 1085 o only read first sys.mk etc when searching sysIncPath - sjg 1086 1087 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 1088 setting ${MAKEFILE} - OBATA Akio 1089 10902006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1091 1092 * Makefile.in (BMAKE_VERSION): bump to 20060318 1093 * Merge with NetBSD make, pick up: 1094 o cleanup of job.c to remove remote handling, distcc is more 1095 useful and this code was likely bit-rotting - dsl 1096 o fix for :P modifier - sjg 1097 * boot-strap: set default prefix to something reasonable 1098 (for me anyway). 1099 11002006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1101 1102 * Makefile.in (BMAKE_VERSION): bump to 20060301 1103 * Merge with NetBSD make, pick up: 1104 o make .WAIT apply recursively, document and test case - apb 1105 o allow variable modifiers in a variable appear anywhere in 1106 modifier list, document and test case - sjg 1107 11082006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 1109 1110 * Makefile.in (BMAKE_VERSION): bump to 20060222 1111 * Merge with NetBSD make, pick up: 1112 o improved job token handling - dsl 1113 o SIG_DFL the correct signal before exec - dsl 1114 o more debug info during parsing - dsl 1115 o allow variable modifiers to be specified via variable - sjg 1116 * boot-strap: explain why we died if no mksrc 1117 11182005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 1119 1120 * Makefile.in (BMAKE_VERSION): bump to 20051105 1121 * configure.in: always set default_sys_path 1122 default is ${prefix}/share/mk 1123 - remove prefix_sys_path, anyone wanting more than above 1124 needs to set it manually. 1125 11262005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1127 1128 * boot-strap: make this a bit easier for pkgsrc folk. 1129 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 1130 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 1131 11322005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 1133 1134 * Makefile.in (BMAKE_VERSION): bump to 20051102 1135 * job.c (JobFinish): fix likely ancient merge lossage 1136 fix from Todd Vierling. 1137 * boot-strap (srcdir): allow setting mksrc=none 1138 11392005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 1140 1141 * Makefile.in (BMAKE_VERSION): bump to 20051031 1142 * ranlib.h: skip on OSF too. 1143 (NetBSD PR 31864) 1144 11452005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 1146 1147 * Makefile.in (BMAKE_VERSION): bump to 20051002 1148 fix a silly typo 1149 11502005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1151 1152 * Makefile.in (BMAKE_VERSION): bump to 20051001 1153 support for UnixWare and some other systems, 1154 based on patches from pkgsrc/bootstrap 1155 11562005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1157 1158 * Makefile.in (BMAKE_VERSION): bump to 20050901 1159 * Merge with NetBSD make, pick up: 1160 o possible parse error causing us to wander off. 1161 11622005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 1163 1164 * Makefile.in (BMAKE_VERSION): bump to 20050606 1165 * Merge with NetBSD make, pick up: 1166 o :0x modifier for randomizing a list 1167 o fixes for a number of -Wuninitialized issues. 1168 11692005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 1170 1171 * Makefile.in (BMAKE_VERSION): bump to 20050530 1172 * Merge with NetBSD make, pick up: 1173 o Handle dependencies for .BEGIN, .END and .INTERRUPT 1174 1175 * README: was seriously out of date. 1176 11772005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1178 1179 * Important to use .MAKE rather than MAKE. 1180 11812005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 1182 1183 * Makefile.in (BMAKE_VERSION): bump to 20050315 1184 * Merge with NetBSD make, pick up: 1185 o don't mistake .elsefoo for .else 1186 o use suffix-specific search path correctly 1187 o bunch of style nits 1188 11892004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1190 1191 * boot-strap: 1192 o ensure that args to --src and --with-mksrc 1193 are resolved before giving them to configure. 1194 o add -o "objdir" so that builder can control it, 1195 default is $OS as determined by os.sh 1196 o add -q to suppress all the install instructions. 1197 11982004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 1199 1200 * Remove __IDSTRING() 1201 1202 * Makefile.in (BMAKE_VERSION): bump to 20040508 1203 * Merge with NetBSD make, pick up: 1204 o posix fixes 1205 - remove '-e' from compat mode 1206 - add support for '+' command-line prefix. 1207 o fix for handling '--' on command-line. 1208 o fix include in lst.lib/lstInt.h to simplify '-I's 1209 o we also picked up replacement of MAKE_BOOTSTRAP 1210 with !MAKE_NATIVE which is a noop, but possibly confusing. 1211 12122004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 1213 1214 * Makefile.in (BMAKE_VERSION): bump to 20040414 1215 * Merge with NetBSD make, pick up: 1216 o allow quoted strings on lhs of conditionals 1217 o issue warning when extra .else is seen 1218 o print line numer when errors encountered during parsing from 1219 string. 1220 12212004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 1222 1223 * Makefile.in (BMAKE_VERSION): bump to 20040220 1224 * Merge with NetBSD make, pick up: 1225 o fix for old :M parsing bug. 1226 o re-jigged unit-tests 1227 12282004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1229 1230 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 1231 so that './bmake -f Makefile test' works. 1232 12332004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 1234 1235 * Makefile.in: (BMAKE_VERSION): bump to 20040214 1236 * Merge with NetBSD make, pick up: 1237 o search upwards for *.mk 1238 o fix for double free of var substitution buffers 1239 o use of getopt replaced with custom code, since the usage 1240 (re-scanning) isn't posix compatible. 1241 12422004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 1243 1244 * arch.c: don't include ranlib.h on ELF systems 1245 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 1246 12472004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1248 1249 * Makefile.in (BMAKE_VERSION): bump to 20040118 1250 1251 * boot-strap (while): export vars we assign to on cmdline 1252 * unit-test/Makefile.in: ternary is .PHONY 1253 12542004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 1255 1256 * Makefile.in (BMAKE_VERSION): bump version to 20040108 1257 * Merge with NetBSD make, pick up: 1258 o fix for ternary modifier 1259 12602004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 1261 1262 * Makefile.in (BMAKE_VERSION): bump version to 20040105 1263 * Merge with NetBSD make, pick up: 1264 o fix for cond.c to handle compound expressions better 1265 o variable expansion within sysV style replacements 1266 12672003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 1268 1269 * Make portable snprintf safer - output to /dev/null first to 1270 check space needed. 1271 1272 * Makefile.in (BMAKE_VERSION): bump version to 20031222 1273 * Merge with NetBSD make, pick up: 1274 o -dg3 to show input graph when things go wrong. 1275 o explicitly look for makefiles in objdir if not found in curdir so 1276 that errors in .depend etc will be reported accurarely. 1277 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 1278 instead as it more accurately reflects the expected behavior and 1279 is more consistently implemented. 1280 o avoid use of asprintf. 1281 12822003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 1283 1284 * util.c: Add asprintf and vasprintf. 1285 1286 * Makefile.in (BMAKE_VERSION): bump version to 20030928 1287 * Merge with NetBSD make, pick up: 1288 :[] modifier - allows picking words from a variable. 1289 :tW modifier - allows treating value as one big word. 1290 W flag for :C and :S - allows treating value as one big word. 1291 12922003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 1293 1294 * Merge with NetBSD make 1295 pick up -de flag to enable printing failed command. 1296 don't skip 1st two dir entries (normally . and ..) since 1297 coda does not have them. 1298 12992003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1300 1301 * Makefile.in (BMAKE_VERSION): bump version to 20030909 1302 * Merge with NetBSD make, pick up: 1303 - changes for -V '${VAR}' to print fully expanded value 1304 cf. -V VAR 1305 - CompatRunCommand now prints the command that failed. 1306 - several files got updated 3 clause Berkeley license. 1307 13082003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 1309 1310 * boot-strap: Allow setting configure args on command line. 1311 13122003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 1313 1314 * configure.in: add --with-defshell to allow sh or ksh 1315 to be selected as default shell. 1316 1317 * Makefile.in: bump version to 20030731 1318 1319 * Merge with NetBSD make 1320 Pick up .SHELL spec for ksh and associate man page changes. 1321 Also compat mode now uses the same shell specs. 1322 13232003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 1324 1325 * var.c (Var_Parse): ensure delim is initialized. 1326 1327 * unit-tests/Makefile.in: use single quotes to avoid problems from 1328 some shells. 1329 1330 * makefile.boot.in: 1331 Run the unit-tests as part of the bootstrap procedure. 1332 13332003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1334 1335 * unit-tests/Makefile.in: always force complaints from 1336 ${TEST_MAKE} to be from 'make'. 1337 1338 * configure.in: add check for 'diff -u' 1339 also fix some old autoconf'isms 1340 1341 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 1342 if using GCC add -Wno-cast-qual to CFLAGS for var.o 1343 1344 * Merge with NetBSD make 1345 Pick up fix for :ts parsing error in some cases. 1346 Pick unit-tests. 1347 13482003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 1349 1350 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 1351 1352 * var.c (Var_Parse): fix bug in :ts modifier, after const 1353 correctness fixes, must pass nstr to VarModify. 1354 13552003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 1356 1357 * Makefile.in: BMAKE_VERSION switch to a date based version. 1358 We'll generally use the date of last import from NetBSD. 1359 1360 * Merge with NetBSD make 1361 Pick up fixes for const-correctness, now passes WARNS=3 on 1362 NetBSD. 1363 Pick up :ts modifier, allows controlling the separator used 1364 between words in variable expansion. 1365 13662003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 1367 1368 * FILES: include boot-strap and os.sh 1369 1370 * Makefile.in: only set WARNS if we are NetBSD, the effect on 1371 FreeBSD is known to be bad. 1372 1373 * makefile.boot.in (bootstrap): make this the default target. 1374 1375 * Makefile.in: bump version to 3.1.19 1376 1377 * machine.sh: avoid A-Z with tr as it is bound to lose. 1378 13792003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 1380 1381 * Merge with NetBSD make 1382 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 1383 Plus some doc fixes. 1384 13852003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 1386 1387 * Merge with NetBSD make 1388 Pick up fix for PR/1523 - don't count a library as built, if there 1389 is no way to build it 1390 1391 * Bump version to 3.1.18 1392 13932003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 1394 1395 * Merge with NetBSD make 1396 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 1397 appears in src list. 1398 13992003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 1400 1401 * Merge with NetBSD make (mmm 10th anniversary!) 1402 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 1403 pick up -X which tells us to not export VAR=val via setenv if 1404 we are already doing so via MAKEFLAGS. This saves valuable env 1405 space on systems like Darwin. 1406 set MAKE_VERSION to 3.1.17 1407 1408 * parse.c: pix up fix for suffix rules 1409 14102003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 1411 1412 * Merge with NetBSD make. 1413 pick up fix for propagating -B via MAKEFLAGS. 1414 set MAKE_VERSION to 3.1.16 1415 1416 * Apply some patches from pkgsrc-bootstrap/bmake 1417 Originally by Grant Beattie <grant@netbsd.org> 1418 I may have missed some - since they are based on bmake-3.1.12 1419 14202002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 1421 1422 * makefile.boot.in (bmake): update install targets for those that 1423 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 1424 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 1425 1426 * bmake.cat1: update the pre-formatted man page! 1427 14282002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 1429 1430 * Merge with NetBSD make. 1431 pick up fix for premature free of pointer used in call 1432 to Dir_InitCur(). 1433 set MAKE_VERSION to 3.1.15 1434 14352002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 1436 1437 * configure.in: determine suitable value for MKSRC. 1438 override using --with-mksrc=PATH. 1439 1440 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 1441 configs(8) will use 'sun4' as an alias for 'sparc'. 1442 14432002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 1444 1445 * Merge with NetBSD make. 1446 pick up ${.PATH} 1447 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 1448 set MAKE_VERSION to 3.1.14 1449 add configure checks for killpg and sys/socket.h 1450 14512002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 1452 1453 * tag bmake-3-1-13 1454 1455 * makefile.boot.in (bmake): use install-mk 1456 Also setup ./mk before trying to invoke bmake.boot incase we 1457 needed install-mk to create a sys.mk for us. 1458 1459 * configure.in: If we need to add -I${srcdir}/missing, make it an 1460 absolute path so that it works for lst.lib too. 1461 1462 * make.h: always include sys/cdefs.h since we provide one if the 1463 host does not. 1464 1465 * Makefile.in (install-mk): 1466 use MKSRC/install-mk which will do the right thing. 1467 use uname -p for ARCH if possible. 1468 since install-mk will setup links bsd.prog.mk -> prog.mk if 1469 needed, just .include bsd.prog.mk 1470 1471 * Merge with NetBSD make (NetBSD-1.6) 1472 Code is ansi-C only now. 1473 Bug in handling of dotLast is fixed. 1474 Can now assign .OBJDIR and make will reset its notions of life. 1475 New modifiers :tu :tl for toUpper and toLower. 1476 1477Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 1478 1479 * Merge with NetBSD make 1480 pick up fix for .END failure in compat mode. 1481 pick up fix for extra va_end() in ParseVErrorInternal. 1482 1483Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 1484 1485 * configure.in: for systems that have sys/cdefs.h check if it is 1486 compatible. If not, include the one under missing, but tell it to 1487 include the native one too - necessary on Linux. 1488 1489 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 1490 include_next (for gcc) to get the native sys/cdefs.h 1491 1492Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1493 1494 * job.c (JobFinish): Fix an earlier merge bug that resulted in 1495 leaking descriptors when using -jN. 1496 1497 * job.c (JobPrintCommand): See if "curdir" exists before 1498 attempting to chdir(). Doing the chdir directly in make (when in 1499 compat mode) fails silently, so let the -jN version do the same. 1500 This can happen when building kernels in an object tree and 1501 playing clever games to reset .CURDIR. 1502 1503 * Merged with NetBSD make 1504 pick up .USEBEFORE 1505 1506Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1507 1508 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 1509 1510Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1511 1512 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 1513 us not to export the iterator variable when using VAR_CMD context. 1514 1515Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1516 1517 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 1518 its the wrong "fix". 1519 1520Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1521 1522 * Redesigned export of VAR_CMD's via MAKEFLAGS. 1523 We now simply append the variable names to .MAKEOVERRIDES, and 1524 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 1525 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 1526 Apart from fixing quoting bugs in previous version, this allows us 1527 to export vars to the environment by simply doing: 1528 .MAKEOVERRIDES+= PATH 1529 Merged again with NetBSD make, but the above is the only change. 1530 1531 * configure.in: added 1532 --disable-pwd-override disable $PWD overriding getcwd() 1533 --disable-check-make-chdir disable make trying to guess 1534 when it should automatically cd ${.CURDIR} 1535 1536 * Merge with NetBSD make, changes include: 1537 parse.c (ParseDoDependency): Spot that the syntax error is 1538 caused by an unresolved cvs/rcs conflict and say so. 1539 var.c: most of Var* functions now take a ctxt as 1st arg. 1540 now does variable substituion on rhs of sysv style modifiers. 1541 1542 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 1543 is now done here. We append the name='value' to .MAKEOVERRIDES 1544 rather than directly into MAKEFLAGS as this allows a Makefile to 1545 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 1546 very similar mechanism. Note that in adding name='value' to 1547 .MAKEOVERRIDES we do the moral equivalent of: 1548 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 1549 1550Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1551 1552 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 1553 1554 * Merged with NetBSD make 1555 make -dx can now be used to run commands via sh -x 1556 better error messages on exec failures. 1557 1558Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1559 1560 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 1561 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 1562 MACHINE etc otherwise they propagate from the previous bmake. 1563 1564 * configure.in (machine): allow --with-machine=generic to make 1565 configure use machine.sh to set MACHINE. 1566 1567 * job.c (JobInterrupt): convert to using WAIT_T and friends. 1568 1569 * Makefile.in: mention in bmake.1 that we use autoconf. 1570 1571 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 1572 1573Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1574 1575 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 1576 as that rather defeats the usefulness of ${MAKEFILE}. 1577 1578 * main.c (MainParseArgs): append command line variable assignments 1579 to MAKEFLAGS so that they get propagated to child make's. 1580 Apparently this is required POSIX behaviour? Its useful anyway. 1581 1582Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1583 1584 * compat.c (CompatRunCommand): don't use perror() since stdio may 1585 cause problems in child of vfork(). 1586 1587 * compat.c, main.c: Call PrintOnError() when we are going to bail. 1588 This routine prints out the .curdir where we stopped and will also 1589 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 1590 1591 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 1592 :@ expansion. 1593 1594 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 1595 1596 * Added RCSid's for the files we've touched. 1597 1598Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1599 1600 * configure.in: Thanks to some clues from mdb@juniper.net, 1601 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 1602 as well as what ends up in _PATH_DEFSYSPATH. We now have: 1603 1604 --with-machine=MACHINE explicitly set MACHINE 1605 --with-force-machine=MACHINE set FORCE_MACHINE 1606 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 1607 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 1608 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 1609 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 1610 1611 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 1612 1613 * makefile: added a pathetically simple makefile to drive 1614 bootstrapping. Running configure by hand is more useful. 1615 1616 * Makefile.in: added MAKE_VERSION, and reworked things to be less 1617 dependent on NetBSD bsd.*.mk 1618 1619 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 1620 _PATH_OBJDIRPREFIX for those that don't want a default. 1621 construct _PATH_DEFSYSPATH from the info we get from configure. 1622 1623 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 1624 if MAKE_VERSION is defined. 1625 1626 * compat.c: when we bail, print out the .CURDIR we were in. 1627 1628Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1629 1630 * Merged with NetBSD make 1631 1632 * var.c: fixed a bug in the handling of the modifier :P 1633 if the node as found but the path was null, we segfault trying to 1634 duplicate it. 1635 1636Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 1637 1638 * Merged with NetBSD make 1639 1640 * make.c: Make_OODate's test for a library out of date was using 1641 cmtime where it should have used mtime (my bug). 1642 1643 * compat.c: Use perror() to tell us what really went wrong when we 1644 cannot exec a command. 1645 1646Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1647 1648 * Merged with NetBSD make 1649 1650Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1651 1652 * Merged with NetBSD make 1653 1654Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1655 1656 * Merged with NetBSD make 1657 1658Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1659 1660 * Merged with NetBSD make 1661 1662Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1663 1664 * util.c: don't provide signal() since we use sigcompat.c 1665 1666 * Makefile.in: added a build target. 1667 1668 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 1669 These allow some quite clever magic. 1670 1671 * main.c (main): added support for getenv(MAKESYSPATH). 1672 1673Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1674 1675 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 1676 This avoids objdir having a different value depending on how a 1677 directory was reached (via command line, or subdir.mk). 1678 1679 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 1680 1681Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1682 1683 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 1684 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 1685 I've been testing this in NetBSD's make for some weeks. 1686 1687 * Turn Makefile into Makefile.in and make it useful. 1688 1689Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 1690 1691 * Imported NetBSD's -current make(1) and resolve conflicts. 1692 1693 * Applied autoconf patches from bmake v2 1694 1695 * Imported clean code base from NetBSD-1.0 1696