Commit 4f9533c7 by Mark Wielaard

Imported GNU Classpath 0.90

       Imported GNU Classpath 0.90
       * scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale.

       * sources.am: Regenerated.
       * gcj/javaprims.h: Regenerated.
       * Makefile.in: Regenerated.
       * gcj/Makefile.in: Regenerated.
       * include/Makefile.in: Regenerated.
       * testsuite/Makefile.in: Regenerated.

       * gnu/java/lang/VMInstrumentationImpl.java: New override.
       * gnu/java/net/local/LocalSocketImpl.java: Likewise.
       * gnu/classpath/jdwp/VMMethod.java: Likewise.
       * gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest
       interface.
       * java/lang/Thread.java: Add UncaughtExceptionHandler.
       * java/lang/reflect/Method.java: Implements GenericDeclaration and
       isSynthetic(),
       * java/lang/reflect/Field.java: Likewise.
       * java/lang/reflect/Constructor.java
       * java/lang/Class.java: Implements Type, GenericDeclaration,
       getSimpleName() and getEnclosing*() methods.
       * java/lang/Class.h: Add new public methods.
       * java/lang/Math.java: Add signum(), ulp() and log10().
       * java/lang/natMath.cc (log10): New function.
       * java/security/VMSecureRandom.java: New override.
       * java/util/logging/Logger.java: Updated to latest classpath
       version.
       * java/util/logging/LogManager.java: New override.

From-SVN: r113887
parent eaec4980

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

