2005-05-30  Simon J. Gerraty  <sjg@void.crufty.net>

	* Makefile.in (BMAKE_VERSION): bump to 20050530
	* Merge with NetBSD make, pick up:
	  o Handle dependencies for .BEGIN, .END and .INTERRUPT

	* README: was seriously out of date.
	
2005-03-22  Simon J. Gerraty  <sjg@void.crufty.net>

	* Important to use .MAKE rather than MAKE.

2005-03-15  Simon J. Gerraty  <sjg@void.crufty.net>

	* Makefile.in (BMAKE_VERSION): bump to 20050315
	* Merge with NetBSD make, pick up:
	  o don't mistake .elsefoo for .else
	  o use suffix-specific search path correctly
	  o bunch of style nits

2004-05-11  Simon J. Gerraty  <sjg@void.crufty.net>

	* boot-strap: 
	o ensure that args to --src and --with-mksrc
	  are resolved before giving them to configure.
	o add -o "objdir" so that builder can control it,
	  default is $OS as determined by os.sh
	o add -q to suppress all the install instructions.

2004-05-08  Simon J. Gerraty  <sjg@void.crufty.net>

	* Remove __IDSTRING()

	* Makefile.in (BMAKE_VERSION): bump to 20040508
	* Merge with NetBSD make, pick up:
	  o posix fixes
	    - remove '-e' from compat mode
	    - add support for '+' command-line prefix.
	  o fix for handling '--' on command-line.
	  o fix include in lst.lib/lstInt.h to simplify '-I's
	  o we also picked up replacement of MAKE_BOOTSTRAP 
	    with !MAKE_NATIVE which is a noop, but possibly confusing.

2004-04-14  Simon J. Gerraty  <sjg@void.crufty.net>

	* Makefile.in (BMAKE_VERSION): bump to 20040414
	* Merge with NetBSD make, pick up:
	  o allow quoted strings on lhs of conditionals
	  o issue warning when extra .else is seen
	  o print line numer when errors encountered during parsing from
	  string.

2004-02-20  Simon J. Gerraty  <sjg@void.crufty.net>

	* Makefile.in (BMAKE_VERSION):  bump to 20040220
	* Merge with NetBSD make, pick up:
	  o fix for old :M parsing bug.
	  o re-jigged unit-tests

2004-02-15  Simon J. Gerraty  <sjg@void.crufty.net>

	* Makefile.in (accept test): use ${.MAKE:S,^./,${.CURDIR}/,}
	so that './bmake -f Makefile test' works.
	
2004-02-14  Simon J. Gerraty  <sjg@void.crufty.net>

	* Makefile.in: (BMAKE_VERSION): bump to 20040214
	* Merge with NetBSD make, pick up:
	  o search upwards for *.mk
	  o fix for double free of var substitution buffers
	  o use of getopt replaced with custom code, since the usage
	  (re-scanning) isn't posix compatible.

2004-02-12  Simon J. Gerraty  <sjg@void.crufty.net>

	* arch.c: don't include ranlib.h on ELF systems
	(thanks to Chuck Cranor <chuck@ece.cmu.edu>).

2004-01-18  Simon J. Gerraty  <sjg@void.crufty.net>

	* Makefile.in (BMAKE_VERSION): bump to 20040118

	* boot-strap (while): export vars we assign to on cmdline
	* unit-test/Makefile.in: ternary is .PHONY

2004-01-08  Simon J. Gerraty  <sjg@void.crufty.net>

	* Makefile.in (BMAKE_VERSION): bump version to 20040108
	* Merge with NetBSD make, pick up:
	  o fix for ternary modifier

2004-01-06  Simon J. Gerraty  <sjg@void.crufty.net>

	* Makefile.in (BMAKE_VERSION): bump version to 20040105
	* Merge with NetBSD make, pick up:
	  o fix for cond.c to handle compound expressions better
	  o variable expansion within sysV style replacements
	  
