Initial revision

From-SVN: r102074
This commit is contained in:
Tom Tromey 2005-07-16 00:30:23 +00:00
parent 6f4434b39b
commit f911ba985a
4557 changed files with 1000262 additions and 0 deletions

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="compat/|examples/|external/|gnu/javax/swing/plaf/|test/|testsuite/|vm/reference/" kind="src" path="">
<attributes>
</attributes>
</classpathentry>
<classpathentry kind="src" path="vm/reference">
<attributes>
</attributes>
</classpathentry>
<classpathentry kind="src" path="external/sax">
<attributes>
</attributes>
</classpathentry>
<classpathentry kind="src" path="external/w3c_dom">
<attributes>
</attributes>
</classpathentry>
<classpathentry kind="src" path="examples">
<attributes>
</attributes>
</classpathentry>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -0,0 +1,17 @@
aclocal.m4
compile
configure
config.guess
config.log
config.cache
config.status
config.sub
config.h.in
config.h
libtool
ltmain.sh
Makefile
Makefile.in
stamp-h
stamp-h.in
autom4te*.cache

View File

@ -0,0 +1,11 @@
<?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="false"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="./autogen.sh"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${project}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${build_project}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="/bin/sh"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
</launchConfiguration>

View File

@ -0,0 +1,10 @@
<?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="false"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS" value="full,incremental,"/>
<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${project}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${build_project}"/>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${build_project}/configure"/>
<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/>
<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
</launchConfiguration>

View File

@ -0,0 +1,37 @@
<?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>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>full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/Configure.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,3 @@
#Mon Sep 20 12:53:19 MDT 2004
eclipse.preferences.version=1
encoding/ChangeLog=ISO-8859-1

View File

@ -0,0 +1,292 @@
#Mon Apr 25 22:37:20 MDT 2005
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
org.eclipse.jdt.core.compiler.problem.deprecation=ignore
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=ignore
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
org.eclipse.jdt.core.compiler.source=1.5
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=18
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=18
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=18
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=18
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=18
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=82
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=18
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=18
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=18
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=0
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
org.eclipse.jdt.core.formatter.blank_lines_after_package=1
org.eclipse.jdt.core.formatter.blank_lines_before_field=1
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
org.eclipse.jdt.core.formatter.blank_lines_before_method=1
org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
org.eclipse.jdt.core.formatter.blank_lines_before_package=2
org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=next_line
org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=next_line
org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
org.eclipse.jdt.core.formatter.brace_position_for_block=next_line_shifted
org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=next_line
org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=next_line
org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=next_line
org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=next_line
org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=next_line
org.eclipse.jdt.core.formatter.brace_position_for_switch=next_line_shifted
org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=next_line
org.eclipse.jdt.core.formatter.comment.clear_blank_lines=true
org.eclipse.jdt.core.formatter.comment.format_comments=true
org.eclipse.jdt.core.formatter.comment.format_header=false
org.eclipse.jdt.core.formatter.comment.format_html=true
org.eclipse.jdt.core.formatter.comment.format_source_code=true
org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
org.eclipse.jdt.core.formatter.comment.line_length=80
org.eclipse.jdt.core.formatter.compact_else_if=true
org.eclipse.jdt.core.formatter.continuation_indentation=2
org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
org.eclipse.jdt.core.formatter.indentation.size=4
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert
org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert
org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert
org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=true
org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
org.eclipse.jdt.core.formatter.lineSplit=80
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.tabulation.char=space
org.eclipse.jdt.core.formatter.tabulation.size=2

View File

@ -0,0 +1,4 @@
#Mon Apr 25 21:37:39 MDT 2005
eclipse.preferences.version=1
formatter_settings_version=8
org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8"?>\n<templates/>

30
libjava/classpath/AUTHORS Normal file
View File

@ -0,0 +1,30 @@
The following have made major contributions to the Classpath
project. See also the THANKYOU file, which lists people who have
caught bugs or submitted minor patches. If your name does not appear
on either list, but should, let us know. Please keep this list in
alphabetic order.
Stuart Ballard (stuart.ballard@mcmail.com)
Mark Benvenuto (mcb54@columbia.edu)
Geoff Berry (gcb@gnu.org)
James E. Blair (corvus@gnu.org)
Eric Blake (ebb9@email.byu.edu)
Sascha Brawer (brawer@acm.org)
Nic Ferrier (nferrier@tapsellferrier.co.uk)
Paul Fisher (rao@gnu.org)
Anthony Green (green@redhat.com)
Jochen Hoenicke (Jochen.Hoenicke@Informatik.Uni-Oldenburg.de)
Brian Jones (cbj@gnu.org)
Roman Kennke (roman@kennke.org)
Michael Koch (konqueror@gmx.de)
John Keiser (jkeiser@iname.com)
John Leuner (jewel@debian.org)
Warren Levy (warrenl@cygnus.com)
Bryce McKinlay (bryce@waitaki.otago.ac.nz)
Audrius Meskauskas (audriusa@Bioinformatics.org)
Aaron M. Renn (arenn@urbanophile.com)
Andrew Selkirk (aselkirk@sympatico.ca)
Tom Tromey (tromey@cygnus.com)
Ronald Veldema (rveldema@cs.vu.nl)
Mark Wielaard (mark@klomp.org)
Jon A. Zeppieri (jon@eease.com)

5
libjava/classpath/BUGS Normal file
View File

@ -0,0 +1,5 @@
This package is still in the early development phase. That means too
early to start listing bugs in a file like this one!
Report bugs to classpath@gnu.org or much better via Savannah at this
URL: http://savannah.gnu.org/bugs/?group=classpath

340
libjava/classpath/COPYING Normal file
View File

@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
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 of the License, 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

