Kaffe+Kore ChangeLog

	* README.Utah: Describe the changes made to configure in 
	a small bit of detail.  Add doc for existing options.

	* <everywhere>/Makefile.in, configure.in: Add SET_MAKE to many
 	makefiles
	
	Add depend stuff everywhere.  Mostly
 	just makefile changes (also changes to configure.in.)
	
	Add --enable-debug to configure.in Add
 	--enable-depend to configure.in Add --with-kore (Use Kore native
 	library).

	CFLAGS to KAFFE_CFLAGS everywhere (lets me use CFLAGS on the
	make command line.)

	Make configure more verbose when looking for packages

	* kaffe/include/*: Rework the kaffe/include/ directory to have
 	kore/ and a sun/ subdirectories.  (Perhaps this should be part of
 	each native library? An include directory?)  Added appropraite
	-I include magic to most Makefiles to support this.

	* everywhere: Cleanup dead code, unused types, etc.  I compile
	with '-Wall', and I've gotten 98% of all the warnings to disappear.
	
	Get some code to wrap at 80 columns (or near 80.)

	Added many comments at function heads.
	
	* many header files: Turn lots of "Hjava_TYPE *foo" into "struct
 	Hjava_TYPE *foo" to reduce header dependencies.  Also required to
	get lots of code to work with both Kore and Sun libraries---this
	effectively makes the typedef opaque so, for example, functions
	which only use an object pointer to differentiate different
	request (e.g., with the class loader) they don't need to see the
	internals of the object. 

	* kaffe/kaffevm/support.h, include/native.h: Add an unimp() macro
	that will use __FUNCTION__ magic under GCC. 

	* kaffe/kaffe/main.c,kaffe/kaffevm/debug.c,kaffe/kaffevm/debug.h:
	Add -vmdebug argument to kaffe/main.c arg parser.  This calls into
	kaffevm/debug.c, and setups the bit flags of active debug info,
	allowing runtime selection of debugging dumps. e.g., 'METHOD_CALL'
	will display the name and signature of every method as its called,
	and as it returns (it even indents them nicely.)  Return values
	are also displayed.   Replaced most of the per-file DBGx() macros
	with a global set of macros and flags (see kaffe/kaffevm/debug.h)

	* kaffe/kaffevm/constants.h,kaffe/kaffevm/constants.c: Make
	makeUtf8Const() take a 'const' first argument (the C string).

	* kaffe/kaffeh/error.h, kaffe/kaffeh/readClassConfig.h,
 	kaffe/kaffevm/readClass.c: Add <error.h> to kaffeh/ directory,
 	this lets code shared between kaffeh and kaffevm "throw
 	exceptions" (It used to simple abort() if the class magic was
 	bad.)

	* kaffe/kaffeh/main.c: Add a -verbose flag to kaffeh

	* kaffe/kaffeh/support.c: Add '#if !defined(DEFINED_TYPEDEF_%s)'
	protection to header files generated by kaffeh.  (e.g., if you
	just want to use prototypes in a header file, and not the datatype
	definition.) 

	* kaffe/kaffevm/classLoader.h,kaffe/kaffevm/classLoader.c: Make
	the ClassLoader struct completely opaque to kaffevm (its just a
	struct everywhere and not some dummy typedef.)

	* several places: Add exception messages to a bunch of
	throwException() statements inside the VM.

	* kaffe/kaffevm/constants.[ch], kaffe/kaffevm/equalUtf8Consts.c:
 	break equalUtf8Consts out into its own file, so that under GCC we
 	can include an inline version in every file, and have a linkable
 	version in constants.c.

	* kaffe/kaffevm/exception.c: Improve handling of errors during the
 	initialization of the system (i.e., before exceptions are setup,
 	etc.)

	* kaffe/kaffevm/gc-mem.c: In the GC, wipe freed memory to wacky
 	numbers (42) to make errors show up fast (when debugging.)

	* kaffe/kaffevm/string.c: Hacks to get it to work with both Sun and Kore
	libraries.

	* kaffe/kaffevm/support.c: Have _unimp() exit(1) when debugging,
 	otherwise, it throws an InternalError.

	Add a panic() call.

	* kaffe/kaffevm/thread-internal.h: Define and use
 	'assertIntsDisabled()' and 'assertIntsEnabled()' in place of
 	checks of '(blockInts == ?)'.

	* thread-kore.c, thread-sun.c: Add to separate native
 	library-specific dependencies.

	* kaffe/kaffevm/intrp/machine.c: Make various stack
 	variables/arguments to virtualMachine() volatile in kaffevm/intrp/
 	to prevent setjmp/longjmp errors and warnings.  Add lots of
 	comments and debugging infrastructure to this function, too.

	* kaffe/packages/external_native.h, kaffe/packages/sensei.co.uk:
 	Add the sensei.co.uk/ package that contains native support for the
 	Kore libraries.

Pat Tullmann
Last modified: Tue Nov 25 14:58:13 MST 1997