2003-12-22  Simon J. Gerraty  <sjg@void.crufty.net>

	* Make portable snprintf safer - output to /dev/null first to
	check space needed.

	* Makefile.in (BMAKE_VERSION): bump version to 20031222
	* Merge with NetBSD make, pick up:
	  o -dg3 to show input graph when things go wrong.
	  o explicitly look for makefiles in objdir if not found in curdir so
	    that errors in .depend etc will be reported accurarely. 
	  o avoid use of -e in shell scripts in jobs mode, use '|| exit $?'
	    instead as it more accurately reflects the expected behavior and
	    is more consistently implemented.
	  o avoid use of asprintf.

2003-09-28  Simon J. Gerraty  <sjg@void.crufty.net>

	* util.c: Add asprintf and vasprintf.

	* Makefile.in (BMAKE_VERSION): bump version to 20030928
	* Merge with NetBSD make, pick up:
	:[] modifier - allows picking words from a variable.
	:tW modifier - allows treating value as one big word.
	W flag for :C and :S - allows treating value as one big word.
	
2003-09-12  Simon J. Gerraty  <sjg@void.crufty.net>

	* Merge with NetBSD make
	pick up -de flag to enable printing failed command.
	don't skip 1st two dir entries (normally . and ..) since
	coda does not have them.

2003-09-09  Simon J. Gerraty  <sjg@void.crufty.net>

	* Makefile.in (BMAKE_VERSION): bump version to 20030909
	* Merge with NetBSD make, pick up:
	- changes for -V '${VAR}' to print fully expanded value
	  cf. -V VAR
	- CompatRunCommand now prints the command that failed.
	- several files got updated 3 clause Berkeley license.
	
2003-08-02  Simon J. Gerraty  <sjg@void.crufty.net>

	* boot-strap: Allow setting configure args on command line.

2003-07-31  Simon J. Gerraty  <sjg@void.crufty.net>

	* configure.in: add --with-defshell to allow sh or ksh
	to be selected as default shell.

	* Makefile.in: bump version to 20030731

	* Merge with NetBSD make 
	Pick up .SHELL spec for ksh and associate man page changes.
	Also compat mode now uses the same shell specs.

2003-07-29  Simon J. Gerraty  <sjg@void.crufty.net>

	* var.c (Var_Parse): ensure delim is initialized.

	* unit-tests/Makefile.in: use single quotes to avoid problems from
	some shells.

	* makefile.boot.in:
	Run the unit-tests as part of the bootstrap procedure.

2003-07-28  Simon J. Gerraty  <sjg@void.crufty.net>

	* unit-tests/Makefile.in: always force complaints from
	${TEST_MAKE} to be from 'make'.

	* configure.in: add check for 'diff -u'
	also fix some old autoconf'isms
	
	* Makefile.in (BMAKE_VERSION): bump version to 20030728.
	if using GCC add -Wno-cast-qual to CFLAGS for var.o

	* Merge with NetBSD make
	Pick up fix for :ts parsing error in some cases.
	Pick unit-tests.

2003-07-23  Simon J. Gerraty  <sjg@void.crufty.net>

	* Makefile.in (BMAKE_VERSION): bump version to 20030723.

	* var.c (Var_Parse): fix bug in :ts modifier, after const
	correctness fixes, must pass nstr to VarModify.

2003-07-14  Simon J. Gerraty  <sjg@void.crufty.net>

	* Makefile.in: BMAKE_VERSION switch to a date based version.
	We'll generally use the date of last import from NetBSD.

	* Merge with NetBSD make
	Pick up fixes for const-correctness, now passes WARNS=3 on
	NetBSD.
	Pick up :ts modifier, allows controlling the separator used
	between words in variable expansion.

2003-07-11  Simon J. Gerraty  <sjg@void.crufty.net>

	* FILES: include boot-strap and os.sh

	* Makefile.in: only set WARNS if we are NetBSD, the effect on
	FreeBSD is known to be bad.

	* makefile.boot.in (bootstrap): make this the default target.

	* Makefile.in: bump version to 3.1.19

	* machine.sh: avoid A-Z with tr as it is bound to lose.