12460
libjava/classpath/ChangeLog Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,205 @@
This is an historic file listing changes from the old GNU JAXP project.
GNU JAXP is now part of GNU Classpath. New changes to these files are
listed in the main ChangeLog file or documented in the external
subdirectories for the w3c dom and sax sources.
2004-12-22 Chris Burdess <dog@gnu.org>
* Makefile.am: Generate META-INF/services factory configuration files.
2004-12-17 Mark Wielaard <mark@klomp.org>
* css,html2: Updated APIs to final versions of W3C specifications
(DOM Level 2).
2004-12-15 Mark Wielaard <mark@klomp.org>
* GnomeNodeIterator.java: Renamed to DomNodeIterator.java.
2004-12-10 Chris Burdess <dog@gnu.org>
* org/xml/sax: Updated version of SAX API to sax2r3 final.
2004-12-04 Chris Burdess <dog@gnu.org>
* README,INSTALL,AUTHORS: Updated documentation.
2004-12-03 Andrew Overholt <overholt@redhat.com>
* autogen.sh: New file.
2004-11-27 Chris Burdess <dog@gnu.org>
* Makefile.am: Removed redundant 'sources' and 'classes' makefile
variables. Added -W-no-long-long to libxmlj compilation flags.
2004-11-26 Andrew Overholt <overholt@redhat.com>
* Makefile.am: Update for gcj.
* configure.ac: Likewise.
* Makefile.in: Update generated.
* aclocal.m4: Likewise.
* configure: Likewise.
* config/config.guess: Likewise.
* config/config.sub: Likewise.
* config/ltmain.sh: Likewise.
2004-10-06 Chris Burdess <dog@gnu.org>
* Makefile.am: Fixes to permit gcj compilation.
2004-10-27 Chris Burdess <dog@gnu.org>
* parsers, transform, dom, sax, stream: API rewritten from
scratch to satisfy copyright assignment.
2004-10-13 Arnaud Vandyck <avdyk@gnu.org>
Reported by John Kristian <jk2004@engineer.com>:
* manifest.mf: added Implementation Version field.
2004-10-06 Chris Burdess <dog@gnu.org>
* Makefile.am: Make invocation of javadoc gjdoc-compatible.
2004-09-03 Chris Burdess <dog@gnu.org>
* all: Replaced GPL exception with new exception text.
2004-09-01 Chris Burdess <dog@gnu.org>
* all: Reassigned David Brownell's copyright to FSF.
2004-05-12 Chris Burdess <dog@gnu.org>
* (dom): Updated to DOM Level 3 Core and L&S interfaces.
* GnomeDocumentBuilder.java: Fixed stream retrieval bug.
2004-05-05 Chris Burdess <dog@gnu.org>
* Makefile.am, acinclude.m4: Added gcjh detection. Makefile will now
rebuild out of date JNI headers and gnujaxp.jar.
2004-04-22 Arnaud Vandyck <avdyk@ressource-toi.org>
* source: sources directory has been moved to source directory,
src has been deleted. Sorry for the inconvenience.
2004-04-20 Arnaud Vandyck <avdyk@ressource-toi.org>
Reported by Maarten Coene <MacBelgium@toughguy.net>:
* src/gnu/xml/aelfred2/JAXPFactory.java (getFeature): throws a
NullPointerException if you check for a feature that hasn't been
set at the factory level.
2004-04-19 Arnaud Vandyck <avdyk@ressource-toi.org>
* src/xmlj_io.h, src/xmlj_io.c, src/xmlj_error.h,
src/xmlj_error.c, src/libxsltj.c,
src/gnu/xml/libxmlj/transform/URIResolverProxy.java,
src/gnu/xml/libxmlj/transform/TransformerImpl.java,
src/gnu/xml/libxmlj/transform/TransformerFactoryImpl.java,
src/gnu/xml/libxmlj/transform/TransformTest.java,
src/gnu/xml/libxmlj/transform/TemplatesImpl.java,
src/gnu/xml/libxmlj/transform/SourceWrapper.java,
src/gnu/xml/libxmlj/transform/SourceLocatorImpl.java,
src/gnu/xml/libxmlj/transform/LibxsltStylesheet.java,
src/gnu/xml/libxmlj/transform/LibxmlDocument.java,
src/gnu/xml/libxmlj/transform/JavaContext.java,
src/gnu/xml/libxmlj/transform/IOToolkit.java,
src/gnu/xml/libxmlj/transform/ErrorListenerProxy.java,
src/gnu/xml/libxmlj/transform/DefaultURIResolverImpl.java,
src/gnu/xml/libxmlj/transform/DefaultErrorListenerImpl.java:
changed the copyright holder to FSF and changed the license to
GPL+linking exception, many thanks to Julian Scheid who wrote the
code and accepted to donate his code to the FSF and change the
license to GPL + linking exception.
* README: updated (added the libxmlj README comments)
* AUTHORS: added Julian.
* INSTALL: updated to match the current scheme (new dependency,
new build system)
2004-04-15 Arnaud Vandyck <avdyk@ressource-toi.org>
* src/gnu/xml/aelfred2/SAXDriver.java (SAXDriver): removed the
comparison choice because an org.xml.sax.SAXNotSupportedException
must be caught, so it'll slow the benefit of the interned strings!
* src/gnu/xml/pipeline/WellFormednessFilter.java (startDTD)
(notationDecl, unparsedEntityDecl): reverted the '==' comparison
between String's because they are internaled and there is no way
to choose if the comparison must use '==' or 'equals'
* src/gnu/xml/pipeline/ValidationConsumer.java: reverted the '=='
comparison between String's because they are internaled and there
is no way to choose if the comparison must use '==' or 'equals'
* src/gnu/xml/pipeline/DomConsumer.java:
(populateAttributes): using equals because I'm not sure "" is
interned?
* src/gnu/xml/aelfred2/XmlParser.java (parseAttribute)
(parseAttDef, readAttType, parseDefault)
(setInternalEntity, pushURL): if string-interning use the '=='
comparison, else, use 'equals'
* src/gnu/xml/aelfred2/SAXDriver.java (attribute, startElement)
(getType): if string-interning use the '==' comparison, else, use
'equals'
2004-04-14 Arnaud Vandyck <avdyk@ressource-toi.org>
* src/gnu/xml/aelfred2/SAXDriver.java (getFeature):
http://xml.org/sax/features/string-interning can now be set to
false so comparison if perform using equals (if true, comparison
is performed with '==').
* src/gnu/xml/util/XCat.java (startElement): reverted the '=='
comparison between String's because they are internaled and there
is no way to choose if the comparison must use '==' or 'equals'
* src/javax/xml/transform/sax/SAXResult.java, SAXSource.java,
SAXTransformerFactory.java, TemplatesHandler.java,
TransformerHandler.java,
src/javax/xml/transform/stream/StreamResult.java,
StreamSource.java, src/javax/xml/transform/dom/DOMLocator.java,
DOMResult.java, DOMSource.java,
src/javax/xml/parsers/ClassStuff.java, DocumentBuilder.java,
DocumentBuilderFactory.java, FactoryConfigurationError.java,
ParserConfigurationException.java, SAXParser.java,
SAXParserFactory.java, src/javax/xml/transform/ClassStuff.java,
ErrorListener.java, OutputKeys.java, Result.java, Source.java,
Templates.java, Transformer.java,
TransformerConfigurationException.java, TransformerException.java,
TransformerFactory.java,
TransformerFactoryConfigurationError.java,
src/gnu/xml/libxmlj/transform/DefaultErrorListenerImpl.java,
DefaultURIResolverImpl.java, ErrorListenerProxy.java,
IOToolkit.java, JavaContext.java, LibxmlDocument.java,
SourceLocatorImpl.java, SourceWrapper.java, TemplatesImpl.java,
TransformTest.java, TransformerImpl.java,
TransformerFactoryImpl.java, URIResolverProxy.java: removed the id
cvs tag to ease integration in other cvs repositories
2004-04-08 Arnaud Vandyck <avdyk@ressource-toi.org>
* NEWS: initial commit
* INSTALL: initial commit
* src: sources directory has been moved to src directory
* configure.ac, Makefile.am: now build jaxp and libxmlj together
* Makefile.aj, automakejar, configure.in: removed, no more used.
2004-02-05 Arnaud Vandyck <avdyk@users.sourceforge.net>
* ChangeLog.libxmlj, source/*.c, source/*h,
source/gnu/xml/libxmlj/transform/*.*: imported from libxmlj
* ChangeLog.gnujaxp: added to have some history of the project

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,169 @@
This is an historic file listing changes from the old GNU JAXP and libxmlj
projects. Both are now part of GNU Classpath. New changes to these files
are listed in the main ChangeLog file or documented in the external
subdirectories for the w3c dom and sax sources.
2004-12-30 Chris Burdess <dog@gnu.org>
* GnomeDocument.java,GnomeXPathNSResolver: Fixed XPathNSResolver
implementation.
2004-11-26 Chris Burdess <dog@gnu.org>
* xmlj_util.c: Check for exception in xmljNewString.
2004-11-17 Chris Burdess <dog@gnu.org>
* dom: DOM Level 3 Core conformance testing.
2004-11-12 Chris Burdess <dog@gnu.org>
* GnomeTransformerFactory.java: Implemented getAssociatedStylesheet.
2004-11-01 Chris Burdess <dog@gnu.org>
* xmlj_sax.c: Fixed segfault with external entities in transform.
2004-10-06 Chris Burdess <dog@gnu.org>
* RawData.java, RawData32.java, RawData64.java: Added copyright.
2004-10-25 Chris Burdess <dog@gnu.org>
* xmlj_transform.c: Experimental code to load external entities
(xsl:import, xsl:include, and document()) from Java URL.
* configure.ac: Minimum version of libxslt is 1.1.11.
2004-10-08 Chris Burdess <dog@gnu.org>
* xmlj_util.c: String caching only by setting macro.
* acinclude.m4,configure.ac,Makefile.am: automake 1.8 patch by
Michael Koch; fixes to compile in subdirectory.
2004-10-06 Chris Burdess <dog@gnu.org>
* xmlj_util.c,xmlj_error.c: Call fflush after fprintf.
2004-08-10 Chris Burdess <dog@gnu.org>
* transform: Fixed imports.
2004-07-30 Chris Burdess <dog@gnu.org>
* transform: Added support for DOMSource and DOMResult transforms
to/from GnomeDocument nodes.
2004-07-27 Chris Burdess <dog@gnu.org>
* GnomeElement: getAttribute(NS) returns empty strings instead of
null.
* sax: Cached java.lang.String class.
2004-07-21 Chris Burdess <dog@gnu.org>
* GnomeTransformerFactory.java: getFeature supports stream features.
* dom: Added traversal function.
2004-07-12 Chris Burdess <dog@gnu.org>
* dom: Entities and notations NamedNodeMaps.
2004-07-06 Chris Burdess <dog@gnu.org>
* xpath: Permit wildcards in getElementsByTagName[NS].
2004-07-04 Chris Burdess <dog@gnu.org>
* dom: Skeleton DOMConfiguration implementation.
2004-07-03 Chris Burdess <dog@gnu.org>
* dom: Corrected GnomeElement attribute methods and isEqualNode.
2004-07-01 Chris Burdess <dog@gnu.org>
* dom: Corrected implementation of getElementsByTagName.
2004-06-29 Chris Burdess <dog@gnu.org>
* dom: Added implementation of DOMImplementationSource.
2004-06-28 Chris Burdess <dog@gnu.org>
* dom: Fixed name matching.
2004-06-26 Chris Burdess <dog@gnu.org>
* dom: Added GnomeTypeInfo.
2004-06-25 Chris Burdess <dog@gnu.org>
* xmlj_sax.c: Revert to calling ignorableWhitespace.
2004-06-23 Chris Burdess <dog@gnu.org>
* all: Use RawData for native pointers.
* xmlj_sax.c: Fixed entity resolution.
* xmlj_io.c: Fixed race condition closing input stream context.
2004-06-03 Chris Burdess <dog@gnu.org>
* all: Use longs for native pointers.
* dom: Added dom.xpath interfaces.
2004-06-02 Chris Burdess <dog@gnu.org>
* GnomeNode.java et al, xmlj_dom.c: Implementation of some DOM Level 3
methods.
2004-06-01 Chris Burdess <dog@gnu.org>
* GnomeNode.java et al: Applied Dalibor's #3080 patch for missing
imports.
2004-05-27 Chris Burdess <dog@gnu.org>
* GnomeXMLReader.java, GnomeDocumentBuilder.java, JavaContext.java:
Correct handling of zero-length documents.
2004-05-24 Chris Burdess <dog@gnu.org>
* all: Refactoring for Gnome* naming scheme. All modules now use
common parsing framework.
2004-05-11 Chris Burdess <dog@gnu.org>
* GnomeXMLReader.java,xmlj_sax.x,xmlj_io.c: Provide selective
callbacks, based on the registered callback listeners.
2004-05-04 Chris Burdess <dog@gnu.org>
* xmlj_sax.c: Fixed document locators.
2004-05-02 Chris Burdess <dog@gnu.org>
* xmlj_sax.c: Implement DeclHandler and LexicalHandler callbacks.
* GnomeXMLReader.java: Fixed feature/property handling.
2004-04-29 Chris Burdess <dog@gnu.org>
* xmlj_[dom,io].c: Use Java streams for DOM input.
2004-04-28 Chris Burdess <dog@gnu.org>
* xmlj_node.c et al: Implemented node cache (task #3289).
2004-04-27 Chris Burdess <dog@gnu.org>
* all: Added SAX and DOM libxmlj implementation.
* Makefile.am: Moved JNI sources and headers to jni subdirectory.
* acinclude.m4: Fixed compatibility handling of libxml2 version.
2003-03-07 Julian Scheid <jscheid@sektor37.de>
* Makefile.am: Fixed build inconsistency.
* all: Added caching, fixed memory leaks.
2003-02-10 Julian Scheid <jscheid@sektor37.de>
* all: First development release

View File

@ -0,0 +1,60 @@
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>'

13
libjava/classpath/HACKING Normal file
View File

@ -0,0 +1,13 @@
HACKING GNU Classpath - Last updated: April 2, 2004
Please read the README and INSTALL files first.
You only need the information in this file when working on non-released (CVS)
versions of GNU Classpath. Installation information for released versions
of GNU Classpath can be found in the INSTALL file.
Everything you ever wanted to know about hacking on GNU Classpath and
how to obtain CVS checkouts can be found in doc/hacking.texi and/or
on the website http://www.gnu.org/software/classpath/docs/hacking.html
If you have any questions, suggestions, etc., send them to
classpath@gnu.org.

135
libjava/classpath/INSTALL Normal file
View File

@ -0,0 +1,135 @@
Installing GNU Classpath - Last updated: January 6, 2005
First, this is a development release only! Unless you are interested in
active development and debugging, or just like running random alpha code,
this release is probably not for you. Please see the README file for a
list of VMs that work with GNU Classpath.
Note that if you are building from a non-released (CVS) version of GNU
classpath, installation instructions are found in the doc/hacking.texi
file. Or at http://www.gnu.org/software/classpath/docs/hacking.html
------------------------------------------------------------------
Suggested Software
------------------------------------------------------------------
GNU make ("gmake") is required for building Classpath.
For any build environment involving native libraries, these
new versions of autoconf, automake, and libtool are required
if changes are made that require rebuilding configure, Makefile.in,
aclocal.m4, or config.h.in.
- GNU autoconf 2.59+
- GNU automake 1.9+
- GNU libtool 1.5+
When working from CVS you can run the above tools by executing
./autogen.sh in the source directory.
For building the Java bytecode (.class files), one of these
compilers are required. You can select which compiler using
--with-jikes, --with-gcj or --with-kjc as argument to
configure; the present default is gcj.
- GCJ 3.3+ (part of the GNU GCC package).
- IBM jikes 1.19+.
- The kjc compiler is supported with configure but we have
been unable to successfully compile with it.
For building the gtk+ AWT peer JNI native libraries, the following
are required unless --disable-gtk-peer is used as an argument to
configure.
- GTK+ 2.4.x (or higher)
- gdk-pixbuf
- XTest Extension (libXtst) for GdkRobot support in java.awt.
For building the Cairo GdkGraphics2D backend you need at least
Cairo 0.5.0.
For building the xmlj JAXP implementation (dsabled by default, use
configure --enable-xmlj) you need the following installed:
- The XML C library for Gnome (libxml2)
http://www.xmlsoft.org/
Minimum version of libxml2 required: 2.6.8
- The XSLT C library for Gnome (libxslt)
http://www.xmlsoft.org/XSLT/
Minimum version of libxslt required: 1.1.11
For building the documentation you will need
- texinfo 4.2 or higher.
This package was designed to use the GNU standard for configuration
and makefiles. To build and install do the following:
1). Run the "configure" script to configure the package. There are
various options you might want to pass to configure to control how the
package is built. Consider the following options, "configure --help"
gives a complete list.
--enable-java compile Java source default=yes
--enable-jni compile JNI source default=yes
--enable-gtk-peer compile GTK native peers default=yes
--enable-gtk-cairo compile cairo based Graphics2D default=no
--enable-load-library enable to use JNI native methods default=yes
--with-jikes to compile the class library using jikes
the default is to use gcj
--with-glibj define what to install (zip|flat|both|none)
default=zip
--enable-Werror whether to compile C code with -Werror which turns
any compiler warning into a compilation failure
default=no
--enable-xmlj compile native libxml/xslt library default=no
--with-gjdoc generate documentation using gjdoc default=no
--with-jay Regenerate the parsers with jay must be given the
path to the jay executable
For more flags run configure --help.
2). Type "gmake" to build the package. There is no longer a
dependency problem and we aim to keep it that way.
3). Type "gmake install" to install everything. This may require
being the superuser. The default install path is /usr/local/classpath
you may change it by giving configure the --prefix=<path> option.
Report bugs to classpath@gnu.org or much better via Savannah at this
URL: http://savannah.gnu.org/support/?func=addsupport&group=classpath
Happy Hacking!
Once installed, GNU Classpath is ready to be used by any VM that supports
using the official version of GNU Classpath. Simply ensure that
/usr/local/classpath/share/classpath is in your $CLASSPATH environment
variable. You'll also have to set your LD_LIBRARY_PATH
variable (or similar system configuration) to include the Classpath
native libraries in /usr/local/classpath/lib/classpath.
*NOTE* All example paths assume the default prefix is used with configure.
If you don't know what this means then the examples are correct.
LD_LIBRARY_PATH=/usr/local/classpath/lib/classpath
CLASSPATH=/usr/local/classpath/share/classpath/glibj.zip:.
export LD_LIBRARY_PATH CLASSPATH
More information about the VMs that use GNU Classpath can be found in the
README file.
------------------------------------------------------------------
Misc. Notes
------------------------------------------------------------------
Compilation is accomplished using a compiler's @file syntax. For our
part, we avoid placing make style dependencies as rules upon the
compilation of a particular class file and leave this up to the Java
compiler instead.
The --enable-maintainer-mode option to configure currently does very
little and shouldn't be used by ordinary developers or users anyway.
On Windows machines, the native libraries do not currently build, but
the Java bytecode library will. Gcj trunk is beginning to work under
Cygwin. The mingw32 version of jikes cannot follow symbolic links, you
must use a cygwin build of jikes to access this limited functionality.

286
libjava/classpath/LICENSE Normal file
View File

@ -0,0 +1,286 @@
The software in this package is distributed under the GNU General Public
License (with a special exception described below).
A copy of GNU General Public License (GPL) is included in this distribution,
in the file COPYING. If you do not have the source code, it is available at:
http://www.gnu.org/software/classpath/
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.
GNU Classpath also contains other (example) code distributed under other
terms. External libraries included with GNU Classpath may also be
distributed under different licensing terms.
The location and the exact terms of this other code is mentioned below.
Directory examples.
All example code is distributed under the GNU General Public License (GPL).
Each example source code files carries the following notice:
GNU Classpath examples are 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 examples are distributed in the hope that they 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 examples; see the file COPYING. If not,
write to the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
For more information see the README file in the examples directory.
Directory native/fdlibm
fdlimb contains general algorithms useful for runtimes and compilers to
support strict double and float mathematical operations.
fdlibm files carry the following notices:
Copyright (c) 1991 by AT&T.
Permission to use, copy, modify, and distribute this software for any
purpose without fee is hereby granted, provided that this entire notice
is included in all copies of any software which is or includes a copy
or modification of this software and in all copies of the supporting
documentation for such software.
THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
Developed at SunPro, a Sun Microsystems, Inc. business.
Permission to use, copy, modify, and distribute this
software is freely granted, provided that this notice
is preserved.
The upstream for fdlibm is libgcj (http://gcc.gnu.org/java/), they sync
again with the 'real' upstream (http://www.netlib.org/fdlibm/readme).
The documentation of some of the files in org/ietf/jgss/ is derived from
the text of RFC 2853: Generic Security Service API Version 2: Java Bindings.
That document is covered under the following license notice:
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published and
distributed, in whole or in part, without restriction of any kind,
provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of developing
Internet standards in which case the procedures for copyrights defined
in the Internet Standards process must be followed, or as required to
translate it into languages other than English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Directory external/w3c_dom
Bindings for the Document Object Model (DOM) as published by the
World Wide Web Consortium. All files are distributed under the following
W3C Software Short Notice:
Copyright (c) 2004 World Wide Web Consortium,
(Massachusetts Institute of Technology, European Research Consortium for
Informatics and Mathematics, Keio University). All Rights Reserved. This
work is distributed under the W3C(r) Software License [1] 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.
[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
Permission to copy, modify, and distribute this software and its
documentation, with or without modification, for any purpose and
without fee or royalty is hereby granted, provided that you include
the following on ALL copies of the software and documentation or
portions thereof, including modifications:
1. The full text of this NOTICE in a location viewable to users of
the redistributed or derivative work.
2. Any pre-existing intellectual property disclaimers, notices, or
terms and conditions. If none exist, the W3C Software Short Notice
should be included (hypertext is preferred, text is permitted) within
the body of any redistributed or derivative code.
3. Notice of any changes or modifications to the files, including
the date changes were made. (We recommend you provide URIs to the
location from which the code is derived.)
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR
DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL
OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in
advertising or publicity pertaining to the software without specific,
written prior permission. Title to copyright in this software and any
associated documentation will at all times remain with copyright
holders.
Directory external/sax
Simple API for XML, a standard application interface for processing XML.
All files are distributed with the following short notice:
NO WARRANTY! This class is in the Public Domain.
The www.saxproject.org explains:
Copyright Status
SAX is free!
In fact, it's not possible to own a license to SAX, since it's been
placed in the public domain.
No Warranty
Because SAX is released to the public domain, there is no warranty
for the design or for the software implementation, to the extent
permitted by applicable law. Except when otherwise stated in writing
the copyright holders and/or other parties provide SAX "as is" without
warranty of any kind, either expressed or implied, including, but not
limited to, the implied warranties of merchantability and fitness for
a particular purpose. The entire risk as to the quality and
performance of SAX is with you. Should SAX prove defective, you assume
the cost of all necessary servicing, repair or correction.
In no event unless required by applicable law or agreed to in
writing will any copyright holder, or any other party who may modify
and/or redistribute SAX, be liable to you for damages, including any
general, special, incidental or consequential damages arising out of
the use or inability to use SAX (including but not limited to loss of
data or data being rendered inaccurate or losses sustained by you or
third parties or a failure of the SAX to operate with any other
programs), even if such holder or other party has been advised of the
possibility of such damages.
Copyright Disclaimers
This page includes statements to that effect by David Megginson, who
would have been able to claim copyright for the original work.
SAX 1.0
Version 1.0 of the Simple API for XML (SAX), created collectively by
the membership of the XML-DEV mailing list, is hereby released into
the public domain.
No one owns SAX: you may use it freely in both commercial and
non-commercial applications, bundle it with your software
distribution, include it on a CD-ROM, list the source code in a book,
mirror the documentation at your own web site, or use it in any other
way you see fit.
David Megginson, sax@megginson.com
1998-05-11
SAX 2.0
I hereby abandon any property rights to SAX 2.0 (the Simple API for
XML), and release all of the SAX 2.0 source code, compiled code, and
documentation contained in this distribution into the Public
Domain. SAX comes with NO WARRANTY or guarantee of fitness for any
purpose.
David Megginson, david@megginson.com
2000-05-05
Two files in gnu/xml/aelfred2 (SAXDriver.java and XmlParser.java) were
originally derived from code which carried the following notice:
Copyright (c) 1997, 1998 by Microstar Software Ltd.
AElfred is free for both commercial and non-commercial use and
redistribution, provided that Microstar's copyright and disclaimer are
retained intact. You are free to modify AElfred for your own use and
to redistribute AElfred with your modifications, provided that the
modifications are clearly documented.
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. Please use it AT
YOUR OWN RISK.
The files in resource/gnu/java/locale were generated by gnu.localegen
from the files distributed from date provided by CLDR.
All these files are distributed under the following terms:
Copyright (C) 1991-2005 Unicode, Inc. All rights reserved. Distributed
under the Terms of Use in http://www.unicode.org/copyright.html.
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Unicode data files and any associated documentation (the
"Data Files") or Unicode software and any associated documentation
(the "Software") to deal in the Data Files or Software without
restriction, including without limitation the rights to use, copy,
modify, merge, publish, distribute, and/or sell copies of the Data
Files or Software, and to permit persons to whom the Data Files or
Software are furnished to do so, provided that (a) the above copyright
notice(s) and this permission notice appear with all copies of the
Data Files or Software, (b) both the above copyright notice(s) and
this permission notice appear in associated documentation, and (c)
there is clear notice in each modified Data File or in the Software as
well as in the documentation associated with the Data File(s) or
Software that the data or software has been modified.
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR
ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR
SOFTWARE.
Except as contained in this notice, the name of a copyright holder
shall not be used in advertising or otherwise to promote the sale, use
or other dealings in these Data Files or Software without prior
written authorization of the copyright holder.

View File

@ -0,0 +1,21 @@
## Input file for automake to generate the Makefile.in used by configure
# lib first, to compile .class files before native code, last examples
SUBDIRS = lib doc external include native resource scripts $(EXAMPLESDIR)
DIST_SUBDIRS = lib doc external include native resource scripts examples
native: lib
EXTRA_DIST = HACKING BUGS THANKYOU mauve-classpath LICENSE \
ChangeLog-2003 ChangeLog-2004 \
ChangeLog.gnujaxp.1 ChangeLog.gnujaxp.2 ChangeLog.libxmlj
#DISTCHECK_CONFIGURE_FLAGS = --enable-gjdoc
dist-hook:
-$(mkinstalldirs) $(distdir)/include
-cp -f $(top_srcdir)/include/*.in $(distdir)/include
-cp -f $(top_srcdir)/include/*.h $(distdir)/include
ChangeLog:
cvs2cl.pl -b --gmt --log-opts "-d'1998-06-30< now'" --window 7200 --usermap ChangeLog.usermap --ignore ChangeLog --fsf

703
libjava/classpath/NEWS Normal file
View File

@ -0,0 +1,703 @@
New in release 0.17 (Jul 15, 2005)
* 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.
New in release 0.16 (Jun 30, 2005)
* Better GTK scrollbar peer implementation when using GTK >= 2.6.
* GdkGraphics2D has been updated to use Cairo 0.5.x APIs.
* BufferedImage and GtkImage rewrites. All image drawing operations
should now work correctly (flipping requires gtk+ >= 2.6)
* Future Graphics2D, Image and Text work is documented at:
http://developer.classpath.org/mediation/ClasspathGraphicsImagesText
* Free Swing Top-Level Compatibility. JFrame, JDialog, JApplet,
JInternalFrame, and JWindow are now 1.5 compatible in the sense that you
can call add() and setLayout() directly on them, which will have the same
effect as calling getContentPane().add() and getContentPane().setLayout().
* The JTree interface has been completed. JTrees now recognizes mouse clicks
and selections work, but the visual implementation is not yet complete.
Work on expansion and collapsing of the tree nodes is being implemented.
* BoxLayout works properly now.
* Fixed GrayFilter to actually work.
* Metal SplitPane implemented.
* Lots of free swing text and editor stuff work now.
* When gtk+ 2.6 or higher is installed the default log handler will produce
stack traces whenever a WARNING, CRITICAL or ERROR message is produced.
* The CORBA implementation is now a working prototype that should support
features up till 1.3 inclusive.
We would invite groups writing CORBA dependent applications to
try Classpath implementation, reporting any possible bugs.
The CORBA prototype is interoperable with Sun's implementation v 1.4,
transferring object references, primitive types, narrow and wide
strings, arrays, structures, trees, abstract interfaces and
value types (feature of CORBA 2.3) between these two platforms.
The remote exceptions are transferred and handled correctly.
The stringified object references (IORs) from various sources are
parsed as required.
The transient (for current session) and permanent (till jre restart)
redirections work.
Both Little and Big Endian encoded messages are accepted.
The implementation is verified using tests from the former cost.omg.org.
The current release includes working examples (see the examples directory),
demonstrating the client-server communication, using either CORBA Request
or IDL-based stub (usually generated by a IDL to java compiler).
These examples also show how to use the Classpath CORBA naming service.
The IDL to java compiler is not yet written, but as our library must be
compatible, it naturally accepts the output of other idlj implementations.
* New --with-vm-classes configure option, and new 'build' setting
for --with-glibj. (Only for integrators.)
Runtime interface changes:
* Start of a generic JDWP framework in gnu/classpath/jdwp.
This is unfinished, but feedback (at classpath@gnu.org) from runtime
hackers is greatly appreciated. Although most of the work is currently
being done around gcj/gij we want this framework to be as VM neutral as
possible. Early design is described in:
http://gcc.gnu.org/ml/java/2005-05/msg00260.html
* Native method VMClass.getModifiers() now takes an additional
boolean parameter.
* Deprecated native method VMClassLoader.defineClass(ClassLoader,
String, byte[], int, int) has been replaced by
VMClassLoader.defineClass(ClassLoader, String, byte[], int, int,
ProtectionDomain)
* VMClassLoader.loadClass(String name, boolean resolve) is now native,
replacing the former version which just returned null.
* Deprecated native method VMClassLoader.getPrimitiveClass(String) has
been replaced by new native method VMClassLoader.getPrimitiveClass(char).
* Previously empty implementations of methods VMThread.countStackFrames(),
VMThrowable.fillInStackTrace(), and VMThrowable.getStackTrace() have
been removed; these methods are now native methods.
* Fields "exceptionTypes" and "parameterTypes" have been removed from
Contructor.java and getExceptionTypes() and getParameterTypes() are
now native methods.
New in release 0.15 (Apr 29, 2005)
* The old character encoding framework (gnu.java.io.EncodingManager)
has been replaced by a system based completely on nio.charset
providers. Many converters have been added, both the io, lang and nio
frameworks now use the same set of converters and the whole character
stream framework (Readers and Writers) have been optimized. For some
workloads this leads to 2x till 20x speedups.
The default charsets supported are:
Cp424, Cp437, Cp737, Cp775, Cp850, Cp852, Cp855, Cp857, Cp860, Cp861,
Cp862, Cp863, Cp864, Cp865, Cp866, Cp869, Cp874, ISO_8859_1, ISO_8859_13,
ISO_8859_15, ISO_8859_2, ISO_8859_3, ISO_8859_4, ISO_8859_5, ISO_8859_6,
ISO_8859_7, ISO_8859_8, ISO_8859_9, KOI_8, MS874, MacCentralEurope,
MacCroatian, MacCyrillic, MacDingbat, MacGreek, MacIceland, MacRoman,
MacRomania, MacSymbol, MacThai, MacTurkish, US_ASCII, UTF_16, UTF_16BE,
UTF_16Decoder, UTF_16Encoder, UTF_16LE, UTF_8, UnicodeLittle, Windows1250,
Windows1251, Windows1252, Windows1253, Windows1254, Windows1255,
Windows1256, Windows1257, Windows1258.
Many more encoding are supported through the new IconvProvider
depending on the platform iconv support. GNU libiconv is recommended.
The IconvProvider is currently not enabled by default. To enable it
define the system property gnu.classpath.nio.charset.provider.iconv=true.
Some runtimes might choose to enable this by default by setting it
through VMSystemProperties. We would like to get feedback on whether
enabling or disabling the IconvProvider by default results in the
highest speedups.
* Free swing metal and pluggable look and feels have been improved.
The GNU Classpath free swing example can now be run with different
"skins" by setting the system property swing.defaultlaf to the GNU,
Basic or Metal look and feel.
* Some of the org.omg.CORBA classes and packages have now been
implemented. The Savannah bug tracker contains additional tasks for
which we are seeking help.
* Fixed compatibility problems in the java.beans which affected
Eclipse's Visual Editor Project.
* New completely lock free (Inheritable)ThreadLocal implementation.
* javax.swing.text.rtf framework added which can handle simple (plain)
text tokens.
* Support for parsing html files into Level 2 Document Object Model
(org.w3c.dom.html2 and javax.swing.text.html.parser). And a start of
javax.swing.text.html framework added.
Runtime interface changes:
* jni.h changed to better support compiling runtimes implementing jni;
see VM integration guide for details.
* New --enable-default-toolkit option to configure can be used to set
the fully qualified class name of the default AWT toolkit to use.
If not given, the old default of gnu.java.awt.peerk.gtk.GtkToolkit
is used.
* New --disable-core-jni option can be used to disable building the
"core" JNI libraries. This is primarily useful if your VM can use the
Gtk peers but not the core JNI libraries.
* New system property "gnu.classpath.boot.library.path" can be specified
to define the location of the JNI libraries. It is by all means meant
ONLY for VM implementors and GNU Classpath hackers. See the hacking
guide for more information.
* The helper methods currentLoader() and allocateObject() for
java.io.ObjectInputStream have been moved to a VMObjectInputStream class.
Reference implementations are provided.
* java.net.InetAddress now uses VMInetAddress for runtime/platform
specific methods getLocalHostname(), getHostByAddr() and
getHostByName(). java.net.NetworkInterface now uses VMNetworkInterface
for runtime/platform specific getInterfaces() support. Default
(Posix/GNU JNI) implementations are provided.
* VMClass has a new method getModifiers(Class, boolean) which can be
used to get the real modifiers for an inner class or the ones
specified by the InnerClasses attribute.
* All (possible) runtime specific methods of Object and Double are now
in VMObject and VMDouble. Where possible generic reference
implementations are provided.
* The reference implementation of VMClassLoader now handles zip files
on the boot loader class path in getResources().
Other changes:
New in release 0.14 (Feb 25, 2005)
* Character encoders and decoders have been added for:
iso-8859-6 (arabic), iso-8859-7 (greek), iso-8859-8 (hebrew),
iso-8859-9 (latin-5), iso-8859-13, iso-8859-15 (latin-9), cp1047 (ebcdic),
ebcdic-xml-us,ascii, windows-1250, windows-1252, UTF-16BE (Big Endian),
UTF-16LE (Little Endian), UTF-32BE (Big Endian), UTF-32LE (Little Endian).
* Full documentation for all classes can be generated (again) by using
the --with-gjdoc configure option.
* javax.awt.imageio support through gdkpixbuf.
Runtime interface changes:
* VMSecurityManager has been replaced by gnu.classpath.VMStackWalker.
currentClassLoader() is no longer needed, and there are also two new
methods with non-native implementations. VM implementors are encouraged
to provide more efficient versions.
* VMRuntime.nativeLoad() now takes an additional ClassLoader parameter.
New in release 0.13 (Jan 6, 2005)
* The http url protocol handler has been replaced with a full HTTP/1.1
version from GNU inetlib.
* A new ftp url protocol handler has been added also from GNU inetlib.
* java.beans has been updated to 1.4 including support for XMLEncoder
and XMLDecoder.
* The java.util.Locale support is now based on the Common Locale Data
Repository (CLDR) Project (see http://www.unicode.org/cldr/).
GNU Classpath provides support for more than 250 locales now.
This new support is experimental and the GNU Classpath hackers are
working together with runtime developers and the unicode consortium
to improve them in the future.
If your runtime misdetects your locale or if the default locale gives
problems please try running with -Duser.language=en and -Duser.region=US
to fall back on a known good locale.
* Added implementations of javax.xml (JAXP 1.3), org.xml.sax (SAX2) and
org.w3c.dom (DOM Level 3) interfaces. It is possible to switch between
different implementations AElfred2, GNU DOM, GNU XSL, libxmlj SAX,
libxmlj DOM and libxmlj XSL by setting different system properties.
Also provided is a preliminary XPath 1.0 implementation.
The libxmlj versions are build around libxml2 and libxslt and have to
be enabled during build time by the --enable-xmlj configure flag.
The current support is equal to the last released GNU JAXP 1.3 release.
These packages will be maintained as part of the GNU Classpath core classes
in the future. For more information, conformance results and documentation
on selecting different implementations see doc/README.jaxp.
* More AWT accessible support.
* AWT gtk+ peers component layout, dialog placement, keyboard focus
handling and text positioning have been improved.
* ImageIO interfaces are more complete.
* JList, JTable and JTree have been hugely improved.
* java.awt.Robot support with GdkRobot in the gtk+ awt peers.
Needs XTest Extension (libXtst) XServer support.
* New --disable-examples configure argument.
Runtime interface changes:
* Added a new method (VMRuntime.enableShutdownHooks) that enables the VM
to lazily register an exit handler.
* The java.lang.Class constructor now automatically sets the protection
domain for array classes, based on the protection domain of the component
type class.
* New gnu.classpath.VMSystemProperties class. This replaces the
system properties initialization in VMRuntime. Note that it is
now the VMs responsibility to set one additional property:
gnu.cpu.endian should be set to "big" or "little".
* VMRuntime.nativeGetLibname() has been renamed to VMRuntime.mapLibraryName()
and has only one argument, the name of the library.
* String and StringBuffer now call VMSystem.arraycopy() directly and don't
go through java.lang.System. Be careful to not initialize java.lang.System
early in the bootstrap sequence in your VM runtime interface classes.
* Some (wrong) documentation about the behavior of VMThread.sleep(0, 0)
has been updated. Also, VMThread.sleep() now has a default non-native
implementation, but it is a generic implementation that ignores the
nano-seconds argument. Runtime hackers are encouraged to provide a more
efficient version.
* There is prelimenary support for nio direct byte buffers.
See VMDirectByteBuffer. Please contact the GNU Classpath mailinglist when
you add support for this to your runtime.
New in release 0.12 (Nov 14, 2004)
* GNU Classpath's JAR implementation now has preliminary support for
signed entries, for so called "signed JAR" file support. Signed JAR
files are one of the key security features of managed runtimes, and
allows code to run privileged given unforgeable proofs of identity.
* A much improved version of X.509 certificates has been added,
including a robust certificate path checking algorithm. Also
included is an implementation of the RSA signature scheme.
* Full java.awt.color implementation, with all standard ICC profiles,
except for PhotoYCC color space.
* java.beans 1.4 updates and bug fixes.
* java.awt.image support updated to 1.4.
* Improved build process. Uses less memory with gcj and C code is
buildable with -Werror on most platform. Please configure with
--enable-Werror and report any remaining issues.
* Big-endian (PowerPC) fixes for native awt GTK+ peers.
* Checkstyle support, see scripts/checkstyle-config.xml.
* Better AWT focus management fro GTK+ peers.
* Much faster and better fonts support
(for both gdk Graphics and cairo Graphics2D)
* AWT Choice fixes for hidden components.
* HTTP Connection Handler fixes for POST support.
* Much fuller collection documentation.
* Lots of Calendar bug fixes.
* More javax.imageio support.
* Better AWT Help MenuBar support.
* Lookahead support for regular expressions.
* Serialization object stream fixes for multiple ClassLoader scenarios.
* Swing TabbedPane, ColorChooser and ComboBox improvements.
* Start of JTree functionality.
* Improved Eclipse 3 support for GNU Classpath based runtimes.
Runtime interface Changes:
* New --enable-java-lang-system-explicit-initialization configuration
option. (Warning, will be replaced in next release, please consult
the mailinglist.)
* The reference implementation of VMClassLoader has default
implementations for getResource(s) and provides support for a new
default getSystemClassLoader implementation.
New in release 0.11 (Sep 13, 2004)
* javax.swing.Spring and SpringLayout support.
* Added pluggable look and feel support for BasicTextFieldUI and
BasicToolBarSeparatorUI.
* java.swing.text support for (Default and Layered) Highlighter, FieldView,
PlainView, TabExpander and TabableView added.
* Start of JTable and JTree implementation.
* Internal Swing frames work.
* JMenu and JPopupMenu work.
* New gtk+ AWT FileDialog peer now based on gtk+2.4 or higher.
* java.awt.image LookupTables and kernel support.
* Improved java.awt.image.BufferedImage support.
* AWT 1.0 event model support.
* GNU Classpath now comes with some example programs (see examples/README).
* New javax.crypto, javax.crypto.interfaces, javax.crypto.spec, javax.net,
javax.net.ssl, javax.security.auth, javax.security.auth.callback,
javax.security.auth.login, javax.security.auth.x500, javax.security.sasl
and org.ietf.jgss packages are now officially part of GNU Classpath.
Extra crypto algorithms can be obtained from the GNU Crypto project,
a full TLS implementation is provided by the Jessie project.
http://www.gnu.org/software/gnu-crypto/
http://www.nongnu.org/jessie/
* Frame.setIconImage() support.
* AWT GDKGraphics scaling.
* New configure flag --enable-gtk-cairo to build Graphics2D implementation
build on cairo and pangoft2. Enabled at runtime by defining the system
property gnu.java.awt.peer.gtk.Graphics=Graphics2D.
* javax.swing.JSpinner implemented.
* Extensive documentation update for java.util collection classes.
* java.awt.geom completed. Area, Arc2D, Ellipse2D and Line2D implemented.
* GNU JAXP is no longer included with GNU Classpath. Runtime, compiler and
tool integrators are encouraged to directly integrate GNU JAXP.
This release has been tested against GNU JAXP 1.1.
http://www.gnu.org/software/classpathx/jaxp/jaxp.html
* JColorChooser, JComboBox and JTextField implemented, including example
uses in GNU Classpath Examples swing Demo.
Runtime interface Changes:
* java.lang.Compiler now uses the new java.lang.VMCompiler; there is
a reference implementation that most VMs can use.
* java.lang.VMSystem has a new getenv(String) method and a reference C/JNI
implementation that should work on most Posix like systems.
* java.util.TimeZone has been split into a platform independent class and
a platform dependent class VMTimeZone. GNU Classpath comes with a generic
way to get at the default time zone for Posix/GNU-like platforms.
* [VM]AccessController improvements. In particular it handles
`doPrivileged' calls better, and allows for recursive `doPrivileged'
calls in the same Thread. (see vm/reference/java/security/)
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.
New in release 0.09 (May 2, 2004)
* 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.
New in release 0.08 (2004/12/03)
* 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
* 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.
New in release 0.07 (2003/30/11)
* Works with libtool 1.5 (and 1.4.3).
* java.awt gtk+ peers now depend on gtk+ 2.2.x and uses pango.
Lots and lots improvements on the peers.
* java.awt.geom.CubicCurve2D, java.awt.geom.QuadCurve2D:
Subdivision and flatness calculation implemented.
* java.awt.geom.FlatteningPathIterator: Working implementation.
* gnu.java.awt.BitwiseXORComposite helper class.
* New rmic compilers (jikes, kjc) support.
* java.text bug fixing and 1.4 updates (Currency).
* Hashtable and HashMap function more similar to other implementations.
* javax.naming and java.beans classloader fixes.
* URL parsing, URLConnection, protocol and (needed) permission fixes.
* More java.nio implementation
(API complete, but implementation not finished yet).
* Lots of java.net code cleanup.
* Improved documentation.
* Numerous bug fixes in almost every package, and lots of updates for
1.4 functionality.
* Fixed Classpath bugs:
#2944 Incorrect synchronization in java.util.logging.ErrorManager
#6075 java.awt.geom.GeneralPath.getCurrentPoint returns wrong results
#6076 java.awt.geom.GeneralPath constructor sometimes hangs
#6089 java.awt.geom.GeneralPath.getPathIterator does not work
[...]
VM Interface changes:
* Thread has been split in a VM-independent Thread class and a VM-dependent
VMThread class.
New in release 0.06 (2003/22/08)
* Update java.awt peers to GTK+2.
* java.awt.GridBagLayout implementation.
* javax.swing.border implementation.
* java.security and java.security.cert updated to 1.4 spec.
* New JNI native target code layer. See native/target/readme.txt.
* --enable-regen-headers configure flag for automatic jni .h file generation.
* Removed workaround for gcj 3.2 and lower, gcj 3.3+ or jikes 1.18+ is now
needed for compiling.
* Lots of improvements and/or new classes for java.awt, java.awt.dnd,
java.awt.font, java.awt.geom, java.awt.image, java.io, java.math, java.net,
java.nio, java.rmi, java.text, java.util, javax.swing, javax.swing.plaf,
javax.swing.text.
VM Interface changes:
* VMClassLoader.loadClass(), the bootstrap classloader called by
Class.forName() and ClassLoader.loadClass(), may now return null when
a class is not found instead of throwing a new ClassNotFoundException.
This is a performance optimization in some cases. This also changes
the Class.forName() reference code.
* Native methods in Class have been moved to VMClass. A few additional
methods are also available in VMClass to provide optional performance
improvements.
* A VM can now supply its own String.intern() strategy through the
VMString class. The supplied VMString reference class implements the
original WeakHashMap strategy.
* Float and Double to/from bits conversion functions can now be supplied by
the VM through VMFloat and VMDouble. Default JNI conversion methods are
supplied.
New in release 0.05 (2003/02/15)
* Supports free Java VMs Jikes RVM and Kissme out of the box, perhaps others.
* Supports GNU Crypto 1.1 as the official provider of cryptographic primitives
and tools for GNU Classpath, available separately from
http://www.gnu.org/software/classpathx/crypto/crypto.html.
* Supports GNU Classpath Tools sub-project of GNU Classpath, official provider
of standard tools such as gjdoc, a javadoc replacement, and others. Future
releases of GNU Classpath will begin to include these tools, available
separately from http://www.gnu.org/software/cp-tools/.
* Java primitives can be used to support AWT native threading, see
the --enable-portable-native-sync configure option which may become the
default in a future release.
* Include file jni.h has been updated to the 1.4 specification.
* VM specific internal types for jobject, jfieldID, and jmethodID are
supported in jni.h. More details can be found by reading the comment
in include/jni.h.in. By default the old definitions are used instead.
* New VM helper class java.io.VMObjectStreamClass which should provide
the hasClassInitializer() method. Previously ObjectStreamClass used
Class.getDeclaredMethod("<clinit>") but according to the spec this
should always throw NoSuchMethodException for class initialization methods.
A JNI reference implementation is provided as
vm/reference/java-io/java_io_VMObjectStreamClass.c
* There have been numerous infrastructure improvements
* Configure option --enable-gjdoc to generate javadoc-like output
* Gjdoc output is included with distribution, see doc/api/html/
* DESTDIR fully supported for install and uninstall
* Runtime.execInternal contract changed to allow for null `env'
and to accept `dir' argument.
* VMObject.getClass() removed. It was never used.
* java.lang.Throwable is now a 'normal' GNU Classpath class that uses the
VM specific java.lang.VMThrowable to get at the VM state and (if needed)
the StackTraceElements for a particular exception. A default implementation
(that does nothing) is provided in vm/reference/java/lang/VMThrowable.java.
* The vm/reference classes from the gnu.vm.stack and their counterparts
ExecutionStack and StackFrame in gnu.java.lang have been removed since they
are not actually part of the VM interface anyway.
* The GPLed com.sun.javadoc classes have been moved to the gjdoc application
from the GNU Classpath Tools project. See for more information the homepage
at: <http://www.gnu.org/software/cp-tools/>.
New in release 0.04 (2002/05/05)
* Additional configure options to disable zip creation and installation as
well as disable gtk peer native compilation.
* Addition of java.nio, java.util.logging, and javax.swing.
* Integration of most or all of the ORP patches to date, the purpose of
which are to make it possible to use JBOSS with ORP and Classpath. This
is still in a testing phase however.
* Significant changes in the reference VM interface that may require
support from the JVMs.
* Lots of bugfixes.
New in release 0.03 (2002/02/08)
* More merges with libgcj have been performed including java.math which now
provides a pure Java implementation of that package.
Current status at <http://gcc.gnu.org/java/libgcj-classpath-compare.html>
* A pure Java implementation (Jazzlib) of java.util.zip is available.
* Added the java.rmi implementation that Transvirtual donated to the FSF.
* Includes jni.h now, eliminating the need to specify a particular VM
via configure.
* No proprietary classes or programs are required to compile.
Compiles out of the box with jikes or gcj.
* Separation of compiling Java source and native libraries through the
configure mechanism. If given no arguments, configure will setup the
subsequent build to only produce Java bytecode (.class files). More
information is available in INSTALLING.
* Support for compiling in a separate directory, as an example you may
cd classpath-0.03; mkdir build; cd build; ../configure; make
* Works with Orp 1.0.9 out of the box. Build instructions can be found at
<http://www.gnu.org/software/classpath/doc/orp.html>
* Lots of bugfixes that were found by using Classpath with the gcj, Orp,
SableVM, KissMe and Jaos VMs. Please use our bugdatabase at
<http://savannah.gnu.org/support/?group_id=85>
* Lots of updates to make Classpath more compliant with the 1.2, 1.3 and 1.4
API specification. The current status can be found at
<http://www.gnu.org/software/classpath/status.html>
* All files are now distributed under the same terms. Added clarification to
GPL exception.
New in release 0.02 (2001/01/06)
* Support for printing exceptions with Japhar 0.09 + patch included in
resource/japhar-0.09.patch.1.
* Typos, assorted bugfixes.
New in release 0.01 (2000/11/20)
* More packages are included now, though many remain untested.
* Support for Japhar 0.09 included.
New in release 0.00 (1999/02/01)
* First official development release of clean room class library for Java
* Following packages included:
-- 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
* Code is mostly Java 2 (see JDK 1.2) compatible with some functionality
missing and/or untested.
* Support for Japhar (http://www.japhar.org/) virtual machine is included.
Requires the current Japhar from CVS.
* Extensive javadoc comments for public API included
* Licensed under the GNU Library General Public License (see COPYING.LIB)
* Does not depend on any non-free code - developed in a "clean room"
environment.

90
libjava/classpath/README Normal file
View File

@ -0,0 +1,90 @@
GNU Classpath README - Last updated: Jul 9, 2004
GNU Classpath, Essential Libraries for Java is a project to create a
free software implementation of the core class libraries for the java
programming language.
Additionally GNU Classpath includes a sub-project called GNU Classpath
Tools whose goal is to provide a number of free replacements for
standard Java development tools like javadoc, javap, javah, and
others. And a sub-project called GNU Inetlib, an extension library to
provide extra network protocol support (ftp, finger, gopher) for GNU
Classpath, but it can also standalone to ease adding http, imap, pop3
and smtp client support to applictions. These subprojects are normally
released independent from the core libraries.
This is a development snapshot release only and is not for general
purpose use. GNU Classpath needs to be combine with a proper
development environments to be useable for end users. Eventually,
these essential libraries for java will work with as many free
compilers and runtimes as possible.
Complete development environments known to be based on GNU Classpath
include (recommended for end users):
* GCC with GCJ (http://gcc.gnu.org/java/)
* Kaffe (http://www.kaffe.org/)
Smaller environments (runtime only, no compilers, no tools) which work
with this GNU Classpath releases include
(tested by and recommended for GNU Classpath hackers):
* JamVM (http://jamvm.sourceforge.net/)
* Jikes RVM (http://www.ibm.com/developerworks/oss/jikesrvm/)
* Kissme (http://kissme.sourceforge.net/)
In general the latest releases of the above VMs will work out of the box
with the latest GNU Classpath release (and in most cases directly with the
development sources from CVS).
Besides combining GNU Classpath with the runtimes and compilers above
you might want to add support for encryption libraries as provided by
GNU Crypto (http://www.gnu.org/software/gnu-crypto/).
And for additional extension libraries (mail, xml, activation, infobus,
servlet) check out GNU ClasspathX (http://www.gnu.org/software/classpathx).
Some tools come with their own customized version of GNU Classpath.
Please check if there is a customised version available for the tool you
use before trying the bare bones GNU Classpath release. We are working with
the tool creators to keep the differences between the core classes as small
as possible. Please tell us if you make GNU Classpath work with a new tool.
Active projects which use modified versions of the Classpath libraries
some of which synchronizes with the Classpath CVS head every couple of weeks:
* IKVM.NET (http://www.ikvm.net/)
* JC (http://jcvm.sourceforge.net/)
* JNode (http://jnode.sourceforge.net/)
* SableVM (http://www.sablevm.org)
See for a more complete list of GNU Classpath based projects the
GNU Classpath website: http://www.gnu.org/software/classpath/stories.html
See the file INSTALL for details on installing GNU Classpath.
See the file NEWS for details on what is included in this release.
See the file TODO for the latest to do list.
See the file HACKING for working on (non-released) CVS development versions.
Homepage: http://www.gnu.org/software/classpath/
General Mailing List: classpath@gnu.org
--> Bugs and patches can be reported via Savannah if you have a browser
or via this address otherwise.
--> To subscribe send email to classpath-request@gnu.org with a
subject and body of "subscribe". To unsubscribe do the same,
only with a body and subject of "unsubscribe". This is a
smartlist managed mailing list.
CVS Commit, Bugs and Patches List: commit-classpath@gnu.org
--> To subscribe send email to commit-classpath-request@gnu.org with a
subject and body of "subscribe". To unsubscribe do the same,
only with a body and subject of "unsubscribe". This is a
smartlist managed mailing list.
Anonymous CVS:
--> export CVS_RSH="ssh"
--> cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/classpath co classpath
--> More detailed instructions available on the Savannah project website.
http://savannah.gnu.org/projects/classpath/
Happy Hacking!

View File

@ -0,0 +1,53 @@
The following have made minor contributions to the Classpath
project, such as testing, bug submission, or minor patches. See also
the AUTHORS file, which lists people who have submitted major
patches. If your name does not appear on either list, but should, let
us know. Please keep this list in alphabetic order.
C. Scott Ananian (cananian@lesser-magoo.lcs.mit.edu)
Xuan Baldauf (entwicklung--classpath--gnu.org@medium.net)
Artur Biesiadowski (abies@pg.gda.pl)
Per Bothner (per@bothner.com)
Carlos Cavanna (cdcavanna@yahoo.com)
Archie Cobbs (archie@precisionio.com)
Stephen Crawley (crawley@dstc.edu.au)
Moses DeJong (dejong@cs.umn.edu)
Patrick Doyle (doylep@eecg.toronto.edu)
Julian Dolby (dolby@us.ibm.com)
Raimar Falke (hawk@hawk.shef.ac.uk)
Philip Fong (pwlfong@users.sourceforge.net)
Jeroen Frijters (jeroen@sumatra.nl)
Etienne M. Gagnon (etienne.gagnon@uqam.ca)
Brian Gough (bjg@network-theory.com)
Fred Gray (fegray@npl.uiuc.edu)
Christian Grothoff <grothoff@cs.purdue.edu>
David P. Grove (groved@us.ibm.com)
Andrew Haley (aph@redhat.com)
Steven Hugg (hugg@pobox.com)
jockey@aromasoft.com
Isaac Jones (ijones@cis.ohio-state.edu)
Oskar Liljeblad (osk@hem.passagen.se)
Casey Marshall (rsdio@metastatic.org)
Steve Mayer (SMayer@dynamicsoft.com)
Matt Mucklo (mmucklo@jumpsmart.com)
Joseph S. Myers (jsm28@cam.ac.uk)
Raif S. Naffah (raif@fl.net.au)
Shane Nay (shane@minirl.com)
Takashi Okamoto (tora@debian.org)
Alexandre Oliva (oliva@dcc.unicamp.br)
Daniel Rall(dlr@west.net)
Patrik Reali (reali@inf.ethz.ch)
Petter Reinholdtsen (pere@hungry.com)
Julian Scheid (julian.scheid@sektor37.de)
Martin Schröder (ms@artcom-gmbh.de)
Gaute Smaaland (gs@sevenmountains.no)
Michael Smith (msmith@spinnakernet.com)
J. Russell Smyth (drfish@uswest.net)
Ian D. Stewart (idstewart@softhome.net)
Jeff Sturm (jsturm@one-point.com)
Sreenivas Subramoney (sreenivas.subramoney@intel.com)
Chris Toshok (toshok@hungry.com)
Weldon Washburn (weldon.washburn@intel.com)
Adam Welc (welc@cs.purdue.edu)
Gansha Wu (gansha.wu@intel.com)
Shuhua Zhang (Shuhua.Zhang@echostar.com)

76
libjava/classpath/TODO Normal file
View File

@ -0,0 +1,76 @@
See also http://www.gnu.org/software/classpath/tasks.html
Which is updated more often then this file.
The Classpath TODO list as of 2002/05/05
-- Write Mauve (http://sourceware.cygnus.com/mauve/) tests for those
classes that don't have them.
-- Write Java 2 packages not currently included or improve existing
ones.
-- Modify ClassLoader.getSystemResource() to support loading classes
from zip files in the CLASSPATH. This requires java.util.zip to
be integrated first. Jar files can probably be treated as zip
files for now.
-- Continue comparison and merge of classes between Classpath and GCJ.
Current status: http://gcc.gnu.org/java/libgcj-classpath-compare.html
Please keep in mind that Red Hat wishes to continue to use CNI
as their preferred native interface. See:
http://sourceware.cygnus.com/java/papers/cni/t1.html
-- No resolution was identified for generating JNI compatible code from
CNI source. The simple solution has been adopted to include
both in GNU Classpath if and only if another JVM chooses to use CNI.
Provisions for compiling CNI correctly need to be implemented.
-- Update the GNU Classpath Hacker's Guide. There is a master texinfo
file in the doc/ directory in Classpath CVS.
-- Audit the code to identify methods that do not have Javadoc comments
and/or comments that are incomplete. All input parameters, return
values, etc should be documentes. Also look for Javadoc comments on
variables that are serializable.
See http://java.sun.com/j2se/javadoc/writingdoccomments/index.html#tag
for details of what should be where in comments.
-- Figure out a way to generate a hardcopy manual for the Java class
library from the embedded Javadocs. This probably involves writing
a custom doclet and probably some supplementary documentation
files into which the extracted Javadoc files are included.
-- Audit the code to ensure that all variable declarations are consistent
with the "Serialized Form" in the JDK. That is, all serialized
variables in the JDK should be included in Classpath and all Classpath
instance variables that are not part of the JDK docs should be marked
transient. Please be sure to use the online version of the Javadocs
for this and do not accept any "clickwrap" licenses from Sun in order
to download the JDK 1.2 Javadocs, which is where this information is
stored.
-- Audit code similar to above to determine where Sun uses readObject()
and writeObject() for serialization and determine what Classpath
needs to do for compatibility.
-- Audit code to ensure that every class that should be serializable
actually implementst java.io.Serializable and has the correct
serialVersionUID private static variable that is identical to the
JDK 1.1 version. You can obtain that variable value using the
serialver command.
-- Do real life serialization compatibility tests of our code vs
the JDK using serialcompat from Japitools.
-- Audit code for thread safety.
-- Audit Java code for proper Security implementation.
-- Audit native code for security, memory handling, etc.
-- Bug reports are always welcome. They are double welcome if they
are accompanied by a Mauve test that reproduces the bug.

133
libjava/classpath/autogen.sh Executable file
View File

@ -0,0 +1,133 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd $srcdir
PROJECT=classpath
TEST_TYPE=-f
FILE=java/lang/Object.java
DIE=0
case `uname -s` in
Darwin)
LIBTOOLIZE=glibtoolize
;;
*)
LIBTOOLIZE=libtoolize
;;
esac
have_libtool=true
if ${LIBTOOLIZE} --version < /dev/null > /dev/null 2>&1 ; then
libtool_version=`${LIBTOOLIZE} --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
case $libtool_version in
1.5*)
have_libtool=true
;;
esac
fi
if $have_libtool ; then : ; else
echo
echo "You must have libtool 1.5 installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/"
DIE=1
fi
have_autoconf=false
if autoconf --version < /dev/null > /dev/null 2>&1 ; then
autoconf_version=`autoconf --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
case $autoconf_version in
2.59*)
have_autoconf=true
;;
esac
fi
if $have_autoconf ; then : ; else
echo
echo "You must have autoconf 2.59 installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/"
DIE=1
fi
have_automake=false
# We know each 1.9.x version works
if automake-1.9 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.9
ACLOCAL=aclocal-1.9
have_automake=true
elif automake --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake
ACLOCAL=aclocal
automake_version=`automake --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
case $automake_version in
1.9*)
have_automake=true
;;
esac
fi
if $have_automake ; then : ; else
echo
echo "You must have automake 1.9 installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
DIE=1
fi
if test "$DIE" -eq 1; then
exit 1
fi
test $TEST_TYPE $FILE || {
echo "You must run this script in the top-level $PROJECT directory"
exit 1
}
if test "x$AUTOGEN_SUBDIR_MODE" = "xyes"; then
if test -z "$*"; then
echo "I am going to run ./configure with no arguments - if you wish "
echo "to pass any to it, please specify them on the $0 command line."
fi
fi
if test -z "$ACLOCAL_FLAGS"; then
acdir=`$ACLOCAL --print-ac-dir`
m4list="glib-2.0.m4 glib-gettext.m4"
for file in $m4list
do
if [ ! -f "$acdir/$file" ]; then
echo "WARNING: aclocal's directory is $acdir, but..."
echo " no file $acdir/$file"
echo " You may see fatal macro warnings below."
echo " If these files are installed in /some/dir, set the ACLOCAL_FLAGS "
echo " environment variable to \"-I /some/dir\", or install"
echo " $acdir/$file."
echo ""
fi
done
fi
# Use the "-I m4 flag in order to include pkg.m4 and other .m4 files.
$ACLOCAL -I m4 $ACLOCAL_FLAGS || exit $?
${LIBTOOLIZE} --force || exit $?
autoheader || exit $?
$AUTOMAKE --add-missing || exit $?
autoconf || exit $?
cd $ORIGDIR || exit $?
if test "x$AUTOGEN_SUBDIR_MODE" = "xyes"; then
$srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
echo
echo "Now type 'make' to compile $PROJECT."
fi

View File

@ -0,0 +1 @@
Makefile.in

View File

@ -0,0 +1,4 @@
## Input file for automake to generate the Makefile.in used by configure
SUBDIRS = java.net

View File

@ -0,0 +1 @@
Makefile.in

View File

@ -0,0 +1,39 @@
// 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);
}
}

View File

@ -0,0 +1,14 @@
## 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

View File

@ -0,0 +1,284 @@
/* 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

View File

@ -0,0 +1,27 @@
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).

View File

@ -0,0 +1,459 @@
dnl Process this file with autoconf to produce a configure script.
dnl -----------------------------------------------------------
dnl Turning off cache for debug reasons
dnl -----------------------------------------------------------
dnl define([AC_CACHE_LOAD], )dnl
dnl define([AC_CACHE_SAVE], )dnl
AC_INIT([GNU Classpath],[0.17+cvs],[classpath@gnu.org],[classpath])
AC_CONFIG_SRCDIR(java/lang/System.java)
AC_CANONICAL_TARGET
dnl -----------------------------------------------------------
dnl Fold all IA-32 CPU architectures into "x86"
dnl -----------------------------------------------------------
if expr ${target_cpu} : '.*86' > /dev/null; then target_cpu=x86; fi
dnl -----------------------------------------------------------
dnl We will not track/change lib version until we reach version 1.0
dnl at which time we'll have to be more anal about such things
dnl -----------------------------------------------------------
AC_SUBST(LIBVERSION, "0:0:0")
CLASSPATH_MODULE="-module -version-info ${LIBVERSION} -no-undefined"
AC_SUBST(CLASSPATH_MODULE)
AC_PREREQ(2.59)
AM_INIT_AUTOMAKE([1.9.0 gnu std-options tar-ustar])
AC_CONFIG_HEADERS([include/config.h])
AC_PREFIX_DEFAULT(/usr/local/classpath)
dnl -----------------------------------------------------------
dnl Enable JNI libraries (enabled by default)
dnl -----------------------------------------------------------
AC_ARG_ENABLE([jni],
[AS_HELP_STRING(--enable-jni,compile JNI source [default=yes])],
[case "${enableval}" in
yes) COMPILE_JNI=yes; COMPILE_JAVA=yes ;;
no) COMPILE_JNI=no ;;
*) COMPILE_JNI=yes; COMPILE_JAVA=yes ;;
esac],
[COMPILE_JNI=yes])
AM_CONDITIONAL(CREATE_JNI_LIBRARIES, test "x${COMPILE_JNI}" = xyes)
dnl -----------------------------------------------------------
dnl Enable core JNI libraries (enabled by default)
dnl -----------------------------------------------------------
AC_ARG_ENABLE([core-jni],
[AS_HELP_STRING(--enable-core-jni,
compile JNI sources for core [default=yes])],
[case "${enableval}" in
yes) COMPILE_CORE_JNI=yes; COMPILE_JAVA=yes ;;
no) COMPILE_CORE_JNI=no ;;
*) COMPILE_CORE_JNI=yes; COMPILE_JAVA=yes ;;
esac],
[COMPILE_CORE_JNI=yes])
AM_CONDITIONAL(CREATE_CORE_JNI_LIBRARIES, test "x${COMPILE_CORE_JNI}" = xyes)
dnl -----------------------------------------------------------
dnl Whether to compile with -Werror or not (enabled by default)
dnl -----------------------------------------------------------
AC_ARG_ENABLE([Werror],
[AS_HELP_STRING(--disable-Werror,whether to compile C code with -Werror which turns any compiler warning into a compilation failure [default=no])],
[case "${enableval}" in
yes) ENABLE_WERROR=yes ;;
no) ENABLE_WERROR=no ;;
*) ENABLE_WERROR=yes ;;
esac],
[ENABLE_WERROR=no])
dnl -----------------------------------------------------------
dnl Default AWT toolkit
dnl -----------------------------------------------------------
AC_ARG_ENABLE(default-toolkit,
AS_HELP_STRING([--enable-default-toolkit],
[fully qualified class name of default AWT toolkit]))
default_toolkit=$enable_default_tookit
if test "$default_toolkit" = ""; then
default_toolkit=gnu.java.awt.peer.gtk.GtkToolkit
fi
AC_SUBST(default_toolkit)
dnl -----------------------------------------------------------
dnl Native libxml/xslt library (disabled by default)
dnl -----------------------------------------------------------
AC_ARG_ENABLE([xmlj],
[AS_HELP_STRING(--enable-xmlj,compile native libxml/xslt library [default=no])],
[case "${enableval}" in
yes) COMPILE_XMLJ=yes ;;
no) COMPILE_XMLJ=no ;;
*) COMPILE_XMLJ=no ;;
esac],
[COMPILE_XMLJ=no])
AM_CONDITIONAL(CREATE_XMLJ_LIBRARY, test "x${COMPILE_XMLJ}" = xyes)
dnl -----------------------------------------------------------
dnl GTK native peer (enabled by default)
dnl -----------------------------------------------------------
AC_ARG_ENABLE([gtk-peer],
[AS_HELP_STRING(--disable-gtk-peer,compile GTK native peers (disabled by --disable-jni) [default=yes])],
[case "${enableval}" in
yes) COMPILE_GTK_PEER=yes ;;
no) COMPILE_GTK_PEER=no ;;
*) COMPILE_GTK_PEER=yes ;;
esac],
[COMPILE_GTK_PEER=yes])
AM_CONDITIONAL(CREATE_GTK_PEER_LIBRARIES, test "x${COMPILE_GTK_PEER}" = xyes)
dnl -----------------------------------------------------------
dnl GTK native peer error checking
dnl -----------------------------------------------------------
AC_ARG_ENABLE([gtk-peers],,AC_MSG_ERROR([No --enable-gtk-peers (or --disable-gtk-peers) option; you want --enable-gtk-peer]))
dnl ------------------------------------------------------------
dnl determine whether to enable the cairo GTK Graphics2D backend
dnl ------------------------------------------------------------
AC_ARG_ENABLE([gtk-cairo],
[AS_HELP_STRING(--enable-gtk-cairo,build the cairo Graphics2D implementation on GTK [default=no])],
[case "${enableval}" in
yes) GTK_CAIRO_ENABLED=true ;;
no) GTK_CAIRO_ENABLED=false ;;
*) GTK_CAIRO_ENABLED=true ;;
esac],
[GTK_CAIRO_ENABLED=false])
AC_SUBST(GTK_CAIRO_ENABLED)
if test "x${GTK_CAIRO_ENABLED}" = xtrue; then
AC_DEFINE(GTK_CAIRO, 1, [defined if cairo support was built in])
fi
AM_CONDITIONAL(GTK_CAIRO, test "x${GTK_CAIRO_ENABLED}" = xtrue)
dnl -----------------------------------------------------------
dnl Regenerate headers at build time (disabled by default)
dnl -----------------------------------------------------------
AC_ARG_ENABLE([regen-headers],
[AS_HELP_STRING(--enable-regen-headers,automatically regenerate JNI headers [default=no])],
[case "${enableval}" in
yes) REGENERATE_JNI_HEADERS=yes ;;
no) REGENERATE_JNI_HEADERS=no ;;
*) REGENERATE_JNI_HEADERS=no ;;
esac],
[REGENERATE_JNI_HEADERS=no])
AM_CONDITIONAL(CREATE_JNI_HEADERS, test "x${REGENERATE_JNI_HEADERS}" = xyes)
AC_PROG_LN_S
AC_PROG_INSTALL
dnl -----------------------------------------------------------
dnl Checks for programs.
dnl -----------------------------------------------------------
dnl AC_PROG_CXX
dnl Initialize libtool
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
dnl AC_PROG_AWK
AC_PROG_CC
AC_PROG_CPP
if test "x${COMPILE_JNI}" = xyes; then
AC_HEADER_STDC
dnl Checking sizeof void * is needed for fdlibm to work properly on ppc64,
dnl at least.
AC_COMPILE_CHECK_SIZEOF(void *)
dnl Checking for endianess.
AC_C_BIGENDIAN_CROSS
dnl We check for sys/filio.h because Solaris 2.5 defines FIONREAD there.
dnl On that system, sys/ioctl.h will not include sys/filio.h unless
dnl BSD_COMP is defined; just including sys/filio.h is simpler.
dnl Check for crt_externs.h on Darwin.
AC_CHECK_HEADERS([unistd.h sys/types.h sys/config.h sys/ioctl.h \
asm/ioctls.h \
inttypes.h stdint.h utime.h sys/utime.h sys/filio.h \
sys/time.h \
sys/select.h \
crt_externs.h \
fcntl.h])
AC_EGREP_HEADER(uint32_t, stdint.h, AC_DEFINE(HAVE_INT32_DEFINED, 1, [Define to 1 if you have uint32_t]))
AC_EGREP_HEADER(uint32_t, inttypes.h, AC_DEFINE(HAVE_INT32_DEFINED, 1, [Define to 1 if you have uint32_t]))
AC_EGREP_HEADER(u_int32_t, sys/types.h, AC_DEFINE(HAVE_BSD_INT32_DEFINED, 1, [Define to 1 if you have BSD u_int32_t]))
AC_EGREP_HEADER(u_int32_t, sys/config.h, AC_DEFINE(HAVE_BSD_INT32_DEFINED, 1, [Define to 1 if you have BSD u_int32_t]))
AC_CHECK_FUNCS([ftruncate fsync select \
gethostname socket strerror fork pipe execve open close \
lseek fstat read write htonl memset htons connect \
getsockname getpeername bind listen accept \
recvfrom send sendto setsockopt getsockopt time mktime \
localtime_r \
strerror_r \
fcntl])
AC_HEADER_TIME
AC_STRUCT_TM
AC_STRUCT_TIMEZONE
AC_MSG_CHECKING([for tm_gmtoff in struct tm])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]],[[struct tm tim; tim.tm_gmtoff = 0;]])],
[AC_DEFINE(STRUCT_TM_HAS_GMTOFF, 1, [Define if struct tm has tm_gmtoff field.])
AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)
AC_MSG_CHECKING([for global timezone variable])
dnl FIXME: we don't want a link check here because that won't work
dnl when cross-compiling. So instead we make an assumption that
dnl the header file will mention timezone if it exists.
dnl Don't find the win32 function timezone
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[void i(){long z2 = 2*timezone;}]])],
[AC_DEFINE(HAVE_TIMEZONE, 1, [Define if global 'timezone' exists.])
AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)
AC_MSG_CHECKING([for global _timezone variable])
dnl FIXME: As above, don't want link check
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <time.h>]], [[long z2 = _timezone;]])],
[AC_DEFINE(HAVE_UNDERSCORE_TIMEZONE, 1,
[Define if your platform has the global _timezone variable.])
AC_MSG_RESULT(yes)],
[AC_MSG_RESULT(no)])])])
AC_C_CONST
dnl See if we HAVE_ICONV, how ICONV_CONST is set and LTLIBICONV
AM_ICONV
dnl When using gcc we want warnings, lots of warnings :-)
if test "x${GCC}" = xyes; then
dnl We want ISO C90 pedantic ansi, but with longlong (jlong) support
dnl and modern POSIX and BSD C library functions/prototypes.
dnl Warning flags for (almost) everybody.
dnl Should probably be configurable
WARNING_CFLAGS='-pedantic -W -Wall -Wmissing-declarations -Wwrite-strings -Wmissing-prototypes -Wno-long-long'
AC_SUBST(WARNING_CFLAGS)
dnl Strict warning flags which not every module uses.
dnl Should probably be configurable.
STRICT_WARNING_CFLAGS=-Wstrict-prototypes
AC_SUBST(STRICT_WARNING_CFLAGS)
dnl Whether or not to add -Werror, also not used by all modueles.
dnl Can be configured by --disable-Werror
ERROR_CFLAGS=
if test "x${ENABLE_WERROR}" = xyes; then
ERROR_CFLAGS='-Werror'
fi
AC_SUBST(ERROR_CFLAGS)
fi
dnl Check for libxml and libxslt libraries (when xmlj is enabled).
if test "x${COMPILE_XMLJ}" = xyes; then
PKG_CHECK_MODULES(XML, libxml-2.0 >= 2.6.8)
PKG_CHECK_MODULES(XSLT, libxslt >= 1.1.11)
AC_SUBST(XML_LIBS)
AC_SUBST(XML_CFLAGS)
AC_SUBST(XSLT_LIBS)
AC_SUBST(XSLT_CFLAGS)
fi
dnl Check for AWT related gthread/gtk
if test "x${COMPILE_GTK_PEER}" = xyes; then
AC_PATH_XTRA
if test "$no_x" = yes; then
AC_MSG_ERROR([GTK+ peers requested but no X library available])
fi
dnl We explicitly want the XTest Extension for Robot support.
AC_CHECK_LIB([Xtst], [XTestQueryExtension], [true],
[AC_MSG_ERROR([libXtst NOT found, required for GdkRobot])],
[${X_LIBS}])
PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.4 gthread-2.0 >= 2.2 gdk-pixbuf-2.0)
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
fi
if test "x${enable_gtk_cairo}" = xyes; then
PKG_CHECK_MODULES(CAIRO, cairo >= 0.5.0)
PKG_CHECK_MODULES(PANGOFT2, pangoft2)
fi
AC_SUBST(CAIRO_LIBS)
AC_SUBST(CAIRO_CFLAGS)
AC_SUBST(PANGOFT2_LIBS)
AC_SUBST(PANGOFT2_CFLAGS)
fi
CLASSPATH_WITH_JAVAH
dnl -----------------------------------------------------------
dnl Add the include files for the native abstraction layer.
dnl Used by AM_CPPFLAGS in the different modules.
dnl -----------------------------------------------------------
CLASSPATH_INCLUDES="-I\$(top_srcdir)/include -I\$(top_srcdir)/native/jni/classpath -I\$(top_srcdir)/native/target/Linux -I\$(top_srcdir)/native/target/generic"
AC_SUBST(CLASSPATH_INCLUDES)
dnl -----------------------------------------------------------
if test "x${COMPILE_JNI}" = xyes; then
AC_MSG_CHECKING(jni_md.h support)
if test -f ${srcdir}/include/jni_md-${target_cpu}-${target_os}.h; then
AC_MSG_RESULT(yes)
else
target_cpu=x86
target_os=linux-gnu
AC_MSG_WARN(no, using x86-linux-gnu)
fi
ac_sources="include/jni_md-${target_cpu}-${target_os}.h"
ac_dests="include/jni_md.h"
while test -n "$ac_sources"; do
set $ac_dests; ac_dest=$1; shift; ac_dests=$*
set $ac_sources; ac_source=$1; shift; ac_sources=$*
ac_config_links_1="$ac_config_links_1 $ac_dest:$ac_source"
done
AC_CONFIG_LINKS([$ac_config_links_1])
fi
CLASSPATH_FIND_JAVAC
CLASSPATH_WITH_CLASSLIB
dnl -----------------------------------------------------------
dnl Initialize maintainer mode
dnl -----------------------------------------------------------
AM_MAINTAINER_MODE
dnl -----------------------------------------------------------
dnl Enable debugging statements at compile time. By default
dnl these statements should be optimized out of the bytecode
dnl produced by an optimizing Java compiler and not hinder
dnl performance because debugging is turned off by default.
dnl -----------------------------------------------------------
AC_ARG_ENABLE([debug],
[AS_HELP_STRING(--enable-debug,enable runtime debugging code)],
[case "${enableval}" in
yes)
LIBDEBUG="true"
AC_DEFINE(DEBUG, 1, [Define to 1 if you want native library runtime debugging code enabled])
;;
no) LIBDEBUG="false" ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
esac],
[LIBDEBUG="false"])
AC_SUBST(LIBDEBUG)
dnl -----------------------------------------------------------
dnl Enable execution of all static initializer loadLibrary()
dnl calls at compile time. By default most people will not
dnl want to disable this, but some VMs (gcj) don't need or want
dnl them.
dnl -----------------------------------------------------------
AC_ARG_ENABLE([load-library],
[AS_HELP_STRING(--enable-load-library,enable to use JNI native methods [default=yes])],
[case "${enableval}" in
yes) INIT_LOAD_LIBRARY="true" ;;
no) INIT_LOAD_LIBRARY="false" ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-load-library) ;;
esac],
[INIT_LOAD_LIBRARY="true"])
AC_SUBST(INIT_LOAD_LIBRARY)
dnl -----------------------------------------------------------
dnl Should the VM explicitly run class initialization subfunctions for
dnl java.lang.System? (default is false -- the subfunctions will be run
dnl automatically by the class initializer)
dnl -----------------------------------------------------------
AC_ARG_ENABLE([java-lang-system-explicit-initialization],
[AS_HELP_STRING(--enable-java-lang-system-explicit-initialization,will the VM explicitly invoke java.lang.System's static initialization methods [default=no])],
[case "${enableval}" in
yes|true) JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION="true" ;;
no|false) JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION="false" ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-java-lang-system-explicit-initialization) ;;
esac],
[JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION="false"])
AC_SUBST(JAVA_LANG_SYSTEM_EXPLICIT_INITIALIZATION)
dnl -----------------------------------------------------------
dnl avoiding automake complaints
dnl -----------------------------------------------------------
REMOVE=""
AC_SUBST(REMOVE)
dnl -----------------------------------------------------------
dnl This is probably useless.
dnl -----------------------------------------------------------
AC_PATH_PROG(SH, sh)
AC_PATH_PROG(MKDIR, mkdir)
AC_PATH_PROG(CP, cp)
AC_PATH_PROG(DATE, date)
dnl -----------------------------------------------------------
dnl According to the GNU coding guide, we shouldn't require find,
dnl and zip, however GNU provides both so it should be okay
dnl -----------------------------------------------------------
AC_PATH_PROG(FIND, find)
dnl -----------------------------------------------------------
dnl Specify what to install (install only glibj.zip by default)
dnl -----------------------------------------------------------
CLASSPATH_WITH_GLIBJ
dnl -----------------------------------------------------------
dnl Enable API documentation generation (disabled by default)
dnl -----------------------------------------------------------
CLASSPATH_WITH_GJDOC
dnl -----------------------------------------------------------
dnl Whether to use jay to regenerate parsers.
dnl -----------------------------------------------------------
REGEN_WITH_JAY
dnl -----------------------------------------------------------
dnl This sets the build-time default, which can now be overridden
dnl by setting the system property gnu.classpath.awt.gtk.portable.native.sync
dnl to "true" or "false".
dnl -----------------------------------------------------------
AC_ARG_ENABLE([portable-native-sync],
[AS_HELP_STRING(--enable-portable-native-sync,synchronize VM threads portably)],
[case "${enableval}" in
yes)
AC_DEFINE(PORTABLE_NATIVE_SYNC, 1, [Define if you want to synchronize VM threads portably by default; undef otherwise])
;;
no) ;;
*)
AC_MSG_ERROR(bad value ${enableval} for --enable-portable-native-sync)
;;
esac],
[])
dnl -----------------------------------------------------------
dnl output files
dnl -----------------------------------------------------------
AC_CONFIG_FILES([Makefile
doc/Makefile
doc/api/Makefile
external/Makefile
external/sax/Makefile
external/w3c_dom/Makefile
gnu/classpath/Configuration.java
include/Makefile
native/Makefile
native/fdlibm/Makefile
native/jni/Makefile
native/jni/classpath/Makefile
native/jni/java-io/Makefile
native/jni/java-lang/Makefile
native/jni/java-net/Makefile
native/jni/java-nio/Makefile
native/jni/java-util/Makefile
native/jni/gtk-peer/Makefile
native/jni/xmlj/Makefile
native/target/Makefile
native/target/Linux/Makefile
native/target/generic/Makefile
resource/Makefile
scripts/Makefile
scripts/classpath.spec
lib/Makefile
lib/gen-classlist.sh
examples/Makefile])
AC_CONFIG_COMMANDS([gen-classlist],[chmod 755 lib/gen-classlist.sh])
AC_OUTPUT

423
libjava/classpath/depcomp Executable file
View File

@ -0,0 +1,423 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
# Copyright 1999, 2000 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., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# `libtool' can also be set to `yes' or `no'.
if test -z "$depfile"; then
base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'`
dir=`echo "$object" | sed 's,/.*$,/,'`
if test "$dir" = "$object"; then
dir=
fi
# FIXME: should be _deps on DOS.
depfile="$dir.deps/$base"
fi
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. This file always lives in the current directory.
# Also, the AIX compiler puts `$object:' at the start of each line;
# $object doesn't have directory information.
stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
outname="$stripped.o"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
tmpdepfile1="$dir.libs/$base.lo.d"
tmpdepfile2="$dir.libs/$base.d"
"$@" -Wc,-MD
else
tmpdepfile1="$dir$base.o.d"
tmpdepfile2="$dir$base.d"
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
if test -f "$tmpdepfile1"; then
tmpdepfile="$tmpdepfile1"
else
tmpdepfile="$tmpdepfile2"
fi
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a space and a tab in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'. We will use -o /dev/null later,
# however we can't do the remplacement now because
# `-o $object' might simply not be used
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
"$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# X makedepend
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
-*)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the proprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0

View File

@ -0,0 +1,13 @@
Makefile
Makefile.in
*.info
*.aux
*.cp
*.dvi
*.fn
*.ky
*.log
*.pg
*.toc
*.tp
*.vr

View File

@ -0,0 +1,13 @@
SUBDIRS = api
EXTRA_DIST = README.jaxp
info_TEXINFOS = hacking.texinfo vmintegration.texinfo
%.dvi : %.texinfo
texi2dvi $<
%.ps : %.dvi
dvips -o $@ $<
docs: hacking.ps vmintegration.ps

View File

@ -0,0 +1,168 @@
This file describes the jaxp (xml processing) implementation of GNU Classpath.
GNU Classpath includes interfaces and implementations for basic XML processing
in in the java programming language, some general purpose SAX2 utilities, and
transformation.
These classes used to be maintained as part of an external project GNU JAXP
but are now integrated with the rest of the core class library provided by
GNU Classpath.
PACKAGES
. javax.xml.* ... JAXP 1.3 interfaces
. gnu.xml.aelfred2.* ... SAX2 parser + validator
. gnu.xml.dom.* ... DOM Level 3 Core, Traversal, XPath implementation
. gnu.xml.dom.ls.* ... DOM Level 3 Load & Save implementation
. gnu.xml.xpath.* ... JAXP XPath implementation
. gnu.xml.transform.* ... JAXP XSL transformer implementation
. gnu.xml.pipeline.* ... SAX2 event pipeline support
. gnu.xml.util.* ... various XML utility classes
. gnu.xml.libxmlj.dom.* ... libxmlj DOM Level 3 Core and XPath
. gnu.xml.libxmlj.sax.* ... libxmlj SAX parser
. gnu.xml.libxmlj.transform.* ... libxmlj XSL transformer
. gnu.xml.libxmlj.util.* ... libxmlj utility classes
In the external directory you can find the following packages.
They are not maintained as part of GNU Classpath, but are used by the
classes in the above packages.
. org.xml.sax.* ... SAX2 interfaces
. org.w3c.dom.* ... DOM Level 3 interfaces
CONFORMANCE
The primary test resources are at http://xmlconf.sourceforge.net
and include:
SAX2/XML conformance tests
That the "xml.testing.Driver" addresses the core XML 1.0
specification requirements, which closely correspond to the
functionality SAX1 provides. The driver uses SAX2 APIs to
test that functionality It is used with a bugfixed version of
the NIST/OASIS XML conformance test cases.
The AElfred2 parser is highly conformant, though it still takes
a few implementation shortcuts. See its package documentation
for information about known XML conformance issues in AElfred2.
The primary issue is using Unicode character tables, rather than
those in the XML specification, for determining what names are
valid. Most applications won't notice the difference, and this
solution is smaller and faster than the alternative.
For validation, a secondary issue is that issues relating to
entity modularity are not validated; they can't all be cleanly
layered. For example, validity constraints related to standalone
declarations and PE nesting are not checked.
The current implementation has also been tested against Elliotte
Rusty Harold's SAXTest test suite (http://www.cafeconleche.org/SAXTest)
and achieves approximately 93% conformance to the SAX specification
according to these tests, higher than any other current Java parser.
SAX2
SAX2 API conformance currently has a minimal JUNIT (0.2) test suite,
which can be accessed at the xmlconf site listed above. It does
not cover namespaces or LexicalHandler and Declhandler extensions
anywhere as exhaustively as the SAX1 level functionality is
tested by the "xml.testing.Driver". However:
- Applying the DOM unit tests to this implementation gives
the LexicalHandler (comments, and boundaries of DTDs,
CDATA sections, and general entities) a workout, and
does the same for DeclHandler entity declarations.
- The pipeline package's layered validator demands that
element and attribute declarations are reported correctly.
By those metrics, SAX2 conformance for AElfred2 is also strong.
DOM Level 3 Core Tests
The DOM implementation has been tested against the W3C DOM Level 3
Core conformance test suite (http://www.w3.org/DOM/Test/). Current
conformance according to these tests is 72.3%. Many of the test
failures are due to the fact that GNU JAXP does not currently
provide any W3C XML Schema support.
XSL transformation
The transformer and XPath implementation have been tested against
the OASIS XSLT and XPath TC test suite. Conformance against the
Xalan tests is currently 77%.
libxmlj
========================================================================
libxmlj is an effort to create a 100% JAXP-compatible Java wrapper for
libxml2 and libxslt. JAXP is the Java API for XML processing, libxml2
is the XML C library for Gnome, and libxslt is the XSLT C library for
Gnome.
libxmlj currently supports most of the DOM Level 3 Core, Traversal, and
XPath APIs, SAX2, and XSLT transformations. There is no W3C XML Schema
support yet.
libxmlj can parse and transform XML documents extremely quickly in
comparison to Java-based JAXP implementations. DOM manipulations, however,
involve JNI overhead, so the speed of DOM tree construction and traversal
can be slower than the Java implementation.
libxmlj is highly experimental, doesn't always conform to the DOM
specification correctly, and may leak memory. Production use is not advised.
The implementation can be found in gnu/xml/libxmlj and native/jni/xmlj.
See the INSTALL file for the required versions of libxml2 and libxslt.
configure --enable-xmlj will build it.
Usage
------------------------------------------------------------------------
To enable the various GNU JAXP factories, set the following system properties
(command-line version shown, but they can equally be set programmatically):
AElfred2:
-Djavax.xml.parsers.SAXParserFactory=gnu.xml.aelfred2.JAXPFactory
GNU DOM (using DOM Level 3 Load & Save):
-Djavax.xml.parsers.DocumentBuilderFactory=gnu.xml.dom.DomDocumentBuilderFactory
GNU DOM (using AElfred-only pipeline classes):
-Djavax.xml.parsers.DocumentBuilderFactory=gnu.xml.dom.JAXPFactory
GNU XSL transformer:
-Djavax.xml.transform.TransformerFactory=gnu.xml.transform.TransformerFactoryImpl
libxmlj SAX:
-Djavax.xml.parsers.SAXParserFactory=gnu.xml.libxmlj.sax.GnomeSAXParserFactory
libxmlj DOM:
-Djavax.xml.parsers.DocumentBuilderFactory=gnu.xml.libxmlj.dom.GnomeDocumentBuilderFactory
libxmlj XSL transformer:
-Djavax.xml.transform.TransformerFactory=gnu.xml.libxmlj.transform.GnomeTransformerFactory
When using libxmlj, the libxmlj shared library must be available.
In general it is picked up by the runtime using GNU Classpath. If not you
might want to try adding the directory where libxmlj.so is installed
(by default ${prefix}/lib/classpath/) with ldconfig or specifing in the
LD_LIBRARY_PATH environment variable. Additionally, you may need to specify
the location of your shared libraries to the runtime environment using the
java.library.path system property.
Missing (libxmlj) Features
------------------------------------------------------------------------
See BUGS in native/jni/xmlj for known bugs in the libxmlj native bindings.
This implementation should be thread-safe, but currently all
transformation requests are queued via Java synchronization, which
means that it effectively performs single-threaded. Long story short,
both libxml2 and libxslt are not fully reentrant.
Update: it may be possible to make libxmlj thread-safe nonetheless
using thread context variables.
Update: thread context variables have been introduced. This is very
untested though, libxmll therefore still has the single thread
bottleneck.

View File

@ -0,0 +1,2 @@
Makefile
Makefile.in

View File

@ -0,0 +1,50 @@
if CREATE_API_DOCS
noinst_DATA = html
endif
sourcepath = $(top_builddir):$(top_srcdir):$(top_srcdir)/vm/reference:$(top_srcdir)/external/w3c_dom:$(top_srcdir)/external/sax
classpathbox = "<span class='logo'><a href='http://www.gnu.org/software/classpath' target='_top'>GNU Classpath</a> ($(VERSION))"
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/api
@list='$(htmllist)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
if test -f "$$p"; then \
echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/api/$$f"; \
$(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/api/$$f; \
elif test -d "$$p"; then \
$(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/api/$$f; \
fi; \
done
uninstall-local:
@list='$(htmllist)'; for p in $$list; do \
f="`echo $$p | sed -e 's|^.*/||'`"; \
if test -f "$$p"; then \
echo " rm -f $(DESTDIR)$(pkgdatadir)/api/$$f"; \
rm -f $(DESTDIR)$(pkgdatadir)/api/$$f; \
fi; \
done
html: create_html
clean-local:
-rm -rf html create_html gjdoc_rawcomment.cache
create_html:
-$(MKDIR) html > /dev/null 2>&1
$(GJDOC) \
-use \
-sourcepath "$(sourcepath)" \
-encoding UTF-8 \
-breakiterator \
-licensetext \
-linksource \
-splitindex \
-d html \
-doctitle "GNU Classpath $(VERSION)" \
-windowtitle "GNU Classpath $(VERSION) Documentation" \
-header $(classpathbox) -footer $(classpathbox) \
-subpackages java:javax:org
touch create_html

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,81 @@
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.

