aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorThomas Fitzsimmons <fitzsim@redhat.com>2007-03-13 05:48:03 +0000
committerThomas Fitzsimmons <fitzsim@redhat.com>2007-03-13 05:48:03 +0000
commita7e3f22604cba8cbe6f0621efb3e381226fd72ab (patch)
tree990fd86bf6b013d5491baa12df0c10d63975e50c /libjava
parent04a1d6cdfdb9b9fbe6c00d5dced2b9a108ce7a4d (diff)
2007-03-13 Thomas Fitzsimmons <fitzsim@redhat.com>
* Makefile.am (AM_CXXFLAGS): Define ECJ_JAR_FILE. * classpath/configure.ac: Add --with-ecj-jar configure option. * classpath/gnu/classpath/Configuration.java.in (ECJ_JAR): New field. * classpath/INSTALL: Document --with-ecj-jar configure option and ecj jar requirement for com.sun.tools.javac support. * classpath/tools/Makefile.am: Build decendents of com and sun directories. * configure.ac: Substitute ECJ_JAR in stub Configuration.java. * gnu/classpath/Configuration.java, gnu/classpath/natConfiguration.cc (ecj): New method. (ECJ_JAR): New field. * scripts/makemake.tcl (scan_packages): Add com directory. * sources.am (property_files): Add classpath/resource/sun/rmi/rmic/messages.properties and classpath/resource/com/sun/tools/javac/messages.properties. * classpath/resource/com, classpath/resource/com/sun, classpath/resource/com/sun/tools, classpath/resource/com/sun/tools/javac, classpath/resource/sun, classpath/resource/sun/rmi, classpath/resource/sun/rmi/rmic, classpath/tools/classes/com, classpath/tools/classes/com/sun, classpath/tools/classes/com/sun/javadoc, classpath/tools/classes/com/sun/tools, classpath/tools/classes/com/sun/tools/doclets, classpath/tools/classes/sun, classpath/tools/classes/sun/rmi, classpath/tools/classes/sun/rmi/rmic, classpath/tools/com, classpath/tools/com/sun, classpath/tools/com/sun/javadoc, classpath/tools/com/sun/tools, classpath/tools/com/sun/tools/doclets, classpath/tools/com/sun/tools/javac, classpath/tools/sun, classpath/tools/sun/rmi, classpath/tools/sun/rmi/rmic: New directories. * classpath/resource/com/sun/tools/javac/messages.properties, classpath/resource/sun/rmi/rmic/messages.properties, classpath/tools/classes/com/sun/javadoc/ClassDoc.class, classpath/tools/classes/com/sun/javadoc/ConstructorDoc.class, classpath/tools/classes/com/sun/javadoc/Doc.class, classpath/tools/classes/com/sun/javadoc/DocErrorReporter.class, classpath/tools/classes/com/sun/javadoc/Doclet.class, classpath/tools/classes/com/sun/javadoc/ExecutableMemberDoc.class, classpath/tools/classes/com/sun/javadoc/FieldDoc.class, classpath/tools/classes/com/sun/javadoc/MemberDoc.class, classpath/tools/classes/com/sun/javadoc/MethodDoc.class, classpath/tools/classes/com/sun/javadoc/PackageDoc.class, classpath/tools/classes/com/sun/javadoc/ParamTag.class, classpath/tools/classes/com/sun/javadoc/Parameter.class, classpath/tools/classes/com/sun/javadoc/ProgramElementDoc.class, classpath/tools/classes/com/sun/javadoc/RootDoc.class, classpath/tools/classes/com/sun/javadoc/SeeTag.class, classpath/tools/classes/com/sun/javadoc/SerialFieldTag.class, classpath/tools/classes/com/sun/javadoc/SourcePosition.class, classpath/tools/classes/com/sun/javadoc/Tag.class, classpath/tools/classes/com/sun/javadoc/ThrowsTag.class, classpath/tools/classes/com/sun/javadoc/Type.class, classpath/tools/classes/com/sun/javadoc/TypeVariable.class, classpath/tools/classes/com/sun/tools/doclets/Taglet.class, classpath/tools/classes/sun/rmi/rmic/Main.class, classpath/tools/classes/sun/rmi/rmic/Messages.class, classpath/tools/com/sun/javadoc/ClassDoc.java, classpath/tools/com/sun/javadoc/ConstructorDoc.java, classpath/tools/com/sun/javadoc/Doc.java, classpath/tools/com/sun/javadoc/DocErrorReporter.java, classpath/tools/com/sun/javadoc/Doclet.java, classpath/tools/com/sun/javadoc/ExecutableMemberDoc.java, classpath/tools/com/sun/javadoc/FieldDoc.java, classpath/tools/com/sun/javadoc/MemberDoc.java, classpath/tools/com/sun/javadoc/MethodDoc.java, classpath/tools/com/sun/javadoc/PackageDoc.java, classpath/tools/com/sun/javadoc/ParamTag.java, classpath/tools/com/sun/javadoc/Parameter.java, classpath/tools/com/sun/javadoc/ProgramElementDoc.java, classpath/tools/com/sun/javadoc/RootDoc.java, classpath/tools/com/sun/javadoc/SeeTag.java, classpath/tools/com/sun/javadoc/SerialFieldTag.java, classpath/tools/com/sun/javadoc/SourcePosition.java, classpath/tools/com/sun/javadoc/Tag.java, classpath/tools/com/sun/javadoc/ThrowsTag.java, classpath/tools/com/sun/javadoc/Type.java, classpath/tools/com/sun/javadoc/TypeVariable.java, classpath/tools/com/sun/tools/doclets/Taglet.java, classpath/tools/com/sun/tools/javac/Main.java, classpath/tools/com/sun/tools/javac/Messages.java, classpath/tools/sun/rmi/rmic/Main.java, classpath/tools/sun/rmi/rmic/Messages.java: New files. * Makefile.in, classpath/Makefile.in, classpath/configure, classpath/doc/Makefile.in, classpath/doc/api/Makefile.in, classpath/examples/Makefile.in, classpath/external/Makefile.in, classpath/external/jsr166/Makefile.in, classpath/external/relaxngDatatype/Makefile.in, classpath/external/sax/Makefile.in, classpath/external/w3c_dom/Makefile.in, classpath/include/Makefile.in, classpath/include/config.h.in, classpath/lib/Makefile.in, classpath/lib/gnu/classpath/Configuration.class, classpath/native/Makefile.in, classpath/native/fdlibm/Makefile.in, classpath/native/jawt/Makefile.in, classpath/native/jni/Makefile.in, classpath/native/jni/classpath/Makefile.in, classpath/native/jni/gconf-peer/Makefile.in, classpath/native/jni/gtk-peer/Makefile.in, classpath/native/jni/java-io/Makefile.in, classpath/native/jni/java-lang/Makefile.in, classpath/native/jni/java-net/Makefile.in, classpath/native/jni/java-nio/Makefile.in, classpath/native/jni/java-util/Makefile.in, classpath/native/jni/midi-alsa/Makefile.in, classpath/native/jni/midi-dssi/Makefile.in, classpath/native/jni/native-lib/Makefile.in, classpath/native/jni/qt-peer/Makefile.in, classpath/native/jni/xmlj/Makefile.in, classpath/native/plugin/Makefile.in, classpath/resource/Makefile.in, classpath/scripts/Makefile.in, classpath/tools/Makefile.in, configure, gnu/classpath/Configuration.h: Regenerate. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@122876 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog117
-rw-r--r--libjava/Makefile.am1
-rw-r--r--libjava/Makefile.in3
-rw-r--r--libjava/classpath/INSTALL5
-rw-r--r--libjava/classpath/Makefile.in3
-rwxr-xr-xlibjava/classpath/configure38
-rw-r--r--libjava/classpath/configure.ac22
-rw-r--r--libjava/classpath/doc/Makefile.in3
-rw-r--r--libjava/classpath/doc/api/Makefile.in3
-rw-r--r--libjava/classpath/examples/Makefile.in3
-rw-r--r--libjava/classpath/external/Makefile.in3
-rw-r--r--libjava/classpath/external/jsr166/Makefile.in3
-rw-r--r--libjava/classpath/external/relaxngDatatype/Makefile.in3
-rw-r--r--libjava/classpath/external/sax/Makefile.in3
-rw-r--r--libjava/classpath/external/w3c_dom/Makefile.in3
-rw-r--r--libjava/classpath/gnu/classpath/Configuration.java.in6
-rw-r--r--libjava/classpath/include/Makefile.in3
-rw-r--r--libjava/classpath/include/config.h.in3
-rw-r--r--libjava/classpath/lib/Makefile.in3
-rw-r--r--libjava/classpath/lib/gnu/classpath/Configuration.classbin795 -> 857 bytes
-rw-r--r--libjava/classpath/native/Makefile.in3
-rw-r--r--libjava/classpath/native/fdlibm/Makefile.in3
-rw-r--r--libjava/classpath/native/jawt/Makefile.in3
-rw-r--r--libjava/classpath/native/jni/Makefile.in3
-rw-r--r--libjava/classpath/native/jni/classpath/Makefile.in3
-rw-r--r--libjava/classpath/native/jni/gconf-peer/Makefile.in3
-rw-r--r--libjava/classpath/native/jni/gtk-peer/Makefile.in3
-rw-r--r--libjava/classpath/native/jni/java-io/Makefile.in3
-rw-r--r--libjava/classpath/native/jni/java-lang/Makefile.in3
-rw-r--r--libjava/classpath/native/jni/java-net/Makefile.in3
-rw-r--r--libjava/classpath/native/jni/java-nio/Makefile.in3
-rw-r--r--libjava/classpath/native/jni/java-util/Makefile.in3
-rw-r--r--libjava/classpath/native/jni/midi-alsa/Makefile.in3
-rw-r--r--libjava/classpath/native/jni/midi-dssi/Makefile.in3
-rw-r--r--libjava/classpath/native/jni/native-lib/Makefile.in3
-rw-r--r--libjava/classpath/native/jni/qt-peer/Makefile.in3
-rw-r--r--libjava/classpath/native/jni/xmlj/Makefile.in3
-rw-r--r--libjava/classpath/native/plugin/Makefile.in3
-rw-r--r--libjava/classpath/resource/Makefile.in3
-rw-r--r--libjava/classpath/resource/com/sun/tools/javac/messages.properties42
-rw-r--r--libjava/classpath/resource/sun/rmi/rmic/messages.properties38
-rw-r--r--libjava/classpath/scripts/Makefile.in3
-rwxr-xr-xlibjava/classpath/tools/Makefile.am25
-rw-r--r--libjava/classpath/tools/Makefile.in24
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/ClassDoc.classbin0 -> 1087 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/ConstructorDoc.classbin0 -> 215 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/Doc.classbin0 -> 741 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/DocErrorReporter.classbin0 -> 219 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/Doclet.classbin0 -> 750 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/ExecutableMemberDoc.classbin0 -> 504 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/FieldDoc.classbin0 -> 405 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/MemberDoc.classbin0 -> 184 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/MethodDoc.classbin0 -> 290 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/PackageDoc.classbin0 -> 351 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/ParamTag.classbin0 -> 214 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/Parameter.classbin0 -> 261 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/ProgramElementDoc.classbin0 -> 508 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/RootDoc.classbin0 -> 504 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/SeeTag.classbin0 -> 413 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/SerialFieldTag.classbin0 -> 363 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/SourcePosition.classbin0 -> 239 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/Tag.classbin0 -> 294 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/ThrowsTag.classbin0 -> 267 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/Type.classbin0 -> 382 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/javadoc/TypeVariable.classbin0 -> 250 bytes
-rw-r--r--libjava/classpath/tools/classes/com/sun/tools/doclets/Taglet.classbin0 -> 419 bytes
-rw-r--r--libjava/classpath/tools/classes/sun/rmi/rmic/Main.classbin0 -> 985 bytes
-rw-r--r--libjava/classpath/tools/classes/sun/rmi/rmic/Messages.classbin0 -> 1109 bytes
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/ClassDoc.java322
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/ConstructorDoc.java57
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/Doc.java265
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/DocErrorReporter.java77
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/Doclet.java99
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/ExecutableMemberDoc.java138
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/FieldDoc.java113
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/MemberDoc.java60
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/MethodDoc.java80
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/PackageDoc.java109
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/ParamTag.java66
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/Parameter.java88
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/ProgramElementDoc.java170
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/RootDoc.java112
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/SeeTag.java109
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/SerialFieldTag.java102
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/SourcePosition.java68
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/Tag.java107
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/ThrowsTag.java76
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/Type.java120
-rw-r--r--libjava/classpath/tools/com/sun/javadoc/TypeVariable.java73
-rw-r--r--libjava/classpath/tools/com/sun/tools/doclets/Taglet.java63
-rw-r--r--libjava/classpath/tools/com/sun/tools/javac/Main.java155
-rw-r--r--libjava/classpath/tools/com/sun/tools/javac/Messages.java67
-rw-r--r--libjava/classpath/tools/sun/rmi/rmic/Main.java60
-rw-r--r--libjava/classpath/tools/sun/rmi/rmic/Messages.java67
-rwxr-xr-xlibjava/configure1
-rw-r--r--libjava/configure.ac1
-rw-r--r--libjava/gnu/classpath/Configuration.h2
-rw-r--r--libjava/gnu/classpath/Configuration.java7
-rw-r--r--libjava/gnu/classpath/natConfiguration.cc6
-rwxr-xr-xlibjava/scripts/makemake.tcl2
-rw-r--r--libjava/sources.am2
101 files changed, 3254 insertions, 7 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 02a20c24b41..a7e76caee02 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,120 @@
+2007-03-13 Thomas Fitzsimmons <fitzsim@redhat.com>
+
+ * Makefile.am (AM_CXXFLAGS): Define ECJ_JAR_FILE.
+ * classpath/configure.ac: Add --with-ecj-jar configure option.
+ * classpath/gnu/classpath/Configuration.java.in (ECJ_JAR): New
+ field.
+ * classpath/INSTALL: Document --with-ecj-jar configure option and
+ ecj jar requirement for com.sun.tools.javac support.
+ * classpath/tools/Makefile.am: Build decendents of com and sun
+ directories.
+ * configure.ac: Substitute ECJ_JAR in stub Configuration.java.
+ * gnu/classpath/Configuration.java,
+ gnu/classpath/natConfiguration.cc (ecj): New method.
+ (ECJ_JAR): New field.
+ * scripts/makemake.tcl (scan_packages): Add com directory.
+ * sources.am (property_files): Add
+ classpath/resource/sun/rmi/rmic/messages.properties and
+ classpath/resource/com/sun/tools/javac/messages.properties.
+ * classpath/resource/com, classpath/resource/com/sun,
+ classpath/resource/com/sun/tools,
+ classpath/resource/com/sun/tools/javac, classpath/resource/sun,
+ classpath/resource/sun/rmi, classpath/resource/sun/rmi/rmic,
+ classpath/tools/classes/com, classpath/tools/classes/com/sun,
+ classpath/tools/classes/com/sun/javadoc,
+ classpath/tools/classes/com/sun/tools,
+ classpath/tools/classes/com/sun/tools/doclets,
+ classpath/tools/classes/sun, classpath/tools/classes/sun/rmi,
+ classpath/tools/classes/sun/rmi/rmic, classpath/tools/com,
+ classpath/tools/com/sun, classpath/tools/com/sun/javadoc,
+ classpath/tools/com/sun/tools,
+ classpath/tools/com/sun/tools/doclets,
+ classpath/tools/com/sun/tools/javac, classpath/tools/sun,
+ classpath/tools/sun/rmi, classpath/tools/sun/rmi/rmic: New
+ directories.
+ * classpath/resource/com/sun/tools/javac/messages.properties,
+ classpath/resource/sun/rmi/rmic/messages.properties,
+ classpath/tools/classes/com/sun/javadoc/ClassDoc.class,
+ classpath/tools/classes/com/sun/javadoc/ConstructorDoc.class,
+ classpath/tools/classes/com/sun/javadoc/Doc.class,
+ classpath/tools/classes/com/sun/javadoc/DocErrorReporter.class,
+ classpath/tools/classes/com/sun/javadoc/Doclet.class,
+ classpath/tools/classes/com/sun/javadoc/ExecutableMemberDoc.class,
+ classpath/tools/classes/com/sun/javadoc/FieldDoc.class,
+ classpath/tools/classes/com/sun/javadoc/MemberDoc.class,
+ classpath/tools/classes/com/sun/javadoc/MethodDoc.class,
+ classpath/tools/classes/com/sun/javadoc/PackageDoc.class,
+ classpath/tools/classes/com/sun/javadoc/ParamTag.class,
+ classpath/tools/classes/com/sun/javadoc/Parameter.class,
+ classpath/tools/classes/com/sun/javadoc/ProgramElementDoc.class,
+ classpath/tools/classes/com/sun/javadoc/RootDoc.class,
+ classpath/tools/classes/com/sun/javadoc/SeeTag.class,
+ classpath/tools/classes/com/sun/javadoc/SerialFieldTag.class,
+ classpath/tools/classes/com/sun/javadoc/SourcePosition.class,
+ classpath/tools/classes/com/sun/javadoc/Tag.class,
+ classpath/tools/classes/com/sun/javadoc/ThrowsTag.class,
+ classpath/tools/classes/com/sun/javadoc/Type.class,
+ classpath/tools/classes/com/sun/javadoc/TypeVariable.class,
+ classpath/tools/classes/com/sun/tools/doclets/Taglet.class,
+ classpath/tools/classes/sun/rmi/rmic/Main.class,
+ classpath/tools/classes/sun/rmi/rmic/Messages.class,
+ classpath/tools/com/sun/javadoc/ClassDoc.java,
+ classpath/tools/com/sun/javadoc/ConstructorDoc.java,
+ classpath/tools/com/sun/javadoc/Doc.java,
+ classpath/tools/com/sun/javadoc/DocErrorReporter.java,
+ classpath/tools/com/sun/javadoc/Doclet.java,
+ classpath/tools/com/sun/javadoc/ExecutableMemberDoc.java,
+ classpath/tools/com/sun/javadoc/FieldDoc.java,
+ classpath/tools/com/sun/javadoc/MemberDoc.java,
+ classpath/tools/com/sun/javadoc/MethodDoc.java,
+ classpath/tools/com/sun/javadoc/PackageDoc.java,
+ classpath/tools/com/sun/javadoc/ParamTag.java,
+ classpath/tools/com/sun/javadoc/Parameter.java,
+ classpath/tools/com/sun/javadoc/ProgramElementDoc.java,
+ classpath/tools/com/sun/javadoc/RootDoc.java,
+ classpath/tools/com/sun/javadoc/SeeTag.java,
+ classpath/tools/com/sun/javadoc/SerialFieldTag.java,
+ classpath/tools/com/sun/javadoc/SourcePosition.java,
+ classpath/tools/com/sun/javadoc/Tag.java,
+ classpath/tools/com/sun/javadoc/ThrowsTag.java,
+ classpath/tools/com/sun/javadoc/Type.java,
+ classpath/tools/com/sun/javadoc/TypeVariable.java,
+ classpath/tools/com/sun/tools/doclets/Taglet.java,
+ classpath/tools/com/sun/tools/javac/Main.java,
+ classpath/tools/com/sun/tools/javac/Messages.java,
+ classpath/tools/sun/rmi/rmic/Main.java,
+ classpath/tools/sun/rmi/rmic/Messages.java: New files.
+ * Makefile.in, classpath/Makefile.in, classpath/configure,
+ classpath/doc/Makefile.in, classpath/doc/api/Makefile.in,
+ classpath/examples/Makefile.in, classpath/external/Makefile.in,
+ classpath/external/jsr166/Makefile.in,
+ classpath/external/relaxngDatatype/Makefile.in,
+ classpath/external/sax/Makefile.in,
+ classpath/external/w3c_dom/Makefile.in,
+ classpath/include/Makefile.in, classpath/include/config.h.in,
+ classpath/lib/Makefile.in,
+ classpath/lib/gnu/classpath/Configuration.class,
+ classpath/native/Makefile.in, classpath/native/fdlibm/Makefile.in,
+ classpath/native/jawt/Makefile.in,
+ classpath/native/jni/Makefile.in,
+ classpath/native/jni/classpath/Makefile.in,
+ classpath/native/jni/gconf-peer/Makefile.in,
+ classpath/native/jni/gtk-peer/Makefile.in,
+ classpath/native/jni/java-io/Makefile.in,
+ classpath/native/jni/java-lang/Makefile.in,
+ classpath/native/jni/java-net/Makefile.in,
+ classpath/native/jni/java-nio/Makefile.in,
+ classpath/native/jni/java-util/Makefile.in,
+ classpath/native/jni/midi-alsa/Makefile.in,
+ classpath/native/jni/midi-dssi/Makefile.in,
+ classpath/native/jni/native-lib/Makefile.in,
+ classpath/native/jni/qt-peer/Makefile.in,
+ classpath/native/jni/xmlj/Makefile.in,
+ classpath/native/plugin/Makefile.in,
+ classpath/resource/Makefile.in, classpath/scripts/Makefile.in,
+ classpath/tools/Makefile.in, configure,
+ gnu/classpath/Configuration.h: Regenerate.
+
2007-03-12 Kyle Galloway <kgallowa@redhat.com>
* jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index 58ea100fdb5..59466f017fa 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -139,6 +139,7 @@ AM_CXXFLAGS = \
-DGCJ_ENDORSED_DIRS="\"$(jardir)/gcj-endorsed\"" \
-DGCJ_VERSIONED_LIBDIR="\"$(dbexecdir)\"" \
-DPATH_SEPARATOR="\"$(CLASSPATH_SEPARATOR)\"" \
+ -DECJ_JAR_FILE="\"$(ECJ_JAR)\"" \
-DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" \
-DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"$(db_pathtail)\""
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index ea5695b03f9..287c949d6db 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -849,6 +849,7 @@ AM_CXXFLAGS = \
-DGCJ_ENDORSED_DIRS="\"$(jardir)/gcj-endorsed\"" \
-DGCJ_VERSIONED_LIBDIR="\"$(dbexecdir)\"" \
-DPATH_SEPARATOR="\"$(CLASSPATH_SEPARATOR)\"" \
+ -DECJ_JAR_FILE="\"$(ECJ_JAR)\"" \
-DLIBGCJ_DEFAULT_DATABASE="\"$(dbexecdir)/$(db_name)\"" \
-DLIBGCJ_DEFAULT_DATABASE_PATH_TAIL="\"$(db_pathtail)\""
@@ -7763,6 +7764,8 @@ property_files = \
classpath/resource/java/util/iso4217.properties \
classpath/resource/javax/imageio/plugins/jpeg/MessagesBundle.properties \
classpath/resource/org/ietf/jgss/MessagesBundle.properties \
+ classpath/resource/sun/rmi/rmic/messages.properties \
+ classpath/resource/com/sun/tools/javac/messages.properties \
classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory.in \
classpath/resource/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider \
classpath/resource/META-INF/services/javax.sound.midi.spi.MidiFileReader \
diff --git a/libjava/classpath/INSTALL b/libjava/classpath/INSTALL
index 27bb7c0d225..50a524b6236 100644
--- a/libjava/classpath/INSTALL
+++ b/libjava/classpath/INSTALL
@@ -111,6 +111,9 @@ Suggested Software
- fluidsynth: a real-time SoundFont 2 based soft-synth
http://www.fluidsynth.org/
+ For enabling the com.sun.tools.javac support in tools.zip you
+ will a need jar file containing the Eclipse Java Compiler.
+ Otherwise com.sun.tools.javac will not be included in tools.zip.
This package was designed to use the GNU standard for configuration
and makefiles. To build and install do the following:
@@ -147,6 +150,8 @@ gives a complete list.
path to the jay executable
--with-glibj-zip=ABS.PATH
use prebuilt glibj.zip class library
+ --with-ecj-jar=ABS.PATH specify jar file containing the Eclipse Java
+ Compiler
For more flags run configure --help.
diff --git a/libjava/classpath/Makefile.in b/libjava/classpath/Makefile.in
index bcc41f74a0f..cc6247f6856 100644
--- a/libjava/classpath/Makefile.in
+++ b/libjava/classpath/Makefile.in
@@ -153,6 +153,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -164,6 +165,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/configure b/libjava/classpath/configure
index ad9e1200542..ad005c18fd3 100755
--- a/libjava/classpath/configure
+++ b/libjava/classpath/configure
@@ -312,7 +312,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os JAVA_MAINTAINER_MODE_TRUE JAVA_MAINTAINER_MODE_FALSE multi_basedir LIBVERSION CLASSPATH_MODULE CLASSPATH_CONVENIENCE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CREATE_COLLECTIONS_TRUE CREATE_COLLECTIONS_FALSE CREATE_JNI_LIBRARIES_TRUE CREATE_JNI_LIBRARIES_FALSE CREATE_CORE_JNI_LIBRARIES_TRUE CREATE_CORE_JNI_LIBRARIES_FALSE CREATE_GCONF_PEER_LIBRARIES_TRUE CREATE_GCONF_PEER_LIBRARIES_FALSE default_toolkit CREATE_XMLJ_LIBRARY_TRUE CREATE_XMLJ_LIBRARY_FALSE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP CREATE_ALSA_LIBRARIES_TRUE CREATE_ALSA_LIBRARIES_FALSE CREATE_DSSI_LIBRARIES_TRUE CREATE_DSSI_LIBRARIES_FALSE CREATE_GTK_PEER_LIBRARIES_TRUE CREATE_GTK_PEER_LIBRARIES_FALSE CREATE_QT_PEER_LIBRARIES_TRUE CREATE_QT_PEER_LIBRARIES_FALSE CREATE_PLUGIN_TRUE CREATE_PLUGIN_FALSE toolexeclibdir nativeexeclibdir glibjdir VM_BINARY FOUND_CACAO_TRUE FOUND_CACAO_FALSE CREATE_JNI_HEADERS_TRUE CREATE_JNI_HEADERS_FALSE CREATE_WRAPPERS_TRUE CREATE_WRAPPERS_FALSE LN_S RANLIB ac_ct_RANLIB LIBTOOL CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP PERL COLLECTIONS_PREFIX LIBMAGIC LIBICONV LTLIBICONV WARNING_CFLAGS STRICT_WARNING_CFLAGS ERROR_CFLAGS PKG_CONFIG XML_CFLAGS XML_LIBS XSLT_CFLAGS XSLT_LIBS X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS GTK_CFLAGS GTK_LIBS FREETYPE2_CFLAGS FREETYPE2_LIBS PANGOFT2_CFLAGS PANGOFT2_LIBS XTEST_LIBS GCONF_CFLAGS GCONF_LIBS GDK_CFLAGS GDK_LIBS QT_CFLAGS QT_LIBS MOC MOZILLA_CFLAGS MOZILLA_LIBS GLIB_CFLAGS GLIB_LIBS PLUGIN_DIR USER_JAVAH USER_SPECIFIED_JAVAH_TRUE USER_SPECIFIED_JAVAH_FALSE CLASSPATH_INCLUDES GCJ JIKES JIKESENCODING JIKESWARNINGS KJC GCJX ECJ FOUND_GCJ_TRUE FOUND_GCJ_FALSE FOUND_JIKES_TRUE FOUND_JIKES_FALSE FOUND_ECJ_TRUE FOUND_ECJ_FALSE FOUND_KJC_TRUE FOUND_KJC_FALSE FOUND_GCJX_TRUE FOUND_GCJX_FALSE USER_CLASSLIB USER_SPECIFIED_CLASSLIB_TRUE USER_SPECIFIED_CLASSLIB_FALSE vm_classes MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBDEBUG INIT_LOAD_LIBRARY JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION REMOVE MKDIR CP DATE FIND ZIP FASTJAR INSTALL_GLIBJ_ZIP_TRUE INSTALL_GLIBJ_ZIP_FALSE INSTALL_CLASS_FILES_TRUE INSTALL_CLASS_FILES_FALSE BUILD_CLASS_FILES_TRUE BUILD_CLASS_FILES_FALSE EXAMPLESDIR GJDOC CREATE_API_DOCS_TRUE CREATE_API_DOCS_FALSE JAY JAY_SKELETON REGEN_PARSERS_TRUE REGEN_PARSERS_FALSE USE_PREBUILT_GLIBJ_ZIP_TRUE USE_PREBUILT_GLIBJ_ZIP_FALSE PATH_TO_GLIBJ_ZIP USE_ESCHER_TRUE USE_ESCHER_FALSE PATH_TO_ESCHER ENABLE_LOCAL_SOCKETS_TRUE ENABLE_LOCAL_SOCKETS_FALSE DEFAULT_PREFS_PEER LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os JAVA_MAINTAINER_MODE_TRUE JAVA_MAINTAINER_MODE_FALSE multi_basedir LIBVERSION CLASSPATH_MODULE CLASSPATH_CONVENIENCE INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CREATE_COLLECTIONS_TRUE CREATE_COLLECTIONS_FALSE CREATE_JNI_LIBRARIES_TRUE CREATE_JNI_LIBRARIES_FALSE CREATE_CORE_JNI_LIBRARIES_TRUE CREATE_CORE_JNI_LIBRARIES_FALSE CREATE_GCONF_PEER_LIBRARIES_TRUE CREATE_GCONF_PEER_LIBRARIES_FALSE default_toolkit CREATE_XMLJ_LIBRARY_TRUE CREATE_XMLJ_LIBRARY_FALSE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP CREATE_ALSA_LIBRARIES_TRUE CREATE_ALSA_LIBRARIES_FALSE CREATE_DSSI_LIBRARIES_TRUE CREATE_DSSI_LIBRARIES_FALSE CREATE_GTK_PEER_LIBRARIES_TRUE CREATE_GTK_PEER_LIBRARIES_FALSE CREATE_QT_PEER_LIBRARIES_TRUE CREATE_QT_PEER_LIBRARIES_FALSE CREATE_PLUGIN_TRUE CREATE_PLUGIN_FALSE toolexeclibdir nativeexeclibdir glibjdir VM_BINARY FOUND_CACAO_TRUE FOUND_CACAO_FALSE CREATE_JNI_HEADERS_TRUE CREATE_JNI_HEADERS_FALSE CREATE_WRAPPERS_TRUE CREATE_WRAPPERS_FALSE LN_S RANLIB ac_ct_RANLIB LIBTOOL CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP PERL COLLECTIONS_PREFIX LIBMAGIC LIBICONV LTLIBICONV WARNING_CFLAGS STRICT_WARNING_CFLAGS ERROR_CFLAGS PKG_CONFIG XML_CFLAGS XML_LIBS XSLT_CFLAGS XSLT_LIBS X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS GTK_CFLAGS GTK_LIBS FREETYPE2_CFLAGS FREETYPE2_LIBS PANGOFT2_CFLAGS PANGOFT2_LIBS XTEST_LIBS GCONF_CFLAGS GCONF_LIBS GDK_CFLAGS GDK_LIBS QT_CFLAGS QT_LIBS MOC MOZILLA_CFLAGS MOZILLA_LIBS GLIB_CFLAGS GLIB_LIBS PLUGIN_DIR USER_JAVAH USER_SPECIFIED_JAVAH_TRUE USER_SPECIFIED_JAVAH_FALSE CLASSPATH_INCLUDES GCJ JIKES JIKESENCODING JIKESWARNINGS KJC GCJX ECJ FOUND_GCJ_TRUE FOUND_GCJ_FALSE FOUND_JIKES_TRUE FOUND_JIKES_FALSE FOUND_ECJ_TRUE FOUND_ECJ_FALSE FOUND_KJC_TRUE FOUND_KJC_FALSE FOUND_GCJX_TRUE FOUND_GCJX_FALSE USER_CLASSLIB USER_SPECIFIED_CLASSLIB_TRUE USER_SPECIFIED_CLASSLIB_FALSE vm_classes MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBDEBUG INIT_LOAD_LIBRARY ECJ_JAR FOUND_ECJ_JAR_TRUE FOUND_ECJ_JAR_FALSE JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION REMOVE MKDIR CP DATE FIND ZIP FASTJAR INSTALL_GLIBJ_ZIP_TRUE INSTALL_GLIBJ_ZIP_FALSE INSTALL_CLASS_FILES_TRUE INSTALL_CLASS_FILES_FALSE BUILD_CLASS_FILES_TRUE BUILD_CLASS_FILES_FALSE EXAMPLESDIR GJDOC CREATE_API_DOCS_TRUE CREATE_API_DOCS_FALSE JAY JAY_SKELETON REGEN_PARSERS_TRUE REGEN_PARSERS_FALSE USE_PREBUILT_GLIBJ_ZIP_TRUE USE_PREBUILT_GLIBJ_ZIP_FALSE PATH_TO_GLIBJ_ZIP USE_ESCHER_TRUE USE_ESCHER_FALSE PATH_TO_ESCHER ENABLE_LOCAL_SOCKETS_TRUE ENABLE_LOCAL_SOCKETS_FALSE DEFAULT_PREFS_PEER LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -946,6 +946,8 @@ Optional Packages:
--with-ecj bytecode compilation with ecj
--with-classpath specify path to a classes.zip like file
--with-vm-classes specify path to VM override source files
+ --with-ecj-jar=ABS.PATH specify jar file containing the Eclipse Java
+ Compiler
--with-fastjar=PATH define to use a fastjar style tool
--with-glibj define what to install (zip|flat|both|none|build)
[default=zip]
@@ -5755,7 +5757,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic"
case $host in
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 5758 "configure"' > conftest.$ac_ext
+ echo '#line 5760 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -16115,6 +16117,28 @@ fi;
+
+# Check whether --with-ecj-jar or --without-ecj-jar was given.
+if test "${with_ecj_jar+set}" = set; then
+ withval="$with_ecj_jar"
+ ECJ_JAR=$withval
+else
+ if test -f $multi_basedir/ecj.jar; then
+ ECJ_JAR='$(jardir)/ecj.jar'
+ fi
+fi;
+
+
+
+if test "$ECJ_JAR" != ""; then
+ FOUND_ECJ_JAR_TRUE=
+ FOUND_ECJ_JAR_FALSE='#'
+else
+ FOUND_ECJ_JAR_TRUE='#'
+ FOUND_ECJ_JAR_FALSE=
+fi
+
+
# Check whether --enable-java-lang-system-explicit-initialization or --disable-java-lang-system-explicit-initialization was given.
if test "${enable_java_lang_system_explicit_initialization+set}" = set; then
enableval="$enable_java_lang_system_explicit_initialization"
@@ -20252,6 +20276,13 @@ echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
+if test -z "${FOUND_ECJ_JAR_TRUE}" && test -z "${FOUND_ECJ_JAR_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"FOUND_ECJ_JAR\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"FOUND_ECJ_JAR\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
if test -z "${INSTALL_GLIBJ_ZIP_TRUE}" && test -z "${INSTALL_GLIBJ_ZIP_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"INSTALL_GLIBJ_ZIP\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
@@ -21109,6 +21140,9 @@ s,@MAINTAINER_MODE_FALSE@,$MAINTAINER_MODE_FALSE,;t t
s,@MAINT@,$MAINT,;t t
s,@LIBDEBUG@,$LIBDEBUG,;t t
s,@INIT_LOAD_LIBRARY@,$INIT_LOAD_LIBRARY,;t t
+s,@ECJ_JAR@,$ECJ_JAR,;t t
+s,@FOUND_ECJ_JAR_TRUE@,$FOUND_ECJ_JAR_TRUE,;t t
+s,@FOUND_ECJ_JAR_FALSE@,$FOUND_ECJ_JAR_FALSE,;t t
s,@JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@,$JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION,;t t
s,@REMOVE@,$REMOVE,;t t
s,@MKDIR@,$MKDIR,;t t
diff --git a/libjava/classpath/configure.ac b/libjava/classpath/configure.ac
index 43efe58d546..c9e03abafb9 100644
--- a/libjava/classpath/configure.ac
+++ b/libjava/classpath/configure.ac
@@ -710,6 +710,28 @@ AC_SUBST(INIT_LOAD_LIBRARY)
dnl -----------------------------------------------------------
+dnl Specify the jar file containing the Eclipse Java Compiler. If
+dnl this option is not specified then the com.sun.tools.javac
+dnl implementation will not be included in tools.zip.
+dnl -----------------------------------------------------------
+dnl GCJ LOCAL: default to $multi_basedir/ecj.jar
+dnl In the default case where $multi_basedir/ecj.jar is found
+dnl $(jardir)/ecj.jar will not expand properly in GNU Classpath's
+dnl gnu/classpath/Configuration.java. That is OK though since libjava's
+dnl gnu/classpath/Configuration.java overrides GNU Classpath's and
+dnl ECJ_JAR_FILE will be properly expanded in libjava's
+dnl gnu/classpath/natConfiguration.cc.
+AC_ARG_WITH([ecj-jar],
+ [AS_HELP_STRING([--with-ecj-jar=ABS.PATH],
+ [specify jar file containing the Eclipse Java Compiler])],
+ [ECJ_JAR=$withval],
+ [if test -f $multi_basedir/ecj.jar; then
+ ECJ_JAR='$(jardir)/ecj.jar'
+ fi])
+AC_SUBST(ECJ_JAR)
+AM_CONDITIONAL(FOUND_ECJ_JAR, test "$ECJ_JAR" != "")
+
+dnl -----------------------------------------------------------
dnl Should the VM explicitly run class initialization subfunctions for
dnl java.lang.System? (default is false -- the subfunctions will be run
dnl automatically by the class initializer)
diff --git a/libjava/classpath/doc/Makefile.in b/libjava/classpath/doc/Makefile.in
index e57a0c4e062..7ff3f75b6ea 100644
--- a/libjava/classpath/doc/Makefile.in
+++ b/libjava/classpath/doc/Makefile.in
@@ -130,6 +130,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -141,6 +142,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/doc/api/Makefile.in b/libjava/classpath/doc/api/Makefile.in
index d2fef966589..36f02618536 100644
--- a/libjava/classpath/doc/api/Makefile.in
+++ b/libjava/classpath/doc/api/Makefile.in
@@ -119,6 +119,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -130,6 +131,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/examples/Makefile.in b/libjava/classpath/examples/Makefile.in
index 95cfeb3b0bc..8bc5a159fc2 100644
--- a/libjava/classpath/examples/Makefile.in
+++ b/libjava/classpath/examples/Makefile.in
@@ -128,6 +128,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -139,6 +140,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/external/Makefile.in b/libjava/classpath/external/Makefile.in
index 48d9c4c1f21..aabc4508d17 100644
--- a/libjava/classpath/external/Makefile.in
+++ b/libjava/classpath/external/Makefile.in
@@ -126,6 +126,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -137,6 +138,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/external/jsr166/Makefile.in b/libjava/classpath/external/jsr166/Makefile.in
index 4fca2bc0fb2..68b8933953d 100644
--- a/libjava/classpath/external/jsr166/Makefile.in
+++ b/libjava/classpath/external/jsr166/Makefile.in
@@ -117,6 +117,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -128,6 +129,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/external/relaxngDatatype/Makefile.in b/libjava/classpath/external/relaxngDatatype/Makefile.in
index 84f43046b21..f94e51a4ff2 100644
--- a/libjava/classpath/external/relaxngDatatype/Makefile.in
+++ b/libjava/classpath/external/relaxngDatatype/Makefile.in
@@ -117,6 +117,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -128,6 +129,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/external/sax/Makefile.in b/libjava/classpath/external/sax/Makefile.in
index 0985375e00c..8e3b10f3184 100644
--- a/libjava/classpath/external/sax/Makefile.in
+++ b/libjava/classpath/external/sax/Makefile.in
@@ -117,6 +117,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -128,6 +129,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/external/w3c_dom/Makefile.in b/libjava/classpath/external/w3c_dom/Makefile.in
index 5a3dabf00f7..4c22e471bc0 100644
--- a/libjava/classpath/external/w3c_dom/Makefile.in
+++ b/libjava/classpath/external/w3c_dom/Makefile.in
@@ -117,6 +117,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -128,6 +129,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/gnu/classpath/Configuration.java.in b/libjava/classpath/gnu/classpath/Configuration.java.in
index 7f490d52951..7fb86409330 100644
--- a/libjava/classpath/gnu/classpath/Configuration.java.in
+++ b/libjava/classpath/gnu/classpath/Configuration.java.in
@@ -95,4 +95,10 @@ public interface Configuration
*/
boolean JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION =
@JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@;
+
+ /**
+ * The Eclipse Java Compiler jar file for use by the
+ * com.sun.tools.javac implementation in tools.zip.
+ */
+ String ECJ_JAR = "@ECJ_JAR@";
}
diff --git a/libjava/classpath/include/Makefile.in b/libjava/classpath/include/Makefile.in
index c9bdd0b3d01..c18e5a2f513 100644
--- a/libjava/classpath/include/Makefile.in
+++ b/libjava/classpath/include/Makefile.in
@@ -118,6 +118,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -129,6 +130,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/include/config.h.in b/libjava/classpath/include/config.h.in
index 0b2a58e86df..6abf7972dfe 100644
--- a/libjava/classpath/include/config.h.in
+++ b/libjava/classpath/include/config.h.in
@@ -117,6 +117,9 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* Define to 1 if you have the <jack/jack.h> header file. */
+#undef HAVE_JACK_JACK_H
+
/* Define to 1 if you have the `kevent' function. */
#undef HAVE_KEVENT
diff --git a/libjava/classpath/lib/Makefile.in b/libjava/classpath/lib/Makefile.in
index ec0783197af..d31e636db1a 100644
--- a/libjava/classpath/lib/Makefile.in
+++ b/libjava/classpath/lib/Makefile.in
@@ -122,6 +122,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -133,6 +134,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/lib/gnu/classpath/Configuration.class b/libjava/classpath/lib/gnu/classpath/Configuration.class
index 16a411a5ef2..b71a43a07be 100644
--- a/libjava/classpath/lib/gnu/classpath/Configuration.class
+++ b/libjava/classpath/lib/gnu/classpath/Configuration.class
Binary files differ
diff --git a/libjava/classpath/native/Makefile.in b/libjava/classpath/native/Makefile.in
index e2587419ca0..43f4b738e4f 100644
--- a/libjava/classpath/native/Makefile.in
+++ b/libjava/classpath/native/Makefile.in
@@ -125,6 +125,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -136,6 +137,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/fdlibm/Makefile.in b/libjava/classpath/native/fdlibm/Makefile.in
index bad69b95c95..c7e71d98bad 100644
--- a/libjava/classpath/native/fdlibm/Makefile.in
+++ b/libjava/classpath/native/fdlibm/Makefile.in
@@ -144,6 +144,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -155,6 +156,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jawt/Makefile.in b/libjava/classpath/native/jawt/Makefile.in
index c0787b79de9..71eac7405b2 100644
--- a/libjava/classpath/native/jawt/Makefile.in
+++ b/libjava/classpath/native/jawt/Makefile.in
@@ -144,6 +144,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -155,6 +156,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jni/Makefile.in b/libjava/classpath/native/jni/Makefile.in
index 333ab785311..1890b42283d 100644
--- a/libjava/classpath/native/jni/Makefile.in
+++ b/libjava/classpath/native/jni/Makefile.in
@@ -125,6 +125,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -136,6 +137,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jni/classpath/Makefile.in b/libjava/classpath/native/jni/classpath/Makefile.in
index b9f19f5a200..50e71776183 100644
--- a/libjava/classpath/native/jni/classpath/Makefile.in
+++ b/libjava/classpath/native/jni/classpath/Makefile.in
@@ -135,6 +135,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -146,6 +147,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jni/gconf-peer/Makefile.in b/libjava/classpath/native/jni/gconf-peer/Makefile.in
index 1a13a583f1e..3642c1d501f 100644
--- a/libjava/classpath/native/jni/gconf-peer/Makefile.in
+++ b/libjava/classpath/native/jni/gconf-peer/Makefile.in
@@ -145,6 +145,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -156,6 +157,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jni/gtk-peer/Makefile.in b/libjava/classpath/native/jni/gtk-peer/Makefile.in
index 5f10c0f146f..ea5d7cf4f31 100644
--- a/libjava/classpath/native/jni/gtk-peer/Makefile.in
+++ b/libjava/classpath/native/jni/gtk-peer/Makefile.in
@@ -184,6 +184,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -195,6 +196,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jni/java-io/Makefile.in b/libjava/classpath/native/jni/java-io/Makefile.in
index ed9a2e6412a..2e741a9104e 100644
--- a/libjava/classpath/native/jni/java-io/Makefile.in
+++ b/libjava/classpath/native/jni/java-io/Makefile.in
@@ -146,6 +146,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -157,6 +158,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jni/java-lang/Makefile.in b/libjava/classpath/native/jni/java-lang/Makefile.in
index 0109ee535bc..2bb1abdb201 100644
--- a/libjava/classpath/native/jni/java-lang/Makefile.in
+++ b/libjava/classpath/native/jni/java-lang/Makefile.in
@@ -152,6 +152,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -163,6 +164,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jni/java-net/Makefile.in b/libjava/classpath/native/jni/java-net/Makefile.in
index ad47131edd1..f66f6c78ddf 100644
--- a/libjava/classpath/native/jni/java-net/Makefile.in
+++ b/libjava/classpath/native/jni/java-net/Makefile.in
@@ -156,6 +156,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -167,6 +168,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jni/java-nio/Makefile.in b/libjava/classpath/native/jni/java-nio/Makefile.in
index 3109baa00d6..5e0fecf9e19 100644
--- a/libjava/classpath/native/jni/java-nio/Makefile.in
+++ b/libjava/classpath/native/jni/java-nio/Makefile.in
@@ -154,6 +154,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -165,6 +166,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jni/java-util/Makefile.in b/libjava/classpath/native/jni/java-util/Makefile.in
index a66bacde497..dc5987deafd 100644
--- a/libjava/classpath/native/jni/java-util/Makefile.in
+++ b/libjava/classpath/native/jni/java-util/Makefile.in
@@ -143,6 +143,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -154,6 +155,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jni/midi-alsa/Makefile.in b/libjava/classpath/native/jni/midi-alsa/Makefile.in
index 843000dc26f..c8374b1428e 100644
--- a/libjava/classpath/native/jni/midi-alsa/Makefile.in
+++ b/libjava/classpath/native/jni/midi-alsa/Makefile.in
@@ -146,6 +146,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -157,6 +158,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jni/midi-dssi/Makefile.in b/libjava/classpath/native/jni/midi-dssi/Makefile.in
index 177e9c34d50..a282ca2f680 100644
--- a/libjava/classpath/native/jni/midi-dssi/Makefile.in
+++ b/libjava/classpath/native/jni/midi-dssi/Makefile.in
@@ -146,6 +146,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -157,6 +158,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jni/native-lib/Makefile.in b/libjava/classpath/native/jni/native-lib/Makefile.in
index e3991a7b7e6..40a9c66ac2c 100644
--- a/libjava/classpath/native/jni/native-lib/Makefile.in
+++ b/libjava/classpath/native/jni/native-lib/Makefile.in
@@ -135,6 +135,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -146,6 +147,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jni/qt-peer/Makefile.in b/libjava/classpath/native/jni/qt-peer/Makefile.in
index 671e3929e2e..86673c3a6f8 100644
--- a/libjava/classpath/native/jni/qt-peer/Makefile.in
+++ b/libjava/classpath/native/jni/qt-peer/Makefile.in
@@ -161,6 +161,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -172,6 +173,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/jni/xmlj/Makefile.in b/libjava/classpath/native/jni/xmlj/Makefile.in
index 693319a85db..883968bebc8 100644
--- a/libjava/classpath/native/jni/xmlj/Makefile.in
+++ b/libjava/classpath/native/jni/xmlj/Makefile.in
@@ -145,6 +145,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -156,6 +157,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/native/plugin/Makefile.in b/libjava/classpath/native/plugin/Makefile.in
index 11d74d4e8b0..41729c879e7 100644
--- a/libjava/classpath/native/plugin/Makefile.in
+++ b/libjava/classpath/native/plugin/Makefile.in
@@ -143,6 +143,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -154,6 +155,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/resource/Makefile.in b/libjava/classpath/resource/Makefile.in
index 561fcd56b27..897955656ea 100644
--- a/libjava/classpath/resource/Makefile.in
+++ b/libjava/classpath/resource/Makefile.in
@@ -128,6 +128,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -139,6 +140,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/resource/com/sun/tools/javac/messages.properties b/libjava/classpath/resource/com/sun/tools/javac/messages.properties
new file mode 100644
index 00000000000..58ba926f089
--- /dev/null
+++ b/libjava/classpath/resource/com/sun/tools/javac/messages.properties
@@ -0,0 +1,42 @@
+# messages.properties -- English language messages
+# Copyright (C) 2007 Free Software Foundation, Inc.
+#
+# This file is part of GNU Classpath.
+#
+# GNU Classpath is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Classpath is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Classpath; see the file COPYING. If not, write to the
+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA.
+#
+# Linking this library statically or dynamically with other modules is
+# making a combined work based on this library. Thus, the terms and
+# conditions of the GNU General Public License cover the whole
+# combination.
+#
+# As a special exception, the copyright holders of this library give you
+# permission to link this library with independent modules to produce an
+# executable, regardless of the license terms of these independent
+# modules, and to copy and distribute the resulting executable under
+# terms of your choice, provided that you also meet, for each linked
+# independent module, the terms and conditions of the license of that
+# module. An independent module is a module which is not derived from
+# or based on this library. If you modify this library, you may extend
+# this exception to your version of the library, but you are not
+# obligated to do so. If you do not wish to do so, delete this
+# exception statement from your version.
+
+Main.FailedToRead:failed to read {0}
+Main.MalformedURL:malformed URL for {0}
+Main.FailedToLoad:failed to load {0} from {1}
+Main.FailedConstructor:failed to find ecj constructor
+Main.FailedCompile:failed to find ecj compile method
diff --git a/libjava/classpath/resource/sun/rmi/rmic/messages.properties b/libjava/classpath/resource/sun/rmi/rmic/messages.properties
new file mode 100644
index 00000000000..4c897fd5e67
--- /dev/null
+++ b/libjava/classpath/resource/sun/rmi/rmic/messages.properties
@@ -0,0 +1,38 @@
+# messages.properties -- English language messages
+# Copyright (C) 2007 Free Software Foundation, Inc.
+#
+# This file is part of GNU Classpath.
+#
+# GNU Classpath is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# GNU Classpath is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Classpath; see the file COPYING. If not, write to the
+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 USA.
+#
+# Linking this library statically or dynamically with other modules is
+# making a combined work based on this library. Thus, the terms and
+# conditions of the GNU General Public License cover the whole
+# combination.
+#
+# As a special exception, the copyright holders of this library give you
+# permission to link this library with independent modules to produce an
+# executable, regardless of the license terms of these independent
+# modules, and to copy and distribute the resulting executable under
+# terms of your choice, provided that you also meet, for each linked
+# independent module, the terms and conditions of the license of that
+# module. An independent module is a module which is not derived from
+# or based on this library. If you modify this library, you may extend
+# this exception to your version of the library, but you are not
+# obligated to do so. If you do not wish to do so, delete this
+# exception statement from your version.
+
+Main.InternalError:sun.rmi.rmic: failed to run rmic main method
diff --git a/libjava/classpath/scripts/Makefile.in b/libjava/classpath/scripts/Makefile.in
index 9811bfff71e..dbeda952f4f 100644
--- a/libjava/classpath/scripts/Makefile.in
+++ b/libjava/classpath/scripts/Makefile.in
@@ -118,6 +118,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -129,6 +130,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
diff --git a/libjava/classpath/tools/Makefile.am b/libjava/classpath/tools/Makefile.am
index a719b1d3380..22f0d026d7b 100755
--- a/libjava/classpath/tools/Makefile.am
+++ b/libjava/classpath/tools/Makefile.am
@@ -16,6 +16,16 @@ error dunno how to setup the JCOMPILER and compile
endif
endif
+if FOUND_ECJ_JAR
+COM_SUN_TOOLS_JAVAC = com/sun/tools/javac
+ABS_COM_SUN_TOOLS_JAVAC = $(srcdir)/$(COM_SUN_TOOLS_JAVAC)
+ABS_COM_SUN_TOOLS_JAVAC_SRCS = $(ABS_COM_SUN_TOOLS_JAVAC)/*.java
+else
+COM_SUN_TOOLS_JAVAC =
+ABS_COM_SUN_TOOLS_JAVAC =
+ABS_COM_SUN_TOOLS_JAVAC_SRCS =
+endif
+
if CREATE_WRAPPERS
bin_SCRIPTS =
bin_PROGRAMS = gappletviewer gjarsigner gkeytool \
@@ -101,6 +111,10 @@ EXTRA_DIST = toolwrapper.c gappletviewer.in gjarsigner.in gkeytool.in \
# All our example java source files
TOOLS_JAVA_FILES = $(srcdir)/gnu/classpath/tools/*/*.java \
+ $(srcdir)/com/sun/javadoc/*.java \
+ $(srcdir)/com/sun/tools/doclets/*.java \
+ $(ABS_COM_SUN_TOOLS_JAVAC_SRCS) \
+ $(srcdir)/sun/rmi/rmic/*.java \
$(srcdir)/external/asm/org/objectweb/asm/*.java \
$(srcdir)/external/asm/org/objectweb/asm/attrs/*.java \
$(srcdir)/external/asm/org/objectweb/asm/commons/*.java \
@@ -154,7 +168,12 @@ $(TOOLS_ZIP): $(TOOLS_JAVA_FILES)
## @rm -rf classes asm
## mkdir classes asm
find $(srcdir)/external/asm -name '*.java' -print > asm.lst
- find $(srcdir)/gnu/classpath/tools -name '*.java' -print > classes.lst
+ find $(srcdir)/gnu/classpath/tools \
+ $(srcdir)/com/sun/javadoc \
+ $(srcdir)/com/sun/tools/doclets \
+ $(ABS_COM_SUN_TOOLS_JAVAC) \
+ $(srcdir)/sun/rmi/rmic \
+ -name '*.java' -print > classes.lst
if [ -f $(top_builddir)/../vm-tools-packages ]; then \
: > vm-tools.lst; \
for pkg in `cat $(top_builddir)/../vm-tools-packages`; do \
@@ -170,7 +189,9 @@ if JAVA_MAINTAINER_MODE
$$AC -g -w -d $(srcdir)/asm @asm.lst
$(JCOMPILER) -g -w -d $(srcdir)/classes @classes.lst @vm-tools.lst
## Copy over tools resource files.
- @list=`cd $(top_srcdir)/resource && find gnu/classpath/tools -name \*.properties -print`; \
+ @list=`cd $(top_srcdir)/resource && find gnu/classpath/tools \
+ com/sun/javadoc com/sun/tools/doclets $(COM_SUN_TOOLS_JAVAC) \
+ sun/rmi/rmic -name \*.properties -print`; \
for p in $$list; do \
dirname=classes/`dirname $$p`; \
if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \
diff --git a/libjava/classpath/tools/Makefile.in b/libjava/classpath/tools/Makefile.in
index 4558f8a00bc..884658378af 100644
--- a/libjava/classpath/tools/Makefile.in
+++ b/libjava/classpath/tools/Makefile.in
@@ -220,6 +220,7 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
+ECJ_JAR = @ECJ_JAR@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
@@ -231,6 +232,8 @@ FIND = @FIND@
FOUND_CACAO_FALSE = @FOUND_CACAO_FALSE@
FOUND_CACAO_TRUE = @FOUND_CACAO_TRUE@
FOUND_ECJ_FALSE = @FOUND_ECJ_FALSE@
+FOUND_ECJ_JAR_FALSE = @FOUND_ECJ_JAR_FALSE@
+FOUND_ECJ_JAR_TRUE = @FOUND_ECJ_JAR_TRUE@
FOUND_ECJ_TRUE = @FOUND_ECJ_TRUE@
FOUND_GCJX_FALSE = @FOUND_GCJX_FALSE@
FOUND_GCJX_TRUE = @FOUND_GCJX_TRUE@
@@ -395,6 +398,12 @@ GLIBJ_CLASSPATH = $(srcdir)/asm
# Setup the compiler to use the GNU Classpath library we just build
@FOUND_GCJ_TRUE@JCOMPILER = $(GCJ) -C -encoding UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath $(GLIBJ_CLASSPATH):.
+@FOUND_ECJ_JAR_FALSE@COM_SUN_TOOLS_JAVAC =
+@FOUND_ECJ_JAR_TRUE@COM_SUN_TOOLS_JAVAC = com/sun/tools/javac
+@FOUND_ECJ_JAR_FALSE@ABS_COM_SUN_TOOLS_JAVAC =
+@FOUND_ECJ_JAR_TRUE@ABS_COM_SUN_TOOLS_JAVAC = $(srcdir)/$(COM_SUN_TOOLS_JAVAC)
+@FOUND_ECJ_JAR_FALSE@ABS_COM_SUN_TOOLS_JAVAC_SRCS =
+@FOUND_ECJ_JAR_TRUE@ABS_COM_SUN_TOOLS_JAVAC_SRCS = $(ABS_COM_SUN_TOOLS_JAVAC)/*.java
@CREATE_WRAPPERS_TRUE@bin_SCRIPTS =
@CREATE_WRAPPERS_TRUE@AM_CPPFLAGS = -Wall \
@CREATE_WRAPPERS_TRUE@ -I$(top_srcdir)/include \
@@ -472,6 +481,10 @@ EXTRA_DIST = toolwrapper.c gappletviewer.in gjarsigner.in gkeytool.in \
# All our example java source files
TOOLS_JAVA_FILES = $(srcdir)/gnu/classpath/tools/*/*.java \
+ $(srcdir)/com/sun/javadoc/*.java \
+ $(srcdir)/com/sun/tools/doclets/*.java \
+ $(ABS_COM_SUN_TOOLS_JAVAC_SRCS) \
+ $(srcdir)/sun/rmi/rmic/*.java \
$(srcdir)/external/asm/org/objectweb/asm/*.java \
$(srcdir)/external/asm/org/objectweb/asm/attrs/*.java \
$(srcdir)/external/asm/org/objectweb/asm/commons/*.java \
@@ -1078,7 +1091,12 @@ dist-hook:
# so they get also included.
$(TOOLS_ZIP): $(TOOLS_JAVA_FILES)
find $(srcdir)/external/asm -name '*.java' -print > asm.lst
- find $(srcdir)/gnu/classpath/tools -name '*.java' -print > classes.lst
+ find $(srcdir)/gnu/classpath/tools \
+ $(srcdir)/com/sun/javadoc \
+ $(srcdir)/com/sun/tools/doclets \
+ $(ABS_COM_SUN_TOOLS_JAVAC) \
+ $(srcdir)/sun/rmi/rmic \
+ -name '*.java' -print > classes.lst
if [ -f $(top_builddir)/../vm-tools-packages ]; then \
: > vm-tools.lst; \
for pkg in `cat $(top_builddir)/../vm-tools-packages`; do \
@@ -1091,7 +1109,9 @@ $(TOOLS_ZIP): $(TOOLS_JAVA_FILES)
@JAVA_MAINTAINER_MODE_TRUE@ AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
@JAVA_MAINTAINER_MODE_TRUE@ $$AC -g -w -d $(srcdir)/asm @asm.lst
@JAVA_MAINTAINER_MODE_TRUE@ $(JCOMPILER) -g -w -d $(srcdir)/classes @classes.lst @vm-tools.lst
-@JAVA_MAINTAINER_MODE_TRUE@ @list=`cd $(top_srcdir)/resource && find gnu/classpath/tools -name \*.properties -print`; \
+@JAVA_MAINTAINER_MODE_TRUE@ @list=`cd $(top_srcdir)/resource && find gnu/classpath/tools \
+@JAVA_MAINTAINER_MODE_TRUE@ com/sun/javadoc com/sun/tools/doclets $(COM_SUN_TOOLS_JAVAC) \
+@JAVA_MAINTAINER_MODE_TRUE@ sun/rmi/rmic -name \*.properties -print`; \
@JAVA_MAINTAINER_MODE_TRUE@ for p in $$list; do \
@JAVA_MAINTAINER_MODE_TRUE@ dirname=classes/`dirname $$p`; \
@JAVA_MAINTAINER_MODE_TRUE@ if ! test -d "$$dirname"; then mkdir -p "$$dirname"; fi; \
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/ClassDoc.class b/libjava/classpath/tools/classes/com/sun/javadoc/ClassDoc.class
new file mode 100644
index 00000000000..8f362399f69
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/ClassDoc.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/ConstructorDoc.class b/libjava/classpath/tools/classes/com/sun/javadoc/ConstructorDoc.class
new file mode 100644
index 00000000000..e9c221679e1
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/ConstructorDoc.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/Doc.class b/libjava/classpath/tools/classes/com/sun/javadoc/Doc.class
new file mode 100644
index 00000000000..8b98e630029
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/Doc.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/DocErrorReporter.class b/libjava/classpath/tools/classes/com/sun/javadoc/DocErrorReporter.class
new file mode 100644
index 00000000000..2dec2356741
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/DocErrorReporter.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/Doclet.class b/libjava/classpath/tools/classes/com/sun/javadoc/Doclet.class
new file mode 100644
index 00000000000..2def74479bf
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/Doclet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/ExecutableMemberDoc.class b/libjava/classpath/tools/classes/com/sun/javadoc/ExecutableMemberDoc.class
new file mode 100644
index 00000000000..84c69f1faf0
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/ExecutableMemberDoc.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/FieldDoc.class b/libjava/classpath/tools/classes/com/sun/javadoc/FieldDoc.class
new file mode 100644
index 00000000000..da5da74ceb2
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/FieldDoc.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/MemberDoc.class b/libjava/classpath/tools/classes/com/sun/javadoc/MemberDoc.class
new file mode 100644
index 00000000000..50b630addeb
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/MemberDoc.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/MethodDoc.class b/libjava/classpath/tools/classes/com/sun/javadoc/MethodDoc.class
new file mode 100644
index 00000000000..7789f8b556b
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/MethodDoc.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/PackageDoc.class b/libjava/classpath/tools/classes/com/sun/javadoc/PackageDoc.class
new file mode 100644
index 00000000000..ba51efc3400
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/PackageDoc.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/ParamTag.class b/libjava/classpath/tools/classes/com/sun/javadoc/ParamTag.class
new file mode 100644
index 00000000000..c8da5294dd4
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/ParamTag.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/Parameter.class b/libjava/classpath/tools/classes/com/sun/javadoc/Parameter.class
new file mode 100644
index 00000000000..beff569c90e
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/Parameter.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/ProgramElementDoc.class b/libjava/classpath/tools/classes/com/sun/javadoc/ProgramElementDoc.class
new file mode 100644
index 00000000000..1ec3cbb2588
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/ProgramElementDoc.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/RootDoc.class b/libjava/classpath/tools/classes/com/sun/javadoc/RootDoc.class
new file mode 100644
index 00000000000..32409f6e91d
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/RootDoc.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/SeeTag.class b/libjava/classpath/tools/classes/com/sun/javadoc/SeeTag.class
new file mode 100644
index 00000000000..f55cfde339c
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/SeeTag.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/SerialFieldTag.class b/libjava/classpath/tools/classes/com/sun/javadoc/SerialFieldTag.class
new file mode 100644
index 00000000000..f57ecac0137
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/SerialFieldTag.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/SourcePosition.class b/libjava/classpath/tools/classes/com/sun/javadoc/SourcePosition.class
new file mode 100644
index 00000000000..a2825817f83
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/SourcePosition.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/Tag.class b/libjava/classpath/tools/classes/com/sun/javadoc/Tag.class
new file mode 100644
index 00000000000..efeeab1a3d5
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/Tag.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/ThrowsTag.class b/libjava/classpath/tools/classes/com/sun/javadoc/ThrowsTag.class
new file mode 100644
index 00000000000..7d69e5693a3
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/ThrowsTag.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/Type.class b/libjava/classpath/tools/classes/com/sun/javadoc/Type.class
new file mode 100644
index 00000000000..e264003997c
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/Type.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/javadoc/TypeVariable.class b/libjava/classpath/tools/classes/com/sun/javadoc/TypeVariable.class
new file mode 100644
index 00000000000..c9fc10f04c4
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/javadoc/TypeVariable.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/com/sun/tools/doclets/Taglet.class b/libjava/classpath/tools/classes/com/sun/tools/doclets/Taglet.class
new file mode 100644
index 00000000000..929a3d40802
--- /dev/null
+++ b/libjava/classpath/tools/classes/com/sun/tools/doclets/Taglet.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/sun/rmi/rmic/Main.class b/libjava/classpath/tools/classes/sun/rmi/rmic/Main.class
new file mode 100644
index 00000000000..42ce06a00cd
--- /dev/null
+++ b/libjava/classpath/tools/classes/sun/rmi/rmic/Main.class
Binary files differ
diff --git a/libjava/classpath/tools/classes/sun/rmi/rmic/Messages.class b/libjava/classpath/tools/classes/sun/rmi/rmic/Messages.class
new file mode 100644
index 00000000000..87b8b987c83
--- /dev/null
+++ b/libjava/classpath/tools/classes/sun/rmi/rmic/Messages.class
Binary files differ
diff --git a/libjava/classpath/tools/com/sun/javadoc/ClassDoc.java b/libjava/classpath/tools/com/sun/javadoc/ClassDoc.java
new file mode 100644
index 00000000000..a4fa40a7cf7
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/ClassDoc.java
@@ -0,0 +1,322 @@
+/* ClassDoc.java -- Document a Java class or interface
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+public interface ClassDoc extends ProgramElementDoc, Type
+{
+
+/**
+ * This method tests whether or not the class represented by this object
+ * is abstract.
+ *
+ * @return <code>true</code> if the class is abstract, <code>false</code>,
+ * otherwise.
+ */
+public abstract boolean
+isAbstract();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not the class represented by this object
+ * is serializable. That is, whether or not the class implements the
+ * <code>java.io.Serializable</code> interface. This includes classes
+ * which are externalizable.
+ *
+ * @return <code>true</code> if the class is serializable,
+ * <code>false</code> otherwise.
+ */
+public abstract boolean
+isSerializable();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not the class represented by this object
+ * is externalizable. That is, whether or not the class implements the
+ * <code>java.io.Externalizable</code> interface.
+ *
+ * @return <code>true</code> if the class is externalizable,
+ * <code>false</code> otherwise.
+ */
+public abstract boolean
+isExternalizable();
+
+/*************************************************************************/
+
+/**
+ * This method returns the serialization methods for the class
+ * represented by this object. Is the custom readObject/writeObject
+ * methods?
+ *
+ * @return The serialization methods for this class.
+ */
+public abstract MethodDoc[]
+serializationMethods();
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of fields that are serialized in this
+ * class. This will return either the list of fields with an
+ * "@serial" declaration, or, if it exists, the
+ * <code>serialPersistentField</code> field.
+ *
+ * @return The list of serializable fields.
+ */
+public abstract FieldDoc[]
+serializableFields();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not the class represented by this object
+ * specifically defines its serializable fields in a
+ * <code>serialPersistentFields</code> field.
+ *
+ * @return <code>true</code> if this class explicitly defines its
+ * serializable fields, <code>false</code> otherwise.
+ */
+public abstract boolean
+definesSerializableFields();
+
+/*************************************************************************/
+
+/**
+ * This method returns the superclass of the class represented by this
+ * object.
+ *
+ * @return The superclass of this class.
+ */
+public abstract ClassDoc
+superclass();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not the class represented by this object is
+ * a subclass of the specified class.
+ *
+ * @param cls The <code>ClassDoc</code> object of the class to test against.
+ *
+ * @return <code>true</code> if this class is a subclass of the specified
+ * class, <code>false</code> otherwise.
+ */
+public abstract boolean
+subclassOf(ClassDoc cls);
+
+/*************************************************************************/
+
+/**
+ * This method returns this list of interfaces implemented (or in the case
+ * of interfaces, extended) by this class. This list will only include
+ * interfaces directly implemented by this class, not those inherited by
+ * interfaced implemented in this class.
+ *
+ * @return The list of interfaces this class implements.
+ */
+public abstract ClassDoc[]
+interfaces();
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of fields that are visible to the user in
+ * this class, or the list of all fields in this class.
+ *
+ * @param filtered if true, only return visible (included) fields;
+ * otherwise, return all fields.
+ *
+ * @return The list of visible fields in this class, or the list of
+ * all fields in this class.
+ */
+public abstract FieldDoc[]
+fields(boolean filtered);
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of fields that are visible to the user in
+ * this class. Does this depend on the -private -protected, etc flags
+ * passed to javadoc?
+ *
+ * @return The list of visible fields in this class.
+ */
+public abstract FieldDoc[]
+fields();
+
+/*************************************************************************/
+
+/**
+ * This method returns either the list of methods that are visible to
+ * the user in the class represented by this object, or a list of all
+ * methods, excluding constructor methods.
+ *
+ * @param filtered if true, only return visible (included) methods;
+ * otherwise, return all methods.
+ *
+ * @return The list of all methods in this class, or the list of
+ * visible methods in this class.
+ */
+public abstract MethodDoc[]
+methods(boolean filtered);
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of methods that are visible to the user in
+ * the class represented by this object, excluding constructor methods.
+ *
+ * @return The list of visible methods in this class.
+ */
+public abstract MethodDoc[]
+methods();
+
+/*************************************************************************/
+
+/**
+ * This method returns either the list of constructors that are
+ * visible to the user in the class represented by this object, or
+ * the list of all constructors.
+ *
+ * @param filtered if true, only return visible (included)
+ * constructors; otherwise, return all constructors.
+ *
+ * @return The list of all constructors in this class, or the list
+ * of visible constructors in this class.
+ */
+public abstract ConstructorDoc[]
+constructors(boolean filtered);
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of constructors that are visible to the user
+ * in the class represented by this object.
+ *
+ * @return The list visible constructors in this class.
+ */
+public abstract ConstructorDoc[]
+constructors();
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of inner classes that are visible to
+ * the user within the class represented by this object.
+ *
+ * @return The list of visible inner classes for this object.
+ */
+public abstract ClassDoc[]
+innerClasses();
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of all inner classes within the class
+ * represented by this object, or the list of visible inner classes
+ * in this class.
+ *
+ * @param filtered if true, only return visible (included) inner
+ * classes; otherwise, return all inner classes.
+ *
+ * @return The list of all inner classes for this object, or the list
+ * of visible inner classes.
+ */
+public abstract ClassDoc[]
+innerClasses(boolean filtered);
+
+/*************************************************************************/
+
+/**
+ * This method returns a <code>ClassDoc</code> for the named class. The
+ * following search order is used:
+ * <p>
+ * <ol>
+ * <li>Fully qualified class name.
+ * <li>Inner classes within this class.
+ * <li>In the current package.
+ * <li>In the imports for this class.
+ * </ol>
+ *
+ * @param name The name of the class to find.
+ *
+ * @return The requested class, or <code>null</code> if the requested
+ * class cannot be found.
+ */
+public abstract ClassDoc
+findClass(String name);
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of classes that are imported. This
+ * excludes any imports of complete packages.
+ *
+ * @return The list of imported classes.
+ */
+public abstract ClassDoc[]
+importedClasses();
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of packages that are imported. This
+ * excludes any individual class imports.
+ *
+ * @return The list of imported packages.
+ */
+public abstract PackageDoc[]
+importedPackages();
+
+/*************************************************************************/
+
+/**
+ * This method returns the formal type parameters of this class.
+ * The returned array is empty if the class does not represent a
+ * parameterized type.
+ *
+ * @return The list of type parameters.
+ * @since 1.5
+ */
+TypeVariable[]
+typeParameters();
+
+} // interface ClassDoc
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/ConstructorDoc.java b/libjava/classpath/tools/com/sun/javadoc/ConstructorDoc.java
new file mode 100644
index 00000000000..e9db4591c79
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/ConstructorDoc.java
@@ -0,0 +1,57 @@
+/* ConstructorDoc.java -- Document a Java class constructor
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This interface is used for documenting constructors.
+ */
+public interface ConstructorDoc extends ExecutableMemberDoc
+{
+
+/**
+ * This method returns the qualified name of the constructor. What is this
+ * really?
+ *
+ * @return The qualified name of the constructor.
+ */
+public abstract String
+qualifiedName();
+
+} // interface ConstructorDoc
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/Doc.java b/libjava/classpath/tools/com/sun/javadoc/Doc.java
new file mode 100644
index 00000000000..425c85718f2
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/Doc.java
@@ -0,0 +1,265 @@
+/* Doc.java -- Model of an item to document.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This interface is the super-interface of all items that can have
+ * Javadoc comments associated with them.
+ */
+public interface Doc extends java.io.Serializable, Comparable
+{
+
+/**
+ * This method returns the text of the comment for this item, with all
+ * tags stripped.
+ *
+ * @return The comment text for this item.
+ */
+public abstract String
+commentText();
+
+/*************************************************************************/
+
+/**
+ * This method returns an array of all the tags in this item.
+ *
+ * @return An array of tags for this item.
+ */
+public abstract Tag[]
+tags();
+
+/*************************************************************************/
+
+/**
+ * This method returns an array of all the tags of the specified type
+ * in this item.
+ *
+ * @param tagtype The name of the tag type to return.
+ *
+ * @return A list of all tags of the specified type.
+ */
+public abstract Tag[]
+tags(String tagtype);
+
+/*************************************************************************/
+
+/**
+ * This method returns an array of all tags of the "@see" type.
+ *
+ * @return An array of tags of the "@see" type
+ */
+public abstract SeeTag[]
+seeTags();
+
+/*************************************************************************/
+
+/**
+ * This method returns the comment text as an array of tags. This will
+ * include any inline tags, but no regular tags. Regular text is returned
+ * as a type of <code>Text</code>. Inline "@see" tags are returned as
+ * type <code>SeeTag</code>.
+ *
+ * @return The comment text as tags.
+ */
+public abstract Tag[]
+inlineTags();
+
+/*************************************************************************/
+
+/**
+ * This method returns the first sentence of the comment text as an array
+ * of tags. This will include any inline tags, but no regular tags.
+ * Regular text is returned as a type of <code>Text</code>. Inline "@see"
+ * tags are returned as type <code>SeeTag</code>.
+ *
+ * @return An array of tags representing the first sentence of the comment
+ * text.
+ */
+public abstract Tag[]
+firstSentenceTags();
+
+/*************************************************************************/
+
+/**
+ * This method returns the text of the comment in an unprocessed format.
+ * Any Javadoc tags will remain as written in the text.
+ *
+ * @return The unprocessed comment text.
+ */
+public abstract String
+getRawCommentText();
+
+/*************************************************************************/
+
+/**
+ * This method sets the unprocessed comment text for this item.
+ *
+ * @param rawtext The unprocessed comment text for this itme.
+ */
+public abstract void
+setRawCommentText(String rawtext);
+
+/*************************************************************************/
+
+/**
+ * This method returns the name of this item.
+ *
+ * @return The name of this item.
+ */
+public abstract String
+name();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this item is a field.
+ *
+ * @return <code>true</code> if this item is a field, <code>false</code>
+ * otherwise.
+ */
+public abstract boolean
+isField();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this item is a method.
+ *
+ * @return <code>true</code> if this item is a method, <code>false</code>
+ * otherwise.
+ */
+public abstract boolean
+isMethod();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this item is a constructor.
+ *
+ * @return <code>true</code> if this item is a constructor,
+ * <code>false</code> otherwise.
+ */
+public abstract boolean
+isConstructor();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this item is an interface.
+ *
+ * @return <code>true</code> if this item is an interface,
+ * <code>false</code> otherwise.
+ */
+public abstract boolean
+isInterface();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this item is an exception.
+ *
+ * @return <code>true</code> if this item is an exception,
+ * <code>false</code> otherwise.
+ */
+public abstract boolean
+isException();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this item is an error.
+ *
+ * @return <code>true</code> if this item is an error,
+ * <code>false</code> otherwise.
+ */
+public abstract boolean
+isError();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this item is a class. Interfaces
+ * do not count as classes.
+ *
+ * @return <code>true</code> if this item is a class,
+ * <code>false</code> otherwise.
+ */
+public abstract boolean
+isClass();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this item is an ordinary class. An
+ * ordinary class is a class that is not an exception or an error.
+ * Interfaces also do not count because they are not considered classes at
+ * all.
+ *
+ * @return <code>true</code> if this item is an ordinary class,
+ * <code>false</code> otherwise.
+ */
+public abstract boolean
+isOrdinaryClass();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this item is part of the active set,
+ * whatever that is.
+ *
+ * @return <code>true</code> if this item is part of the active set,
+ * <code>false</code> otherwise.
+ */
+public abstract boolean
+isIncluded();
+
+/*************************************************************************/
+
+/**
+ * This method returns the location of the item within the Java
+ * source code.
+ *
+ * @return an object describing the file, line and column where this
+ * item is defined.
+ */
+public abstract SourcePosition
+position();
+
+} // interface Doc
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/DocErrorReporter.java b/libjava/classpath/tools/com/sun/javadoc/DocErrorReporter.java
new file mode 100644
index 00000000000..c4d05e7006d
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/DocErrorReporter.java
@@ -0,0 +1,77 @@
+/* DocErrorReporter.java -- Log errors/warnings during doc generation.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This interface provides a mechanism for a doclet to log messages
+ * during its run.
+ */
+public interface DocErrorReporter
+{
+
+/**
+ * This method prints the specified error message.
+ *
+ * @param err The error message to print.
+ */
+public abstract void
+printError(String err);
+
+/*************************************************************************/
+
+/**
+ * This method prints the specified warning message.
+ *
+ * @param warn The warning message to print.
+ */
+public abstract void
+printWarning(String warn);
+
+/*************************************************************************/
+
+/**
+ * This method prints the specifed message.
+ *
+ * @param msg The message to print.
+ */
+public abstract void
+printNotice(String notice);
+
+} // interface DocErrorReporter
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/Doclet.java b/libjava/classpath/tools/com/sun/javadoc/Doclet.java
new file mode 100644
index 00000000000..7ce4b29ef96
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/Doclet.java
@@ -0,0 +1,99 @@
+/* Doclet.java -- Doclet API
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This class documents the method that must be implemented by a doclet.
+ * It may be used as the superclass of a doclet, but this is not required.
+ * As long as the doclet implements the <code>start</code> method, all is ok.
+ */
+public abstract class Doclet
+{
+
+/**
+ * This is the entry point to a doclet. All doclets must implement this
+ * method.
+ *
+ * @param rd The <code>RootDoc</code> instance for this javadoc run.
+ *
+ * @return <code>true</code> on success, <code>false</code> on failure.
+ */
+public static boolean
+start(RootDoc root)
+{
+ return(false);
+}
+
+/*************************************************************************/
+
+/**
+ * This method returns the number of arguments to the option, including
+ * the option itself. This is not required of doclets.
+ *
+ * @param opt The option to check.
+ *
+ * @return The number of arguments to the option, or zero if the option is
+ * unknown, or a negative number if an error occurred.
+ */
+public static int
+optionLength(String opt)
+{
+ return(0);
+}
+
+/*************************************************************************/
+
+/**
+ * This method is called to verify that the options supplied by the caller
+ * are valid. This is not required of doclets.
+ *
+ * @param opts The list of options supplied by the user.
+ * @param logger A mechanism for this method to report errors to the user.
+ *
+ * @return <code>true</code> if the options are valid, <code>false</code>
+ * otherwise.
+ */
+public static boolean
+validOptions(String[][] opts, DocErrorReporter logger)
+{
+ return(true);
+}
+
+} // class Doclet
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/ExecutableMemberDoc.java b/libjava/classpath/tools/com/sun/javadoc/ExecutableMemberDoc.java
new file mode 100644
index 00000000000..8d4ddab6694
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/ExecutableMemberDoc.java
@@ -0,0 +1,138 @@
+/* ExecutableMemberDoc.java -- Document methods and constructors
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This is the super-interface for interfaces describing constructors and
+ * methods.
+ */
+public interface ExecutableMemberDoc extends MemberDoc
+{
+
+/**
+ * This method returns a list of all the execeptions that are declared
+ * to be thrown in this method or constructor.
+ *
+ * @return The list of exceptions for this method.
+ */
+public abstract ClassDoc[]
+thrownExceptions();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this method/constructor is native.
+ *
+ * @return <code>true</code> if the method is native, <code>false</code>
+ * otherwise.
+ */
+public abstract boolean
+isNative();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this method/constructor is
+ * synchronized.
+ *
+ * @return <code>true</code> if the method is synchronized,
+ * <code>false</code> otherwise.
+ */
+public abstract boolean
+isSynchronized();
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of parameters for this method/constructor.
+ *
+ * @return The list of parameters for this method.
+ */
+public abstract Parameter[]
+parameters();
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of "@throws" and "@exception" tags in this
+ * method/constructor.
+ *
+ * @return The list of exception doc tags.
+ */
+public abstract ThrowsTag[]
+throwsTags();
+
+/*************************************************************************/
+
+/**
+ * This method return the list of "@param" tags in this method/constructor.
+ *
+ * @return The list of parameter doc tags for this method.
+ */
+public abstract ParamTag[]
+paramTags();
+
+/*************************************************************************/
+
+/**
+ * This method returns the signature of this method in pseudo-code format,
+ * with fully qualified class references. For example, the method
+ * <code>read(String str, boolean bool)</code> would have the signature
+ * <code>(java.lang.String, boolean)</code> returned by this method.
+ *
+ * @return The signature for this method.
+ */
+public abstract String
+signature();
+
+/*************************************************************************/
+
+/**
+ * This method returns the signature of this method in pseudo-code format,
+ * with uqualified class references. For example, the method
+ * <code>read(String str, boolean bool)</code> would have the signature
+ * <code>(String, boolean)</code> returned by this method.
+ *
+ * @return The signature for this method.
+ */
+public abstract String
+flatSignature();
+
+} // interface ExecutableMemberDoc
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/FieldDoc.java b/libjava/classpath/tools/com/sun/javadoc/FieldDoc.java
new file mode 100644
index 00000000000..a5e48c4c147
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/FieldDoc.java
@@ -0,0 +1,113 @@
+/* FieldDoc.java -- Document a field
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This package is used for documenting fields.
+ */
+public interface FieldDoc extends MemberDoc
+{
+
+/**
+ * This method returns the type of this field.
+ *
+ * @return The type of this field.
+ */
+public abstract Type
+type();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not the field is transient.
+ *
+ * @return <code>true</code> if the field is transient, <code>false</code>
+ * otherwise.
+ */
+public abstract boolean
+isTransient();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not the field is volatile.
+ *
+ * @return <code>true</code> if the field is volatile, <code>false</code>
+ * otherwise.
+ */
+public abstract boolean
+isVolatile();
+
+/*************************************************************************/
+
+/**
+ * This method returns a list of all "@serialField" tags defined in this
+ * field.
+ *
+ * @return The list of "@serialField" tags for this field.
+ */
+public abstract SerialFieldTag[]
+serialFieldTags();
+
+/*************************************************************************/
+
+/**
+ * This method returns the value of this static field.
+ *
+ * @return The value of this static field.
+ */
+public abstract Object
+constantValue();
+
+
+/*************************************************************************/
+
+/**
+ * This method returns the value of this static field converted to a
+ * human-readable string.
+ *
+ * @return The value of this static field as a human-readable string.
+ */
+public abstract String
+constantValueExpression();
+
+
+
+} // interface FieldDoc
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/MemberDoc.java b/libjava/classpath/tools/com/sun/javadoc/MemberDoc.java
new file mode 100644
index 00000000000..8448f12c594
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/MemberDoc.java
@@ -0,0 +1,60 @@
+/* MemberDoc.java -- Common ops for documenting fields, methods,
+ and constructors
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This is the common super-interface for documentation about fields,
+ * methods, and constructors.
+ */
+public interface MemberDoc extends ProgramElementDoc
+{
+
+/**
+ * This method tests whether the member in question was created implicitly
+ * by the compiler.
+ *
+ * @return <code>true</code> if this member was synthesized by the compiler,
+ * </code>false</code> otherwise.
+ */
+public abstract boolean
+isSynthetic();
+
+} // interface MemberDoc
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/MethodDoc.java b/libjava/classpath/tools/com/sun/javadoc/MethodDoc.java
new file mode 100644
index 00000000000..a24b8ec09eb
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/MethodDoc.java
@@ -0,0 +1,80 @@
+/* MethodDoc.java -- Document a method
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This interface is used for documenting ordinary (ie, non-constructor)
+ * methods.
+ */
+public interface MethodDoc extends ExecutableMemberDoc
+{
+
+/**
+ * This method tests whether or not the method to be documented is abstract.
+ *
+ * @return <code>true</code> if the method is abstract, <code>false</code>
+ * otherwise.
+ */
+public abstract boolean
+isAbstract();
+
+/*************************************************************************/
+
+/**
+ * This method returns the return type of the method to be documented.
+ *
+ * @return The return type of the method to be documented.
+ */
+public abstract Type
+returnType();
+
+/*************************************************************************/
+
+/**
+ * This method returns the class containing the method that this method is
+ * overriding.
+ *
+ * @return The class containing the method that this method is overriding,
+ * or <code>null</code> if this class is not overriding a method.
+ */
+public abstract ClassDoc
+overriddenClass();
+
+} // interface MethodDoc
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/PackageDoc.java b/libjava/classpath/tools/com/sun/javadoc/PackageDoc.java
new file mode 100644
index 00000000000..d544acf5bb9
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/PackageDoc.java
@@ -0,0 +1,109 @@
+/* PackageDoc.java -- Document a package
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+public interface PackageDoc extends Doc
+{
+
+/**
+ * This method returns a list of all the classes and interfaces in
+ * this package. This list will included exceptions and errors.
+ *
+ * @return The list of classes and interfaces for this package.
+ */
+public abstract ClassDoc[]
+allClasses();
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of ordinary classes in this package. This
+ * list will not include any interface, exceptions or errors.
+ *
+ * @return The list of ordinary classes in this package.
+ */
+public abstract ClassDoc[]
+ordinaryClasses();
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of exceptions in this package.
+ *
+ * @return The list of exceptions in this package.
+ */
+public abstract ClassDoc[]
+exceptions();
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of errors in this package.
+ *
+ * @return The list of errors in this package.
+ */
+public abstract ClassDoc[]
+errors();
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of interfaces in this package.
+ *
+ * @return The list of interfaces in this package.
+ */
+public abstract ClassDoc[]
+interfaces();
+
+/*************************************************************************/
+
+/**
+ * This method returns a <code>ClassDoc</code> instance for the specified
+ * class.
+ *
+ * @param name The name of the class to return.
+ *
+ * @return The requested <code>ClassDoc</code> or <code>null</code> if
+ * this class not part of this javadoc run.
+ */
+public abstract ClassDoc
+findClass(String cls);
+
+} // interface PackageDoc
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/ParamTag.java b/libjava/classpath/tools/com/sun/javadoc/ParamTag.java
new file mode 100644
index 00000000000..94358637e66
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/ParamTag.java
@@ -0,0 +1,66 @@
+/* ParamTag.java -- Documentation tag for method parameters
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This interface represents an "@param" tag.
+ */
+public interface ParamTag extends Tag
+{
+
+/**
+ * This method returns the comment text for the parameter.
+ *
+ * @return The comment text for the parameter.
+ */
+public abstract String
+parameterComment();
+
+/*************************************************************************/
+
+/**
+ * This method returns the name of the parameter.
+ *
+ * @return The name of the parameter.
+ */
+public abstract String
+parameterName();
+
+} // interface ParamTag
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/Parameter.java b/libjava/classpath/tools/com/sun/javadoc/Parameter.java
new file mode 100644
index 00000000000..a359a5d9e36
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/Parameter.java
@@ -0,0 +1,88 @@
+/* Parameter.java -- Information about parameters to methods.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This interface models a parameter to a method.
+ */
+public interface Parameter extends java.io.Serializable
+{
+
+/**
+ * This method returns the type of the parameter.
+ *
+ * @return The parameter type.
+ */
+public abstract Type
+type();
+
+/*************************************************************************/
+
+/**
+ * This method returns the name of the parameter.
+ *
+ * @return The parameter name.
+ */
+public abstract String
+name();
+
+/*************************************************************************/
+
+/**
+ * This method returns the name of the type of the parameter as a
+ * <code>String</code>.
+ *
+ * @return The name of the type of this parameter.
+ */
+public abstract String
+typeName();
+
+/*************************************************************************/
+
+/**
+ * This method returns this parameter as a <code>String</code> that
+ * contains both the type name and parameter name.
+ *
+ * @return This parameter as a <code>String</code>.
+ */
+public abstract String
+toString();
+
+} // interaface Parameter
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/ProgramElementDoc.java b/libjava/classpath/tools/com/sun/javadoc/ProgramElementDoc.java
new file mode 100644
index 00000000000..0d6dd464018
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/ProgramElementDoc.java
@@ -0,0 +1,170 @@
+/* ProgramElementDoc.java -- Common ops for all program elements.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This is the comment super-interface of all items that are "program
+ * elements". This includes classes, interfaces, fields, constructors,
+ * and methods.
+ */
+public interface ProgramElementDoc extends Doc
+{
+
+/**
+ * This method returns the class which contains this element. If this
+ * is a class that is not an inner class, <code>null</code> will be
+ * returned.
+ *
+ * @returned The class element that contains this item, or <code>null</code>
+ * if this item is a class that is not an inner class.
+ */
+public abstract ClassDoc
+containingClass();
+
+/*************************************************************************/
+
+/**
+ * This method returns the package which contains this element. If this
+ * element is in the default generic package, then the name of the
+ * package element returned will be "".
+ *
+ * @return The package element that contains this item.
+ */
+public abstract PackageDoc
+containingPackage();
+
+/*************************************************************************/
+
+/**
+ * This method returns the fully qualified name of this element.
+ *
+ * @return The fully qualified name of this element.
+ */
+public abstract String
+qualifiedName();
+
+/*************************************************************************/
+
+/**
+ * This method returns the modifier specificier number, which is what?
+ *
+ * @return The modifier for this element.
+ */
+public abstract int
+modifierSpecifier();
+
+/*************************************************************************/
+
+/**
+ * This method returns a string with the element modifiers. For example,
+ * the modifiers of a method declaration might be "protected abstract".
+ *
+ * @return The modifier string.
+ */
+public abstract String
+modifiers();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this element is public.
+ *
+ * @return <code>true</code> if this element is public, <code>false</code>
+ * otherwise.
+ */
+public abstract boolean
+isPublic();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this element is protected.
+ *
+ * @return <code>true</code> if this element is protected, <code>false</code>
+ * otherwise.
+ */
+public abstract boolean
+isProtected();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this element is private.
+ *
+ * @return <code>true</code> if this element is private, <code>false</code>
+ * otherwise.
+ */
+public abstract boolean
+isPrivate();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this element is package private.
+ *
+ * @return <code>true</code> if this element is package private,
+ * <code>false</code> otherwise.
+ */
+public abstract boolean
+isPackagePrivate();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this element is static.
+ *
+ * @return <code>true</code> if this element is static, <code>false</code>
+ * otherwise.
+ */
+public abstract boolean
+isStatic();
+
+/*************************************************************************/
+
+/**
+ * This method tests whether or not this element is final.
+ *
+ * @return <code>true</code> if this element is final, <code>false</code>
+ * otherwise.
+ */
+public abstract boolean
+isFinal();
+
+} // interface ProgramElementDoc
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/RootDoc.java b/libjava/classpath/tools/com/sun/javadoc/RootDoc.java
new file mode 100644
index 00000000000..0642154087d
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/RootDoc.java
@@ -0,0 +1,112 @@
+/* RootDoc.java -- Information about a javadoc run.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package com.sun.javadoc;
+
+/**
+ * This interface is the root of the javadoc application. All the properties and
+ * arguments are attached to the class that will implements this interface. You
+ * can retrieve all the options of the tool with this interface.
+ */
+public interface RootDoc extends Doc, DocErrorReporter
+{
+
+ /**
+ * This method returns the command line element used to invoke this instance
+ * of javadoc.
+ *
+ * @return The command line arguments for this run.
+ */
+ public abstract String[][] options();
+
+ /** ********************************************************************** */
+
+ /**
+ * This method returns the list of packages that were specified on the command
+ * line.
+ *
+ * @return The packages specified on the command line.
+ */
+ public abstract PackageDoc[] specifiedPackages();
+
+ /** ********************************************************************** */
+
+ /**
+ * This method returns the list of classes that were specified on the command
+ * line.
+ *
+ * @return The classes specified on the command line.
+ */
+ public abstract ClassDoc[] specifiedClasses();
+
+ /** ********************************************************************** */
+
+ /**
+ * This method returns the list of classes and interfaces to be documented.
+ *
+ * @return The list of classes and interfaces to be documented.
+ */
+ public abstract ClassDoc[] classes();
+
+ /** ********************************************************************** */
+
+ /**
+ * This method returns a <code>ClassDoc</code> instance for the name class
+ * or interface.
+ *
+ * @param name
+ * The class or interface to look up.
+ * @return The requested <code>ClassDoc</code>, or null if the specified
+ * class is not part of this javadoc run.
+ */
+ public abstract ClassDoc classNamed(String name);
+
+ /** ********************************************************************** */
+
+ /**
+ * This method returns a <code>PackageDoc</code> instance for the named
+ * package.
+ *
+ * @param name
+ * The package to look up.
+ * @return The requested <code>PackageDoc</code>, or null if the specified
+ * package is not part of this javadoc run.
+ */
+ public abstract PackageDoc packageNamed(String name);
+
+} // interface RootDoc
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/SeeTag.java b/libjava/classpath/tools/com/sun/javadoc/SeeTag.java
new file mode 100644
index 00000000000..12a2e934b28
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/SeeTag.java
@@ -0,0 +1,109 @@
+/* SeeTag.java -- Information about "@see" tags.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This interface models an "@see" tag.
+ */
+public interface SeeTag extends Tag
+{
+
+/**
+ * This method returns the label for this tag. What is this????
+ *
+ * @return The label for this tag.
+ */
+public abstract String
+label();
+
+/*************************************************************************/
+
+/**
+ * This method returns the package of the referenced item.
+ *
+ * @return The package of the referenced item, or <code>null</code> if no
+ * package is found.
+ */
+public abstract PackageDoc
+referencedPackage();
+
+/*************************************************************************/
+
+/**
+ * This method returns the name of the class referenced in the tag.
+ *
+ * @return The name of the class referenced in the tag.
+ */
+public abstract String
+referencedClassName();
+
+/*************************************************************************/
+
+/**
+ * This method returns a <code>ClassDoc</code> instance for the class
+ * referenced in the tag.
+ *
+ * @return A <code>ClassDoc</code> for the class referenced in the tag.
+ */
+public abstract ClassDoc
+referencedClass();
+
+/*************************************************************************/
+
+/**
+ * This method returns the name of the member referenced in the tag.
+ *
+ * @return The name of the member referenced in the tag.
+ */
+public abstract String
+referencedMemberName();
+
+/*************************************************************************/
+
+/**
+ * This method returns a <code>MemberDoc</code> instance for the member
+ * referenced in the tag.
+ *
+ * @return A <code>MemberDoc</code> for the member referenced in the tag.
+ */
+public abstract MemberDoc
+referencedMember();
+
+} // interface SeeTag
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/SerialFieldTag.java b/libjava/classpath/tools/com/sun/javadoc/SerialFieldTag.java
new file mode 100644
index 00000000000..9f5fa9accc9
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/SerialFieldTag.java
@@ -0,0 +1,102 @@
+/* SerialFieldTag.java -- Information about the "@serialField" tag.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This interface models the "@serialField" tag.
+ */
+public interface SerialFieldTag extends Tag, Comparable
+{
+
+/**
+ * This method returns the name of the field.
+ *
+ * @return The name of the field.
+ */
+public abstract String
+fieldName();
+
+/*************************************************************************/
+
+/**
+ * This method returns the type name of the field.
+ *
+ * @return The type name of the field.
+ */
+public abstract String
+fieldType();
+
+/*************************************************************************/
+
+/**
+ * This method returns a <code>ClassDoc</code> instance for the type of
+ * the field. What about primitive types???
+ *
+ * @return A <code>ClassDoc</code> for the field type.
+ */
+public abstract ClassDoc
+fieldTypeDoc();
+
+/*************************************************************************/
+
+/**
+ * This method returns the description of the field.
+ *
+ * @return The description of the field.
+ */
+public abstract String
+description();
+
+/*************************************************************************/
+
+/**
+ * This method compares this object with the specified object in order to
+ * determine proper ordering.
+ *
+ * @param obj The object to compare against.
+ *
+ * @return A negative number if this object is less than the specified
+ * object, zero if the objects are equal, or a positive number if this object
+ * is greater than the specified object.
+ */
+public abstract int
+compareTo(Object obj);
+
+} // interface SerialFieldTag
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/SourcePosition.java b/libjava/classpath/tools/com/sun/javadoc/SourcePosition.java
new file mode 100644
index 00000000000..fff25595f7b
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/SourcePosition.java
@@ -0,0 +1,68 @@
+/* SourcePosition.java -- Model of a location in a source file.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+import java.io.File;
+
+/**
+ * Represents a location in a source file. This is used by {@link
+ * Doc} to specify at which location an item is defined.
+ */
+public interface SourcePosition
+{
+ /**
+ * Return a File object pointing to the source file.
+ */
+ public File file();
+
+ /**
+ * Return the 1-based line number within the source file.
+ */
+ public int line();
+
+ /**
+ * Return the 1-based column number within the source file.
+ */
+ public int column();
+
+ /**
+ * Return a string in the format "file.toString():line"
+ */
+ public String toString();
+}
diff --git a/libjava/classpath/tools/com/sun/javadoc/Tag.java b/libjava/classpath/tools/com/sun/javadoc/Tag.java
new file mode 100644
index 00000000000..f0322127325
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/Tag.java
@@ -0,0 +1,107 @@
+/* Tag.java -- Common operations on Javadoc tags.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This is the super-interface for all Javadoc tags.
+ */
+public interface Tag extends java.io.Serializable
+{
+/**
+ * This method returns the name of the tag.
+ *
+ * @return The name of the tag.
+ */
+public abstract String
+name();
+
+/*************************************************************************/
+
+/**
+ * This method returns the kind of tag. ????
+ *
+ * @return The kind of the tag.
+ */
+public abstract String
+kind();
+
+/*************************************************************************/
+
+/**
+ * This method returns the text for this tag.
+ *
+ * @return The text for this tag.
+ */
+public abstract String
+text();
+
+/*************************************************************************/
+
+/**
+ * This method returns the tag as a <code>String</code>. What kind of
+ * string?
+ *
+ * @return This tag as a <code>String</code>.
+ */
+public abstract String
+toString();
+
+/*************************************************************************/
+
+/**
+ * This method returns the inline tags for this comment.
+ *
+ * @return The inline tags for this comment.
+ */
+public abstract Tag[]
+inlineTags();
+
+/*************************************************************************/
+
+/**
+ * This method returns the first sentence of the doc comment as an array
+ * of <code>Tag</code>'s.
+ *
+ * @return The first sentence of the comment as tags.
+ */
+public abstract Tag[]
+firstSentenceTags();
+
+} // interface Tag
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/ThrowsTag.java b/libjava/classpath/tools/com/sun/javadoc/ThrowsTag.java
new file mode 100644
index 00000000000..72a43949e42
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/ThrowsTag.java
@@ -0,0 +1,76 @@
+/* ThrowsTag.java -- Information about "@throws" and "@exception" tags.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This interface models an "@exception" or "@throws" tag.
+ */
+public interface ThrowsTag extends Tag
+{
+
+/**
+ * This method returns the name of the exception.
+ *
+ * @return The name of the exception.
+ */
+public abstract String
+exceptionName();
+
+/*************************************************************************/
+
+/**
+ * This method returns the comment text of the exception.
+ *
+ * @return The comment text of the exception.
+ */
+public abstract String
+exceptionComment();
+
+/*************************************************************************/
+
+/**
+ * This method returns the exception class as a <code>ClassDoc</code>.
+ *
+ * @return The exception class as a <code>ClassDoc</code>.
+ */
+public abstract ClassDoc
+exception();
+
+} // interface ThrowsTag
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/Type.java b/libjava/classpath/tools/com/sun/javadoc/Type.java
new file mode 100644
index 00000000000..8d0bd145c94
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/Type.java
@@ -0,0 +1,120 @@
+/* Type.java -- Documentation information about Java types.
+ Copyright (C) 1999 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This class is used for holding information about Java types needed for
+ * documentation.
+ */
+public interface Type extends java.io.Serializable
+{
+
+/**
+ * This method returns the unqualified name of the type, excluding any array
+ * dimension information or brackets.
+ *
+ * @return The unqualified type name, sans array information or brackets.
+ */
+public abstract String
+typeName();
+
+/*************************************************************************/
+
+/**
+ * This method returns the fully qualified name of the type, excluding any
+ * array dimension information or brackets.
+ *
+ * @return The fully qualified type name, sans array information or brackets.
+ */
+public abstract String
+qualifiedTypeName();
+
+/*************************************************************************/
+
+/**
+ * This method returns the array dimensions as brackets.
+ *
+ * @param The array dimensions.
+ */
+public abstract String
+dimension();
+
+/*************************************************************************/
+
+/**
+ * This method returns the unqualfied name of the type, and includes array
+ * dimension information.
+ *
+ * @return The unqualified name of the type, including array dimension info.
+ */
+public abstract String
+toString();
+
+/*************************************************************************/
+
+/**
+ * This method returns this type as a <code>ClassDoc</object>. This is not
+ * a valid operation for primitive types.
+ *
+ * @return A <code>ClassDoc</code> for this type, or <code>null</code> if
+ * this is a primitive type.
+ */
+public abstract ClassDoc
+asClassDoc();
+
+/**
+ * This method returns whether this type represents one of the
+ * built-in Java primitive types.
+ */
+public abstract boolean
+isPrimitive();
+
+/**
+ * Returns this type as a <code>TypeVariable</code>, if it is an
+ * instance of the <code>TypeVariable</code> class. Otherwise,
+ * it returns null.
+ *
+ * @return this cast to a <code>TypeVariable</code> instance, or null
+ * if this is not a type variable.
+ */
+TypeVariable
+asTypeVariable();
+
+} // interface Type
+
diff --git a/libjava/classpath/tools/com/sun/javadoc/TypeVariable.java b/libjava/classpath/tools/com/sun/javadoc/TypeVariable.java
new file mode 100644
index 00000000000..4f847d26bc7
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/javadoc/TypeVariable.java
@@ -0,0 +1,73 @@
+/* TypeVariable.java -- Document a Java type variable.
+ Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.javadoc;
+
+/**
+ * This class represents a type variable, which is used to parameterize
+ * the types used in a method or class. For example,
+ * <code>List&lt;E&gt;</code> has the type variable, <code>E</code>. Type
+ * variables may have explicit bounds, such as <code>&lt;T extends
+ * Book&gt;</code>, which specifies that the type is a sub-class of
+ * <code>Book</code>.
+ *
+ * @since 1.5
+ * @author Andrew John Hughes (gnu_andrew@member.fsf.org)
+ */
+public interface TypeVariable
+ extends Type
+{
+
+ /**
+ * Returns the bounds of this type variable. These are the types
+ * represented in the <code>extends</code> clause.
+ *
+ * @return an array of types which specify the bounds of this variable.
+ * The array is empty if there are no explicit bounds.
+ */
+ Type[] bounds();
+
+ /**
+ * Returns the class, interface, method or constructor in which this
+ * type variable was declared.
+ *
+ * @return the owning program element for this type variable.
+ */
+ ProgramElementDoc owner();
+
+}
diff --git a/libjava/classpath/tools/com/sun/tools/doclets/Taglet.java b/libjava/classpath/tools/com/sun/tools/doclets/Taglet.java
new file mode 100644
index 00000000000..f4f348d67a8
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/tools/doclets/Taglet.java
@@ -0,0 +1,63 @@
+/* com.sun.tools.doclets.Taglet
+ Copyright (C) 2001 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package com.sun.tools.doclets;
+
+import com.sun.javadoc.Tag;
+
+public interface Taglet {
+
+ public String getName();
+
+ public boolean inConstructor();
+
+ public boolean inField();
+
+ public boolean inMethod();
+
+ public boolean inOverview();
+
+ public boolean inPackage();
+
+ public boolean inType();
+
+ public boolean isInlineTag();
+
+ public String toString(Tag tag);
+
+ public String toString(Tag[] tagArray);
+}
diff --git a/libjava/classpath/tools/com/sun/tools/javac/Main.java b/libjava/classpath/tools/com/sun/tools/javac/Main.java
new file mode 100644
index 00000000000..f67a2d7286f
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/tools/javac/Main.java
@@ -0,0 +1,155 @@
+/* Main.java -- implement com.sun.tools.javac.Main
+ Copyright (C) 2007 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.tools.javac;
+
+import gnu.classpath.Configuration;
+import java.io.File;
+import java.io.PrintWriter;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.text.MessageFormat;
+
+public class Main
+{
+ static Constructor ecjConstructor = null;
+ static Method ecjMethod = null;
+
+ static
+ {
+ String classname = "org.eclipse.jdt.internal.compiler.batch.Main";
+ Class klass = null;
+ try
+ {
+ klass = Class.forName(classname);
+ }
+ catch (ClassNotFoundException e)
+ {
+ File jar = new File(Configuration.ECJ_JAR);
+ if (!jar.exists() || !jar.canRead())
+ {
+ String message
+ = MessageFormat.format(Messages.getString("Main.FailedToRead"),
+ new Object[] { Configuration.ECJ_JAR });
+ System.err.println(message);
+ }
+
+ ClassLoader loader = null;
+ try
+ {
+ loader = new URLClassLoader(new URL[] {jar.toURL()});
+ }
+ catch (MalformedURLException f)
+ {
+ String message
+ = MessageFormat.format(Messages.getString("Main.MalformedURL"),
+ new Object[] { Configuration.ECJ_JAR });
+ System.err.println(message);
+ f.printStackTrace();
+ }
+
+ try
+ {
+ klass = loader.loadClass(classname);
+ }
+ catch (ClassNotFoundException g)
+ {
+ String message
+ = MessageFormat.format(Messages.getString("Main.FailedToLoad"),
+ new Object[] { classname,
+ Configuration.ECJ_JAR });
+ System.err.println(message);
+ g.printStackTrace();
+ }
+ }
+
+ try
+ {
+ ecjConstructor = klass.getConstructor(new Class[] {
+ PrintWriter.class,
+ PrintWriter.class,
+ Boolean.TYPE});
+ }
+ catch (NoSuchMethodException h)
+ {
+ System.err.println(Messages.getString("Main.FailedConstructor"));
+ h.printStackTrace();
+ }
+
+ try
+ {
+ ecjMethod = klass.getMethod("compile", new Class[] {String[].class});
+ }
+ catch (NoSuchMethodException i)
+ {
+ System.err.println(Messages.getString("Main.FailedCompile"));
+ i.printStackTrace();
+ }
+ }
+
+ public static int compile(String[] args, PrintWriter p) throws Exception
+ {
+ /*
+ * This code depends on the patch in Comment #10 in this bug
+ * report:
+ *
+ * https://bugs.eclipse.org/bugs/show_bug.cgi?id=88364
+ */
+ Object ecjInstance = ecjConstructor.newInstance(new Object[]
+ {
+ p,
+ new PrintWriter(System.err),
+ Boolean.FALSE
+ });
+ return ((Boolean) ecjMethod.invoke(ecjInstance, new Object[]
+ { args })).booleanValue() ? 0 : -1;
+ }
+
+ public static int compile(String[] args) throws Exception
+ {
+ return compile(args, new PrintWriter(System.out));
+ }
+
+ public static void main(String[] args) throws Exception
+ {
+ Runtime.getRuntime().exit(Main.compile(args));
+ }
+}
diff --git a/libjava/classpath/tools/com/sun/tools/javac/Messages.java b/libjava/classpath/tools/com/sun/tools/javac/Messages.java
new file mode 100644
index 00000000000..17f22ac4422
--- /dev/null
+++ b/libjava/classpath/tools/com/sun/tools/javac/Messages.java
@@ -0,0 +1,67 @@
+/* Messages.java -- localization support for com.sun.tools.javac
+ Copyright (C) 2007 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package com.sun.tools.javac;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+public class Messages
+{
+ private static final String BUNDLE_NAME
+ = "com.sun.tools.javac.messages"; //$NON-NLS-1$
+
+ private static final ResourceBundle RESOURCE_BUNDLE
+ = ResourceBundle.getBundle(BUNDLE_NAME);
+
+ private Messages()
+ {
+ }
+
+ public static String getString(String key)
+ {
+ try
+ {
+ return RESOURCE_BUNDLE.getString(key);
+ }
+ catch (MissingResourceException e)
+ {
+ return '!' + key + '!';
+ }
+ }
+}
diff --git a/libjava/classpath/tools/sun/rmi/rmic/Main.java b/libjava/classpath/tools/sun/rmi/rmic/Main.java
new file mode 100644
index 00000000000..7acc65696ac
--- /dev/null
+++ b/libjava/classpath/tools/sun/rmi/rmic/Main.java
@@ -0,0 +1,60 @@
+/* Main.java -- implement sun.rmi.rmic.Main
+ Copyright (C) 2007 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package sun.rmi.rmic;
+
+import java.io.OutputStream;
+
+public class Main
+{
+ // Ant calls this. What to do with stream and string?
+ public Main(OutputStream stream, String string) {}
+
+ public boolean compile(String[] args)
+ {
+ try
+ {
+ gnu.classpath.tools.rmic.Main.main(args);
+ }
+ catch (Exception e)
+ {
+ System.err.println(Messages.getString("Main.InternalError"));
+ e.printStackTrace();
+ }
+ return true;
+ }
+}
diff --git a/libjava/classpath/tools/sun/rmi/rmic/Messages.java b/libjava/classpath/tools/sun/rmi/rmic/Messages.java
new file mode 100644
index 00000000000..80f5513a8f5
--- /dev/null
+++ b/libjava/classpath/tools/sun/rmi/rmic/Messages.java
@@ -0,0 +1,67 @@
+/* Messages.java -- localization support for sun.rmi.rmic
+ Copyright (C) 2007 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package sun.rmi.rmic;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+public class Messages
+{
+ private static final String BUNDLE_NAME
+ = "sun.rmi.rmic.messages"; //$NON-NLS-1$
+
+ private static final ResourceBundle RESOURCE_BUNDLE
+ = ResourceBundle.getBundle(BUNDLE_NAME);
+
+ private Messages()
+ {
+ }
+
+ public static String getString(String key)
+ {
+ try
+ {
+ return RESOURCE_BUNDLE.getString(key);
+ }
+ catch (MissingResourceException e)
+ {
+ return '!' + key + '!';
+ }
+ }
+}
diff --git a/libjava/configure b/libjava/configure
index 7c56bb4143a..8a81965a5ec 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -14449,6 +14449,7 @@ if test ! -f gnu/classpath/Configuration.java; then
-e "s,@default_toolkit@,$TOOLKIT," \
-e "s,@JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@,false," \
-e "s,@GTK_CAIRO_ENABLED@,false," \
+ -e "s,@ECJ_JAR@,," \
< $srcdir/classpath/gnu/classpath/Configuration.java.in \
> gnu/classpath/Configuration.java
# We do not want to redirect the output of the grep below to /dev/null,
diff --git a/libjava/configure.ac b/libjava/configure.ac
index 45c73b9bfc7..d21654ae00b 100644
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -1285,6 +1285,7 @@ if test ! -f gnu/classpath/Configuration.java; then
-e "s,@default_toolkit@,$TOOLKIT," \
-e "s,@JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION@,false," \
-e "s,@GTK_CAIRO_ENABLED@,false," \
+ -e "s,@ECJ_JAR@,," \
< $srcdir/classpath/gnu/classpath/Configuration.java.in \
> gnu/classpath/Configuration.java
# We do not want to redirect the output of the grep below to /dev/null,
diff --git a/libjava/gnu/classpath/Configuration.h b/libjava/gnu/classpath/Configuration.h
index e53026bb453..34cd719eea0 100644
--- a/libjava/gnu/classpath/Configuration.h
+++ b/libjava/gnu/classpath/Configuration.h
@@ -25,6 +25,7 @@ class gnu::classpath::Configuration : public ::java::lang::Object
static ::java::lang::String * classpath_home();
static jboolean debug();
static ::java::lang::String * toolkit();
+ static ::java::lang::String * ecj();
public:
static ::java::lang::String * CLASSPATH_HOME;
static ::java::lang::String * CLASSPATH_VERSION;
@@ -32,6 +33,7 @@ public:
static const jboolean INIT_LOAD_LIBRARY = 0;
static ::java::lang::String * default_awt_peer_toolkit;
static const jboolean JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = 0;
+ static ::java::lang::String * ECJ_JAR;
static ::java::lang::Class class$;
};
diff --git a/libjava/gnu/classpath/Configuration.java b/libjava/gnu/classpath/Configuration.java
index 7c829539f17..6899b77c44e 100644
--- a/libjava/gnu/classpath/Configuration.java
+++ b/libjava/gnu/classpath/Configuration.java
@@ -50,6 +50,7 @@ public final class Configuration
private static native String classpath_home();
private static native boolean debug();
private static native String toolkit();
+ private static native String ecj();
/**
* The value of CLASSPATH_HOME is the location that the classpath
@@ -102,4 +103,10 @@ public final class Configuration
*
*/
public static final boolean JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION = false;
+
+ /**
+ * The Eclipse Java Compiler jar file for use by the
+ * com.sun.tools.javac implementation in tools.zip.
+ */
+ public static final String ECJ_JAR = ecj();
}
diff --git a/libjava/gnu/classpath/natConfiguration.cc b/libjava/gnu/classpath/natConfiguration.cc
index 7e1593cd6e5..06f119c2b97 100644
--- a/libjava/gnu/classpath/natConfiguration.cc
+++ b/libjava/gnu/classpath/natConfiguration.cc
@@ -37,3 +37,9 @@ gnu::classpath::Configuration::toolkit()
{
return JvNewStringLatin1(AWT_TOOLKIT);
}
+
+jstring
+gnu::classpath::Configuration::ecj()
+{
+ return JvNewStringLatin1(ECJ_JAR_FILE);
+}
diff --git a/libjava/scripts/makemake.tcl b/libjava/scripts/makemake.tcl
index 47c460a7c7a..0fc06fce15d 100755
--- a/libjava/scripts/makemake.tcl
+++ b/libjava/scripts/makemake.tcl
@@ -252,7 +252,7 @@ proc scan_directory {basedir subdir} {
# Scan known packages beneath the base directory for .java source
# files.
proc scan_packages {basedir} {
- foreach subdir {gnu java javax org sun META-INF} {
+ foreach subdir {gnu java javax org sun com META-INF} {
if {[file exists $basedir/$subdir]} {
scan_directory $basedir $subdir
}
diff --git a/libjava/sources.am b/libjava/sources.am
index d228ef720cd..713e4e7c697 100644
--- a/libjava/sources.am
+++ b/libjava/sources.am
@@ -8975,6 +8975,8 @@ property_files = \
classpath/resource/java/util/iso4217.properties \
classpath/resource/javax/imageio/plugins/jpeg/MessagesBundle.properties \
classpath/resource/org/ietf/jgss/MessagesBundle.properties \
+ classpath/resource/sun/rmi/rmic/messages.properties \
+ classpath/resource/com/sun/tools/javac/messages.properties \
classpath/resource/META-INF/services/java.util.prefs.PreferencesFactory.in \
classpath/resource/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider \
classpath/resource/META-INF/services/javax.sound.midi.spi.MidiFileReader \