Merge from vendor branch BMAKE:
authorbsiegert <bsiegert>
Sat, 18 Jun 2011 22:18:21 +0000 (22:18 +0000)
committerbsiegert <bsiegert>
Sat, 18 Jun 2011 22:18:21 +0000 (22:18 +0000)
commit8f1b54cb7e13ee9ecb804809cdb670448367a6bc
tree01f29d313e54205cfdcff3faa82f82320096e585
parent6dba12b5df721d194ef9be0d319ce33b1bd364d3
parent7a9137bf877e9835bb399f93876458e9d06778ab
Merge from vendor branch BMAKE:
Import bmake-20110606. Many changes, among them:

  - unit-tests/modts now works on MirBSD
  - meta mode
  - ApplyModifiers: when we parse a variable which is not the entire modifier
    string, or not followed by ':', do not consider it as containing modifiers.
  - when long modifiers fail to match, check sysV style.
  - :hash - cheap 32bit hash of value
  - :localtime, :gmtime - use value as format string for strftime.
  - fix for use after free() in CondDoExists().
  - boot-strap (TOOL_DIFF): aparently at least on linux distro
    formats the output of 'type' differently - so eat any "()"
  - correct sysV substitution handling of empty lhs and variable
  - correct exists() check for dir with trailing /
  - correct handling of modifiers for non-existant variables during evaluation
    of conditionals.
  - fix for incorrect .PARSEDIR when .OBJDIR is re-computed after makefiles
    have been read.
  - fix example of :? modifier in man page.
  - sigcompat.c: convert to ansi so we can use higher warning levels.
  - parse.c: SunOS 5.8 at least does not have MAP_FILE
  - use mmap(2) if available, for reading makefiles
  - to ensure unit-tests results match, need to control LC_ALL as well as LANG.
  - if stale dependency is an IMPSRC, search via .PATH
  - machine.sh: like os.sh, allow for uname -p producing useless drivel
  - boot-strap: document configure knobs for meta and filemon.