2006-05-18 Mark Wielaard <mark@klomp.org>
Imported GNU Classpath 0.90
* scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale.
* sources.am: Regenerated.
* gcj/javaprims.h: Regenerated.
* Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* gnu/java/lang/VMInstrumentationImpl.java: New override.
* gnu/java/net/local/LocalSocketImpl.java: Likewise.
* gnu/classpath/jdwp/VMMethod.java: Likewise.
* gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest
interface.
* java/lang/Thread.java: Add UncaughtExceptionHandler.
* java/lang/reflect/Method.java: Implements GenericDeclaration and
isSynthetic(),
* java/lang/reflect/Field.java: Likewise.
* java/lang/reflect/Constructor.java
* java/lang/Class.java: Implements Type, GenericDeclaration,
getSimpleName() and getEnclosing*() methods.
* java/lang/Class.h: Add new public methods.
* java/lang/Math.java: Add signum(), ulp() and log10().
* java/lang/natMath.cc (log10): New function.
* java/security/VMSecureRandom.java: New override.
* java/util/logging/Logger.java: Updated to latest classpath
version.
* java/util/logging/LogManager.java: New override.
2006-05-15 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/27352
......
<?xml version='1.0'?>
<?eclipse-cdt version="2.0"?>
<cdtproject/>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding=".externalToolBuilders/|.settings/|ChangeLog*|Makefile*|autom4te.cache/|compat/|config*|doc/|examples/|external/|gnu/javax/swing/plaf/|include/|install/|lib/|m4/|native/|resource/|scripts/|test/|testsuite/|vm/reference/|tools/|external/relaxngDatatype/" kind="src" path=""/>
<classpathentry kind="src" path="external/relaxngDatatype"/>
<classpathentry kind="src" path="tools"/>
<classpathentry kind="src" path="resource"/>
<classpathentry kind="src" path="vm/reference"/>
<classpathentry kind="src" path="external/sax"/>
<classpathentry kind="src" path="external/w3c_dom"/>
<classpathentry kind="src" path="examples"/>
<classpathentry kind="output" path="install/share/classpath"/>
</classpath>
<?xml version='1.0'?>
<launchConfiguration type='org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType'><stringAttribute key='org.eclipse.debug.core.ATTR_REFRESH_SCOPE' value='${project}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS' value='full,incremental,auto,'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE' value='${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot; editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/external/sax/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/external/w3c_dom/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/test/java.net/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/test/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/java-nio/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/midi-dssi/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/vmi/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/test/java.util/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/target/generic/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/lib/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/fdlibm/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/target/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/target/Linux/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/examples/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jawt/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/gtk-peer/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/classpath/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/midi-alsa/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/test/java.lang.reflect/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/test/java.io/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/external/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/xmlj/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/compat/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/qt-peer/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/vm/reference/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/java-util/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/test/gnu.java.lang.reflect/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/configure.ac&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/compat/java.net/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/include/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/java-lang/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/java-io/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/doc/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/gnu/test/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/doc/api/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/testsuite/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/java-net/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/vm/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native/jni/Makefile.am&quot; type=&quot;1&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_LOCATION' value='/bin/sh'/><booleanAttribute key='org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED' value='true'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY' value='${build_project}'/><booleanAttribute key='org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED' value='true'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS' value='./autogen.sh'/><booleanAttribute key='org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND' value='false'/><booleanAttribute key='org.eclipse.debug.core.appendEnvironmentVariables' value='true'/></launchConfiguration>
\ No newline at end of file
<?xml version='1.0'?>
<launchConfiguration type='org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType'><stringAttribute key='org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS' value='full,incremental,auto,'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE' value='${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot; editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/include/Makefile&quot; type=&quot;1&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_LOCATION' value='${system_path:make}'/><booleanAttribute key='org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED' value='true'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY' value='${build_project}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS' value='-C ${build_project}/include CLASSDIR=install/share/classpath USER_CLASSLIB=../install/share/classpath all install'/><booleanAttribute key='org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND' value='false'/><booleanAttribute key='org.eclipse.debug.core.appendEnvironmentVariables' value='true'/></launchConfiguration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<launchConfiguration type="org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType">
<booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="true"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/install/share/classpath&quot; type=&quot;2&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-cf glibj.zip META-INF java gnu org javax vm"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,auto,"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${build_project:install/share/classpath}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${system_path:jar}"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
</launchConfiguration>
<?xml version='1.0'?>
<launchConfiguration type='org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType'><stringAttribute key='org.eclipse.debug.core.ATTR_REFRESH_SCOPE' value='${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;working set&quot; editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native&quot; type=&quot;2&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS' value='full,incremental,auto,'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE' value='${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/native&quot; type=&quot;2&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_LOCATION' value='${system_path:make}'/><booleanAttribute key='org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED' value='true'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY' value='${build_project}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS' value='-C ${build_project}/native all install'/><booleanAttribute key='org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND' value='false'/><booleanAttribute key='org.eclipse.debug.core.appendEnvironmentVariables' value='true'/></launchConfiguration>
\ No newline at end of file
<?xml version='1.0'?>
<launchConfiguration type='org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType'><stringAttribute key='org.eclipse.debug.core.ATTR_REFRESH_SCOPE' value='${project}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS' value='full,incremental,auto,'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_BUILD_SCOPE' value='${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;workingSet&quot; editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/Makefile.in&quot; type=&quot;1&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_LOCATION' value='${build_project}/configure'/><booleanAttribute key='org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED' value='true'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY' value='${build_project}'/><booleanAttribute key='org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED' value='true'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS' value='--prefix=${build_project}/install --enable-regen-headers --enable-gtk-cairo'/><booleanAttribute key='org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND' value='false'/><booleanAttribute key='org.eclipse.debug.core.appendEnvironmentVariables' value='true'/></launchConfiguration>
\ No newline at end of file
<?xml version='1.0'?>
<launchConfiguration type='org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType'><stringAttribute key='org.eclipse.debug.core.ATTR_REFRESH_SCOPE' value='${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; name=&quot;working set&quot; editPageId=&quot;org.eclipse.ui.resourceWorkingSetPage&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/classpath/java/util&quot; type=&quot;2&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS' value='full,incremental,'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_LOCATION' value='${system_path:make}'/><booleanAttribute key='org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED' value='true'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY' value='${build_project}'/><stringAttribute key='org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS' value='-C ${build_project}/lib ../java/util/LocaleData.java'/><booleanAttribute key='org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND' value='false'/><booleanAttribute key='org.eclipse.debug.core.appendEnvironmentVariables' value='true'/></launchConfiguration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>classpath</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>auto,full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/Autogen.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>auto,full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/Configure.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/CreateLocaleData.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>auto,full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/ClasspathHeaders.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>auto,full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/CompileNative.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>auto,full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/ClasspathJar.launch</value>
</dictionary>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
#Mon Sep 20 12:53:19 MDT 2004
eclipse.preferences.version=1
encoding/ChangeLog=ISO-8859-1
#Sat Sep 17 22:04:29 MDT 2005
eclipse.preferences.version=1
formatter_settings_version=8
internal.default.compliance=user
org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?>\n<templates><template id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment" description\="Comment for getter method" context\="gettercomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\n * @return Returns the ${bare_field_name}.\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment" description\="Comment for setter method" context\="settercomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\n * @param ${param} The ${bare_field_name} to set.\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment" description\="Comment for created constructors" context\="constructorcomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\n * ${tags}\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment" description\="Comment for created Java files" context\="filecomment_context" enabled\="true" deleted\="false" autoinsert\="false">/* ${file_name} -- FIXME describe the file briefly\n Copyright (C) ${year} Free Software Foundation, Inc.\n\nThis file is part of GNU Classpath.\n\nGNU Classpath is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 2, or (at your option)\nany later version.\n\nGNU Classpath is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\nGeneral Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with GNU Classpath; see the file COPYING. If not, write to the\nFree Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\n02110-1301 USA.\n\nLinking this library statically or dynamically with other modules is\nmaking a combined work based on this library. Thus, the terms and\nconditions of the GNU General Public License cover the whole\ncombination.\n\nAs a special exception, the copyright holders of this library give you\npermission to link this library with independent modules to produce an\nexecutable, regardless of the license terms of these independent\nmodules, and to copy and distribute the resulting executable under\nterms of your choice, provided that you also meet, for each linked\nindependent module, the terms and conditions of the license of that\nmodule. An independent module is a module which is not derived from\nor based on this library. If you modify this library, you may extend\nthis exception to your version of the library, but you are not\nobligated to do so. If you do not wish to do so, delete this\nexception statement from your version. */\n\n\n</template><template id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment" description\="Comment for created types" context\="typecomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment" description\="Comment for fields" context\="fieldcomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\n * \n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment" description\="Comment for non-overriding methods" context\="methodcomment_context" enabled\="true" deleted\="false" autoinsert\="true">/**\n * ${tags}\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment" description\="Comment for overriding methods" context\="overridecomment_context" enabled\="true" deleted\="false" autoinsert\="true">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype" description\="Newly created files" context\="newtype_context" enabled\="true" deleted\="false" autoinsert\="false">/* ${file_name} -- FIXME\: briefly describe file purpose\n Copyright (C) ${year} Free Software Foundation, Inc.\n\nThis file is part of GNU Classpath.\n\nGNU Classpath is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 2, or (at your option)\nany later version.\n\nGNU Classpath is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\nGeneral Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with GNU Classpath; see the file COPYING. If not, write to the\nFree Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\n02110-1301 USA.\n\nLinking this library statically or dynamically with other modules is\nmaking a combined work based on this library. Thus, the terms and\nconditions of the GNU General Public License cover the whole\ncombination.\n\nAs a special exception, the copyright holders of this library give you\npermission to link this library with independent modules to produce an\nexecutable, regardless of the license terms of these independent\nmodules, and to copy and distribute the resulting executable under\nterms of your choice, provided that you also meet, for each linked\nindependent module, the terms and conditions of the license of that\nmodule. An independent module is a module which is not derived from\nor based on this library. If you modify this library, you may extend\nthis exception to your version of the library, but you are not\nobligated to do so. If you do not wish to do so, delete this\nexception statement from your version. */\n\n\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock" description\="Code in new catch blocks" context\="catchblock_context" enabled\="true" deleted\="false" autoinsert\="true">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody" description\="Code in created method stubs" context\="methodbody_context" enabled\="true" deleted\="false" autoinsert\="true">// ${todo} Auto-generated method stub\n${body_statement}</template><template id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody" description\="Code in created constructor stubs" context\="constructorbody_context" enabled\="true" deleted\="false" autoinsert\="true">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody" description\="Code in created getters" context\="getterbody_context" enabled\="true" deleted\="false" autoinsert\="true">return ${field};</template><template id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody" description\="Code in created setters" context\="setterbody_context" enabled\="true" deleted\="false" autoinsert\="true">${field} \= ${param};</template></templates>
This source diff could not be displayed because it is too large. You can view the blob instead.
abies:'Artur Biesiadowski <abies@pg.gda.pl>'
alexl:'Alex Lancaster <alexl@gnu.org>'
anwalt:'Andy Walter <anwalt_pop@aicas.com>'
aph:'Andrew Haley <aph@redhat.com>'
archie172:'Archie Cobbs <archie@dellroad.org>'
arenn:'Aaron M. Renn <arenn@urbanophile.com>'
aselkirk:'Andrew Selkirk <aselkirk@sympatico.ca>'
audriusa:'Audrius Meskauskas <audriusa@Bioinformatics.org>'
avdyk:'Arnaud Vandyck <arnaud.vandyck@ulg.ac.be>'
brawer:'Sascha Brawer <brawer@dandelis.ch>'
bryce:'Bryce McKinlay <mckinlay@redhat.com>'
cbj:'Brian Jones <cbj@gnu.org>'
corvus:'James E. Blair <corvus@gnu.org>'
craig:'Craig Black <craig.black@aonix.com>'
daryllee:'Daryl Lee <dlee@altaregos.com>'
djee:'David Jee <djee@redhat.com>'
dog:'Chris Burdess <dog@bluezoo.org>'
egagnon:'Etienne M. Gagnon <etienne.gagnon@uqam.ca>'
ericb:'Eric Blake <ebb9@byu.net>'
fitzsim:'Thomas Fitzsimmons <fitzsim@redhat.com>'
fnasser:'Fernando Nasser <fnasser@redhat.com>'
gadek:'Grzegorz B. Prokopski <gadek@debian.org>'
gcb:'Geoff Berry <gcb@gnu.org>'
glavaux:'Guilhem Lavaux <guilhem@kaffe.org>'
gnu_andrew:'Andrew John Hughes <gnu_andrew@member.fsf.org>'
graydon:'graydon hoare <graydon@pobox.com>'
green:'Anthony Green <green@redhat.com>'
iproetel:'Ingo Proetel <proetel@aicas.com>'
jaz:'Jon A. Zeppieri <jon@eease.com>'
jewel:'John Leuner <jewel@pixie.co.za>'
jfrijters:'Jeroen Frijters <jeroen@sumatra.nl>'
jgeorgal:'Giannis Georgalis <jgeorgal@csd.uoc.gr>'
jochen:'Jochen Hoenicke <jochen@gnu.org>'
joey:'Joseph C. Lesh <joey@gnu.org>'
jsturm:'Jeff Sturm <jsturm@one-point.com>'
julian:'Julian Scheid <scheid@sektor37.de>'
kho:'Kim Ho <kho@redhat.com>'
mark:'Mark Wielaard <mark@klomp.org>'
mcb:'Mark Benvenuto <mcb54@columbia.edu>'
mkoch:'Michael Koch <konqueror@gmx.de>'
nferrier:'Nic Ferrier <nferrier@gnu.org>'
noa:'Noa Resare <noa@resare.com>'
overholt:'Andrew Overholt <overholt@redhat.com>'
patrik_reali:'Patrik Reali <patrik@reali.ch>'
rabbit78:'Roman Kennke <roman@kennke.org>'
raif:'Raif S. Naffah <raif@swiftdsl.com.au>'
rao:'Paul Fisher <rao@gnu.org>'
robilad:'Dalibor Topic <robilad@yahoo.com>'
rodimina:'Olga Rodimina <rodimina@redhat.com>'
rschuster:'Robert Schuster <theBohemian@gmx.net>'
rsdio:'Casey Marshall <csm@gnu.org>'
rupp:'Torsten Rupp <rupp@aicas.com>'
rveldema:'Ronald Veldema <rveldema@cs.vu.nl>'
saugart:'Steven Augart <augart@watson.ibm.com>'
shalom:'John Keiser <shalom@gnu.org>'
siebert:'Fridtjof Siebert <siebert@aicas.com>'
smarothy:'Sven de Marothy <sven@physto.se>'
stuart:'Stuart Ballard <stuart.ballard@mcmail.com>'
tromey:'Tom Tromey <tromey@redhat.com>'
warrenl:'Warren Levy <warrenl@redhat.com>'
......@@ -130,6 +130,8 @@ gives a complete list.
--with-gjdoc generate documentation using gjdoc default=no
--with-jay Regenerate the parsers with jay must be given the
path to the jay executable
--with-glibj-zip=ABS.PATH
use prebuilt glibj.zip class library
For more flags run configure --help.
......
......@@ -44,11 +44,9 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
ltmain.sh missing mkinstalldirs
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../../config/depstand.m4 \
$(top_srcdir)/../../config/lead-dot.m4 \
$(top_srcdir)/../../config/no-executables.m4 \
$(top_srcdir)/../../libtool.m4 $(top_srcdir)/m4/acattribute.m4 \
$(top_srcdir)/m4/accross.m4 $(top_srcdir)/m4/acinclude.m4 \
am__aclocal_m4_deps = $(top_srcdir)/../../libtool.m4 \
$(top_srcdir)/m4/acattribute.m4 $(top_srcdir)/m4/accross.m4 \
$(top_srcdir)/m4/acinclude.m4 \
$(top_srcdir)/m4/ax_create_stdint_h.m4 \
$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
......@@ -96,6 +94,7 @@ CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CLASSPATH_CONVENIENCE = @CLASSPATH_CONVENIENCE@
CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@
CLASSPATH_MODULE = @CLASSPATH_MODULE@
COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@
......@@ -135,6 +134,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
......@@ -155,6 +156,7 @@ FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
GCJX = @GCJX@
GJDOC = @GJDOC@
GREP = @GREP@
GTK_CAIRO_ENABLED = @GTK_CAIRO_ENABLED@
GTK_CAIRO_FALSE = @GTK_CAIRO_FALSE@
GTK_CAIRO_TRUE = @GTK_CAIRO_TRUE@
......@@ -202,6 +204,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@
PANGOFT2_LIBS = @PANGOFT2_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PATH_TO_GLIBJ_ZIP = @PATH_TO_GLIBJ_ZIP@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
QT_CFLAGS = @QT_CFLAGS@
......@@ -220,8 +223,11 @@ USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@
USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@
USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@
USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@
USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@
USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@
VERSION = @VERSION@
WARNING_CFLAGS = @WARNING_CFLAGS@
XMKMF = @XMKMF@
XML_CFLAGS = @XML_CFLAGS@
XML_LIBS = @XML_LIBS@
XSLT_CFLAGS = @XSLT_CFLAGS@
......@@ -233,8 +239,6 @@ X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
......@@ -251,7 +255,10 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
default_toolkit = @default_toolkit@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
glibjdir = @glibjdir@
host = @host@
......@@ -259,18 +266,22 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nativelibdir = @nativelibdir@
nativeexeclibdir = @nativeexeclibdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
......@@ -462,7 +473,7 @@ distclean-tags:
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
$(mkdir_p) $(distdir)/../.. $(distdir)/../../config $(distdir)/examples $(distdir)/gnu/classpath $(distdir)/lib $(distdir)/m4 $(distdir)/scripts
$(mkdir_p) $(distdir)/../.. $(distdir)/examples $(distdir)/gnu/classpath $(distdir)/lib $(distdir)/m4 $(distdir)/scripts $(distdir)/tools
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
......
New in release 0.91 (May 15, 2006)
* Experimental activation (java.rmi.activation) support, including RMI
activation daemon and persistent naming service tools.
* Experimental printing support: The API implementation of the javax.print
packages has been finished and work on the printing provider implementation
started. Currently supported features from the Java Print Service API are
print service discovery (CUPS registered printers), single document print
jobs and support for client-formatted print data. An example application
(see: examples/gnu/classpath/examples/print/Demo) has been added to show
the API usage for service discovery and printing of files.
* The GTKToolkit now gives access to the both the system clipboard and
system selection.
* Custom mouse cursor support has been added to the gtk+ peers. And cursors
can now also be set on light-weight components.
* Free Swing improvements: Support for OceanTheme has been mostly completed
and turned on as default Metal theme. X11-style Copy and Paste behavior in
text components with the middle mouse button. Support cursor changes on
various components when resizing. Support for Look and Feel window
decorations has been added.
* Updated locale data information to CLDR 1.3.
* Various bugs in Classpath's SecureRandom implementations have been
fixed; that class now respects the "securerandom.source" security
property and the "java.security.egd" system property.
* Support for assistive technologies has been added to AWT and Swing.
Runtime interface changes:
* A new class, VMArray, is now available which separates the native
array creation method from java.lang.reflect.Array.
* A new class, gnu.classpath.Unsafe, is provided for handling the
new low-level operations required by java.util.concurrent.
* The reference implementations of Method, Constructor, and Field
now have a new native getModifiersInternal() method. The public
getModifiers() method in each case has been rewritten in terms of
this method.
* The reference implementation of VMThread has been updated to handle
the new Thread.UncaughtExceptionHandler support.
* A new class, java.security.VMSecureRandom, is now available that is
used to generate random numbers for seeding cryptographically-secure
pseudo-random number generators.
* VMClass and the reference implementations of Method, Constructor and Field
now include a number of 1.5 methods imported from the generics branch.
These are all optional (in the sense that the methods associated with them
merely fail on use if the VM doesn't provide them, rather than the
VM failing altogether), but VMs should aim to support them where possible.
* The implementation of java.lang.instrument has been merged to the main
branch from the generics branch.
* The VM interfaces of the main branch and the generics branch are now
consistent with one another. As a result, the main branch includes an
additional environ() function in VMSystem and an additional argument has
been added to nativeSpawn() in VMProcess.
* Annotation support is now available in the main branch, if the VM supports
it. The VM should implement VMClass.getDeclaredAnnotations,
Constructor.getAnnotation, Constructor.getDeclaredAnnotations,
Field.getAnnotation, Field.getDeclaredAnnotations, Method.getAnnotation and
Method.getDeclaredAnnotations.
* java.lang.Package now has a new constructor that takes the defining
ClassLoader as an extra argument. If you use a custom version of
VMClassLoader, please switch it to use this constructor.
* The reference implementation of VMClassLoader.getBootPackages() now
reads the META-INF/INDEX.LIST resource using the java.boot.class.path
system property.
New in release 0.90 (March 6, 2006)
* Free Swing improvements: JTable columns are rearrangeable and
......
GNU Classpath README - Last updated: August 31, 2005
GNU Classpath README - Last updated: May 15, 2006
GNU Classpath, Essential Libraries for Java is a project to create a
free software implementation of the core class libraries for the java
......@@ -29,6 +29,7 @@ Smaller environments (runtime only, no compilers, no tools) which work
with this GNU Classpath releases include
(tested by and recommended for GNU Classpath hackers):
* CACAO (http://www.cacaojvm.org/)
* JamVM (http://jamvm.sourceforge.net/)
* Jikes RVM (http://www.ibm.com/developerworks/oss/jikesrvm/)
* Kissme (http://kissme.sourceforge.net/)
......
......@@ -547,6 +547,39 @@ AC_DEFUN([AM_PROG_INSTALL_SH],
install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
# -*- Autoconf -*-
# Copyright (C) 2003 Free Software Foundation, Inc.
# This program 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.
# This program 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 this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
# serial 1
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
[rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
am__leading_dot=.
else
am__leading_dot=_
fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
# Add --enable-maintainer-mode option to configure.
# From Jim Meyering
......@@ -1053,9 +1086,6 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([../../config/depstand.m4])
m4_include([../../config/lead-dot.m4])
m4_include([../../config/no-executables.m4])
m4_include([../../libtool.m4])
m4_include([m4/acattribute.m4])
m4_include([m4/accross.m4])
......
## Input file for automake to generate the Makefile.in used by configure
SUBDIRS = java.net
// Class to identify socket option constants.
import java.io.*;
import java.net.*;
public class GetSocketOptionInfo extends Socket implements SocketImplFactory
{
public SocketImpl
createSocketImpl()
{
return(new PlainSocketImpl());
}
public static void
main(String[] argv) throws IOException
{
Socket.setSocketImplFactory(new GetSocketOptionInfo());
Socket s = new Socket();
System.err.println("Setting TCP_NODELAY on");
s.setTcpNoDelay(true);
System.err.println("Setting TCP_NODELAY off");
s.setTcpNoDelay(false);
System.err.println("Setting SO_LINGER on");
s.setSoLinger(true, 10);
System.err.println("Setting SO_LINGER off");
s.setSoLinger(false, 1);
System.err.println("Setting SO_TIMEOUT to 15");
s.setSoTimeout(15);
System.err.println("Setting SO_TIMEOUT to 0");
s.setSoTimeout(0);
}
}
## Input file for automake to generate the Makefile.in used by configure
# Hmm.. This doesn't seem to work
#noinst_JAVA = GetSocketOptionInfo.java PlainSocketImpl.java
JAVAROOT = .
compatdir = $(datadir)/compat/java.net
compat_JAVA = GetSocketOptionInfo.java PlainSocketImpl.java
EXTRA_DIST = README
/* PlainSocketImpl.java -- Default socket implementation
Copyright (c) 1998 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. */
import java.net.*;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.IOException;
/**
* Unless the application installs its own SocketImplFactory, this is the
* default socket implemetation that will be used. It simply uses a
* combination of Java and native routines to implement standard BSD
* style sockets of family AF_INET and types SOCK_STREAM and SOCK_DGRAM
*
* @version 0.1
*
* @author Aaron M. Renn (arenn@urbanophile.com)
*/
class PlainSocketImpl extends SocketImpl
{
/*************************************************************************/
/*
* Static Variables
*/
/*
// Static initializer to load native library
static
{
System.loadLibrary("javanet");
}
*/
/*************************************************************************/
/*
* Instance Variables
*/
/**
* This is the native file descriptor for this socket
*/
protected int native_fd = -1;
/*************************************************************************/
/**
* Default do nothing constructor
*/
public
PlainSocketImpl()
{
;
}
/*************************************************************************/
/**
* Accepts a new connection on this socket and returns in in the
* passed in SocketImpl.
*
* @param impl The SocketImpl object to accept this connection.
*/
protected native void
accept(SocketImpl impl) throws IOException;
/*************************************************************************/
/**
* Returns the number of bytes that the caller can read from this socket
* without blocking. //*****Figure out if we can do something here
*
* @return The number of readable bytes before blocking
*
* @exception IOException If an error occurs
*/
protected int
available() throws IOException
{
return(0);
}
/*************************************************************************/
/**
* Binds to the specified port on the specified addr. Note that this addr
* must represent a local IP address. **** How bind to INADDR_ANY? ****
*
* @param addr The address to bind to
* @param port The port number to bind to
*
* @exception IOException If an error occurs
*/
protected native void
bind(InetAddress addr, int port) throws IOException;
/*************************************************************************/
/**
* Closes the socket. This will cause any InputStream or OutputStream
* objects for this Socket to be closed as well.
* <p>
* Note that if the SO_LINGER option is set on this socket, then the
* operation could block.
*
* @exception IOException If an error occurs
*/
protected native void
close() throws IOException;
/*************************************************************************/
/**
* Connects to the remote address and port specified as arguments.
*
* @param addr The remote address to connect to
* @param port The remote port to connect to
*
* @exception IOException If an error occurs
*/
protected void
connect(InetAddress addr, int port) throws IOException
{
return;
}
/*************************************************************************/
/**
* Connects to the remote hostname and port specified as arguments.
*
* @param hostname The remote hostname to connect to
* @param port The remote port to connect to
*
* @exception IOException If an error occurs
*/
protected void
connect(String hostname, int port) throws IOException
{
InetAddress addr = InetAddress.getByName(hostname);
connect(addr, port);
}
/*************************************************************************/
/**
* Creates a new socket that is not bound to any local address/port and
* is not connected to any remote address/port. This will be created as
* a stream socket if the stream parameter is true, or a datagram socket
* if the stream parameter is false.
*
* @param stream true for a stream socket, false for a datagram socket
*/
protected native void
create(boolean stream) throws IOException;
/*************************************************************************/
/**
* Starts listening for connections on a socket. The queuelen parameter
* is how many pending connections will queue up waiting to be serviced
* before being accept'ed. If the queue of pending requests exceeds this
* number, additional connections will be refused.
*
* @param queuelen The length of the pending connection queue
*
* @exception IOException If an error occurs
*/
protected native void
listen(int queuelen) throws IOException;
/*************************************************************************/
/**
* Sets the specified option on a socket to the passed in object. For
* options that take an integer argument, the passed in object is an
* Integer. The option_id parameter is one of the defined constants in
* this interface.
*
* @param option_id The identifier of the option
* @param val The value to set the option to
*
* @exception SocketException If an error occurs
*/
public void
setOption(int option_id, Object val) throws SocketException
{
//*** Do non-native for now
System.err.println("Option Id=" + option_id);
System.err.println("Object is: " + val.getClass().getName());
System.err.println("Object value is: " + val);
}
/*************************************************************************/
/**
* Returns the current setting of the specified option. The Object returned
* will be an Integer for options that have integer values. The option_id
* is one of the defined constants in this interface.
*
* @param option_id The option identifier
*
* @return The current value of the option
*
* @exception SocketException If an error occurs
*/
public Object
getOption(int option_id) throws SocketException
{
//**** Do non-native for now
System.err.println("Option Id=" + option_id);
return(null);
}
/*************************************************************************/
/**
* Returns an InputStream object for reading from this socket. This will
* be an instance of SocketInputStream.
*
* @return An InputStream
*
* @exception IOException If an error occurs
*/
protected InputStream
getInputStream() throws IOException
{
return(null);
}
/*************************************************************************/
/**
* Returns an OutputStream object for writing to this socket. This will
* be an instance of SocketOutputStream.
*
* @return An OutputStream
*
* @exception IOException If an error occurs
*/
protected OutputStream
getOutputStream() throws IOException
{
return(null);
}
} // class PlainSocketImpl
This directory contains various "experiment" programs used to determine
the behavior of the java.net class where such behavior is not sufficiently
documented by Sun in order to write an implementation from docs alone.
Some key findings:
The setOption/getOption methods are discussed in the "Networking Enhancements"
document for Java 1.1 but are not in the javadocs. However, the SocketImpl
class is shown implementing a SocketOptions interface that is not documented.
We assume this is a non-public interface which contains abstract declarations
of the get/setOption methods as well as contants for the option_id's.
TCP_NODELAY:
The option id of this option is 1. The Object passed to setOption is
a Boolean indicating whether this option should be on (true) or off (false).
SO_LINGER:
The option id of this option is 128. When SO_LINGER is to be disabled,
the Object passed to setOption is Boolean with a value of false. When
SO_LINGER is to be enabled, the Object passed to setOption is an Integer
set to the linger value.
SO_TIMEOUT:
The option id of this option is 4102. The Object passed to setOption is
an Integer that is the new timeout value (0 to disable).
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -6,7 +6,7 @@ dnl -----------------------------------------------------------
dnl define([AC_CACHE_LOAD], )dnl
dnl define([AC_CACHE_SAVE], )dnl
AC_INIT([GNU Classpath],[0.90],[classpath@gnu.org],[classpath])
AC_INIT([GNU Classpath],[0.91],[classpath@gnu.org],[classpath])
AC_CONFIG_SRCDIR(java/lang/System.java)
AC_CANONICAL_TARGET
......@@ -33,6 +33,9 @@ esac
CLASSPATH_MODULE="${cp_module} -version-info ${LIBVERSION} -no-undefined"
AC_SUBST(CLASSPATH_MODULE)
CLASSPATH_CONVENIENCE="-no-undefined"
AC_SUBST(CLASSPATH_CONVENIENCE)
AC_PREREQ(2.59)
AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar])
AC_CONFIG_HEADERS([include/config.h])
......@@ -202,13 +205,13 @@ dnl -----------------------------------------------------------
AC_ARG_WITH([native-libdir],
[AS_HELP_STRING(--with-native-libdir,sets the installation directore for native libraries [default='${libdir}/${PACKAGE}'])],
[
nativelibdir=${withval}
nativeexeclibdir=${withval}
],
[
nativelibdir='${libdir}/${PACKAGE}'
nativeexeclibdir='${libdir}/${PACKAGE}'
])
AC_SUBST(nativelibdir)
AC_SUBST(nativeexeclibdir)
dnl -----------------------------------------------------------
dnl Sets the Java library installation dir.
......@@ -297,7 +300,7 @@ if test "x${COMPILE_JNI}" = xyes; then
strerror_r \
fcntl \
mmap munmap mincore msync madvise getpagesize sysconf \
isnan])
])
AC_HEADER_TIME
AC_STRUCT_TM
......@@ -588,6 +591,57 @@ AC_ARG_ENABLE([portable-native-sync],
AX_CREATE_STDINT_H([include/config-int.h])
dnl -----------------------------------------------------------------------
dnl Support for using a prebuilt class library
dnl -----------------------------------------------------------------------
AC_ARG_WITH([glibj_zip],
AS_HELP_STRING([--with-glibj-zip=ABS.PATH],
[use prebuilt glibj.zip class library]))
case "$with_glibj_zip" in
"")
use_glibj_zip=false
;;
"no" )
use_glibj_zip=false
;;
"yes")
AC_MSG_ERROR([Please suply an absolute path to a prebuilt glibj.zip])
;;
*)
use_glibj_zip=true
PATH_TO_GLIBJ_ZIP=$with_glibj_zip
;;
esac;
AM_CONDITIONAL(USE_PREBUILT_GLIBJ_ZIP, test x$use_glibj_zip = xtrue)
AC_SUBST(PATH_TO_GLIBJ_ZIP)
dnl -----------------------------------------------------------
dnl Check if local socket support should be included.
dnl -----------------------------------------------------------
AC_ARG_ENABLE([local-sockets],
[AS_HELP_STRING(--enable-local-sockets,enables local (AF_LOCAL) socket API [default: no])],
[case "${enableval}" in
yes)
ENABLE_LOCAL_SOCKETS=yes
;;
*)
ENABLE_LOCAL_SOCKETS=no
;;
esac],
[])
if test "x$ENABLE_LOCAL_SOCKETS" = "xyes"
then
AC_CHECK_HEADER([sys/un.h])
AC_CHECK_FUNCS([read write bind listen accept shutdown], [],
AC_MSG_ERROR([networking support not available]))
AC_DEFINE(ENABLE_LOCAL_SOCKETS, [1], [Define to enable support for local sockets.])
fi
AM_CONDITIONAL(ENABLE_LOCAL_SOCKETS, test "x$ENABLE_LOCAL_SOCKETS" = "xyes")
dnl -----------------------------------------------------------
dnl output files
dnl -----------------------------------------------------------
......@@ -625,6 +679,8 @@ lib/Makefile
lib/gen-classlist.sh
lib/copy-vmresources.sh
tools/Makefile
tools/jarsigner.sh
tools/keytool.sh
examples/Makefile
examples/Makefile.jawt])
AC_CONFIG_COMMANDS([gen-classlist],[chmod 755 lib/gen-classlist.sh])
......
......@@ -11,4 +11,4 @@ EXTRA_DIST = README.jaxp
%.ps : %.dvi
dvips -o $@ $<
docs: hacking.ps vmintegration.ps
docs: hacking.ps vmintegration.ps tools.ps
......@@ -78,6 +78,7 @@ CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CLASSPATH_CONVENIENCE = @CLASSPATH_CONVENIENCE@
CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@
CLASSPATH_MODULE = @CLASSPATH_MODULE@
COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@
......@@ -117,6 +118,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
......@@ -137,6 +140,7 @@ FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
GCJX = @GCJX@
GJDOC = @GJDOC@
GREP = @GREP@
GTK_CAIRO_ENABLED = @GTK_CAIRO_ENABLED@
GTK_CAIRO_FALSE = @GTK_CAIRO_FALSE@
GTK_CAIRO_TRUE = @GTK_CAIRO_TRUE@
......@@ -184,6 +188,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@
PANGOFT2_LIBS = @PANGOFT2_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PATH_TO_GLIBJ_ZIP = @PATH_TO_GLIBJ_ZIP@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
QT_CFLAGS = @QT_CFLAGS@
......@@ -202,8 +207,11 @@ USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@
USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@
USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@
USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@
USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@
USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@
VERSION = @VERSION@
WARNING_CFLAGS = @WARNING_CFLAGS@
XMKMF = @XMKMF@
XML_CFLAGS = @XML_CFLAGS@
XML_LIBS = @XML_LIBS@
XSLT_CFLAGS = @XSLT_CFLAGS@
......@@ -215,8 +223,6 @@ X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
......@@ -233,7 +239,10 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
default_toolkit = @default_toolkit@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
glibjdir = @glibjdir@
host = @host@
......@@ -241,18 +250,22 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nativelibdir = @nativelibdir@
nativeexeclibdir = @nativeexeclibdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
......@@ -567,7 +580,7 @@ uninstall-info: uninstall-info-recursive
%.ps : %.dvi
dvips -o $@ $<
docs: hacking.ps vmintegration.ps
docs: hacking.ps vmintegration.ps tools.ps
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
......@@ -71,6 +71,7 @@ CAIRO_LIBS = @CAIRO_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CLASSPATH_CONVENIENCE = @CLASSPATH_CONVENIENCE@
CLASSPATH_INCLUDES = @CLASSPATH_INCLUDES@
CLASSPATH_MODULE = @CLASSPATH_MODULE@
COLLECTIONS_PREFIX = @COLLECTIONS_PREFIX@
......@@ -110,6 +111,8 @@ ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
ECJ = @ECJ@
EGREP = @EGREP@
ENABLE_LOCAL_SOCKETS_FALSE = @ENABLE_LOCAL_SOCKETS_FALSE@
ENABLE_LOCAL_SOCKETS_TRUE = @ENABLE_LOCAL_SOCKETS_TRUE@
ERROR_CFLAGS = @ERROR_CFLAGS@
EXAMPLESDIR = @EXAMPLESDIR@
EXEEXT = @EXEEXT@
......@@ -130,6 +133,7 @@ FREETYPE2_LIBS = @FREETYPE2_LIBS@
GCJ = @GCJ@
GCJX = @GCJX@
GJDOC = @GJDOC@
GREP = @GREP@
GTK_CAIRO_ENABLED = @GTK_CAIRO_ENABLED@
GTK_CAIRO_FALSE = @GTK_CAIRO_FALSE@
GTK_CAIRO_TRUE = @GTK_CAIRO_TRUE@
......@@ -177,6 +181,7 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PANGOFT2_CFLAGS = @PANGOFT2_CFLAGS@
PANGOFT2_LIBS = @PANGOFT2_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PATH_TO_GLIBJ_ZIP = @PATH_TO_GLIBJ_ZIP@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
QT_CFLAGS = @QT_CFLAGS@
......@@ -195,8 +200,11 @@ USER_SPECIFIED_CLASSLIB_FALSE = @USER_SPECIFIED_CLASSLIB_FALSE@
USER_SPECIFIED_CLASSLIB_TRUE = @USER_SPECIFIED_CLASSLIB_TRUE@
USER_SPECIFIED_JAVAH_FALSE = @USER_SPECIFIED_JAVAH_FALSE@
USER_SPECIFIED_JAVAH_TRUE = @USER_SPECIFIED_JAVAH_TRUE@
USE_PREBUILT_GLIBJ_ZIP_FALSE = @USE_PREBUILT_GLIBJ_ZIP_FALSE@
USE_PREBUILT_GLIBJ_ZIP_TRUE = @USE_PREBUILT_GLIBJ_ZIP_TRUE@
VERSION = @VERSION@
WARNING_CFLAGS = @WARNING_CFLAGS@
XMKMF = @XMKMF@
XML_CFLAGS = @XML_CFLAGS@
XML_LIBS = @XML_LIBS@
XSLT_CFLAGS = @XSLT_CFLAGS@
......@@ -208,8 +216,6 @@ X_PRE_LIBS = @X_PRE_LIBS@
ZIP = @ZIP@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
......@@ -226,7 +232,10 @@ build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
default_toolkit = @default_toolkit@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
glibjdir = @glibjdir@
host = @host@
......@@ -234,18 +243,22 @@ host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nativelibdir = @nativelibdir@
nativeexeclibdir = @nativeexeclibdir@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
......
......@@ -653,7 +653,11 @@ have @code{serialVersionUID} declared.
@item
Don't declare unchecked exceptions in the @code{throws} clause of a
method. However, if throwing an unchecked exception is part of the
method's API, you should mention it in the Javadoc.
method's API, you should mention it in the Javadoc. There is one
important exception to this rule, which is that a stub method should
be marked as throwing @code{gnu.classpath.NotImplementedException}.
This will let our API comparison tools note that the method is not
fully implemented.
@item
When overriding @code{Object.equals}, remember that @code{instanceof}
......
GNU Classpath Native State API - Version 0.99.1
Written by Paul Fisher (rao@gnu.org)
For all function calls, if an error occurs, such that `NULL' or a
negative value is returned, it's very possible that an exception has
been thrown from within the function. The exception is not cleared,
and you are responsible for dealing with the thrown exception.
High level API:
For using the highlevel API, in all cases, OBJ must contain a `final
int' field called "native_state", which has been previously set to the
value of java.lang.System.identityHashCode(OBJ).
Function: struct state_table * init_state_table (JNIEnv *ENV,
jclass CLAZZ)
Creates a state table of default size. Returns `NULL' on error.
Function: struct state_table * init_state_table_with_size (JNIEnv *ENV,
jclass CLAZZ,
jint SIZE)
Creates a state table, with a tablesize of SIZE. SIZE should
always be prime. Returns `NULL' on error.
Function: jint set_state (JNIEnv *ENV, jobject OBJ,
struct state_table *TABLE, void *STATE)
Associates STATE with OBJ, in TABLE. Returns 0 on success, and a
negative value on failure. STATE must not be `NULL'. set_state is
reentrant, and calls to set_state/get_state/remove_state_slot may be
made at the same time.
Function: void * get_state (JNIEnv *ENV, jobject OBJ,
struct state_table *TABLE)
Retrieves the state associated with OBJ, in TABLE. Returns `NULL'
if no value is associated with OBJ, or if a failure occurs.
get_state is reentrant, and calls to
get_state/set_state/remove_state_slot may be made at the same time.
Function: void * remove_state_slot (JNIEnv *ENV, jobject OBJ,
struct state_table *TABLE)
Removes the internal slot associated with OBJ, in TABLE. Returns a
pointer to the C state if a state was associated with OBJ,
otherwise, `NULL' is returned. After `remove_state' is called,
`get_state' passing OBJ, will result in `NULL' being returned. This
function is generally called in the `finalize' method of a class.
remove_state_slot is reentrant, and calls to
get_state/set_state/remove_state_slot may be made at the same time.
Low level API:
Function: void set_state_oid (JNIEnv *ENV, jobject LOCK,
struct state_table *TABLE,
jint OBJECT_ID, void *STATE)
Associates STATE with OBJECT_ID, in TABLE. STATE must not be
`NULL'. On entering, a lock is obtained on LOCK. On exiting, the
lock is released.
Function: void * get_state_oid (JNIEnv *ENV, jobject LOCK,
struct state_table *TABLE,
jint OBJECT_ID)
Retrieves the state associated with OBJECT_ID, in TABLE. Returns
`NULL' if no value is associated with OBJECT_ID. On entering, a
lock is obtained on LOCK. On exiting, the lock is released.
Function: void * remove_state_oid (JNIEnv *ENV, jobject LOCK,
struct state_table *TABLE,
jint OBJECT_ID)
Removes the value associated with OBJECT_ID, in TABLE. Returns a
pointer to the C state if a state was associated with OBJECT_ID,
otherwise, `NULL' is returned. After `remove_state_oid' is called,
`get_state_oid' passing OBJECT_ID, will result in `NULL' being
returned. On entering, a lock is obtained on LOCK. On exiting, the
lock is released.
Guile Testing Framework for GNU Classpath
Written by Paul Fisher (rao@gnu.org)
GNU Classpath tests are written in Java. Guile is responsible for
executing the tests and organizing the results. Guile and Java
communicate through JNI. If JNI is unavailable, see the section on
modifying the framework to allow for an alternate means of
communication. [This has not been written. -PF]
All tests must implement gnu.test.Test. gnu.test.Test contains two
methods:
1. String getName()
2. Result test()
When getName() is called, your test should return the name of the
test. When test() is called, your test should be performed. Upon
completion of the test (either through success or failure), a Result
object is returned. test() may throw runtime exceptions and errors --
if this happens, an implicit error result is returned.
There are seven predefined result types, including the POSIX 1003.3
result codes. All result objects may optionally be constructed with a
single String argument specifying additional information about the
result.
gnu.test.Pass : Test passed and was excepted to pass.
gnu.test.XPass : Test passed but was expected to fail.
gnu.test.Fail : Test failed but was expected to pass.
gnu.test.XFail : Test failed and was expected to fail.
gnu.test.Unresolved : Test produced indeterminate results.
gnu.test.Untested : Test was not run -- a placeholder.
gnu.test.Unsupported : Test does not have the required support to run.
(Error is also a valid result type, but only in Guile/JNI code.)
System.out and System.err are used for directing additional
information about the running test. System.out should be used to send
status messages when tests are expected to take large amounts of time.
System.err should be used to send messages which are logged to the
verbose log.
Example test:
import gnu.test.*;
public class StringCharAtZeroTest implements Test
{
public getName() {
return "java.lang.String.charAt(0)";
}
public Result test() {
char ch = "foobar".charAt(0);
if (ch == 'f')
return new Pass();
else
return new Fail("zero index of \"foobar\" is '" + ch + "'");
}
}
It's often desirable to group multiple tests together into one file.
In this case, inner classes should be used. There's also the added
benefit that tests can easily share data through static variables in
the parent class.
For example:
import gnu.test.*;
public class TestContainer {
public static class test1 implements Test {
String getName() {
return "test1";
}
Result test() {
// test1 ...
}
}
public static class test2 implements Test {
String getName() {
return "test2";
}
Result test() {
// test2 ...
}
}
}
The testsuite contains a file known as "tests.to.run" which contains a
newline delimited listing of all tests to be executed. Just add the
name of the new test to the file and it'll be included in future runs
of the testsuite.
Running the testsuite:
guile-jvm -s test.scm tests.to.run
(It would be more natural for the testsuite to read from standard in
if a file was not specified, but read-line in Guile 1.3a is broken.)
Classes are located via the environmental variable CLASSPATH.
Results are sent to two log files -- one summary (classpath.sum) and
one verbose (classpath.log).
# Start Code; End Code; Block Name
0000; 007F; Basic Latin
0080; 00FF; Latin-1 Supplement
0100; 017F; Latin Extended-A
0180; 024F; Latin Extended-B
0250; 02AF; IPA Extensions
02B0; 02FF; Spacing Modifier Letters
0300; 036F; Combining Diacritical Marks
0370; 03FF; Greek
0400; 04FF; Cyrillic
0530; 058F; Armenian
0590; 05FF; Hebrew
0600; 06FF; Arabic
0700; 074F; Syriac
0780; 07BF; Thaana
0900; 097F; Devanagari
0980; 09FF; Bengali
0A00; 0A7F; Gurmukhi
0A80; 0AFF; Gujarati
0B00; 0B7F; Oriya
0B80; 0BFF; Tamil
0C00; 0C7F; Telugu
0C80; 0CFF; Kannada
0D00; 0D7F; Malayalam
0D80; 0DFF; Sinhala
0E00; 0E7F; Thai
0E80; 0EFF; Lao
0F00; 0FFF; Tibetan
1000; 109F; Myanmar
10A0; 10FF; Georgian
1100; 11FF; Hangul Jamo
1200; 137F; Ethiopic
13A0; 13FF; Cherokee
1400; 167F; Unified Canadian Aboriginal Syllabics
1680; 169F; Ogham
16A0; 16FF; Runic
1780; 17FF; Khmer
1800; 18AF; Mongolian
1E00; 1EFF; Latin Extended Additional
1F00; 1FFF; Greek Extended
2000; 206F; General Punctuation
2070; 209F; Superscripts and Subscripts
20A0; 20CF; Currency Symbols
20D0; 20FF; Combining Marks for Symbols
2100; 214F; Letterlike Symbols
2150; 218F; Number Forms
2190; 21FF; Arrows
2200; 22FF; Mathematical Operators
2300; 23FF; Miscellaneous Technical
2400; 243F; Control Pictures
2440; 245F; Optical Character Recognition
2460; 24FF; Enclosed Alphanumerics
2500; 257F; Box Drawing
2580; 259F; Block Elements
25A0; 25FF; Geometric Shapes
2600; 26FF; Miscellaneous Symbols
2700; 27BF; Dingbats
2800; 28FF; Braille Patterns
2E80; 2EFF; CJK Radicals Supplement
2F00; 2FDF; Kangxi Radicals
2FF0; 2FFF; Ideographic Description Characters
3000; 303F; CJK Symbols and Punctuation
3040; 309F; Hiragana
30A0; 30FF; Katakana
3100; 312F; Bopomofo
3130; 318F; Hangul Compatibility Jamo
3190; 319F; Kanbun
31A0; 31BF; Bopomofo Extended
3200; 32FF; Enclosed CJK Letters and Months
3300; 33FF; CJK Compatibility
3400; 4DB5; CJK Unified Ideographs Extension A
4E00; 9FFF; CJK Unified Ideographs
A000; A48F; Yi Syllables
A490; A4CF; Yi Radicals
AC00; D7A3; Hangul Syllables
D800; DB7F; High Surrogates
DB80; DBFF; High Private Use Surrogates
DC00; DFFF; Low Surrogates
E000; F8FF; Private Use
F900; FAFF; CJK Compatibility Ideographs
FB00; FB4F; Alphabetic Presentation Forms
FB50; FDFF; Arabic Presentation Forms-A
FE20; FE2F; Combining Half Marks
FE30; FE4F; CJK Compatibility Forms
FE50; FE6F; Small Form Variants
FE70; FEFE; Arabic Presentation Forms-B
FEFF; FEFF; Specials
FF00; FFEF; Halfwidth and Fullwidth Forms
FFF0; FFFD; Specials
# Start Code; End Code; Block Name
0000; 007F; Basic Latin
0080; 00FF; Latin-1 Supplement
0100; 017F; Latin Extended-A
0180; 024F; Latin Extended-B
0250; 02AF; IPA Extensions
02B0; 02FF; Spacing Modifier Letters
0300; 036F; Combining Diacritical Marks
0370; 03FF; Greek
0400; 04FF; Cyrillic
0530; 058F; Armenian
0590; 05FF; Hebrew
0600; 06FF; Arabic
0700; 074F; Syriac
0780; 07BF; Thaana
0900; 097F; Devanagari
0980; 09FF; Bengali
0A00; 0A7F; Gurmukhi
0A80; 0AFF; Gujarati
0B00; 0B7F; Oriya
0B80; 0BFF; Tamil
0C00; 0C7F; Telugu
0C80; 0CFF; Kannada
0D00; 0D7F; Malayalam
0D80; 0DFF; Sinhala
0E00; 0E7F; Thai
0E80; 0EFF; Lao
0F00; 0FFF; Tibetan
1000; 109F; Myanmar
10A0; 10FF; Georgian
1100; 11FF; Hangul Jamo
1200; 137F; Ethiopic
13A0; 13FF; Cherokee
1400; 167F; Unified Canadian Aboriginal Syllabics
1680; 169F; Ogham
16A0; 16FF; Runic
1780; 17FF; Khmer
1800; 18AF; Mongolian
1E00; 1EFF; Latin Extended Additional
1F00; 1FFF; Greek Extended
2000; 206F; General Punctuation
2070; 209F; Superscripts and Subscripts
20A0; 20CF; Currency Symbols
20D0; 20FF; Combining Marks for Symbols
2100; 214F; Letterlike Symbols
2150; 218F; Number Forms
2190; 21FF; Arrows
2200; 22FF; Mathematical Operators
2300; 23FF; Miscellaneous Technical
2400; 243F; Control Pictures
2440; 245F; Optical Character Recognition
2460; 24FF; Enclosed Alphanumerics
2500; 257F; Box Drawing
2580; 259F; Block Elements
25A0; 25FF; Geometric Shapes
2600; 26FF; Miscellaneous Symbols
2700; 27BF; Dingbats
2800; 28FF; Braille Patterns
2E80; 2EFF; CJK Radicals Supplement
2F00; 2FDF; Kangxi Radicals
2FF0; 2FFF; Ideographic Description Characters
3000; 303F; CJK Symbols and Punctuation
3040; 309F; Hiragana
30A0; 30FF; Katakana
3100; 312F; Bopomofo
3130; 318F; Hangul Compatibility Jamo
3190; 319F; Kanbun
31A0; 31BF; Bopomofo Extended
3200; 32FF; Enclosed CJK Letters and Months
3300; 33FF; CJK Compatibility
3400; 4DB5; CJK Unified Ideographs Extension A
4E00; 9FFF; CJK Unified Ideographs
A000; A48F; Yi Syllables
A490; A4CF; Yi Radicals
AC00; D7A3; Hangul Syllables
D800; DB7F; High Surrogates
DB80; DBFF; High Private Use Surrogates
DC00; DFFF; Low Surrogates
E000; F8FF; Private Use
F900; FAFF; CJK Compatibility Ideographs
FB00; FB4F; Alphabetic Presentation Forms
FB50; FDFF; Arabic Presentation Forms-A
FE20; FE2F; Combining Half Marks
FE30; FE4F; CJK Compatibility Forms
FE50; FE6F; Small Form Variants
FE70; FEFE; Arabic Presentation Forms-B
FEFF; FEFF; Specials
FF00; FFEF; Halfwidth and Fullwidth Forms
FFF0; FFFD; Specials
# Blocks-4.0.0.txt
# Correlated with Unicode 4.0
# Note: The casing of block names is not normative.
# For example, "Basic Latin" and "BASIC LATIN" are equivalent.
#
# Code points not explicitly listed in this file are given the value No_Block.
#
# Start Code..End Code; Block Name
0000..007F; Basic Latin
0080..00FF; Latin-1 Supplement
0100..017F; Latin Extended-A
0180..024F; Latin Extended-B
0250..02AF; IPA Extensions
02B0..02FF; Spacing Modifier Letters
0300..036F; Combining Diacritical Marks
0370..03FF; Greek and Coptic
0400..04FF; Cyrillic
0500..052F; Cyrillic Supplementary
0530..058F; Armenian
0590..05FF; Hebrew
0600..06FF; Arabic
0700..074F; Syriac
0780..07BF; Thaana
0900..097F; Devanagari
0980..09FF; Bengali
0A00..0A7F; Gurmukhi
0A80..0AFF; Gujarati
0B00..0B7F; Oriya
0B80..0BFF; Tamil
0C00..0C7F; Telugu
0C80..0CFF; Kannada
0D00..0D7F; Malayalam
0D80..0DFF; Sinhala
0E00..0E7F; Thai
0E80..0EFF; Lao
0F00..0FFF; Tibetan
1000..109F; Myanmar
10A0..10FF; Georgian
1100..11FF; Hangul Jamo
1200..137F; Ethiopic
13A0..13FF; Cherokee
1400..167F; Unified Canadian Aboriginal Syllabics
1680..169F; Ogham
16A0..16FF; Runic
1700..171F; Tagalog
1720..173F; Hanunoo
1740..175F; Buhid
1760..177F; Tagbanwa
1780..17FF; Khmer
1800..18AF; Mongolian
1900..194F; Limbu
1950..197F; Tai Le
19E0..19FF; Khmer Symbols
1D00..1D7F; Phonetic Extensions
1E00..1EFF; Latin Extended Additional
1F00..1FFF; Greek Extended
2000..206F; General Punctuation
2070..209F; Superscripts and Subscripts
20A0..20CF; Currency Symbols
20D0..20FF; Combining Diacritical Marks for Symbols
2100..214F; Letterlike Symbols
2150..218F; Number Forms
2190..21FF; Arrows
2200..22FF; Mathematical Operators
2300..23FF; Miscellaneous Technical
2400..243F; Control Pictures
2440..245F; Optical Character Recognition
2460..24FF; Enclosed Alphanumerics
2500..257F; Box Drawing
2580..259F; Block Elements
25A0..25FF; Geometric Shapes
2600..26FF; Miscellaneous Symbols
2700..27BF; Dingbats
27C0..27EF; Miscellaneous Mathematical Symbols-A
27F0..27FF; Supplemental Arrows-A
2800..28FF; Braille Patterns
2900..297F; Supplemental Arrows-B
2980..29FF; Miscellaneous Mathematical Symbols-B
2A00..2AFF; Supplemental Mathematical Operators
2B00..2BFF; Miscellaneous Symbols and Arrows
2E80..2EFF; CJK Radicals Supplement
2F00..2FDF; Kangxi Radicals
2FF0..2FFF; Ideographic Description Characters
3000..303F; CJK Symbols and Punctuation
3040..309F; Hiragana
30A0..30FF; Katakana
3100..312F; Bopomofo
3130..318F; Hangul Compatibility Jamo
3190..319F; Kanbun
31A0..31BF; Bopomofo Extended
31F0..31FF; Katakana Phonetic Extensions
3200..32FF; Enclosed CJK Letters and Months
3300..33FF; CJK Compatibility
3400..4DBF; CJK Unified Ideographs Extension A
4DC0..4DFF; Yijing Hexagram Symbols
4E00..9FFF; CJK Unified Ideographs
A000..A48F; Yi Syllables
A490..A4CF; Yi Radicals
AC00..D7AF; Hangul Syllables
D800..DB7F; High Surrogates
DB80..DBFF; High Private Use Surrogates
DC00..DFFF; Low Surrogates
E000..F8FF; Private Use Area
F900..FAFF; CJK Compatibility Ideographs
FB00..FB4F; Alphabetic Presentation Forms
FB50..FDFF; Arabic Presentation Forms-A
FE00..FE0F; Variation Selectors
FE20..FE2F; Combining Half Marks
FE30..FE4F; CJK Compatibility Forms
FE50..FE6F; Small Form Variants
FE70..FEFF; Arabic Presentation Forms-B
FF00..FFEF; Halfwidth and Fullwidth Forms
FFF0..FFFF; Specials
10000..1007F; Linear B Syllabary
10080..100FF; Linear B Ideograms
10100..1013F; Aegean Numbers
10300..1032F; Old Italic
10330..1034F; Gothic
10380..1039F; Ugaritic
10400..1044F; Deseret
10450..1047F; Shavian
10480..104AF; Osmanya
10800..1083F; Cypriot Syllabary
1D000..1D0FF; Byzantine Musical Symbols
1D100..1D1FF; Musical Symbols
1D300..1D35F; Tai Xuan Jing Symbols
1D400..1D7FF; Mathematical Alphanumeric Symbols
20000..2A6DF; CJK Unified Ideographs Extension B
2F800..2FA1F; CJK Compatibility Ideographs Supplement
E0000..E007F; Tags
E0100..E01EF; Variation Selectors Supplement
F0000..FFFFF; Supplementary Private Use Area-A
100000..10FFFF; Supplementary Private Use Area-B
June 23, 1999
This directory contains the initial release for Unicode 3.0.
This release consists of corrections and additions to the
Unicode Character Database, to match the publication of
The Unicode Standard, Version 3.0.
Detailed documentation of the files constituting the
Unicode Character Database (contributory data files for
the standard itself) can now be found in
UnicodeCharacterDatabase.html.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<link rel="stylesheet" href="http://www.unicode.org/unicode.css" type="text/css">
<title>Unicode Character Database</title>
</head>
<body>
<h1>UNICODE CHARACTER DATABASE<br>
Version 3.0.0</h1>
<table border="1" cellspacing="2" cellpadding="0" height="87" width="100%">
<tr>
<td valign="TOP" width="144">Revision</td>
<td valign="TOP">3.0.0</td>
</tr>
<tr>
<td valign="TOP" width="144">Authors</td>
<td valign="TOP">Mark Davis and Ken Whistler</td>
</tr>
<tr>
<td valign="TOP" width="144">Date</td>
<td valign="TOP">1999-09-11</td>
</tr>
<tr>
<td valign="TOP" width="144">This Version</td>
<td valign="TOP"><a href="ftp://ftp.unicode.org/Public/3.0-Update/UnicodeCharacterDatabase-3.0.0.html">ftp://ftp.unicode.org/Public/3.0-Update/UnicodeCharacterDatabase-3.0.0.html</a></td>
</tr>
<tr>
<td valign="TOP" width="144">Previous Version</td>
<td valign="TOP">n/a</td>
</tr>
<tr>
<td valign="TOP" width="144">Latest Version</td>
<td valign="TOP"><a href="ftp://ftp.unicode.org/Public/3.0-Update/UnicodeCharacterDatabase-3.0.0.html">ftp://ftp.unicode.org/Public/3.0-Update/UnicodeCharacterDatabase-3.0.0.html</a></td>
</tr>
</table>
<p align="center">Copyright © 1995-1999 Unicode, Inc. All Rights reserved.</p>
<h2>Disclaimer</h2>
<p>The Unicode Character Database is provided as is by Unicode, Inc. No claims
are made as to fitness for any particular purpose. No warranties of any kind are
expressed or implied. The recipient agrees to determine applicability of
information provided. If this file has been purchased on magnetic or optical
media from Unicode, Inc., the sole remedy for any claim will be exchange of
defective media within 90 days of receipt.</p>
<p>This disclaimer is applicable for all other data files accompanying the
Unicode Character Database, some of which have been compiled by the Unicode
Consortium, and some of which have been supplied by other sources.</p>
<h2>Limitations on Rights to Redistribute This Data</h2>
<p>Recipient is granted the right to make copies in any form for internal
distribution and to freely use the information supplied in the creation of
products supporting the Unicode<sup>TM</sup> Standard. The files in the Unicode
Character Database can be redistributed to third parties or other organizations
(whether for profit or not) as long as this notice and the disclaimer notice are
retained. Information can be extracted from these files and used in
documentation or programs, as long as there is an accompanying notice indicating
the source.</p>
<h2>Introduction</h2>
<p>The Unicode Character Database is a set of files that define the Unicode
character properties and internal mappings. For more information about character
properties and mappings, see <i><a href="http://www.unicode.org/unicode/uni2book/u2.html">The
Unicode Standard</a></i>.</p>
<p>The Unicode Character Database has been updated to reflect Version 3.0 of the
Unicode Standard, with many characters added to those published in Version 2.0.
A number of corrections have also been made to case mappings or other errors in
the database noted since the publication of Version 2.0. Normative bidirectional
properties have also been modified to reflect decisions of the Unicode Technical
Committee.</p>
<p>For more information on versions of the Unicode Standard and how to reference
them, see <a href="http://www.unicode.org/unicode/standard/versions/">http://www.unicode.org/unicode/standard/versions/</a>.</p>
<h2>Conformance</h2>
<p>Character properties may be either normative or informative. <i>Normative</i>
means that implementations that claim conformance to the Unicode Standard (at a
particular version) and which make use of a particular property or field must
follow the specifications of the standard for that property or field in order to
be conformant. The term <i>normative</i> when applied to a property or field of
the Unicode Character Database, does <i>not</i> mean that the value of that
field will never change. Corrections and extensions to the standard in the
future may require minor changes to normative values, even though the Unicode
Technical Committee strives to minimize such changes. An<i> informative </i>property
or field is strongly recommended, but a conformant implementation is free to use
or change such values as it may require while still being conformant to the
standard. Particular implementations may choose to override the properties and
mappings that are not normative. In that case, it is up to the implementer to
establish a protocol to convey that information.</p>
<h2>Files</h2>
<p>The following summarizes the files in the Unicode Character Database. &nbsp;For
more information about these files, see the referenced technical report or
section of Unicode Standard, Version 3.0.</p>
<p><b>UnicodeData.txt (Chapter 4)</b>
<ul>
<li>The main file in the Unicode Character Database.</li>
<li>For detailed information on the format, see <a href="UnicodeData.html">UnicodeData.html</a>.
This file also characterizes which properties are normative and which are
informative.</li>
</ul>
<p><b>PropList.txt (Chapter 4)</b>
<ul>
<li>Additional informative properties list: <i>Alphabetic, Ideographic,</i>
and <i>Mathematical</i>, among others.</li>
</ul>
<p><b>SpecialCasing.txt (Chapter 4)</b>
<ul>
<li>List of informative special casing properties, including one-to-many
mappings such as SHARP S =&gt; &quot;SS&quot;, and locale-specific mappings,
such as for Turkish <i>dotless i</i>.</li>
</ul>
<p><b>Blocks.txt (Chapter 14)</b>
<ul>
<li>List of normative block names.</li>
</ul>
<p><b>Jamo.txt (Chapter 4)</b>
<ul>
<li>List of normative Jamo short names, used in deriving HANGUL SYLLABLE names
algorithmically.</li>
</ul>
<p><b>ArabicShaping.txt (Section 8.2)</b>
<ul>
<li>Basic Arabic and Syriac character shaping properties, such as initial,
medial and final shapes. These properties are normative for minimal shaping
of Arabic and Syriac. </li>
</ul>
<p><b>NamesList.txt (Chapter 14)</b>
<ul>
<li>This file duplicates some of the material in the UnicodeData file, and
adds informative annotations uses in the character charts, as printed in the
Unicode Standard. </li>
<li><b>Note: </b>The information in NamesList.txt and Index.txt files matches
the appropriate version of the book. Changes in the Unicode Character
Database since then may not be reflected in these files, since they are
primarily of archival interest.</li>
</ul>
<p><b>Index.txt (Chapter 14)</b>
<ul>
<li>Informative index to Unicode characters, as printed in the Unicode
Standard</li>
<li><b>Note: </b>The information in NamesList.txt and Index.txt files matches
the appropriate version of the book. Changes in the Unicode Character
Database since then may not be reflected in these files, since they are
primarily of archival interest.</li>
</ul>
<p><b>CompositionExclusions.txt (<a href="http://www.unicode.org/unicode/reports/tr15/">UTR#15
Unicode Normalization Forms</a>)</b>
<ul>
<li>Normative properties for normalization.</li>
</ul>
<p><b>LineBreak.txt (<a href="http://www.unicode.org/unicode/reports/tr14/">UTR
#14: Line Breaking Properties</a>)</b>
<ul>
<li>Normative and informative properties for line breaking. To see which
properties are informative and which are normative, consult UTR#14.</li>
</ul>
<p><b>EastAsianWidth.txt (<a href="http://www.unicode.org/unicode/reports/tr11/">UTR
#11: East Asian Character Width</a>)</b>
<ul>
<li>Informative properties for determining the choice of wide vs. narrow
glyphs in East Asian contexts.</li>
</ul>
<p><b>diffXvY.txt</b>
<ul>
<li>Mechanically-generated informative files containing accumulated
differences between successive versions of UnicodeData.txt</li>
</ul>
</body>
</html>
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
SUBDIRS := announce downloads docs faq events cp-tools
ifndef WMK
export WMK=wmk
endif
ifndef WML
export WML=wml
endif
WML_SRC = $(wildcard *.wml)
WML_OBJS = $(patsubst %.wml,%.html,$(WML_SRC))
all : $(WML_OBJS) subdirs
%.texinfo :
cp ../$(notdir $(@)) docs
# home and news html includes newsitems.txt so we list that here explicitly
home.html: home.wml include/macros.wml include/layout.wml newsitems.txt
$(WML) -o $@ $<
news.html: news.wml include/macros.wml include/layout.wml newsitems.txt
$(WML) -o $@ $<
%.html: %.wml include/macros.wml include/layout.wml
$(WML) -o $@ $<
.PHONY : clean
clean :
$(foreach dir, $(SUBDIRS), sh -c "cd $(dir) && $(MAKE) clean";)
-rm -f *.html
.PHONY : subdirs
subdirs :
$(foreach dir, $(SUBDIRS), sh -c "cd $(dir) && $(MAKE)";)
.PHONY : publish
publish :
@sh -c "if [ "$(CLASSPATH_WEBROOT)x" = x ]; then echo 'You must set CLASSPATH_WEBROOT in your environment first'; exit 1; fi"
@sh -c "if [ ! -d $(CLASSPATH_WEBROOT) ]; then echo 'You must set CLASSPATH_WEBROOT in your environment first'; exit 1; fi"
$(foreach dir, $(SUBDIRS), \
sh -c "mkdir -p $(CLASSPATH_WEBROOT)/$(dir);\
cd $(dir) && $(MAKE) publish";)
-cp -f *.html $(CLASSPATH_WEBROOT)
-cp -f *.css $(CLASSPATH_WEBROOT)
# -cp -f *.jpg $(CLASSPATH_WEBROOT)
All HTML files are generated from WML source.
If you wish to generate/view the HTML files locally, you'll need to
have wml and texi2html installed. To make the HTML files, just
type "make".
Quick and dirty "How To"
How to create a webpage:
1. When working in a subdirectory, begin the page with:
#!wml --include=..
2. Add:
#include "include/layout.wml"
3. Add <subject "page title">
this will set the page title to:
"page title - GNU Project -Free Software Foundation (FSF)"
4. Write your contents. Use the following pattern:
<box>
<boxtitle>...section title...</boxtitle>
<boxitem>...section contents...</boxitem>
<boxtitle>...section title...</boxtitle>
<boxitem>...section contents...</boxitem>
</box>
5. To change the menu entries, edit include/layout.wml
6. Call make to build the pages.
7. Set "CLASSPATH_WEBROOT" to a directory before calling "make publish"
to deploy the pages locally
A few useful tags (defined in layout.wml)
* <createlink name="name" url="url>
creates a <a href="url">name</a> entry
Some pages define their own tags (e.g. faq.wml, tools.wml, downloads.wml)
to organize their content.
Guide to the custom-defined tags
--------------------------------
Links
Description:
creates a <a href="url">name</a> entry; if name is missing, uses the url
as name
Availability:
everywhere (defined in macros.wml)
Format:
<createlink name="name" url="url>
<createlink url="url>
Commented code
Description:
creates a commented code example
Availability:
everywhere (defined in macros.wml)
Format:
<commented-code>
<code-line code="1st code-line">comment to 1st line of code</code-line>
<code-line code="2nd code-line">comment to 2nd line of code</code-line>
<code-line code="3rd code-line" />
</commented-code>
FAQ-Lists
<faq-section name="section name">
<faq question="1st question">
1st answer
</faq>
<faq question="2nd question">
2nd answer
</faq>
</faq-section>
<faq-section name="section name">
<faq question="1st question">
1st answer
</faq>
</faq-section>
Project Tables
Description:
Define a project in a project table
Example:
stories.wml
Availability:
everywhere (defined in macros.wml)
Format:
<project-list>
<project name="proj name" url="proj url">
project description
</project>
<project name="proj name" url="proj url">
project description
</project>
</project-list>
I am pleased to announce the first development release of GNU Classpath,
a project to create a free software replacement for Sun's proprietary
Java class libraries. The project is initially providing class library
support for the Japhar JVM.
Here are the answers to some questions you might have about this project
and this release.
1). Where can I get it?
GNU Classpath 0.00 can be downloaded from:
ftp://alpha.gnu.ai.mit.edu/pub/gnu/classpath-0.00.tar.gz
2). What is included?
The following java packages are supported:
-- java.beans
-- java.io
-- java.lang
-- java.lang.reflect
-- java.math
-- java.net
-- java.security (partial and non-functioning)
-- java.security.acl
-- java.security.interfaces
-- java.util
This is enough to run many non-awt programs. Not all classes and methods
are implemented in this release, but most are. The major missing piece
of core functionality is java.text. Many of the implemented classes are
already up to the Java 1.2 spec.
3). What is required to build/install/run?
GNU Classpath requires that Japhar 0.07 be installed. Information on
obtaining Japhar is available from http://www.japhar.org/. A working
C compiler is also required. You will need the Sun JDK installed if you
elect to recompile the Java classes.
4). What platforms are supported?
GNU/Linux is the only platform that has been tested. We plan to
eventually support many others.
5). Who should use this software?
This is a development release only. You should only install it if you
are interested in Classpath development or reporting bugs. We appreciate
both. You might also be interested if you enjoy installing random alpha
software.
6). Where do I go for more information?
The project has a web page at
http://www.classpath.org/
and
http://www.gnu.org/software/classpath/classpath.html
Information on our mailing list is available at the web site.
#!wml --include=..
#use wml::std::page
#use wml::std::lang
#use wml::fmt::isolatin
#use wml::std::case global=upper
<lang:new id=en short>
<lang:star:slice:>
<set-var last-modified-author="cbj">
#include <include/macros.wml>
<header title="<en>GNU Classpath Annoucement (1999-02-06)</en>">
<p>
<en>
I am pleased to announce the first development release of GNU Classpath,
a project to create a free software replacement for Sun's proprietary
Java class libraries. The project is initially providing class library
support for the Japhar JVM.
</en>
</p>
<p>
<en>
Here are the answers to some questions you might have about this project
and this release.
</en>
</p>
<p>
<en>
1). Where can I get it?
</en>
</p>
<p>
<en>
GNU Classpath 0.00 can be downloaded from:
<createlink url="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.00.tar.gz"
name="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.00.tar.gz">
</en>
</p>
<p>
<en>
2). What is included?
</en>
</p>
<p>
<en>
The following java packages are supported:
</en>
</p>
<UL>
<LI>java.beans</LI>
<LI>java.io</LI>
<LI>java.lang</LI>
<LI>java.lang.reflect</LI>
<LI>java.math</LI>
<LI>java.net</LI>
<LI>java.security (partial and non-functioning)</LI>
<LI>java.security.acl</LI>
<LI>java.security.interfaces</LI>
<LI>java.util</LI>
</UL>
<p>
<en>
This is enough to run many non-awt programs. Not all classes and methods
are implemented in this release, but most are. The major missing piece
of core functionality is java.text. Many of the implemented classes are
already up to the Java 1.2 spec.
</en>
</p>
<p>
<en>
3). What is required to build/install/run?
</en>
</p>
<p>
<en>
GNU Classpath requires that Japhar 0.07 be installed. Information on
obtaining Japhar is available from <createlink url="http://www.hungry.com/old-hungry/products/japhar/"
name="http://www.hungry.com/old-hungry/products/japhar/">. A working C compiler is also required. You
will need the Sun JDK installed if you elect to recompile the Java
classes.
</en>
</p>
<p>
<en>
4). What platforms are supported?
</en>
</p>
<p>
<en>
GNU/Linux is the only platform that has been tested. We plan to
eventually support many others.
</en>
</p>
<p>
<en>
5). Who should use this software?
</en>
</p>
<p>
<en>
This is a development release only. You should only install it if you
are interested in Classpath development or reporting bugs. We appreciate
both. You might also be interested if you enjoy installing random alpha
software.
</en>
</p>
<p>
<en>
6). Where do I go for more information?
</en>
</p>
<p>
<en>
The project has a web page at
<createlink url="http://www.classpath.org/" name="http://www.classpath.org/">
and
<createlink url="http://www.gnu.org/software/classpath/classpath.html"
name="http://www.gnu.org/software/classpath/classpath.html">
Information on our mailing list is available at the web site.
</en>
</p>
<footer>
#!wml --include=..
#use wml::std::page
#use wml::std::lang
#use wml::fmt::isolatin
#use wml::std::case global=upper
<lang:new id=en short>
<lang:star:slice:>
<set-var last-modified-author="cbj">
#include <include/macros.wml>
<header title="<en>GNU Classpath Annoucement (2000-11-20)</en>">
<p>
<en>
I am pleased to announce a new development release of GNU Classpath,
a project to create a free software replacement for Sun's proprietary
Java class libraries. The project is initially providing class library
support for the Japhar JVM. There are a few other JVMs which have taken
the project libraries and used them in their own projects as well.
</en>
</p>
<p>
<en>
Here are the answers to some questions you might have about this project
and this release.
</en>
</p>
<p>
<en>
1). Where can I get it?
</en>
</p>
<p>
<en>
GNU Classpath 0.01 can be downloaded from:
<createlink url="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.01.tar.gz"
name="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.01.tar.gz">
</en>
</p>
<p>
<en>
2). What is included?
</en>
</p>
<p>
<en>
The following java packages are supported:
</en>
</p>
<UL>
<LI>java.beans</LI>
<LI>java.io</LI>
<LI>java.lang</LI>
<LI>java.lang.reflect</LI>
<LI>java.math</LI>
<LI>java.net</LI>
<LI>java.security (partial and non-functioning)</LI>
<LI>java.security.acl</LI>
<LI>java.security.interfaces</LI>
<LI>java.util</LI>
</UL>
<p>
<en>
This is enough to run many non-awt programs. Not all classes and
methods are implemented in this release, but most are. Many of the
implemented classes are already up to the Java 1.2 spec.
</en>
</p>
<p>
<en>
3). What is required to build/install/run?
</en>
</p>
<p>
<en>
GNU Classpath requires that Japhar 0.09 be installed. Information on
obtaining Japhar is available from <createlink url="http://www.hungry.com/old-hungry/products/japhar/"
name="http://www.hungry.com/old-hungry/products/japhar/">. A working C compiler is also required. You
will need IBM's Jikes Java compiler installed if you elect to
recompile the Java classes and Sun's 1.1.8 JDK javah installed to
create native header files. RPMs compatible with Red Hat 7 have been
created of Japhar, NSPR, a cross platform thread library Japhar uses,
and GNU Classpath. Installing onto a Gnome workstation should
provide the rest of the required libraries automatically. Otherwise,
you may need to install libart and other packages detailed more
precisely in the HACKING file.
</en>
</p>
<p>
<en>
4). What platforms are supported?
</en>
</p>
<p>
<en>
GNU/Linux is the only platform that has been tested. We plan to
eventually support many others.
</en>
<p>
<p>
<en>
5). Who should use this software?
</en>
</p>
<p>
<en>
This is a development release only. You should only install it if you
are interested in Classpath development or reporting bugs. We appreciate
both. You might also be interested if you enjoy installing random alpha
software.
</en>
</p>
<p>
<en>
6). Where do I go for more information?
</en>
</p>
<p>
<en>
The project has a web page at
<createlink url="http://www.classpath.org/" name="http://www.classpath.org/">
and
<createlink url="http://www.gnu.org/software/classpath/classpath.html"
name="http://www.gnu.org/software/classpath/classpath.html">
Information on our mailing list is available at the web site.
</en>
</p>
<footer>
#!wml --include=..
#use wml::std::page
#use wml::std::lang
#use wml::fmt::isolatin
#use wml::std::case global=upper
<lang:new id=en short>
<lang:star:slice:>
<set-var last-modified-author="cbj">
#include <include/macros.wml>
<header title="<en>GNU Classpath Annoucement (2001-01-05)</en>">
<p>
<en>
I am pleased to announce a new development
release of GNU Classpath, a project to create a free software
replacement for Sun's proprietary Java class libraries. The project
is initially providing class library support for the Japhar JVM, but
will soon provide out of the box support SableVM, Intel's ORP, and
Kaffe. The major improvements for this release are the addition of a
correct security policy file and exception stack traces are now
printed when using Japhar.
</en>
</p>
<p>
<en>
Here are the answers to some questions you might have about this project
and this release.
</en>
</p>
<p>
<en>
1). Where can I get it?
</en>
</p>
<p>
<en>
GNU Classpath 0.02 can be downloaded from:
<createlink url="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.02.tar.gz"
name="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.02.tar.gz">
</en>
</p>
<p>
<en>
2). What is included?
</en>
</p>
<p>
<en>
The following java packages are supported:
</en>
</p>
<UL>
<LI>java.beans</LI>
<LI>java.io</LI>
<LI>java.lang</LI>
<LI>java.lang.reflect</LI>
<LI>java.math</LI>
<LI>java.net</LI>
<LI>java.security (partially functioning)</LI>
<LI>java.security.acl</LI>
<LI>java.security.interfaces</LI>
<LI>java.util</LI>
</UL>
<p>
<en>
This is enough to run many non-awt programs. Not all classes and
methods are implemented in this release, but most are. Many of the
implemented classes are already up to the Java 1.2 spec.
</en>
</p>
<p>
<en>
3). What is required to build/install/run?
</en>
</p>
<p>
<en>
GNU Classpath requires that Japhar 0.09 be installed along with a
single patch to Japhar 0.09 included with the release. Information on
obtaining Japhar is available from <createlink url="http://www.hungry.com/old-hungry/products/japhar/"
name="http://www.hungry.com/old-hungry/products/japhar/">. A working C compiler is also required. You
will need IBM's Jikes Java compiler installed if you elect to
recompile the Java classes and Sun's 1.1.8 JDK javah installed to
create native header files. RPMs compatible with Red Hat 7 have been
created of Japhar, NSPR, a cross platform thread library Japhar uses,
and GNU Classpath. Installing onto a Gnome workstation should provide
the rest of the required libraries automatically. Otherwise, you may
need to install libart and other packages detailed more precisely in
the HACKING file.
</en>
</p>
<p>
<en>
4). What platforms are supported?
</en>
</p>
<p>
<en>
GNU/Linux is the only platform that has been tested. We plan to
eventually support many others.
</en>
</p>
<p>
<en>
5). Who should use this software?
</en>
</p>
<p>
<en>
This is a development release only. You should only install it if you
are interested in Classpath development or reporting bugs. We appreciate
both. You might also be interested if you enjoy installing random alpha
software.
</en>
</p>
<p>
<en>
6). Where do I go for more information?
</en>
</p>
<p>
<en>
The project has a web page at
<createlink url="http://www.classpath.org/" name="http://www.classpath.org/">
and
<createlink url="http://www.gnu.org/software/classpath/classpath.html"
name="http://www.gnu.org/software/classpath/classpath.html">
Information on our mailing list is available at the web site.
</en>
</p>
<footer>
#!wml --include=..
#use wml::std::page
#use wml::std::lang
#use wml::fmt::isolatin
#use wml::std::case global=upper
<lang:new id=en short>
<lang:star:slice:>
<set-var last-modified-author="mjw">
#include <include/macros.wml>
<header title="<en>GNU Classpath 0.03 Announcement (2002-02-08)</en>">
<p>
<en>
We are pleased to announce a new development release of GNU Classpath.
GNU Classpath, Essential Libraries for Java, is a project to create free
core class libraries for use with virtual machines and compilers for the
Java language.
</en>
</p>
<p>
<en>
New in this release are the addition of java.util.zip and java.rmi
packages, VM independent jni.h, more flexible build environment to
separate class and native code generation, out of the box support for
the ORP VM, and lots of bug fixes and updates to make GNU Classpath more
compliant with the 1.2, 1.3 and 1.4 API specification. The copyleft
has been clarified and all code in the library is now distributed under
the same terms.
</en>
</p>
<p>
<en>
Here are the answers to some questions you might have about this project
and this release.
</en>
</p>
<p>
<en>
1). Where can I get it?
</en>
</p>
<p>
<en>
GNU Classpath 0.03 can be downloaded from:
<createlink url="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.03.tar.gz"
name="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.03.tar.gz">
</en>
</p>
<p>
<en>
2). What is included?
</en>
</p>
<p>
<en>
The following packages (some with subpackages) are supported:
</en>
</p>
<UL>
<LI>java.applet (untested)</LI>
<LI>java.awt (very experimental)</LI>
<LI>java.beans</LI>
<LI>java.io</LI>
<LI>java.lang</LI>
<LI>java.math</LI>
<LI>java.net</LI>
<LI>java.rmi</LI>
<LI>java.security (partially functioning)</LI>
<LI>java.sql</LI>
<LI>java.text (untested)</LI>
<LI>java.util</LI>
<LI>java.util.jar</LI>
<LI>java.util.zip</LI>
</UL>
<p>
<en>
This is enough to run many non-awt programs. Not all classes and
methods are implemented in this release, but most are. Many of the
implemented classes are already up to the 1.2 API spec. Some are
already compliant with the 1.3 and (preliminary) 1.4 API specification.
More information on the current status of each package can be found at
<createlink url="http://www.gnu.org/software/classpath/status.html"
name="http://www.gnu.org/software/classpath/status.html">
</en>
</p>
<p>
<en>
3). What is required to build/install/run?
</en>
</p>
<p>
<en>
GNU Classpath requires a working GNU build environment and a byte code
compiler such as jikes, gcj or kjc. When creating native code you will
also need a working C compiler and up to date Gnome development libraries
(gtk+, libart and gdk-pixbuf). More information on the precise version
numbers for the tools and libraries can be found in the INSTALL file.
</en>
</p>
<p>
<en>
4). What platforms and VMs are supported?
</en>
</p>
<p>
<en>
GNU/Linux is the only platform that has been tested. We plan to
eventually support many others.
</en>
</p>
<p>
<en>
This release support ORP 1.0.9 out of the box. But other compilers and
virtual machines such as gcj, Kissme, SableVM, Jupiter and Jaos also work
with slightly customized versions of GNU Classpath. Please check if there
is a customized version available for the VM you use before trying the bare
bones GNU Classpath release. We are working with the VM creators to keep
the differences between the core classes as small as possible.
</en>
</p>
<p>
<en>
5). Who should use this software?
</en>
</p>
<p>
<en>
Although it is already capable of supporting many Java applications,
this is a development release. As such, there are still many unfinished
components, and some problems are to be expected. You should install it
if you are interested in Classpath development or reporting bugs. We
appreciate both.
</en>
</p>
<p>
<en>
6). Where do I go for more information?
</en>
</p>
<p>
<en>
The project home page with information on our mailing list can be found at
<createlink url="http://www.classpath.org/" name="http://www.classpath.org/">
or
<createlink url="http://www.gnu.org/software/classpath/classpath.html"
name="http://www.gnu.org/software/classpath/classpath.html">
</en>
</p>
<p>
<en>
The bug database, CVS, task-manager and latest news can be found on Savannah at
<createlink url="http://savannah.gnu.org/projects/classpath/"
name="http://savannah.gnu.org/projects/classpath/">
</en>
</p>
<footer>
#!wml --include=..
#use wml::std::page
#use wml::std::lang
#use wml::fmt::isolatin
#use wml::std::case global=upper
<lang:new id=en short>
<lang:star:slice:>
<set-var last-modified-author="prr">
#include <include/macros.wml>
<header title="<en>GNU Classpath 0.08 Announcement (2004-03-15)</en>">
<pre>
We are pleased to announce a new development release of GNU Classpath.
GNU Classpath, Essential Libraries for Java, is a project to create free
core class libraries for use with virtual machines and compilers for the
java programming language.
GNU Classpath 0.08 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.08.tar.gz<br>
MD5sum: 17f200744c31f36fdbe15347745562fb
New in GNU Classpath 0.08:
* java.util.regexp implementation through gnu.regexp wrappers.
* java.net.URI implementation.
* Working implementation of javax.swing.undo.
* java.awt.geom.CubicCurve2D/QuadCurve2D: Can now solve cubic and
quadratic equations; implementation adapted from the GNU Scientific
Library.
* Lots of java.awt and gtk+ peer improvements. Also more Swing work.
Start of EmbeddedWindow support.
* BufferedReader speed improvements.
* Improved useabilty of java.text implementation for several
applications.
* ObjectInputStream is much faster and more compatible with other
implementations.
* Fix handling of alias methods, where a method has been deprecated in
favour of a new one with the same funtion but a different name.
(See Deprecated Methods section in the GNU Classpath Hacking Guide.)
* javax.print.attribute.standard added.
* Lots of java.nio, java.net, java.io fixes and updates.
* Depend on autoconf 2.59+ and automake 1.7+, GCJ 3.3+, jikes 1.18+.
VM Interface changes:
* Split native methods in java.lang.Runtime into java.lang.VMRuntime.
* Resources are now also loaded/needed through the bootstrap classloader
(gnu.regexp needs MessageBundle included in glibj.zip
Fixed Classpath bugs:
#6095 java.awt.geom.QuadCurve2D.solveQuadratic sometimes gives
wrong results
#7099 EventListenerList.getListenerCount should accept null argument
#7104 EventListenerList.add does not work
#7105 EventListenerList.remove does not work
#7107 DefaultBoundedRangeModel.setValue and friends should not throw
And lots more.
Here are answers to some questions you might have about this project and
this release.
1). What is required to build/install/run?
GNU Classpath requires a working GNU build environment and a byte code
compiler such as jikes, gcj or kjc. When creating native code you will
also need a working C compiler and up to date Gnome development
libraries (gtk+, libart and gdk-pixbuf). More information on the
precise version numbers for the tools and libraries can be found in
the INSTALL file.
A list of virtual machines and compilers known to work with GNU
Classpath can be found at our website:
http://www.gnu.org/software/classpath/stories.htm
2). What platforms are supported?
GNU/Linux is the only platform that has been tested.
We plan to eventually support many others.
3). Who should use this software?
Although GNU Classpath is already capable of supporting many
applications written in the java programming language, this is a
development release. As such, there are still some unfinished
components, and some problems are to be expected. You should install it
if you are interested in GNU Classpath development or reporting bugs.
We appreciate both.
A good overview of the current status can be found on the GNU Classpath
at FOSDEM'04 page which describes the last GNU Classpath hacker meeting.
It includes reports and presentations on the current status and future
plans: http://www.gnu.org/software/classpath/events/fosdem04.html
4). Where do I go for more information?
The project home page with information on our mailing list can be
found http://www.gnu.org/software/classpath/.
</pre>
<footer>
#!wml --include=..
#use wml::std::page
#use wml::std::lang
#use wml::fmt::isolatin
#use wml::std::case global=upper
<lang:new id=en short>
<lang:star:slice:>
<set-var last-modified-author="prr">
#include <include/macros.wml>
<header title="<en>GNU Classpath 0.09 Announcement (2004-05-02)</en>">
<pre>
We are pleased to announce a new development release of GNU Classpath.
GNU Classpath, Essential Libraries for Java, is a project to create free
core class libraries for use with virtual machines and compilers for the
java programming language.
GNU Classpath 0.09 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.09.tar.gz
MD5sum: 1c4bcf2e6b5201c6496ba55ee8aac04d
New in GNU Classpath 0.09:
* Includes updated GNU JAXP version from 2004-02-01.
* Native C code is now -ansi -pedantic (C89) clean and (almost) -Wall clean.
* java.io is now implemented by delegating most tasks directly to java.nio.
* Reworked/Optimized implementations of java.nio.Buffer and subclasses.
* New javax.print, javax.print.attribute[.standard] and javax.print.event
packages and classes.
* java.text attributed iterators support.
* New javax.imageio, javax.imageio.event and javax.imageio.spi packages and
classes.
* GNU Classpath can now load service providers that are described via
META-INF/services/* resources in extension JARs. This is useful for
implementing the various APIs that are supposed to be extensible via
custom plugins. For details, please see the documentation of
gnu.classpath.ServiceFactory.
Application developers are strongly discouraged from calling glibj
internal packages. Instead, they might want invoke the newly implemented
javax.imageio.spi.ServiceRegistry.lookupProviders, which is a standard
method for loading plug-ins.
* New developers wanting to help the GNU Classpath project might want to
review the greatly expanded Hacker Guide included in the doc directory
or online at http://www.gnu.org/software/classpath/docs/hacking.html
Also the FAQ has been expanded. And when working from CVS you can now use
a simple autogen.sh script to get all autotools magic done automagically.
* New configure option --with-glibj which defines how to install the glibj
class files as zip, as flat directory files or both (zip|flat|both)
[default=zip]. When working with multiple runtimes some of which might
not support bootstrap classes in zip files the --with-glibj=both option
is recommended (this does take extra disc space).
* Two big code drops from the libgcj gui branch updating various java.awt
and javax.swing classes.
* Multiple java.net.InetAdress fixes and java.rmi fixes.
* ServerSocket.accept() now restarts listening when system call interrupted.
* Much cleanups to make standard API doc valid XHTML (not completed yet).
* A scan for unused variables and non-static invocation of static methods
turned up a couple of subtle bugs which have now all been fixed.
* The Mauve testsuite has been cleaned up considerable and lots of issues
in the GNU Classpath core class implementation have been fixed.
VM Interface changes:
* java.lang.Class/VMClass interface was changed. The interface now no
longer requires an instance of VMClass for each Class instance. Instead
the field vmdata in Class is now of type Object.
* GNU Classpath now assumes that JNI calls SetXField can modify final
fields. This was previously used silently for System.in/out/err and should
be considered as a feature now.
* A new VMProcess and a sample JNI C implementation are now provided to
make Runtime.exec() work out of the box on some systems. This requires
a small change to VMRuntime.exec() when a runtime wants to use it as the
default java.lang.Process implementation.
* The implementation of most of java.io through java.nio moved serveral
runtime specific I/O methods. Most methods do have a generic default native
C JNI implementation in native/jni/java-nio.
* Runtime support methods for java.io.File have been moved to VMFile which
also comes with a default JNI C implementation.
* To support the new service provider mechanism runtimes must make sure that
extension JARs are made accessible via the default context class loader.
Here are answers to some questions you might have about this project and
this release.
1). What is required to build/install/run?
GNU Classpath requires a working GNU build environment and a byte code
compiler such as jikes, gcj or kjc. When creating native code you will
also need a working C compiler and up to date Gnome development
libraries (gtk+, libart and gdk-pixbuf). More information on the
precise version numbers for the tools and libraries can be found in
the INSTALL file.
A list of virtual machines and compilers known to work with GNU
Classpath can be found at our website:
http://www.gnu.org/software/classpath/stories.htm
2). What platforms are supported?
GNU/Linux is the only platform that has been tested.
We plan to eventually support many others.
3). Who should use this software?
Although GNU Classpath is already capable of supporting many
applications written in the java programming language, this is a
development release. As such, there are still some unfinished
components, and some problems are to be expected. You should install it
if you are interested in GNU Classpath development or reporting bugs.
We appreciate both.
A good overview of the current status can be found on the GNU Classpath
at FOSDEM'04 page which describes the last GNU Classpath hacker meeting.
It includes reports and presentations on the current status and future
plans: http://www.gnu.org/software/classpath/events/fosdem04.html
4). Where do I go for more information?
The project home page with information on our mailing list can be
found http://www.gnu.org/software/classpath/.
</pre>
<footer>
#!wml --include=..
#use wml::std::page
#use wml::std::lang
#use wml::fmt::isolatin
#use wml::std::case global=upper
<lang:star:slice:>
<set-var last-modified-author="prr">
#include <include/macros.wml>
<header title="GNU Classpath 0.10 Announcement (2004-07-09)">
<pre>
We are pleased to announce a new development release of GNU Classpath.
GNU Classpath, Essential Libraries for Java, is a project to create free
core class libraries for use with virtual machines and compilers for the
java programming language.
GNU Classpath 0.10 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.10.tar.gz
MD5sum: a59a5040f9c1237dbf27bfc668919943
New in release 0.10 (Jul 9, 2004)
* java.net.URL now uses application classloader to load URLStreamHandlers
and reuses URLStreamHandlers when URL is reset (but protocol isn't changed).
* java.io.File.deleteOnExit() implementation.
* java.text multiple new features and bug fixes
(only 2 out of the 1000+ java.text Mauve tests now fail).
* Better (non-black) default AWT System colors.
* AWT lists use GTK treeviews.
* Proper AWT focus management has been implemented.
* Swing menus and scrollpanes are beginning to work.
* Swing splitpanes, dialogs and internal frames were added.
* Swing repainting / double buffering was redone.
* Font management and Pango DPI conversion fixes.
* A lot of AWT imaging and event bugs have been picked out.
* More of javax.swing.text has been implemented.
* javax.swing.Timer has been reimplemented.
* java.security.AccessController has been implemented
(see runtime section).
* The default java.lang.SecurityManager now uses AccessController.
* New java.beans.Statement and Expression implementations.
* Small FileChannel implementation speed improvement for traditional
JNI based systems.
* Regenerated all included JNI header files with gcjh (3.5 CVS),
removes extra extern modifier and allows stricter compiler warning.
* More C code cleanups (-Wmissing-declarations, -Wmissing-prototypes and
-Wstring-prototypes) and jni.h fixes (a few funtion prototype fixes,
made it compilable with C++ compilers and jni.h got renamed from jni.h.in).
* Double.toString() and Float.toString() now work properly on 64-bit
PowerPC systems.
* PPC Darwin, arm, x86-64 and s/390 JNI C code compilation fixes.
* Build system refactored and removed old Japhar specific support.
* The gnu.java.awt.EmbeddedWindow class has been improved, and now
supports embedding AWT windows in other top-level X windows.
This functionality is required by gcjwebplugin.
* gcjwebplugin, an applet viewer that can be embedded into several web
browsers, has been extensively tested with this release of classpath.
(See http://www.nongnu.org/gcjwebplugin/)
* Runtime environments based on GNU Classpath 0.10 should be able to
start up Eclipse 3.0 out of the box now.
Runtime interface Changes:
* VMProcess.destroy() default implementation fixes.
* Fixed the "portable native sync" code; it had been broken since
Classpath release 0.06, when we upgraded to GTK+2.
Classpath's AWT peers use GTK+. GTK+ uses GLIB. GLIB by default uses
the platform's native threading model -- pthreads in most cases.
If the Java runtime doesn't use the native threading model, then you should
specify --portable-native-sync when configuring Classpath, so that GLIB will
use the Java threading primitives instead. (For a superior alternative,
see below.)
* The VM can set the system property
gnu.classpath.awt.gtk.portable.native.sync instead of using the
--portable-native-sync configure-type option.
See doc/vmintegration.texinfo for details.
* We intend that the next release of GNU Classpath will require the VM
to provide JNI 1.2. Classpath currently uses only JNI 1.1, except for
one JNI 1.2 function: GetEnv(), in the JNI Invocation API.
If this poses problems, please raise them on the classpath mailing list.
* The reference implementation of VMThread.holdsLock(Object) now has
a default implementation written in java. For efficiency and to
prevent spurious wakeups a real 'native' runtime version can be supplied.
* There is a new java.security.VMAccessController class that runtimes need
to implement to properly support SecurityManagers. The default
implementation that comes with GNU Classpath makes sure that ANY attempt
to access a protected resource is denied when a SecurityManager is
installed. Which is pretty secure, but also no very useful.
Please see the documentation in
vm/reference/java/security/VMAccessController.java,
and please give feedback on the GNU Classpath mailinglist whether or not
the current AccessController framework is flexible enough.
Here are answers to some questions you might have about this project and
this release.
1). What is required to build/install/run?
GNU Classpath requires a working GNU build environment and a byte code
compiler such as jikes, gcj or kjc. When creating native code you will
also need a working C compiler and up to date Gnome development
libraries (gtk+, libart and gdk-pixbuf). More information on the
precise version numbers for the tools and libraries can be found in
the INSTALL file.
You will also need a runtime environment. The following environments
have been tested to work out of the box with this release:
* JamVM (http://jamvm.sourceforge.net/)
* Jikes RVM (http://www.ibm.com/developerworks/oss/jikesrvm/)
* Kissme (http://kissme.sourceforge.net/)
For other environments that might need modified version of the current
release see the README file. A complete list of virtual machines and
compilers known to be based on GNU Classpath can be found at our
website: http://www.gnu.org/software/classpath/stories.html
2). What platforms are supported?
GNU/Linux is the only platform that has been tested.
We plan to eventually support many others.
3). Who should use this software?
Although GNU Classpath is already capable of supporting many
applications written in the java programming language, this is a
development release. As such, there are still some unfinished
components, and some problems are to be expected. You should install it
if you are interested in GNU Classpath development or reporting bugs.
We appreciate both.
For end users we recommend to use one of the development environments
based on GNU Classpath which combine the core libraries with compilers
and other tools needed for creating applications and libraries.
* GCC with GCJ (http://gcc.gnu.org/java/)
* Kaffe (http://www.kaffe.org/)
4). Where do I go for more information?
The project home page with information on our mailing list can be
found http://www.gnu.org/software/classpath/.
A good overview of the current status can be found on the GNU Classpath
at FOSDEM'04 page which describes the last GNU Classpath hacker meeting.
It includes reports and presentations on the current status and future
plans: http://www.gnu.org/software/classpath/events/fosdem04.html
</pre>
<footer>
#!wml --include=..
#use wml::std::page
#use wml::std::lang
#use wml::fmt::isolatin
#use wml::std::case global=upper
<lang:star:slice:>
<set-var last-modified-author="prr">
#include <include/macros.wml>
<header title="GNU Classpatchy 0.17 Announcement (2005-07-15)">
<pre>
GNU Classpatchy 0.17 released.
We are pleased to announce a new developer snapshot of GNU Classpath.
GNU Classpath, essential libraries for java, is a project to create free
core class libraries for use with runtimes, compilers and tools for the
java programming language.
The GNU Classpath developer snapshot releases are not directly aimed
at the end user but are meant to be integrated into larger development
platforms. For example the GCC (gcj) and Kaffe projects will use the
developer snapshots as a base for future versions.
This is mainly a bug fix release for issues found with eclipse 3.1 and
Free Swing applications just after our 0.16 release. But it also
includes some exciting new features.
Some highlights of changes in this release (more extensive list below):
XML DOM, XPATH and XSL fixes. Free Swing is much more responsive.
JInternalFram, JTree, JMenu, JTable, JButton and JFileChooser fixes.
FileChannel lock and force implementations added. The logging
FileHandler now rotates files. Clean locking and namespace for gtkpeer
library. System call interrupts and timeouts are now handled correctly
for net and nio. Corba bug fixes. Lots of documentation updates. The
VM Integration Guide now comes with a full section on the VM/Classpath
hooks. GNU Classpath Examples now includes a Tree World demo.
21 people actively contributed code to this release and made 171 CVS
commits during the two weeks of development. diffstat since 0.16:
3638 files changed, 25798 insertions(+), 15596 deletions(-)
More details about the various changes and contributions below.
This release passes 29508 out of 30320 Mauve core library tests.
Conformance reports for the included jaxp support can be found in the
doc/README.jaxp file.
GNU Classpath 0.17 can be downloaded from
ftp://ftp.gnu.org/pub/gnu/classpath/
or one of the ftp.gnu.org mirrors
http://www.gnu.org/order/ftp.html
File: classpath-0.17.tar.gz
MD5sum: eb620987422878e05ea889d5e7496c63
SHA1sum: 3b47cb37c91803fbc9d0426d97e1faa6a993615a
The GNU Classpath developers site http://developer.classpath.org/
provides detailed information on how to start with helping the GNU
Classpath project and gives an overview of the core class library
packages currently provided. For each snapshot release generated
documentation is provided through the GNU Classpath Tools gjdoc
project. A documentation generation framework for java source files
used by the GNU project. Full documentation on the currently
implementated packages and classes can be found at:
http://developer.classpath.org/doc/
New in release 0.17 (Jul 15, 2005)
(See the ChangeLog file for a full list of changes.)
* gnu.xml fix for nodes created outside a namespace context.
* Add support for output indenting and cdata-section-elements output
instruction in xml.transform.
* xml.xpath corrections for cases where elements/attributes might have
been created in non-namespace-aware mode. Corrections to handling of
XSL variables and minor conformance updates.
* DefaultMutableTreeNode preorder, postorder, depthFirst and breadthFirst
traversal enumerations implemented.
* JInternalFrame colors and titlebar draw properly.
* JTree is working up to par (icons, selection and keyboard traversal).
* JMenus were made more compatible in visual and programmatic behavior.
* JTable changeSelection and multiple selections implemented.
* JButton and JToggleButton change states work properly now.
* JFileChooser fixes.
* revalidate and repaint fixes which make Free Swing much more responsive.
* Correctly handle system call interrupts and timeouts in native nio
and net functions.
* MetalIconFactory implemented.
* Handle image loading errors correctly for gdkpixbuf and MediaTracker.
* Added Tree World to GNU Classpath examples Free Swing demo.
* FileChannel.lock() and FileChannel.force() implemented.
* java.util.logging.FileHandler now rotates files.
* Better handle GDK lock. Properly prefix gtkpeer native functions (cp_gtk).
* Corba bug fixes and documentation updates.
* Updated gcj build infrastructure.
* Documentation fixes all over the place.
See http://developer.classpath.org/doc/
* VM Integration Guide updates with a full section on VM/Classpath hooks.
The following people helped with this release:
Aaron Luchko (JDWP updates and documentation fixes)
Andrew John Hughes (VMIntegration guide update)
Anthony Balkissoon (Lots of Free Swing updates)
Archie Cobbs (build and URLClassLoader updates)
Audrius Meskauskas (Corba and text and html parser fixes)
Casey Marshall (FileChannel lock, SystemLogger and FileHandler rotate impl.)
Chris Burdess (Lots of gnu.xml and http protocol fixes)
Dalibor Topic (Better DEBUG support)
Daniel Bonniot (Serialization fixes)
David Gilbert (Lots of documentation and MetalIconFactory implementation)
Guilhem Lavaux (Logger bug fixes)
Jeroen Frijters (Serialization fixes)
Lillian Angel (Lots of Free Swing updates)
Mark Wielaard (System call interrupts, timeouts and packaging)
Robert Schuster (TreeNode enumerations and ActionCommand and various fixes)
Roman Kennke (Lots of Free Swing updates)
Sven de Marothy (GtkImage fixes)
Thomas Fitzsimmons (gtk peer updates and restructuring)
Simon Kitching (String cleanups and optimization suggestions)
Tom Tromey (gcj build update)
Ziga Mahkovec (build fixes)
We would also like to thank the numerous bug reporters and testers!
</pre>
<footer>
ifndef WMK
export WMK=wmk
endif
ifndef WML
export WML=wml
endif
WML_SRC = $(wildcard *.wml)
WML_OBJS = $(patsubst %.wml,%.html,$(WML_SRC))
%.html: %.wml ../include/macros.wml
$(WML) -o $@ $<
# -rm -f $(patsubst %.wml,%.html,$<)
all : $(WML_OBJS) subdirs
.PHONY : clean
clean :
$(foreach dir, $(SUBDIRS), sh -c "cd $(dir) && $(MAKE) clean";)
-rm -f *.html
.PHONY : subdirs
subdirs :
$(foreach dir, $(SUBDIRS), sh -c "cd $(dir) && $(MAKE)";)
.PHONY : publish
publish :
@sh -c "if [ "$(CLASSPATH_WEBROOT)x" = x ]; then echo 'You must set CLASSPATH_WEBROOT in your environment first'; exit 1; fi"
@sh -c "if [ ! -d $(CLASSPATH_WEBROOT) ]; then echo 'You must set CLASSPATH_WEBROOT in your environment first'; exit 1; fi"
$(foreach dir, $(SUBDIRS), sh -c "cd $(dir) && $(MAKE) publish";)
-cp -f *.html $(CLASSPATH_WEBROOT)/announce/
#!wml --include=..
#use wml::std::page
#use wml::std::lang
#use wml::fmt::isolatin
#use wml::std::case global=upper
<lang:new id=en short>
<lang:star:slice:>
<set-var last-modified-author="cbj">
#include <include/macros.wml>
<header title="<en>GNU Classpath Annoucements</en>">
<H4><en>Announcements</en></H4>
<UL>
<LI><createlink url="/software/classpath/announce/20020208.html" name="GNU Classpath Version 0.03"> (2002-02-08)</LI>
<LI><createlink url="/software/classpath/announce/20010106.html" name="GNU Classpath Version 0.02"> (2001-01-06)</LI>
<LI><createlink url="/software/classpath/announce/20001120.html" name="GNU Classpath Version 0.01"> (2000-11-20)</LI>
<LI><createlink url="/software/classpath/announce/19990206.html" name="GNU Classpath Version 0.00"> (1999-02-06)</LI>
</UL>
<footer>
#include "include/layout.wml"
<set-var last-modified-author="prk">
<subject "GNU Classpath Test and Benchmark Page">
<box>
<boxtitle><a name="testing">Classpath::Testing</a></boxtitle>
<boxitem>
<p>
The test framework for GNU Classpath is called
<createlink url="http://sources.redhat.com/mauve/" name="Mauve">. There
are instructions within the Mauve website on how to download and use Mauve.
Writing Mauve tests is the most important thing GNU Classpath developers
could do for the project at this time.
</p>
<p>
Java API compatibility testing can be performed using
<createlink url="http://www.kaffe.org/~stuart/japi/"
name="japitools">. Japitools already does
full API comparisons but it doesn't have the capability to extract
APIs from the documentation - instead, the "japize" tool uses the
jode.bytecode library to identify the public members of a given set of
packages from the binary jars or zips. But japitools does separate the
API-inspection phase ("japize") from the compatibility-testing phase
("japicompat") so it would be easy to offer an alternative to japize
that worked on API documentation.
</p>
<p>
Another method of API compatibility testing is to use <createlink
url="http://majestix.ucnet.uoc.gr/~jgeorgal/pub/jdiff.sh"
name="jdiff.sh">, at least until this functionality is merged into
japitools.
</boxitem>
<boxtitle><a name="benchmarks">Classpath::Benchmarks</a></boxtitle>
<boxitem>
Many free benchmarks are available. Benchmarks are a good way to test the functionality of a VM and at the same time get results that can be compared.
<table border="0">
<tr>
<th>Name</th><th>Description</th>
</tr>
<tr>
<td><createlink name="Ashes" url="http://www.sable.mcgill.ca/ashes/"></td>
<td>The Ashes benchmark</td>
</tr>
</table>
</boxitem>
</box>
#include "include/layout.wml"
<subject "GNU Classpath Bug Reports">
<box>
<boxtitle>GNU Classpath::Bugs</boxtitle>
<boxitem>
Unfortunately GNU Classpath is not bug free yet.
<br>
But you can help!
<br>
If you find a bug please report it here.
</boxitem>
<boxtitle>Query</boxtitle>
<boxitem>
Please first check the following lists:
<ul>
<li><a href="http://gcc.gnu.org/bugzilla/query.cgi?product=classpath">Query bugs</a></li>
<li><a href="http://gcc.gnu.org/bugzilla/buglist.cgi?product=classpath&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=SUSPENDED&bug_status=WAITING&bug_status=REOPENED">All open bugs</a></li>
<li><a href="http://gcc.gnu.org/bugzilla/duplicates.cgi?sortby=count&product=classpath">Most Frequently Reported Bugs</a></li>
</ul>
<p>
</boxitem>
<boxtitle>Report</boxtitle>
<boxitem>
If your bug wasn't in any of the above lists, please
<ul>
<li><a href="http://gcc.gnu.org/bugzilla/enter_bug.cgi?product=classpath">Report it</a></li>
<ul>
<p>
</boxitem>
<boxtitle>Overview</boxtitle>
<boxitem>
You can also look at some pretty
<ul>
<li><a href="http://gcc.gnu.org/bugzilla/reports.cgi?product=classpath&datasets=NEW%3A&datasets=ASSIGNED%3A&datasets=REOPENED%3A&datasets=UNCONFIRMED%3A&datasets=RESOLVED%3A&datasets=VERIFIED%3A&datasets=CLOSED%3A&datasets=FIXED%3A&datasets=INVALID%3A&datasets=WONTFIX%3A&datasets=DUPLICATE%3A&datasets=WORKSFORME%3A">Status Counts</a></li>
<li><a href="http://gcc.gnu.org/bugzilla/report.cgi?bug_file_loc_type=allwordssubstr&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=SUSPENDED&bug_status=WAITING&bug_status=REOPENED&bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&cumulate=1&gccbuild_type=allwordssubstr&gcchost_type=allwordssubstr&gcctarget_type=allwordssubstr&keywords_type=allwords&known_to_fail_type=allwordssubstr&known_to_work_type=allwordssubstr&long_desc_type=substring&product=classpath&short_desc_type=allwordssubstr&x_axis_field=component&y_axis_field=bug_status&width=600&height=350&action=wrap&format=table">Component/Status Tables</a></li>
</ul>
<p>
</boxitem>
</box>
#include "include/layout.wml"
<subject "GNU Classpath CORBA interoperability page">
<box>
<boxtitle>GNU Classpath::Object management group</boxtitle>
<boxitem>
This page is referenced from the official
<a href="http://doc.omg.org/vendor-tags">OMG Vendor tag list</a>,
maintained by the <a href = "http://www.corba.org/">OMG</a>.
It is is designed to help programmers debugging interoperation
with our ORB.
</boxitem>
<boxtitle>GNU Classpath::CORBA interoperability</boxtitle>
<boxitem>
<ol>
<li><a href="http://developer.classpath.org/mediation/CorbaInteroperability">
Interoperability information (system exception minor codes, etc).</a></li>
<li><a href="http://developer.classpath.org/doc/">GNU Classpath API Specification</a></li>
<li><a href="bugs.html">Bug database.</a></li>
<li>GNU Classpath CORBA vs:
<a href="http://www.kaffe.org/~stuart/japi/htmlout/h-jdk12-classpath.html">JDK 1.2</a>
<a href="http://www.kaffe.org/~stuart/japi/htmlout/h-jdk13-classpath.html">JDK 1.3</a>
<a href="http://www.kaffe.org/~stuart/japi/htmlout/h-jdk14-classpath.html">JDK 1.4</a>
(updated nightly)</li>
<li><a href="http://www.gnu.org/software/classpath/classpath.html">Project home page</a></li>
</ol>
Registered information
<ul>
<li>GNU Classpath Vendor Minor Code Id (VMCID) is 0x47430xxx
("GC\x00\x00" - "GC\x0f\xff").</li>
</ul>
</boxitem>
</box>
ifndef WMK
export WMK=wmk
endif
ifndef WML
export WML=wml
endif
WML_SRC = $(wildcard *.wml)
WML_OBJS = $(patsubst %.wml,%.html,$(WML_SRC))
%.html: %.wml ../include/macros.wml ../include/layout.wml
$(WML) -o $@ $<
# -rm -f $(patsubst %.wml,%.html,$<)
all : $(WML_OBJS) subdirs
.PHONY : clean
clean :
$(foreach dir, $(SUBDIRS), sh -c "cd $(dir) && $(MAKE) clean";)
-rm -f *.html
.PHONY : subdirs
subdirs :
$(foreach dir, $(SUBDIRS), sh -c "cd $(dir) && $(MAKE)";)
.PHONY : publish
publish :
@sh -c "if [ "$(CLASSPATH_WEBROOT)x" = x ]; then echo 'You must set CLASSPATH_WEBROOT in your environment first'; exit 1; fi"
@sh -c "if [ ! -d $(CLASSPATH_WEBROOT) ]; then echo 'You must set CLASSPATH_WEBROOT in your environment first'; exit 1; fi"
$(foreach dir, $(SUBDIRS), sh -c "cd $(dir) && $(MAKE) publish";)
-cp -f *.html $(CLASSPATH_WEBROOT)/cp-tools/
#!wml --include=..
#include "include/layout.wml"
<set-var last-modified-author="mjw">
<subject "GNU Classpath Tools">
<box>
<boxtitle><a name="Tools">GNU Classpath::Tools</a></boxtitle>
<boxitem>
GNU Classpath Tools is a collection of tools for programmers using the
GNU Classpath library including a byte code disassembler, a JNI C header
file generator, serial version uid calculator, character converter, remote
method invocation tools and a documentation generation framework for java
source files. Plus tools specific to GNU Classpath development for generating
locale, currency and timezone information.
</boxitem>
</box>
<box>
<boxtitle><a name="Programs">GNU Classpath::Tools::Programs</a></boxtitle>
<boxitem>
GNU Classpath Tools contains the following tools. Some have their own
page describing them in more detail:
<ul>
<li><b>gjdoc</b>
A documentation generation framework for java source files.</li>
<li><b><createlink url="cp-tools/texidoclet.html" name="texidoclet"/></b>
A "doclet" for converting comments into GNU TexInfo source.</li>
<li>RMI tools such as rmic and rmiregistry.</li>
<li>Miscellaneous tools such as javap, javah, serialver and native2ascii/</a>
<li>GNU Classpath specific tools localgen and currencygen.</li>
</lu>
</boxitem>
</box>
<box>
<boxtitle><a name="Development">GNU Classpath::Tools::Downloads</a></boxtitle>
<boxitem>
At the moment there are only official releases of gjdoc on
<createlink url="ftp://ftp.gnu.org/gnu/classpath/" name="ftp.gnu.org"/>.
All other tools are available from CVS from the savannah project page below.
</boxitem>
</box>
<box>
<boxtitle><a name="Development">GNU Classpath::Tools::Development</a></boxtitle>
<boxitem>
GNU Classpath Tools is part of the GNU Classpath project which is hosted at
Savannah. The project page is
<createlink url="http://savannah.gnu.org/projects/classpath/"/>.
From there you can submit bug reports, check the latest news, find tasks
yet to be done, and most importantly submit patches!
<p>
There is one general discussion list for Classpath-tools. You may
<createlink url="" name="subscribe"/> to the mailing list via the web.
However, you may also just send an email message with a subject of "subscribe"
to <createlink url="mailto:cp-tools-discuss-request@gnu.org"/>.
You may <createlink url="" name="unsubscribe"/> from the mailing list via the
web as well.
</boxitem>
<boxtitle><a name="License">GNU Classpath::Tools::Distribution Terms</a></boxtitle>
<boxitem>
All GNU Classpath Tools are distributed under the terms of the
<createlink url="/copyleft/gpl.html" name="GNU General Public License">.
</boxitem>
</box>
SUBDIRS=
ifndef WMK
export WMK=wmk
endif
ifndef WML
export WML=wml
endif
TEXI_SRC := $(wildcard ../../*.texinfo)
VPATH = ../..
WML_SRC = $(patsubst ../../%, %, $(TEXI_SRC:.texinfo=.html)) $(wildcard *.wml)
WML_OBJS = $(patsubst %.wml,%.html,$(WML_SRC))
%.html : %.texinfo
texi2html -monolithic --ifinfo --ifhtml $<
# texi2html -monolithic $<;
# cp $< $@
# echo '#!wml --include=..' > $@
# sed -e 's/<HTML>/\^\#use wml::std::lang\^\#use wml::fmt::isolatin\^\#use wml::std::case global=upper\^<lang:new id=en short>\^<lang:star:slice:>\^\#include <include\/macros.wml>\^<HTML>/' -e 's/<BODY>/<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#1F00FF" ALINK="#FF0000" VLINK="#9900DD">/' -e 's/<\/BODY>/<footer>\^<\/BODY>/' $(subst .wml,.html,$(@)) > $@.sed;
# tr "\\^" "\n" < $@.sed >> $@
# -rm -f $(subst .wml,.html,$(@)) $@.sed
%.html: %.wml ../include/macros.wml ../include/layout.wml
$(WML) -o $@ $<
# -rm -f $(patsubst %.wml,%.html,$<)
.PHONY : all
all : $(WML_OBJS) subdirs
.PHONY : clean
clean :
$(foreach dir, $(SUBDIRS), sh -c "cd $(dir) && $(MAKE) clean";)
-rm -f *.html
-rm -f hacking.wml vmintegration.wml
.PHONY : subdirs
subdirs :
$(foreach dir, $(SUBDIRS), sh -c "cd $(dir) && $(MAKE)";)
.PHONY : publish
publish :
@sh -c "if [ "$(CLASSPATH_WEBROOT)x" = x ]; then echo 'You must set CLASSPATH_WEBROOT in your environment first'; exit 1; fi"
@sh -c "if [ ! -d $(CLASSPATH_WEBROOT) ]; then echo 'You must set CLASSPATH_WEBROOT in your environment first'; exit 1; fi"
$(foreach dir, $(SUBDIRS), sh -c "cd $(dir) && $(MAKE) publish";)
-cp -f *.html $(CLASSPATH_WEBROOT)/docs/
#!wml --include=..
#include "include/layout.wml"
<subject "GNU Classpath Documentation">
<box>
<boxtitle>Classpath::Legal Information</boxtitle>
<boxitem>
<blockquote>
<createlink url="license.html#documentation" name="Documentation Redistribution Policy"><br/>
<createlink url="license.html" name="Copyright and License Terms"><br/>
</blockquote>
</boxitem>
<boxtitle>Classpath::API & Language Documentation</boxtitle>
<boxitem>
<blockquote>
<createlink url="http://developer.classpath.org/doc/" name="GNU Classpath API Specification">
</blockquote>
</boxitem>
<boxtitle>Classpath::Developer's Documentation</boxtitle>
<boxitem>
<blockquote>
<createlink url="docs/hacking.html" name="GNU Classpath Hacker's Guide"><br/>
<createlink url="docs/vmintegration.html" name="Virtual Machine Integration Guide"><br/>
<createlink url="http://developer.classpath.org/mediation/" name="GNU Classpath Wiki"><br/>
</blockquote>
</boxitem>
</box>
#!wml --include=..
#use wml::std::page
#use wml::std::lang
#use wml::fmt::isolatin
#use wml::std::case global=upper
<lang:new id=en short>
<lang:star:slice:>
<set-var last-modified-author="<mjw>">
#include <include/macros.wml>
<header title="GNU Classpath and Jikes RVM">
<en>
<p>
</p>
<H4>Steps to use Jikes RVM and GNU Classpath on GNU/Linux</H4>
<OL>
<LI>
Install jikes-1.18 on your machine, if you do not already have it.
Jikes can be retrieved from <createlink url="http://oss.software.ibm.com/developerworks/opensource/jikes/" name="http://oss.software.ibm.com/developerworks/opensource/jikes/">
</LI>
<LI>
Check out the GNU Classpath head into some directory (hereinafter
called &lt;classpathdir&gt;)
<UL>
<LI>CVS root for GNU Classpath is :psevser:anoncvs@subversions.gnu.org:/cvsroot/classpath</LI>
<LI>Given that root, in &lt;classpathdir&gt; do `cvs checkout classpath'</LI>
</UL>
</LI>
<LI>
Build and configure GNU Classpath
<UL>
<LI>Do the aclocal; autoheader; automake; autoconf thing in &lt;classpathdir&gt;/classpath (see HACKING for details)</LI>
<LI>Make a directory '&lt;classpathdir&gt;i686' (i.e. &lt;classpathdir&gt; now contains a 'classpath' and a 'i686')</LI>
<LI>In i686, do a '../classpath/configure --enable-jni --with-jikes'</LI>
<LI>In i686, do 'make'</LI>
</UL>
<p>
You can, of course, use your own classpath tree if you have one.
But you must make an 'i686' directory parallel to the top of your tree,
and do configure there as specified above.
</p>
</LI>
<LI>Download Jikes RVM into some directory (hereinafter &lt;rvmroot&gt;)
<UL>
<LI>:pserver:anoncvs@www-124.ibm.com:/usr/cvs/jikesrvm</LI>
<LI>Given that root, in &lt;rvmroot&gt;, do 'cvs checkout rvm'</LI>
</UL>
</LI>
<LI>
Edit &lt;rvmroot&gt;/rvm/config/i686-pc-linux.eb to reflect your system.
Everything should be fine, except CLASSPATH_SRC, which should become
&lt;classpathdir&gt;
</LI>
<LI>
Set the following environment variables (bash style below,
mutatis mutandum)<br>
<pre>
export RVM_ROOT=&lt;rvmroot&gt;
export RVM_HOST_CONFIG=&lt;rvmroot&gt;/rvm/config/i686-pc-linux.eb
export RVM_TARGET_CONFIG=&lt;rvmroot&gt;/rvm/config/i686-pc-linux.eb
export RVM_BUILD=&lt;some directory that can be trashed or created&gt;
export PATH=&lt;rvmroot&gt;/rvm/bin:${PATH}
</pre>
</LI>
<LI>
Build Jikes RVM
<UL>
<LI>jconfigure -D RVM_WITH_GNU_CLASSPATH=1 BaseBaseSemiSpace</LI>
<LI>cd $RVM_BUILD</LI>
<LI>./jbuild</LI>
</UL>
</LI>
</OL>
<p>
Many variations are possible. Be warned that BaseBaseSemiSpace instructs
jconfigure to prepare a version of JikesRVM that is slow to run but quick
to build. After verifying that that works, you may want to try
FastAdaptiveSemiSpace instead (just change the last argument to jconfigure;
you will probably want to change RVM_BUILD so that the FastAdaptive image
does not destroy the BaseBase one). That will prepare a Jikes RVM version
that takes much longer to build (~25 minutes on a fast machine) but will run
programs much faster. Also be warned that you currently need rather a
lot of memory to build the FastAdaptiveSemiSpace image; recommended at least
512MB.
</p>
<p>
If you have problems, refer to specific install documentation for each
project. Thank you to Julian Dolby for providing these instructions.
</p>
<ul>
<li><createlink url="http://www-124.ibm.com/developerWorks/opensource/jikesrvm/" name="Jikes RVM"></li>
</ul>
</en>
<footer>
#!wml --include=..
#use wml::std::page
#use wml::std::lang
#use wml::fmt::isolatin
#use wml::std::case global=upper
<lang:new id=en short>
<lang:star:slice:>
<set-var last-modified-author="<mjw>">
#include <include/macros.wml>
<header title="GNU Classpath and ORP">
<en>
<p>
The Open Runtime Platform (<link
url="http://orp.sourceforge.net/" name="ORP">) provides a
covenient and simple platform for both using and testing GNU
Classpath. With the release of ORP 1.0.9, GNU Classpath's native
libraries are supported out of the box.
</p>
<H4>Steps to use ORP+GNU Classpath on GNU/Linux</H4>
<p>
Example assumes ORP 1.0.9, see above. In the example, GNU Classpath sources
are in ~/src/classpath/.
</p>
<UL>
<LI>Obtain <createlink url="http://sourceforge.net/projects/orp/"
name="ORP"> from the Sourceforge project page</LI>
<OL>
<LI><tt>wget
http://prdownloads.sourceforge.net/orp/orp-1.0.9.tgz</tt></LI>
<LI><tt>tar -xzvf orp-1.0.9.tgz</tt></LI>
</OL>
<LI>On some systems you might need to apply a patch to work around
gcc compile problems</LI>
<OL>
<LI><tt>cd orp-1.0.9</tt></LI>
<LI><tt>patch -p1 < ~/src/classpath/resource/orp-1.0.9.patch</tt></LI>
</OL>
<LI>Build ORP</LI>
<OL>
<LI><tt>make NON_ORP_NATIVE_LIBS=-DNON_ORP_NATIVE_LIBS dbg</tt></LI>
</OL>
</UL>
<p>
ORP should now be built and ready, orp-1.0.9/mains/orp/Linux/dbg/orp.
</p>
<H4>Using ORP+GNU Classpath on GNU/Linux</H4>
<p>
ORP needs to load shared libraries and the class library bytecode.
The recommended method is to use the environment variable
LD_LIBRARY_PATH to provide a colon separated list of directories in
which to look for GNU Classpath's shared libraries. The example below
assumes the user built and installed GNU Classpath without modifing
the default prefix.
</p>
<UL>
<LI>Set the LD_LIBRARY_PATH variable (assumes Bash shell)</LI>
<OL>
<LI><tt>export LD_LIBRARY_PATH=/usr/local/classpath/lib/classpath</tt></LI>
</OL>
</UL>
<UL>
<LI>Set the CLASSPATH variable (ORP doesn't yet use this but it
makes the command line easier).</LI>
<OL>
<LI><tt>export CLASSPATH=/usr/local/classpath/share/classpath/:.</tt></LI>
</OL>
</UL>
<UL>
<LI>Running HelloWorld with ORP</LI>
<OL>
<LI>Create a <tt>HelloWorld.java</tt> file and compile to a class file
with <tt>jikes</tt> or <tt>gcj -C</tt></LI>
<LI><tt>orp-1.0.9/mains/orp/Linux/dbg/orp -swapjit 0 1 -classpath
$CLASSPATH HelloWorld</tt></LI>
</OL>
</UL>
<p>
ORP contains two JITs at this time. By default ORP uses a
so-called JIT 3 and for some things it appears to have more problems
than when using JIT 1. This is the reasoning behind adding the
-swapjit 0 1 argument to ORP. ORP does not have the ability at this
time to execute raw bytecode and must use one of these two JIT
compilers.
</p>
</en>
<footer>
#!wml --include=..
<set-var last-modified-author="cbj">
##
# Ignore <en> tags without removing them (may be used in future)
#
<define-tag en endtag=required>
%body
</define-tag>
#include <include/layout.wml>
<subject "GNU Classpath 0.00 Annoucement (1999-02-06)">
<h1>GNU Classpath 0.00 Annoucement (1999-02-06)</h1>
<p>
<en>
I am pleased to announce the first development release of GNU Classpath,
a project to create a free software replacement for Sun's proprietary
Java class libraries. The project is initially providing class library
support for the Japhar JVM.
</en>
</p>
<p>
<en>
Here are the answers to some questions you might have about this project
and this release.
</en>
</p>
<p>
<en>
1). Where can I get it?
</en>
</p>
<p>
<en>
GNU Classpath 0.00 can be downloaded from:
<createlink url="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.00.tar.gz"
name="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.00.tar.gz">
</en>
</p>
<p>
<en>
2). What is included?
</en>
</p>
<p>
<en>
The following java packages are supported:
</en>
</p>
<UL>
<LI>java.beans</LI>
<LI>java.io</LI>
<LI>java.lang</LI>
<LI>java.lang.reflect</LI>
<LI>java.math</LI>
<LI>java.net</LI>
<LI>java.security (partial and non-functioning)</LI>
<LI>java.security.acl</LI>
<LI>java.security.interfaces</LI>
<LI>java.util</LI>
</UL>
<p>
<en>
This is enough to run many non-awt programs. Not all classes and methods
are implemented in this release, but most are. The major missing piece
of core functionality is java.text. Many of the implemented classes are
already up to the Java 1.2 spec.
</en>
</p>
<p>
<en>
3). What is required to build/install/run?
</en>
</p>
<p>
<en>
GNU Classpath requires that Japhar 0.07 be installed. Information on
obtaining Japhar is available from <createlink url="http://www.hungry.com/old-hungry/products/japhar/"
name="http://www.hungry.com/old-hungry/products/japhar/">. A working C compiler is also required. You
will need the Sun JDK installed if you elect to recompile the Java
classes.
</en>
</p>
<p>
<en>
4). What platforms are supported?
</en>
</p>
<p>
<en>
GNU/Linux is the only platform that has been tested. We plan to
eventually support many others.
</en>
</p>
<p>
<en>
5). Who should use this software?
</en>
</p>
<p>
<en>
This is a development release only. You should only install it if you
are interested in Classpath development or reporting bugs. We appreciate
both. You might also be interested if you enjoy installing random alpha
software.
</en>
</p>
<p>
<en>
6). Where do I go for more information?
</en>
</p>
<p>
<en>
The project has a web page at
<createlink url="http://www.classpath.org/" name="http://www.classpath.org/">
and
<createlink url="http://www.gnu.org/software/classpath/classpath.html"
name="http://www.gnu.org/software/classpath/classpath.html">
Information on our mailing list is available at the web site.
</en>
</p>
#!wml --include=..
<set-var last-modified-author="cbj">
##
# Ignore <en> tags without removing them (may be used in future)
#
<define-tag en endtag=required>
%body
</define-tag>
#include <include/layout.wml>
<subject "GNU Classpath 0.01 Annoucement (2000-11-20)">
<h1>GNU Classpath 0.01 Annoucement (2000-11-20)</h1>
<p>
<en>
I am pleased to announce a new development release of GNU Classpath,
a project to create a free software replacement for Sun's proprietary
Java class libraries. The project is initially providing class library
support for the Japhar JVM. There are a few other JVMs which have taken
the project libraries and used them in their own projects as well.
</en>
</p>
<p>
<en>
Here are the answers to some questions you might have about this project
and this release.
</en>
</p>
<p>
<en>
1). Where can I get it?
</en>
</p>
<p>
<en>
GNU Classpath 0.01 can be downloaded from:
<createlink url="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.01.tar.gz"
name="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.01.tar.gz">
</en>
</p>
<p>
<en>
2). What is included?
</en>
</p>
<p>
<en>
The following java packages are supported:
</en>
</p>
<UL>
<LI>java.beans</LI>
<LI>java.io</LI>
<LI>java.lang</LI>
<LI>java.lang.reflect</LI>
<LI>java.math</LI>
<LI>java.net</LI>
<LI>java.security (partial and non-functioning)</LI>
<LI>java.security.acl</LI>
<LI>java.security.interfaces</LI>
<LI>java.util</LI>
</UL>
<p>
<en>
This is enough to run many non-awt programs. Not all classes and
methods are implemented in this release, but most are. Many of the
implemented classes are already up to the Java 1.2 spec.
</en>
</p>
<p>
<en>
3). What is required to build/install/run?
</en>
</p>
<p>
<en>
GNU Classpath requires that Japhar 0.09 be installed. Information on
obtaining Japhar is available from <createlink url="http://www.hungry.com/old-hungry/products/japhar/"
name="http://www.hungry.com/old-hungry/products/japhar/">. A working C compiler is also required. You
will need IBM's Jikes Java compiler installed if you elect to
recompile the Java classes and Sun's 1.1.8 JDK javah installed to
create native header files. RPMs compatible with Red Hat 7 have been
created of Japhar, NSPR, a cross platform thread library Japhar uses,
and GNU Classpath. Installing onto a Gnome workstation should
provide the rest of the required libraries automatically. Otherwise,
you may need to install libart and other packages detailed more
precisely in the HACKING file.
</en>
</p>
<p>
<en>
4). What platforms are supported?
</en>
</p>
<p>
<en>
GNU/Linux is the only platform that has been tested. We plan to
eventually support many others.
</en>
<p>
<p>
<en>
5). Who should use this software?
</en>
</p>
<p>
<en>
This is a development release only. You should only install it if you
are interested in Classpath development or reporting bugs. We appreciate
both. You might also be interested if you enjoy installing random alpha
software.
</en>
</p>
<p>
<en>
6). Where do I go for more information?
</en>
</p>
<p>
<en>
The project has a web page at
<createlink url="http://www.classpath.org/" name="http://www.classpath.org/">
and
<createlink url="http://www.gnu.org/software/classpath/classpath.html"
name="http://www.gnu.org/software/classpath/classpath.html">
Information on our mailing list is available at the web site.
</en>
</p>
#!wml --include=..
<set-var last-modified-author="cbj">
##
# Ignore <en> tags without removing them (may be used in future)
#
<define-tag en endtag=required>
%body
</define-tag>
#include <include/layout.wml>
<subject "GNU Classpath 0.02 Annoucement (2001-01-05)">
<h1>GNU Classpath 0.02 Annoucement (2001-01-05)</h1>
<p>
<en>
I am pleased to announce a new development
release of GNU Classpath, a project to create a free software
replacement for Sun's proprietary Java class libraries. The project
is initially providing class library support for the Japhar JVM, but
will soon provide out of the box support SableVM, Intel's ORP, and
Kaffe. The major improvements for this release are the addition of a
correct security policy file and exception stack traces are now
printed when using Japhar.
</en>
</p>
<p>
<en>
Here are the answers to some questions you might have about this project
and this release.
</en>
</p>
<p>
<en>
1). Where can I get it?
</en>
</p>
<p>
<en>
GNU Classpath 0.02 can be downloaded from:
<createlink url="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.02.tar.gz"
name="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.02.tar.gz">
</en>
</p>
<p>
<en>
2). What is included?
</en>
</p>
<p>
<en>
The following java packages are supported:
</en>
</p>
<UL>
<LI>java.beans</LI>
<LI>java.io</LI>
<LI>java.lang</LI>
<LI>java.lang.reflect</LI>
<LI>java.math</LI>
<LI>java.net</LI>
<LI>java.security (partially functioning)</LI>
<LI>java.security.acl</LI>
<LI>java.security.interfaces</LI>
<LI>java.util</LI>
</UL>
<p>
<en>
This is enough to run many non-awt programs. Not all classes and
methods are implemented in this release, but most are. Many of the
implemented classes are already up to the Java 1.2 spec.
</en>
</p>
<p>
<en>
3). What is required to build/install/run?
</en>
</p>
<p>
<en>
GNU Classpath requires that Japhar 0.09 be installed along with a
single patch to Japhar 0.09 included with the release. Information on
obtaining Japhar is available from <createlink url="http://www.hungry.com/old-hungry/products/japhar/"
name="http://www.hungry.com/old-hungry/products/japhar/">. A working C compiler is also required. You
will need IBM's Jikes Java compiler installed if you elect to
recompile the Java classes and Sun's 1.1.8 JDK javah installed to
create native header files. RPMs compatible with Red Hat 7 have been
created of Japhar, NSPR, a cross platform thread library Japhar uses,
and GNU Classpath. Installing onto a Gnome workstation should provide
the rest of the required libraries automatically. Otherwise, you may
need to install libart and other packages detailed more precisely in
the HACKING file.
</en>
</p>
<p>
<en>
4). What platforms are supported?
</en>
</p>
<p>
<en>
GNU/Linux is the only platform that has been tested. We plan to
eventually support many others.
</en>
</p>
<p>
<en>
5). Who should use this software?
</en>
</p>
<p>
<en>
This is a development release only. You should only install it if you
are interested in Classpath development or reporting bugs. We appreciate
both. You might also be interested if you enjoy installing random alpha
software.
</en>
</p>
<p>
<en>
6). Where do I go for more information?
</en>
</p>
<p>
<en>
The project has a web page at
<createlink url="http://www.classpath.org/" name="http://www.classpath.org/">
and
<createlink url="http://www.gnu.org/software/classpath/classpath.html"
name="http://www.gnu.org/software/classpath/classpath.html">
Information on our mailing list is available at the web site.
</en>
</p>
#!wml --include=..
<set-var last-modified-author="mjw">
##
# Ignore <en> tags without removing them (may be used in future)
#
<define-tag en endtag=required>
%body
</define-tag>
#include <include/layout.wml>
<subject "GNU Classpath 0.03 Announcement (2002-02-08)">
<h1>GNU Classpath 0.03 Announcement (2002-02-08)</h1>
<p>
<en>
We are pleased to announce a new development release of GNU Classpath.
GNU Classpath, Essential Libraries for Java, is a project to create free
core class libraries for use with virtual machines and compilers for the
Java language.
</en>
</p>
<p>
<en>
New in this release are the addition of java.util.zip and java.rmi
packages, VM independent jni.h, more flexible build environment to
separate class and native code generation, out of the box support for
the ORP VM, and lots of bug fixes and updates to make GNU Classpath more
compliant with the 1.2, 1.3 and 1.4 API specification. The copyleft
has been clarified and all code in the library is now distributed under
the same terms.
</en>
</p>
<p>
<en>
Here are the answers to some questions you might have about this project
and this release.
</en>
</p>
<p>
<en>
1). Where can I get it?
</en>
</p>
<p>
<en>
GNU Classpath 0.03 can be downloaded from:
<createlink url="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.03.tar.gz"
name="ftp://alpha.gnu.org/pub/gnu/classpath/classpath-0.03.tar.gz">
</en>
</p>
<p>
<en>
2). What is included?
</en>
</p>
<p>
<en>
The following packages (some with subpackages) are supported:
</en>
</p>
<UL>
<LI>java.applet (untested)</LI>
<LI>java.awt (very experimental)</LI>
<LI>java.beans</LI>
<LI>java.io</LI>
<LI>java.lang</LI>
<LI>java.math</LI>
<LI>java.net</LI>
<LI>java.rmi</LI>
<LI>java.security (partially functioning)</LI>
<LI>java.sql</LI>
<LI>java.text (untested)</LI>
<LI>java.util</LI>
<LI>java.util.jar</LI>
<LI>java.util.zip</LI>
</UL>
<p>
<en>
This is enough to run many non-awt programs. Not all classes and
methods are implemented in this release, but most are. Many of the
implemented classes are already up to the 1.2 API spec. Some are
already compliant with the 1.3 and (preliminary) 1.4 API specification.
More information on the current status of each package can be found at
<createlink url="http://www.gnu.org/software/classpath/status.html"
name="http://www.gnu.org/software/classpath/status.html">
</en>
</p>
<p>
<en>
3). What is required to build/install/run?
</en>
</p>
<p>
<en>
GNU Classpath requires a working GNU build environment and a byte code
compiler such as jikes, gcj or kjc. When creating native code you will
also need a working C compiler and up to date Gnome development libraries
(gtk+, libart and gdk-pixbuf). More information on the precise version
numbers for the tools and libraries can be found in the INSTALL file.
</en>
</p>
<p>
<en>
4). What platforms and VMs are supported?
</en>
</p>
<p>
<en>
GNU/Linux is the only platform that has been tested. We plan to
eventually support many others.
</en>
</p>
<p>
<en>
This release support ORP 1.0.9 out of the box. But other compilers and
virtual machines such as gcj, Kissme, SableVM, Jupiter and Jaos also work
with slightly customized versions of GNU Classpath. Please check if there
is a customized version available for the VM you use before trying the bare
bones GNU Classpath release. We are working with the VM creators to keep
the differences between the core classes as small as possible.
</en>
</p>
<p>
<en>
5). Who should use this software?
</en>
</p>
<p>
<en>
Although it is already capable of supporting many Java applications,
this is a development release. As such, there are still many unfinished
components, and some problems are to be expected. You should install it
if you are interested in Classpath development or reporting bugs. We
appreciate both.
</en>
</p>
<p>
<en>
6). Where do I go for more information?
</en>
</p>
<p>
<en>
The project home page with information on our mailing list can be found at
<createlink url="http://www.classpath.org/" name="http://www.classpath.org/">
or
<createlink url="http://www.gnu.org/software/classpath/classpath.html"
name="http://www.gnu.org/software/classpath/classpath.html">
</en>
</p>
<p>
<en>
The bug database, CVS, task-manager and latest news can be found on Savannah at
<createlink url="http://savannah.gnu.org/projects/classpath/"
name="http://savannah.gnu.org/projects/classpath/">
</en>
</p>
ifndef WMK
export WMK=wmk
endif
ifndef WML
export WML=wml
endif
WML_SRC = $(wildcard *.wml)
WML_OBJS = $(patsubst %.wml,%.html,$(WML_SRC))
%.html: %.wml ../include/macros.wml ../include/layout.wml
$(WML) -o $@ $<
# -rm -f $(patsubst %.wml,%.html,$<)
all : $(WML_OBJS) subdirs
.PHONY : clean
clean :
$(foreach dir, $(SUBDIRS), sh -c "cd $(dir) && $(MAKE) clean";)
-rm -f *.html
.PHONY : subdirs
subdirs :
$(foreach dir, $(SUBDIRS), sh -c "cd $(dir) && $(MAKE)";)
.PHONY : publish
publish :
@sh -c "if [ "$(CLASSPATH_WEBROOT)x" = x ]; then echo 'You must set CLASSPATH_WEBROOT in your environment first'; exit 1; fi"
@sh -c "if [ ! -d $(CLASSPATH_WEBROOT) ]; then echo 'You must set CLASSPATH_WEBROOT in your environment first'; exit 1; fi"
$(foreach dir, $(SUBDIRS), sh -c "cd $(dir) && $(MAKE) publish";)
-cp -f *.html $(CLASSPATH_WEBROOT)/downloads/
#!wml --include=..
#include "include/layout.wml"
##
#
# Special Tags
#
<:
sub mylink {
my ($name, $url) = @_;
if ($url eq "") {
return "not available";
} else {
return '<a href="$url">$name</a>';
}
}
:>
<define-tag maybelink>
<preserve name>
<preserve url>
<set-var %attributes>
<:{
my $name = qq|<get-var name>|;
my $url = qq|<get-var url>|;
if ($url eq '') {
print "not available";
} else {
print "<a href=\"$url\">$name</a>";
}
}:>
<restore url>
<restore name>
</define-tag>
<define-tag download-block endtag=required>
<div align="center">
<table cellspacing="2" cellpadding="4">
<tr><th>Version</th><th colspan="2">Links</th></tr>
%body
</table>
</div>
</define-tag>
<define-tag download>
<preserve date>
<preserve version>
<preserve url>
<preserve notes>
<set-var %attributes>
<tr bgcolor="#CCCCCC">
<td align="center"><strong><get-var version></strong> / <get-var date></td>
<td align="center"><maybelink name="download" url="<get-var url>"></td>
<td align="center">[ <maybelink name="release notes" url="<get-var notes>"> ]</td>
</tr>
<restore notes>
<restore url>
<restore version>
<restore date>
</define-tag>
<set-var last-modified-author="prk">
<subject "GNU Classpath Downloads">
<box>
<boxtitle><a name="downloads">Classpath Downloads::Current Version</a></boxtitle>
<boxitem>
<download-block>
<download
date="13 January 2006"
version="0.20"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.20.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20060113.html"
>
<!-- download
date="yesterday"
version="tarball"
url=""
notes=""
--->
</download-block>
</boxitem>
<boxtitle><a name="downloads">Classpath Downloads::Archive</a></boxtitle>
<boxitem>
<download-block>
<download
date="02 November 2005"
version="0.19"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.19.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20051102.html"
>
<download
date="06 September 2005"
version="0.18"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.18.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20050906.html"
>
<download
date="15 July 2005"
version="0.17"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.17.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20050715.html"
>
<download
date="30 June 2005"
version="0.16"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.16.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20050630.html"
>
<download
date="29 April 2005"
version="0.15"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.15.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20050429.html"
>
<download
date="26 February 2005"
version="0.14"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.14.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20050226.html"
>
<download
date="6 January 2005"
version="0.13"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.13.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20050107.html"
>
<download
date="15 November 2004"
version="0.12"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.12.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20041115.html"
>
<download
date="13 September 2004"
version="0.11"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.11.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20040913.html"
>
<download
date="12 July 2004"
version="0.10"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.10.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20040712.html"
>
<download
date="02 May 2004"
version="0.09"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.09.tar.gz"
notes="http://www.gnu.org/software/classpath/announce/20040502.html"
>
<download
date="13 Mar. 2004"
version="0.08"
url="ftp://ftp.gnu.org/gnu/classpath/classpath-0.08.tar.gz"
>
<download
date="05 Dec. 2003"
version="0.07"
url="ftp://alpha.gnu.org/gnu/classpath/classpath-0.07.tar.gz"
>
<download
date="09 Sep. 2003"
version="0.06"
url="ftp://alpha.gnu.org/gnu/classpath/classpath-0.06.tar.gz"
notes="http://savannah.gnu.org/forum/forum.php?forum_id=2466"
>
<download
date="16 Feb. 2003"
version="0.05"
notes="http://mail.gnu.org/archive/html/classpath/2003-02/msg00043.html"
>
<download
date="06 May. 2002"
version="0.04"
notes="http://mail.gnu.org/archive/html/classpath/2002-05/msg00061.html"
>
<download
date="08 Feb. 2002"
version="0.03"
notes="downloads/20020208.html"
>
<download
date="06 Jan. 2001"
version="0.02"
notes="downloads/20010106.html"
>
<download
date="20 Nov. 2000"
version="0.01"
notes="downloads/20001120.html"
>
<download
date="06 Feb. 1999"
version="0.00"
notes="downloads/19990206.html"
>
</download-block>
</boxitem>
</box>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment