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