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