View File

@ -0,0 +1,102 @@
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).

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,90 @@
# 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

View File

@ -0,0 +1,90 @@
# 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

View File

@ -0,0 +1,344 @@
UNICODE 2.1 CHARACTER DATABASE
Copyright (c) 1991-1998 Unicode, Inc.
All Rights reserved.
DISCLAIMER
The Unicode Character Database "UNIDAT21.TXT" is provided as-is by
Unicode, Inc. (The Unicode Consortium). 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.
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 vendors.
LIMITATIONS ON RIGHTS TO REDISTRIBUTE THIS DATA
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 (TM) Standard. This file 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.
EXPLANATORY INFORMATION
The Unicode Character Database defines the default Unicode character
properties, and internal mappings. Particular implementations may choose to
override the properties and mappings that are not normative. If that is done,
it is up to the implementer to establish a protocol to convey that
information. For more information about character properties and mappings,
see "The Unicode Standard, Worldwide Character Encoding, Version 2.0",
published by Addison-Wesley. For information about other data files
accompanying the Unicode Character Database, see the section of the
Unicode Standard they were extracted from, or the explanatory readme
files and/or header sections with those files.
The Unicode Character Database has been updated to reflect Version 2.1
of the Unicode Standard, with two additional characters added to those
published in Version 2.0:
U+20AC EURO SIGN
U+FFFC OBJECT REPLACEMENT CHARACTER
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. And
a few normative bidirectional properties have been modified to reflect
decisions of the Unicode Technical Committee.
The Unicode Character Database is a plain ASCII text file consisting of lines
containing fields terminated by semicolons. Each line represents the data for
one encoded character in the Unicode Standard, Version 2.1. Every encoded
character has a data entry, with the exception of certain special ranges, as
detailed below.
There are five special ranges of characters that are represented only by
their start and end characters, since the properties in the file are uniform,
except for code values (which are all sequential and assigned). The names of CJK
ideograph characters and Hangul syllable characters are algorithmically
derivable. (See the Unicode Standard for more information). Surrogate
characters and private use characters have no names.
The exact ranges represented by start and end characters are:
The CJK Ideographs Area (U+4E00 - U+9FFF)
The Hangul Syllables Area (U+AC00 - U+D7A3)
The Surrogates Area (U+D800 - U+DFFF)
The Private Use Area (U+E000 - U+F8FF)
CJK Compatibility Ideographs (U+F900 - U+FAFF)
The following table describes the format and meaning of each field in a
data entry in the Unicode Character Database. Fields which contain
normative information are so indicated.
Field Explanation
----- -----------
0 Code value in 4-digit hexadecimal format.
This field is normative.
1 Unicode 2.1 Character Name. These names match exactly the
names published in Chapter 7 of the Unicode Standard, Version
2.0, except for the two additional characters.
This field is normative.
2 General Category. This is a useful breakdown into various "character
types" which can be used as a default categorization in implementations.
Some of the values are normative, and some are informative.
See below for a brief explanation.
3 Canonical Combining Classes. The classes used for the
Canonical Ordering Algorithm in the Unicode Standard. These
classes are also printed in Chapter 4 of the Unicode Standard.
This field is normative. See below for a brief explanation.
4 Bidirectional Category. See the list below for an explanation of the
abbreviations used in this field. These are the categories required
by the Bidirectional Behavior Algorithm in the Unicode Standard.
These categories are summarized in Chapter 4 of the Unicode Standard.
This field is normative.
5 Character Decomposition. In the Unicode Standard, not all of
the decompositions are full decompositions. Recursive
application of look-up for decompositions will, in all cases, lead to
a maximal decomposition. The decompositions match exactly the
decompositions published with the character names in Chapter 7
of the Unicode Standard. This field is normative.
6 Decimal digit value. This is a numeric field. If the character
has the decimal digit property, as specified in Chapter 4 of
the Unicode Standard, the value of that digit is represented
with an integer value in this field. This field is normative.
7 Digit value. This is a numeric field. If the character represents a
digit, not necessarily a decimal digit, the value is here. This
covers digits which do not form decimal radix forms, such as the
compatibility superscript digits. This field is informative.
8 Numeric value. This is a numeric field. If the character has the
numeric property, as specified in Chapter 4 of the Unicode
Standard, the value of that character is represented with an
integer or rational number in this field. This includes fractions as,
e.g., "1/5" for U+2155 VULGAR FRACTION ONE FIFTH.
Also included are numerical values for compatibility characters
such as circled numbers. This field is normative.
9 If the characters has been identified as a "mirrored" character in
bidirectional text, this field has the value "Y"; otherwise "N".
The list of mirrored characters is also printed in Chapter 4 of
the Unicode Standard. This field is normative.
10 Unicode 1.0 Name. This is the old name as published in Unicode 1.0.
This name is only provided when it is significantly different from
the Unicode 2.1 name for the character. This field is informative.
11 10646 Comment field. This field is informative.
12 Upper case equivalent mapping. If a character is part of an
alphabet with case distinctions, and has an upper case equivalent,
then the upper case equivalent is in this field. See the explanation
below on case distinctions. These mappings are always one-to-one,
not one-to-many or many-to-one. This field is informative.
13 Lower case equivalent mapping. Similar to 12. This field is informative.
14 Title case equivalent mapping. Similar to 12. This field is informative.
GENERAL CATEGORY
The values in this field are abbreviations for the following. Some of the
values are normative, and some are informative. For more information, see
the Unicode Standard. Note: the standard does not assign information to
control characters (except for TAB in the Bidirectonal Algorithm).
Implementations will generally also assign categories to certain control
characters, notably CR and LF, according to platform conventions.
Normative
Mn = Mark, Non-Spacing
Mc = Mark, Spacing Combining
Me = Mark, Enclosing
Nd = Number, Decimal Digit
Nl = Number, Letter
No = Number, Other
Zs = Separator, Space
Zl = Separator, Line
Zp = Separator, Paragraph
Cc = Other, Control
Cf = Other, Format
Cs = Other, Surrogate
Co = Other, Private Use
Cn = Other, Not Assigned
Informative
Lu = Letter, Uppercase
Ll = Letter, Lowercase
Lt = Letter, Titlecase
Lm = Letter, Modifier
Lo = Letter, Other
Pc = Punctuation, Connector
Pd = Punctuation, Dash
Ps = Punctuation, Open
Pe = Punctuation, Close
Po = Punctuation, Other
Sm = Symbol, Math
Sc = Symbol, Currency
Sk = Symbol, Modifier
So = Symbol, Other
BIDIRECTIONAL PROPERTIES
Please refer to the Unicode Standard for an explanation of the algorithm for
Bidirectional Behavior and an explanation of the sigificance of these categories.
These values are normative.
Strong types:
L Left-Right; Most alphabetic, syllabic, and logographic
characters (e.g., CJK ideographs)
R Right-Left; Arabic, Hebrew, and
punctuation specific to those scripts
Weak types:
EN European Number
ES European Number Separator
ET European Number Terminator
AN Arabic Number
CS Common Number Separator
Separators:
B Block Separator
S Segment Separator
Neutrals:
WS Whitespace
ON Other Neutrals ; All other characters: punctuation, symbols
CHARACTER DECOMPOSITION TAGS
The decomposition is a normative property of a character. The tags supplied
with certain decompositions generally indicate formatting information.
Where no such tag is given, the decomposition is designated as canonical.
Conversely, the presence of a formatting tag also indicates
that the decomposition is a compatibility decomposition and not a canonical
decomposition. In the absence of other formatting information in a
compatibility decomposition, the tag <compat> is used to distinguish it from
canonical decompositions.
In some instances a canonical decomposition or a compatibility decomposition
may consist of a single character. For a canonical decomposition, this
indicates that the character is a canonical equivalent of another single
character. For a compatibility decomposition, this indicates that the
character is a compatibility equivalent of another single character.
The compatibility formatting tags used are:
<font> A font variant (e.g. a blackletter form).
<noBreak> A no-break version of a space or hyphen.
<initial> An initial presentation form (Arabic).
<medial> A medial presentation form (Arabic).
<final> A final presentation form (Arabic).
<isolated> An isolated presentation form (Arabic).
<circle> An encircled form.
<super> A superscript form.
<sub> A subscript form.
<vertical> A vertical layout presentation form.
<wide> A wide (or zenkaku) compatibility character.
<narrow> A narrow (or hankaku) compatibility character.
<small> A small variant form (CNS compatibility).
<square> A CJK squared font variant.
<fraction> A vulgar fraction form.
<compat> Otherwise unspecified compatibility character.
CANONICAL COMBINING CLASSES
0: Spacing, enclosing, reordrant, and surrounding
1: Overlays and interior
6: Tibetan subjoined Letters
7: Nuktas
8: Hiragana/Katakana voiced marks
9: Viramas
10: Start of fixed position classes
199: End of fixed position classes
200: Below left attached
202: Below attached
204: Below right attached
208: Left attached (reordrant around single base character)
210: Right attached
212: Above left attached
214: Above attached
216: Above right attached
218: Below left
220: Below
222: Below right
224: Left (reordrant around single base character)
226: Right
228: Above left
230: Above
232: Above right
234: Double above
Note: some of the combining classes in this list do not currently have
members but are specified here for completeness.
CASE MAPPINGS
In addition to uppercase and lowercase, because of the inclusion of certain
composite characters for compatibility, such as "01F1;LATIN CAPITAL LETTER
DZ", there is a third case, called titlecase, which is used where the first
character of a word is to be capitalized (e.g. UPPERCASE, Titlecase,
lowercase). An example of such a character is "01F2;LATIN CAPITAL LETTER D
WITH SMALL LETTER Z".
The uppercase, titlecase and lowercase fields are only included for characters
that have a single corresponding character of that type. Composite characters
(such as "339D;SQUARE CM") that do not have a single corresponding character
of that type can be cased by decomposition.
The case mapping is an informative, default mapping. Certain languages, such
as Turkish, German, French, or Greek may have small deviations from the
default mappings listed in the Unicode Character Database.
MODIFICATION HISTORY
Modifications made in updating the Unicode Character Database for
the Unicode Standard, Version 2.1 (from Version 2.0) are:
* Added two characters (U+20AC and U+FFFC).
* Amended bidi properties for U+0026, U+002E, U+0040, U+2007.
* Corrected case mappings for U+018E, U+019F, U+01DD, U+0258, U+0275,
U+03C2, U+1E9B.
* Changed combining order class for U+0F71.
* Corrected canonical decompositions for U+0F73, U+1FBE.
* Changed decomposition for U+FB1F from compatibility to canonical.
* Added compatibility decompositions for U+FBE8, U+FBE9, U+FBF9..U+FBFB.
* Corrected compatibility decompositions for U+2469, U+246A, U+3358.
Some of the modifications made in updating the Unicode Character Database
for the Unicode Standard, Version 2.0 are:
* Fixed decompositions with TONOS to use correct NSM: 030D.
* Removed old Hangul Syllables; mapping to new characters are
in a separate table.
* Marked compability decompositions with additional tags.
* Changed old tag names for clarity.
* Revision of decompositions to use first-level decomposition, instead
of maximal decomposition.
* Correction of all known errors in decompositions from earlier versions.
* Added control code names (as old Unicode names).
* Added Hangul Jamo decompositions.
* Added Number category to match properties list in book.
* Fixed categories of Koranic Arabic marks.
* Fixed categories of precomposed characters to match decomposition where possible.
* Added Hebrew cantillation marks and the Tibetan script.
* Added place holders for ranges such as CJK Ideographic Area and the
Private Use Area.
* Added categories Me, Sk, Pc, Nl, Cs, Cf, and rectified a number of mistakes in the
database.

