12020-07-10 Simon J Gerraty <sjg@beast.crufty.net> 2 3 * configure.in: use AC_INCLUDES_DEFAULT rather than AC_HEADER_STDC 4 5 * VERSION (_MAKE_VERSION): 20200710 6 Merge with NetBSD make, pick up 7 o filemon/filemon_dev.c: use O_CLOEXEC rather than extra syscall 8 o meta.c: target flagged .META is out-of-date if meta file missing 9 102020-07-09 Simon J Gerraty <sjg@beast.crufty.net> 11 12 * VERSION (_MAKE_VERSION): 20200709 13 Merge with NetBSD make, pick up 14 o cond.c: fix for compare_expression when doEval=0 15 o unit-tests/Makefile: rework 16 o filemon/filemon_dev.c: ensure filemon fd is closed on exec. 17 182020-07-04 Simon J Gerraty <sjg@beast.crufty.net> 19 20 * VERSION (_MAKE_VERSION): 20200704 21 Merge with NetBSD make, pick up 22 (most of this by rillig@) 23 o lots of style and white-space cleanup 24 o lots more unit tests for variable modifiers 25 o simplified description of some functions 26 o str.c: refactor Str_Match 27 o var.c: debugging output for :@ 28 constify VarModify parameter 29 fix :hash modifier on 16-bit platforms 30 remove unnecessary forward declarations 31 refactor ApplyModifier_SysV to have less indentation 32 simplify code for :E and :R 33 clean up code for :H and :T 34 refactor ApplyModifiers 35 36 * var.c: we need stdint.h on some platforms to get uint32_t 37 * unit-test/Makefile: we need to supress the specific error 38 for RE substitution error in modmisc, since it varies accross 39 different OS. 40 412020-07-02 Simon J Gerraty <sjg@beast.crufty.net> 42 43 * VERSION (_MAKE_VERSION): 20200702 44 Merge with NetBSD make, pick up 45 o var.c: more improvements to avoiding unnecessary evaluation 46 use enums for flags 47 o remove flags arg to Var_Set which outside of var.c is always 0 48 492020-07-01 Simon J Gerraty <sjg@beast.crufty.net> 50 51 * VERSION (_MAKE_VERSION): 20200701 52 Merge with NetBSD make, pick up 53 o var.c: with change to cond.c; ensure that nested variables 54 within a variable name are expanded. 55 o unit-tests/varmisc.mk: test for nested varname 56 572020-06-29 Simon J Gerraty <sjg@beast.crufty.net> 58 59 * VERSION (_MAKE_VERSION): 20200629 60 Merge with NetBSD make, pick up 61 o cond.c: do not eval unnecessary terms of conditionals. 62 632020-06-25 Simon J Gerraty <sjg@beast.crufty.net> 64 65 * VERSION (_MAKE_VERSION): 20200625 66 Merge with NetBSD make, pick up 67 o meta.c: report error if lseek in filemon_read fails 68 692020-06-22 Simon J Gerraty <sjg@beast.crufty.net> 70 71 * VERSION (_MAKE_VERSION): 20200622 72 Merge with NetBSD make, pick up 73 o dieQuietly: ignore OP_SUBMAKE as too aggressive 74 752020-06-19 Simon J Gerraty <sjg@beast.crufty.net> 76 77 * VERSION (_MAKE_VERSION): 20200619 78 Merge with NetBSD make, pick up 79 o str.c: performance improvement for Str_Match for multiple '*' 80 o dieQuietly: supress the failure output from make 81 when failing node is a sub-make or a sibling failed. 82 This cuts down greatly on unhelpful noise at the end of 83 build log. Disabled by -dj or .MAKE.DIE_QUIETLY=no 84 852020-06-10 Simon J Gerraty <sjg@beast.crufty.net> 86 87 * FILES: add LICENSE to appease some packagers. 88 This is an attempt to fairly represent the license on almost 89 200 files, which are almost all BSD-3-Clause 90 The few exceptions being more liberal. 91 92 * VERSION (_MAKE_VERSION): 20200610 93 Merge with NetBSD make, pick up 94 o unit test for :Or 95 962020-06-06 Simon J Gerraty <sjg@beast.crufty.net> 97 98 * VERSION (_MAKE_VERSION): 20200606 99 Merge with NetBSD make, pick up 100 o make.1: cleanup 101 102 * Makefile: fix depends for main.o which broke MAKE_VERSION 103 1042020-06-05 Simon J Gerraty <sjg@beast.crufty.net> 105 106 * VERSION (_MAKE_VERSION): 20200605 107 Merge with NetBSD make, pick up 108 o dir.c: cached_stats - don't confuse stat and lstat results. 109 o var.c: add :Or for reverse sort. 110 1112020-05-24 Simon J Gerraty <sjg@beast.crufty.net> 112 113 * configure.in: add AC_PROG_CC_C99 for mipspro compiler 114 also if --with-filemon= specifies path to filemon.h 115 set use_filemon=dev 116 * dirname.c: remove include of namespace.h 117 1182020-05-17 Simon J Gerraty <sjg@beast.crufty.net> 119 120 * VERSION (_MAKE_VERSION): 20200517 121 Merge with NetBSD make, pick up 122 o modified dollar tests to avoid shell dependencies 123 o new tests for .INCLUDEFROM 124 1252020-05-16 Simon J Gerraty <sjg@beast.crufty.net> 126 127 * unit-tests/dollar.mk: tweak '1 dollar literal' test 128 to not depend so much on shell behavior 129 1302020-05-10 Simon J Gerraty <sjg@beast.crufty.net> 131 132 * VERSION (_MAKE_VERSION): 20200510 133 Merge with NetBSD make, pick up 134 o unit test for dollar handling 135 1362020-05-06 Simon J Gerraty <sjg@beast.crufty.net> 137 138 * VERSION (_MAKE_VERSION): 20200506 139 Merge with NetBSD make, pick up 140 o str.c: empty string does not match % pattern 141 plus unit-test changes 142 1432020-05-04 Simon J Gerraty <sjg@beast.crufty.net> 144 145 * VERSION (_MAKE_VERSION): 20200504 146 May the 4th be with you 147 Merge with NetBSD make, pick up 148 o var.c: import handling of old sysV style modifier using '%' 149 o str.c: refactor brk_string 150 o unit-tests: add test case for lazy conditions 151 1522020-04-18 Simon J Gerraty <sjg@beast.crufty.net> 153 154 * VERSION (_MAKE_VERSION): 20200418 155 156 * configure.in: use_makefile=no for cygwin et al. 157 case insensitive filesystems just don't work if both 158 makefile and Makefile exist. 159 NOTE: bmake does not support cygwin and likely never will, 160 but if brave souls want to try it - help them out. 161 1622020-04-02 Simon J Gerraty <sjg@beast.crufty.net> 163 164 * VERSION (_MAKE_VERSION): 20200402 165 Merge with NetBSD make, pick up 166 o meta.c: meta_oodate, CHECK_VALID_META is too aggressive for CMD 167 a blank command is perfectly valid. 168 1692020-03-30 Simon J Gerraty <sjg@beast.crufty.net> 170 171 * VERSION (_MAKE_VERSION): 20200330 172 Merge with NetBSD make, pick up 173 o make.h: extern debug_file 174 1752020-03-18 Simon J Gerraty <sjg@beast.crufty.net> 176 177 * VERSION (_MAKE_VERSION): 20200318 178 Merge with NetBSD make, pick up 179 o meta.c: meta_oodate, check for corrupted meta file 180 earlier and more often. 181 1822020-02-20 Simon J Gerraty <sjg@beast.crufty.net> 183 184 * VERSION (_MAKE_VERSION): 20200220 185 1862020-02-19 Simon J Gerraty <sjg@beast.crufty.net> 187 188 * boot-strap: unset MAKEFLAGS 189 1902020-02-12 Simon J Gerraty <sjg@beast.crufty.net> 191 192 * VERSION (_MAKE_VERSION): 20200212 193 * meta.c: meta_compat_parent check for USE_FILEMON 194 patch from Soeren Tempel 195 1962020-02-05 Simon J Gerraty <sjg@beast.crufty.net> 197 198 * VERSION: 20200205 199 Merge with NetBSD make, pick up 200 o meta.c: fix compat mode, need to call meta_job_output() 201 o job.c: extra fds for meta mode not needed if using filemon_dev 202 2032020-01-22 Simon J Gerraty <sjg@beast.crufty.net> 204 205 * VERSION: 20200122 206 Merge with NetBSD make, pick up 207 o meta.c: avoid passing NULL to filemon_*() when meta_needed() 208 returns FALSE. 209 2102020-01-21 Simon J Gerraty <sjg@beast.crufty.net> 211 212 * VERSION: 20200121 213 Merge with NetBSD make, pick up 214 o filemon/filemon_{dev,ktrace}.c: allow selection of 215 filemon implementation. filemon_dev.c uses the kernel module 216 while filemon_ktrace.c leverages the fktrace api available in 217 NetBSD. filemon_ktrace.c can hopefully form the basis for 218 adding support for other tracing mechanisms such as strace on 219 Linux. 220 o meta.c: when target is out-of-date per normal make rules 221 record value of .OODATE in meta file. 222 2232019-09-26 Simon J Gerraty <sjg@beast.crufty.net> 224 225 * VERSION: 20190926 226 Merge with NetBSD make, pick up 227 o parse.c: don't pass NULL to realpath(3) 228 some versions cannot handle it. 229 2302019-04-09 Simon J Gerraty <sjg@beast.crufty.net> 231 232 * VERSION: 20190409 233 Merge with NetBSD make, pick up 234 o parse.c: ParseDoDependency: free paths rather than assert 235 2362018-12-22 Simon J Gerraty <sjg@beast.crufty.net> 237 238 * VERSION: 20181222 239 240 * configure.in: add --without-makefile to avoid generating 241 makefile and make-bootstrap.sh 242 243 * include Makefile.inc if it exists 244 245 * Use Makefile and Makefile.config.in in unit-tests 246 so we can use just: make obj && make && make test 247 when bmake is already available. 248 We add --without-makefile to CONFIGURE_ARGS in this case. 249 250 * tweak bsd.after-import.mk (captures Makefile.config etc 251 after import to FreeBSD for example) to cope with all the above. 252 2532018-12-21 Simon J Gerraty <sjg@beast.crufty.net> 254 255 * VERSION: 20181221 256 Merge with NetBSD make, pick up 257 o parse.c: ParseVErrorInternal use .PARSEDIR 258 and apply if relative, and then use .PARSEFILE 259 for consistent result. 260 2612018-12-20 Simon J Gerraty <sjg@beast.crufty.net> 262 263 * VERSION: 20181220 264 Merge with NetBSD make, pick up 265 o parse.c: ParseVErrorInternal use .CURDIR if .PARSEDIR 266 is relative 267 o var.c: avoid SEGFAULT in .unexport-env 268 when MAKELEVEL is not set 269 2702018-12-16 Simon J Gerraty <sjg@beast.crufty.net> 271 272 * VERSION: 20181216 273 Merge with NetBSD make, pick up 274 o fix for unit-tests/varquote.mk on Debian 275 2762018-09-21 Simon J. Gerraty <sjg@bad.crufty.net> 277 278 * VERSION: 20180919 279 Merge with NetBSD make, pick up 280 o var.c: add :q 281 o dir.c: cleanup caching of stats 282 2832018-09-21 Simon J Gerraty <sjg@beast.crufty.net> 284 285 * Makefile.config.in: use += where it makes sense. 286 2872018-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 288 289 * VERSION: 20180512 290 Merge with NetBSD make, pick up 291 o job.c: skip polling job token pipe 292 2932018-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 294 295 * VERSION: 20180405 296 Merge with NetBSD make, pick up 297 o parse.c: be more cautious about detecting depenency line 298 rather than sysV style include. 299 3002018-02-22 Simon J. Gerraty <sjg@bad.crufty.net> 301 302 * VERSION: 20180222 303 Merge with NetBSD make, pick up 304 o parse.c: avoid calling sysconf for every call to loadfile 305 3062018-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 307 308 * VERSION: 20180218 309 Merge with NetBSD make, pick up 310 o var.c: Var_Set handle NULL value anytime. 311 3122018-02-12 Simon J. Gerraty <sjg@bad.crufty.net> 313 314 * VERSION: 20180212 315 Merge with NetBSD make, pick up 316 o parse.c: do not treat .info as warning with -W 317 3182017-12-07 Simon J. Gerraty <sjg@bad.crufty.net> 319 320 * VERSION: 20171207 321 Merge with NetBSD make, pick up 322 o var.c: Var_Append use Var_Set if var not previously set 323 so that VAR_CMD is handled correctly. 324 Add a suitable unit-test. 325 3262017-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 327 328 * VERSION (_MAKE_VERSION): 20171126 329 330 * aclocal.m4: use AC_LINK_IFELSE for AC_C___ATTRIBUTE__ 331 since AC_TRY_COMPILE puts input inside main() 332 which upsets modern compilers. 333 3342017-11-18 Simon J. Gerraty <sjg@bad.crufty.net> 335 336 * VERSION: 20171118 337 Merge with NetBSD make, pick up 338 o var.c: do not append to variable set on command line 339 add unit-test to catch this. 340 3412017-10-28 Simon J. Gerraty <sjg@bad.crufty.net> 342 343 * VERSION: 20171028 344 Merge with NetBSD make, pick up 345 o main.c: ignore empty MAKEOBJDIR 346 347 * Makefile.config.in: 348 make @prefix@ @machine*@ and @default_sys_path@ defaults. 349 3502017-10-05 Simon J. Gerraty <sjg@bad.crufty.net> 351 352 * VERSION: 20171005 353 354 * unit-tests/dotwait.mk: redirect stderr through pipe for more 355 consistent result on some platforms. 356 3572017-08-13 Simon J. Gerraty <sjg@bad.crufty.net> 358 359 * machine.sh: entry for AIX 360 3612017-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 362 363 * VERSION (_MAKE_VERSION): Move the setting of _MAKE_VERSION 364 to a file that can be included by configure as well as make. 365 This allows configure to set set _MAKE_VERSION in make-bootstrap.sh 366 3672017-08-10 Simon J. Gerraty <sjg@bad.crufty.net> 368 369 * Makefile (_MAKE_VERSION): 20170810 370 Merge with NetBSD make, pick up 371 o meta.c: if target is in subdir we only need subdir name in 372 meta_name. 373 3742017-07-20 Simon J. Gerraty <sjg@bad.crufty.net> 375 376 * Makefile (_MAKE_VERSION): 20170720 377 Merge with NetBSD make, pick up 378 o compat.c: pass SIGINT etc onto child and wait for it to exit 379 before we self-terminate. 380 3812017-07-11 Simon J. Gerraty <sjg@bad.crufty.net> 382 383 * Makefile (_MAKE_VERSION): 20170711 384 forgot to update after merge on 20170708 ;-) 385 o main.c: refactor to reduce size of main function. 386 add -v option to always fully expand values. 387 o meta.c: ensure command output in meta file has ending newline 388 even when filemon not being used. 389 When matching ${.MAKE.META.IGNORE_PATTERNS} do not use 390 pathname via ':L' since any ':' in pathname breaks that. 391 Instead set a '${.p.}' to pathname in the target context and 392 use that. 393 3942017-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 395 396 * Makefile (_MAKE_VERSION): 20170510 397 Merge with NetBSD make, pick up 398 o main.c: Main_SetObjdir: ensure buf2 is in scope 399 4002017-05-08 Simon J. Gerraty <sjg@bad.crufty.net> 401 402 * Makefile (_MAKE_VERSION): 20170505 403 see mk/ChangeLog 404 4052017-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 406 407 * parse.c: not everyone has stdint.h 408 4092017-05-01 Simon J. Gerraty <sjg@bad.crufty.net> 410 411 * Makefile (_MAKE_VERSION): 20170501 412 see mk/ChangeLog 413 4142017-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 415 416 * Makefile (_MAKE_VERSION): 20170421 417 Merge with NetBSD make, pick up 418 o str.c: Str_Match: fix closure tests for [^] and add unit-test. 419 4202017-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 421 422 * Makefile (_MAKE_VERSION): 20170420 423 Merge with NetBSD make, pick up 424 o main.c: only use -C arg "as is" if it contains no 425 relative component. 426 4272017-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 428 429 * Makefile (_MAKE_VERSION): 20170418 430 Merge with NetBSD make, pick up 431 o main.c: fix Main_SetObjdir() for relative paths (eg obj). 432 4332017-04-17 Simon J. Gerraty <sjg@bad.crufty.net> 434 435 * Makefile (_MAKE_VERSION): 20170417 436 Merge with NetBSD make, pick up 437 o fixes a number of coverity complaints 438 - check return value of fseek, fcntl 439 - plug memory leak in Dir_FindFile, Var_LoopExpand, 440 JobPrintCommand, ParseTraditionalInclude 441 - use bmake_malloc() where NULL is not tollerated 442 - use MAKE_ATTR_UNUSED rather that kludges like 443 return(unused ? 0 : 0) 444 - use purge_cached_realpaths() rather than abuse cached_realpath() 445 4462017-04-13 Simon J. Gerraty <sjg@bad.crufty.net> 447 448 * Makefile (_MAKE_VERSION): 20170413 449 Merge with NetBSD make, pick up 450 o main.c: when setting .OBJDIR ignore '$' in paths. 451 452 * job.c: use MALLOC_OPTIONS to set malloc_options. 453 4542017-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 455 456 * Makefile (_MAKE_VERSION): 20170411 457 Merge with NetBSD make, pick up 458 o str.c: Str_Match: allow [^a-z] to behave as expected. 459 4602017-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 461 462 * Makefile (_MAKE_VERSION): 20170326 463 Merge with NetBSD make, pick up 464 o main.c: purge relative paths from realpath cache when .OBJDIR 465 is changed. 466 4672017-03-11 Simon J. Gerraty <sjg@bad.crufty.net> 468 469 * Makefile (_MAKE_VERSION): 20170311 470 Merge with NetBSD make, pick up 471 o main.c: only use -C arg "as is" if it starts with '/'. 472 4732017-03-01 Simon J. Gerraty <sjg@bad.crufty.net> 474 475 * Makefile (_MAKE_VERSION): 20170301 476 Merge with NetBSD make, pick up 477 o main.c: use -C arg "as is" rather than getcwd() 478 if they identify the same directory. 479 o parse.c: ensure loadfile buffer is \n terminated in non-mmap case 480 4812017-02-01 Simon J. Gerraty <sjg@bad.crufty.net> 482 483 * Makefile (_MAKE_VERSION): 20170201 484 Merge with NetBSD make, pick up 485 o var.c: allow :_=var and avoid use of special context. 486 4872017-01-30 Simon J. Gerraty <sjg@bad.crufty.net> 488 489 * Makefile (_MAKE_VERSION): 20170130 490 Merge with NetBSD make, pick up 491 o var.c: add :range and :_ 492 o main.c: partially initialize Dir_* before MainParseArgs() 493 can be called. 494 If -V, skip Main_ExportMAKEFLAGS() 495 4962017-01-14 Simon J. Gerraty <sjg@bad.crufty.net> 497 498 * Makefile (_MAKE_VERSION): 20170114 499 Merge with NetBSD make, pick up 500 o var.c: allow specifying the utc value used by :{gm,local}time 501 5022016-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 503 504 * Makefile (_MAKE_VERSION): 20161212 505 Merge with NetBSD make, pick up 506 o main.c: look for obj.${MACHINE}-${MACHINE_ARCH} too. 507 5082016-12-09 Simon J. Gerraty <sjg@bad.crufty.net> 509 510 * Makefile (_MAKE_VERSION): 20161209 511 Merge with NetBSD make, pick up 512 o main.c: cleanup setting of .OBJDIR 513 o parse.c: avoid coredump from (var)=val 514 5152016-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 516 517 * Makefile (_MAKE_VERSION): 20161126 518 Merge with NetBSD make, pick up 519 o make.c: Make_OODate: report src node name if path not set 520 5212016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 522 523 * Makefile (_MAKE_VERSION): 20160926 524 Merge with NetBSD make, pick up 525 o support for .DELETE_ON_ERROR: (remove targets that fail) 526 5272016-09-26 Simon J. Gerraty <sjg@bad.crufty.net> 528 529 * Makefile MAN: tweak .Dt to match ${PROG} 530 5312016-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 532 533 * Makefile (_MAKE_VERSION): 20160818 534 its a neater number; pick up whitespace fixes to man page. 535 5362016-08-17 Simon J. Gerraty <sjg@bad.crufty.net> 537 538 * Makefile (_MAKE_VERSION): 20160817 539 Merge with NetBSD make, pick up 540 o meta.c: move handling of .MAKE.META.IGNORE_* to meta_ignore() 541 so we can call it before adding entries to missingFiles. 542 Thus we do not track files we have been told to ignore. 543 5442016-08-15 Simon J. Gerraty <sjg@bad.crufty.net> 545 546 * Makefile (_MAKE_VERSION): 20160815 547 Merge with NetBSD make, pick up 548 o meta_oodate: apply .MAKE.META.IGNORE_FILTER (if defined) to 549 pathnames, and skip if the expansion is empty. 550 Useful for dirdeps.mk when checking DIRDEPS_CACHE. 551 5522016-08-12 Simon J. Gerraty <sjg@bad.crufty.net> 553 554 * Makefile (_MAKE_VERSION): 20160812 555 Merge with NetBSD make, pick up 556 o meta.c: remove all missingFiles entries that match a deleted 557 dir. 558 o main.c: set .ERROR_CMD if possible. 559 5602016-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 561 562 * Makefile (_MAKE_VERSION): 20160606 563 Merge with NetBSD make, pick up 564 o dir.c: extend mtimes cache to others via cached_stat() 565 5662016-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 567 568 * Makefile (_MAKE_VERSION): 20160604 569 Merge with NetBSD make, pick up 570 o meta.c: missing filemon data is only relevant if we read a 571 meta file. 572 Also do not return oodate for a missing metafile if gn->path 573 points to .CURDIR 574 5752016-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 576 577 * Makefile (_MAKE_VERSION): 20160602 578 Merge with NetBSD make, pick up 579 o cached_realpath(): avoid hitting filesystem more than necessary. 580 o meta.c: refactor need_meta decision, add knobs for 581 missing meta file and filemon data wrt out-of-datedness. 582 5832016-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 584 585 * Makefile (_MAKE_VERSION): 20160528 586 587 * boot-strap, make-bootstrap.sh.in: Makefile now uses _MAKE_VERSION 588 5892016-05-12 Simon J. Gerraty <sjg@bad.crufty.net> 590 591 * Makefile (_MAKE_VERSION): 20160512 592 Merge with NetBSD make, pick up 593 o meta.c: ignore paths that match .MAKE.META.IGNORE_PATTERNS 594 this is useful for gcov builds. 595 o propagate errors from filemon(4). 596 5972016-05-09 Simon J. Gerraty <sjg@bad.crufty.net> 598 599 * Makefile (_MAKE_VERSION): 20160509 600 Merge with NetBSD make, pick up 601 o remove use of non-standard types u_int etc. 602 o meta.c: apply realpath() before matching against metaIgnorePaths 603 6042016-04-04 Simon J. Gerraty <sjg@bad.crufty.net> 605 606 * Makefile (_MAKE_VERSION): 20160404 607 Merge with NetBSD make, pick up 608 o allow makefile to set .MAKE.JOBS 609 610 * Makefile (PROG_NAME): use ${_MAKE_VERSION} 611 6122016-03-15 Simon J. Gerraty <sjg@bad.crufty.net> 613 614 * Makefile (_MAKE_VERSION): 20160315 615 Merge with NetBSD make, pick up 616 o fix handling of archive members 617 6182016-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 619 620 * Makefile (_MAKE_VERSION): rename variable to avoid interference 621 with checks for ${MAKE_VERSION} 622 6232016-03-10 Simon J. Gerraty <sjg@bad.crufty.net> 624 625 * Makefile (MAKE_VERSION): 20160310 626 Merge with NetBSD make, pick up 627 o meta.c: treat missing Read file same as Write, incase we Delete it. 628 6292016-03-07 Simon J. Gerraty <sjg@bad.crufty.net> 630 631 * Makefile (MAKE_VERSION): 20160307 632 Merge with NetBSD make, pick up 633 o var.c: fix :ts\nnn to be octal by default. 634 o meta.c: meta_finish() to cleanup memory. 635 6362016-02-26 Simon J. Gerraty <sjg@bad.crufty.net> 637 638 * Makefile (MAKE_VERSION): 20160226 639 Merge with NetBSD make, pick up 640 o meta.c: allow meta file for makeDepend if makefiles want it. 641 6422016-02-19 Simon J. Gerraty <sjg@bad.crufty.net> 643 644 * var.c: default .MAKE.SAVE_DOLLARS to FALSE 645 for backwards compatability. 646 647 * Makefile (MAKE_VERSION): 20160220 648 Merge with NetBSD make, pick up 649 o var.c: add knob to control handling of '$$' in := 650 6512016-02-18 Simon J. Gerraty <sjg@bad.crufty.net> 652 653 * Makefile (MAKE_VERSION): 20160218 654 Merge with NetBSD make, pick up 655 o var.c: add .export-literal allows us to fix sys.clean-env.mk 656 post the changes to Var_Subst. 657 Var_Subst now takes flags, and does not consume '$$' in := 658 6592016-02-17 Simon J. Gerraty <sjg@bad.crufty.net> 660 661 * Makefile (MAKE_VERSION): 20160217 662 Merge with NetBSD make, pick up 663 o var.c: preserve '$$' in := 664 o parse.c: add .dinclude for handling included 665 makefile like .depend 666 6672015-12-20 Simon J. Gerraty <sjg@bad.crufty.net> 668 669 * Makefile (MAKE_VERSION): 20151220 670 Merge with NetBSD make, pick up 671 o suff.c: re-initialize suffNull when clearing suffixes. 672 6732015-12-01 Simon J. Gerraty <sjg@bad.crufty.net> 674 675 * Makefile (MAKE_VERSION): 20151201 676 Merge with NetBSD make, pick up 677 o cond.c: CondCvtArg: avoid access beyond end of empty buffer. 678 o meta.c: meta_oodate: use lstat(2) for checking link target 679 in case it is a symlink. 680 o var.c: avoid calling brk_string and Var_Export1 with empty 681 strings. 682 6832015-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 684 685 * Makefile (MAKE_VERSION): 20151126 686 Merge with NetBSD make, pick up 687 o parse.c: ParseTrackInput don't access beyond 688 end of old value. 689 6902015-10-22 Simon J. Gerraty <sjg@bad.crufty.net> 691 692 * Makefile (MAKE_VERSION): 20151022 693 694 * Add support for BSD/OS which lacks inttypes.h 695 and really needs sys/param.h for sys/sysctl.h 696 also 'type' is not a shell builtin. 697 698 * var.c: eliminate uint32_t and need for inttypes.h 699 700 * main.c: PrintOnError flush stdout before run .ERROR 701 702 * parse.c: cope with _SC_PAGESIZE not being defined. 703 704 7052015-10-20 Simon J. Gerraty <sjg@bad.crufty.net> 706 707 * Makefile (MAKE_VERSION): 20151020 708 Merge with NetBSD make, pick up 709 o var.c: fix uninitialized var 710 7112015-10-12 Simon J. Gerraty <sjg@bad.crufty.net> 712 713 * var.c: the conditional expressions used with ':?' can be 714 expensive, if already discarding do not evaluate or expand 715 anything. 716 7172015-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 718 719 * Makefile (MAKE_VERSION): 20151010 720 Merge with NetBSD make, pick up 721 o Add Boolean wantit flag to Var_Subst and Var_Parse 722 when FALSE we know we are discarding the result and can 723 skip operations like Cmd_Exec. 724 7252015-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 726 727 * Makefile (MAKE_VERSION): 20151009 728 Merge with NetBSD make, pick up 729 o var.c: don't check for NULL before free() 730 o meta.c: meta_oodate, do not hard code ignore of makeDependfile 731 7322015-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 733 734 * Makefile (MAKE_VERSION): 20150910 735 Merge with NetBSD make, pick up 736 o main.c: with -w print Enter/Leaving messages for objdir too 737 if necessary. 738 o centralize shell metachar handling 739 740 * FILES: add metachar.[ch] 741 7422015-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 743 744 * Makefile (MAKE_VERSION): 20150606 745 Merge with NetBSD make, pick up 746 o make.1: document .OBJDIR target 747 7482015-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 749 750 * Makefile (MAKE_VERSION): 20150505 751 Merge with NetBSD make, pick up 752 o cond.c: be strict about lhs of comparison when evaluating .if 753 but less so when called from variable expansion. 754 o unit-tests/cond2.mk: test various error conditions 755 7562015-05-04 Simon J. Gerraty <sjg@bad.crufty.net> 757 758 * machine.sh (MACHINE): Add Bitrig 759 patch from joerg@netbsd.org 760 7612015-04-18 Simon J. Gerraty <sjg@bad.crufty.net> 762 763 * Makefile (MAKE_VERSION): 20150418 764 Merge with NetBSD make, pick up 765 o job.c: use memmove() rather than memcpy() 766 767 * unit-tests/varshell.mk: SunOS cannot handle the TERMINATED_BY_SIGNAL 768 case, so skip it. 769 7702015-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 771 772 * Makefile (MAKE_VERSION): 20150411 773 bump version - only mk/ changes. 774 7752015-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 776 777 * Makefile (MAKE_VERSION): 20150410 778 Merge with NetBSD make, pick up 779 o document different handling of '-' in jobs mode vs compat 780 o fix jobs mode so that '-' only applies to whole job 781 when shell lacks hasErrCtl 782 o meta.c: use separate vars to track lcwd and latestdir (read) 783 per process 784 7852015-04-01 Simon J. Gerraty <sjg@bad.crufty.net> 786 787 * Makefile (MAKE_VERSION): 20150401 788 Merge with NetBSD make, pick up 789 o meta.c: close meta file in child 790 791 * Makefile: use BINDIR.bmake if set. 792 Same for MANDIR and SHAREDIR 793 Handy for testing release candidates 794 in various environments. 795 7962015-03-26 Simon J. Gerraty <sjg@bad.crufty.net> 797 798 * move initialization of savederr to block where it is used 799 to avoid spurious warning from gcc5 800 8012014-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 802 803 * Makefile (MAKE_VERSION): 20141111 804 just a cooler number 805 8062014-11-05 Simon J. Gerraty <sjg@bad.crufty.net> 807 808 * Makefile (MAKE_VERSION): 20141105 809 Merge with NetBSD make, pick up 810 o revert major overhaul of suffix handling 811 and POSIX compliance - too much breakage 812 and impossible to make backwards compatible. 813 o we still have the new unit test structure which is ok. 814 o meta.c ensure "-- filemon" is at start of line. 815 8162014-09-17 Simon J. Gerraty <sjg@bad.crufty.net> 817 818 * configure.in: test that result of getconf PATH_MAX is numeric 819 and discard if not. Apparently needed for Hurd. 820 8212014-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 822 823 * Makefile (MAKE_VERSION): 20140830 824 Merge with NetBSD make, pick up 825 o major overhaul of suffix handling 826 o improved POSIX compliance 827 o overhauled unit-tests 828 8292014-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 830 831 * Makefile (MAKE_VERSION): 20140620 832 Merge with NetBSD make, pick up 833 o var.c return varNoError rather than var_Error for ::= modifiers. 834 8352014-05-22 Simon J. Gerraty <sjg@bad.crufty.net> 836 837 * Makefile (MAKE_VERSION): 20140522 838 Merge with NetBSD make, pick up 839 o var.c detect some parse errors. 840 8412014-04-05 Simon J. Gerraty <sjg@bad.crufty.net> 842 843 * Fix spelling errors - patch from Pedro Giffuni 844 8452014-02-14 Simon J. Gerraty <sjg@bad.crufty.net> 846 847 * Makefile (MAKE_VERSION): 20140214 848 Merge with NetBSD make, pick up 849 o .INCLUDEFROM* 850 o use Var_Value to get MAKEOBJDIR[PREFIX] 851 o reduced realloc'ign in brk_string. 852 * configure.in: add a check for compiler supporting __func__ 853 8542014-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 855 856 * boot-strap: ignore mksrc=none 857 8582014-01-02 Simon J. Gerraty <sjg@bad.crufty.net> 859 860 * Makefile (DEFAULT_SYS_PATH?): use just ${prefix}/share/mk 861 8622014-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 863 864 * Makefile (MAKE_VERSION): 20140101 865 * configure.in: set bmake_path_max to min(_SC_PATH_MAX,1024) 866 * Makefile.config: defined BMAKE_PATH_MAX to bmake_path_max 867 * make.h: use BMAKE_PATH_MAX if MAXPATHLEN not defined (needed for 868 Hurd) 869 * configure.in: Add AC_PREREQ and check for 870 sysctl; patch from Andrew Shadura andrewsh at debian.org 871 8722013-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 873 874 * Makefile (MAKE_VERSION): 20131010 875 * lose the const from arg to systcl to avoid problems on older BSDs. 876 8772013-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 878 879 * Makefile (MAKE_VERSION): 20131001 880 Merge with NetBSD make, pick up 881 o main.c: for NATIVE build sysctl to get MACHINE_ARCH from 882 hw.machine_arch if necessary. 883 o meta.c: meta_oodate - need to look at src of Link and target 884 of Move as well. 885 * main.c: check that CTL_HW and HW_MACHINE_ARCH exist. 886 provide __arraycount() if needed. 887 8882013-09-04 Simon J. Gerraty <sjg@bad.crufty.net> 889 890 * Makefile (MAKE_VERSION): 20130904 891 Merge with NetBSD make, pick up 892 o Add VAR_INTERNAL context, so that internal setting of 893 MAKEFILE does not override value set by makefiles. 894 8952013-09-02 Simon J. Gerraty <sjg@bad.crufty.net> 896 897 * Makefile (MAKE_VERSION): 20130902 898 Merge with NetBSD make, pick up 899 o CompatRunCommand: only apply shellErrFlag when errCheck is true 900 9012013-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 902 903 * Makefile (MAKE_VERSION): 20130828 904 Merge with NetBSD make, pick up 905 o Fix VAR :sh = syntax from Will Andrews at freebsd.org 906 o Call Job_SetPrefix() from Job_Init() so makefiles have 907 opportunity to set .MAKE.JOB.PREFIX 908 9092013-07-30 Simon J. Gerraty <sjg@bad.crufty.net> 910 911 * Makefile (MAKE_VERSION): 20130730 912 Merge with NetBSD make, pick up 913 o Allow suppression of --- job -- tokens by setting 914 .MAKE.JOB.PREFIX empty. 915 9162013-07-16 Simon J. Gerraty <sjg@bad.crufty.net> 917 918 * Makefile (MAKE_VERSION): 20130716 919 Merge with NetBSD make, pick up 920 o number of gmake compatibility tweaks 921 -w for gmake style entering/leaving messages 922 if .MAKE.LEVEL > 0 indicate it in progname "make[1]" etc. 923 handle MAKEFLAGS containing only letters. 924 o when overriding a GLOBAL variable on the command line, 925 delete it from GLOBAL context so -V doesn't show the wrong 926 value. 927 9282013-07-06 Simon J. Gerraty <sjg@bad.crufty.net> 929 930 * configure.in: We don't need MAKE_LEVEL_SAFE anymore. 931 932 * Makefile (MAKE_VERSION): 20130706 933 Merge with NetBSD make, pick up 934 o Shell_Init(): export shellErrFlag if commandShell hasErrCtl is 935 true so that CompatRunCommand() can use it, to ensure 936 consistent behavior with jobs mode. 937 o use MAKE_LEVEL_ENV to define the variable to propagate 938 .MAKE.LEVEL - currently set to MAKELEVEL (same as gmake). 939 o meta.c: use .MAKE.META.IGNORE_PATHS to allow customization of 940 paths to ignore. 941 9422013-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 943 944 * Makefile (MAKE_VERSION): 20130604 945 Merge with NetBSD make, pick up 946 o job.c: JobCreatePipe: do fcntl() after any tweaking of fd's 947 to avoid leaking descriptors. 948 9492013-05-28 Simon J. Gerraty <sjg@bad.crufty.net> 950 951 * Makefile (MAKE_VERSION): 20130528 952 Merge with NetBSD make, pick up 953 o var.c: cleanup some left-overs in VarHash() 954 9552013-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 956 957 * Makefile (MAKE_VERSION): 20130520 958 generate manifest from component FILES rather than have to 959 update FILES when mk/FILES changes. 960 9612013-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 962 963 * Makefile (MAKE_VERSION): 20130518 964 Merge with NetBSD make, pick up 965 o suff.c: don't skip all processsing for .PHONY targets 966 else wildcard srcs do not get expanded. 967 o var.c: expand name of variable to delete if necessary. 968 9692013-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 970 971 * Makefile (MAKE_VERSION): 20130330 972 Merge with NetBSD make, pick up 973 o meta.c: refine the handling of .OODATE in commands. 974 Rather than suppress command comparison for the entire script 975 as though .NOMETA_CMP had been used, only suppress it for the 976 one command line. 977 This allows something like ${.OODATE:M.NOMETA_CMP} to be used to 978 suppress comparison of a command without otherwise affecting it. 979 o make.1: document that 980 9812013-03-22 Simon J. Gerraty <sjg@bad.crufty.net> 982 983 * Makefile (MAKE_VERSION): 20130321 984 yes, not quite right but its a cooler number. 985 Merge with NetBSD make, pick up 986 o parse.c: fix ParseGmakeExport to be portable 987 and add a unit-test. 988 * meta.c: call meta_init() before makefiles are read and if built 989 with filemon support set .MAKE.PATH_FILEMON to _PATH_FILEMON 990 this let's makefiles test for support. 991 Call meta_mode_init() to process .MAKE.MODE. 992 9932013-03-13 Simon J. Gerraty <sjg@bad.crufty.net> 994 995 * Makefile (MAKE_VERSION): 20130305 996 Merge with NetBSD make, pick up 997 o run .STALE: target when a dependency from .depend is missing. 998 o job.c: add Job_RunTarget() for the above and .BEGIN 999 10002013-03-03 Simon J. Gerraty <sjg@bad.crufty.net> 1001 1002 * Makefile (MAKE_VERSION): 20130303 1003 Merge with NetBSD make, pick up 1004 o main.c: set .MAKE.OS to utsname.sysname 1005 o job.c: more checks for read and poll errors 1006 o var.c: lose VarChangeCase() saves 4% time 1007 10082013-03-02 Simon J. Gerraty <sjg@bad.crufty.net> 1009 1010 * boot-strap: remove MAKEOBJDIRPREFIX from environment since we 1011 want to use MAKEOBJDIR 1012 10132013-01-27 Simon J. Gerraty <sjg@bad.crufty.net> 1014 1015 * Merge with NetBSD make, pick up 1016 o make.1: more info on how shell commands are handled. 1017 o job.c,main.c: detect write errors to job pipes. 1018 10192013-01-25 Simon J. Gerraty <sjg@bad.crufty.net> 1020 1021 * Makefile (MAKE_VERSION): 20130123 1022 Merge with NetBSD make, pick up 1023 o meta.c: if script uses .OODATE and meta_oodate() decides 1024 rebuild is needed, .OODATE will be empty - set it to .ALLSRC. 1025 o var.c: in debug output indicate which variabale modifiers 1026 apply to. 1027 o remove Check_Cwd logic the makefiles have been fixed. 1028 10292012-12-12 Simon J. Gerraty <sjg@bad.crufty.net> 1030 1031 * makefile.in: add a simple makefile for folk who insist on 1032 ./configure; make; make install 1033 it just runs boot-strap 1034 * include mk/* to accommodate the above 1035 * boot-strap: re-work to accommodate the above 1036 mksrc defaults to $Mydir/mk 1037 allow op={configure,build,install,clean,all} 1038 add options to facilitate install 1039 * Makefile.config.in: just the bits set by configure 1040 * Makefile: bump version to 20121212 1041 abandon Makefile.in (NetBSD Makefile) 1042 leverage mk/* instead 1043 * configure.in: ensure srcdir is absolute 1044 10452012-11-11 Simon J. Gerraty <sjg@bad.crufty.net> 1046 1047 * Makefile.in (MAKE_VERSION): 20121111 1048 fix generation of bmake.cat1 1049 10502012-11-09 Simon J. Gerraty <sjg@bad.crufty.net> 1051 1052 * Makefile.in (MAKE_VERSION): 20121109 1053 Merge with NetBSD make, pick up 1054 o make.c: MakeBuildChild: return 0 so search continues if a 1055 .ORDER dependency is detected. 1056 o unit-tests/order: test the above 1057 10582012-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 1059 1060 * Makefile.in (MAKE_VERSION): 20121102 1061 Merge with NetBSD make, pick up 1062 o cond.c: allow cond_state[] to grow. 1063 In meta mode with a very large tree, we can hit the limit 1064 while processing dirdeps. 1065 10662012-10-25 Simon J. Gerraty <sjg@bad.crufty.net> 1067 1068 * Makefile.in: we need to use ${srcdir} not ${.CURDIR} 1069 10702012-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1071 1072 * Makefile.in (MAKE_VERSION): 20121010 1073 o protect syntax that only bmake parses correctly. 1074 o remove auto setting of FORCE_MACHINE, use configure's 1075 --with-force-machine=whatever if that is desired. 1076 10772012-10-08 Simon J. Gerraty <sjg@bad.crufty.net> 1078 1079 * Makefile.in: do not lose history from make.1 when generating bmake.1 1080 10812012-10-07 Simon J. Gerraty <sjg@bad.crufty.net> 1082 1083 * Makefile.in (MAKE_VERSION): 20121007 1084 Merge with NetBSD make, pick up 1085 o compat.c: ignore empty commands - same as jobs mode. 1086 o make.1: document meta chars that cause use of shell 1087 10882012-09-11 Simon J. Gerraty <sjg@bad.crufty.net> 1089 1090 * Makefile.in (MAKE_VERSION): bump version to 20120911 1091 * bsd.after-import.mk: include Makefile.inc early and allow it to 1092 override PROG 1093 10942012-08-31 Simon J. Gerraty <sjg@bad.crufty.net> 1095 1096 * Makefile.in (MAKE_VERSION): bump version to 20120831 1097 Merge with NetBSD make, pick up 1098 o cast sizeof() to int for comparison 1099 o minor make.1 tweak 1100 11012012-08-30 Simon J. Gerraty <sjg@bad.crufty.net> 1102 1103 * Makefile.in (MAKE_VERSION): bump version to 20120830 1104 Merge with NetBSD make, pick up 1105 o .MAKE.EXPAND_VARIABLES knob can control default behavior of -V 1106 o debug flag -dV causes -V to show raw value regardless. 1107 11082012-07-05 Simon J. Gerraty <sjg@bad.crufty.net> 1109 1110 * bsd.after-import.mk (after-import): ensure unit-tests/Makefile 1111 gets SRCTOP set. 1112 11132012-07-04 Simon J. Gerraty <sjg@bad.crufty.net> 1114 1115 * Makefile.in (MAKE_VERSION): bump version to 20120704 1116 Merge with NetBSD make, pick up 1117 o Job_ParseShell should call Shell_Init if it has been 1118 previously called. 1119 * Makefile.in: set USE_META based on configure result. 1120 also .PARSEDIR is safer indicator of bmake. 1121 11222012-06-26 Simon J. Gerraty <sjg@bad.crufty.net> 1123 1124 * Makefile.in: bump version to 20120626 1125 ensure CPPFLAGS is in CFLAGS 1126 * meta.c: avoid nested externs 1127 * bsd.after-import.mk: avoid ${.CURDIR}/Makefile as target 1128 11292012-06-20 Simon J. Gerraty <sjg@bad.crufty.net> 1130 1131 * Makefile.in (MAKE_VERSION): bump version to 20120620 1132 Merge with NetBSD make, pick up 1133 o make_malloc.c: avoid including make_malloc.h again 1134 1135 * Makefile.in: avoid bmake only syntax or protect with 1136 .if defined(.MAKE.LEVEL) 1137 * bsd.after-import.mk: replace .-include with .sinclude 1138 ensure? SRCTOP gets a value 1139 * configure.in: look for filemon.h in /usr/include/dev/filemon first. 1140 11412012-06-19 Simon J. Gerraty <sjg@bad.crufty.net> 1142 1143 * Makefile.in (MAKE_VERSION): bump version to 20120612 1144 Merge with NetBSD make, pick up 1145 o use MAKE_ATTR_* rather than those defined by cdefs.h or compiler 1146 for greater portability. 1147 o unit-tests/forloop: check that .for works as expected wrt 1148 number of times and with "quoted strings". 1149 11502012-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1151 1152 * Makefile.in (MAKE_VERSION): bump version to 20120606 1153 Merge with NetBSD make, pick up 1154 o compat.c: use kill(2) rather than raise(3). 1155 * configure.in: look for sys/dev/filemon 1156 * bsd.after-import.mk: add a .-include "Makefile.inc" to Makefile 1157 and pass BOOTSTRAP_XTRAS to boot-strap. 1158 11592012-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1160 1161 * Makefile.in (MAKE_VERSION): bump version to 20120604 1162 Merge with NetBSD make, pick up 1163 o util.c and var.c share same var for tracking if environ 1164 has been reallocated. 1165 o util.c provide getenv with setenv. 1166 * Add MAKE_LEVEL_SAFE as an alternate means of passing MAKE_LEVEL 1167 when the shell actively strips .MAKE.* from the environment. 1168 We still refer to the variable always as .MAKE.LEVEL 1169 * util.c fix bug in findenv() was finding prefix of name. 1170 * compat.c: re-raising SIGINT etc after running .INTERRUPT 1171 results in more reliable termination of all activity on many 1172 platforms. 1173 11742012-06-02 Simon J. Gerraty <sjg@bad.crufty.net> 1175 1176 * Makefile.in (MAKE_VERSION): bump version to 20120602 1177 Merge with NetBSD make, pick up 1178 o for.c: handle quoted items in .for list 1179 11802012-05-30 Simon J. Gerraty <sjg@bad.crufty.net> 1181 1182 * Makefile.in (MAKE_VERSION): bump version to 20120530 1183 Merge with NetBSD make, pick up 1184 o compat.c: ignore empty command. 1185 11862012-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1187 1188 * Makefile.in (MAKE_VERSION): bump version to 20120524 1189 * FILES: add bsd.after-import.mk: 1190 A simple means of integrating bmake into a BSD build system. 1191 11922012-05-20 Simon J. Gerraty <sjg@bad.crufty.net> 1193 1194 * Makefile.in (MAKE_VERSION): bump version to 20120520 1195 Merge with NetBSD make, pick up 1196 o increased limit for nested conditionals. 1197 11982012-05-18 Simon J. Gerraty <sjg@bad.crufty.net> 1199 1200 * Makefile.in (MAKE_VERSION): bump version to 20120518 1201 Merge with NetBSD make, pick up 1202 o use _exit(2) in signal hanlder 1203 o Don't use the [dir] cache when building nodes that might have 1204 changed since the last exec. 1205 o Avoid nested extern declaration warnings. 1206 12072012-04-27 Simon J. Gerraty <sjg@bad.crufty.net> 1208 1209 * meta.c (fgetLine): avoid %z - not portable. 1210 * parse.c: Since we moved include of sys/mman.h 1211 and def's of MAP_COPY etc. we got dups from a merge. 1212 12132012-04-24 Simon J. Gerraty <sjg@bad.crufty.net> 1214 1215 * Makefile.in (MAKE_VERSION): bump version to 20120420 1216 Merge with NetBSD make, pick up 1217 o restore duplicate supression in .MAKE.MAKEFILES 1218 runtime saving can be significant. 1219 o Var_Subst() uses Buf_DestroyCompact() to reduce memory 1220 consumption up to 20%. 1221 12222012-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1223 1224 * Makefile.in (MAKE_VERSION): bump version to 20120420 1225 Merge with NetBSD make, pick up 1226 o remove duplicate supression in .MAKE.MAKEFILES 1227 o improved dir cache behavior 1228 o gmake'ish export command 1229 12302012-03-25 Simon J. Gerraty <sjg@bad.crufty.net> 1231 1232 * Makefile.in (MAKE_VERSION): bump version to 20120325 1233 Merge with NetBSD make, pick up 1234 o fix parsing of :[#] in conditionals. 1235 12362012-02-10 Simon J. Gerraty <sjg@bad.crufty.net> 1237 1238 * Makefile.in: replace use of .Nx in bmake.1 with NetBSD 1239 since some systems cannot cope with .Nx <version> 1240 12412011-11-14 Simon J. Gerraty <sjg@bad.crufty.net> 1242 1243 * Makefile.in (MAKE_VERSION): bump version to 20111111 1244 Merge with NetBSD make, pick up 1245 o debug output for .PARSEDIR and .PARSEFILE 1246 12472011-10-10 Simon J. Gerraty <sjg@bad.crufty.net> 1248 1249 * Makefile.in (MAKE_VERSION): bump version to 20111010 1250 12512011-10-09 Simon J. Gerraty <sjg@bad.crufty.net> 1252 1253 * boot-strap: check for an expected file in the dirs we look for. 1254 * make-bootstrap.sh: pass on LDSTATIC 1255 12562011-10-01 Simon J. Gerraty <sjg@bad.crufty.net> 1257 1258 * Makefile.in (MAKE_VERSION): bump version to 20111001 1259 Merge with NetBSD make, pick up 1260 o ensure .PREFIX is set for .PHONY 1261 and .TARGET set for .PHONY run via .END 1262 o __dead used consistently 1263 12642011-09-10 Simon J. Gerraty <sjg@bad.crufty.net> 1265 1266 * Makefile.in (MAKE_VERSION): 20110909 is a better number ;-) 1267 12682011-09-05 Simon J. Gerraty <sjg@bad.crufty.net> 1269 1270 * Makefile.in (MAKE_VERSION): bump version to 20110905 1271 Merge with NetBSD make, pick up 1272 o meta_oodate: ignore makeDependfile 1273 12742011-08-28 Simon J. Gerraty <sjg@bad.crufty.net> 1275 1276 * Makefile.in (MAKE_VERSION): bump version to 20110828 1277 Merge with NetBSD make, pick up 1278 o silent=yes in .MAKE.MODE causes meta mode to mark targets 1279 as SILENT if a .meta file is created 1280 12812011-08-18 Simon J. Gerraty <sjg@bad.crufty.net> 1282 1283 * Makefile.in (MAKE_VERSION): bump version to 20110818 1284 Merge with NetBSD make, pick up 1285 o in meta mode, if target flagged .META a missing .meta file 1286 means target is out-of-date 1287 o fixes for gcc 4.5 warnings 1288 o simplify job printing code 1289 12902011-08-09 Simon J. Gerraty <sjg@bad.crufty.net> 1291 1292 * Makefile.in (MAKE_VERSION): bump version to 20110808 1293 Merge with NetBSD make, pick up 1294 o do not touch OP_SPECIAL targets when doing make -t 1295 12962011-06-22 Simon J. Gerraty <sjg@bad.crufty.net> 1297 1298 * Makefile.in (MAKE_VERSION): bump version to 20110622 1299 Merge with NetBSD make, pick up 1300 o meta_oodate detect corrupted .meta file and declare oodate. 1301 * configure.in: add check for setsid 1302 13032011-06-07 Simon J. Gerraty <sjg@bad.crufty.net> 1304 1305 * Merge with NetBSD make, pick up 1306 o unit-tests/modts now works on MirBSD 1307 13082011-06-04 Simon J. Gerraty <sjg@bad.crufty.net> 1309 1310 * Makefile.in (MAKE_VERSION): bump version to 20110606 1311 Merge with NetBSD make, pick up 1312 o ApplyModifiers: when we parse a variable which is not 1313 the entire modifier string, or not followed by ':', do not 1314 consider it as containing modifiers. 1315 o loadfile: ensure newline at end of mapped file. 1316 13172011-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1318 1319 * Makefile.in (MAKE_VERSION): bump version to 20110505 1320 Merge with NetBSD make, pick up 1321 o .MAKE.META.BAILIWICK - list of prefixes which define the scope 1322 of make's control. In meta mode, any generated file within 1323 said bailiwick, which is found to be missing, causes current 1324 target to be out-of-date. 1325 13262011-04-11 Simon J. Gerraty <sjg@bad.crufty.net> 1327 1328 * Makefile.in (MAKE_VERSION): bump version to 20110411 1329 Merge with NetBSD make, pick up 1330 o when long modifiers fail to match, check sysV style. 1331 - add a test case 1332 13332011-04-10 Simon J. Gerraty <sjg@bad.crufty.net> 1334 1335 * Makefile.in (MAKE_VERSION): bump version to 20110410 1336 Merge with NetBSD make, pick up 1337 o :hash - cheap 32bit hash of value 1338 o :localtime, :gmtime - use value as format string for strftime. 1339 13402011-03-30 Simon J. Gerraty <sjg@bad.crufty.net> 1341 1342 * Makefile.in (MAKE_VERSION): bump version to 20110330 1343 mostly because its a cooler version. 1344 Merge with NetBSD make, pick up 1345 o NetBSD tags for meta.[ch] 1346 o job.c call meta_job_finish() after meta_job_error(). 1347 o meta_job_error() should call meta_job_finish() to ensure 1348 .meta file is closed, and safe to copy - if .ERROR target wants. 1349 meta_job_finish() is safe to call repeatedly. 1350 13512011-03-29 Simon J. Gerraty <sjg@bad.crufty.net> 1352 1353 * unit-tests/modts: use printf if it is a builtin, 1354 to save us from MirBSD 1355 1356 * Makefile.in (MAKE_VERSION): bump version to 20110329 1357 Merge with NetBSD make, pick up 1358 o fix for use after free() in CondDoExists(). 1359 o meta_oodate() report extra commands and return earlier. 1360 13612011-03-27 Simon J. Gerraty <sjg@bad.crufty.net> 1362 1363 * Makefile.in (MAKE_VERSION): bump version to 20110327 1364 Merge with NetBSD make, pick up 1365 o meta.c, if .MAKE.MODE contains curdirOk=yes 1366 allow creating .meta files in .CURDIR 1367 * boot-strap (TOOL_DIFF): aparently at least on linux distro 1368 formats the output of 'type' differently - so eat any "()" 1369 13702011-03-06 Simon J. Gerraty <sjg@bad.crufty.net> 1371 1372 * Makefile.in (MAKE_VERSION): bump version to 20110306 1373 Merge with NetBSD make, pick up 1374 o meta.c, only do getcwd() once 1375 13762011-03-05 Simon J. Gerraty <sjg@bad.crufty.net> 1377 1378 * Makefile.in (MAKE_VERSION): bump version to 20110305 1379 Merge with NetBSD make, pick up 1380 o correct sysV substitution handling of empty lhs and variable 1381 o correct exists() check for dir with trailing / 1382 o correct handling of modifiers for non-existant variables 1383 during evaluation of conditionals. 1384 o ensure MAP_FILE is defined. 1385 o meta.c use curdir[] now exported by main.c 1386 13872011-02-25 Simon J. Gerraty <sjg@bad.crufty.net> 1388 1389 * Makefile.in (MAKE_VERSION): bump version to 20110225 1390 Merge with NetBSD make, pick up 1391 o fix for incorrect .PARSEDIR when .OBJDIR is re-computed after 1392 makefiles have been read. 1393 o fix example of :? modifier in man page. 1394 13952011-02-13 Simon J. Gerraty <sjg@bad.crufty.net> 1396 1397 * Makefile.in (MAKE_VERSION): bump version to 20110214 1398 Merge with NetBSD make, pick up 1399 o meta.c handle realpath() failing when generating meta file 1400 name. 1401 1402 * sigcompat.c: convert to ansi so we can use higher warning levels. 1403 1404 14052011-02-07 Simon J. Gerraty <sjg@bad.crufty.net> 1406 1407 * Makefile.in (MAKE_VERSION): bump version to 20110207 1408 Merge with NetBSD make, pick up 1409 o fix for bug in meta mode. 1410 14112011-01-03 Simon J. Gerraty <sjg@bad.crufty.net> 1412 1413 * parse.c: SunOS 5.8 at least does not have MAP_FILE 1414 14152011-01-01 Simon J. Gerraty <sjg@bad.crufty.net> 1416 1417 * Makefile.in (MAKE_VERSION): bump version to 20110101 1418 Merge with NetBSD make, pick up 1419 o use mmap(2) if available, for reading makefiles 1420 14212010-12-15 Simon J. Gerraty <sjg@bad.crufty.net> 1422 1423 * Makefile.in (MAKE_VERSION): bump version to 20101215 1424 Merge with NetBSD make, pick up 1425 o ensure meta_job_error() does not report a previous .meta file 1426 as being culprit. 1427 14282010-12-10 Simon J. Gerraty <sjg@bad.crufty.net> 1429 1430 * Makefile.in (MAKE_VERSION): bump version to 20101210 1431 Merge with NetBSD make, pick up 1432 o meta_oodate: track cwd per process, and only consider target 1433 out-of-date if missing file is outside make's CWD. 1434 Ignore files in /tmp/ etc. 1435 o to ensure unit-tests results match, need to control LC_ALL 1436 as well as LANG. 1437 o fix for parsing bug in var.c 1438 14392010-11-26 Simon J. Gerraty <sjg@bad.crufty.net> 1440 1441 * Makefile.in (MAKE_VERSION): bump version to 20101126 1442 Merge with NetBSD make, pick up 1443 o if stale dependency is an IMPSRC, search via .PATH 1444 o meta_oodate: if a referenced file is missing, target is 1445 out-of-date. 1446 o meta_oodate: if a target uses .OODATE in its commands, 1447 it (.OODATE) needs to be recomputed. 1448 o keep a pointer to youngest child node, rather than just its 1449 mtime. 1450 14512010-11-02 Simon J. Gerraty <sjg@bad.crufty.net> 1452 1453 * Makefile.in (MAKE_VERSION): bump version to 20101101 1454 14552010-10-16 Simon J. Gerraty <sjg@bad.crufty.net> 1456 1457 * machine.sh: like os.sh, 1458 allow for uname -p producing useless drivel 1459 14602010-09-13 Simon J. Gerraty <sjg@bad.crufty.net> 1461 1462 * boot-strap: document configure knobs for meta and filemon. 1463 1464 * Makefile.in (MAKE_VERSION): bump version to 20100911 1465 Merge with NetBSD make, pick up 1466 o meta.c - meta mode 1467 1468 * make-bootstrap.sh.in: handle meta.c 1469 * configure.in: add knobs for use_meta and filemon_h 1470 also, look for dirname, str[e]sep and strlcpy 1471 * util.c: add simple err[x] and warn[x] 1472 14732010-08-08 Simon J. Gerraty <sjg@bad.crufty.net> 1474 1475 * boot-strap (TOOL_DIFF): set this to ensure tests use 1476 the same version of diff that configure tested 1477 1478 * Makefile.in (MAKE_VERSION): bump version to 20100808 1479 Merge with NetBSD make, pick up 1480 o in jobs mode, when we discover we cannot make something, 1481 call PrintOnError before exit. 1482 14832010-08-06 Simon J. Gerraty <sjg@bad.crufty.net> 1484 1485 * Makefile.in (MAKE_VERSION): bump version to 20100806 1486 Merge with NetBSD make, pick up 1487 o formatting fixes for ignored errors 1488 o ensure jobs are cleaned up regardless of where wait() was called. 1489 14902010-06-28 Simon J. Gerraty <sjg@bad.crufty.net> 1491 1492 * Makefile.in (MAKE_VERSION): bump version to 20100618 1493 * os.sh (MACHINE_ARCH): watch out for drivel from uname -p 1494 14952010-06-16 Simon J. Gerraty <sjg@bad.crufty.net> 1496 1497 * Makefile.in (MAKE_VERSION): bump version to 20100616 1498 Merge with NetBSD make, pick up 1499 o man page update 1500 o call PrintOnError from JobFinish when we detect an error we 1501 are not ignoring. 1502 15032010-06-06 Simon J. Gerraty <sjg@bad.crufty.net> 1504 1505 * Makefile.in (MAKE_VERSION): bump version to 20100606 1506 Merge with NetBSD make, pick up 1507 o man page update 1508 15092010-06-05 Simon J. Gerraty <sjg@bad.crufty.net> 1510 1511 * Makefile.in (MAKE_VERSION): bump version to 20100605 1512 Merge with NetBSD make, pick up 1513 o use bmake_signal() which is a wrapper around sigaction() 1514 in place of signal() 1515 o add .export-env to allow exporting variables to environment 1516 without tracking (so no re-export when the internal value is 1517 changed). 1518 15192010-05-24 Simon J. Gerraty <sjg@bad.crufty.net> 1520 1521 * Makefile.in (MAKE_VERSION): bump version to 20100524 1522 Merge with NetBSD make, pick up 1523 o fix for .info et al being greedy. 1524 15252010-05-23 Simon J. Gerraty <sjg@bad.crufty.net> 1526 1527 * Makefile.in (MAKE_VERSION): bump version to 20100520 1528 Merge with NetBSD make, pick up 1529 o back to using realpath on argv[0] 1530 but only if contains '/' and does not start with '/'. 1531 15322010-05-10 Simon J. Gerraty <sjg@bad.crufty.net> 1533 1534 * boot-strap: use absolute path for bmake when running tests. 1535 1536 * Makefile.in (MAKE_VERSION): bump version to 20100510 1537 Merge with NetBSD make, pick up 1538 o revert use of realpath on argv[0] 1539 too many corner cases. 1540 o print MAKE_PRINT_VAR_ON_ERROR before running .ERROR target. 1541 15422010-05-05 Simon J. Gerraty <sjg@bad.crufty.net> 1543 1544 * Makefile.in (MAKE_VERSION): bump version to 20100505 1545 Merge with NetBSD make, pick up 1546 o fix for missed SIGCHLD when compiled with SunPRO 1547 actually for bmake, defining FORCE_POSIX_SIGNALS would have 1548 done the job. 1549 15502010-04-30 Simon J. Gerraty <sjg@bad.crufty.net> 1551 1552 * Makefile.in (MAKE_VERSION): bump version to 20100430 1553 Merge with NetBSD make, pick up 1554 o fflush stdout before writing to stdout 1555 15562010-04-23 Simon J. Gerraty <sjg@bad.crufty.net> 1557 1558 * Makefile.in (MAKE_VERSION): bump version to 20100423 1559 Merge with NetBSD make, pick up 1560 o updated unit tests for Haiku (this time for sure). 1561 * boot-strap: based on patch from joerg 1562 honor --with-default-sys-path better. 1563 * boot-strap: remove mention of --with-prefix-sys-path 1564 15652010-04-22 Simon J. Gerraty <sjg@bad.crufty.net> 1566 1567 * Makefile.in (MAKE_VERSION): bump version to 20100422 1568 * Merge with NetBSD make, pick up 1569 o fix for vfork() on Darwin. 1570 o fix for bogus $TMPDIR. 1571 o set .MAKE.MODE=compat for -B 1572 o set .MAKE.JOBS=max_jobs for -j max_jobs 1573 o allow unit-tests to run without any *.mk 1574 o unit-tests/modmisc be more conservative in dirs presumed to exist. 1575 * boot-strap: ignore /usr/share/mk except on NetBSD. 1576 * unit-tests/Makefile.in: set LANG=C when running unit-tests to 1577 ensure sort(1) behaves as expected. 1578 15792010-04-21 Simon J. Gerraty <sjg@bad.crufty.net> 1580 1581 * boot-strap: add FindHereOrAbove so we can use -m .../mk 1582 15832010-04-20 Simon J. Gerraty <sjg@bad.crufty.net> 1584 1585 * Makefile.in (MAKE_VERSION): bump version to 20100420 1586 * Merge with NetBSD make, pick up 1587 o fix for variable realpath() behavior. 1588 we have to stat(2) the result to be sure. 1589 o fix for .export (all) when nested vars use :sh 1590 15912010-04-14 Simon J. Gerraty <sjg@bad.crufty.net> 1592 1593 * Makefile.in (MAKE_VERSION): bump version to 20100414 1594 * Merge with NetBSD make, pick up 1595 o use realpath to resolve argv[0] (for .MAKE) if needed. 1596 o add realpath from libc. 1597 o add :tA to resolve variable via realpath(3) if possible. 1598 15992010-04-08 Simon J. Gerraty <sjg@bad.crufty.net> 1600 1601 * Makefile.in (MAKE_VERSION): bump version to 20100408 1602 * Merge with NetBSD make, pick up 1603 o unit tests for .ERROR, .error 1604 o fix for .ERROR to ensure it cannot be default target. 1605 16062010-04-06 Simon J. Gerraty <sjg@bad.crufty.net> 1607 1608 * Makefile.in (MAKE_VERSION): bump version to 20100406 1609 * Merge with NetBSD make, pick up 1610 o fix for compat mode "Error code" going to debug_file. 1611 o fix for .ALLSRC being populated twice. 1612 o support for .info, .warning and .error directives 1613 o .MAKE.MODE to control make's operational mode 1614 o .MAKE.MAKEFILE_PREFERENCE to control the preferred makefile 1615 name(s). 1616 o .MAKE.DEPENDFILE to control the name of the depend file 1617 o .ERROR target - run on failure. 1618 16192010-03-18 Simon J. Gerraty <sjg@bad.crufty.net> 1620 1621 * make-bootstrap.sh.in: extract MAKE_VERSION from Makefile 1622 1623 * os.sh,arch.c: patch for Haiku from joerg at netbsd 1624 16252010-03-17 Simon J. Gerraty <sjg@bad.crufty.net> 1626 1627 * Makefile.in (MAKE_VERSION): bump version to 20100222 1628 * Merge with NetBSD make, pick up 1629 o better error msg for .for with mutiple inter vars 1630 1631 * boot-strap: 1632 o use make-bootstrap.sh from joerg at netbsd 1633 to avoid the need for a native make when bootstrapping. 1634 o add "" everywhere ;-) 1635 o if /usr/share/tmac/andoc.tmac exists install nroff bmake.1 1636 otherwise the pre-formated version. 1637 16382010-01-04 Simon J. Gerraty <sjg@bad.crufty.net> 1639 1640 * Makefile.in (MAKE_VERSION): bump version to 20100102 1641 * Merge with NetBSD make, pick up: 1642 o fix for -m .../ 1643 16442009-11-18 Simon J. Gerraty <sjg@void.crufty.net> 1645 1646 * Makefile.in (MAKE_VERSION): bump version to 20091118 1647 * Merge with NetBSD make, pick up: 1648 o .unexport 1649 o report lines that start with '.' and should have ':' 1650 (catch typo's of .el*if). 1651 16522009-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1653 1654 * configure.in: Ensure that srcdir and mksrc are absolute paths. 1655 16562009-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1657 1658 * Makefile.in (MAKE_VERSION): fix version to 20091007 1659 16602009-10-07 Simon J. Gerraty <sjg@void.crufty.net> 1661 1662 * Makefile.in (MAKE_VERSION): bump version to 200910007 1663 * Merge with NetBSD make, pick up: 1664 o fix for parsing of :S;...;...; applied to .for loop iterator 1665 appearing in a dependency line. 1666 16672009-09-09 Simon J. Gerraty <sjg@void.crufty.net> 1668 1669 * Makefile.in (MAKE_VERSION): bump version to 20090909 1670 * Merge with NetBSD make, pick up: 1671 o fix for -C, .CURDIR and .OBJDIR 1672 * boot-strap: 1673 o allow share_dir to be set independent of prefix. 1674 o select default share_dir better when prefix ends in $HOST_TARGET 1675 o if FORCE_BSD_MK etc were set, include them in the suggested 1676 install-mk command. 1677 16782009-09-08 Simon J. Gerraty <sjg@void.crufty.net> 1679 1680 * Makefile.in (MAKE_VERSION): bump version to 20090908 1681 * Merge with NetBSD make, pick up: 1682 o .MAKE.LEVEL for recursion tracking 1683 o fix for :M scanning \: 1684 16852009-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1686 1687 * configure.in: Don't -D__EXTENSIONS__ if 1688 AC_USE_SYSTEM_EXTENSIONS says "no". 1689 16902009-08-26 Simon J. Gerraty <sjg@void.crufty.net> 1691 1692 * Makefile.in (MAKE_VERSION): bump version to 20090826 1693 Simplify MAKE_VERSION to just the bare date. 1694 * Merge with NetBSD make, pick up: 1695 o -C directory support. 1696 o support for SIGINFO 1697 o use $TMPDIR for temp files. 1698 o child of vfork should be careful about modifying parent's state. 1699 1700 17012009-03-26 Simon J. Gerraty <sjg@void.crufty.net> 1702 1703 * Appy some patches for MiNT from David Brownlee 1704 17052009-02-26 Simon J. Gerraty <sjg@void.crufty.net> 1706 1707 * Makefile.in (BMAKE_VERSION): bump version to 20090222 1708 * Merge with NetBSD make, pick up: 1709 o Possible null pointer de-ref in Var_Set. 1710 17112009-02-08 Simon J. Gerraty <sjg@void.crufty.net> 1712 1713 * Makefile.in (BMAKE_VERSION): bump version to 20090204 1714 * Merge with NetBSD make, pick up: 1715 o bmake_malloc et al moved to their own .c 1716 o Count both () and {} when looking for the end of a :M pattern 1717 o Change 'Buffer' so that it is the actual struct, not a pointer to it. 1718 o strlist.c - functions for processing extendable arrays of pointers to strings. 1719 o ClientData replaced with void *, so const void * can be used. 1720 o New debug flag C for DEBUG_CWD 1721 17222008-11-11 Simon J. Gerraty <sjg@void.crufty.net> 1723 1724 * Makefile.in (BMAKE_VERSION): bump version to 20081111 1725 Apply patch from Joerg Sonnenberge to 1726 configure.in: 1727 o remove some redundant checks 1728 o check for emlloc etc only in libutil and require the whole family. 1729 util.c: 1730 o remove [v]asprintf which is no longer used. 1731 17322008-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1733 1734 * Makefile.in (BMAKE_VERSION): bump version to 20081101 1735 * Merge with NetBSD make, pick up: 1736 o util.c: avoid use of putenv() - christos 1737 17382008-10-30 Simon J. Gerraty <sjg@void.crufty.net> 1739 1740 * Makefile.in (BMAKE_VERSION): bump version to 20081030 1741 pick up man page tweaks. 1742 17432008-10-29 Simon J. Gerraty <sjg@void.crufty.net> 1744 1745 * Makefile.in: move processing of LIBOBJS to after is definition! 1746 thus we'll have getenv.c in SRCS only if needed. 1747 1748 * make.1: add examples of how to use :? 1749 1750 * Makefile.in (BMAKE_VERSION): bump version to 20081029 1751 * Merge with NetBSD make, pick up: 1752 o fix for .END processing with -j 1753 o segfault from Parse_Error when no makefile is open 1754 o handle numeric expressions in any variable expansion 1755 o debug output now defaults to stderr, -dF to change it - apb 1756 o make now uses bmake_malloc etc so that it can build natively 1757 on A/UX - wasn't an issue for bmake, but we want to keep in sync. 1758 17592008-09-27 Simon J. Gerraty <sjg@void.crufty.net> 1760 1761 * Makefile.in (BMAKE_VERSION): bump version to 20080808 1762 * Merge with NetBSD make, pick up: 1763 o fix for PR/38840: Pierre Pronchery: make crashes while parsing 1764 long lines in Makefiles 1765 o optimizations for VarQuote by joerg 1766 o fix for PR/38756: dominik: make dumps core on invalid makefile 1767 17682008-05-15 Simon J. Gerraty <sjg@void.crufty.net> 1769 1770 * Makefile.in (BMAKE_VERSION): bump version to 20080515 1771 * Merge with NetBSD make, pick up: 1772 o fix skip setting vars in VAR_GLOBAL context, to handle 1773 cases where VAR_CMD is used for other than command line vars. 1774 17752008-05-14 Simon J. Gerraty <sjg@void.crufty.net> 1776 1777 * boot-strap (make_version): we may need to look in 1778 $prefix/share/mk for sys.mk 1779 1780 * Makefile.in (BMAKE_VERSION): bump version to 20080514 1781 * Merge with NetBSD make, pick up: 1782 o skip setting vars in VAR_GLOBAL context, when already set in 1783 VAR_CMD which takes precedence. 1784 17852008-03-30 Simon J. Gerraty <sjg@void.crufty.net> 1786 1787 * Makefile.in (BMAKE_VERSION): bump version to 20080330 1788 * Merge with NetBSD make, pick up: 1789 o fix for ?= when LHS contains variable reference. 1790 17912008-02-15 Simon J. Gerraty <sjg@void.crufty.net> 1792 1793 * merge some patches from NetBSD pkgsrc. 1794 1795 * makefile.boot.in (BOOTSTRAP_SYS_PATH): Allow better control of 1796 the MAKSYSPATH used during bootstrap. 1797 1798 * Makefile.in (BMAKE_VERSION): bump version to 20080215 1799 * Merge with NetBSD make, pick up: 1800 o warn if non-space chars follow 'empty' in a conditional. 1801 18022008-01-18 Simon J. Gerraty <sjg@void.crufty.net> 1803 1804 * Makefile.in (BMAKE_VERSION): bump version to 20080118 1805 * Merge with NetBSD make, pick up: 1806 o consider dependencies read from .depend as optional - dsl 1807 o remember when buffer for reading makefile grows - dsl 1808 o add -dl (aka LOUD) - David O'Brien 1809 18102007-10-22 Simon J. Gerraty <sjg@void.crufty.net> 1811 1812 * Makefile.in (BMAKE_VERSION): bump version to 20071022 1813 * Merge with NetBSD make, pick up: 1814 o Allow .PATH<suffix> to be used for .include "" 1815 1816 * boot-strap: source default settings from .bmake-boot-strap.rc 1817 18182007-10-16 Simon J. Gerraty <sjg@void.crufty.net> 1819 1820 * Makefile.in: fix maninstall on various systems 1821 provided that our man.mk is used. 1822 For non-BSD systems we install the preformatted page 1823 into $MANDIR/cat1 1824 18252007-10-15 Simon J. Gerraty <sjg@void.crufty.net> 1826 1827 * boot-strap: make bmake.1 too, so maninstall works. 1828 18292007-10-14 Simon J. Gerraty <sjg@void.crufty.net> 1830 1831 * Makefile.in (BMAKE_VERSION): bump version to 20071014 1832 * Merge with NetBSD make, pick up: 1833 o revamped handling of defshell - configure no longer needs to 1834 know the content of the shells array - apb 1835 o stop Var_Subst modifying its input - apb 1836 o avoid calling ParseTrackInput too often - dsl 1837 18382007-10-11 Simon J. Gerraty <sjg@void.crufty.net> 1839 1840 * Makefile.in (BMAKE_VERSION): bump version to 20071011 1841 * Merge with NetBSD make, pick up: 1842 o fix Shell_Init for case that _BASENAME_DEFSHELL is absolute path. 1843 1844 * sigcompat.c: some tweaks for HP-UX 11.x based on 1845 patch from Tobias Nygren 1846 1847 * configure.in: update handling of --with-defshell to match 1848 new make behavior. --with-defshell=/usr/xpg4/bin/sh 1849 will now do what one might hope - provided the chosen shell 1850 behaves enough like sh. 1851 18522007-10-08 Simon J. Gerraty <sjg@void.crufty.net> 1853 1854 * Makefile.in (BMAKE_VERSION): bump to 20071008 1855 * Merge with NetBSD make, pick up: 1856 o .MAKE.JOB.PREFIX - control the token output before jobs - sjg 1857 o .export/.MAKE.EXPORTED - export of variables - sjg 1858 o .MAKE.MAKEFILES - track all makefiles read - sjg 1859 o performance improvements - dsl 1860 o revamp parallel job scheduling - dsl 1861 18622006-07-28 Simon J. Gerraty <sjg@void.crufty.net> 1863 1864 * Makefile.in (BMAKE_VERSION): bump to 20060728 1865 * Merge with NetBSD make, pick up: 1866 o extra debug info during variable and cond processing - sjg 1867 o shell definition now covers newline - rillig 1868 o minor mem leak in PrintOnError - sjg 1869 18702006-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1871 1872 * Makefile.in (BMAKE_VERSION): bump to 20060511 1873 * Merge with NetBSD make, pick up: 1874 o more memory leaks - coverity 1875 o possible overflow in ArchFindMember - coverity 1876 o extract variable modifier code out of Var_Parse() 1877 so it can be called recursively - sjg 1878 o unit-tests/moderrs - sjg 1879 18802006-04-12 Simon J. Gerraty <sjg@void.crufty.net> 1881 1882 * Makefile.in (BMAKE_VERSION): bump to 20060412 1883 * Merge with NetBSD make, pick up: 1884 o fixes for some memory leaks - coverity 1885 o only read first sys.mk etc when searching sysIncPath - sjg 1886 1887 * main.c (ReadMakefile): remove hack for __INTERIX that prevented 1888 setting ${MAKEFILE} - OBATA Akio 1889 18902006-03-18 Simon J. Gerraty <sjg@void.crufty.net> 1891 1892 * Makefile.in (BMAKE_VERSION): bump to 20060318 1893 * Merge with NetBSD make, pick up: 1894 o cleanup of job.c to remove remote handling, distcc is more 1895 useful and this code was likely bit-rotting - dsl 1896 o fix for :P modifier - sjg 1897 * boot-strap: set default prefix to something reasonable 1898 (for me anyway). 1899 19002006-03-01 Simon J. Gerraty <sjg@void.crufty.net> 1901 1902 * Makefile.in (BMAKE_VERSION): bump to 20060301 1903 * Merge with NetBSD make, pick up: 1904 o make .WAIT apply recursively, document and test case - apb 1905 o allow variable modifiers in a variable appear anywhere in 1906 modifier list, document and test case - sjg 1907 19082006-02-22 Simon J. Gerraty <sjg@void.crufty.net> 1909 1910 * Makefile.in (BMAKE_VERSION): bump to 20060222 1911 * Merge with NetBSD make, pick up: 1912 o improved job token handling - dsl 1913 o SIG_DFL the correct signal before exec - dsl 1914 o more debug info during parsing - dsl 1915 o allow variable modifiers to be specified via variable - sjg 1916 * boot-strap: explain why we died if no mksrc 1917 19182005-11-05 Simon J. Gerraty <sjg@void.crufty.net> 1919 1920 * Makefile.in (BMAKE_VERSION): bump to 20051105 1921 * configure.in: always set default_sys_path 1922 default is ${prefix}/share/mk 1923 - remove prefix_sys_path, anyone wanting more than above 1924 needs to set it manually. 1925 19262005-11-04 Simon J. Gerraty <sjg@void.crufty.net> 1927 1928 * boot-strap: make this a bit easier for pkgsrc folk. 1929 bootstrap still fails on IRIX64 since MACHINE_ARCH gets set to 1930 'mips' while pkgsrc wants 'mipseb' or 'mipsel' 1931 19322005-11-02 Simon J. Gerraty <sjg@void.crufty.net> 1933 1934 * Makefile.in (BMAKE_VERSION): bump to 20051102 1935 * job.c (JobFinish): fix likely ancient merge lossage 1936 fix from Todd Vierling. 1937 * boot-strap (srcdir): allow setting mksrc=none 1938 19392005-10-31 Simon J. Gerraty <sjg@void.crufty.net> 1940 1941 * Makefile.in (BMAKE_VERSION): bump to 20051031 1942 * ranlib.h: skip on OSF too. 1943 (NetBSD PR 31864) 1944 19452005-10-10 Simon J. Gerraty <sjg@void.crufty.net> 1946 1947 * Makefile.in (BMAKE_VERSION): bump to 20051002 1948 fix a silly typo 1949 19502005-10-09 Simon J. Gerraty <sjg@void.crufty.net> 1951 1952 * Makefile.in (BMAKE_VERSION): bump to 20051001 1953 support for UnixWare and some other systems, 1954 based on patches from pkgsrc/bootstrap 1955 19562005-09-03 Simon J. Gerraty <sjg@void.crufty.net> 1957 1958 * Makefile.in (BMAKE_VERSION): bump to 20050901 1959 * Merge with NetBSD make, pick up: 1960 o possible parse error causing us to wander off. 1961 19622005-06-06 Simon J. Gerraty <sjg@void.crufty.net> 1963 1964 * Makefile.in (BMAKE_VERSION): bump to 20050606 1965 * Merge with NetBSD make, pick up: 1966 o :0x modifier for randomizing a list 1967 o fixes for a number of -Wuninitialized issues. 1968 19692005-05-30 Simon J. Gerraty <sjg@void.crufty.net> 1970 1971 * Makefile.in (BMAKE_VERSION): bump to 20050530 1972 * Merge with NetBSD make, pick up: 1973 o Handle dependencies for .BEGIN, .END and .INTERRUPT 1974 1975 * README: was seriously out of date. 1976 19772005-03-22 Simon J. Gerraty <sjg@void.crufty.net> 1978 1979 * Important to use .MAKE rather than MAKE. 1980 19812005-03-15 Simon J. Gerraty <sjg@void.crufty.net> 1982 1983 * Makefile.in (BMAKE_VERSION): bump to 20050315 1984 * Merge with NetBSD make, pick up: 1985 o don't mistake .elsefoo for .else 1986 o use suffix-specific search path correctly 1987 o bunch of style nits 1988 19892004-05-11 Simon J. Gerraty <sjg@void.crufty.net> 1990 1991 * boot-strap: 1992 o ensure that args to --src and --with-mksrc 1993 are resolved before giving them to configure. 1994 o add -o "objdir" so that builder can control it, 1995 default is $OS as determined by os.sh 1996 o add -q to suppress all the install instructions. 1997 19982004-05-08 Simon J. Gerraty <sjg@void.crufty.net> 1999 2000 * Remove __IDSTRING() 2001 2002 * Makefile.in (BMAKE_VERSION): bump to 20040508 2003 * Merge with NetBSD make, pick up: 2004 o posix fixes 2005 - remove '-e' from compat mode 2006 - add support for '+' command-line prefix. 2007 o fix for handling '--' on command-line. 2008 o fix include in lst.lib/lstInt.h to simplify '-I's 2009 o we also picked up replacement of MAKE_BOOTSTRAP 2010 with !MAKE_NATIVE which is a noop, but possibly confusing. 2011 20122004-04-14 Simon J. Gerraty <sjg@void.crufty.net> 2013 2014 * Makefile.in (BMAKE_VERSION): bump to 20040414 2015 * Merge with NetBSD make, pick up: 2016 o allow quoted strings on lhs of conditionals 2017 o issue warning when extra .else is seen 2018 o print line numer when errors encountered during parsing from 2019 string. 2020 20212004-02-20 Simon J. Gerraty <sjg@void.crufty.net> 2022 2023 * Makefile.in (BMAKE_VERSION): bump to 20040220 2024 * Merge with NetBSD make, pick up: 2025 o fix for old :M parsing bug. 2026 o re-jigged unit-tests 2027 20282004-02-15 Simon J. Gerraty <sjg@void.crufty.net> 2029 2030 * Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,} 2031 so that './bmake -f Makefile test' works. 2032 20332004-02-14 Simon J. Gerraty <sjg@void.crufty.net> 2034 2035 * Makefile.in: (BMAKE_VERSION): bump to 20040214 2036 * Merge with NetBSD make, pick up: 2037 o search upwards for *.mk 2038 o fix for double free of var substitution buffers 2039 o use of getopt replaced with custom code, since the usage 2040 (re-scanning) isn't posix compatible. 2041 20422004-02-12 Simon J. Gerraty <sjg@void.crufty.net> 2043 2044 * arch.c: don't include ranlib.h on ELF systems 2045 (thanks to Chuck Cranor <chuck@ece.cmu.edu>). 2046 20472004-01-18 Simon J. Gerraty <sjg@void.crufty.net> 2048 2049 * Makefile.in (BMAKE_VERSION): bump to 20040118 2050 2051 * boot-strap (while): export vars we assign to on cmdline 2052 * unit-test/Makefile.in: ternary is .PHONY 2053 20542004-01-08 Simon J. Gerraty <sjg@void.crufty.net> 2055 2056 * Makefile.in (BMAKE_VERSION): bump version to 20040108 2057 * Merge with NetBSD make, pick up: 2058 o fix for ternary modifier 2059 20602004-01-06 Simon J. Gerraty <sjg@void.crufty.net> 2061 2062 * Makefile.in (BMAKE_VERSION): bump version to 20040105 2063 * Merge with NetBSD make, pick up: 2064 o fix for cond.c to handle compound expressions better 2065 o variable expansion within sysV style replacements 2066 20672003-12-22 Simon J. Gerraty <sjg@void.crufty.net> 2068 2069 * Make portable snprintf safer - output to /dev/null first to 2070 check space needed. 2071 2072 * Makefile.in (BMAKE_VERSION): bump version to 20031222 2073 * Merge with NetBSD make, pick up: 2074 o -dg3 to show input graph when things go wrong. 2075 o explicitly look for makefiles in objdir if not found in curdir so 2076 that errors in .depend etc will be reported accurarely. 2077 o avoid use of -e in shell scripts in jobs mode, use '|| exit $?' 2078 instead as it more accurately reflects the expected behavior and 2079 is more consistently implemented. 2080 o avoid use of asprintf. 2081 20822003-09-28 Simon J. Gerraty <sjg@void.crufty.net> 2083 2084 * util.c: Add asprintf and vasprintf. 2085 2086 * Makefile.in (BMAKE_VERSION): bump version to 20030928 2087 * Merge with NetBSD make, pick up: 2088 :[] modifier - allows picking words from a variable. 2089 :tW modifier - allows treating value as one big word. 2090 W flag for :C and :S - allows treating value as one big word. 2091 20922003-09-12 Simon J. Gerraty <sjg@void.crufty.net> 2093 2094 * Merge with NetBSD make 2095 pick up -de flag to enable printing failed command. 2096 don't skip 1st two dir entries (normally . and ..) since 2097 coda does not have them. 2098 20992003-09-09 Simon J. Gerraty <sjg@void.crufty.net> 2100 2101 * Makefile.in (BMAKE_VERSION): bump version to 20030909 2102 * Merge with NetBSD make, pick up: 2103 - changes for -V '${VAR}' to print fully expanded value 2104 cf. -V VAR 2105 - CompatRunCommand now prints the command that failed. 2106 - several files got updated 3 clause Berkeley license. 2107 21082003-08-02 Simon J. Gerraty <sjg@void.crufty.net> 2109 2110 * boot-strap: Allow setting configure args on command line. 2111 21122003-07-31 Simon J. Gerraty <sjg@void.crufty.net> 2113 2114 * configure.in: add --with-defshell to allow sh or ksh 2115 to be selected as default shell. 2116 2117 * Makefile.in: bump version to 20030731 2118 2119 * Merge with NetBSD make 2120 Pick up .SHELL spec for ksh and associate man page changes. 2121 Also compat mode now uses the same shell specs. 2122 21232003-07-29 Simon J. Gerraty <sjg@void.crufty.net> 2124 2125 * var.c (Var_Parse): ensure delim is initialized. 2126 2127 * unit-tests/Makefile.in: use single quotes to avoid problems from 2128 some shells. 2129 2130 * makefile.boot.in: 2131 Run the unit-tests as part of the bootstrap procedure. 2132 21332003-07-28 Simon J. Gerraty <sjg@void.crufty.net> 2134 2135 * unit-tests/Makefile.in: always force complaints from 2136 ${TEST_MAKE} to be from 'make'. 2137 2138 * configure.in: add check for 'diff -u' 2139 also fix some old autoconf'isms 2140 2141 * Makefile.in (BMAKE_VERSION): bump version to 20030728. 2142 if using GCC add -Wno-cast-qual to CFLAGS for var.o 2143 2144 * Merge with NetBSD make 2145 Pick up fix for :ts parsing error in some cases. 2146 Pick unit-tests. 2147 21482003-07-23 Simon J. Gerraty <sjg@void.crufty.net> 2149 2150 * Makefile.in (BMAKE_VERSION): bump version to 20030723. 2151 2152 * var.c (Var_Parse): fix bug in :ts modifier, after const 2153 correctness fixes, must pass nstr to VarModify. 2154 21552003-07-14 Simon J. Gerraty <sjg@void.crufty.net> 2156 2157 * Makefile.in: BMAKE_VERSION switch to a date based version. 2158 We'll generally use the date of last import from NetBSD. 2159 2160 * Merge with NetBSD make 2161 Pick up fixes for const-correctness, now passes WARNS=3 on 2162 NetBSD. 2163 Pick up :ts modifier, allows controlling the separator used 2164 between words in variable expansion. 2165 21662003-07-11 Simon J. Gerraty <sjg@void.crufty.net> 2167 2168 * FILES: include boot-strap and os.sh 2169 2170 * Makefile.in: only set WARNS if we are NetBSD, the effect on 2171 FreeBSD is known to be bad. 2172 2173 * makefile.boot.in (bootstrap): make this the default target. 2174 2175 * Makefile.in: bump version to 3.1.19 2176 2177 * machine.sh: avoid A-Z with tr as it is bound to lose. 2178 21792003-07-10 Simon J. Gerraty <sjg@void.crufty.net> 2180 2181 * Merge with NetBSD make 2182 Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo 2183 Plus some doc fixes. 2184 21852003-04-27 Simon J. Gerraty <sjg@void.crufty.net> 2186 2187 * Merge with NetBSD make 2188 Pick up fix for PR/1523 - don't count a library as built, if there 2189 is no way to build it 2190 2191 * Bump version to 3.1.18 2192 21932003-03-23 Simon J. Gerraty <sjg@void.crufty.net> 2194 2195 * Merge with NetBSD make 2196 Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT 2197 appears in src list. 2198 21992003-03-21 Simon J. Gerraty <sjg@void.crufty.net> 2200 2201 * Merge with NetBSD make (mmm 10th anniversary!) 2202 pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828) 2203 pick up -X which tells us to not export VAR=val via setenv if 2204 we are already doing so via MAKEFLAGS. This saves valuable env 2205 space on systems like Darwin. 2206 set MAKE_VERSION to 3.1.17 2207 2208 * parse.c: pix up fix for suffix rules 2209 22102003-03-06 Simon J. Gerraty <sjg@void.crufty.net> 2211 2212 * Merge with NetBSD make. 2213 pick up fix for propagating -B via MAKEFLAGS. 2214 set MAKE_VERSION to 3.1.16 2215 2216 * Apply some patches from pkgsrc-bootstrap/bmake 2217 Originally by Grant Beattie <grant@netbsd.org> 2218 I may have missed some - since they are based on bmake-3.1.12 2219 22202002-12-03 Simon J. Gerraty <sjg@void.crufty.net> 2221 2222 * makefile.boot.in (bmake): update install targets for those that 2223 use them, also clear MAKEFLAGS when invoking bmake.boot to avoid 2224 havoc from gmake -w. Thanks to Harlan Stenn <hstenn@cisco.com>. 2225 2226 * bmake.cat1: update the pre-formatted man page! 2227 22282002-11-30 Simon J. Gerraty <sjg@void.crufty.net> 2229 2230 * Merge with NetBSD make. 2231 pick up fix for premature free of pointer used in call 2232 to Dir_InitCur(). 2233 set MAKE_VERSION to 3.1.15 2234 22352002-11-26 Simon J. Gerraty <sjg@void.crufty.net> 2236 2237 * configure.in: determine suitable value for MKSRC. 2238 override using --with-mksrc=PATH. 2239 2240 * machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems. 2241 configs(8) will use 'sun4' as an alias for 'sparc'. 2242 22432002-11-25 Simon J. Gerraty <sjg@void.crufty.net> 2244 2245 * Merge with NetBSD make. 2246 pick up ${.PATH} 2247 pick up fix for finding ../cat.c via .PATH when .CURDIR=.. 2248 set MAKE_VERSION to 3.1.14 2249 add configure checks for killpg and sys/socket.h 2250 22512002-09-16 Simon J. Gerraty <sjg@void.crufty.net> 2252 2253 * tag bmake-3-1-13 2254 2255 * makefile.boot.in (bmake): use install-mk 2256 Also setup ./mk before trying to invoke bmake.boot incase we 2257 needed install-mk to create a sys.mk for us. 2258 2259 * configure.in: If we need to add -I${srcdir}/missing, make it an 2260 absolute path so that it works for lst.lib too. 2261 2262 * make.h: always include sys/cdefs.h since we provide one if the 2263 host does not. 2264 2265 * Makefile.in (install-mk): 2266 use MKSRC/install-mk which will do the right thing. 2267 use uname -p for ARCH if possible. 2268 since install-mk will setup links bsd.prog.mk -> prog.mk if 2269 needed, just .include bsd.prog.mk 2270 2271 * Merge with NetBSD make (NetBSD-1.6) 2272 Code is ansi-C only now. 2273 Bug in handling of dotLast is fixed. 2274 Can now assign .OBJDIR and make will reset its notions of life. 2275 New modifiers :tu :tl for toUpper and toLower. 2276 2277Tue Oct 16 12:18:42 2001 Simon J. Gerraty <sjg@zen.crufty.net> 2278 2279 * Merge with NetBSD make 2280 pick up fix for .END failure in compat mode. 2281 pick up fix for extra va_end() in ParseVErrorInternal. 2282 2283Thu Oct 11 13:20:06 2001 Simon J. Gerraty <sjg@zen.crufty.net> 2284 2285 * configure.in: for systems that have sys/cdefs.h check if it is 2286 compatible. If not, include the one under missing, but tell it to 2287 include the native one too - necessary on Linux. 2288 2289 * missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use 2290 include_next (for gcc) to get the native sys/cdefs.h 2291 2292Tue Aug 21 02:29:34 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2293 2294 * job.c (JobFinish): Fix an earlier merge bug that resulted in 2295 leaking descriptors when using -jN. 2296 2297 * job.c (JobPrintCommand): See if "curdir" exists before 2298 attempting to chdir(). Doing the chdir directly in make (when in 2299 compat mode) fails silently, so let the -jN version do the same. 2300 This can happen when building kernels in an object tree and 2301 playing clever games to reset .CURDIR. 2302 2303 * Merged with NetBSD make 2304 pick up .USEBEFORE 2305 2306Tue Jun 26 23:45:11 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2307 2308 * makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work. 2309 2310Tue Jun 12 16:48:57 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2311 2312 * var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell 2313 us not to export the iterator variable when using VAR_CMD context. 2314 2315Sun Jun 10 21:55:21 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2316 2317 * job.c (Job_CatchChildren): don't call Job_CatchOutput() here, 2318 its the wrong "fix". 2319 2320Sat Jun 9 00:11:24 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2321 2322 * Redesigned export of VAR_CMD's via MAKEFLAGS. 2323 We now simply append the variable names to .MAKEOVERRIDES, and 2324 handle duplicate suppression and quoting in ExportMAKEFLAGS using: 2325 ${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@} 2326 Apart from fixing quoting bugs in previous version, this allows us 2327 to export vars to the environment by simply doing: 2328 .MAKEOVERRIDES+= PATH 2329 Merged again with NetBSD make, but the above is the only change. 2330 2331 * configure.in: added 2332 --disable-pwd-override disable $PWD overriding getcwd() 2333 --disable-check-make-chdir disable make trying to guess 2334 when it should automatically cd ${.CURDIR} 2335 2336 * Merge with NetBSD make, changes include: 2337 parse.c (ParseDoDependency): Spot that the syntax error is 2338 caused by an unresolved cvs/rcs conflict and say so. 2339 var.c: most of Var* functions now take a ctxt as 1st arg. 2340 now does variable substituion on rhs of sysv style modifiers. 2341 2342 * var.c (Var_Set): exporting of command line variables (VAR_CMD) 2343 is now done here. We append the name='value' to .MAKEOVERRIDES 2344 rather than directly into MAKEFLAGS as this allows a Makefile to 2345 use .MAKEOVERRIDES= to disable this behaviour. GNU make uses a 2346 very similar mechanism. Note that in adding name='value' to 2347 .MAKEOVERRIDES we do the moral equivalent of: 2348 .MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val' 2349 2350Fri Jun 1 14:08:02 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2351 2352 * make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H 2353 2354 * Merged with NetBSD make 2355 make -dx can now be used to run commands via sh -x 2356 better error messages on exec failures. 2357 2358Thu May 31 01:44:54 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2359 2360 * Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that 2361 MAKE_VERSION gets updated. Also don't use ?= for MAKE_VERSION, 2362 MACHINE etc otherwise they propagate from the previous bmake. 2363 2364 * configure.in (machine): allow --with-machine=generic to make 2365 configure use machine.sh to set MACHINE. 2366 2367 * job.c (JobInterrupt): convert to using WAIT_T and friends. 2368 2369 * Makefile.in: mention in bmake.1 that we use autoconf. 2370 2371 * make.1: mention MAKE_PRINT_VAR_ON_ERROR. 2372 2373Wed May 30 23:17:18 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2374 2375 * main.c (ReadMakefile): don't set MAKEFILE if reading ".depend" 2376 as that rather defeats the usefulness of ${MAKEFILE}. 2377 2378 * main.c (MainParseArgs): append command line variable assignments 2379 to MAKEFLAGS so that they get propagated to child make's. 2380 Apparently this is required POSIX behaviour? Its useful anyway. 2381 2382Tue May 29 02:20:07 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2383 2384 * compat.c (CompatRunCommand): don't use perror() since stdio may 2385 cause problems in child of vfork(). 2386 2387 * compat.c, main.c: Call PrintOnError() when we are going to bail. 2388 This routine prints out the .curdir where we stopped and will also 2389 display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}. 2390 2391 * main.c: add ${.newline} to hold a "\n" - sometimes handy in 2392 :@ expansion. 2393 2394 * var.c: VarLoopExpand: ignore addSpace if a \n is present. 2395 2396 * Added RCSid's for the files we've touched. 2397 2398Thu May 24 15:41:37 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2399 2400 * configure.in: Thanks to some clues from mdb@juniper.net, 2401 added autoconf magic to control setting of MACHINE, MACHINE_ARCH 2402 as well as what ends up in _PATH_DEFSYSPATH. We now have: 2403 2404 --with-machine=MACHINE explicitly set MACHINE 2405 --with-force-machine=MACHINE set FORCE_MACHINE 2406 --with-machine_arch=MACHINE_ARCH explicitly set MACHINE_ARCH 2407 --with-default-sys-path=PATH:DIR:LIST use an explicit _PATH_DEFSYSPATH 2408 --with-prefix-sys-path=PATH:DIR:LIST prefix _PATH_PREFIX_SYSPATH 2409 --with-path-objdirprefix=PATH override _PATH_OBJDIRPREFIX 2410 2411 If _PATH_OBJDIRPREFIX is set to "no" we won't define it. 2412 2413 * makefile: added a pathetically simple makefile to drive 2414 bootstrapping. Running configure by hand is more useful. 2415 2416 * Makefile.in: added MAKE_VERSION, and reworked things to be less 2417 dependent on NetBSD bsd.*.mk 2418 2419 * pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining 2420 _PATH_OBJDIRPREFIX for those that don't want a default. 2421 construct _PATH_DEFSYSPATH from the info we get from configure. 2422 2423 * main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION} 2424 if MAKE_VERSION is defined. 2425 2426 * compat.c: when we bail, print out the .CURDIR we were in. 2427 2428Sat May 12 00:34:12 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2429 2430 * Merged with NetBSD make 2431 2432 * var.c: fixed a bug in the handling of the modifier :P 2433 if the node as found but the path was null, we segfault trying to 2434 duplicate it. 2435 2436Mon Mar 5 16:20:33 2001 Simon J. Gerraty <sjg@zen.quick.com.au> 2437 2438 * Merged with NetBSD make 2439 2440 * make.c: Make_OODate's test for a library out of date was using 2441 cmtime where it should have used mtime (my bug). 2442 2443 * compat.c: Use perror() to tell us what really went wrong when we 2444 cannot exec a command. 2445 2446Fri Dec 15 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2447 2448 * Merged with NetBSD make 2449 2450Sat Jun 10 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2451 2452 * Merged with NetBSD make 2453 2454Thu Jun 1 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2455 2456 * Merged with NetBSD make 2457 2458Tue May 30 10:11:08 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2459 2460 * Merged with NetBSD make 2461 2462Thu Apr 27 00:07:47 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2463 2464 * util.c: don't provide signal() since we use sigcompat.c 2465 2466 * Makefile.in: added a build target. 2467 2468 * var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :! 2469 These allow some quite clever magic. 2470 2471 * main.c (main): added support for getenv(MAKESYSPATH). 2472 2473Mon Apr 2 16:25:13 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2474 2475 * Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set. 2476 This avoids objdir having a different value depending on how a 2477 directory was reached (via command line, or subdir.mk). 2478 2479 * If FORCE_MACHINE is defined, ignore getenv("MACHINE"). 2480 2481Mon Apr 2 23:15:31 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2482 2483 * Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if 2484 MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not. 2485 I've been testing this in NetBSD's make for some weeks. 2486 2487 * Turn Makefile into Makefile.in and make it useful. 2488 2489Tue Feb 29 22:08:00 2000 Simon J. Gerraty <sjg@zen.quick.com.au> 2490 2491 * Imported NetBSD's -current make(1) and resolve conflicts. 2492 2493 * Applied autoconf patches from bmake v2 2494 2495 * Imported clean code base from NetBSD-1.0 2496