diff options
author | Brian Jones <cbj@gnu.org> | 1999-09-20 20:20:19 +0000 |
---|---|---|
committer | Brian Jones <cbj@gnu.org> | 1999-09-20 20:20:19 +0000 |
commit | e66c3a0cd4697205e293f0f24d404acff5783514 (patch) | |
tree | 46556cbc351aa7ab55982dfc87c24c4b987b806f | |
parent | 32a6641a909bea7040b3a216f34da0166cdee023 (diff) | |
download | classpath-e66c3a0cd4697205e293f0f24d404acff5783514.tar.gz |
removed
55 files changed, 0 insertions, 3331 deletions
diff --git a/doc/html/README b/doc/html/README deleted file mode 100644 index 09fab0e7b..000000000 --- a/doc/html/README +++ /dev/null @@ -1,43 +0,0 @@ -To update the website... - -If you simply want to change some of the present content, find the correct -HTML file and modify it. - -If you want to add a submenu or a major menu, you have to change the conf.pm -file in the includes/ directory, and rerun includes/create-menus.pl. - -If you add new HTML files which you want to be bordered by the right menu, -etc. (and you've already updated conf.pm and executed create-menus.pl) -Then all you have to do is execute create-shtml.pl. This will create (update) -.shtml files which are pre-existing. To get a new one for say news/kaffe.html -I would have to first `touch news/kaffe.shtml' before executing -create-shtml.pl. - -For the root directory, the main content html file is root.html. -The .shtml file for this directory is index.shtml. - -For other sub directories the main content html file is `directory'.html. -The .shtml file for this is `directory'/index.shtml - -For other files in any directory the main content html file is `filename'.html -and the .shtml file is `filename'.shtml. - -Limitations: -------------------------------------------------------------------------- -1. The create-menus.pl script isn't as robust as the one once used at - OryxSoft, Inc. I lost that one in a harddrive wipe so this is a - recreation which still needs work. -2. The create-shtml.pl script is recursive and should be able to handle - any number of sub directories. -3. A few things are difficult to reference with relative URLs, like the - gnu image you see on most pages. -4. We can currently only have 2 levels in the menu structure due to (1). - Other sub directories can be created, but won't be in the menu. - - -TODO: --------------------------------------------------------------------------- -1. Remove every limitation we can. -2. Make it more robust. -3. More than likely write the create-menus.pl script in something other than - Perl. diff --git a/doc/html/archive/archive-title.html b/doc/html/archive/archive-title.html deleted file mode 100644 index f2ae24646..000000000 --- a/doc/html/archive/archive-title.html +++ /dev/null @@ -1 +0,0 @@ -GNU Classpath - Mailing Lists diff --git a/doc/html/archive/archive.html b/doc/html/archive/archive.html deleted file mode 100644 index b318fa8f4..000000000 --- a/doc/html/archive/archive.html +++ /dev/null @@ -1,19 +0,0 @@ -<p> -There is currently only one general discussion list for -Classpath. To subscribe, send a message with a subject of -"subscribe" to <a -href="mailto:classpath-request@gnu.org?subject=subscribe">classpath-request@gnu.org</a>. -To unsubscribe, send a message to the same address with a -subject of "unsubscribe" to <a -href="mailto:classpath-request@gnu.org?subject=unsubscribe">classpath-request@gnu.org</a>. -To send a message to the list, mail it to <a -href="mailto:classpath@gnu.org">classpath@gnu.org</a>. -</p> -<p> -If you have any problems subscribing to the list, please send -an email to <a href="mailto:rao@gnu.org">rao@gnu.org</a>. -</p> -<p> -The archive section has been revamped to segragate messages -by month and year. You can <a href="archive/">read the archive here</a>. -</p> diff --git a/doc/html/archive/index.shtml b/doc/html/archive/index.shtml deleted file mode 100644 index 470b413c3..000000000 --- a/doc/html/archive/index.shtml +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" - "http://www.w3.org/TR/REC-html40/loose.dtd"> -<html> -<head> -<title> -<!--#include virtual="archive-title.html" --> -</title> -</head> -<body bgcolor="#FFFFFF"> -<!--#include virtual="includes/header.html" --> -<table border="0" cellpadding="2" cellspacing="4"> - <tr valign="top"> -<!--#include virtual="includes/archive-menu.html" --> - <td> -<!--#include virtual="archive.html" --> - </td> - </tr> -</table> -<!--#include virtual="includes/footer.html" --> -<hr> -<p> -File last modified on <!--#echo var="LAST_MODIFIED" --> -</p> -</body> -</html> diff --git a/doc/html/create-shtml.pl b/doc/html/create-shtml.pl deleted file mode 100755 index 5688e2f1b..000000000 --- a/doc/html/create-shtml.pl +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/perl -w -# -# The purpose of this script is to create from the template.shtml file in -# root directory of the Classpath web site all the .shtml files needed for -# any file. This script only creates an .shtml file whenever the appropriate -# .shtml file already exists. -# -# For example if in the news/ directory there were the files 'index.shtml', -# 'news.html', 'old-news.html', 'japhar.html', 'japhar.shtml' then this script -# would update the 'index.shtml' and the 'japhar.shtml' from the template. -# It would replace #FILE# in the template with 'news' for 'index.shtml' and -# 'japhar' for japhar.shtml. As you can see the index to the directory is -# treated specially. - -use strict; - -my ($debug) = 1; -my ($template) = "template.shtml"; - -# really should use Cwd module here, oh well :) -my ($root) = `pwd`; -chop($root); - -use vars qw($debug $template $root); - -# main -{ - &make(); -} - -sub make -{ - my ($dir, $lastdir) = @_; - my (@entries) = (); - my ($entry) = ""; - my ($is_root) = 0; - my ($file, $junk) = ""; - - if (!($dir) || (($dir) && ($dir eq ""))) - { - $dir = `pwd`; - chop($dir); - $is_root = 1; - $file = "root"; - } - opendir(DIR, "$dir") || die "could not opendir $dir\n"; - @entries = grep( !/^\.\S+/, readdir(DIR)); # no .* - closedir(DIR); - foreach $entry (sort @entries) - { - if (($entry eq ".") || ($entry eq "..")) { next; } - if (-d "$dir/$entry") - { -# print "$dir/$entry/\n" if ($debug); - &make("$dir/$entry", $entry); - } - elsif (-e "$dir/$entry") - { - if (($entry eq $template) && ($is_root)) { next; } -# print "$dir/$entry\n" if ($debug); - if ($entry =~ /\.shtml$/) - { - if ($entry =~ /^index\./) - { - if (!($is_root)) { $file = $lastdir; } - } else { - ($file,$junk) = split(/\./, $entry, 2); - } - open(FILE, ">$dir/$entry") || - die "could not open $dir/$entry\n"; - open(TEMPLATE, "<$root/$template") || - die "could not open $root/$template\n"; - while(<TEMPLATE>) - { - chop; - $_ =~ s/\#FILE\#/$file/g; - print FILE $_, "\n"; - } - close(TEMPLATE); - close(FILE); - print "Updated $dir/$entry\n"; - } - } - } -} diff --git a/doc/html/docs/docs-title.html b/doc/html/docs/docs-title.html deleted file mode 100644 index 723c202fe..000000000 --- a/doc/html/docs/docs-title.html +++ /dev/null @@ -1 +0,0 @@ -GNU Classpath Documentation diff --git a/doc/html/docs/docs.html b/doc/html/docs/docs.html deleted file mode 100644 index 95ec11a80..000000000 --- a/doc/html/docs/docs.html +++ /dev/null @@ -1,19 +0,0 @@ -<p> -This section is woefully incomplete at the moment. However we have a -good document online here to cover how to work on GNU Classpath called the -<a href="hacking.shtml">Hacker's Guide</a>. -</p> -<p> -The <a href="japhar.shtml">other document here</a> covers John Keiser's -initial work on integration -Japhar and GNU Classpath. John posted to our website directions on detailing -how to get GNU Classpath to work with Japhar. The Japhar integration is -not completely into Japhar's CVS tree as of yet and this patch is getting -dated. Hopefully we'll have more news on this later. -</p> -<p> -<A HREF="vmintegration.shtml"><b>VM Integration</b></A> explains what work -you need to do to integrate your VM with Classpath. This information is not -complete and it will certainly be updated as time goes by, but this should at -least provide a starting point for your efforts. -</p> diff --git a/doc/html/docs/hacking-title.html b/doc/html/docs/hacking-title.html deleted file mode 100644 index 8d0c3dc07..000000000 --- a/doc/html/docs/hacking-title.html +++ /dev/null @@ -1 +0,0 @@ -Hacking GNU Classpath diff --git a/doc/html/docs/hacking.html b/doc/html/docs/hacking.html deleted file mode 100644 index 5b0dd1413..000000000 --- a/doc/html/docs/hacking.html +++ /dev/null @@ -1,1208 +0,0 @@ -<HTML> -<HEAD> -<!-- This HTML file has been created by texi2html 1.52 - from hacking.texinfo on 10 January 1999 --> - -<TITLE>GNU Classpath Hacker's Guide</TITLE> -</HEAD> -<BODY bgcolor="#FFFFFF"> -<H1>GNU Classpath Hacker's Guide</H1> -<ADDRESS>Aaron M. Renn</ADDRESS> -<ADDRESS>Paul N. Fisher</ADDRESS> -<ADDRESS>John Keiser</ADDRESS> -<P> -<P><HR><P> -<H1>Table of Contents</H1> -<UL> -<LI><A NAME="TOC1" HREF="#SEC1">Introduction</A> -<LI><A NAME="TOC2" HREF="#SEC2">Requirements</A> -<LI><A NAME="TOC3" HREF="#SEC3">Volunteering to Help</A> -<LI><A NAME="TOC4" HREF="#SEC4">Project Goals</A> -<LI><A NAME="TOC5" HREF="#SEC5">Programming Tools</A> -<LI><A NAME="TOC6" HREF="#SEC6">Programming Standards</A> -<LI><A NAME="TOC7" HREF="#SEC7">Programming Goals</A> -<LI><A NAME="TOC8" HREF="#SEC8">Portability</A> -<LI><A NAME="TOC9" HREF="#SEC9">Robustness</A> -<LI><A NAME="TOC10" HREF="#SEC10">Java Efficiency</A> -<LI><A NAME="TOC11" HREF="#SEC11">Native Efficiency</A> -<LI><A NAME="TOC12" HREF="#SEC12">Specification Sources</A> -<LI><A NAME="TOC13" HREF="#SEC13">Directory and File Naming Conventions</A> -<LI><A NAME="TOC14" HREF="#SEC14">Character Conversions</A> -<LI><A NAME="TOC15" HREF="#SEC15">Localization</A> -<UL> -<LI><A NAME="TOC16" HREF="#SEC16">String Collation</A> -<LI><A NAME="TOC17" HREF="#SEC17">Break Iteration</A> -<LI><A NAME="TOC18" HREF="#SEC18">Date Formatting and Parsing</A> -</UL> -</UL> -<P><HR><P> - -<P> -Copyright (C) 1998, 1999 Free Software Foundation, Inc. -<P> -Permission is granted to make and distribute verbatim copies of -this document provided the copyright notice and this permission notice -are preserved on all copies. - -</P> -<P> -Permission is granted to copy and distribute modified versions of this -document under the conditions for verbatim copying, provided that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -</P> -<P> -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions, -except that this permission notice may be stated in a translation -approved by the Free Software Foundation. - -</P> - - - -<H1><A NAME="SEC1" HREF="#TOC1">Introduction</A></H1> - -<P> -The Classpath Project is a dedicated to providing a 100% free, clean -room implementation of the standard Java class libraries. Because there -is currently no free implementation of the Java environment, no free -operating system can ship with Java included. Parts of a free Java -implementation have already been written, including free Java virtual -machines (JVM's) such as <A HREF="http://www.kaffe.org/">Kaffe</A> and -<A HREF="http://www.hungry.com/products/japhar/">Japhar</A>, and Java compilers -such as <A HREF="http://www.cs.berkeley.edu/~engberg/guavac/">Guavac</A>. -However, there is currently no free replacement for Sun's proprietary -libraries. This Classpath project aims to correct this problem by -supplying a free class library implementation that will allow a 100% -free Java platform to be distributed. Note that Kaffe now ships with a -partial class library that is also free, so there is more than one group -working towards a common goal. - -</P> - - -<H1><A NAME="SEC2" HREF="#TOC2">Requirements</A></H1> - -<P> -Although Classpath is following an open development model where input -from developers is welcome, there are certain base requirements that -need to be met by anyone who wants to contribute code to this project. -They are mostly unfortunately dictated by legal requirements and are not -arbitrary restrictions chosen by the Classpath team. - -</P> -<P> -You will need to adhere to the following things if you want to donate -code to the Classpath project: - -</P> - -<UL> -<LI> - -<B>Never under any circumstances refer to Sun's code while working on -Classpath.</B> It is best if you have never looked at Sun's code at all. -To reduce temptation, it would be best if you deleted the <SAMP>`src.zip'</SAMP> -file from your JDK distribution. If you have signed Sun's -non-disclosure statement, then you unfortunately cannot work on -Classpath code at all. If you have any reason to believe that your code -might be "tainted", please say something on the mailing list before -writing anything. If it turns out that your code was not developed in a -clean room environment, we could be very embarrassed someday in court. -Please don't let that happen. - -<LI> - -<B>Never decompile Sun's class libraries.</B> While the wording of the -license in Sun's JDK version 1.2 has changed, it not acceptable, under -any circumstances, for a person working on Classpath to decompile Sun's -class libraries. Allowing the use of decompilation in the Classpath -project would open up a giant can of legal worms, which we wish to -avoid. - -<LI> - -Classpath is licensed under the terms of the -<A HREF="http://www.fsf.org/copyleft/lgpl.html">GNU Library General Public -License</A>. To preserve freedom for all users and to maintain uniform -licensing of Classpath, we will not accept code into the main -distribution that is not licensed under these terms. - -<LI> - -Classpath is GNU software and this project is being officially sponsored -by the <A HREF="http://www.fsf.org/">Free Software Foundation</A>. Because of -this, the FSF will hold copyright to all code developed as part of -Classpath. This will allow them to pursue copyright violators in court, -something an individual developer may neither have the time nor -resources to do. Everyone contributing code to Classpath will need to -sign a copyright assignment statement. Additionally, if you are -employed as a programmer, your employer may need to sign a copyright -waiver disclaiming all interest in the software. This may sound harsh, -but unfortunately, it is the only way to ensure that the code you write -is legally yours to distribute. -</UL> - - - -<H1><A NAME="SEC3" HREF="#TOC3">Volunteering to Help</A></H1> - -<P> -The Classpath project needs volunteers to help us out. People are -needed to write unimplemented Java packages, to test Classpath on -various platforms, and to port it to platforms that are currently -unsupported. - -</P> -<P> -While pretty much all contributions are welcome (but see -see section <A HREF="#SEC2">Requirements</A>) it is always preferable that volunteers do the -whole job when volunteering for a task. So when you volunteer to write -a Java package, please be willing to do the following: - -</P> - -<UL> -<LI> - -Implement a complete drop-in replacement for the particular package. -That means implementing any "internal" classes. For example, in the -java.net package, there are non-public classes for implementing sockets. -Without those classes, the public socket interface is useless. But do -not feel obligated to completely replace all of Sun's functionality at -once. For example, in the java.net package, there are different types -of protocol handlers for different types of URL's. Not all of these -need to be written at once. - -<LI> - -Please write complete and thorough javadoc comments for every public and -protected method and variable. These should be superior to Sun's and -cover everything about the item being documented. - -<LI> - -Please write a regression test package that can be used to run tests of -your package's functionality. -</UL> - -<P> -Nobody likes to write documentation and test cases, but they are vital -to a complete and robust product. Writing them as you go is much easier -than going back at the end and adding them. - -</P> - - -<H1><A NAME="SEC4" HREF="#TOC4">Project Goals</A></H1> - -<P> -The goal of the Classpath project is to produce a -<A HREF="http://www.fsf.org/philosophy/free-sw.html">free</A> implementation of -the standard class library for Java. However, there are other more -specific goals as to which platforms should be supported. - -</P> -<P> -Classpath is targeted to support the following operating systems: - -</P> - -<OL> -<LI> - -Free operating systems. This includes GNU/Linux, GNU/Hurd, and the free -BSDs. - -<LI> - -Other Unix like operating systems. - -<LI> - -Platforms which currently have no Java support at all. - -<LI> - -Other platforms such as MS-Windows. -</OL> - -<P> -While free operating systems are the top priority, the other priorities -can shift depending on whether or not there is a volunteer to port -Classpath to those platforms and to test releases. - -</P> -<P> -Eventually we hope the Classpath will support all JVM's that provide JNI -support. However, the top priority is free JVM's. The JVM support -priority list is: - -</P> - -<OL> -<LI> - -Japhar -<LI> - -Kaffe -<LI> - -Sun's JDK -<LI> - -Other JNI Compliant JVM's. -</OL> - -<P> -As with OS platform support, this priority list could change if a -volunteer comes forward to port, maintain, and test releases for a -particular JVM. Kaffe is now developing its own class library, so the -priority of supporting that platform is not as high as for Japhar. - -</P> -<P> -The initial target version for Classpath is Java 1.1. Java 1.2 can be -implemented if desired, but please do not create classes that depend on -1.2 features in other packages. - -</P> - - -<H1><A NAME="SEC5" HREF="#TOC5">Programming Tools</A></H1> - -<P> -If you want to hack on Classpath, you should download, install, and -familiarize yourself with the following tools: - -</P> - -<UL> -<LI> - -CVS 1.9 -<LI> - -automake 1.3 -<LI> - -autoconf 2.12 -<LI> - -dejagnu 1.3 -<LI> - -libtool 1.2 -<LI> - -GNU m4 1.4 -<LI> - -perl 5.X -<LI> - -GNU MP 2.0.2 -</UL> - -<P> -All of these tools are available from -<A HREF="ftp://prep.ai.mit.edu/pub/gnu/">prep.ai.mit.edu</A> via anonymous ftp. -With the exception of perl, they are fully documented with texinfo -manuals. Texinfo can be browsed with the Emacs editor, or with the text -editor of your choice. - -</P> -<P> -Here is a brief description of the purpose of those tools. - -</P> -<DL COMPACT> - -<DT><B>CVS</B> -<DD> -A version control system that maintains a centralized Internet -repository of all code in the Classpath system. Access to the -repository requires an account. Contact Paul Fisher -(<A HREF="mailto:rao@gnu.org">rao@gnu.org</A>) for details. - -<DT><B>dejagnu</B> -<DD> -A package for automating regression test suites for programs. Your -regression test package should work with this. - -<DT><B>automake</B> -<DD> -This tool automatically creates Makefile.in files from Makefile.am -files. The Makefile.in is turned into a Makefile by autoconf. Why use -this? Because it automatically generates every makefile target you -would ever want (clean, install, dist, etc) in full compliance with the -GNU coding standards. It also simplifies Makefile creation in a ton of -different ways I can't describe here. Read the docs for more info. - -<DT><B>autoconf</B> -<DD> -Automatically configures a package for the platform on which it is being -built and generates the Makefile for that platform. - -<DT><B>libtool</B> -<DD> -Handles all of the zillions of hairy platform specific options needed to -build shared libraries. - -<DT><B>m4</B> -<DD> -The free GNU replacement for the standard Unix macro processor. -Proprietary m4 programs are broken and so GNU m4 is required for -autoconf to work. - -<DT><B>perl</B> -<DD> -Larry Wall's scripting language. It is used internally by automake. - -<DT><B>MP</B> -<DD> -Required for java.lang.Float, java.lang.Double, java.math.BigInteger, -and java.math.BigDecimal. - -</DL> - - - -<H1><A NAME="SEC6" HREF="#TOC6">Programming Standards</A></H1> - -<P> -For C code, follow the -<A HREF="http://www.fsf.org/prep/standards_toc.html">GNU Coding Standards</A>. -The standards also specify various things like the install directory -structure. These should be followed if possible. - -</P> -<P> -For Java code, please follow the -<A HREF="http://java.sun.com/docs/codeconv/html/CodeConventionsTOC.doc.html">Sun -programming standards</A>. As an exception, do not feel obligated to -following their bracket and indentation style if you consider it to be -wrong. - -</P> -<P> -For documentation comments, please follow -<A HREF="http://java.sun.com/products/jdk/javadoc/writingdoccomments.html">How -to Write Doc Comments for Javadoc</A>. - -</P> - - -<H1><A NAME="SEC7" HREF="#TOC7">Programming Goals</A></H1> - -<P> -When you write code for Classpath, write with three things in mind, and -in the following order: portability, robustness, and efficiency. - -</P> -<P> -If efficiency breaks portability or robustness, then don't do it the -efficient way. If robustness breaks portability, then bye-bye robust -code. Of course, as a programmer you would probably like to find sneaky -ways to get around the issue so that your code can be all three ... the -following chapters will give some hints on how to do this. - -</P> - - -<H1><A NAME="SEC8" HREF="#TOC8">Portability</A></H1> - -<P> -The ultimate portability goal would be to create: - -</P> - -<OL> -<LI> - -a binary set for each platform that works across all VMs on that -platform -<LI> - -a single classfile set that work across all VMs on all platforms that -support the binary set. -</OL> - -<P> -With Java code, this is no problem. You end up delegating VM- or -platform-specific stuff to native code anyway. Unfortunately, it is -impossible to write native code that works out of the box on multiple -VMs, even on a given platform. The APIs Sun has created just do not -give the flexibility required to do that if you are implementing the -java.* hierarchy. - -</P> -<P> -The native libraries we use in Classpath are JNI, JVMDI, and VMI. JNI -you should be familiar with; introduced in Java 1.1, it is the basis for -our native code. JVMDI is a 1.2 concoction, and thus we can only -support it on 1.1 VMs that we have source access to (i.e. Japhar and -Kaffe). VMI is our own invention entirely; it is where we push the -VM-specific functionality that JNI and JVMDI do not support. - -</P> -<P> -However, using JVMDI and VMI in 1.1 breaks the "ideal goal" for the -project. With these two in the mix, Classpath's portability becomes: - -</P> - -<OL> -<LI> - -a JVMDI and VMI lib per VM per platform; -<LI> - -a binary set for each platform that works across all VM/platform combos -supporting the JVMDI/VMI; -<LI> - -a single classfile set that works across all VM / platform combos that -support both of the above. -</OL> - -<P> -When writing, therefore, you should always keep shy of anything -VM-specific yourself, and talk to the VM using the VMI. If you need a -VM-specific function that is not supported by JNI or JVMDI, write a new -VMI function! - -</P> -<P> -Note that the preferred method is not to use the JVMDI or VMI at -<EM>all</EM>, but to use only JNI. If you can write it without the VMI, -your code will be quicker to port to new VMs. - -</P> -<P> -There is another issue, however, and that is the efficiency issue. Some -things can be done using JNI only, but they are a ton slower than they -would be if you used the VMI or talked directly to the VM. - -</P> -<P> -In these cases, the preferred method in Classpath is to create a -<EM>library</EM>. Hide the implementation of the functions from the -caller. If the library can be written using only JNI, no matter how -inefficient, you should write a version of it for that. Portability, -remember, is the ultimate goal, and the closer we are to it, the better -off we are. - -</P> - - -<H1><A NAME="SEC9" HREF="#TOC9">Robustness</A></H1> - -<P> -Native code is very easy to make non-robust. (That's one reason Java is -so much better!) Here are a few hints to make your native code more -robust. - -</P> -<P> -Always check return values for standard functions. It's sometimes easy -to forget to check that malloc() return for an error. Don't make that -mistake. (In fact, use JCL_malloc() in the jcl library instead--it will -check the return value and throw an exception if necessary.) - -</P> -<P> -Always check the return values of JNI functions, or call -<CODE>ExceptionOccurred</CODE> to check whether an error occurred. You must -do this after <EM>every</EM> JNI call. JNI does not work well when an -exception has been raised, and can have unpredictable behavior. - -</P> -<P> -Throw exceptions using JCL_ThrowException. This guarantees that if -something is seriously wrong, the exception text will at least get out -somewhere (even if it is stderr). - -</P> -<P> -Check for null values of jclasses before you send them to JNI functions. -JNI does not behave nicely when you pass a null class to it: it -terminates Java with a "JNI Panic." - -</P> -<P> -In general, try to use functions in native/lib/jcl.h. They check -exceptions and return values and throw appropriate exceptions. - -</P> - - -<H1><A NAME="SEC10" HREF="#TOC10">Java Efficiency</A></H1> - -<P> -For methods which explicitly throw a NullPointerException when an -argument is passed which is null, per a Sun specification, do not write -code like: - -</P> - -<PRE> -int strlen(String foo) throws NullPointerException { - if (foo == null) - throw new NullPointerException("foo is null"); - return foo.length(); -} -</PRE> - -<P> -Instead, the code should be written as: - -</P> - -<PRE> -int strlen(String foo) throws NullPointerException { - return foo.length(); -} -</PRE> - -<P> -Explicitly comparing foo to null is unnecessary, as the virtual machine -will throw a NullPointerException when length() is invoked. Classpath -is designed to be as fast as possible -- every optimization, no matter -how small, is important. - -</P> - - -<H1><A NAME="SEC11" HREF="#TOC11">Native Efficiency</A></H1> - -<P> -You might think that using native methods all over the place would give -our implementation of Java speed, speed, blinding speed. You'd be -thinking wrong. Would you believe me if I told you that an -<EM>interpreted</EM> Java method is typically about three and a half times -<EM>faster</EM> than the equivalent native method? This is true even for -a totally blank method. - -</P> -<P> -Bottom line: JNI is overhead incarnate. In Sun's implementation, even -the JNI functions you use once you get into Java are slow. - -</P> -<P> -A final problem is efficiency of native code when it comes to things -like method calls, fields, finding classes, etc. Generally you should -cache things like that in static C variables if you're going to use them -over and over again. GetMethodID(), GetFieldID(), and FindClass() are -*slow*. - -</P> -<P> -Here are a few tips on writing native code efficiently: - -</P> -<P> -Make as few native method calls as possible. Note that this is not the -same thing as doing less in native method calls; it just means that, if -given the choice between calling two native methods and writing a single -native method that does the job of both, it will usually be better to -write the single native method. You can even call the other two native -methods directly from your native code and not incur the overhead of a -method call from Java to C. - -</P> -<P> -Cache methodIDs and fieldIDs wherever you can. String lookups are -expensive. The best way to do this is to use the native/lib/jnilink.h -library. It will ensure that jmethodIDs are always valid, even if the -class is unloaded at some point. In 1.1, jnilink simply caches a -NewGlobalRef() to the method's underlying class; however, when 1.2 comes -along, it will use a weak reference to allow the class to be unloaded -and then re-resolve the jmethodID the next time it is used. - -</P> -<P> -Cache classes that you need to access often. jnilink will help with -this as well. The issue here is the same as the methodID and fieldID -issue--how to make certain the class reference remains valid. - -</P> -<P> -If you need to associate native C data with your class, use Paul -Fisher's native_state library (NSA). It will allow you to get and set -state fairly efficiently. Note that there is no built-in mechanism to -associate C data with instances of a class. This is a library Paul -built from scratch. - -</P> - - -<H1><A NAME="SEC12" HREF="#TOC12">Specification Sources</A></H1> - -<P> -There are a number of specification sources to use when working on -Classpath. In general, the only place you'll find your classes -specified is in the JavaDoc documentation or possibly in the -corresponding white paper. In the case of java.lang, java.io and -java.util, you should look at the Java Language Specification. - -</P> -<P> -Here, however, is a list of specs, in order of canonicality: - -</P> - -<OL> -<LI> - -<A HREF="http://java.sun.com/docs/books/jls/clarify.html">Clarifications and Amendments to the JLS - 1.1</A> -<LI> - -<A HREF="http://java.sun.com/docs/books/jls/html/1.1Update.html">JLS Updates -- 1.1</A> -<LI> - -<A HREF="http://java.sun.com/docs/books/jls/html/index.html">The 1.0 JLS</A> -<LI> - -<A HREF="http://java.sun.com/docs/books/vmspec/index.html">JVM spec - 1.1</A> -<LI> - -<A HREF="http://java.sun.com/products/jdk/1.1/docs/guide/jni/spec/jniTOC.doc.html">JNI spec - 1.1</A> -<LI> - -<A HREF="http://java.sun.com/products/jdk/1.1/docs/api/packages.html">Sun's javadoc - 1.1</A> -(since Sun's is the reference implementation, the javadoc is -documentation for the Java platform itself.) -<LI> - -<A HREF="http://java.sun.com/products/jdk/1.2/docs/guide/jvmdi/jvmdi.html">JVMDI spec - 1.2</A>, -<A HREF="http://java.sun.com/products/jdk/1.2/docs/guide/jni/jni-12.html">JNI spec - 1.2</A> -(sometimes gives clues about unspecified things in 1.1; if -it was not specified accurately in 1.1, then use the spec -for 1.2; also, we are using JVMDI in this project.) -<LI> - -<A HREF="http://java.sun.com/products/jdk/1.2/docs/api/frame.html">Sun's javadoc - 1.2</A> -(sometimes gives clues about unspecified things in 1.1; if -it was not specified accurately in 1.1, then use the spec -for 1.2) -<LI> - -<A HREF="http://developer.java.sun.com/developer/bugParade/index.html">The -Bug Parade</A>: I have obtained a ton of useful information about how -things do work and how they *should* work from the Bug Parade just by -searching for related bugs. The submitters are very careful about their -use of the spec. And if something is unspecified, usually you can find -a request for specification or a response indicating how Sun thinks it -should be specified here. -</OL> - -<P> -You'll notice that in this document, white papers and specification -papers are more canonical than the JavaDoc documentation. This is true -in general. - -</P> - - - -<H1><A NAME="SEC13" HREF="#TOC13">Directory and File Naming Conventions</A></H1> - -<P> -The Classpath directory structure is laid out in the following manner: - -</P> - -<PRE> -jcl - | - |---->java - | | - | |-->awt - | |-->io - | |-->lang - | |-->util - | | | - | | |--->zip - | | |--->jar - | |-->net - | |-->etc - | - |---->gnu - | | - | |-->java - | | - | |-->awt - | |-->lang - | |-->util - | | | - | | |-->zip - | |-->etc - | - |---->native - | | - | |-->java.io - | |-->java.lang - | |-->java.net - | |-->java.util.jar - | |-->etc - | - |---->test - | | - | |-->java.io - | |-->java.lang - | |-->etc - | - |---->compat - | - |-->java.io - |-->java.lang - |-->etc - -</PRE> - -<P> -Here is a brief description of the toplevel directories and their contents. - -</P> -<DL COMPACT> - -<DT><B>java</B> -<DD> -Contains the source code to the Java packages that make up the core -class library. Because this is the public interface to Java, it is -important that the public classes, interfaces, methods, and variables -are exactly the same as specified in Sun's documentation. The directory -structure is laid out just like the java package names. For example, -the class java.util.zip would be in the directory java/util/zip. - -<DT><B>gnu/java</B> -<DD> -Internal classes (roughly analogous to Sun's sun.* classes) should go -under the gnu/java directory. Classes related to a particular public -Java package should go in a directory named like that package. For -example, classes related to java.util.zip should go under a directory -gnu/java/util/zip. Sub-packages under the main package name are -allowed. For classes spanning multiple public Java packages, pick an -appropriate name and see what everybody else thinks. - -<DT><B>native</B> -<DD> -This directory holds native code needed by the public Java packages. -Each package has its own subdirectory, which is the "flattened" name -of the package. For example, native method implementations for -java.util.zip should go in native/java.util.zip. - -<DT><B>test</B> -<DD> -This directory contains test packages written for DejaGnu used to test -releases of Classpath. The test scripts for a given package go in the -subdirectory that is the same as the "flattened" name of the package. -For example, test scripts for java.util.zip should go in -test/java.util.zip - -<DT><B>compat</B> -<DD> -This directory contains misc scripts designed not to test an -implementation, but to determine various things about Sun's reference -implementation that are needed in order to write a compatible package. -Each package has its own directory which is the "flattened" package -name. For example, compatibility scripts for java.util.zip go in -compat/java.util.zip -</DL> - -<P> -Each person working on a package get's his or her own "directory -space" underneath each of the toplevel directories. In addition to the -general guidelines above, the following standards should be followed: - -</P> - -<UL> - -<LI> - -Classes that need to load native code should load a library with the -same name as the flattened package name, with all periods removed. For -example, the native library name specified in LoadLibrary for -java.util.zip would be "javautilzip". - -<LI> - -Each package has its own shared library for native code (if any). The -actual library name to be built will depend on the target JVM. - -<LI> - -The main native method implementation for a given method in class should -go in a file with the same name as the class with a ".c" extension. -For example, the implementation of the native methods in -java.util.InetAddress would go in native/java.net/InetAddress.c. -"Internal" native functions called from the main native method can -reside in files of any name. -</UL> - - - -<H1><A NAME="SEC14" HREF="#TOC14">Character Conversions</A></H1> - -<P> -Java uses the Unicode character encoding system internally. This is a -sixteen bit (two byte) collection of characters encompassing most of the -world's written languages. However, Java programs must often deal with -outside interfaces that are byte (eight bit) oriented. For example, a -Unix file, a stream of data from a network socket, etc. Beginning with -Java 1.1, the <CODE>Reader</CODE> and <CODE>Writer</CODE> classes provide functionality -for dealing with character oriented streams. The classes -<CODE>InputStreamReader</CODE> and <CODE>OutputStreamWriter</CODE> bridge the gap -between byte streams and character streams by converting bytes to -Unicode characters and vice versa. - -</P> -<P> -In Classpath, <CODE>InputStreamReader</CODE> and <CODE>OutputStreamWriter</CODE> -rely on an internal class called <CODE>gnu.java.io.EncodingManager</CODE> to load -translaters that perform the actual conversion. There are two types of -converters, encoders and decoders. Encoders are subclasses of -<CODE>gnu.java.io.encoder.Encoder</CODE>. This type of converter takes a Java -(Unicode) character stream or buffer and converts it to bytes using -a specified encoding scheme. Decoders are a subclass of -<CODE>gnu.java.io.decoder.Decoder</CODE>. This type of converter takes a -byte stream or buffer and converts it to Unicode characters. The -<CODE>Encoder</CODE> and <CODE>Decoder</CODE> classes are subclasses of -<CODE>Writer</CODE> and <CODE>Reader</CODE> respectively, and so can be used in -contexts that require character streams, but the Classpath implementation -currently does not make use of them in this fashion. - -</P> -<P> -The <CODE>EncodingManager</CODE> class searches for requested encoders and -decoders by name. Since encoders and decoders are separate in Classpath, -it is possible to have a decoder without an encoder for a particular -encoding scheme, or vice versa. <CODE>EncodingManager</CODE> searches the -package path specified by the <CODE>file.encoding.pkg</CODE> property. The -name of the encoder or decoder is appended to the search path to -produce the required class name. Note that <CODE>EncodingManager</CODE> knows -about the default system encoding scheme, which it retrieves from the -system property <CODE>file.encoding</CODE>, and it will return the proper -translator for the default encoding if no scheme is specified. Also, the -Classpath standard translator library, which is the <CODE>gnu.java.io</CODE> package, -is automatically appended to the end of the path. - -</P> -<P> -For efficiency, <CODE>EncodingManager</CODE> maintains a cache of translators -that it has loaded. This eliminates the need to search for a commonly -used translator each time it is requested. - -</P> -<P> -Finally, <CODE>EncodingManager</CODE> supports aliasing of encoding scheme names. -For example, the ISO Latin-1 encoding scheme can be referred to as -"8859_1" or "ISO-8859-1". <CODE>EncodingManager</CODE> searches for -aliases by looking for the existence of a system property called -<CODE>gnu.java.io.encoding_scheme_alias.<encoding name></CODE>. If such a -property exists. The value of that property is assumed to be the -canonical name of the encoding scheme, and a translator with that name is -looked up instead of one with the original name. - -</P> -<P> -Here is an example of how <CODE>EncodingManager</CODE> works. A class requests -a decoder for the "UTF-8" encoding scheme by calling -<CODE>EncodingManager.getDecoder("UTF-8")</CODE>. First, an alias is searched -for by looking for the system property -<CODE>gnu.java.io.encoding_scheme_alias.UTF-8</CODE>. In our example, this -property exists and has the value "UTF8". That is the actual -decoder that will be searched for. Next, <CODE>EncodingManager</CODE> looks -in its cache for this translator. Assuming it does not find it, it -searches the translator path, which is this example consists only of -the default <CODE>gnu.java.io</CODE>. The "decoder" package name is -appended since we are looking for a decoder. ("encoder" would be -used if we were looking for an encoder). Then name name of the translator -is appended. So <CODE>EncodingManager</CODE> attempts to load a translator -class called <CODE>gnu.java.io.decoder.UTF8</CODE>. If that class is found, -an instance of it is returned. If it is not found, a -<CODE>UnsupportedEncodingException</CODE>. - -</P> -<P> -To write a new translator, it is only necessary to subclass -<CODE>Encoder</CODE> and/or <CODE>Decoder</CODE>. Only a handful of abstract -methods need to be implemented. In general, no methods need to be -overridden. The needed methods calculate the number of bytes/chars -that the translation will generate, convert buffers to/from bytes, -and read/write a requested number of characters to/from a stream. - -</P> -<P> -Many common encoding schemes use only eight bits to encode characters. -Writing a translator for these encodings is very easy. There are -abstract translator classes <CODE>gnu.java.io.decode.DecoderEightBitLookup</CODE> -and <CODE>gnu.java.io.encode.EncoderEightBitLookup</CODE>. These classes -implement all of the necessary methods. All that is necessary to -create a lookup table array that maps bytes to Unicode characters and -set the class variable <CODE>lookup_table</CODE> equal to it in a static -initializer. Also, a single constructor that takes an appropriate -stream as an argument must be supplied. These translators are -exceptionally easy to create and there are several of them supplied -in the Classpath distribution. - -</P> -<P> -Writing multi-byte or variable-byte encodings is more difficult, but -often not especially challenging. The Classpath distribution ships with -translators for the UTF8 encoding scheme which uses from one to three -bytes to encode Unicode characters. This can serve as an example of -how to write such a translator. - -</P> -<P> -Many more translators are needed. All major character encodings should -eventually be supported. - -</P> - - -<H1><A NAME="SEC15" HREF="#TOC15">Localization</A></H1> - -<P> -There are many parts of the Java standard runtime library that must -be customized to the particular locale the program is being run in. -These include the parsing and display of dates, times, and numbers; -sorting words alphabetically; breaking sentences into words, etc. -In general, Classpath uses general classes for performing these tasks, -and customizes their behavior with configuration data specific to a -given locale. - -</P> - -<P> -In Classpath, all locale specific data is stored in a -<CODE>ListResourceBundle</CODE> class in the package <CODE>gnu/java/locale</CODE>. -The basename of the bundle is <CODE>LocaleInformation</CODE>. See the -documentation for the <CODE>java.util.ResourceBundle</CODE> class for details -on how the specific locale classes should be named. - -</P> -<P> -<CODE>ListResourceBundle</CODE>'s are used instead of -<CODE>PropertyResourceBundle</CODE>'s because data more complex than simple -strings need to be provided to configure certain Classpath components. -Because <CODE>ListResourceBundle</CODE> allows an arbitrary Java object to -be associated with a given configuration option, it provides the -needed flexibility to accomodate Classpath's needs. - -</P> -<P> -Each Java library component that can be localized requires that certain -configuration options be specified in the resource bundle for it. It is -important that each and every option be supplied for a specific -component or a critical runtime error will most likely result. - -</P> -<P> -As a standard, each option should be assigned a name that is a string. -If the value is stored in a class or instance variable, then the option -should name should have the name name as the variable. Also, the value -associated with each option should be a Java object with the same name -as the option name (unless a simple scalar value is used). Here is an -example: - -</P> -<P> -A class loads a value for the <CODE>format_string</CODE> variable from the -resource bundle in the specified locale. Here is the code in the -library class: - -</P> - -<PRE> - ListResourceBundle lrb = - ListResourceBundle.getBundle("gnu/java/locale/LocaleInformation", locale); - String format_string = lrb.getString("format_string"); -</PRE> - -<P> -In the actual resource bundle class, here is how the configuration option -gets defined: - -</P> - -<PRE> -/** - * This is the format string used for displaying values - */ -private static final String format_string = "%s %d %i"; - -private static final Object[][] contents = -{ - { "format_string", format_string } -}; -</PRE> - -<P> -Note that each variable should be <CODE>private</CODE>, <CODE>final</CODE>, and -<CODE>static</CODE>. Each variable should also have a description of what it -does as a documentation comment. The <CODE>getContents()</CODE> method returns -the <CODE>contents</CODE> array. - -</P> -<P> -There are many functional areas of the standard class library that are -configured using this mechanism. A given locale does not need to support -each functional area. But if a functional area is supported, then all -of the specified entries for that area must be supplied. In order to -determine which functional areas are supported, there is a special key -that is queried by the affected class or classes. If this key exists, -and has a value that is a <CODE>Boolean</CODE> object wrappering the -<CODE>true</CODE> value, then full support is assumed. Otherwise it is -assumed that no support exists for this functional area. Every class -using resources for configuration must use this scheme and define a special -scheme that indicates the functional area is supported. Simply checking -for the resource bundle's existence is not sufficient to ensure that a -given functional area is supported. - -</P> -<P> -The following sections define the functional areas that use resources -for locale specific configuration in GNU Classpath. Please refer to the -documentation for the classes mentioned for details on how these values -are used. You may also wish to look at the source file for -<CODE>gnu/java/locale/LocaleInformation_en</CODE> as an example. - -</P> - - -<H2><A NAME="SEC16" HREF="#TOC16">String Collation</A></H2> - -<P> -Collation involves the sorting of strings. The Java class library provides -a public class called <CODE>java.text.RuleBasedCollator</CODE> that performs -sorting based on a set of sorting rules. - -</P> - -<UL> -<LI>RuleBasedCollator - A <CODE>Boolean</CODE> wrappering <CODE>true</CODE> to indicate - -that this functional area is supported. -<LI>collation_rules - The rules the specify how string collation is to - -be performed. -</UL> - -<P> -Note that some languages might be too complex for <CODE>RuleBasedCollator</CODE> -to handle. In this case an entirely new class might need to be written in -lieu of defining this rule string. - -</P> - - -<H2><A NAME="SEC17" HREF="#TOC17">Break Iteration</A></H2> - -<P> -The class <CODE>java.text.BreakIterator</CODE> breaks text into words, sentences, -and lines. It is configured with the following resource bundle entries: - -</P> - -<UL> -<LI>BreakIterator - A <CODE>Boolean</CODE> wrappering <CODE>true</CODE> to indicate - -that this functional area is supported. -<LI>word_breaks - A <CODE>String</CODE> array of word break character sequences. - -<LI>sentence_breaks - A <CODE>String</CODE> array of sentence break character - -sequences. -<LI>line_breaks - A <CODE>String</CODE> array of line break character sequences. - -</UL> - - - -<H2><A NAME="SEC18" HREF="#TOC18">Date Formatting and Parsing</A></H2> - -<P> -Date formatting and parsing is handled by the -<CODE>java.text.SimpleDateFormat</CODE> class in most locales. This class is -configured by attaching an instance of the <CODE>java.text.DateFormatSymbols</CODE> -class. That class simply reads properties from our locale specific -resource bundle. The following items are requiered (refer to the -documentation of the <CODE>java.text.DateFormatSymbols</CODE> class for details -io what the actual values should be): - -</P> - -<UL> -<LI>DateFormatSymbols - A <CODE>Boolean</CODE> wrappering <CODE>true</CODE> to indicate - -that this functional area is supported. -<LI>months - A <CODE>String</CODE> array of month names. - -<LI>shortMonths - A <CODE>String</CODE> array of abbreviated month names. - -<LI>weekdays - A <CODE>String</CODE> array of weekday names. - -<LI>shortWeekdays - A <CODE>String</CODE> array of abbreviated weekday names. - -<LI>ampms - A <CODE>String</CODE> array containing AM/PM names. - -<LI>eras - A <CODE>String</CODE> array containing era (ie, BC/AD) names. - -<LI>zoneStrings - An array of information about valid timezones for this - -locale. -<LI>localPatternChars - A <CODE>String</CODE> defining date/time pattern symbols. - -<LI>shortDateFormat - The format string for dates used by - -<CODE>DateFormat.SHORT</CODE> -<LI>mediumDateFormat - The format string for dates used by - -<CODE>DateFormat.MEDIUM</CODE> -<LI>longDateFormat - The format string for dates used by - -<CODE>DateFormat.LONG</CODE> -<LI>fullDateFormat - The format string for dates used by - -<CODE>DateFormat.FULL</CODE> -<LI>defaultDateFormat - The format string for dates used by - -<CODE>DateFormat.DEFAULT</CODE> -<LI>shortDateFormat - The format string for times used by - -<CODE>DateFormat.SHORT</CODE> -<LI>mediumDateFormat - The format string for times used by - -<CODE>DateFormat.MEDIUM</CODE> -<LI>longDateFormat - The format string for times used by - -<CODE>DateFormat.LONG</CODE> -<LI>fullDateFormat - The format string for times used by - -<CODE>DateFormat.FULL</CODE> -<LI>defaultDateFormat - The format string for times used by - -<CODE>DateFormat.DEFAULT</CODE> -</UL> - -<P> -Note that it may not be possible to use this mechanism for all locales. -In those cases a special purpose class may need to be written to handle -date/time processing. - -</P> -<P><HR><P> -This document was generated on 10 January 1999 using the -<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A> -translator version 1.52.</P> -</BODY> -</HTML> diff --git a/doc/html/docs/hacking.shtml b/doc/html/docs/hacking.shtml deleted file mode 100644 index b8c18823e..000000000 --- a/doc/html/docs/hacking.shtml +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" - "http://www.w3.org/TR/REC-html40/loose.dtd"> -<html> -<head> -<title> -<!--#include virtual="hacking-title.html" --> -</title> -</head> -<body bgcolor="#FFFFFF"> -<!--#include virtual="includes/header.html" --> -<table border="0" cellpadding="2" cellspacing="4"> - <tr valign="top"> -<!--#include virtual="includes/hacking-menu.html" --> - <td> -<!--#include virtual="hacking.html" --> - </td> - </tr> -</table> -<!--#include virtual="includes/footer.html" --> -<hr> -<p> -File last modified on <!--#echo var="LAST_MODIFIED" --> -</p> -</body> -</html> diff --git a/doc/html/docs/index.shtml b/doc/html/docs/index.shtml deleted file mode 100644 index 687455ba4..000000000 --- a/doc/html/docs/index.shtml +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" - "http://www.w3.org/TR/REC-html40/loose.dtd"> -<html> -<head> -<title> -<!--#include virtual="docs-title.html" --> -</title> -</head> -<body bgcolor="#FFFFFF"> -<!--#include virtual="includes/header.html" --> -<table border="0" cellpadding="2" cellspacing="4"> - <tr valign="top"> -<!--#include virtual="includes/docs-menu.html" --> - <td> -<!--#include virtual="docs.html" --> - </td> - </tr> -</table> -<!--#include virtual="includes/footer.html" --> -<hr> -<p> -File last modified on <!--#echo var="LAST_MODIFIED" --> -</p> -</body> -</html> diff --git a/doc/html/docs/japhar-title.html b/doc/html/docs/japhar-title.html deleted file mode 100644 index b311b5343..000000000 --- a/doc/html/docs/japhar-title.html +++ /dev/null @@ -1 +0,0 @@ -GNU Classpath/Japhar Integration diff --git a/doc/html/docs/japhar.html b/doc/html/docs/japhar.html deleted file mode 100644 index 2bcded979..000000000 --- a/doc/html/docs/japhar.html +++ /dev/null @@ -1,86 +0,0 @@ -<p> -We've had a patch which lets GNU Classpath operate with Japhar without -disturbing its ability to operate with the JDK since December 25, 1998. -While we are waiting for this patch to make it into the Japhar CVS tree, -you may already download the patch and install it and begin using -GNU Classpath as your free set of Java class libraries. -</p> -<p> -See <a -href="http://www.classpath.org/archive/archive/1998/Dec/msg00158.html">this message</a> and <a href="http://www.classpath.org/archive/archive/1998/Dec/msg00161.html">this message</a> for details. -</p> -<!-- -<h2>1. Description of Patch</h2> -Well, after a long wait, it's finally here. Right now, the Japhar -patch has *only* been tested on the following file:<P> -<pre> -public class Test -{ - public static void main(String[] args) { } -} -</pre> -<p> -It seems like no test at all, but it can be very misleading. What this -means is that <b>all static initializers</b> for the core Classpath -installation work just fine, and we do some fairly complex stuff in there, -including some Reflection.<p> -I am putting the patch out here so that the hackers of the world can begin -to send in bug reports, and also so that the Japhar guys can start to mess -with putting it into their tree and doing regression testing to make sure -the old stuff still works.<p> -If you install the patch, Japhar will still work the same way it used to -unless you use the configure option <code>--enable-classpath</code>.<p> - -<h2>2. Getting the Patch</h2> -The patch is a tgz file available <a href="japhar-patch.tgz">here</a>.<p> -You also need a compiled copy of the Classpath library to work with Japhar. -Since our build procedure is not yet up to speed, I have the one I use -<a href="classpath.zip">here</a>.<p> - -<h2>3. Installing the Patch</h2> -<b>A.</b> Change to the directory just above your Japhar directory and -untar japhar-patch.tgz. <i>This only works right if your Japhar directory -is named</i> <code>japhar</code>.<p> -<b>B.</b> Use the unified diff patch. To do this, stay in the directory -just above your Japhar directory and type -"<code>patch < japharcp.diff</code>".<p> - -<h2>4. Remake Japhar</h2> -When the patch is installed, you will need to remake Japhar with Classpath -enabled.<p> -<b>A.</b> Do the normal first steps in the Japhar HACKING file: -<code>aclocal; autoheader; autoconf; automake</code>.<p> -<b>B.</b> Run the configure script including the options -<code>--enable-classpath</code> and <code>--enable-libffi</code>. You -may theoretically use any other options you want; but the only other ones -I have used in my testing are <code>--enable-debugging</code>, -<code>--enable-logging</code>, and <code>--with-sun-jdk=...</code> -(this last one is <i>still</i> required.<p> -<b>C.</b> Make and install normally.<p> - -<h2>5. Install Classpath Libraries</h2> -Make and install the Classpath native libraries normally. You -may have to do some hacking to exclude certain directories from the -build, if they are crashing on you.<p> - -<h2>6. Set Environment Variables</h2> -<b>A.</b> Make sure that the path to the Classpath native libraries is -in your <code>LD_LIBRARY_PATH</code> environment variable. Alternatively, -you can move the libraries to the Japhar libraries directory, but I have -not tested with that configuration yet.<p> -<b>B.</b> Put <code>classpath.zip</code> in your CLASSPATH. Don't forget -to put "." in your classpath, or possibly the directory of the application -you want to run.<p> -<b>C.</b> Make sure, of course, that Japhar is in your <b>PATH</b>. - -<h2>7. Finish</h2> -After performing steps 2-6 above, you will be ready to run! There's not -much out of the ordinary there. Just run "<code>japhar myClass</code>", -and thar she blows!<p> - -<h2>8. Bugs and Comments</h2> -You should really send comments and bugfixes to -<a href="mailto:classpath@classpath.org">the Classpath list</a>, but if you -have a bone to pick with me, the author of this patch, my name is -John Keiser and my email is <a href="shalom@gnu.org">shalom@gnu.org</a>.<p> ---> diff --git a/doc/html/docs/japhar.shtml b/doc/html/docs/japhar.shtml deleted file mode 100644 index fa45145ef..000000000 --- a/doc/html/docs/japhar.shtml +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" - "http://www.w3.org/TR/REC-html40/loose.dtd"> -<html> -<head> -<title> -<!--#include virtual="japhar-title.html" --> -</title> -</head> -<body bgcolor="#FFFFFF"> -<!--#include virtual="includes/header.html" --> -<table border="0" cellpadding="2" cellspacing="4"> - <tr valign="top"> -<!--#include virtual="includes/japhar-menu.html" --> - <td> -<!--#include virtual="japhar.html" --> - </td> - </tr> -</table> -<!--#include virtual="includes/footer.html" --> -<hr> -<p> -File last modified on <!--#echo var="LAST_MODIFIED" --> -</p> -</body> -</html> diff --git a/doc/html/docs/vmintegration-title.html b/doc/html/docs/vmintegration-title.html deleted file mode 100644 index 9b1e8e424..000000000 --- a/doc/html/docs/vmintegration-title.html +++ /dev/null @@ -1 +0,0 @@ -HOWTO: Integrating GNU Classpath with a Virtual Machine diff --git a/doc/html/docs/vmintegration.html b/doc/html/docs/vmintegration.html deleted file mode 100644 index 55f77244b..000000000 --- a/doc/html/docs/vmintegration.html +++ /dev/null @@ -1,227 +0,0 @@ -<HTML> -<HEAD> -<!-- This HTML file has been created by texi2html 1.52 - from vmintegration.texinfo on 1 December 1998 --> - -<TITLE>GNU Classpath VM Integration Guide</TITLE> -</HEAD> -<BODY> -<H1>GNU Classpath VM Integration Guide</H1> -<ADDRESS>John Keiser</ADDRESS> -<P> -<P><HR><P> -<H1>Table of Contents</H1> -<UL> -<LI><A NAME="TOC1" HREF="vmintegration.html#SEC1">Introduction</A> -<LI><A NAME="TOC2" HREF="vmintegration.html#SEC2">Initialization</A> -<LI><A NAME="TOC3" HREF="vmintegration.html#SEC3">Classpath Hooks</A> -<LI><A NAME="TOC4" HREF="vmintegration.html#SEC4">Introduction</A> -</UL> -<P><HR><P> - -<P> -Copyright (C) 1998 Free Software Foundation, Inc. -<P> -Permission is granted to make and distribute verbatim copies of -this document provided the copyright notice and this permission notice -are preserved on all copies. - -</P> -<P> -Permission is granted to copy and distribute modified versions of this -document under the conditions for verbatim copying, provided that the -entire resulting derived work is distributed under the terms of a -permission notice identical to this one. - -</P> -<P> -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions, -except that this permission notice may be stated in a translation -approved by the Free Software Foundation. - -</P> - - - -<H1><A NAME="SEC1" HREF="vmintegration.html#TOC1">Introduction</A></H1> - -<P> -The Classpath Project's ambition to be a 100% clean room implementation -of the standard Java class libraries cannot be fulfilled without some -level of integration with the Virtual Machine, the underlying machinery -that actually runs Java. - -</P> -<P> -There are several VMs out there, including -<A HREF="http://www.japhar.org">Japhar</A> and -<A HREF="http://www.kaffe.org">Kaffe</A>. Current integration efforts are -focused solely on Japhar, in order to get the basic interface down, and -all information contained in this document is gleaned from these -efforts. - -</P> - - - -<H1><A NAME="SEC2" HREF="vmintegration.html#TOC2">Initialization</A></H1> - -<P> -The order of initialization of classes is not so crucial to the Virtual -Machine, but is absolutely critical to Classpath itself. This section -shows the order in which classes should be loaded and initialized in -order for things to work properly. - -</P> -<P> -XXX Not ready yet. - -</P> - - - -<H1><A NAME="SEC3" HREF="vmintegration.html#TOC3">Classpath Hooks</A></H1> - -<P> -Several core classes must be implemented by the VM for Classpath to -work. These classes are java.lang.Runtime, java.lang.Thread, -java.lang.Class, java.lang.reflect.Constructor, -java.lang.reflect.Method, and java.lang.reflect.Field. - -</P> -<P> -You also need to implement some helper classes in java.lang that classes -from Classpath call out to to get certain VM-specific dirty work done: - -</P> - -<UL> -<LI>VMObject - -<LI>VMClassLoader - -<LI>VMSystem - -<LI>VMSecurityManager - -<LI>StackFrame - -<LI>StackTrace - -</UL> - -<P> -Some of the classes you implement for the VM will need to call back to -package-private methods in Classpath: - -</P> - -<UL> -<LI>java.lang.ThreadGroup.addThread(Thread) - -Call this method from Thread when a new Thread is created, to add it to -the group. - -<LI>java.lang.ThreadGroup.removeThread(Thread) - -Call this method from Thread when a Thread is stopped or destroyed. - -</UL> - - - -<H1><A NAME="SEC4" HREF="vmintegration.html#TOC4">Introduction</A></H1> - -<P> -VMs need to do some dirty work; there are some things in the VM that -unfortunately are dependent on the internal structure of various -classes. This is a guide to all of the things the VM itself needs to -know about classes. - -</P> - -<UL> -<LI>java.lang.Class - -You, the VM, get to create this Class, so you may define the internal -structure any way you wish. You probably have code somewhere to -translate your internal class structure into a Class object. That is -the only known place where this matters. Some VMs do not create the -Class object at the point where the class is defined; instead, they wait -until a Class object is actually used. - -<LI>array classes - -When you are creating an array class, you should set the ClassLoader of -the array class to the ClassLoader of its component type. Whenever you -add a class to a ClassLoader, you need to notify the ClassLoader and -add the new Class to its internal cache of classes. To do this, call -ClassLoader.addVMCreatedClass(Class). - -<LI>primordial class loader - -When the primordial class loader loads a class, it needs to tell -Classpath what it has done in order for security stuff to work right. -To do this, call the static method -ClassLoader.newPrimordialClass(Class). - -Even the first few core classes need to do this; in order to do it, -simply call this method <EM>after</EM> the initial class loading has been -done. No harm will come, as long as you follow the guidelines in the -see section <A HREF="vmintegration.html#SEC2">Initialization</A> section. - -<LI>throwing exceptions - -You do not need to fill in the stack trace or anything when throwing an -exception; this is all handled automatically with Classpath when the -constructor is called. - -<LI>top-level exception handler - -Exceptions take care of themselves in Classpath; all you need to do in -the top-level exception handler is call Throwable.printStackTrace(). - -XXX I think this was a bad design on my part. It takes up memory and -CPU cycles that do not need to be taken up for exceptions which are -simply caught. This portion of the VM interface will be changed so that -VMs must associate native stacktrace data with the Throwable itself or -even do some sort of lazy stacktrace information addition to the -Throwable, only copying stacktrace data as it is lost (as functions are -exited) to preserve memory and cycles. The usual case is the one where -an exception is caught. The top-level exception handler is, well, an -exception. - -<LI>Security and traces - -There will eventually be a feature in the 1.2 security that keeps the -AccessController from having to evaluate <EM>all</EM> of the -ProtectionDomains every time a security check is made. I think a common -case is a single method doing a lot of things that require security -checks. However, I don't want to bog down the method stack too much, so -this feature of the VM will have the AccessController for a thread -calling out to the VM to tell it how high it was on the stack when it -made the last security request. Every time the stack goes lower than -that number, the VM will decrement the number. The AccessController -will remember what the accumulated protection status was at every stack -level (an AccessControlContext) and use that aggregated information to -do the check. I am not sure, however, whether the savings are -substantial enough to outweigh the integer check and set after every -method call. I will investigate. - -<LI>java.lang.Thread - -You should not need to mess with the internal structure of this class, -even though threading is native to the VM, because there is typically -a native thread structure that you are using. The Thread object will, -of course, have to be linked to that native thread structure, and how -you do that is up to you. - -</UL> - -<P><HR><P> -This document was generated on 1 December 1998 using the -<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A> -translator version 1.52.</P> -</BODY> -</HTML> diff --git a/doc/html/docs/vmintegration.shtml b/doc/html/docs/vmintegration.shtml deleted file mode 100644 index 5a6789fe0..000000000 --- a/doc/html/docs/vmintegration.shtml +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" - "http://www.w3.org/TR/REC-html40/loose.dtd"> -<html> -<head> -<title> -<!--#include virtual="vmintegration-title.html" --> -</title> -</head> -<body bgcolor="#FFFFFF"> -<!--#include virtual="includes/header.html" --> -<table border="0" cellpadding="2" cellspacing="4"> - <tr valign="top"> -<!--#include virtual="includes/vmintegration-menu.html" --> - <td> -<!--#include virtual="vmintegration.html" --> - </td> - </tr> -</table> -<!--#include virtual="includes/footer.html" --> -<hr> -<p> -File last modified on <!--#echo var="LAST_MODIFIED" --> -</p> -</body> -</html> diff --git a/doc/html/images/gnu-head-sm.jpg b/doc/html/images/gnu-head-sm.jpg Binary files differdeleted file mode 100644 index 2a9746a25..000000000 --- a/doc/html/images/gnu-head-sm.jpg +++ /dev/null diff --git a/doc/html/includes/announce-menu.html b/doc/html/includes/announce-menu.html deleted file mode 100644 index 1fad5b49d..000000000 --- a/doc/html/includes/announce-menu.html +++ /dev/null @@ -1,28 +0,0 @@ -<td align="left" bgcolor="#FFFFC8" width="175"> -<b>Classpath Pages</b> -<hr align="left" width="75%"> -<UL> -<LI><A HREF="http://www.classpath.org/index.shtml">Home Page</A></LI> -<LI><A HREF="http://www.classpath.org/news/index.shtml">News</A></LI> -<UL> -<LI>Announcements</LI> -<LI><A HREF="http://www.classpath.org/news/status.shtml">Status</A></LI> -</UL> -<LI><A HREF="http://www.classpath.org/packages/index.shtml">Package Listing</A></LI> -<LI><A HREF="http://www.classpath.org/archive/index.shtml">Archives</A></LI> -<LI><A HREF="http://www.classpath.org/docs/index.shtml">Documentation</A></LI> -</ul> -<br> -<b>Official Specs</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://java.sun.com/docs/">JavaSoft</a></li> -</ul> -<br> -<b>Free JVM's</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://www.hungry.com/products/japhar/">Japhar</a></li> -<li><a href="http://www.transvirtual.com/">Kaffe</a> </li> -</UL> -</td> diff --git a/doc/html/includes/archive-menu.html b/doc/html/includes/archive-menu.html deleted file mode 100644 index 524a7f30d..000000000 --- a/doc/html/includes/archive-menu.html +++ /dev/null @@ -1,24 +0,0 @@ -<td align="left" bgcolor="#FFFFC8" width="175"> -<b>Classpath Pages</b> -<hr align="left" width="75%"> -<UL> -<LI><A HREF="http://www.classpath.org/index.shtml">Home Page</A></LI> -<LI><A HREF="http://www.classpath.org/news/index.shtml">News</A></LI> -<LI><A HREF="http://www.classpath.org/packages/index.shtml">Package Listing</A></LI> -<LI>Archives</LI> -<LI><A HREF="http://www.classpath.org/docs/index.shtml">Documentation</A></LI> -</UL> -<br> -<b>Official Specs</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://java.sun.com/docs/">JavaSoft</a></li> -</ul> -<br> -<b>Free JVM's</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://www.hungry.com/products/japhar/">Japhar</a></li> -<li><a href="http://www.transvirtual.com/">Kaffe</a> </li> -</ul> -</td> diff --git a/doc/html/includes/conf.pm b/doc/html/includes/conf.pm deleted file mode 100644 index 03fd7de6a..000000000 --- a/doc/html/includes/conf.pm +++ /dev/null @@ -1,99 +0,0 @@ -package Classpath::HTML::conf; - -#--- Web Based System Administration Tool Configuration File---- -# This contains a number of different variable declarations used -# throughout the admintool cgi program, sysadmin.cgi - -BEGIN -{ - use Exporter (); - use vars qw(@EXPORT @EXPORT_OK %EXPORT_TAGS); - - @EXPORT = qw(); - @EXPORT_OK = qw(%website @menu %root %news %packages %archive %docs - @packages_child %packages_java %packages_javax); - -} -use vars @EXPORT_OK; - -# no trailing slash here -$website{'url'} = "www.classpath.org"; -$website{'images'} = "images"; - -# main menu -$menu[$#menu+1] = "root"; -$menu[$#menu+1] = "news"; -$menu[$#menu+1] = "packages"; -$menu[$#menu+1] = "archive"; -$menu[$#menu+1] = "docs"; - -# root - the directory beneath the root directory -# label - used on the menu as a label for the url -# child - answer yes or no depending on whether there is a sublist - -# home -$root{'root'} = ""; -$root{'label'} = "Home Page"; -$root{'child'} = "no"; -$root{'file'} = "index.shtml"; - -# news -$news{'root'} = "news"; -$news{'label'} = "News"; -$news{'child'} = "yes"; -$news{'file'} = "index.shtml"; - -# packages -$packages{'root'} = "packages"; -$packages{'label'} = "Package Listing"; -$packages{'child'} = "yes"; -$packages{'file'} = "index.shtml"; - -# archive -$archive{'root'} = "archive"; -$archive{'label'} = "Archives"; -$archive{'child'} = "no"; -$archive{'file'} = "index.shtml"; - -# docs -$docs{'root'} = "docs"; -$docs{'label'} = "Documentation"; -$docs{'child'} = "yes"; -$docs{'file'} = "index.shtml"; - -#-- sub lists -# label - as above -# file - file name for the URL; sub lists remain in parent list directory -$packages_child[$#packages_child+1] = "java"; -$packages_child[$#packages_child+1] = "javax"; - -# sub list java under packages -$packages_java{'label'} = "java.*"; -$packages_java{'file'} = "java.shtml"; - -# sub list javax under packages -$packages_javax{'label'} = "javax.*"; -$packages_javax{'file'} = "javax.shtml"; - -$news_child[$#news_child+1] = "announce"; -$news_child[$#news_child+1] = "status"; - -$news_announce{'label'} = "Announcements"; -$news_announce{'file'} = "announce.shtml"; - -$news_status{'label'} = "Status"; -$news_status{'file'} = "status.shtml"; - -$docs_child[$#docs_child+1] = "hacking"; -$docs_child[$#docs_child+1] = "japhar"; -$docs_child[$#docs_child+1] = "vmintegration"; - -$docs_hacking{'label'} = "Hacker's Guide"; -$docs_hacking{'file'} = "hacking.shtml"; - -$docs_japhar{'label'} = "Japhar Integration"; -$docs_japhar{'file'} = "japhar.shtml"; - -$docs_vmintegration{'label'} = "VM Integration Docs"; -$docs_vmintegration{'file'} = "vmintegration.shtml"; -1; diff --git a/doc/html/includes/create-menus.pl b/doc/html/includes/create-menus.pl deleted file mode 100755 index 8189fec6b..000000000 --- a/doc/html/includes/create-menus.pl +++ /dev/null @@ -1,285 +0,0 @@ -#!/usr/bin/perl -# Script which creates part of a table entry -# Example below. -# -# <center> -# <b>Classpath Pages</b> -# <hr width="75%"> -# </center> -# <li>Home Page -# <li><a href="announce.html">Project Announcement</a> -# <li><a href="packages.html">Package Listing</a> -# <li><a href="status.html">Project Status</a> -# <li><a href="mailing-list.html">Mailing Lists</a> -# <li><a href="jcl-hacking.html">Hacker's Guide</a> -# <p> -# <center> -# <b>Official Specs</b> -# <hr width="75%"> -# </center> -# <li><a href="http://java.sun.com/docs/">JavaSoft</a> -# <p> -# <center> -# <b>Free JVM's</b> -# <hr width="75%"> -# </center> -# <li><a href="http://www.hungry.com/products/japhar/">Japhar</a> -# <li><a href="http://www.transvirtual.com/">Kaffe</a> -# - -use conf qw(); - -my ($i) = ""; -use vars qw($i); - -# main -{ - &writeMainMenu(); - &writeSubMenus(); -} - -sub writeMainMenu -{ - my ($i, $j, $tmp) = ""; - - foreach $i (@Classpath::HTML::conf::menu) - { - open(MENU, ">$i-menu.html") || die "cannot open $i-menu.html\n"; - print MENU "<td align=\"left\" bgcolor=\"\#FFFFC8\" width=\"175\">\n"; -# print MENU "<center>\n"; - print MENU "<b>Classpath Pages</b>\n"; - print MENU "<hr align=\"left\" width=\"75\%\">\n"; -# print MENU "</center>\n"; -# print MENU "<font size=\"-1\">\n"; - print MENU "<UL>\n"; - - foreach $j (@Classpath::HTML::conf::menu) - { - if ($i eq $j) - { - print MENU "<LI>", ${"Classpath::HTML::conf::$j"}{'label'}, "</LI>\n"; - } - else - { - if (${"Classpath::HTML::conf::$j"}{'root'} ne "") - { - $tmp = ""; - $tmp .= "<LI><A HREF=\"http://$Classpath::HTML::conf::website{'url'}/"; - $tmp .= ${"Classpath::HTML::conf::$j"}{'root'} . "/"; - $tmp .= ${"Classpath::HTML::conf::$j"}{'file'} . "\">"; - $tmp .= ${"Classpath::HTML::conf::$j"}{'label'}; - $tmp .= "</A></LI>"; - print MENU $tmp, "\n"; - } - else - { - $tmp = ""; - $tmp .= "<LI><A HREF=\"http://$Classpath::HTML::conf::website{'url'}/"; - $tmp .= ${"Classpath::HTML::conf::$j"}{'file'} . "\">"; - $tmp .= ${"Classpath::HTML::conf::$j"}{'label'}; - $tmp .= "</A></LI>"; - print MENU $tmp, "\n"; - } - } - - if (($i eq $j) && - (${"Classpath::HTML::conf::$j"}{'child'} eq "yes")) - { - &menuRecurseChild("Classpath::HTML::conf::$j", *MENU{IO}); - } - } - - print MENU "</UL>\n"; -# print MENU "</font>\n"; - print MENU "<br>\n"; -# print MENU "<center>\n"; - print MENU "<b>Official Specs</b>\n"; - print MENU "<hr align=\"left\" width=\"75\%\">\n"; -# print MENU "</center>\n"; -# print MENU "<font size=\"-1\">\n"; - print MENU "<ul>\n"; - print MENU "<li><a href=\"http://java.sun.com/docs/\">JavaSoft</a></li>\n"; - print MENU "</ul>\n"; -# print MENU "</font>\n"; - print MENU "<br>\n"; -# print MENU "<center>\n"; - print MENU "<b>Free JVM\'s</b>\n"; - print MENU "<hr align=\"left\" width=\"75\%\">\n"; -# print MENU "</center>\n"; -# print MENU "<font size=\"-1\">\n"; - print MENU "<ul>\n"; - print MENU "<li><a href=\"http://www.hungry.com/products/japhar/\">Japhar</a></li>\n"; - print MENU "<li><a href=\"http://www.transvirtual.com/\">Kaffe</a> </li>\n"; - print MENU "</ul>\n"; -# print MENU "</font>\n"; - print MENU "</td>\n"; - - close(MENU); - } -} - - -sub menuRecurseChild -{ - my ($item, $FH) = @_; - my ($k, $tmp, $tmp2) = ""; - - print $FH "<UL>\n"; - $tmp = $item . "_child"; - - foreach $k (@$tmp) - { - if (${$item}{'root'} ne "") - { - $tmp2 = $item . "_" . $k; - $tmp = ""; - $tmp .= "<LI><A HREF=\"http://$Classpath::HTML::conf::website{'url'}/"; - $tmp .= ${$item}{'root'} . "/"; - $tmp .= ${$tmp2}{'file'} . "\">"; - $tmp .= ${$tmp2}{'label'}; - $tmp .= "</A></LI>"; - print $FH $tmp, "\n"; - } - else - { - $tmp2 = $item . "_" . $k; - $tmp = ""; - $tmp .= "<LI><A HREF=\"http://$Classpath::HTML::conf::website{'url'}/"; - $tmp .= ${$tmp2}{'file'} . "\">"; - $tmp .= ${$tmp2}{'label'}; - $tmp .= "</A></LI>"; - print $FH $tmp, "\n"; - } - } - print $FH "</UL>\n"; -} - -#--- SUB MENU FILES BELOW - -# for each menu item -# if it has a child node -# open child node file -# foreach menu node -sub writeSubMenus -{ - my ($i, $j, $k, $tmp, $tmp2) = ""; - - foreach $i (@Classpath::HTML::conf::menu) - { - if (${"Classpath::HTML::conf::$i"}{'child'} eq "yes") - { - $tmp2 = "Classpath::HTML::conf::" . $i . "_child"; - foreach $j (@{$tmp2}) - { - open(MENU, ">$j-menu.html") || die "cannot open $j-menu.html\n"; - print MENU "<td align=\"left\" bgcolor=\"\#FFFFC8\" width=\"175\">\n"; -# print MENU "<center>\n"; - print MENU "<b>Classpath Pages</b>\n"; - print MENU "<hr align=\"left\" width=\"75\%\">\n"; -# print MENU "</center>\n"; -# print MENU "<font size=\"-1\">\n"; - print MENU "<UL>\n"; - - foreach $k (@Classpath::HTML::conf::menu) - { - if (${"Classpath::HTML::conf::$k"}{'root'} ne "") - { - $tmp = ""; - $tmp .= "<LI><A HREF=\"http://$Classpath::HTML::conf::website{'url'}/"; - $tmp .= ${"Classpath::HTML::conf::$k"}{'root'} . "/"; - $tmp .= ${"Classpath::HTML::conf::$k"}{'file'} . "\">"; - $tmp .= ${"Classpath::HTML::conf::$k"}{'label'}; - $tmp .= "</A></LI>"; - print MENU $tmp, "\n"; - } - else - { - $tmp = ""; - $tmp .= "<LI><A HREF=\"http://$Classpath::HTML::conf::website{'url'}/"; - $tmp .= ${"Classpath::HTML::conf::$k"}{'file'} . "\">"; - $tmp .= ${"Classpath::HTML::conf::$k"}{'label'}; - $tmp .= "</A></LI>"; - print MENU $tmp, "\n"; - } - if ((${"Classpath::HTML::conf::$k"}{'child'} eq "yes") && - ($i eq $k)) - { - # specify which file we're doing now with $i, $j - &SubMenuRecurseChild("Classpath::HTML::conf::$k", - *MENU{IO}, $i, $j, $k); - } - } - - print MENU "</ul>\n"; -# print MENU "</font>\n"; - print MENU "<br>\n"; -# print MENU "<center>\n"; - print MENU "<b>Official Specs</b>\n"; - print MENU "<hr align=\"left\" width=\"75\%\">\n"; -# print MENU "</center>\n"; -# print MENU "<font size=\"-1\">\n"; - print MENU "<ul>\n"; - print MENU "<li><a href=\"http://java.sun.com/docs/\">JavaSoft</a></li>\n"; - print MENU "</ul>\n"; -# print MENU "</font>\n"; - print MENU "<br>\n"; -# print MENU "<center>\n"; - print MENU "<b>Free JVM\'s</b>\n"; - print MENU "<hr align=\"left\" width=\"75\%\">\n"; -# print MENU "</center>\n"; -# print MENU "<font size=\"-1\">\n"; - print MENU "<ul>\n"; - print MENU "<li><a href=\"http://www.hungry.com/products/japhar/\">Japhar</a></li>\n"; - print MENU "<li><a href=\"http://www.transvirtual.com/\">Kaffe</a> </li>\n"; - print MENU "</UL>\n"; -# print MENU "</font>\n"; - print MENU "</td>\n"; - - close(MENU); - } - } - } -} - -sub SubMenuRecurseChild -{ - my ($item, $FH, $this_parent, $this_child, $this_item) = @_; - my ($k, $tmp, $tmp2) = ""; - - print $FH "<UL>\n"; - - $tmp2 = $item . "_child"; - foreach $k (@{$tmp2}) - { - if ("$this_parent_$this_child" eq "$this_item_$k") - { - $tmp2 = $item . "_" . $k; - print $FH "<LI>", ${$tmp2}{'label'}, "</LI>\n"; - } - else - { - if ($$item{'root'} ne "") - { - $tmp2 = $item . "_" . $k; - $tmp = ""; - $tmp .= "<LI><A HREF=\"http://$Classpath::HTML::conf::website{'url'}/"; - $tmp .= ${$item}{'root'} . "/"; - $tmp .= ${$tmp2}{'file'} . "\">"; - $tmp .= ${$tmp2}{'label'}; - $tmp .= "</A></LI>"; - print $FH $tmp, "\n"; - } - else - { - $tmp2 = $item . "_" . $k; - $tmp = ""; - $tmp .= "<LI><A HREF=\"http://$Classpath::HTML::conf::website{'url'}/"; - $tmp .= ${$tmp2}{'file'} . "\">"; - $tmp .= ${$tmp2}{'label'}; - $tmp .= "</A></LI>"; - print $FH $tmp, "\n"; - } - } - } - print $FH "</UL>\n"; -} diff --git a/doc/html/includes/docs-menu.html b/doc/html/includes/docs-menu.html deleted file mode 100644 index c1d874e80..000000000 --- a/doc/html/includes/docs-menu.html +++ /dev/null @@ -1,29 +0,0 @@ -<td align="left" bgcolor="#FFFFC8" width="175"> -<b>Classpath Pages</b> -<hr align="left" width="75%"> -<UL> -<LI><A HREF="http://www.classpath.org/index.shtml">Home Page</A></LI> -<LI><A HREF="http://www.classpath.org/news/index.shtml">News</A></LI> -<LI><A HREF="http://www.classpath.org/packages/index.shtml">Package Listing</A></LI> -<LI><A HREF="http://www.classpath.org/archive/index.shtml">Archives</A></LI> -<LI>Documentation</LI> -<UL> -<LI><A HREF="http://www.classpath.org/docs/hacking.shtml">Hacker's Guide</A></LI> -<LI><A HREF="http://www.classpath.org/docs/japhar.shtml">Japhar Integration</A></LI> -<LI><A HREF="http://www.classpath.org/docs/vmintegration.shtml">VM Integration Docs</A></LI> -</UL> -</UL> -<br> -<b>Official Specs</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://java.sun.com/docs/">JavaSoft</a></li> -</ul> -<br> -<b>Free JVM's</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://www.hungry.com/products/japhar/">Japhar</a></li> -<li><a href="http://www.transvirtual.com/">Kaffe</a> </li> -</ul> -</td> diff --git a/doc/html/includes/footer.html b/doc/html/includes/footer.html deleted file mode 100644 index 32f854711..000000000 --- a/doc/html/includes/footer.html +++ /dev/null @@ -1,9 +0,0 @@ -<p> -Webmaster: <a href="mailto:webmaster@classpath.org">webmaster@classpath.org</a> -<br> -Copyright © 1998 Free Software Foundation, Inc.<br> -59 Temple Place - Suite 330, Boston, MA 02111 USA<br> -<br> -Verbatim copying and distribution is permitted in any medium, -provided this notice is preserved. -</p> diff --git a/doc/html/includes/hacking-menu.html b/doc/html/includes/hacking-menu.html deleted file mode 100644 index 3f8fd75c3..000000000 --- a/doc/html/includes/hacking-menu.html +++ /dev/null @@ -1,29 +0,0 @@ -<td align="left" bgcolor="#FFFFC8" width="175"> -<b>Classpath Pages</b> -<hr align="left" width="75%"> -<UL> -<LI><A HREF="http://www.classpath.org/index.shtml">Home Page</A></LI> -<LI><A HREF="http://www.classpath.org/news/index.shtml">News</A></LI> -<LI><A HREF="http://www.classpath.org/packages/index.shtml">Package Listing</A></LI> -<LI><A HREF="http://www.classpath.org/archive/index.shtml">Archives</A></LI> -<LI><A HREF="http://www.classpath.org/docs/index.shtml">Documentation</A></LI> -<UL> -<LI>Hacker's Guide</LI> -<LI><A HREF="http://www.classpath.org/docs/japhar.shtml">Japhar Integration</A></LI> -<LI><A HREF="http://www.classpath.org/docs/vmintegration.shtml">VM Integration Docs</A></LI> -</UL> -</ul> -<br> -<b>Official Specs</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://java.sun.com/docs/">JavaSoft</a></li> -</ul> -<br> -<b>Free JVM's</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://www.hungry.com/products/japhar/">Japhar</a></li> -<li><a href="http://www.transvirtual.com/">Kaffe</a> </li> -</UL> -</td> diff --git a/doc/html/includes/header.html b/doc/html/includes/header.html deleted file mode 100644 index 82ab2948f..000000000 --- a/doc/html/includes/header.html +++ /dev/null @@ -1,16 +0,0 @@ -<center> -<table border="0"> - <tr valign="middle" align="center"> - <td><a href="http://www.gnu.org/"> - <img src="http://www.classpath.org/images/gnu-head-sm.jpg" - border="0" - width="129" height="122" - alt="GNU Head Logo" - align="left"></a> - </td> - <td> - <h1>GNU Classpath<br>Essential Libraries For Java</h1> - </td> - </tr> -</table> -</center> diff --git a/doc/html/includes/japhar-menu.html b/doc/html/includes/japhar-menu.html deleted file mode 100644 index 122c2d316..000000000 --- a/doc/html/includes/japhar-menu.html +++ /dev/null @@ -1,29 +0,0 @@ -<td align="left" bgcolor="#FFFFC8" width="175"> -<b>Classpath Pages</b> -<hr align="left" width="75%"> -<UL> -<LI><A HREF="http://www.classpath.org/index.shtml">Home Page</A></LI> -<LI><A HREF="http://www.classpath.org/news/index.shtml">News</A></LI> -<LI><A HREF="http://www.classpath.org/packages/index.shtml">Package Listing</A></LI> -<LI><A HREF="http://www.classpath.org/archive/index.shtml">Archives</A></LI> -<LI><A HREF="http://www.classpath.org/docs/index.shtml">Documentation</A></LI> -<UL> -<LI><A HREF="http://www.classpath.org/docs/hacking.shtml">Hacker's Guide</A></LI> -<LI>Japhar Integration</LI> -<LI><A HREF="http://www.classpath.org/docs/vmintegration.shtml">VM Integration Docs</A></LI> -</UL> -</ul> -<br> -<b>Official Specs</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://java.sun.com/docs/">JavaSoft</a></li> -</ul> -<br> -<b>Free JVM's</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://www.hungry.com/products/japhar/">Japhar</a></li> -<li><a href="http://www.transvirtual.com/">Kaffe</a> </li> -</UL> -</td> diff --git a/doc/html/includes/java-menu.html b/doc/html/includes/java-menu.html deleted file mode 100644 index dccb27add..000000000 --- a/doc/html/includes/java-menu.html +++ /dev/null @@ -1,28 +0,0 @@ -<td align="left" bgcolor="#FFFFC8" width="175"> -<b>Classpath Pages</b> -<hr align="left" width="75%"> -<UL> -<LI><A HREF="http://www.classpath.org/index.shtml">Home Page</A></LI> -<LI><A HREF="http://www.classpath.org/news/index.shtml">News</A></LI> -<LI><A HREF="http://www.classpath.org/packages/index.shtml">Package Listing</A></LI> -<UL> -<LI>java.*</LI> -<LI><A HREF="http://www.classpath.org/packages/javax.shtml">javax.*</A></LI> -</UL> -<LI><A HREF="http://www.classpath.org/archive/index.shtml">Archives</A></LI> -<LI><A HREF="http://www.classpath.org/docs/index.shtml">Documentation</A></LI> -</ul> -<br> -<b>Official Specs</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://java.sun.com/docs/">JavaSoft</a></li> -</ul> -<br> -<b>Free JVM's</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://www.hungry.com/products/japhar/">Japhar</a></li> -<li><a href="http://www.transvirtual.com/">Kaffe</a> </li> -</UL> -</td> diff --git a/doc/html/includes/javax-menu.html b/doc/html/includes/javax-menu.html deleted file mode 100644 index 789985d02..000000000 --- a/doc/html/includes/javax-menu.html +++ /dev/null @@ -1,28 +0,0 @@ -<td align="left" bgcolor="#FFFFC8" width="175"> -<b>Classpath Pages</b> -<hr align="left" width="75%"> -<UL> -<LI><A HREF="http://www.classpath.org/index.shtml">Home Page</A></LI> -<LI><A HREF="http://www.classpath.org/news/index.shtml">News</A></LI> -<LI><A HREF="http://www.classpath.org/packages/index.shtml">Package Listing</A></LI> -<UL> -<LI><A HREF="http://www.classpath.org/packages/java.shtml">java.*</A></LI> -<LI>javax.*</LI> -</UL> -<LI><A HREF="http://www.classpath.org/archive/index.shtml">Archives</A></LI> -<LI><A HREF="http://www.classpath.org/docs/index.shtml">Documentation</A></LI> -</ul> -<br> -<b>Official Specs</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://java.sun.com/docs/">JavaSoft</a></li> -</ul> -<br> -<b>Free JVM's</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://www.hungry.com/products/japhar/">Japhar</a></li> -<li><a href="http://www.transvirtual.com/">Kaffe</a> </li> -</UL> -</td> diff --git a/doc/html/includes/news-menu.html b/doc/html/includes/news-menu.html deleted file mode 100644 index 396f7156e..000000000 --- a/doc/html/includes/news-menu.html +++ /dev/null @@ -1,28 +0,0 @@ -<td align="left" bgcolor="#FFFFC8" width="175"> -<b>Classpath Pages</b> -<hr align="left" width="75%"> -<UL> -<LI><A HREF="http://www.classpath.org/index.shtml">Home Page</A></LI> -<LI>News</LI> -<UL> -<LI><A HREF="http://www.classpath.org/news/announce.shtml">Announcements</A></LI> -<LI><A HREF="http://www.classpath.org/news/status.shtml">Status</A></LI> -</UL> -<LI><A HREF="http://www.classpath.org/packages/index.shtml">Package Listing</A></LI> -<LI><A HREF="http://www.classpath.org/archive/index.shtml">Archives</A></LI> -<LI><A HREF="http://www.classpath.org/docs/index.shtml">Documentation</A></LI> -</UL> -<br> -<b>Official Specs</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://java.sun.com/docs/">JavaSoft</a></li> -</ul> -<br> -<b>Free JVM's</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://www.hungry.com/products/japhar/">Japhar</a></li> -<li><a href="http://www.transvirtual.com/">Kaffe</a> </li> -</ul> -</td> diff --git a/doc/html/includes/packages-menu.html b/doc/html/includes/packages-menu.html deleted file mode 100644 index 1bfec6503..000000000 --- a/doc/html/includes/packages-menu.html +++ /dev/null @@ -1,28 +0,0 @@ -<td align="left" bgcolor="#FFFFC8" width="175"> -<b>Classpath Pages</b> -<hr align="left" width="75%"> -<UL> -<LI><A HREF="http://www.classpath.org/index.shtml">Home Page</A></LI> -<LI><A HREF="http://www.classpath.org/news/index.shtml">News</A></LI> -<LI>Package Listing</LI> -<UL> -<LI><A HREF="http://www.classpath.org/packages/java.shtml">java.*</A></LI> -<LI><A HREF="http://www.classpath.org/packages/javax.shtml">javax.*</A></LI> -</UL> -<LI><A HREF="http://www.classpath.org/archive/index.shtml">Archives</A></LI> -<LI><A HREF="http://www.classpath.org/docs/index.shtml">Documentation</A></LI> -</UL> -<br> -<b>Official Specs</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://java.sun.com/docs/">JavaSoft</a></li> -</ul> -<br> -<b>Free JVM's</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://www.hungry.com/products/japhar/">Japhar</a></li> -<li><a href="http://www.transvirtual.com/">Kaffe</a> </li> -</ul> -</td> diff --git a/doc/html/includes/root-menu.html b/doc/html/includes/root-menu.html deleted file mode 100644 index 0683aaf94..000000000 --- a/doc/html/includes/root-menu.html +++ /dev/null @@ -1,24 +0,0 @@ -<td align="left" bgcolor="#FFFFC8" width="175"> -<b>Classpath Pages</b> -<hr align="left" width="75%"> -<UL> -<LI>Home Page</LI> -<LI><A HREF="http://www.classpath.org/news/index.shtml">News</A></LI> -<LI><A HREF="http://www.classpath.org/packages/index.shtml">Package Listing</A></LI> -<LI><A HREF="http://www.classpath.org/archive/index.shtml">Archives</A></LI> -<LI><A HREF="http://www.classpath.org/docs/index.shtml">Documentation</A></LI> -</UL> -<br> -<b>Official Specs</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://java.sun.com/docs/">JavaSoft</a></li> -</ul> -<br> -<b>Free JVM's</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://www.hungry.com/products/japhar/">Japhar</a></li> -<li><a href="http://www.transvirtual.com/">Kaffe</a> </li> -</ul> -</td> diff --git a/doc/html/includes/status-menu.html b/doc/html/includes/status-menu.html deleted file mode 100644 index 28c0d41a8..000000000 --- a/doc/html/includes/status-menu.html +++ /dev/null @@ -1,28 +0,0 @@ -<td align="left" bgcolor="#FFFFC8" width="175"> -<b>Classpath Pages</b> -<hr align="left" width="75%"> -<UL> -<LI><A HREF="http://www.classpath.org/index.shtml">Home Page</A></LI> -<LI><A HREF="http://www.classpath.org/news/index.shtml">News</A></LI> -<UL> -<LI><A HREF="http://www.classpath.org/news/announce.shtml">Announcements</A></LI> -<LI>Status</LI> -</UL> -<LI><A HREF="http://www.classpath.org/packages/index.shtml">Package Listing</A></LI> -<LI><A HREF="http://www.classpath.org/archive/index.shtml">Archives</A></LI> -<LI><A HREF="http://www.classpath.org/docs/index.shtml">Documentation</A></LI> -</ul> -<br> -<b>Official Specs</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://java.sun.com/docs/">JavaSoft</a></li> -</ul> -<br> -<b>Free JVM's</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://www.hungry.com/products/japhar/">Japhar</a></li> -<li><a href="http://www.transvirtual.com/">Kaffe</a> </li> -</UL> -</td> diff --git a/doc/html/includes/vmintegration-menu.html b/doc/html/includes/vmintegration-menu.html deleted file mode 100644 index 979e0c1a1..000000000 --- a/doc/html/includes/vmintegration-menu.html +++ /dev/null @@ -1,29 +0,0 @@ -<td align="left" bgcolor="#FFFFC8" width="175"> -<b>Classpath Pages</b> -<hr align="left" width="75%"> -<UL> -<LI><A HREF="http://www.classpath.org/index.shtml">Home Page</A></LI> -<LI><A HREF="http://www.classpath.org/news/index.shtml">News</A></LI> -<LI><A HREF="http://www.classpath.org/packages/index.shtml">Package Listing</A></LI> -<LI><A HREF="http://www.classpath.org/archive/index.shtml">Archives</A></LI> -<LI><A HREF="http://www.classpath.org/docs/index.shtml">Documentation</A></LI> -<UL> -<LI><A HREF="http://www.classpath.org/docs/hacking.shtml">Hacker's Guide</A></LI> -<LI><A HREF="http://www.classpath.org/docs/japhar.shtml">Japhar Integration</A></LI> -<LI>VM Integration Docs</LI> -</UL> -</ul> -<br> -<b>Official Specs</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://java.sun.com/docs/">JavaSoft</a></li> -</ul> -<br> -<b>Free JVM's</b> -<hr align="left" width="75%"> -<ul> -<li><a href="http://www.hungry.com/products/japhar/">Japhar</a></li> -<li><a href="http://www.transvirtual.com/">Kaffe</a> </li> -</UL> -</td> diff --git a/doc/html/index.shtml b/doc/html/index.shtml deleted file mode 100644 index a3d8539ca..000000000 --- a/doc/html/index.shtml +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" - "http://www.w3.org/TR/REC-html40/loose.dtd"> -<html> -<head> -<title> -<!--#include virtual="root-title.html" --> -</title> -</head> -<body bgcolor="#FFFFFF"> -<!--#include virtual="includes/header.html" --> -<table border="0" cellpadding="2" cellspacing="4"> - <tr valign="top"> -<!--#include virtual="includes/root-menu.html" --> - <td> -<!--#include virtual="root.html" --> - </td> - </tr> -</table> -<!--#include virtual="includes/footer.html" --> -<hr> -<p> -File last modified on <!--#echo var="LAST_MODIFIED" --> -</p> -</body> -</html> diff --git a/doc/html/news/announce-title.html b/doc/html/news/announce-title.html deleted file mode 100644 index b033daa94..000000000 --- a/doc/html/news/announce-title.html +++ /dev/null @@ -1 +0,0 @@ -GNU Classpath - Announcements diff --git a/doc/html/news/announce.html b/doc/html/news/announce.html deleted file mode 100644 index d5f62719a..000000000 --- a/doc/html/news/announce.html +++ /dev/null @@ -1,69 +0,0 @@ -I am pleased to announce GNU Classpath, a project to create a free -software replacement for Sun's proprietary Java core class libraries. -Classpath is a complete drop in replacement for Sun's libraries and -will include all native methods and internal classes necessary for -a completely functional Java runtime. Additionally, we hope to have -fewer bugs than Sun's code, better performance, and better -documentation. :-) -<p> -Here are the answers to a few questions you might have: -<p> -<h3>1. Is code available?</h3> -<p> -Yes! We have made substantial progress on the non-awt classes. java.io, -java.net, java.lang.reflect, java.math, java.beans and much of java.lang, -java.applet, and java.util are complete. There has been no official -development release yet, but code is available through anonymous CVS. -See the project homepage at <a -href="http://www.classpath.org/">http://www.classpath.org/</a> for details. -This is most certainly NOT a vaporware project. -<p> -<h3>2. What is the license?</h3> -<p> -Classpath is officially a part of the GNU Project. Copyright will be -held by the FSF and the code will be licensed under the GNU Library -General Public License. This license is compatible with the Netscape -Public License and will permit the embedding of Classpath into -Mozilla (eventually, we hope). -<p> -<h3>3. What platforms are supported?</h3> -<p> -The Classpath project is initially planning to provide class library -for the free <a href="http://www.japhar.org/">Japhar -Java Virtual Machine</a> -on free operating systems. However, we -plan to eventually support all free JVM's running on all Unix-style -operating systems. We will target other platforms such as Win32 at -a later time if there are volunteers to develop and support a port. -We are targeting Java 1.1 for the initial release, but we are already -adding 1.2 support in lots of places. -<p> -<h3>4. Can I help?</h3> -<p> -Yes! We are following an open development model and are actively -seeking contributions from the Net. Assuming certain base legal -requirements are met (see <a -href="http://www.classpath.org/">http://www.classpath.org/</a> for details) -we welcome submissions from almost anyone. -<p> -While the Java standard class library is quite large, it is -fortunately broken into smaller individual packages that are -manageable to implement. If you have always wanted to contribute to -building a free version of Java but didn't feel up to writing a JVM -or compiler, here is your chance to help out. -<p> -<h3>5. What is your relationship to Kaffe?</h3> -<p> -Currently we don't have one. Kaffe also has a start at a class library -effort. We believe that with the exception of its awt support, that -library is at a similar level of development to ours. Obviously -duplicating effort is wasteful, so we are currently in contact with -the Kaffe team to see if we can work together on this. -<p> -<h3>6. Where do I find more information about Classpath?</h3> -<p> -See our project homepage at <a -href="http://www.classpath.org/">http://www.classpath.org/</a>. You can -also email Aaron M. Renn (<a -href="mailto:arenn@urbanophile.com">arenn@urbanophile.com</a>) or Paul Fisher -(<a href="mailto:rao@gnu.org">rao@gnu.org</a>) with questions. diff --git a/doc/html/news/announce.shtml b/doc/html/news/announce.shtml deleted file mode 100644 index fd92b1650..000000000 --- a/doc/html/news/announce.shtml +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" - "http://www.w3.org/TR/REC-html40/loose.dtd"> -<html> -<head> -<title> -<!--#include virtual="announce-title.html" --> -</title> -</head> -<body bgcolor="#FFFFFF"> -<!--#include virtual="includes/header.html" --> -<table border="0" cellpadding="2" cellspacing="4"> - <tr valign="top"> -<!--#include virtual="includes/announce-menu.html" --> - <td> -<!--#include virtual="announce.html" --> - </td> - </tr> -</table> -<!--#include virtual="includes/footer.html" --> -<hr> -<p> -File last modified on <!--#echo var="LAST_MODIFIED" --> -</p> -</body> -</html> diff --git a/doc/html/news/index.shtml b/doc/html/news/index.shtml deleted file mode 100644 index e04ef9159..000000000 --- a/doc/html/news/index.shtml +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" - "http://www.w3.org/TR/REC-html40/loose.dtd"> -<html> -<head> -<title> -<!--#include virtual="news-title.html" --> -</title> -</head> -<body bgcolor="#FFFFFF"> -<!--#include virtual="includes/header.html" --> -<table border="0" cellpadding="2" cellspacing="4"> - <tr valign="top"> -<!--#include virtual="includes/news-menu.html" --> - <td> -<!--#include virtual="news.html" --> - </td> - </tr> -</table> -<!--#include virtual="includes/footer.html" --> -<hr> -<p> -File last modified on <!--#echo var="LAST_MODIFIED" --> -</p> -</body> -</html> diff --git a/doc/html/news/news-title.html b/doc/html/news/news-title.html deleted file mode 100644 index b104f1134..000000000 --- a/doc/html/news/news-title.html +++ /dev/null @@ -1 +0,0 @@ -GNU Classpath - NEWS diff --git a/doc/html/news/news.html b/doc/html/news/news.html deleted file mode 100644 index c9a659ab0..000000000 --- a/doc/html/news/news.html +++ /dev/null @@ -1,30 +0,0 @@ -<h2>News!</h2> -<p> -(1998-12-01) A document explaining how to integrate Classpath with a VM is up -in Documentation. -</p> -<p> -(1998-11-01) Japhar+Classpath integration is finally in its -alpha stage! :) Go <a href="../docs/japhar.shtml">here</a> for information on -how to get the patch and use it. -</p> -<hr> -<p> -Anonymous CVS access is now available. -</p> -<table border=0> -<tr><td>CVSROOT</td> -<td> -<code>:pserver:anoncvs@anoncvs.gnu.org:/gd/gnu/anoncvsroot</code> -</td></tr> -<tr><td>Module</td> -<td><code>classpath</code></td></tr> -<tr><td>Password</td> -<td><code>(none)</code></td></tr> -</table> -<p> -Please note that the CVS tree contains developmental code which -is not suitable for the general public. We'll make an -annoucement once a beta version suitable for the average Java -hacker is released. -</p> diff --git a/doc/html/news/status.html b/doc/html/news/status.html deleted file mode 100644 index 81d61bd6e..000000000 --- a/doc/html/news/status.html +++ /dev/null @@ -1,109 +0,0 @@ -<h3>Classpath Project Status as of January 1, 1999</h3> -<p> -December was a big month for us. Aaron Renn finished up the integration -of Classpath with the Japhar JVM. Patches have been submitted to the -Japhar folks and will hopefully be applied to their CVS tree soon. -With this patch applied, you can actually use Classpath as your -Java library for Japhar. -<p> -Substantial progress was also made on the Classpath build process. Brian -Jones cleaned up the autoconf/automake items and used the JavaDeps tool -to generate correct dependency information for the build. We are now -capable of creating a standard "tar.gz" distribution file that compiles -out of the box like any other GNU package (ie, "configure; make; make -install") -<p> -Jochen Hoenicke contributed a large chunk of java.util classes that -round out that package for us. -<p> -What all this means is that a first development/alpha release of Classpath -that works with Japhar will be available extremely soon. Probably as -soon as the necessary patches are accepted into Japhar. This release -will include the following: -<p><ul> -<li>java.beans -<li>java.io -<li>java.lang -<li>java.lang.reflect -<li>java.math -<li>java.net -<li>java.security (partial) -<li>java.util -<li>java.util.zip (maybe) -</ul> -<p> -In addition to this first release, Paul Fisher and Jim Blair are -making excellent progress on their set of GTK+ peers. Next up on their -plate is the actual java.awt.* implementation. -<p> -In other big news, the Classpath project is going to be cooperating -with Cygnus Solutions and Transvirtual Technologies in order to produce -a unified free test suite for Java. This has developed into <a -href="http://sourceware.cygnus.com/mauve/">project Mauve</a>. There isn't -much at the website just yet, but there is a mailing list and some code! -<p> -Here is the status on a package by package basis. Note that there are -still several package that aren't being worked on and so we still need -volunteers. -<p> -<h3>java.applet</h3> -Greg Smith has a start at a java.applet package and is working at writing -an appletviewer program for Classpath. - -<p> -<h3>java.awt</h3> -<p> -Jim Blair and Paul Fisher continue to work on the GTK peers. The current -work is progessing nicely. -<p> -<h3>java.beans</h3> -<p> -John Keiser has completed this package. -<p> -<h3>java.io</h3> -<p> -Full Java 1.2 implementation complete. -<p> -<h3>java.lang</h3> -<p> -Mostly Java 1.2 implementation complete. A few still do holes remain. -<p> -<h3>java.lang.reflect</h3> -<p> -Full Java 1.2 implementation complete -<p> -<h3>java.math</h3> -<p> -Paul Fisher completed a version of this class using the GNU MP library. -<p> -<h3>java.net</h3> -<p> -Mostly Java 1.2 implementation complete. Missing JarURLConnection and -URLClassLoader. Included are protocol handlers for the "http" and "file" -protocol, and a "text/plain" content handler. More need to be written, -however. Note also that the HTTP protocol handler only supports the "GET" -request method. -<p> -<h3>java.security.*</h3> -Aaron Renn is started work on a Java 1.2 version of this. The -interface only packages (java.security.acl and java.security.interfaces) -are complete. Work has been suspended here in order to concentrate on -classes relevant to the first development release. -<p> -<h3>java.sql</h3> -James Cooper is working on this. -<p> -<h3>java.text</h3> -<p> -Aaron has written all of the collation classes in this package and is -planning on finishing off the formatting classes that Wes Biggs started. -These are totally untested, however. -<p> -<h3>java.util</h3> -<p> -Lots of people have contributed to this package, which is now almost a full -Java 1.2 implementation. -<p> -<h3>java.util.zip</h3> -<p> -Loren Peace is almost done with this class. diff --git a/doc/html/news/status.shtml b/doc/html/news/status.shtml deleted file mode 100644 index 46be98a23..000000000 --- a/doc/html/news/status.shtml +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" - "http://www.w3.org/TR/REC-html40/loose.dtd"> -<html> -<head> -<title> -<!--#include virtual="status-title.html" --> -</title> -</head> -<body bgcolor="#FFFFFF"> -<!--#include virtual="includes/header.html" --> -<table border="0" cellpadding="2" cellspacing="4"> - <tr valign="top"> -<!--#include virtual="includes/status-menu.html" --> - <td> -<!--#include virtual="status.html" --> - </td> - </tr> -</table> -<!--#include virtual="includes/footer.html" --> -<hr> -<p> -File last modified on <!--#echo var="LAST_MODIFIED" --> -</p> -</body> -</html> diff --git a/doc/html/packages/index.shtml b/doc/html/packages/index.shtml deleted file mode 100644 index a98109779..000000000 --- a/doc/html/packages/index.shtml +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" - "http://www.w3.org/TR/REC-html40/loose.dtd"> -<html> -<head> -<title> -<!--#include virtual="packages-title.html" --> -</title> -</head> -<body bgcolor="#FFFFFF"> -<!--#include virtual="includes/header.html" --> -<table border="0" cellpadding="2" cellspacing="4"> - <tr valign="top"> -<!--#include virtual="includes/packages-menu.html" --> - <td> -<!--#include virtual="packages.html" --> - </td> - </tr> -</table> -<!--#include virtual="includes/footer.html" --> -<hr> -<p> -File last modified on <!--#echo var="LAST_MODIFIED" --> -</p> -</body> -</html> diff --git a/doc/html/packages/java-title.html b/doc/html/packages/java-title.html deleted file mode 100644 index f262473fe..000000000 --- a/doc/html/packages/java-title.html +++ /dev/null @@ -1 +0,0 @@ -GNU Classpath - Packages java.* diff --git a/doc/html/packages/java.html b/doc/html/packages/java.html deleted file mode 100644 index 416a1d5d0..000000000 --- a/doc/html/packages/java.html +++ /dev/null @@ -1,192 +0,0 @@ -<p> -Note that the initial target version is Java 1.1 -</p> -<table border="2" width="100%" cellpadding="0" cellspacing="0"> - <tr bgcolor="#DDDDDD" align="center"> - <td><b>Package</b></td> - <td><b>Component</b></td> - <td><b>Who</b></td> - <td><b>Status</b></td> - </tr> - <tr> - <td>java.applet</td> - <td> </td> - <td><a href="mailto:stranger@usa.net">Greg Smith</a></td> - <td>Getting Started</td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>java.awt</td> - <td>GTK Peers</td> - <td><a href="mailto:jeblair@eos.ncsu.edu">Jim Blair</a></td> - <td>In Progress</td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>java.awt</td> - <td>GTK Peers</td> - <td><a href="mailto:rao@gnu.org">Paul Fisher</a></td> - <td>In Progress</td> - </tr> - <tr> - <td>java.awt</td> - <td>All the Rest</td> - <td>No One</td> - <td> </td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>java.awt.datatransfer</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr> - <td>java.awt.event</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>java.awt.image</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr> - <td><a href="http://www.classpath.org/cvs/java/beans/">java.beans</a></td> - <td> </td> - <td><a href="mailto:jkeiser@iname.com">John Keiser</a></td> - <td>95% Complete</td> - </tr> - <tr bgcolor="#DDDDDD"> - <td><a href="http://www.classpath.org/cvs/java/io/">java.io</a></td> - <td>Serialization</td> - <td><a href="mailto:gcb@cs.duke.edu">Geoff Berry</a></td> - <td>Complete for 1.1, nearly complete for 1.2</td> - </tr> - <tr> - <td><a href="http://www.classpath.org/cvs/java/io/">java.io</a></td> - <td>All the Rest</td> - <td><a href="mailto:arenn@urbanophile.com">Aaron M. Renn</a></td> - <td>Basically Done</td> - </tr> - <tr bgcolor="#DDDDDD"> - <td><a href="http://www.classpath.org/cvs/java/lang/">java.lang</a></td> - <td>VM-dependent stuff</td> - <td><a href="mailto:jkeiser@iname.com">John Keiser</a></td> - <td>In Beta with Japhar</td> - </tr> - <tr bgcolor="#DDDDDD"> - <td><a href="http://www.classpath.org/cvs/java/lang/">java.lang</a></td> - <td>All the Rest</td> - <td><a href="mailto:rao@gnu.org">Paul Fisher</a></td> - <td>In Progress</td> - </tr> - <tr bgcolor="#DDDDDD"> - <td><a href="http://www.classpath.org/cvs/java/lang/">java.lang</a></td> - <td>Various</td> - <td><a href="mailto:cbj@gnu.org">Brian Jones</a></td> - <td>In Progress</td> - </tr> - <tr> - <td><a href="http://www.classpath.org/cvs/java/lang/reflect/">java.lang.reflect</a></td> - <td> </td> - <td><a href="mailto:jkeiser@iname.com">John Keiser</a></td> - <td>50% (with Japhar)</td> - </tr> - <tr bgcolor="#DDDDDD"> - <td><a href="http://www.classpath.org/cvs/java/math/">java.math</a></td> - <td> </td> - <td><a href="mailto:rao@gnu.org">Paul Fisher</a></td> - <td>Almost Complete</td> - </tr> - <tr> - <td><a href="http://www.classpath.org/cvs/java/net/">java.net</a></td> - <td> </td> - <td><a href="mailto:arenn@urbanophile.com">Aaron M. Renn</a></td> - <td>First Pass Complete</td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>java.rmi</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr> - <td>java.rmi.dgc</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>java.rmi.registry</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr> - <td>java.rmi.server</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr bgcolor="#DDDDDD"> - <td><a href="http://www.classpath.org/cvs/java/security/">java.security</a></td> - <td> </td> - <td><a href="mailto:arenn@urbanophile.com">Aaron M. Renn<a/></td> - <td>In Progress</td> - </tr> - <tr> - <td><a href="http://www.classpath.org/cvs/java/security/acl/">java.security.acl</a></td> - <td> </td> - <td><a href="mailto:arenn@urbanophile.com">Aaron M. Renn<a/></td> - <td>Complete</td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>java.security.cert</td> - <td> </td> - <td><a href="mailto:arenn@urbanophile.com">Aaron M. Renn<a/></td> - <td> </td> - </tr> - <tr> - <td><a href="http://www.classpath.org/cvs/java/security/interfaces/">java.security.interfaces</a></td> - <td> </td> - <td><a href="mailto:arenn@urbanophile.com">Aaron M. Renn<a/></td> - <td>Complete</td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>java.security.spec</td> - <td> </td> - <td><a href="mailto:arenn@urbanophile.com">Aaron M. Renn<a/></td> - <td> </td> - </tr> - <tr> - <td><a href="http://www.classpath.org/cvs/java/sql/">java.sql</a></td> - <td> </td> - <td><a href="mailto:arenn@urbanophile.com">Aaron M. Renn</a></td> - <td>Complete</td> - </tr> - <tr bgcolor="#DDDDDD"> - <td><a href="http://www.classpath.org/cvs/java/text/">java.text</a></td> - <td> </td> - <td><a href="mailto:arenn@urbanophile.com">Aaron M. Renn</a><br> - <a href="mailto:wbiggs@la.usweb.com">Wes Biggs</a></td> - <td>Getting Started</td> - </tr> - <tr> - <td><a href="http://www.classpath.org/cvs/java/util/">java.util</a></td> - <td>Collections API</td> - <td><a href="mailto:stuart.ballard@mcmail.com">Stuart Ballard</a></td> - <td> </td> - </tr> - <tr bgcolor="#DDDDDD"> - <td><a href="http://www.classpath.org/cvs/java/util/">java.util</a></td> - <td>All the Rest</td> - <td>No One</td> - <td> </td> - </tr> - <tr> - <td>java.util.zip</td> - <td> </td> - <td><a href="mailto:peace@donut.ml.org">Loren Peace</a></td> - <td>In Progress</td> - </tr> -</table> diff --git a/doc/html/packages/java.shtml b/doc/html/packages/java.shtml deleted file mode 100644 index 8a0b701ad..000000000 --- a/doc/html/packages/java.shtml +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" - "http://www.w3.org/TR/REC-html40/loose.dtd"> -<html> -<head> -<title> -<!--#include virtual="java-title.html" --> -</title> -</head> -<body bgcolor="#FFFFFF"> -<!--#include virtual="includes/header.html" --> -<table border="0" cellpadding="2" cellspacing="4"> - <tr valign="top"> -<!--#include virtual="includes/java-menu.html" --> - <td> -<!--#include virtual="java.html" --> - </td> - </tr> -</table> -<!--#include virtual="includes/footer.html" --> -<hr> -<p> -File last modified on <!--#echo var="LAST_MODIFIED" --> -</p> -</body> -</html> diff --git a/doc/html/packages/javax-title.html b/doc/html/packages/javax-title.html deleted file mode 100644 index 9e277ac8c..000000000 --- a/doc/html/packages/javax-title.html +++ /dev/null @@ -1 +0,0 @@ -GNU Classpath - Packages javax.* diff --git a/doc/html/packages/javax.html b/doc/html/packages/javax.html deleted file mode 100644 index 9bd066e0f..000000000 --- a/doc/html/packages/javax.html +++ /dev/null @@ -1,116 +0,0 @@ -<table border="2" width="100%" cellpadding="0" cellspacing="0"> - <tr bgcolor="#DDDDDD" align="center"> - <td><b>Package</b></td> - <td><b>Component</b></td> - <td><b>Who</b></td> - <td><b>Status</b></td> - </tr> - <tr> - <td>javax.comm</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>javax.ejb</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr> - <td>javax.infobus</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>javax.javahelp</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr> - <td>javax.jms</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>javax.mail</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr> - <td>javax.media</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>javax.media.j3d</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr> - <td>javax.media.jai</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>javax.media.jai.iterator</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr> - <td>javax.media.jai.operator</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>javax.media.jai.widget</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr> - <td>javax.media.protocol</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>javax.speech</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr> - <td>javax.speech.recognition</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>javax.speech.synthesis</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr> - <td>javax.telephony</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> - <tr bgcolor="#DDDDDD"> - <td>javax.vecmath</td> - <td> </td> - <td>No One</td> - <td> </td> - </tr> -</table> diff --git a/doc/html/packages/javax.shtml b/doc/html/packages/javax.shtml deleted file mode 100644 index 1e9776e74..000000000 --- a/doc/html/packages/javax.shtml +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" - "http://www.w3.org/TR/REC-html40/loose.dtd"> -<html> -<head> -<title> -<!--#include virtual="javax-title.html" --> -</title> -</head> -<body bgcolor="#FFFFFF"> -<!--#include virtual="includes/header.html" --> -<table border="0" cellpadding="2" cellspacing="4"> - <tr valign="top"> -<!--#include virtual="includes/javax-menu.html" --> - <td> -<!--#include virtual="javax.html" --> - </td> - </tr> -</table> -<!--#include virtual="includes/footer.html" --> -<hr> -<p> -File last modified on <!--#echo var="LAST_MODIFIED" --> -</p> -</body> -</html> diff --git a/doc/html/packages/packages-title.html b/doc/html/packages/packages-title.html deleted file mode 100644 index 4030f8755..000000000 --- a/doc/html/packages/packages-title.html +++ /dev/null @@ -1 +0,0 @@ -GNU Classpath - Packages diff --git a/doc/html/packages/packages.html b/doc/html/packages/packages.html deleted file mode 100644 index cdbce6839..000000000 --- a/doc/html/packages/packages.html +++ /dev/null @@ -1,30 +0,0 @@ -<p> -The GNU Classpath project was started in order to provide a clean-room -implementation of Sun's proprietary Java standard class libraries. -Those are the libraries commonly found in the <a -href="java.shtml"><code>java</code></a> package. -We would also like to provide implementations of the standard extensions -to the Java libraries which are part of the <a -href="javax.shtml"><code>javax</code></a> package. -</p> -<p> -By clicking on the appropriate link you can see who is working on what -package or parts thereof. There are also handy links in case you would -like to email one of the package maintainers. -</p> -<p> -If there is something listed which you would like to work on you can -contact the maintainer to find out what might be available, or if no -maintainer is listed contact the <a -href="mailto:classpath@gnu.org">mailing list</a> to let us know you are -interested in joining our effort! There are certain legal qualifications -which have to be met which are outlined in the <a -href="../docs/hacking.shtml">Hacker's Guide</a>. If you have questions -about the legal qualifications not answered in the Hacker's Guide send -email to the mailing list. -</p> -<p> -You may now browse the <a href="http://www.classpath.org/cvs/">CVS tree -online</a>. This particular checkout of the CVS tree is updated once a -day at midnight EST. -</p> diff --git a/doc/html/root-title.html b/doc/html/root-title.html deleted file mode 100644 index 9a3d502f2..000000000 --- a/doc/html/root-title.html +++ /dev/null @@ -1 +0,0 @@ -GNU Classpath - Essential Libraries for Java diff --git a/doc/html/root.html b/doc/html/root.html deleted file mode 100644 index efffbe6f7..000000000 --- a/doc/html/root.html +++ /dev/null @@ -1,21 +0,0 @@ -<p> -Welcome to the homepage of the GNU Classpath project, a -<a href="http://www.gnu.org/philosophy/free-sw.html">free software</a> -replacement for Sun's proprietary Java standard class libraries. Our -goal is to provide a 100% compatible version of the class libraries -so that free operating systems can run Java programs. We also want -to provide support for all Unix-like operating systems. -</p> -<p> -Classpath is GNU software and is licensed under the terms of -the <a href="http://www.gnu.org/copyleft/lgpl.html">GNU Library -General Public License</a>. Similarly to glibc, it can be used -to run proprietary as well as free applications or applets. -</p> -<p> -If you are interested in being a developer, -please sign up for the <a href="archive/">mailing -list</a> and read the <a href="docs/hacking.shtml">Hacker's -Guide</a> first. Then look at what needs to be done and let us -know what you'd like to work on. -</p> diff --git a/doc/html/template.shtml b/doc/html/template.shtml deleted file mode 100644 index 00687c413..000000000 --- a/doc/html/template.shtml +++ /dev/null @@ -1,25 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" - "http://www.w3.org/TR/REC-html40/loose.dtd"> -<html> -<head> -<title> -<!--#include virtual="#FILE#-title.html" --> -</title> -</head> -<body bgcolor="#FFFFFF"> -<!--#include virtual="includes/header.html" --> -<table border="0" cellpadding="2" cellspacing="4"> - <tr valign="top"> -<!--#include virtual="includes/#FILE#-menu.html" --> - <td> -<!--#include virtual="#FILE#.html" --> - </td> - </tr> -</table> -<!--#include virtual="includes/footer.html" --> -<hr> -<p> -File last modified on <!--#echo var="LAST_MODIFIED" --> -</p> -</body> -</html> |