View File

@ -0,0 +1,13 @@
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.

View File

@ -0,0 +1,219 @@
# SpecialCasing-2.txt
#
# Special Casing Properties
#
# This file is a supplement to the UnicodeData file.
# It contains additional information about the casing of Unicode characters.
# (For compatibility, the UnicodeData.txt file only contains case mappings for
# characters where they are 1-1, and does not have locale-specific mappings.)
# These are informative character properties.
#
# Send comments to mark@unicode.org
#
# ================================================================================
# Format
# ================================================================================
# The entries in this file are in the following machine-readable format:
#
# <entry> := <case_mapping> <condition_list>? (<s>* "#" <comment>)?
#
# <case_mapping> := <source> <sep> <lower> <sep> <title> <sep> <upper> <sep>
#
# <source> := <code_point>
# <sep> := <s>* ";" <s>*
# <lower> := <code_point_list>
# <title> := <code_point_list>
# <upper> := <code_point_list>
# <code_point_list> := <code_point> (<s>+ <code_point>)*
# <code_point> := <hex><hex><hex><hex>
# <hex> := [0-1A-Fa-f]
# <s> := <space>
#
# <condition_list> := <locale>? (<s>+ <context>)*
# <locale> := <ISO_3166_code> ( "_" <ISO_639_code> )? ( "_" <variant> )?
# <ISO_3166_code> := 2-letter country code,
# as in http://www.unicode.org/unicode/onlinedat/countries.html
# <ISO_639_code> := 2-letter code,
# as in http://www.unicode.org/unicode/onlinedat/languages.html
# <context> := "FINAL" | "NON_FINAL" | "MODERN" | "NON_MODERN"
#
# A condition list overrides the normal behavior if any of the listed conditions is true.
# FINAL: The letter is not followed by a letter of category L* (e.g. Ll, Lt, Lu, Lm, or Lo).
# MODERN: The mapping is only used for modern text.
# Conditions preceded by "NON_" represent the negation of the condition
#
# New contexts may be added in the future.
# Parsers of this file must be prepared to deal with that situation.
# Additional whitespace around elements is optional. Blank lines are ignored in parsing.
# On any line, all text following "#" is a comment, and are ignored in parsing.
# ================================================================================
# ================================================================================
# Unconditional mappings
# ================================================================================
# The German es-zed is special--the normal mapping is to SS.
# Note: the titlecase should never occur in practice. It is equal to titlecase(uppercase(<es-zed>))
00DF; 00DF; 0053 0073; 0053 0053; # LATIN SMALL LETTER SHARP S
# Ligatures
FB00; FB00; 0046 0066; 0046 0046; # LATIN SMALL LIGATURE FF
FB01; FB01; 0046 0069; 0046 0049; # LATIN SMALL LIGATURE FI
FB02; FB02; 0046 006C; 0046 004C; # LATIN SMALL LIGATURE FL
FB03; FB03; 0046 0066 0069; 0046 0046 0049; # LATIN SMALL LIGATURE FFI
FB04; FB04; 0046 0066 006C; 0046 0046 004C; # LATIN SMALL LIGATURE FFL
FB05; FB05; 0053 0074; 0053 0054; # LATIN SMALL LIGATURE LONG S T
FB06; FB06; 0053 0074; 0053 0054; # LATIN SMALL LIGATURE ST
0587; 0587; 0535 0582; 0535 0552; # ARMENIAN SMALL LIGATURE ECH YIWN
FB13; FB13; 0544 0576; 0544 0546; # ARMENIAN SMALL LIGATURE MEN NOW
FB14; FB14; 0544 0565; 0544 0535; # ARMENIAN SMALL LIGATURE MEN ECH
FB15; FB15; 0544 056B; 0544 053B; # ARMENIAN SMALL LIGATURE MEN INI
FB16; FB16; 054E 0576; 054E 0546; # ARMENIAN SMALL LIGATURE VEW NOW
FB17; FB17; 0544 056D; 0544 053D; # ARMENIAN SMALL LIGATURE MEN XEH
# No corresponding uppercase precomposed character
0149; 0149; 02BC 006E; 02BC 004E; # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
0390; 0390; 0399 0308 0301; 0399 0308 0301; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
03B0; 03B0; 03A5 0308 0301; 03A5 0308 0301; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
01F0; 01F0; 004A 030C; 004A 030C; # LATIN SMALL LETTER J WITH CARON
1E96; 1E96; 0048 0331; 0048 0331; # LATIN SMALL LETTER H WITH LINE BELOW
1E97; 1E97; 0054 0308; 0054 0308; # LATIN SMALL LETTER T WITH DIAERESIS
1E98; 1E98; 0057 030A; 0057 030A; # LATIN SMALL LETTER W WITH RING ABOVE
1E99; 1E99; 0059 030A; 0059 030A; # LATIN SMALL LETTER Y WITH RING ABOVE
1E9A; 1E9A; 0041 02BE; 0041 02BE; # LATIN SMALL LETTER A WITH RIGHT HALF RING
1F50; 1F50; 03A5 0313; 03A5 0313; # GREEK SMALL LETTER UPSILON WITH PSILI
1F52; 1F52; 03A5 0313 0300; 03A5 0313 0300; # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
1F54; 1F54; 03A5 0313 0301; 03A5 0313 0301; # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
1F56; 1F56; 03A5 0313 0342; 03A5 0313 0342; # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
1FB6; 1FB6; 0391 0342; 0391 0342; # GREEK SMALL LETTER ALPHA WITH PERISPOMENI
1FC6; 1FC6; 0397 0342; 0397 0342; # GREEK SMALL LETTER ETA WITH PERISPOMENI
1FD2; 1FD2; 0399 0308 0300; 0399 0308 0300; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
1FD3; 1FD3; 0399 0308 0301; 0399 0308 0301; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
1FD6; 1FD6; 0399 0342; 0399 0342; # GREEK SMALL LETTER IOTA WITH PERISPOMENI
1FD7; 1FD7; 0399 0308 0342; 0399 0308 0342; # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
1FE2; 1FE2; 03A5 0308 0300; 03A5 0308 0300; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
1FE3; 1FE3; 03A5 0308 0301; 03A5 0308 0301; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
1FE4; 1FE4; 03A1 0313; 03A1 0313; # GREEK SMALL LETTER RHO WITH PSILI
1FE6; 1FE6; 03A5 0342; 03A5 0342; # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
1FE7; 1FE7; 03A5 0308 0342; 03A5 0308 0342; # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
1FF6; 1FF6; 03A9 0342; 03A9 0342; # GREEK SMALL LETTER OMEGA WITH PERISPOMENI
# IMPORTANT-when capitalizing iota-subscript (0345)
# It MUST be in normalized form--moved to the end of any sequence of combining marks.
# This is because logically it represents a following base character!
# E.g. <iota_subscript> (<Mn> | <Mc> | <Me>)+ => (<Mn> | <Mc> | <Me>)+ <iota_subscript>
# It should never be the first character in a word, so in titlecasing it can be left as is.
# The following cases are already in the UnicodeData file, so are only commented here.
# 0345; 0345; 0345; 0399; # COMBINING GREEK YPOGEGRAMMENI
# All letters with YPOGEGRAMMENI (iota-subscript) or PROSGEGRAMMENI (iota adscript)
# have special uppercases.
# Note: characters with PROSGEGRAMMENI are actually titlecase, not uppercase!
1F80; 1F80; 1F88; 1F08 0399; # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
1F81; 1F81; 1F89; 1F09 0399; # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
1F82; 1F82; 1F8A; 1F0A 0399; # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
1F83; 1F83; 1F8B; 1F0B 0399; # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
1F84; 1F84; 1F8C; 1F0C 0399; # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
1F85; 1F85; 1F8D; 1F0D 0399; # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
1F86; 1F86; 1F8E; 1F0E 0399; # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
1F87; 1F87; 1F8F; 1F0F 0399; # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
1F88; 1F80; 1F88; 1F08 0399; # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
1F89; 1F81; 1F89; 1F09 0399; # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
1F8A; 1F82; 1F8A; 1F0A 0399; # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
1F8B; 1F83; 1F8B; 1F0B 0399; # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
1F8C; 1F84; 1F8C; 1F0C 0399; # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
1F8D; 1F85; 1F8D; 1F0D 0399; # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
1F8E; 1F86; 1F8E; 1F0E 0399; # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
1F8F; 1F87; 1F8F; 1F0F 0399; # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
1F90; 1F90; 1F98; 1F28 0399; # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
1F91; 1F91; 1F99; 1F29 0399; # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
1F92; 1F92; 1F9A; 1F2A 0399; # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
1F93; 1F93; 1F9B; 1F2B 0399; # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
1F94; 1F94; 1F9C; 1F2C 0399; # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
1F95; 1F95; 1F9D; 1F2D 0399; # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
1F96; 1F96; 1F9E; 1F2E 0399; # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
1F97; 1F97; 1F9F; 1F2F 0399; # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
1F98; 1F90; 1F98; 1F28 0399; # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
1F99; 1F91; 1F99; 1F29 0399; # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
1F9A; 1F92; 1F9A; 1F2A 0399; # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
1F9B; 1F93; 1F9B; 1F2B 0399; # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
1F9C; 1F94; 1F9C; 1F2C 0399; # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
1F9D; 1F95; 1F9D; 1F2D 0399; # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
1F9E; 1F96; 1F9E; 1F2E 0399; # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
1F9F; 1F97; 1F9F; 1F2F 0399; # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
1FA0; 1FA0; 1FA8; 1F68 0399; # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
1FA1; 1FA1; 1FA9; 1F69 0399; # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
1FA2; 1FA2; 1FAA; 1F6A 0399; # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
1FA3; 1FA3; 1FAB; 1F6B 0399; # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
1FA4; 1FA4; 1FAC; 1F6C 0399; # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
1FA5; 1FA5; 1FAD; 1F6D 0399; # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
1FA6; 1FA6; 1FAE; 1F6E 0399; # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
1FA7; 1FA7; 1FAF; 1F6F 0399; # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
1FA8; 1FA0; 1FA8; 1F68 0399; # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
1FA9; 1FA1; 1FA9; 1F69 0399; # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
1FAA; 1FA2; 1FAA; 1F6A 0399; # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
1FAB; 1FA3; 1FAB; 1F6B 0399; # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
1FAC; 1FA4; 1FAC; 1F6C 0399; # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
1FAD; 1FA5; 1FAD; 1F6D 0399; # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
1FAE; 1FA6; 1FAE; 1F6E 0399; # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
1FAF; 1FA7; 1FAF; 1F6F 0399; # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
1FB3; 1FB3; 1FBC; 0391 0399; # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
1FBC; 1FB3; 1FBC; 0391 0399; # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
1FC3; 1FC3; 1FCC; 0397 0399; # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
1FCC; 1FC3; 1FCC; 0397 0399; # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
1FF3; 1FF3; 1FFC; 03A9 0399; # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
1FFC; 1FF3; 1FFC; 03A9 0399; # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
# Some characters with YPOGEGRAMMENI are also have no corresponding titlecases
1FB2; 1FB2; 1FBA 0345; 1FBA 0399; # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
1FB4; 1FB4; 0386 0345; 0386 0399; # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
1FC2; 1FC2; 1FCA 0345; 1FCA 0399; # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
1FC4; 1FC4; 0389 0345; 0389 0399; # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
1FF2; 1FF2; 1FFA 0345; 1FFA 0399; # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
1FF4; 1FF4; 038F 0345; 038F 0399; # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
1FB7; 1FB7; 0391 0342 0345; 0391 0342 0399; # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
1FC7; 1FC7; 0397 0342 0345; 0397 0342 0399; # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
1FF7; 1FF7; 03A9 0342 0345; 03A9 0342 0399; # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
# ================================================================================
# Conditional mappings
# ================================================================================
# Special case for final form of sigma
03A3; 03C2; 03A3; 03A3; FINAL; # GREEK CAPITAL LETTER SIGMA
# Note: the following cases for non-final are already in the UnicodeData file.
# 03A3; 03C3; 03A3; 03A3; # GREEK CAPITAL LETTER SIGMA
# 03C3; 03C3; 03A3; 03A3; # GREEK SMALL LETTER SIGMA
# 03C2; 03C2; 03A3; 03A3; # GREEK SMALL LETTER FINAL SIGMA
# Note: the following cases are not included, since they would normalize in lowercasing
# 03C3; 03C2; 03A3; 03A3; FINAL; # GREEK SMALL LETTER SIGMA
# 03C2; 03C3; 03A3; 03A3; NON_FINAL; # GREEK SMALL LETTER FINAL SIGMA
# ================================================================================
# Locale-sensitive mappings
# ================================================================================
# Turkish
0049; 0131; 0049; 0049; TR; # LATIN CAPITAL LETTER I
0069; 0069; 0130; 0130; TR; # LATIN SMALL LETTER I
# Note: the following cases are already in the UnicodeData file.
# 0131; 0131; 0049; 0049; TR; # LATIN SMALL LETTER DOTLESS I
# 0130; 0069; 0130; 0130; TR; # LATIN CAPITAL LETTER I WITH DOT ABOVE

