summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/doc
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/doc')
-rw-r--r--libjava/classpath/doc/Makefile.in10
-rw-r--r--libjava/classpath/doc/README.jaxp5
-rw-r--r--libjava/classpath/doc/api/Makefile.in10
-rw-r--r--libjava/classpath/doc/hacking.texinfo73
-rw-r--r--libjava/classpath/doc/vmintegration.texinfo42
-rw-r--r--libjava/classpath/doc/www.gnu.org/events/events.wml13
-rw-r--r--libjava/classpath/doc/www.gnu.org/events/fosdem06.wml191
-rw-r--r--libjava/classpath/doc/www.gnu.org/newsitems.txt5
8 files changed, 330 insertions, 19 deletions
diff --git a/libjava/classpath/doc/Makefile.in b/libjava/classpath/doc/Makefile.in
index 34bdbb19c16..77e60a9683e 100644
--- a/libjava/classpath/doc/Makefile.in
+++ b/libjava/classpath/doc/Makefile.in
@@ -41,10 +41,11 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in texinfo.tex
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \
$(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
- $(top_srcdir)/m4/acinclude.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -149,6 +150,7 @@ JAY = @JAY@
JAY_SKELETON = @JAY_SKELETON@
JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
+JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
diff --git a/libjava/classpath/doc/README.jaxp b/libjava/classpath/doc/README.jaxp
index 12fd0527815..55a1df52ff1 100644
--- a/libjava/classpath/doc/README.jaxp
+++ b/libjava/classpath/doc/README.jaxp
@@ -17,7 +17,7 @@ PACKAGES
. gnu.xml.xpath.* ... JAXP XPath implementation
. gnu.xml.transform.* ... JAXP XSL transformer implementation
. gnu.xml.pipeline.* ... SAX2 event pipeline support
-. gnu.xml.stream.* ... StAX pull parser implementation
+. gnu.xml.stream.* ... StAX pull parser and SAX-over-StAX driver
. gnu.xml.util.* ... various XML utility classes
. gnu.xml.libxmlj.dom.* ... libxmlj DOM Level 3 Core and XPath
. gnu.xml.libxmlj.sax.* ... libxmlj SAX parser
@@ -139,6 +139,9 @@ To enable the various GNU JAXP factories, set the following system properties
-Djavax.xml.stream.XMLInputFactory=gnu.xml.stream.XMLInputFactoryImpl
-Djavax.xml.stream.XMLOutputFactory=gnu.xml.stream.XMLOutputFactoryImpl
+ GNU SAX-over-StAX:
+ -Djavax.xml.parsers.SAXParserFactory=gnu.xml.stream.SAXParserFactory
+
libxmlj SAX:
-Djavax.xml.parsers.SAXParserFactory=gnu.xml.libxmlj.sax.GnomeSAXParserFactory
diff --git a/libjava/classpath/doc/api/Makefile.in b/libjava/classpath/doc/api/Makefile.in
index dafdd41f5b5..e2e0a1a115e 100644
--- a/libjava/classpath/doc/api/Makefile.in
+++ b/libjava/classpath/doc/api/Makefile.in
@@ -42,10 +42,11 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \
$(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
- $(top_srcdir)/m4/acinclude.m4 $(top_srcdir)/m4/iconv.m4 \
- $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
- $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/acinclude.m4 \
+ $(top_srcdir)/m4/ax_create_stdint_h.m4 \
+ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
+ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
+ $(top_srcdir)/m4/pkg.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -142,6 +143,7 @@ JAY = @JAY@
JAY_SKELETON = @JAY_SKELETON@
JIKES = @JIKES@
JIKESENCODING = @JIKESENCODING@
+JIKESWARNINGS = @JIKESWARNINGS@
KJC = @KJC@
LDFLAGS = @LDFLAGS@
LIBDEBUG = @LIBDEBUG@
diff --git a/libjava/classpath/doc/hacking.texinfo b/libjava/classpath/doc/hacking.texinfo
index e97116fd5fa..34b1099fdc4 100644
--- a/libjava/classpath/doc/hacking.texinfo
+++ b/libjava/classpath/doc/hacking.texinfo
@@ -83,6 +83,11 @@ Programming Standards
Working on the code, Working with others
+* Branches::
+* Writing ChangeLogs::
+
+Working with branches
+
* Writing ChangeLogs::
Programming Goals
@@ -493,7 +498,7 @@ The following lists how code is formatted (and some other code
conventions):
-@itemize
+@itemize @bullet
@item
Java source files in GNU Classpath are encoded using UTF-8. However,
@@ -689,7 +694,7 @@ fail to compile the offending source code.
Some things are the same as in the normal GNU Coding Standards:
-@itemize
+@itemize @bullet
@item
Unnecessary braces can be removed, one line after an if, for, while as
@@ -807,10 +812,70 @@ followed to be the most productive they can be (given the above
constraints).
@menu
+* Branches::
+* Writing ChangeLogs::
+@end menu
+
+@node Branches, Writing ChangeLogs, Hacking Code, Hacking Code
+@comment node-name, next, previous, up
+@section Working with branches
+
+Sometimes it is necessary to create branch of the source for doing new
+work that is disruptive to the other hackers, or that needs new
+language or libraries not yet (easily) available.
+
+After discussing the need for a branch on the main mailinglist with
+the other hackers explaining the need of a branch and suggestion of
+the particular branch rules (what will be done on the branch, who will
+work on it, will there be different commit guidelines then for the
+mainline trunk and when is the branch estimated to be finished and
+merged back into the trunk) every GNU Classpath hacker with commit
+access should feel free to create a branch. There are however a couple
+of rules that every branch should follow:
+
+@itemize @bullet
+
+@item All branches ought to be documented in the developer wiki at
+@uref{http://developer.classpath.org/mediation/ClasspathBranches}, so
+we can know which are live, who owns them, and when they die.
+
+@item Some rules can be changed on a branch. In particular the branch
+maintainer can change the review requirements, and the requirement of
+keeping things building, testing, etc, can also be lifted. (These
+should be documented along with the branch name and owner if they
+differ from the trunk.)
+
+@item Requirements for patch email to classpath-patches and for paperwork
+@strong{cannot} be lifted. See @ref{Requirements}.
+
+@item A branch should not be seen as ``private'' or
+``may be completely broken''. It should be as much as possible
+something that you work on with a team (and if there is no team - yet
+- then there is nothing as bad as having a completely broken build to
+get others to help out). There can of course be occasional breakage, but
+it should be planned and explained. And you can certainly have a rule
+like ``please ask me before committing to this branch''.
+
+@item Merges from the trunk to a branch are at the discretion of the
+branch maintainer.
+
+@item A merge from a branch to the trunk is treated like any other patch.
+In particular, it has to go through review, it must satisfy all the
+trunk requirements (build, regression test, documentation).
+
+@item There may be additional timing requirements on merging a branch to
+the trunk depending on the release schedule, etc. For instance we may
+not want to do a branch merge just before a release.
+
+@end itemize
+
+If any of these rules are unclear please discuss on the list first.
+
+@menu
* Writing ChangeLogs::
@end menu
-@node Writing ChangeLogs, , Hacking Code, Hacking Code
+@node Writing ChangeLogs, , Branches, Hacking Code
@comment node-name, next, previous, up
@section Documenting what changed when with ChangeLog entries
@@ -828,7 +893,7 @@ A good ChangeLog entry guideline can be found in the Guile Manual at
Here are some example to explain what should or shouldn't be in a
ChangeLog entry (and the corresponding commit message):
-@itemize
+@itemize @bullet
@item
The first line of a ChangeLog entry should be:
diff --git a/libjava/classpath/doc/vmintegration.texinfo b/libjava/classpath/doc/vmintegration.texinfo
index 81e9920d6a8..fa5f747ffea 100644
--- a/libjava/classpath/doc/vmintegration.texinfo
+++ b/libjava/classpath/doc/vmintegration.texinfo
@@ -226,6 +226,7 @@ become operable.
* java.lang.VMRuntime::
* java.lang.VMString::
* java.lang.VMThread::
+* java.lang.VMInstrumentationImpl::
@end menu
@node java.lang.VMClass, java.lang.VMObject ,java.lang,java.lang
@@ -607,7 +608,7 @@ A new mapping is created for each new string being @code{intern}ed.
A VM may implement this differently by implementing this method,
which is @code{static} and the only one in @code{VMString}.
-@node java.lang.VMThread,, java.lang.VMString, java.lang
+@node java.lang.VMThread,java.lang.VMInstrumentationImpl, java.lang.VMString, java.lang
@subsection @code{java.lang.VMThread}
@code{VMThread} provides the link between Java's threads and the platform
@@ -683,6 +684,45 @@ having returned true, and is thus deprecated as a result.
@end itemize
@end itemize
+@node java.lang.VMInstrumentationImpl,, java.lang.VMThread, java.lang
+@subsection @code{java.lang.VMInstrumentationImpl}
+
+The @code{java.lang.VMInstrumentationImpl} and
+@code{java.lang.InstrumentationImpl} provides an implementation of the
+@code{java.lang.instrument.Instrument} interface. This interface is for java
+1.5 and is only in the generics branch.
+A @code{InstrumentationImpl} object should be given to any agent
+given in the command line (see the @code{java.lang.instrument} package
+documentation). A VM has to implement the static native methods of the
+@code{VMInstrumentationImpl} class.
+
+@itemize @bullet
+@item @code{isRedefineClassesSupported()} -- Returns true if the JVM supports
+class redefinition.
+@item @code{redefineClasses()} -- Gives a set of classes with new bytecodes.
+The VM must redefine the classes by reading the new bytecodes.
+@item @code{getAllLoadedClass()} -- Returns an array of all loaded classes.
+@item @code{getInitiatedClass()} -- Returns an array of all classes loaded
+by a specific class loader.
+@item @code{getObjectSize()} -- Gives the size of an object.
+@end itemize
+
+When agents are defined, the VM has to call transformers of the
+@code{InstrumentImpl} object each time a class is loaded, eg a call to
+@code{VMClassLoader.defineClass}. The @code{InstrumentationImpl} class defines
+a method that has to be called before reading a class file in the VM.
+
+@itemize @bullet
+@item @code{callTransformers} -- Calls each transformer registered to
+the @code{InstrumentationImpl} object and returns a new bytecode file.
+@end itemize
+
+No default implementation is provided in gnu classpath for the
+@code{VMInstrumentationImpl} methods. A default implementation will perhaps
+be written, but it might break the @code{ClassLoader/VMClassLoader} interface
+for calling the @code{InstrumentationImpl.callTransformers} when a class byte
+code is defined with @code{ClassLoader.defineClass}.
+
@node gnu.classpath, java.util, java.lang, Classpath Hooks
@section @code{gnu.classpath}
diff --git a/libjava/classpath/doc/www.gnu.org/events/events.wml b/libjava/classpath/doc/www.gnu.org/events/events.wml
index 873d4fae1d5..7d9514bdf9d 100644
--- a/libjava/classpath/doc/www.gnu.org/events/events.wml
+++ b/libjava/classpath/doc/www.gnu.org/events/events.wml
@@ -9,11 +9,7 @@
<boxitem>
<strong>Upcoming Events:</strong><br>
<ul>
-<li>[1-5 Aug 2005] <a href="http://conferences.oreillynet.com/os2005/">OSCON</a>, Portland, Oregon - USA
-<ul>
-<li><a href="http://conferences.oreillynet.com/cs/os2005/view/e_sess/6730">The State of Free JVMs</a>
-Tom Tromey</li>
-</ul>
+<li>[25+26 Feb. 2006] FOSDEM'06 in Brussels, Belgium. [<createlink name="GNU Classpath and friends" url="events/fosdem06.html">]</li>
</ul>
</boxitem>
@@ -22,6 +18,13 @@ Tom Tromey</li>
<ul>
<li>
+[1-5 Aug 2005] <a href="http://conferences.oreillynet.com/os2005/">OSCON</a>, Portland, Oregon - USA
+<ul>
+<li><a href="http://conferences.oreillynet.com/cs/os2005/view/e_sess/6730">The State of Free JVMs</a>
+Tom Tromey</li>
+</ul>
+
+<li>
[29-31 May 2005] <a href="http://2005.guadec.org/">Guadec</a>, Stuttgart - Germany
<ul>
<li><a href="http://2005.guadec.org/schedule/gnometalks.html#eclipseyou">The Eclipse IDE and you</a>
diff --git a/libjava/classpath/doc/www.gnu.org/events/fosdem06.wml b/libjava/classpath/doc/www.gnu.org/events/fosdem06.wml
new file mode 100644
index 00000000000..2623ef06630
--- /dev/null
+++ b/libjava/classpath/doc/www.gnu.org/events/fosdem06.wml
@@ -0,0 +1,191 @@
+#!wml --include=..
+
+#include "include/layout.wml"
+
+<set-var last-modified-author="mjw">
+<subject "GNU Classpath and friends @ Fosdem 2006">
+
+<box>
+<boxitem>
+<h2>GNU Classpath and friends meeting during Fosdem 2006</h2>
+
+<i>Fosdem, Saturday/Sunday 25/26 February 2006, Brussels, Belgium</i>
+<p>
+The various free software library, runtimes, compiler and tool
+projects around GNU Classpath will meet in Brussel to discuss what has
+happened in the last year in the Free Software community and what the
+next year will bring us during Fosdem.
+<p>
+The 6th edition of FOSDEM (Free and Opensource Software Developers'
+European Meeting) will take place on February 25+26 2006 in Brussels
+(Belgium), at the Solbosch Campus of the ULB (Free University of
+Brussels). FOSDEM is a free and non-commercial event for the community
+and organized by the community.
+See <a href="http://www.fosdem.org/">http://www.fosdem.org/</a>.
+</boxitem>
+
+<boxitem>
+ <h3>Saturday from 13:00 to 17:00 - "End-User talks"</h3>
+
+ <p>
+ Presentations that show what cool stuff can be done with the Free
+ Stack right now.
+ </p>
+
+ <p>
+ <b>Putting the 'Free' into JFreeChart</b>
+ <i>Dave Gilbert, JFreeChart Project Leader</i>
+ <p>
+ A review of the efforts to make JFreeChart work with GNU
+ Classpath-based runtimes, including a brief history, a demonstration
+ of the current state (using the java bindings for Cairo), and an
+ overview of the work that remains to be done.
+ </p>
+ </p>
+
+ <p>
+ <b>Using Eclipse for GNU Classpath development</b>
+ <i>Tom Tromey</i>
+ <p>
+ Learn how to setup a fully working development environment based
+ on GNU Classpath in Eclipse that can be used to bootstrap the full
+ free toolchain (and can be used to run Eclipse itself) in just 10
+ minutes.
+ </p>
+ </p>
+
+ <p>
+ <b>Eclipse RCP and GCJ/GIJ</b>
+ <i>Wayne Beaton</i>
+ <p>
+ Eclipse Rich Client Platform (RCP) is a runtime platform for
+ delivering your Java applications on multiple platforms. RCP is far
+ more than just a windowing toolkit; it is rich client "middleware"
+ that provides a comprehensive framework for building and deploying
+ applications that are modular, extensible, and updatable. The kinds
+ of applications you can build with Eclipse RCP are limited only by
+ your imagination. During this talk, we will discuss how the Eclipse
+ RCP can be used in conjunction with the Eclipse Eco-system and
+ GCJ/GIJ to build high quality applications.
+ </p>
+ </p>
+
+<p>
+</boxitem>
+
+<boxitem>
+ <h3>Sunday from 09:00 to 13:00 - "Developer talks"</h3>
+
+ <p>
+ Presentations of (core) libraries and runtimes that are in progress,
+ made a lot of progress in the last year and are in active development.
+ </p>
+
+ <p>
+ <b>Free Swing, past, present and future</b>
+ <i>Roman Kennke</i>
+ <p>
+ An overview of that state of Free Swing one year ago, what has been
+ done in the meantime, what still must be done and which applications
+ work now.
+ </p>
+ </p>
+
+ <p>
+ <b>The Free CORBA comes</b>
+ <i>Dr Audrius Meskauskas</i>
+ <p>
+ If the Free world does not want to step back in the battle, we need
+ a complete set of the Free tools for advanced communication over
+ the network. For our CORBA implementation we needed:
+ <p>
+ <ol>
+ <li> Free. No classes with restricted license.
+ <li> Fully workable, interoperable and pass tests, recognized by
+ the CORBA user community as serious (we needed to find a well
+ known Free testing suite).
+ <li> Properly commented, being ready for the long life in the Free
+ world.
+ <li> No pressure to use the outdated approaches.
+ CORBA 3.0.3 and jdk 1.5.
+ </ol>
+ <p>
+ To reach these goals, we have chosen for implementing a clean room
+ implementation, using the published standard specifications only.
+ During the recent year of the GNU Classpath development, this goal
+ is in large degree achieved. The important directions of future
+ development could be providing features that are outside the scope
+ of the both CORBA standard and Sun API, but included in the near all
+ proprietary implementations (SSH, HTTP and other bridges, get rid of
+ rmic code generator for RMI/IIOP, fault tolerant behavior, reduced
+ the footprint and others).
+ </p>
+ </p>
+
+ <p>
+ <b>The JamVM runtime</b>
+ <i>Robert Lougher</i>
+ <p>
+ An overview of the JamVM virtual machine, with comparisons to other
+ GNU Classpath runtimes, and a section on the VM interface.
+ </p>
+ </p>
+
+ <p>
+ <b>Integrating Vmgen-based interpreters</b>
+ <i>Christian Thalinger</i>
+ <p>
+ Vmgen is a tool for writing efficient interpreters. The Cacao
+ runtime recently added a Vmgen based interpreter in addition to
+ the JIT engine.
+ </p>
+ </p>
+
+<p>
+<boxitem>
+
+<boxitem>
+ <h3>Sunday from 14:00 to 17:30 - "The Future"</h3>
+
+ <p>
+ Interactive technical hacker discussions on how to integrate
+ the projects more and move forward in the next year.
+ </p>
+
+ <p>
+ <b>State of the world, beyond japi</b>
+ <i>Mark Wielaard, GNU Classpath Maintainer</i>
+ <p>
+ After a short overview of the various free stacks, libraries,
+ compilers, tools and runtimes this session is mostly open discussion
+ about what work remains to be done and how to integrate the various
+ efforts better. Ideas for work items welcome.
+ </p>
+ </p>
+
+<p>
+</boxitem>
+
+<boxitem>
+<b>Additional Resources:</b>
+<ul>
+<li><createlink name="Free But Shackled - The Java Trap"
+ url="http://www.gnu.org/philosophy/java-trap.html">
+ (by Richard Stallman)
+</li>
+<li><createlink name="Escaping the Java Trap: A practical road map to the Free Software and Open Source alternatives"
+ url="http://developer.classpath.org/support/">
+</li>
+</ul>
+<p>
+</boxitem>
+
+<boxitem>
+<b>Official links:</b>
+<ul>
+<li><createlink name="FOSDEM Homepage"
+ url="http://www.fosdem.org/">
+</li>
+</ul>
+</boxitem>
+</box>
diff --git a/libjava/classpath/doc/www.gnu.org/newsitems.txt b/libjava/classpath/doc/www.gnu.org/newsitems.txt
index dbfcfd2ced9..97c14244e65 100644
--- a/libjava/classpath/doc/www.gnu.org/newsitems.txt
+++ b/libjava/classpath/doc/www.gnu.org/newsitems.txt
@@ -1,3 +1,8 @@
+<newsitem date="25/26 Feb 2006">
+<createlink name="GNU Classpath and friends meeting during Fosdem 2006"
+ url="events/fosdem06.html">
+</newsitem>
+
<newsitem date="02 Nov 2005">
<createlink name="GNU Classpath 0.19"
url="announce/20051102.html">
OpenPOWER on IntegriCloud