2003-07-10  Simon J. Gerraty  <sjg@void.crufty.net>

	* Merge with NetBSD make
	Pick up fix for PR/19781 - unhelpful error msg on unclosed ${var:foo
	Plus some doc fixes.
	
2003-04-27  Simon J. Gerraty  <sjg@void.crufty.net>

	* Merge with NetBSD make
	Pick up fix for PR/1523 - don't count a library as built, if there
	is no way to build it 

	* Bump version to 3.1.18

2003-03-23  Simon J. Gerraty  <sjg@void.crufty.net>

	* Merge with NetBSD make
	Pick up fix for ParseDoSpecialSrc - we only use it if .WAIT
	appears in src list.

2003-03-21  Simon J. Gerraty  <sjg@void.crufty.net>

	* Merge with NetBSD make (mmm 10th anniversary!)
	pick up fix for .WAIT in srcs that refer to $@ or $* (PR#20828)
	pick up -X which tells us to not export VAR=val via setenv if
	we are already doing so via MAKEFLAGS.  This saves valuable env
	space on systems like Darwin.
	set MAKE_VERSION to 3.1.17

	* parse.c: pix up fix for suffix rules

2003-03-06  Simon J. Gerraty  <sjg@void.crufty.net>

	* Merge with NetBSD make.
	pick up fix for propagating -B via MAKEFLAGS.
	set MAKE_VERSION to 3.1.16

	* Apply some patches from pkgsrc-bootstrap/bmake
	Originally by Grant Beattie <grant@netbsd.org>
	I may have missed some - since they are based on bmake-3.1.12
	
2002-12-03  Simon J. Gerraty  <sjg@void.crufty.net>

	* makefile.boot.in (bmake): update install targets for those that
	use them, also clear MAKEFLAGS when invoking bmake.boot to avoid
	havoc from gmake -w.  Thanks to Harlan Stenn <hstenn@cisco.com>.

	* bmake.cat1: update the pre-formatted man page!

2002-11-30  Simon J. Gerraty  <sjg@void.crufty.net>

	* Merge with NetBSD make.
	pick up fix for premature free of pointer used in call
	to Dir_InitCur().
	set MAKE_VERSION to 3.1.15

2002-11-26  Simon J. Gerraty  <sjg@void.crufty.net>

	* configure.in: determine suitable value for MKSRC.
	override using --with-mksrc=PATH.

	* machine.sh: use `uname -p` for MACHINE_ARCH on modern SunOS systems.
	configs(8) will use 'sun4' as an alias for 'sparc'.

2002-11-25  Simon J. Gerraty  <sjg@void.crufty.net>

	* Merge with NetBSD make.
	pick up ${.PATH}
	pick up fix for finding ../cat.c via .PATH when .CURDIR=..
	set MAKE_VERSION to 3.1.14
	add configure checks for killpg and sys/socket.h

2002-09-16  Simon J. Gerraty  <sjg@void.crufty.net>

	* tag bmake-3-1-13
	
	* makefile.boot.in (bmake): use install-mk
	Also setup ./mk before trying to invoke bmake.boot incase we
	needed install-mk to create a sys.mk for us. 

	* configure.in: If we need to add -I${srcdir}/missing, make it an
	absolute path so that it works for lst.lib too.

	* make.h: always include sys/cdefs.h since we provide one if the
	host does not.
	
	* Makefile.in (install-mk): 
	use MKSRC/install-mk which will do the right thing.
	use uname -p for ARCH if possible.
	since install-mk will setup links bsd.prog.mk -> prog.mk if
	needed, just .include bsd.prog.mk

	* Merge with NetBSD make (NetBSD-1.6)
	Code is ansi-C only now.
	Bug in handling of dotLast is fixed.
	Can now assign .OBJDIR and make will reset its notions of life.
	New modifiers :tu :tl for toUpper and toLower.

Tue Oct 16 12:18:42 2001  Simon J. Gerraty  <sjg@zen.crufty.net>

	* Merge with NetBSD make
	pick up fix for .END failure in compat mode.
	pick up fix for extra va_end() in ParseVErrorInternal.

Thu Oct 11 13:20:06 2001  Simon J. Gerraty  <sjg@zen.crufty.net>

	* configure.in: for systems that have sys/cdefs.h check if it is
	compatible.  If not, include the one under missing, but tell it to
	include the native one too - necessary on Linux.

	* missing/sys/cdefs.h: if NEED_HOST_CDEFS_H is defined, use
	include_next (for gcc) to get the native sys/cdefs.h

Tue Aug 21 02:29:34 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* job.c (JobFinish): Fix an earlier merge bug that resulted in
	leaking descriptors when using -jN.
	
	* job.c (JobPrintCommand): See if "curdir" exists before
	attempting to chdir().  Doing the chdir directly in make (when in
	compat mode) fails silently, so let the -jN version do the same.
	This can happen when building kernels in an object tree and
	playing clever games to reset .CURDIR.

	* Merged with NetBSD make
	pick up .USEBEFORE

Tue Jun 26 23:45:11 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* makefile.boot.in: Give bmake.boot a MAKESYSPATH that might work.

Tue Jun 12 16:48:57 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* var.c (Var_Set): Add 4th (flags) arg so VarLoopExpand can tell
	us not to export the iterator variable when using VAR_CMD context.

Sun Jun 10 21:55:21 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* job.c (Job_CatchChildren): don't call Job_CatchOutput() here,
	its the wrong "fix".

Sat Jun  9 00:11:24 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* Redesigned export of VAR_CMD's via MAKEFLAGS.
	We now simply append the variable names to .MAKEOVERRIDES, and
	handle duplicate suppression and quoting in ExportMAKEFLAGS using:
	${.MAKEOVERRIDES:O:u:@v@$v=${$v:Q}@}
	Apart from fixing quoting bugs in previous version, this allows us
	to export vars to the environment by simply doing:
	.MAKEOVERRIDES+= PATH 
	Merged again with NetBSD make, but the above is the only change.

	* configure.in: added
	--disable-pwd-override		disable $PWD overriding getcwd()
	--disable-check-make-chdir	disable make trying to guess 
		when it should automatically cd ${.CURDIR}

	* Merge with NetBSD make, changes include:
	parse.c (ParseDoDependency): Spot that the syntax error is
	caused by an unresolved cvs/rcs conflict and say so.
	var.c: most of Var* functions now take a ctxt as 1st arg.
	now does variable substituion on rhs of sysv style modifiers.
	
	* var.c (Var_Set): exporting of command line variables (VAR_CMD)
	is now done here.  We append the name='value' to .MAKEOVERRIDES
	rather than directly into MAKEFLAGS as this allows a Makefile to
	use .MAKEOVERRIDES= to disable this behaviour.  GNU make uses a
	very similar mechanism.  Note that in adding name='value' to
	.MAKEOVERRIDES we do the moral equivalent of:
	.MAKEOVERRIDES:= ${.MAKEOVERRIDES:Nname=*} name='val'

Fri Jun  1 14:08:02 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* make-conf.h (USE_IOVEC): make it conditional on HAVE_SYS_UIO_H

	* Merged with NetBSD make
	make -dx can now be used to run commands via sh -x
	better error messages on exec failures.

Thu May 31 01:44:54 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* Makefile.in (main.o): depends on ${SRCS} ${MAKEFILE} so that
	MAKE_VERSION gets updated.  Also don't use ?= for MAKE_VERSION,
	MACHINE etc otherwise they propagate from the previous bmake.

	* configure.in (machine): allow --with-machine=generic to make
	configure use machine.sh to set MACHINE. 

	* job.c (JobInterrupt): convert to using WAIT_T and friends.

	* Makefile.in: mention in bmake.1 that we use autoconf.

	* make.1: mention MAKE_PRINT_VAR_ON_ERROR.

Wed May 30 23:17:18 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* main.c (ReadMakefile): don't set MAKEFILE if reading ".depend"
	as that rather defeats the usefulness of ${MAKEFILE}.

	* main.c (MainParseArgs): append command line variable assignments
	to MAKEFLAGS so that they get propagated to child make's.
	Apparently this is required POSIX behaviour?  Its useful anyway.

Tue May 29 02:20:07 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* compat.c (CompatRunCommand): don't use perror() since stdio may
	cause problems in child of vfork().

	* compat.c, main.c: Call PrintOnError() when we are going to bail.
	This routine prints out the .curdir where we stopped and will also
	display any vars listed in ${MAKE_PRINT_VAR_ON_ERROR}.

	* main.c: add ${.newline} to hold a "\n" - sometimes handy in
	:@ expansion.

	* var.c: VarLoopExpand: ignore addSpace if a \n is present.

	* Added RCSid's for the files we've touched.
	
Thu May 24 15:41:37 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* configure.in:	Thanks to some clues from mdb@juniper.net,
	added autoconf magic to control setting of MACHINE, MACHINE_ARCH
	as well as what ends up in _PATH_DEFSYSPATH.  We now have:

  --with-machine=MACHINE  explicitly set MACHINE
  --with-force-machine=MACHINE  set FORCE_MACHINE
  --with-machine_arch=MACHINE_ARCH  explicitly set MACHINE_ARCH
  --with-default-sys-path=PATH:DIR:LIST  use an explicit _PATH_DEFSYSPATH
  --with-prefix-sys-path=PATH:DIR:LIST  prefix _PATH_PREFIX_SYSPATH
  --with-path-objdirprefix=PATH  override _PATH_OBJDIRPREFIX
 	
	If _PATH_OBJDIRPREFIX is set to "no" we won't define it.

	* makefile: added a pathetically simple makefile to drive
	bootstrapping.  Running configure by hand is more useful.

	* Makefile.in: added MAKE_VERSION, and reworked things to be less
	dependent on NetBSD bsd.*.mk
	
	* pathnames.h: allow NO_PATH_OBJDIRPREFIX to stop us defining
	_PATH_OBJDIRPREFIX for those that don't want a default.
	construct _PATH_DEFSYSPATH from the info we get from configure.

	* main.c: allow for no _PATH_OBJDIRPREFIX, set ${MAKE_VERSION}
	if MAKE_VERSION is defined.
	
	* compat.c: when we bail, print out the .CURDIR we were in.
	
Sat May 12 00:34:12 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* Merged with NetBSD make

	* var.c: fixed a bug in the handling of the modifier :P
	if the node as found but the path was null, we segfault trying to
	duplicate it.

Mon Mar  5 16:20:33 2001  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* Merged with NetBSD make
	
	* make.c: Make_OODate's test for a library out of date was using
	cmtime where it should have used mtime (my bug).

	* compat.c: Use perror() to tell us what really went wrong when we
	cannot exec a command.
	
Fri Dec 15 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* Merged with NetBSD make
	
Sat Jun 10 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* Merged with NetBSD make
	
Thu Jun  1 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* Merged with NetBSD make
	
Tue May 30 10:11:08  2000  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* Merged with NetBSD make
	
Thu Apr 27 00:07:47 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* util.c: don't provide signal() since we use sigcompat.c

	* Makefile.in: added a build target.

	* var.c (Var_Parse): added ODE modifiers :U, :D, :L, :P, :@ and :!
	These allow some quite clever magic.

	* main.c (main): added support for getenv(MAKESYSPATH).

Mon Apr  2 16:25:13 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* Disable $PWD overriding getcwd() if MAKEOBJDIRPREFIX is set.
	This avoids objdir having a different value depending on how a
	directory was reached (via command line, or subdir.mk).

	* If FORCE_MACHINE is defined, ignore getenv("MACHINE").
	
Mon Apr  2 23:15:31 2000  Simon J. Gerraty  <sjg@zen.quick.com.au>

	* Do a chdir(${.CURDIR}) before invoking ${.MAKE} or ${.MAKE:T} if
	MAKEOBJDIRPREFIX is set and NOCHECKMAKECHDIR is not.
	I've been testing this in NetBSD's make for some weeks.

	* Turn Makefile into Makefile.in and make it useful.
	
Tue Feb 29 22:08:00 2000 Simon J. Gerraty  <sjg@zen.quick.com.au>

	* Imported NetBSD's -current make(1) and resolve conflicts.
	
	* Applied autoconf patches from bmake v2

	* Imported clean code base from NetBSD-1.0
