gcc/libjava
Bryce McKinlay b834f1fa06 Makefile.in: New #defines and friends for Thread.h.
* Makefile.in: New #defines and friends for Thread.h.
        * posix-threads.cc: (struct starter): Remove `object'.
        (_Jv_CondWait): Use interruptable condition variables and new
        recursive mutexes. New return codes on interrupt or non-ownership
        of mutex.
        (_Jv_CondNotify): Ditto.
        (_Jv_CondNotifyAll): Ditto.
        (_Jv_ThreadInterrupt): Set thread interrupt flag directly. Interrupt
        the target thread by signaling its wait condition.
        (_Jv_ThreadInitData): Set `thread_obj' in the thread data struct,
        not the starter struct. Initialize wait_mutex and wait_cond.
        (_Jv_MutexLock): New recursive mutex implementation. Moved from
        posix-threads.h.
        (_Jv_MutexUnlock): Ditto.
        (really_start): Set info->data->thread from pthread_self() to work
        around a race condition. Destroy wait_mutex and wait_cond when run()
        returns.
        * java/lang/Thread.java: (isInterrupted_): Renamed to overloaded
        `isInterrupted(boolean)'. Clear interrupted flag if clear_flag is
        set.
        startable_flag: New private field.
        (Thread): Initialize `startable_flag'.
        (toString): Check for null thread group.
        * java/lang/natThread.cc: (struct natThread): New fields
        `join_mutex', `join_cond'. Removed fields `joiner', `next'.
        (class locker): Removed.
        (initialize_native): Initialize `join_cond' and `join_mutex'.
        (interrupt): Now just calls _Jv_ThreadInterrupt().
        (join): Simplified. Just wait on the target thread's join condition.
        (finish_): Remove join list code. Unset thread group. Signal
        potential joiners by notifying the dying threads join_cond.
        (start): Check for illegal restarts.
        * java/lang/natObject.cc: Check for return value of _Jv_CondWait and
        act appropriatly.
        * include/posix-threads.h: Remove all HAVE_RECURSIVE_MUTEX related
        #defines and #ifdefs.
        (struct _Jv_Thread_t): New fields `thread_obj', `wait_cond',
        `wait_mutex', `next'.
        (struct _Jv_ConditionVariable_t): Define as a struct instead of
        directly mapping to pthread_cond_t.
        (struct _Jv_Mutex_t): New recursive implementation.
        (_Jv_PthreadCheckMonitor): Reimplemented. Simple `owner' check.
        _Jv_HaveCondDestroy: Never define this for posix-threads.
        (_Jv_CondNotify): Remove inline implementation(s), prototype instead.
        (_Jv_CondNotifyAll): Ditto.
        (_Jv_MutexLock): Ditto.
        (_Jv_MutexUnlock): Ditto.
        (_Jv_MutexInit): Changed to reflect new mutex implementation.
        (_Jv_MutexDestroy): Ditto.
        (_Jv_CondDestroy): Removed.
        (_Jv_PthreadGetMutex): Removed.
        * include/win32-threads.h: (_Jv_CondNotify): Guess _JV_NOT_OWNER on an
        error. Add a FIXME about this.
        (_Jv_CondNotifyAll): Ditto.
        * win32-threads.cc: (_Jv_CondWait): Return 0 on a timeout. Guess
        _JV_NOT_OWNER on other errors. Add FIXME.

From-SVN: r32773
2000-03-28 03:22:24 +01:00
..
doc configure: Rebuilt. 1999-10-13 00:00:35 +00:00
gcj [multiple changes] 2000-03-26 20:33:04 +00:00
gnu/gcj All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
include Makefile.in: New #defines and friends for Thread.h. 2000-03-28 03:22:24 +01:00
java Makefile.in: New #defines and friends for Thread.h. 2000-03-28 03:22:24 +01:00
libltdl ltdl.c: If HAVE_BOEHM_GC defined, includ gc.h. 2000-02-14 21:59:58 +00:00
scripts All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
testsuite test_long.out: New file. 2000-03-27 19:37:16 +00:00
acconfig.h config.h.in: Rebuilt. 2000-01-31 04:53:47 +00:00
acinclude.m4 aclocal.m4, configure: Rebuilt. 1999-09-28 20:14:11 +00:00
aclocal.m4 Runtime.java (loadLibraryInternal): Declare. 2000-01-17 19:22:20 +00:00
boehm.cc All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
ChangeLog Makefile.in: New #defines and friends for Thread.h. 2000-03-28 03:22:24 +01:00
ChangeLog-1999 Rotated ChangeLogs 2000-02-17 22:57:30 +00:00
chartables.pl * All files: Updated copyright to reflect Cygnus purchase. 2000-01-19 18:39:27 +00:00
configure configure: Rebuilt. 2000-03-04 21:50:19 +00:00
configure.host configure.host: Fix __NO_MATH_INLNES botch. 2000-03-05 22:26:30 +00:00
configure.in [multiple changes] 2000-03-26 20:33:04 +00:00
COPYING All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
defineclass.cc All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
exception.cc [multiple changes] 2000-03-15 22:03:19 +00:00
gij.cc All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
interpret.cc [multiple changes] 2000-03-26 20:33:04 +00:00
jni.cc jni.cc (_Jv_JNI_PopSystemFrame): If environment has exception set, throw it. 2000-03-27 19:51:46 +00:00
LIBGCJ_LICENSE All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
libgcj-test.spec.in configure: Rebuilt. 2000-03-04 21:50:19 +00:00
libgcj.spec.in libgcjdata.c: New file. 1999-12-20 02:18:11 +00:00
libgcjdata.c All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
libtool-version libtool-version: Catch up by incrementing current. 1999-10-15 06:07:41 +00:00
Makefile.am Color.java: New file. 2000-03-17 00:45:06 +00:00
Makefile.in Color.java: New file. 2000-03-17 00:45:06 +00:00
mauve-libgcj * mauve-libgcj: Don't disable ClassTest. 2000-01-07 20:42:26 +00:00
name-finder.cc name-finder.cc (lookup): Check for dladdr function. 2000-01-18 14:42:14 +00:00
NEWS Updated the NEWS 2000-02-15 09:35:51 +00:00
no-threads.cc All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
nogc.cc All files: Updated copyright information. 2000-03-07 19:55:28 +00:00
posix-threads.cc Makefile.in: New #defines and friends for Thread.h. 2000-03-28 03:22:24 +01:00
prims.cc [multiple changes] 2000-03-15 22:03:19 +00:00
README Updated again. 2000-03-09 22:42:01 +00:00
resolve.cc [multiple changes] 2000-03-26 20:33:04 +00:00
THANKS THANKS updates 2000-02-29 17:11:46 +00:00
win32-threads.cc Makefile.in: New #defines and friends for Thread.h. 2000-03-28 03:22:24 +01:00

This is libgcj: the runtime library for gcj, the GNU Compiler for Java. 
libgcj provides a partial implementation of the Java Class Libraries.

libgcj is free software.  See the file LIBGCJ_LICENSE for copying permission.


DOCUMENTATION
=============

All documentation, including detailed installation and usage instructions,
can be found on the gcj web pages at this URL:

		http://sourceware.cygnus.com/java/


REQUIREMENTS
============

libgcj must be built with a compatible version of the gcc compiler. libgcj
releases are usually numbered according to their corresponding gcc release.
For example, if this is "libgcj 2.95.3", you need to build it using "gcc
2.95.3".


QUICK INSTALLATION
==================

  > mkdir build
  > cd build
  > ../libgcj/configure --enable-threads=<THREADS_TYPE> --prefix=<DIR>
  > make
  > make install

where:

<THREADS_TYPE> specifies the threads library to be used by libgcj. Currently 
the possible values are "posix" and "none". This value must be the same as
the value used when configuring gcc itself.

<DIR> specifies the installation directory. This should be the same location 
as where gcc is installed.

Consult the gcj web pages for additional "configure" arguments.

NOTE: libgcj can not be built in the same directory as `configure'. You must 
create a separate build directory. 


BUGS
====

Please submit bug reports via this URL:

	http://sourceware.cygnus.com/cgi-bin/gnatsweb.pl?database=java