View File

@ -0,0 +1,345 @@
<!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>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
*.html

View File

@ -0,0 +1,46 @@
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)

View File

@ -0,0 +1,109 @@
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>

View File

@ -0,0 +1 @@
*.html

View File

@ -0,0 +1,64 @@
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.

View File

@ -0,0 +1,130 @@
#!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>

View File

@ -0,0 +1,137 @@
#!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>

View File

@ -0,0 +1,141 @@
#!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>

View File

@ -0,0 +1,166 @@
#!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>

View File

@ -0,0 +1,108 @@
#!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>

View File

@ -0,0 +1,133 @@
#!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>

View File

@ -0,0 +1,159 @@
#!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>

View File

@ -0,0 +1,245 @@
#!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.11 Announcement (2004-09-13)">
<pre>
We are pleased to announce a new developer snapshot release 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.
GNU Classpath 0.11 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.11.tar.gz
MD5sum: fa0e0f2532b838e67f9d9f93d45556a2
Some highlights of this release (more extensive list below):
Inclusion of full javax.crypto, javax.security, javax.net and
subpackages. Complete implementation of java.awt.geom. GTK+ 2.4 AWT
peer implementation for AWT FileDialog, better java.awt.image
LookupTable, Kernel and BufferedImage support. AWT 1.0 Event Model
implemented, and new Swing classes (Spring, SpringLayout, JMenu,
JPopupMenu, JColorChooser, JComboBox, JTextField, internal JFrame
support and start of JTable and JTree implementations). The Collection
classes have seen extensive documentation updates. GNU Classpath
Examples have been added - a GPL demo framework for AWT and Swing.
Included, but not activated by default in this release is a Graphics2D
implementation based on the Cairo Graphics framework
(http://www.cairographics.org). Enabling this makes programs like
JFreeChart work on GNU Classpath based runtimes.
[It is recommended that people wanting to experiment with the
Graphics2D implementation follow the instructions for building gcj
with jhbuild which automatically builds the latest CVS version of GCJ
and Cairo at http://people.redhat.com/fitzsim/gcj-and-jhbuild.html]
Not yet included is an implementation of Generic collection classes
and classes for other 1.5 language extensions. Work on this is being
done on a special development branch that will be included in a future
GNU Classpath release when free runtimes, compilers and tools have all
been upgraded to support these new language features.
GNU Classpath uses the Mauve test suite for Compatibility, Completeness
and Correctness checking. This release passes 16816 of 17102 mauve tests.
Free Software programs and libraries tested against this release are
Ant, Eclipse 2.1, Eclipse 3.0 (starts up, but does not yet completely
run), JFreeChart (see above), the Nice programming language
environment (which can now be bootstrapped with any GNU Classpath
based runtime and which works out of the box with Kaffe and GCJ for
creating native executables), gcjwebplugin and many other programs,
libraries and applets.
Here are answers to some questions you might have about this project and
this release.
1). 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/)
2). 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 runtime
environments should work out of the box with GNU Classpath
* JamVM (http://jamvm.sourceforge.net/)
* Jikes RVM (http://www.ibm.com/developerworks/oss/jikesrvm/)
* Kissme (http://kissme.sourceforge.net/)
Note that these are just byte code execution runtimes. For development
of programs written in the java programming language you will also
need compilers and other tools for creating libraries and/or
executables (see question 1).
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 and FreeBSD on x86 and powerpc are regularly tested by the
developers. We plan to eventually support many others.
5). Where do I go for more information?
The project home page with information on our mailing list can be
found at 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
The following presentation given during the Desktop Developers
Conference shows how to integrate GNU Claspath and GCJ more with the
Free Desktop environments: http://people.redhat.com/fitzsim/ddc2004/
6). How do I extend the functionality of the core classes?
Besides combining GNU Classpath with the runtimes and compilers above
you might want to add support for additional encryption libraries and
algorithms as provided by GNU Crypto
(http://www.gnu.org/software/gnu-crypto/). And for additional
extension libraries (mail, xml, activation, infobus, servlet) check
out GNU ClasspathX (http://www.gnu.org/software/classpathx).
Additional network protocol support is provided by a sub-project
called GNU Classpath Inetlib, an extension library to provide extra
network protocol support (ftp, finger, gopher) for GNU Classpath, but
it can also standalone to ease adding http, imap, pop3 and smtp client
support to applictions. Also distributed from
<ftp://ftp.gnu.org/gnu/classpath/>
The following projects extend the functionality of GNU Classpath
with additional algorithms, new core packages and tools.
All are released under GPL compatible licenses:
* Jessie: A free implementation of the JSSE. Secure Sockets Extension.
http://www.nongnu.org/jessie/
* Tritonus: A implementation of the javax.sound API.
http://www.tritonus.org/
* gcjwebplugin: A plugin for the execution of applets in web browsers.
http://www.nongnu.org/gcjwebplugin/
Note that the above libraries might already have been included in the
various platforms that also integrate GNU Classpath like done by the
Kaffe project.
6). What is new in this release?
New in release 0.11 (Sep 13, 2004)
(See the ChangeLog file for a full list of changes.)
* javax.swing.Spring and SpringLayout support.
* Added pluggable look and feel support for BasicTextFieldUI and
BasicToolBarSeparatorUI.
* java.swing.text support for (Default and Layered) Highlighter, FieldView,
PlainView, TabExpander and TabableView added.
* Start of JTable and JTree implementation.
* Internal Swing frames work.
* JMenu and JPopupMenu work.
* New gtk+ AWT FileDialog peer now based on gtk+2.4 or higher.
* java.awt.image LookupTables and kernel support.
* Improved java.awt.image.BufferedImage support.
* AWT 1.0 event model support.
* GNU Classpath now comes with some example programs (see examples/README).
* New javax.crypto, javax.crypto.interfaces, javax.crypto.spec, javax.net,
javax.net.ssl, javax.security.auth, javax.security.auth.callback,
javax.security.auth.login, javax.security.auth.x500, javax.security.sasl
and org.ietf.jgss packages are now officially part of GNU Classpath.
Extra crypto algorithms can be obtained from the GNU Crypto project,
a full TLS implementation is provided by the Jessie project.
http://www.gnu.org/software/gnu-crypto/
http://www.nongnu.org/jessie/
* Frame.setIconImage() support.
* AWT GDKGraphics scaling.
* New configure flag --enable-gtk-cairo to build Graphics2D implementation
build on cairo and pangoft2. Enabled at runtime by defining the system
property gnu.java.awt.peer.gtk.Graphics=Graphics2D.
* javax.swing.JSpinner implemented.
* Extensive documentation update for java.util collection classes.
* java.awt.geom completed. Area, Arc2D, Ellipse2D and Line2D implemented.
* GNU JAXP is no longer included with GNU Classpath. Runtime, compiler and
tool integrators are encouraged to directly integrate GNU JAXP.
This release has been tested against GNU JAXP 1.1.
http://www.gnu.org/software/classpathx/jaxp/jaxp.html
* JColorChooser, JComboBox and JTextField implemented, including example
uses in GNU Classpath Examples swing Demo.
Runtime interface Changes:
* java.lang.Compiler now uses the new java.lang.VMCompiler; there is
a reference implementation that most VMs can use.
* java.lang.VMSystem has a new getenv(String) method and a reference C/JNI
implementation that should work on most Posix like systems.
* java.util.TimeZone has been split into a platform independent class and
a platform dependent class VMTimeZone. GNU Classpath comes with a generic
way to get at the default time zone for Posix/GNU-like platforms.
* [VM]AccessController improvements. In particular it handles
`doPrivileged' calls better, and allows for recursive `doPrivileged'
calls in the same Thread. (see vm/reference/java/security/)
The following people helped with this release:
Andreas Tobler (libgcj merging), Andrew Haley (object streams), Andrew
John Hughes (documentation, swing and acessibility), Archie Cobbs
(freebsd testing and bugfixing), Bryce McKinlay (libgcj merging, image
producers, access controller actions), Casey Marshall (crypto,
security and access controller implementation), Craig Black (image
scaling, round rect support, awt tear-off menus), Dalibor Topic (kaffe
merging), David Gilbert (documentation updates, mauve tests, awt and
geom bug fixes), David Jee (awt gtk+ image and choice fixes, frame
icon support, focus manger), Florian Weimer (bug reporting), Graydon
Hoare (lots of Swing and Graphics2D implementation and fixes), Guilhem
Lavaux (java.text bug fixing), Jerry Quinn (java.awt.image lookup
table and kernel implemented), Jeroen Frijters (Runtime loadlibrary,
encoding manager, file and classloader fixes), Ka-Hing Cheung
(jspinner implementation), Kim Ho (jcolorchooser, jtooltip, internal
jfram implementations, event and repaint manager fixes), Mark Wielaard
(packaging and coordination), Michael Koch (javax.swing.text
implementation, build environment, embedded window support, libgcj
merging, bug fixes), Olga Rodimina (swing combobox, jmenu and popup
menu support), Patrik Reali (web master, nio vm class restructuring),
Roman Kennke (boxlayout, spring and springlayout), Sven de Marothy
(java.awt.geom), Thomas Fitzsimmons (lots of gtk+ peers work, awt 1.0
event model), Tom Tromey (bug fixing, libgcj merging, vmcompiler).
</pre>
<footer>

View File

@ -0,0 +1,237 @@
#!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.12 Announcement (2004-11-15)">
<pre>
We are pleased to announce a new developer snapshot release 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.
GNU Classpath 0.12 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.12.tar.gz
MD5sum: ce1f7fbe6f2e3b738bae3b46f01a9670
Some highlights of this release (more extensive list below):
X.509 certificate path checking, signed JAR file support, full
java.awt.color implementation, java.beans 1.4 updates, improved
build process, better AWT focus management, much faster and better
fonts support, AWT Choice fixes, HTTP POST fixes, better collection
documentation, Calendar bug fixes, lookahead support for regular
expressions, jtree starts working and improved Eclipse 3 support.
Included, but not activated by default in this release is a Graphics2D
implementation based on the Cairo Graphics framework
(http://www.cairographics.org). Enabling this makes programs like
JFreeChart work on GNU Classpath based runtimes. Note that this release
needs a cairo CVS build.
[It is recommended that people wanting to experiment with the
Graphics2D implementation follow the instructions for building gcj
with jhbuild which automatically builds the latest CVS version of GCJ
and Cairo at http://people.redhat.com/fitzsim/gcj-and-jhbuild.html]
Not yet included is an implementation of Generic collection classes
and classes for other 1.5 language extensions. Work on this is being
done on a special development branch that will be included in a future
GNU Classpath release when free runtimes, compilers and tools have all
been upgraded to support these new language features.
GNU Classpath uses the Mauve test suite for Compatibility, Completeness
and Correctness checking. This release passes 21245 of 21593 mauve
tests.
Free Software programs and libraries tested against this release are
Eclipse 3.0, JFreeChart (see above), gcjwebplugin and many other
programs,
libraries and applets.
Here are answers to some questions you might have about this project and
this release.
1). 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/)
2). 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 runtime
environments should work out of the box with GNU Classpath
* JamVM (http://jamvm.sourceforge.net/)
* Jikes RVM (http://www.ibm.com/developerworks/oss/jikesrvm/)
* Kissme (http://kissme.sourceforge.net/)
Note that these are just byte code execution runtimes. For development
of programs written in the java programming language you will also
need compilers and other tools for creating libraries and/or
executables (see question 1).
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 and FreeBSD on x86 and powerpc are regularly tested by the
developers. Since 0.12 there is also support for cygwin.
We plan to eventually support many others.
5). Where do I go for more information?
The project home page with information on our mailing list can be
found at 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
The following presentation given during the Desktop Developers
Conference shows how to integrate GNU Claspath and GCJ more with the
Free Desktop environments: http://people.redhat.com/fitzsim/ddc2004/
6). How do I extend the functionality of the core classes?
Besides combining GNU Classpath with the runtimes and compilers above
you might want to add support for additional encryption libraries and
algorithms as provided by GNU Crypto
(http://www.gnu.org/software/gnu-crypto/). And for additional
extension libraries (mail, xml, activation, infobus, servlet) check
out GNU ClasspathX (http://www.gnu.org/software/classpathx).
Additional network protocol support is provided by a sub-project
called GNU Classpath Inetlib, an extension library to provide extra
network protocol support (ftp, finger, gopher) for GNU Classpath, but
it can also standalone to ease adding http, imap, pop3 and smtp client
support to applictions. Also distributed from
<ftp://ftp.gnu.org/gnu/classpath/>
The following projects extend the functionality of GNU Classpath
with additional algorithms, new core packages and tools.
All are released under GPL compatible licenses:
* Jessie: A free implementation of the JSSE. Secure Sockets Extension.
http://www.nongnu.org/jessie/
* Tritonus: A implementation of the javax.sound API.
http://www.tritonus.org/
* gcjwebplugin: A plugin for the execution of applets in web browsers.
http://www.nongnu.org/gcjwebplugin/
Note that the above libraries might already have been included in the
various platforms that also integrate GNU Classpath like done by the
Kaffe project.
6). What is new in this release?
New in release 0.12 (Nov 14, 2004)
(See the ChangeLog file for a full list of changes.)
* GNU Classpath's JAR implementation now has preliminary support for
signed entries, for so called "signed JAR" file support. Signed JAR
files are one of the key security features of managed runtimes, and
allows code to run privileged given unforgeable proofs of identity.
* A much improved version of X.509 certificates has been added,
including a robust certificate path checking algorithm. Also
included is an implementation of the RSA signature scheme.
* Full java.awt.color implementation, with all standard ICC profiles,
except for PhotoYCC color space.
* java.beans 1.4 updates and bug fixes.
* java.awt.image support updated to 1.4.
* Improved build process. Uses less memory with gcj and C code is
buildable with -Werror on most platform. Please configure with
--enable-Werror and report any remaining issues.
* Big-endian (PowerPC) fixes for native awt GTK+ peers.
* Checkstyle support, see scripts/checkstyle-config.xml.
* Better AWT focus management fro GTK+ peers.
* Much faster and better fonts support
(for both gdk Graphics and cairo Graphics2D)
* AWT Choice fixes for hidden components.
* HTTP Connection Handler fixes for POST support.
* Much fuller collection documentation.
* Lots of Calendar bug fixes.
* More javax.imageio support.
* Better AWT Help MenuBar support.
* Lookahead support for regular expressions.
* Serialization object stream fixes for multiple ClassLoader scenarios.
* Swing TabbedPane, ColorChooser and ComboBox improvements.
* Start of JTree functionality.
* Improved Eclipse 3 support for GNU Classpath based runtimes.
Runtime interface Changes:
* New --enable-java-lang-system-explicit-initialization configuration
option. (Warning, will be replaced in next release, please consult
the mailinglist.)
* The reference implementation of VMClassLoader has default
implementations for getResource(s) and provides support for a new
default getSystemClassLoader implementation.
The following people helped with this release:
Andreas Tobler (gtk/c compilation and PPC fixes), Andrew Haley
(Object stream serialization fixes), Andrew John Hughes (java.util
documentation updates), Bryce McKinlay (Calendar bugfixes), Casey
Marshall (X.509 certificate path checking and signed jar file
support), Dalibor Topic (AWT Component postevent fix), David Daney
(URL bug fixes), David Gilbert (geom documentation updates and mauve
checking), David Jee (AWT HelpMenuBar fixes), Graydon Hoare
(Graphics2D and Swing work), Ilya Perminov (RMI fixes), Jeroen
Frijters (Application Classloader updates and IKVM integration), Jerry
Quinn (AWT image work), Kim Ho (Swing TabbedPane and ColorChooser
fixes), Mark Wielaard (libgcj merging and packaging), Mattias Rehnberg
(Inet6Address and serialization fixes), Michael Koch (Build
system/compiler updates, libgcj merging, code cleanups, swing, net,
imageio and other fixes and improvements), Noa Resare (Calendar, net,
AWT choice and GeneralPath fixes, kaffe integration), Olga Rodimina
(Swing ComboBox fixes), Patrik Reali (Website), Paul Jenner (AWT Image
raster and Swing JTree fixes), Per Bothner (Collections efficiency),
Robert Schuster (java.beans 1.4 updates and bug fixes), Shashank Bapat
(Regex lookahead support), Steven Augart (JikesRVM integration), Sven
de Marothy (AWT color package implementation, Polygon, GeneralPath,
Double parsing and nio fixes), Thomas Fitzsimmons (AWT gtk+ peer
work), Tom Tromey (Code cleanups all over), Torsten Rupp (Native
java.net cleanups and fixes)
</pre>
<footer>

View File

@ -0,0 +1,256 @@
#!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.13 Announcement (2005-01-07)">
<pre>
We are pleased to announce a new developer snapshot release of GNU Classpath.
GNU Classpath, essential libraries for the java, is a project to create free
core class libraries for use with runtimes, compilers and tools for the
java programming language.
GNU Classpath 0.13 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.13.tar.gz
MD5sum: 9920904c15f2cdb15e38c4a44968c4f9
SHA1sum: f431a24d7f25259123ae8a897b4d71be76ac76ea
Some highlights of this release (more extensive list below):
Includes HTTP/1.1 and FTP URL handlers. Added java.beans XMLEncoder and
XMLDecoder classes. More than 250 locales are supported now. SAX, DOM,
XSL and XPath implementations for javax.xml (JAXP 1.3) have been added.
Better AWT on gtk+ and Swing support. An AWT Robot implementation based
on the XServer XTest Extension for the gtk+ peers has been added.
GNU Classpath uses the Mauve test suite for Compatibility, Completeness
and Correctness checking. This release passes 23131 of 23729 mauve tests.
Conformance reports for the included jaxp support can be found in the
doc/README.jaxp file.
22 people are listed in the ChangeLog file (full list below)
and there were 245 commits to CVS since the last release.
Included, but not activated by default in this release is a Graphics2D
implementation based on the Cairo Graphics framework
(http://www.cairographics.org/). Enabling this makes programs like
JFreeChart work on GNU Classpath based runtimes. Note that this release
needs a cairo CVS build.
[It is recommended that people wanting to experiment with the
Graphics2D implementation follow the instructions for building gcj
with jhbuild which automatically builds the latest CVS version of GCJ
and Cairo at http://people.redhat.com/fitzsim/gcj-and-jhbuild.html]
Not yet included is an implementation of Generic collection classes
and classes for other 1.5 language extensions. Work on this is being
done on a special development branch that will be included in a future
GNU Classpath release when free runtimes, compilers and tools have all
been upgraded to support these new language features.
Here are answers to some questions you might have about this project and
this release.
1). 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/)
Both projects have CVS versions which track GNU Classpath closely.
2). 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 runtime
environments (which don't include compilers or other tools, see above)
work out of the box with GNU Classpath (tested by and recommended for
GNU Classpath hackers).
* JamVM (1.2.3) (http://jamvm.sourceforge.net/)
* Kissme (CVS) (http://kissme.sourceforge.net/)
Other runtimes known to work with the latest or a previous release are
JikesRVM, IKVM.NET, JC, SableVM (-Xgnuclasspath) and CACAO.
(You might need staging, development or CVS versions for support of the
latest GNU Classpath release with some of these.)
Note that these are just byte code execution runtimes. For development
of programs written in the java programming language you will also
need compilers and other tools for creating libraries and/or
executables (see question 1).
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 and FreeBSD on x86 and powerpc are regularly tested by the
developers. Since 0.12 there is also support for cygwin.
We plan to eventually support many others.
5). Where do I go for more information?
The project home page with information on our mailing list can be
found at 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
The following presentation given during the Desktop Developers
Conference shows how to integrate GNU Claspath and GCJ more with the
Free Desktop environments: http://people.redhat.com/fitzsim/ddc2004/
6). How do I extend the functionality of the core classes?
Besides combining GNU Classpath with the runtimes and compilers above
you might want to add support for additional encryption libraries and
algorithms as provided by GNU Crypto
(http://www.gnu.org/software/gnu-crypto/). And for additional
extension libraries (mail, activation, infobus, servlet, etc.)
check out GNU ClasspathX (http://www.gnu.org/software/classpathx).
Additional network protocol support is provided by a sub-project
called GNU Classpath Inetlib, an extension library to provide extra
network protocol support (ftp, finger, gopher) for GNU Classpath, but
it can also standalone to ease adding http, imap, pop3 and smtp client
support to applictions. Also distributed from
<ftp://ftp.gnu.org/gnu/classpath/>
The following projects extend the functionality of GNU Classpath
with additional algorithms, new core packages and tools.
All are released under GPL compatible licenses:
* Jessie: A free implementation of the JSSE. Secure Sockets Extension.
http://www.nongnu.org/jessie/
* Tritonus: A implementation of the javax.sound API.
http://www.tritonus.org/
* gcjwebplugin: A plugin for the execution of applets in web browsers.
http://www.nongnu.org/gcjwebplugin/
Note that the above libraries might already have been included in the
various platforms that also integrate GNU Classpath like done by the
Kaffe project.
6). What is new in this release?
New in release 0.13 (Jan 6, 2005)
(See the ChangeLog file for a full list of changes.)
* The http url protocol handler has been replaced with a full HTTP/1.1
version from GNU inetlib.
* A new ftp url protocol handler has been added also from GNU inetlib.
* java.beans has been updated to 1.4 including support for XMLEncoder
and XMLDecoder.
* The java.util.Locale support is now based on the Common Locale Data
Repository (CLDR) Project (see http://www.unicode.org/cldr/).
GNU Classpath provides support for more than 250 locales now.
This new support is experimental and the GNU Classpath hackers are
working together with runtime developers and the unicode consortium
to improve them in the future.
If your runtime misdetects your locale or if the default locale gives
problems please try running with -Duser.language=en and -Duser.region=US
to fall back on a known good locale.
* Added implementations of javax.xml (JAXP 1.3), org.xml.sax (SAX2) and
org.w3c.dom (DOM Level 3) interfaces. It is possible to switch between
different implementations AElfred2, GNU DOM, GNU XSL, libxmlj SAX,
libxmlj DOM and libxmlj XSL by setting different system properties.
Also provided is a preliminary XPath 1.0 implementation.
The libxmlj versions are build around libxml2 and libxslt and have to
be enabled during build time by the --enable-xmlj configure flag.
The current support is equal to the last released GNU JAXP 1.3 release.
These packages will be maintained as part of the GNU Classpath core classes
in the future. For more information, conformance results and documentation
on selecting different implementations see doc/README.jaxp.
* More AWT accessible support.
* AWT gtk+ peers component layout, dialog placement, keyboard focus
handling and text positioning have been improved.
* ImageIO interfaces are more complete.
* JList, JTable and JTree have been hugely improved.
* java.awt.Robot support with GdkRobot in the gtk+ awt peers.
Needs XTest Extension (libXtst) XServer support.
* New --disable-examples configure argument.
Runtime interface changes:
* Added a new method (VMRuntime.enableShutdownHooks) that enables the VM
to lazily register an exit handler.
* The java.lang.Class constructor now automatically sets the protection
domain for array classes, based on the protection domain of the component
type class.
* New gnu.classpath.VMSystemProperties class. This replaces the
system properties initialization in VMRuntime. Note that it is
now the VMs responsibility to set one additional property:
gnu.cpu.endian should be set to "big" or "little".
* VMRuntime.nativeGetLibname() has been renamed to VMRuntime.mapLibraryName()
and has only one argument, the name of the library.
* String and StringBuffer now call VMSystem.arraycopy() directly and don't
go through java.lang.System. Be careful to not initialize java.lang.System
early in the bootstrap sequence in your VM runtime interface classes.
* Some (wrong) documentation about the behavior of VMThread.sleep(0, 0)
has been updated. Also, VMThread.sleep() now has a default non-native
implementation, but it is a generic implementation that ignores the
nano-seconds argument. Runtime hackers are encouraged to provide a more
efficient version.
* There is prelimenary support for nio direct byte buffers.
See VMDirectByteBuffer. Please contact the GNU Classpath mailinglist when
you add support for this to your runtime.
The following people helped with this release:
Andrew John Hughes (Locale, Currency and java.text updates), Archie Cobbs
(Thread improvements), Bryce McKinlay (ResourceBundle speedups), Casey
Marshall (FileLock fixes), Chris Burdess (locale generator, xml integration,
http and ftp handlers), Craig Black (BeanInfoEmbryo improvements), David
Gilbert (AWT and geom documentation), Graydon Hoare (Graphics2D and
BufferedImage improvements), Guilhem Lavaux (CLDR parser and Object stream
serialization improvements), Ito Kazumitsu (nio ByteBuffer fixes), Jeroen
Frijters (Runtime interfaces improvements, including shutdown hooks and
system properties, nio and zip fixes), Jerry Quinn (AWT accessibility
support), Mark Wielaard (packaging and integration), Michael Koch (Locale,
Swing, InetAddress, ImageIO, nio improvements and libgcj integration),
Olga Rodimina (JTable improvements), Patrik Reali (website maintenance),
Paul Jenner (ImageIcon additions), Ranjit Mathew (IdentityHashMap fix),
Robert Schuster (java.beans updates, XMLEncode and XMLDecoder
implementations and JComboBox improvements), Sven de Marothy (Graphics2D,
java.awt.image and java.awt.geom fixes), Thomas Fitzsimmons (GdkRobot,
gtk+ peers component layout, dialog placement, keyboard focus handling and
text positioning), Tom Tromey (gcjx support, zip and ResourceBundle fixes)
</pre>
<footer>

View File

@ -0,0 +1,240 @@
#!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.14 Announcement (2005-02-26)">
<pre>
"GNU Classpath delivers core libraries for upcoming GCC and Kaffe releases"
We are pleased to announce a new developer snapshot release 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. This 0.14 release snapshot can be seen as the feature complete
base library that will be used in the upcoming GCC 4.0 (gcj) and Kaffe
1.1.5 runtimes, compilers and tools collections.
Developers wanting to have a look at the core library classes provided by
these upcoming releases can take a look at the new 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.
With this release generated documentation is provided through the new
GNU Classpath Tools gjdoc 0.7.x series. A large update of the documentation
generation framework for java source files used by the GNU project.
See http://developer.classpath.org/doc/.
One of the major focusses of the GNU Classpath project is expanding and
using the Mauve test suite for Compatibility, Completeness and Correctness
checking. Various groups around GNU Classpath collaborate on the free
software Mauve test suite which contains more then 25.000 library tests.
Mauve has various modules for testing core class library implementations,
byte code verifiers, source to byte code and native code compiler tests.
Mauve also contains the Wonka visual test suite and the Jacks Compiler
Killer Suite. This release passes 25442 of the mauve core library tests.
The GNU Classpath developer recently held a conference during Fosdem.
This was a standing room event and provided lot of communication between
the GNU Classpath, Kaffe, GCJ, IKVM, Apache, java-gnome and Cacao hackers
and users. The presentations of this event have been publised and should
give a good overview of the current status and future plans of the project:
http://www.gnu.org/software/classpath/events/escape_fosdem05.html
Some highlights of changes in this release (more extensive list below):
ImageIO support through gdkpixbuf, lots of new nio character encoders
and decoders, fully automated class documentation generation, generic
VMStackWalker support for runtimes, lots of bug fixes, optimizations and
new swing support.
Included, but not activated by default in this release is a Graphics2D
implementation based on the Cairo Graphics framework
(http://www.cairographics.org). Enabling this makes programs like
JFreeChart work and JEdit start up on GNU Classpath based runtimes.
To enable this support install the cairo 0.3.0 snapshot, configure
GNU Classpath with --enable-gtk-cairo and make sure the system
property gnu.java.awt.peer.gtk.Graphics=Graphics2D is set.
Not yet included is an implementation of Generic collection classes
and classes for other 1.5 language extensions. Work on this is being
done on a special development branch that will be included in a future
GNU Classpath release when free runtimes, compilers and tools have all
been upgraded to support these new language features.
29 people actively contributed code to this release and made 232 CVS
commits during the last two months of development. diffstat since 0.13:
1189 files changed, 31388 insertions(+), 13744 deletions(-)
More details below.
GNU Classpath 0.14 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.14.tar.gz
MD5sum: 227beb20b927c042628539601c867614
Here are answers to some questions you might have about this project and
this release.
1). 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/)
2). 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 runtime
environments should work out of the box with GNU Classpath
* JamVM (http://jamvm.sourceforge.net/)
* Jikes RVM (http://www.ibm.com/developerworks/oss/jikesrvm/)
* Kissme (http://kissme.sourceforge.net/)
Note that these are just byte code execution runtimes. For development
of programs written in the java programming language you will also
need compilers and other tools for creating libraries and/or
executables (see question 1).
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 and FreeBSD on x86 and powerpc are regularly tested by the
developers. Many more architectures and platforms are supported.
Check the actual runtime you use together with GNU Classpath for
detailed information on the supported platforms.
5). Where do I go for more information?
The project home page with information on our mailing list can be
found at http://www.gnu.org/software/classpath/
A good overview of the current status can be found on the GNU Classpath
Escape The Java Trap event held at FOSDEM this year.
It includes reports and presentations on the current status and future
plans: http://www.gnu.org/software/classpath/events/escape-fosdem05.html
6). How do I extend the functionality of the core classes?
Besides combining GNU Classpath with the runtimes and compilers above
you might want to add support for additional encryption libraries and
algorithms as provided by GNU Crypto
(http://www.gnu.org/software/gnu-crypto/). And for additional
extension libraries (mail, xml, activation, infobus, servlet) check
out GNU ClasspathX (http://www.gnu.org/software/classpathx).
Additional network protocol support is provided by a sub-project
called GNU Classpath Inetlib, an extension library to provide extra
network protocol support (ftp, finger, gopher) for GNU Classpath, but
it can also standalone to ease adding http, imap, pop3 and smtp client
support to applictions. Also distributed from
<ftp://ftp.gnu.org/gnu/classpath/>
The following projects extend the functionality of GNU Classpath
with additional algorithms, new core packages and tools.
All are released under GPL compatible licenses:
* Jessie: A free implementation of the JSSE. Secure Sockets Extension.
http://www.nongnu.org/jessie/
* Tritonus: A implementation of the javax.sound API.
http://www.tritonus.org/
* gcjwebplugin: A plugin for the execution of applets in web browsers.
http://www.nongnu.org/gcjwebplugin/
Note that the above libraries may already be available in some platforms
that integrate GNU Classpath, such as in the Kaffe project.
6). What is new in this release?
New in release 0.14 (Feb 25, 2005)
(See the ChangeLog file for a full list of changes.)
* Character encoders and decoders have been added for:
iso-8859-6 (arabic), iso-8859-7 (greek), iso-8859-8 (hebrew),
iso-8859-9 (latin-5), iso-8859-13, iso-8859-15 (latin-9), cp1047 (ebcdic),
ebcdic-xml-us,ascii, windows-1250, windows-1252, UTF-16BE (Big Endian),
UTF-16LE (Little Endian), UTF-32BE (Big Endian), UTF-32LE (Little Endian).
* Full documentation for all classes can be generated (again) by using
the --with-gjdoc configure option.
* javax.awt.imageio support through gdkpixbuf.
Runtime interface changes:
* VMSecurityManager has been replaced by gnu.classpath.VMStackWalker.
currentClassLoader() is no longer needed, and there are also two new
methods with non-native implementations. VM implementors are encouraged
to provide more efficient versions.
* VMRuntime.nativeLoad() now takes an additional ClassLoader parameter.
The following people helped with this release:
Andrew Haley (nio optimizations)
Andrew John Hughes (Locale, java.text fixes and generics work)
Anthony Green (rmi cleanup)
Archie Cobbs (Throwable simplification)
Audrius Meskauskas (Swing JComboBox, JTextArea, and Timer fixes)
Bryce McKinlay (serialization fixes)
C. Brian Jones (rmi cleanups)
Chris Burdess (Base64 fix, gnu.xml cleanups, http connection fixes)
Craig Black (native state library, and gtk+ awt peer fixes)
Dalibor Topic (PropertyAction cleanups, inner class and dead code cleanups)
David Gilbert (DefaultListModel, Font text transform fixes and documentation)
Graydon Hoare (Lots of GdkGraphics updates)
Ito Kazumitsu (nio charset provider, FileChannel and SimpleDateFormat fixes)
Jeroen Frijters (Serialization and Collator fixes)
Julian Scheid (UTF8 fix and lots of gjdoc work)
Mark Wielaard (JarFile, TimeZone, URLClassLoader, serialization and packaging)
Michael Koch (AWT Window and Checkbox fixes, code cleanup, LocalInformation
maintenance, checkstyle cleanups, swing and nio updates)
Olga Rodimina (Jtable updates)
Patrik Reali (Website maintenance)
Quentin Anciaux (Lots of new character encoders and decoders)
Ranjit Mathew (IdentityHashMap bug fix)
Robert Schuster (nio charset and ChannelReader implementations)
Roman Kennke (Better swing BasicLookAndFeel)
Rutger Ovidius (GNU security provider update)
Steven Augart (OpenBSD script fixes and stack walker documentation)
Sven de Marothy (Lots of Calendar and TimeZone fixes and SpinnerDateModel)
Thomas Fitzsimmons (Much awt gtk+ peer and Robot work)
Timo Lindfors (regex fixes)
Tom Tromey (generics work, classloader and xml fixes)
</pre>
<footer>

View File

@ -0,0 +1,309 @@
#!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.15 Announcement (2005-04-29)">
<pre>
We are pleased to announce a new developer snapshot release 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.
Some highlights of changes in this release (more extensive list below):
Optimized nio and nio.charset plus io streams integration leading to
large speedups in character stream performance. To compliment this
new framework a native iconv based charset provider was added. Better
support for free swing metal and pluggable lafs. Some org.omg.CORBA
support added. Better java.beans support for the Eclipse Visual Editor
Project. Completely lock free ThreadLocal implementation added. More
javax.swing.text support for RTF and HTML. More flexible runtime
interfaces and build configuration options.
26 people actively contributed code to this release and made 299 CVS
commits during the last two months of development. diffstat since 0.14:
993 files changed, 74259 insertions(+), 15666 deletions(-)
More details about the various changes and contributions below.
GNU Classpath 0.15 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.15.tar.gz
MD5sum: 036c23aec7cb53a43b7b9dc63a92fbbe
SHA1sum: 971bdd436b8010ab30096869f689a44d41e5a01c
Included, but not activated by default in this release is a Graphics2D
implementation based on the Cairo Graphics framework
(http://www.cairographics.org). Enabling this makes programs like
JFreeChart work and JEdit start up on GNU Classpath based runtimes.
To enable this support install the cairo 0.3.0 snapshot, configure
GNU Classpath with --enable-gtk-cairo and make sure the system
property gnu.java.awt.peer.gtk.Graphics=Graphics2D is set.
Not yet included is an implementation of Generic collection classes
and classes for other 1.5 language extensions. Work on this is being
done on a special development branch that will be included in a future
GNU Classpath release when free runtimes, compilers and tools have all
been upgraded to support these new language features.
One of the major focusses of the GNU Classpath project is expanding
and using the Mauve test suite for Compatibility, Completeness and
Correctness checking. Various groups around GNU Classpath collaborate
on the free software Mauve test suite which contains more then 27.500
library tests. Mauve has various modules for testing core class
library implementations, byte code verifiers, source to byte code and
native code compiler tests. Mauve also contains the Wonka visual test
suite and the Jacks Compiler Killer Suite. This release passes 27.325
of the mauve core library tests.
See for more information: http://sources.redhat.com/mauve/
Conformance reports for the included jaxp support can be found in the
doc/README.jaxp file.
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/
Here are answers to some questions you might have about this project and
this release.
1). 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/)
Both projects have CVS versions which track GNU Classpath closely.
2). 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. Most active GNU Classpath
hackers use JamVM (http://jamvm.sourceforge.net/) and the gcj or Jikes
bytecode compiler (http://www.jikes.org) for quick development. But
other environments can certainly be used to hack on the GNU Classpath
core libraries.
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
Note that these are just byte code execution compilers and/or
runtimes. For development of programs written in the java programming
language you will also need compilers and other tools for creating
libraries and/or executables (see question 1).
2). What platforms are supported?
GNU/Linux and FreeBSD on x86 and powerpc are regularly tested by the
developers. Since 0.12 there is also support for cygwin. We plan to
eventually support many others. Many more architectures and platforms
are supported. Check the actual runtime you use together with GNU
Classpath for detailed information on the supported platforms.
5). Where do I go for more information?
The project home page with information on our mailing list can be
found at http://www.gnu.org/software/classpath/
The GNU Classpath developer recently held a conference during Fosdem.
This was a standing room event and provided lot of communication between
the GNU Classpath, Kaffe, GCJ, IKVM, Apache, java-gnome and Cacao hackers
and users. The presentations of this event have been publised and should
give a good overview of the current status and future plans of the project:
http://www.gnu.org/software/classpath/events/escape_fosdem05.html
Developers wanting to help out with the project will find more
information and tools on http://developer.classpath.org/
6). How do I extend the functionality of the core classes?
Besides combining GNU Classpath with the runtimes and compilers above
you might want to add support for additional encryption libraries and
algorithms as provided by GNU Crypto
(http://www.gnu.org/software/gnu-crypto/). And for additional
extension libraries (mail, activation, infobus, servlet, etc.) check
out GNU ClasspathX (http://www.gnu.org/software/classpathx).
Additional network protocol support is provided by a sub-project
called GNU Classpath Inetlib, an extension library to provide extra
network protocol support (ftp, finger, gopher) for GNU Classpath, but
it can also standalone to ease adding http, imap, pop3 and smtp client
support to applictions. Also distributed from
<ftp://ftp.gnu.org/gnu/classpath/>
The following projects extend the functionality of GNU Classpath
with additional algorithms, new core packages and tools.
All are released under GPL compatible licenses:
* Jessie: A free implementation of the JSSE. Secure Sockets Extension.
http://www.nongnu.org/jessie/
* Tritonus: A implementation of the javax.sound API.
http://www.tritonus.org/
* gcjwebplugin: A plugin for the execution of applets in web browsers.
http://www.nongnu.org/gcjwebplugin/
Note that the above libraries might already have been included in the
various platforms that also integrate GNU Classpath like done by the
Kaffe project.
6). What is new in this release?
New in release 0.15 (Apr 29, 2005)
(See the ChangeLog file for a full list of changes.)
* The old character encoding framework (gnu.java.io.EncodingManager)
has been replaced by a system based completely on nio.charset
providers. Many converters have been added, both the io, lang and nio
frameworks now use the same set of converters and the whole character
stream framework (Readers and Writers) have been optimized. For some
workloads this leads to 2x till 20x speedups.
The default charsets supported are:
Cp424, Cp437, Cp737, Cp775, Cp850, Cp852, Cp855, Cp857, Cp860, Cp861,
Cp862, Cp863, Cp864, Cp865, Cp866, Cp869, Cp874, ISO_8859_1, ISO_8859_13,
ISO_8859_15, ISO_8859_2, ISO_8859_3, ISO_8859_4, ISO_8859_5, ISO_8859_6,
ISO_8859_7, ISO_8859_8, ISO_8859_9, KOI_8, MS874, MacCentralEurope,
MacCroatian, MacCyrillic, MacDingbat, MacGreek, MacIceland, MacRoman,
MacRomania, MacSymbol, MacThai, MacTurkish, US_ASCII, UTF_16, UTF_16BE,
UTF_16Decoder, UTF_16Encoder, UTF_16LE, UTF_8, UnicodeLittle, Windows1250,
Windows1251, Windows1252, Windows1253, Windows1254, Windows1255,
Windows1256, Windows1257, Windows1258.
Many more encoding are supported through the new IconvProvider
depending on the platform iconv support. GNU libiconv is recommended.
The IconvProvider is currently not enabled by default. To enable it
define the system property gnu.classpath.nio.charset.provider.iconv=true.
Some runtimes might choose to enable this by default by setting it
through VMSystemProperties. We would like to get feedback on whether
enabling or disabling the IconvProvider by default results in the
highest speedups.
* Free swing metal and pluggable look and feels have been improved.
The GNU Classpath free swing example can now be run with different
"skins" by setting the system property swing.defaultlaf to the GNU,
Basic or Metal look and feel.
* Some of the org.omg.CORBA classes and packages have now been
implemented. The Savannah bug tracker contains additional tasks for
which we are seeking help.
* Fixed compatibility problems in the java.beans which affected
Eclipse's Visual Editor Project.
* New completely lock free (Inheritable)ThreadLocal implementation.
* javax.swing.text.rtf framework added which can handle simple (plain)
text tokens.
* Support for parsing html files into Level 2 Document Object Model
(org.w3c.dom.html2 and javax.swing.text.html.parser). And a start of
javax.swing.text.html framework added.
Runtime interface changes:
* jni.h changed to better support compiling runtimes implementing jni;
see VM integration guide for details.
* New --enable-default-toolkit option to configure can be used to set
the fully qualified class name of the default AWT toolkit to use.
If not given, the old default of gnu.java.awt.peerk.gtk.GtkToolkit
is used.
* New --disable-core-jni option can be used to disable building the
"core" JNI libraries. This is primarily useful if your VM can use the
Gtk peers but not the core JNI libraries.
* New system property "gnu.classpath.boot.library.path" can be specified
to define the location of the JNI libraries. It is by all means meant
ONLY for VM implementors and GNU Classpath hackers. See the hacking
guide for more information.
* The helper methods currentLoader() and allocateObject() for
java.io.ObjectInputStream have been moved to a VMObjectInputStream class.
Reference implementations are provided.
* java.net.InetAddress now uses VMInetAddress for runtime/platform
specific methods getLocalHostname(), getHostByAddr() and
getHostByName(). java.net.NetworkInterface now uses VMNetworkInterface
for runtime/platform specific getInterfaces() support. Default
(Posix/GNU JNI) implementations are provided.
* VMClass has a new method getModifiers(Class, boolean) which can be
used to get the real modifiers for an inner class or the ones
specified by the InnerClasses attribute.
* All (possible) runtime specific methods of Object and Double are now
in VMObject and VMDouble. Where possible generic reference
implementations are provided.
* The reference implementation of VMClassLoader now handles zip files
on the boot loader class path in getResources().
The following people helped with this release:
Andreas Tobler (Security warning fixes, fdlibm merging and cleanups)
Andrew Haley (FileChannel optimizations)
Andrew John Hughes (URL/URI, rmi.naming, java.text, Currency and generics)
Archie Cobbs (RPM spec file, VMClassLoader fixes, jni cleanups)
Audrius Meskauskas (Lots of corba work, javax.swing.text.html and dom parser)
Casey Marshall (x509 and asn1/der fixes)
Chris Burdess (writeUTF optimization, html2 dom support and net protocols)
Dalibor Topic (FileChannel fixes, kaffe porting)
David Daney (InetAddress fixes)
David Gilbert (awt documentation, font fixes)
Guilhem Lavaux (VMSelector and IndexColorModel fixes)
Ito Kazumitsu (DecimalFormat parse fixes)
Jeroen Frijters (nio optimizations, VMClass fixes, ThreadLocal rewrite)
Luca Barbieri (FileChannel.tryLock fixes)
Mark Wielaard (cleanups and packaging)
Michael Franz (OSX testing)
Michael Koch (VM interface restructuring, libgcj merging, lots of bug fixing)
Mike Stump (fdlibm ppc64 fixes)
Olafur Bragason (PipedInputStream bug reporting)
Patrik Reali (Website maintenance)
Rei Odaira (VMSelector bug reporting)
Riccardo Mottola (Darwin6 testing)
Robert Schuster (java.beans, boot.library.path, jni fixes, mediation work)
Roman Kennke (Lots of free swing work, MediaTracker and RTF work)
Sven de Marothy (io, nio and charset optimizations and rewrites)
Thomas Fitzsimmons (URL, gtk-peers and free swing work)
Tom Tromey (build and code cleanups, jni merging with libgcj and generics)
</pre>
<footer>

View File

@ -0,0 +1,329 @@
#!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.16 Announcement (2005-04-29)">
<pre>
GNU Classpath 0.16 "Harmony!" 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 the first release of GNU Classpath since our Harmony
collaboration with the Apache group. Instructions for developers
wanting to try out and help with the core library implementation can
be found at: http://developer.classpath.org/
New is our wiki with simple steps to setup a quick development
environment. For example developers using cygwin can find examples
here: http://developer.classpath.org/mediation/ClasspathOnCygwin
Some highlights of changes in this release (more extensive list below):
AWT GtkScrollBar and GtkImage improvements. All image operations are
now working correctly. Graphics2D has been upgraded to use Cairo
0.5.x. Free Swing updates for 1.5 top-level compatibility. JTree
interface completed. JFileChooser has been implemented. Completed
implementations of BoxLayout, GrayFilter and SplitPane. Upgraded the
Corba features to 1.3 and included new CORBA 2.3 features. Start of
generic JDWP framework. And lots of bug fixes based on real world
application usage.
31 people actively contributed code to this release and made 389 CVS
commits during the last two months of development. diffstat since 0.15:
1248 files changed, 133649 insertions(+), 41802 deletions(-)
More details about the various changes and contributions below.
GNU Classpath 0.16 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.16.tar.gz
MD5sum: 220a9c86719a2c6bd7ba9b9877495113
SHA1sum: be6d30fbfe4d71015a455a367411a6d55df3484e
This release depends on gtk+ 2.4 for AWT support. But gtk+ 2.6 or
higher is recommended. Included, but not activated by default in this
release is a Graphics2D implementation based on the Cairo Graphics
framework (http://www.cairographics.org). Enabling this makes programs
like JEdit start up on GNU Classpath based runtimes. To enable this
support install the cairo 0.5.x snapshot, configure GNU Classpath with
--enable-gtk-cairo and make sure the system property
gnu.java.awt.peer.gtk.Graphics=Graphics2D is set.
This release was explicitly tested against the last Eclipse 3.1
release (thanks to various eclipse hackers for the support). For end
user we do however recommend to use the GCJ4 packaged version of
Eclipse 3.1 that have been prepared for the various distributions:
Fedora Core
http://overholt.ca/wp/?p=27
Debian GNU/Linux
http://gnu.wildebeest.org/diary-man-di/index.php?p=19
Ubuntu
http://www.larvalstage.net/index.php?/archives/2-Introducing-Eclipse-3.1.html
Not yet included is an implementation of Generic collection classes
and classes for other 1.5 language extensions. Work on this is being
done on a special development branch that will be included in a future
GNU Classpath release when free runtimes, compilers and tools have all
been upgraded to support these new language features.
One of the major focuses of the GNU Classpath project is expanding
and using the Mauve test suite for Compatibility, Completeness and
Correctness checking. Various groups around GNU Classpath collaborate
on the free software Mauve test suite which contains ~30.000 core
library tests. Mauve has various modules for testing core class
library implementations, byte code verifiers, source to byte code and
native code compiler tests. Mauve also contains the Wonka visual test
suite and the Jacks Compiler Killer Suite. This release passes 28801
of the mauve core library tests. See for more information:
http://www.sourceware.org/mauve/
Conformance reports for the included jaxp support can be found in the
doc/README.jaxp file.
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/
Here are answers to some questions you might have about this project and
this release.
1). 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/)
Both projects have CVS versions which track GNU Classpath closely.
2). 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. Most active GNU Classpath
hackers use JamVM (http://jamvm.sourceforge.net/) and the gcj or Jikes
bytecode compiler (http://www.jikes.org) for quick development. But
other environments can certainly be used to hack on the GNU Classpath
core libraries.
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
Note that these are just byte code execution compilers and/or
runtimes. For development of programs written in the java programming
language you will also need compilers and other tools for creating
libraries and/or executables (see question 1).
3). What platforms are supported?
GNU/Linux and FreeBSD on x86 and powerpc are regularly tested by the
developers. Since 0.12 there is also support for cygwin. We plan to
eventually support many others. Many more architectures and platforms
are supported. Check the actual runtime you use together with GNU
Classpath for detailed information on the supported platforms.
4). Where do I go for more information?
The project home page with information on our mailing list can be
found at http://www.gnu.org/software/classpath/
The GNU Classpath developer recently held a conference during Fosdem.
This was a standing room event and provided lot of communication between
the GNU Classpath, Kaffe, GCJ, IKVM, Apache, java-gnome and Cacao hackers
and users. The presentations of this event have been publised and should
give a good overview of the current status and future plans of the project:
http://www.gnu.org/software/classpath/events/escape_fosdem05.html
Developers wanting to help out with the project will find more
information and tools on http://developer.classpath.org/
5). How do I extend the functionality of the core classes?
Besides combining GNU Classpath with the runtimes and compilers above
you might want to add support for additional encryption libraries and
algorithms as provided by GNU Crypto
(http://www.gnu.org/software/gnu-crypto/). And for additional
extension libraries (mail, activation, infobus, servlet, etc.) check
out GNU ClasspathX (http://www.gnu.org/software/classpathx).
Additional network protocol support is provided by a sub-project
called GNU Classpath Inetlib, an extension library to provide extra
network protocol support (ftp, finger, gopher) for GNU Classpath, but
it can also standalone to ease adding http, imap, pop3 and smtp client
support to applictions. Also distributed from
<ftp://ftp.gnu.org/gnu/classpath/>
The following projects extend the functionality of GNU Classpath
with additional algorithms, new core packages and tools.
All are released under GPL compatible licenses:
* Jessie: A free implementation of the JSSE. Secure Sockets Extension.
http://www.nongnu.org/jessie/
* Tritonus: A implementation of the javax.sound API.
http://www.tritonus.org/
* gcjwebplugin: A plugin for the execution of applets in web browsers.
http://www.nongnu.org/gcjwebplugin/
Note that the above libraries might already have been included in the
various platforms that also integrate GNU Classpath like done by the
Kaffe project.
6). What is new in this release?
New in release 0.16 (Jun 30, 2005)
(See the ChangeLog file for a full list of changes.)
* Better GTK scrollbar peer implementation when using GTK >= 2.6.
* GdkGraphics2D has been updated to use Cairo 0.5.x APIs.
* BufferedImage and GtkImage rewrites. All image drawing operations
should now work correctly (flipping requires gtk+ >= 2.6)
* Future Graphics2D, Image and Text work is documented at:
http://developer.classpath.org/mediation/ClasspathGraphicsImagesText
* Free Swing Top-Level Compatibility. JFrame, JDialog, JApplet,
JInternalFrame, and JWindow are now 1.5 compatible in the sense that you
can call add() and setLayout() directly on them, which will have the same
effect as calling getContentPane().add() and getContentPane().setLayout().
* The JTree interface has been completed. JTrees now recognizes mouse clicks
and selections work, but the visual implementation is not yet complete.
Work on expansion and collapsing of the tree nodes is being implemented.
* BoxLayout works properly now.
* Fixed GrayFilter to actually work.
* Metal SplitPane implemented.
* Lots of free swing text and editor stuff work now.
* When gtk+ 2.6 or higher is installed the default log handler will produce
stack traces whenever a WARNING, CRITICAL or ERROR message is produced.
* The CORBA implementation is now a working prototype that should support
features up till 1.3 inclusive.
We would invite groups writing CORBA dependent applications to
try Classpath implementation, reporting any possible bugs.
The CORBA prototype is interoperable with Sun's implementation v 1.4,
transferring object references, primitive types, narrow and wide
strings, arrays, structures, trees, abstract interfaces and
value types (feature of CORBA 2.3) between these two platforms.
The remote exceptions are transferred and handled correctly.
The stringified object references (IORs) from various sources are
parsed as required.
The transient (for current session) and permanent (till jre restart)
redirections work.
Both Little and Big Endian encoded messages are accepted.
The implementation is verified using tests from the former cost.omg.org.
The current release includes working examples (see the examples directory),
demonstrating the client-server communication, using either CORBA Request
or IDL-based stub (usually generated by a IDL to java compiler).
These examples also show how to use the Classpath CORBA naming service.
The IDL to java compiler is not yet written, but as our library must be
compatible, it naturally accepts the output of other idlj implementations.
* New --with-vm-classes configure option, and new 'build' setting
for --with-glibj. (Only for integrators.)
Runtime interface changes:
* Start of a generic JDWP framework in gnu/classpath/jdwp.
This is unfinished, but feedback (at classpath@gnu.org) from runtime
hackers is greatly appreciated. Although most of the work is currently
being done around gcj/gij we want this framework to be as VM neutral as
possible. Early design is described in:
http://gcc.gnu.org/ml/java/2005-05/msg00260.html
* Native method VMClass.getModifiers() now takes an additional
boolean parameter.
* Deprecated native method VMClassLoader.defineClass(ClassLoader,
String, byte[], int, int) has been replaced by
VMClassLoader.defineClass(ClassLoader, String, byte[], int, int,
ProtectionDomain)
* VMClassLoader.loadClass(String name, boolean resolve) is now native,
replacing the former version which just returned null.
* Deprecated native method VMClassLoader.getPrimitiveClass(String) has
been replaced by new native method VMClassLoader.getPrimitiveClass(char).
* Previously empty implementations of methods VMThread.countStackFrames(),
VMThrowable.fillInStackTrace(), and VMThrowable.getStackTrace() have
been removed; these methods are now native methods.
* Fields "exceptionTypes" and "parameterTypes" have been removed from
Contructor.java and getExceptionTypes() and getParameterTypes() are
now native methods.
The following people helped with this release:
Andreas Jaeger (mprec updates)
Andreas Tobler (Darwin support)
Andrew John Hughes (Locale and net fixes, URI RFC2986 updates)
Andrew Overholt (File locking)
Anthony Balkissoon (JList, Free Swing 1.5 updates and mouse event fixes)
Archie Cobbs (VM interface updates)
Audrius Meskauskas (Corba and HTML work)
Bryce McKinlay (RMI work)
Chris Burdess (XML work)
Christian Thalinger (fdlibm updates)
Dalibor Topic (SHA1PRNG and GdkPixbugDecoder updates)
David Daney (BitSet bugfixes)
David Gilbert (Lots and lots of documentation and awt/swing fixes)
Gary Benson (MessageFormat fixes)
Goffredo Baroncelli (HTTPURLConnection fixes)
Jan Roehrich (JTree fixes)
Jeroen Frijters (ClassLoader and nio cleanups)
Ka-Hing Cheung (TreePath and TreeSelection fixes)
Kalle Olavi Niemitalo (Build fixes)
Keith Seitz (JDWP work)
Kim Ho (JFileChooser implementation)
Lillian Angel (JTree implementation and lots of bug fixes)
Mark Wielaard (build fixes, GdkPixpufDecoder fixes and packaging)
Michael Koch (Locale updates, bug and build fixes)
Olga Rodimina (MenuSelectionManager)
Robert Schuster (charset and awt fixes)
Roman Kennke (BoxLayout, GrayFilter and SplitPane, plus bugfixes all over)
Sven de Marothy (GtkImage rewrite, 2D, awt, free swing and date/time fixes)
Thomas Fitzsimmons (Lot of upgrades to the gtk+ AWT and cairo 2D support)
Tom Tromey (libgcj merging, build infrastructure and bug fixes)
Ziga Mahkovec (Graphics2D upgraded to cairo 0.5 and new regex features)
We would also like to thank the numerous bug reporters and testers!
</pre>
<footer>

View File

@ -0,0 +1,132 @@
#!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>

View File

@ -0,0 +1,32 @@
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/

View File

@ -0,0 +1,25 @@
#!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>

View File

@ -0,0 +1,51 @@
#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>

View File

@ -0,0 +1,32 @@
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/

View File

@ -0,0 +1,59 @@
#!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::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>

View File

@ -0,0 +1,597 @@
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML>
<HEAD>
<TITLE>GNU texidoclet - GNU Project - Free Software Foundation (FSF)</TITLE>
<A HREF=""></A>
</HEAD>
<BODY BGCOLOR="#ffffff" TEXT="#000000" LINK="#1F00FF" ALINK="#FF0000" VLINK="#9900DD">
<H1>GNU texidoclet</H1>
<h2>Table Of Contents</h2>
<ol>
</li><li><a href="#Introduction">Introduction</a>
<ul>
<li><a href="#whatis">What is TexiDoclet?</a>
</li><li><a href="#whyuse">Why use the info format?</a>
</li><li><a href="#howstart">How do I get started?</a>
</li></ul>
</li><li><a href="#Requirements">Requirements</a>
</li><li><a href="#Download">Download</a>
</li><li><a href="#Installation">Installation</a>
</li><li><a href="#configure">Configure</a>
</li><li><a href="#Usage">Usage</a>
</li><li><a href="#Bugs">BUGS</a>
</li><li><a href="#History">History</a>
</li><li><a href="#Todo">TODO</a>
</li>
</ol>
<hr>
<a name="Introduction"></a> <h2>1. Introduction</h2>
<h3><a name="whatis"></a>What is GNU TexiDoclet?</h3>
GNU TexiDoclet is a system for creating <b>info</b> pages from Java
source documentation. It is part of the <a
href="/software/classpath/">GNU Classpath</a> project, however it can
also be used as standalone doclet used with any Java-compatible
platform.
<p>You can use TexiDoclet to create API documentation in <b>info</b>
format for any set of Java packages (including classpath). The latter
will reproduce the full Java API documentation for use on text-only
displays, or for integrating it into the GNU Emacs online help
facility. </p><p>TexiDoclet also includes an Elisp package which adds
context-sensitive help features to GNU Emacs.
</p>
<table bgcolor="#cccccc" border="0" cols="1" width="100%">
<tbody>
<tr>
<td><b>Note:</b> This is alpha software. You should not use
TexiDoclet in a production environment, because it has not yet
been tested for reliability. Also, see <a href="#Bugs">Bugs</a>
for a list of currently missing
features.</td></tr></tbody></table> <h3><a name="whyuse"></a>Why
use the <b>info</b> format?</h3>Although the <b>info</b> format
is raw text with nearly no formatting or highlighting, using the
<b>info</b> version of the Java API documentation can have a
number of advantages even on graphical displays - especially if
you are using GNU Emacs:
<ul>
<li>Because it is text-only, <b>info</b> is pretty fast.
</li><li>You can easily navigate through <b>info</b> pages using only the keyboard
- which doesn't hold true for most HTML browsers available today, where you
always have to grab the mouse or tab the focus.
</li><li>You can use all the powerful Emacs facilities to browse the documentation
(e.g. incremental search, regular expressions, bookmarks).
</li><li>You can copy documentation fragments (like the definition of a method you
want to overload) easily using the keyboard, again having all Emacs facilities
right at hand, such as the ring buffer.
</li><li>You have no frames in <b>info</b>, but you can use the Speedbar contained
in recent Emacs distributions for the same purpose [not tested as yet].
</li></ul>
<h3><a name="howstart"></a>How do I get started?</h3>
<ul>
<li>Check the <a href="#Requirements">Requirements</a>
section and download/install any missing tools.
</li><li><a href="#Download">Download</a>
and <a href="#Installation">unpack</a>
the TexiDoclet package.
</li><li>See section <a href="#configure">Configure</a>
for further instructions. </li></ul>
<h3>Thanks!</h3>
<p>TexiDoclet was originally written as a standalone doclet by <a
href="http://savannah.gnu.org/users/julian/">Julian Scheid</a> and was
contributed to the GNU Project as part of GNU Classpath.</a>
</p>
<hr>
<a name="Requirements"></a>
<h2>2. Requirements</h2>In order to use TexiDoclet, you need the
following software installed:
<ul>
<li>A Java platform 1.2 or better. The intention is to be able have
TexiDoclet work first and foremost with <a
href="/software/classpath/">GNU Classpath</a> and other completely
free toolchains (<em>with <a href="gjdoc.en.html">gjdoc</a> we are
99% there!</em>) although it can be used with non-free VMs.</li>
<li>GNU Make and GNU makeinfo. Note: makeinfo is contained in the GNU
texinfo package. </li>
<li>A Unix environment:
<ul>
<li><tt>bash</tt> and the standard commands like <tt>cp</tt> are essential
</li><li><tt>which</tt> and <tt>awk</tt> are required for checking the setup
</li><li><tt>gzip</tt> is used to compress the <b>info</b> pages. </li>
</ul>
<!--
</li><li>The Java Community source code, if you want to reproduce
documentation for the Java core API. <strong>Note: this is
<em>not</em> distributed with TexiDoclet because it is released
under a non-free software license, the SCSL, which is incompatible
with the GNU GPL. If you wish to create the Java API documentation
you must download and agree to it's terms (we cannot do
this).</strong></li>
-->
</ul>
Makeinfo is required to convert the texinfo source into the
<b>info</b> format. If you only need the texinfo source, you don't
need makeinfo. Unix users will probably find a makeinfo preinstalled
on their system. Windows users can find free precompiled binaries
on the Internet (look for the Texinfo package). <br> 
<table bgcolor="#cccccc" border="0" cols="1" width="100%">
<tbody>
<tr>
<td><b>Note:</b> There are some 16-bit makeinfo binaries available online,
but they won't work. You need to look for an up-to-date 32-bit
binary.</td></tr></tbody>
</table>
<p>GNU Make is required because if you want to generate the full
standard Java API documentation, each package must be processed
individually. The Makefile works with patterns to process the packages
individually and merge the results.</p>
<p>Again, Unix users will find Make preinstalled. Windows users can
find precompiled binaries on the Internet for free. <br> 
</p>
<table bgcolor="#cccccc" border="0" cols="1" width="100%">
<tbody>
<tr>
<td><b>Note:</b> Use only GNU Make - you will probably get into
trouble if you try to use a different Make tool, because the
TexiDoclet Makefile uses some GNU-specific
features.</td></tr>
</tbody>
</table>
<!--
<p>You need the Java community source code if you want to reproduce the full
core API documentation. Get it from <a href="http://developer.java.sun.com/">Sun's Java Developer Website</a>. Having
the source at hand is generally recommended. <br> 
</p>
-->
<table bgcolor="#cccccc" border="0" cols="1" width="100%">
<tbody>
<tr>
<td><b>Tip:</b> Configuring TexiDoclet is much easier if you make sure
that all utilities (including the Java tools) are on your system search
path.</td></tr></tbody></table>
<p>
TexiDoclet has been tested on the following systems:
</p><p>
</p><table border="1" cols="3" width="100%">
<tbody>
<tr>
<td><b>Operating System</b></td>
<td><b>JDK</b></td>
<td><b>Other</b></td></tr>
<!-- Windows untested at the moment
<tr>
<td>Windows 98</td>
<td>Sun JDK 1.3 RC2</td>
<td>Cygwin B-20 (GNU bash 2.02.1) <br>GNU Make 3.78.1 <br>GNU makeinfo
1.68 (GNU texinfo 3.12)  <br>GNU Emacs 20.6.1</td>
</tr>
-->
<tr>
<td>Linux kernel 2.2.16 on Intel / Red Hat 7.0 distribution</td>
<td>Sun JDK 1.2.2</td>
<td>GNU bash 2.04.11 <br>GNU Make 3.79.1 <br>GNU makeinfo 4.0
<br>GNU Emacs 20.3.1</td></tr>
<tr>
<td>Linux kernel 2.2.9-27mdk / Mandrake distribution
<em>(thanks to Owen Lydiard for the report)</em></td>
<td>JDK 1.3</td>
<td> GNU make 3.77<br>
makeinfo (GNU texinfo) 4.0<br>
GNU Emacs 20.3.1</td>
</tr>
<tr>
<td colspan="3">As of the date of this document, no other
configurations have been tested. If you install TexiDoclet on a
different system, be it successful or not, please contact the <a
href="http://savannah.gnu.org/project/memberlist.php?group_id=508">developers</a>
so that this list can be extended.</td></tr></tbody>
</table>
<h3>3.1 Tool download locations for Windows users [untested]</h3>
<p>Although the present version of TexiDoclet has not been tested on
Windows, a previous incarnation was working using the following:
Windows 98 / Sun JDK 1.3 RC2 / Cygwin B-20 (GNU bash 2.02.1) / GNU
Make 3.78.1 / GNU makeinfo 1.68 (GNU texinfo 3.12) / GNU Emacs
20.6.1</p>
<p>Here are a few URLs for getting the Windows ports of the required
software:</p>
<ul>
<li><a href="http://sourceware.cygnus.com/cygwin/">The Cygwin project</a> offers the most
sophisticated port of Unix utilities for free download. Their "full" package
includes a Bash and a full-featured Unix environment (including <tt>grep</tt>, <tt>less</tt>, <tt>awk</tt> and other
useful commands.) With regard to TexiDoclet, only GNU <tt>make</tt> and <tt>makeinfo</tt>
are missing.
</li><li><a href="http://www.tertius.com/projects/library/#cygwin32">tertius.com</a> contains a
link to a Windows port of the texinfo package,
including the required <tt>makeinfo</tt> tool. It also includes a standalone <b>info</b> viewer.
</li>
<li>Refer to the <a
href="http://www.gnu.org/software/make/make.html">GNU Make
homepage</a> and to <a
href="http://ftp.gnu.org/pub/gnu/">http://ftp.gnu.org</a> for
downloading the GNU Make binaries for Windows. </li></ul>
<hr>
<a name="Download"></a>
<a name="Download">
<h2>3. Download</a></h2>
The old (pre-GNU) version of TexiDoclet is still located at our old
development site on sourceforge and is available from <a
href="http://sourceforge.net/project/showfiles.php?group_id=7984">SourceForge</a>.
This (old) 0.5 version is provided purely as a convenience, and will
soon be replaced by a new version . Subsequent releases will be made
available at via the GNU ftp site (<a
href="http://ftp.gnu.org/pub/gnu/">http://ftp.gnu.org/pub/gnu/).</a>
<p>The package includes an autoconfiguration system, the full source
code, and additional Emacs add-ons. It unpacks into a separate
directory named "<tt>texidoclet-(version)</tt>". </p>
<p>If you want to take a look at TexiDoclet's output first, here is a
<a
href="http://texidoclet.sf.net/texidoclet-api-info-0.5.tar.gz">sample
(32 K gzipped tar)</a>. It's the converted `info' docs for the
TexiDoclet API (please note that the package name
<tt>gnu.texidoclet</tt> is now obsoleted by
<tt>gnu.classpath.tools.doclets.texidoclet</tt>) itself. [To view run
the standalone <tt>info</tt> viewer: <tt>info -f
texidoclet.info</tt>.]
</p>
<hr>
<a name="Installation"></a>
<h2>4. Installation</h2>
<p><strong>Please note the following instructions relate purely to the
old 0.5 version of GNU texidoclet, which is currently the only
release</strong></p>
<p>In order to install TexiDoclet, you should unpack it to a location
of your choice. TexiDoclet will unpack into a separate subdirectory,
which contains the following files and directories:</p>
<table>
<tbody>
<tr>
<td><tt>Makefile </tt></td>
<td></td>
<td>the TexiDoclet main Makefile.</td></tr>
<tr>
<td><tt>COPYING </tt></td>
<td> </td>
<td>the GNU public license (Version 2)</td></tr>
<tr>
<td><tt>etc/ </tt></td> <td></td>
<td>contains Makefile template for generating the docs for Sun's
code.</td></tr>
<tr>
<td><tt>lisp/ </tt></td>
<td></td>
<td>contains add-ons for enabling context-sensitive help in Emacs.</td></tr>
<tr>
<td><tt>source/ </tt></td>
<td></td>
<td>contains the full Java source code for TexiDoclet</td></tr>
</tbody></table>
<p>After you have unpacked the archive, you should configure TexiDoclet as
described in the following section, <a href="#configure">Configure</a>.</p>
<hr>
<a name="configure"></a>
<h2>6. Configure</h2>
<p><strong>Please note the following instructions relate purely to the
old 0.5 version of GNU texidoclet, which is currently the only
release</strong></p>
[Taken from the <tt>README</tt> file in the distribution]
<pre>
Installation:
============
1. The usual GNU autoconf procedure applies:
./configure
make
Read the generic INSTALL file for the details.
2. Extra texidoclet-specific options for `configure':
`--with-jdkdir=DIR'
DIR specifies the location of the JDK (if it's not on the PATH)
`--with-javadocjar=FILE'
Use FILE as jar file with javadoc support.
3. This will generate the jar file in source/TexiDoclet.jar. You can
choose to run "make install" at this point, although this is not,
strictly speaking, necessary.
4. To see an example of the invocation of TexiDoclet, type "make
check". This will build the `info' docs for texidoclet itself in
the "source" subdirectory.
</pre>
<hr>
<a name="Usage"></a>
<h2>8. Usage</h2>
<p><strong>Please note the following instructions relate purely to the
old 0.5 version of GNU texidoclet, which is currently the only
release</strong></p>
[Taken from the <tt>README</tt> file in the distribution]
<pre>
Usage:
=====
1. TexiDoclet now works like any other doclet [Consult
http://java.sun.com/j2se/javadoc/ for further information on
Javadoc and the Javadoc API], it can be invoked with default
options by merely supplying the path the doclet and the doclet
invocation class (which is `gnu.texidoclet.Driver'):
javadoc -docletpath TexiDoclet.jar -doclet gnu.texidoclet.Driver &lt;filename&gt; ...
2. It also accepts all the Standard Sun doclet options, in addition
to some TexiDoclet-specific ones, which are listed if you invoke
javadoc without any Java source files or packages. Here are those
options:
-d &lt;directory&gt; Destination directory for output files
-tocbase &lt;base&gt; Prefix for all package-level texi files (default 'packages'
-indexbase &lt;base&gt; Prefix for package index
-allclassesbase &lt;base&gt; Prefix for all class list
-treebase &lt;base&gt; Prefix for tree output
-etagsname &lt;base&gt; Prefix for package etags
-tocheader &lt;text&gt; Header for each texi file
-tocfooter &lt;text&gt; Footer for each texi file
-copyrightnotice &lt;text&gt; Copyright information on each texi page
-wordwrappos &lt;chars&gt; Number of columns at which to wrap
-firstlineindent &lt;chars&gt; Number of columns to indent
-includeauthor Include author information?
-fulltreealignment &lt;type&gt; 'replace' or null
-heritagealignment &lt;type&gt; 'replace' or null
Most of these options are self-explanatory and all have
`reasonable' defaults, and are in the process of being more fully
documented.
3. To generate the `info' documentation, invoke `makeinfo' on the
resultant `.texi' file. See the documentation accompanying your
texinfo installation for more details. [Note you can use texinfo
to also generate printed and HTML documentation from the `.texi'
files, but note that there are more specialised doclets for that
purpose].
</pre>
<hr>
<a name="Bugs"></a>
<h2>7. Bugs</h2>
<p><strong>Please note the following instructions relate purely to the
old 0.5 version of GNU texidoclet, which is currently the only
release</strong></p>
[Taken from <tt>BUGS</tt> in the distribution]
<pre>Known Bugs, or "features not yet implemented", in roughly the order
they will be attacked. New versions of this software implementing all
or part of the missing features can be expected soon.
* No cross-links for parameter types, return types, and thrown exceptions.
* No support for {@link}.
* Not very configurable at the time.
* Various small improvements on Info page layout pending.
* Elisp scripts for context sensitive help are preliminary. (Can
anyone help me out here? I am new to Lisp and would need some
advice.)
* Autoconf support for the Cygnus environment (simply untested at the
moment).</pre>
<hr>
<a name="History"></a>
<h2>8. History</h2>
[Taken from <tt>NEWS</tt> in the distribution]
<pre>
2002-01-24 -- CVS
* now a GNU project (part of classpath)
* all copyright changed to FSF.
* distribution now based at http://savannah.gnu.org/projects/cp-tools/
2001-04-02 -- 0.5
* complete overhaul of distribution
* distribution now based at SourceForge.
* rewrote Makefile system to use GNU automake/autoconf
* added a new Driver class to generate the .texi in one pass
2000.04.02 -- 0.4.1
* features full information - all documentation nodes are implemented
* added "implements" information
* added post-processing to include information about derived and
implementing classes.
* removed self-reference in heritage tree
* improved node reference formatting ("(package) class" instead of
"(package)class")
* added switch to control inclusion of author information
* added caption to index, all classes, and full tree node
* added "abstract" keyword and class prototype to class node
* added serialization node
* added ability to split the full index into 27 parts (A-Z|_)
(not configurable yet)
2000.04.01 -- 0.3.3
* index is now sorted case-insensitive
* major revision of configuration file structure
* added preliminary version of inherited fields and methods
* took preparations for adding derivation information after generating
the texi files.
2000.04.01 -- 0.3.2
* improved front page layout
* added copyright messages as requested by Sun Microsystems Inc. so
that the core API docs
* can be distributed in converted format.
* removed heritage chart from interfaces
* added "extends" line to class node
* added @author tag to all nodes
2000.03.30 -- 0.3.1
* added Interfaces, Exceptions and Errors to package node
* fixed bug: bad layout when HTML paragraph ends with &lt;br&gt;
* added @deprecated and @since info to all nodes
* added support for multiple source paths
2000.03.29 -- 0.2.1
* fixed bug: class node only displayed first description line.
* added @since tag for all nodes.
* fixed bug: generated text displayed bogus texi tags.
* corrected/finished full tree layout.
* fixed bug: field prototype was missing.
* &lt;sup&gt; is now translated to ^ (caret) for denoting powers.
* Method listing in class node is now sorted.
* added "see also" for classes
2000.03.28 -- 0.1.2
* Source code structure significantly improved.
* added "all classes", full index, and full tree.
* added preliminary emacs .el-script for context-sensitive help.
2000.03.27 -- 0.1.1
* Initial non-public pre-alpha release.
</pre>
<hr>
<a name="Todo"></a>
<h2>9. TODO</h2>
[Taken from <tt>TODO</tt> in distribution]
<pre>
* Check bug list.
* Improve source code documentation and this page.
* Check Speedbar compatibility.
* Look for a way to add a link to the corresponding Java source code
into all Info nodes.
* Same for original HTML documentation (using browse-url)
* Perhaps integrate XML/XSL support when it becomes part of the Java
standard. Currently, the user would have had to download a package
of some MB and install it, if an XML library would have been
employed for TexiDoclet.
</pre>
<BR>
<HR>
Return to <A HREF="/home.html">GNU's home page</A>.
<P>
Please send FSF &amp; GNU inquiries &amp; questions to
<A HREF="mailto:gnu@gnu.org"><EM>gnu@gnu.org</EM></A>.
There are also <A HREF="/home.html#ContactInfo">other ways to
contact</A> the FSF.
<P>
Please send comments on these web pages to
<A HREF="mailto:webmasters@www.gnu.org"><EM>webmasters@www.gnu.org</EM></A>,
send other questions to
<A HREF="mailto:gnu@gnu.org"><EM>gnu@gnu.org</EM></A>.
<P>
Copyright (C) 1999, 2005 Free Software Foundation, Inc.,
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
<P>
Verbatim copying and distribution of this entire article is
permitted in any medium, provided this notice is preserved.<P>
Updated:
$Date: 2005/07/02 20:32:08 $ by $Author: mark $
<HR>
</BODY>
</HTML>

View File

@ -0,0 +1 @@
*.html

View File

@ -0,0 +1,47 @@
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/

View File

@ -0,0 +1,37 @@
#!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>

View File

@ -0,0 +1,100 @@
#!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>

View File

@ -0,0 +1,92 @@
#!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>

View File

@ -0,0 +1 @@
*.html

View File

@ -0,0 +1,128 @@
#!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>

View File

@ -0,0 +1,137 @@
#!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>

View File

@ -0,0 +1,141 @@
#!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>

View File

@ -0,0 +1,166 @@
#!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>

View File

@ -0,0 +1,32 @@
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/

View File

@ -0,0 +1,211 @@
#!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="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="yesterday"
version="tarball"
url=""
notes=""
--->
</download-block>
</boxitem>
<boxtitle><a name="downloads">Classpath Downloads::Archive</a></boxtitle>
<boxitem>
<download-block>
<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>

View File

@ -0,0 +1 @@
*.html

View File

@ -0,0 +1,32 @@
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)/events/

View File

@ -0,0 +1,149 @@
#!wml --include=..
#include "include/layout.wml"
<set-var last-modified-author="mjw">
<subject "Escape the Java Trap @ Fosdem 2005">
<box>
<boxitem>
<h2>Escape the Java Trap! - GNU Classpath Hacker Room</h2>
<i>Fosdem, Saturday/Sunday 26/27 February 2005, Brussels, Belgium</i>
<p>
<b>UPDATE: Presentations are now linked below!</b>
<p>
The Fosdem organisation has generously offered the developers of
various projects around GNU classpath the opportunity to meet face
to face in their own developer room.
<p>
We have brought together a wide range of different speakers from
various projects that together provide a free software alternative to
the proprietary java platform. Developers from these various projects
will come from all over the world to discuss cooperation and to make
development plans to the next year.
<p>
You are very welcome to join us and learn about the IKVM architecture
and how to freely mix and match traditional java and .net applications
and libraries, how GNU and Apache developers can and should work
together, how you can do rapid GNOME desktop development through
java-gnome, how researchers are using GNU Classpath to do cutting edge
research into Just In Time compilation, see demonstrations of
lightning fast native eclipse, learn what will be possible with GNU
Classpath and GCC 4.0, whether Kaffe will ever release their version
1.1.5, what we think about compatibility, freedom vs control and
learn how you can create your own GNU Compiler Collection frontend for
languages such as the 1.5 java programming language.
<p>
Full schedule and abstracts at <a
href="http://www.fosdem.org/2005/index/dev_room_classpath/schedule">http://www.fosdem.org/2005/index/dev_room_classpath/schedule</a>
<p>
</boxitem>
<boxitem>
<h3>Saturday 14:00 - 17:00 - "Building Bridges"</h3>
<p>
Reaching out to other communities.
How can GNU Classpath, GCC/GCJ and Kaffe hackers
learn from and work together with others?
</p>
<p>
<b>14:00 - 14:50</b> <i>Jeroen Frijters</i>
<a href="http://www.frijters.net/fosdem2005.sxi">IKVM.NET -- Motivation and Architecture</a> (sxi)
</p>
<p>
<b>15:00 - 15:50</b> <i>Leo Simons</i>
<a href="http://www.apache.org/~leosimons/presentations/fosdem2005/gump@fosdem.pdf">Apache Gump -- Continuous integration on steroids</a> (pdf)
</p>
<p>
<b>16:00 - 16:50</b> <i>Jeffrey Morgan</i>
<a href="http://java-gnome.sourceforge.net/presentations/fosdem05/img0.html">Liberation through Binding! -- Using java-gnome to build desktop applications</a> (html)
</p>
<p>
<b>17:00 - 17:30</b> <i>Christian Thalinger</i>
<a href="http://www.complang.tuwien.ac.at/cacaojvm/papers/fosdem2005.ps">CACAO -- From the fastest JIT to a JVM</a> (ps)
</p>
<p>
</boxitem>
<boxitem>
<h3>Sunday 10:00 - 13:00 - "Demo Time!"</h3>
<p>
Public presentations and overviews of the current state of the
GNU Classpath library , GCC/GCJ(X) compiler and Kaffe runtime.
</p>
<p>
<b>10:00 - 10:50</b>
<i>Thomas Fitzsimmons</i>
<a href="http://people.redhat.com/fitzsim/fosdem-2005/html/fosdem-2005-presentation.html">Free AWT and Swing -- The GUI parts of GNU Classpath</a> (html)
(<a href="http://people.redhat.com/fitzsim/fosdem-2005/fosdem-2005-presentation.sxi">sxi</a>)
</p>
<p>
<b>11:00 - 11:50</b>
<i>Tom Tromey</i>
<a href="http://www.peakpeak.com/~tromey/fosdem-2005.sxi">GCJX -- Writing a new GCC front end</a> (sxi)
</p>
<p>
<b>12:00 - 12:50</b>
<i>Dalibor Topic</i>
<a href="http://www.kaffe.org/~robilad/kaffe-past-present-future-FOSDEM05.pdf">Kaffe -- Past, Present and Future</a> (pdf)
</p>
<p>
<boxitem>
<boxitem>
<b>Extra (13h15 - 13h30) GCJ & Native Eclipse</b>
<p>
<i>Bryce McKinlay</i> -- Lightning Talk.
GCJ and the Eclipse IDE: desktop application development with Java-gnome.
</p>
<p>
</boxitem>
<boxitem>
<h3>Sunday 14:00 - 17:00 - "The Future"</h3>
<p>
Technical Planning Session
<p>
This 3 hour session for hackers will consist of:
<ul>
<li> A general part explaining what is needed.
<li> Splitting up in groups to discuss specific topics to
solve the problems and make development plans.
<li> A short present by each group about the ideas discussed.
</ul>
<p>
Please add ideas and suggestions to the WIKI:
<a href="http://developer.classpath.org/mediation/Fosdem2005">http://developer.classpath.org/mediation/Fosdem2005</a>
<p>
</boxitem>
<boxitem>
<b>Additional Resources:</b>
<ul>
<li><createlink name="Free But Shackled - The Java Trap"
url="http://www.gnu.org/philosophy/java-trap.html">
(by Richard Stallman)
</li>
</ul>
<p>
<boxitem>
<boxitem>
<b>Official links:</b>
<ul>
<li><createlink name="FOSDEM Homepage"
url="http://www.fosdem.org/">
</li>
<li><createlink name="GNU Classpath Room"
url="http://www.fosdem.org/2005/index/dev_room_classpath/">
</li>
<li><createlink name="GNU Classpath Room Schedule"
url="http://www.fosdem.org/2005/index/dev_room_classpath/schedule/">
</li>
</ul>
<boxitem>
</box>

View File

@ -0,0 +1,28 @@
#!wml --include=..
#include "include/layout.wml"
<set-var last-modified-author="prk">
<subject "GNU Classpath Events">
<box>
<boxitem>
<strong>Upcoming Events:</strong><br>
<ul>
none
</ul>
</boxitem>
<boxitem>
<strong>Past Events:</strong><br>
<ul>
<li>[26+27 Feb. 2004] FOSDEM'05 in Brussels, Belgium. [<createlink name="Escape The Java Trap!" url="events/escape_fosdem05.html">]
<li>[14+15 Oct. 2003] Linux Kongress '03 in Saarbr&uuml;cken, Germany.
<li>[21+22 Feb. 2004] FOSDEM'04 in Brussels, Belgium. [<createlink name="report" url="events/fosdem04.html">]
<li>[14+15 Oct. 2003] Linux Kongress '03 in Saarbr&uuml;cken, Germany.
</ul>
<br><br><br>
</boxitem>
</box>

View File

@ -0,0 +1,100 @@
#!wml --include=..
#include "include/layout.wml"
<set-var last-modified-author="prk">
<subject "GNU Classpath: FOSDEM'04">
<box>
<boxitem>
<h2>GNU Classpath at FOSDEM'04</h2>
Saturday, 21 February 2004
A whole room was devoted to Free Java Developers. The following talks took place:
<ul>
<li><strong>GNU Classpath -- Core Classes for a Diversity of Free Java Virtual Machines</strong>, Sascha Brawer and Mark Wielaard (GNU Classpath)<br>
[<createlink name="slides" url="http://www.dandelis.ch/people/brawer/articles/classpathFeb2004/">]<br>
<i>Mark presented an overview of the GNU Classpath project, the current development state, and the problems encountered, in particular the ability to fit so many JVM with different requirements and constraints</i>
<li><strong>SableVM - the Apache of Java Virtual Machines</strong>, Grzegorz B. Prokopski (SableVM)<br>
[<createlink name="slides" url="http://gadek.debian.net/FOSDEM/">]<br>
<i>Grzegorz presented the SableVM JVM and its technical details; a whole unter the hood tour, including the use of m4 macro expansion for generating the VM code and an overview of interpreter and JIT techniques used.</i><br>
<li><strong>fbAWT - Direct to your buffer</strong>, Stephane Meslin-Weber<br>
<i>Stephane presented his project to map AWT directly to a framebuffer and VNC, and made a short demo of it.</i>
</ul>
Sunday, 22 February 2004
There was a whole track of Java-related presentations:
<ul>
<li><strong>JOnAS</strong>, Florent Benoit (WebObjects)
<li><strong>GCJ</strong>, Tom Tromey (GCJ, Red Hat)<br>
[<createlink name="slides" url="http://www.peakpeak.com/~tromey/FOSDEM/gcj.html">]<br>
<i>Tom presented the GCJ project and its goals. Many details on performance and status.</i><br>
<li><strong>NetBeans</strong>, Ian Formanek (Sun)
<li><strong>Java Security: How Free Software Is Secured Using the Java Language
</strong>, Sascha Brawer (GNU Classpath, Dandelis)<br>
Abstract: After a general introduction to why Java seems a reasonable choice for
writing large and robust free software packages, the talk discusses the
security features of the Java platform. It is shown how several actors
play together to ensure type safety, encapsulation and declarative access
control. Four concrete denial-of-service attacks illustrate the
importance of enhancing the platform by techniques for managing resource
consumption.
<br>[<createlink name="slides" url="http://www.dandelis.ch/people/brawer/articles/classpathSecurity/">]
</ul>
</ul>
In the afternoon, more discussions took place in the Free Java Developers room.
<ul>
<li><strong>Packaging Free Java Applications For Free Operating Systems</strong>, Dalibor Topic (Kaffe) and Arnaud Vandyck (Debian)<br>
[<createlink name="Wiki" url="http://java.debian.net">]<br>
<i>Dalibor and Arnaud explained the problems encountered while packaging Java for Debian.</i>
<li><strong>Free Discussion</strong><br>
<i>A proposal by Andrew Haley (GCJ) for the standardization of the JIT interface in the VM was discussed.</i>
</ul>
</boxitem>
<boxitem>
In Mark Wielaard's words
<ul>
<li> <i>There were between 20 and 50 people following the different
presentations, talks and discussions in our developer room. And Tom
Tromey his talk on gcj in the big room got 120 interested people.</li>
<li> <i>We could have had more in depth technical discussions. Most of the
presentations now were more overviews of what was already there. Which
is great for attracting new developers and explaining our goals to
outsiders. But for next time we must really appoint people that lead
some technical issue. Many thanks to Andrew for just standing up and
starting the pluggable JIT interface discussion by telling how gcj would
like to support it.
</i>
</ul>
See his whole message in the <createlink name="mail archive" url="http://mail.gnu.org/archive/html/classpath/2004-02/msg00051.html">.
</boxitem>
<boxitem>
Additional Resources:
<ul>
<li><createlink name="GNU Classpath's Flyer" url="http://www.klomp.org/mark/classpath/fosdem/"> (Kudos to Mark Wielaard)
<li><createlink name="Group Picture" url="http://adorphuye.com/gallery/FOSDEM2004/IMGP0234"> (thanks to Stephane Meslin-Weber)
</ul>
Official links:
<ul>
<li><createlink name="FOSDEM Homepage" url="http://www.fosdem.org">
<li><createlink name="FOSDEM Java Dev Room" url="http://www.fosdem.org/2004/index/dev_room_java/">
<li><createlink name="FOSDEM Java Dev Room Schedule" url="http://www.fosdem.org/2004/index/dev_room_java/schedule/">
</ul>
</box>

View File

@ -0,0 +1,86 @@
#include "include/layout.wml"
##
#
# Special Tags
#
<define-tag tool endtag=required>
<preserve maintainer>
<preserve name>
<preserve url>
<set-var %attributes>
<boxtitle><a name="<get-var name>">Classpath External Tools::<get-var name></a></boxtitle>
<boxitem>
<table cellspacing="4">
<tr><td valign="top"><strong>Maintainer</strong></td><td><get-var maintainer></td></tr>
<tr><td valign="top"><strong>Link</strong></td><td><createlink name="<get-var url>" url="<get-var url>"></td></tr>
<tr><td valign="top"><strong>Description</strong></td><td>%body</td></tr>
</table>
</boxitem>
<restore url>
<restore name>
<restore maintainer>
</define-tag>
<set-var last-modified-author="prk">
<subject "GNU Classpath External Tools">
<box>
<boxtitle><a name="packages">Classpath::External Packages</a></boxtitle>
<boxitem>
<en>
<p>Below is a table of providers for free core packages not part of GNU Classpath
</p>
<project-list>
<project name="GNU ClasspathX" url="http://www.gnu.org/software/classpathx/">
<ul>
<li>javax.activation
<li>javax.infobus
<li>javax.xml
<li>javax.mail
<li>javax.servlet
<li>javax.speech
</ul>
</project>
<project name="GNU Crypto" url="http://www.gnu.org/software/gnu-crypto/">
<ul>
<li>javax.crypto
</ul>
</project>
<project name="Jessie" url="http://www.nongnu.org/jessie/">
<ul>
<li>javax.net.ssl
</ul>
</project>
<project name="Tritonus" url="http://tritonus.org/">
<ul>
<li>javax.sound
</ul>
</project>
</project-list>
</en>
</boxitem>
<tool
name="Jalopy"
maintainer="Tom Tromey"
url="ftp://sources.redhat.com/pub/java/jalopy-console-1.0.4.tar.gz"
>
Jalopy is a pretty-printer to format Java code. To do our coding style you also need this
<a href="ftp://sources.redhat.com/pub/java/GNU.xml">style definition file</a>.
</tool>
</box>

View File

@ -0,0 +1 @@
*.html

View File

@ -0,0 +1,32 @@
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)/faq/

Some files were not shown because too many files have changed in this diff Show More