changeset 1739:07fdd12537a6

Update the README. 2010-07-21 Andrew John Hughes <ahughes@redhat.com> * README: Updated.
author Andrew John Hughes <ahughes@redhat.com>
date Wed, 21 Jul 2010 18:17:59 +0100
parents 3ac8e6470d4f
children c64dd66292db
files ChangeLog README
diffstat 2 files changed, 57 insertions(+), 68 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Jul 21 17:39:05 2010 +0100
+++ b/ChangeLog	Wed Jul 21 18:17:59 2010 +0100
@@ -1,3 +1,7 @@
+2010-07-21  Andrew John Hughes  <ahughes@redhat.com>
+
+	* README: Updated.
+
 2010-07-21  Andrew John Hughes  <ahughes@redhat.com>
 
 	Backport documentation patches to avoid documentation
--- a/README	Wed Jul 21 17:39:05 2010 +0100
+++ b/README	Wed Jul 21 18:17:59 2010 +0100
@@ -1,27 +1,17 @@
-IcedTea
-=======
+IcedTea6
+========
 
 The IcedTea project provides a harness to build the source code from
 openjdk.java.net using Free Software tools and dependencies.
 
 IcedTea addresses two problems: it eliminates the build requirement on
-proprietary build tools and it provides replacements for the
-"encumbered binary plugs".
+proprietary build tools and it provides implementations of Java Web
+Start and the browser plugin which are missing from OpenJDK.  It also
+provides support for additional architectures via Zero/Shark or the
+CACAO VM.
 
-These plugs are described at http://openjdk.java.net: "Not all of the
-source code that makes up the JDK is available under an open-source
-license. In order to build an OpenJDK binary from source code, you
-must first download and install one or more of the following files
-from which the build process will copy over 'binary plugs' for these
-encumbered components."
-
-This project uses code from GNU Classpath, code generated during a
-build of the openjdk.java.net source code, and stub code written by
-Red Hat, to provide Free Software replacements for these encumbered
-binary plugs.
-
-IcedTea also provides build scripts and patches that allow the source
-code from openjdk.java.net to be built with IcedTea itself.
+IcedTea also provides build scripts and patches that fix a number of issues
+which are as yet unresolved upstream.
 
 See INSTALL for build instructions.
 
@@ -44,30 +34,13 @@
 Java compatibility
 ------------------
 
-IcedTea is derived from OpenJDK, Sun's open-source implementation of
-the Java SE platform.  At this time the build from which IcedTea was
-constructed corresponds to an early build of JDK 7.  When JDK 7
-is complete it will implement the Java SE 7 Platform Specification.
-Any APIs in the JDK 7 implementation, whether new or old, are therefore 
-subject to minor adjustments, major revisions, or even outright removal
-between now and the time that the Java SE 7 Platform Specification is
-finalized.  Please take these facts into account before depending upon
-IcedTea.
-
-Recently, OpenJDK6 was released. This build (IcedTea6) is based on 
-that release. OpenJDK6 is approximately 99% complete in terms of encumberences.
-IcedTea provides autotools support, a portable interpreter for ppc and 
-ppc64 support, plugin support and Web Start support.
-
-How the Stub Replacements were Produced
----------------------------------------
-
-To produce the plug replacements, we began by satisfying as many
-undefined references as possible using code from a completed build of
-the source code from openjdk.java.net.  Then we supplemented the
-resultant tree with more replacement code from GNU Classpath.
-Following that, we fixed each remaining build error by creating the
-simplest possible stub code.
+IcedTea6 is derived from OpenJDK6, Oracle's open-source implementation of
+the Java SE 6 platform and implements the Java SE 6 Platform
+Specification.  Binaries produced by IcedTea6 have been known to pass
+the TCK for Java 6.  IcedTea6 additionally provides autotools support,
+plugin and Web Start support, ARM support, and a LLVM-based JIT
+(Shark) for architectures beyond x86, x86_64 and SPARC, the
+architectures supported by HotSpot JITs in OpenJDK6.
 
 A Note About License Headers
 ----------------------------
@@ -75,29 +48,22 @@
 Some sources downloaded from openjdk.java.net do not display the GPL
 license header.  Instances are:
 
- - The files in openjdk/jdk/src/share/classes/javax/xml/stream/ seem to 
-   comprise the BEA-StAX source code
-
-   http://ftpna2.bea.com/pub/downloads/jsr173.jar
-
-   with some Sun-specific modifications.  We're assuming that Sun is
-   bundling BEA-StAX under the terms of the Apache License 2.0 and
-   that the modifications are owned by Sun.
-
  - We are assuming that these files are owned by Sun:
    openjdk/jdk/src/share/classes/**/resources/*.properties
 
 Web Browser Plugin support
 ===========================
 
-The default web browser plugin has LiveConnect support. It will only build
-against a very recent version of XULRunner, such as that available in Fedora
-Rawhide as of 2008-05-16.  The required development headers are provided by
-the xulrunner-devel package.
+IcedTea adds a browser plugin to OpenJDK.  IcedTea6 1.7 includes two
+versions.  The default, and currently supported, version is a rewrite
+called NPPlugin, developed to support recent Mozilla API changes.  It
+is based on the old gcjwebplugin and has LiveConnect support.
 
-A new plugin is being developed to support the new Mozilla API changes. It can 
-be enabled with the option --enable-npplugin, and it is based on gcjwebplugin.
-At the moment there is no liveconnect support for it.
+The old plugin used by IcedTea6 1.6 and earlier is also included, but
+will not work with xulrunner 1.9.2 and up.  You are welcome to use the
+old plugin by supplying the --disable-npplugin option to configure,
+but please note that such a configuration is no longer supported and
+any bugs filed against it will be closed.
 
 NetX
 ====
@@ -107,32 +73,51 @@
 in the IcedTea repository, particularly in the rt/net/sourceforge/jnlp
 directory.
 
-The NetX sources are built into rt.jar
+The NetX sources are built into rt.jar using the same method as
+CORBA, JAXWS, JAXP and langtools.
 
 IcedTea's NetX currently supports verification of signed jars, trusted
 certificate storing, system certificate store checking, and provides
 the services specified by the jnlp API.
 
+The Zero Assembler and Shark Ports
+==================================
+
+Gary Benson has developed a port of the interpreter included in the
+HotSpot virtual machine which avoids using any assembly language.  As
+a pure C++ interpreter, it should be possible to build this on most
+architectures and have a working (albeit slow) version of OpenJDK.
+Successful builds have been made on ppc, ppc64 and arm.  The zero
+assembler port is enabled by default on platforms other than x86,
+x86_64 and sparc.  To enable it on these platforms, use the
+--enable-zero option.
+
+Gary is now working on a JIT called Shark to provide better
+performance on platforms which need to use the zero port. A
+preliminary version of this is now included with IcedTea and can be
+built with the --enable-shark option.
+
 CACAO as VM
 ===========
 
-The --with-cacao configure option replaces the libjvm.so from Sun's
-HotSpot with the one from the CACAO VM.  This enables the usage of
-IcedTea on architectures which are not supported by the HotSpot VM,
-besides the HotSpot zero port.  In contrast to the HotSpot zero port,
-CACAO provides a Just-In-Time compiler for various architectures.
+The CACAO virtual machine (http://cacaovm.org) can be used as an
+alternative to the HotSpot virtual machine. One advantage of this is
+that it already provides a JIT for many platforms to which HotSpot has
+not yet been ported, including ppc, ppc64, arm and mips.  To use CACAO
+as the VM, use the --with-cacao option.  This will download version
+0.99.4 of CACAO during the build, which has been tested with this
+version of IcedTea6.
 
 The environment variable CACAO_CONFIGURE_ARGS can be used to pass
 additional arguments to the cacao configure.
 
-
 PulseAudio Mixer
 ================
 
 Passing --enable-pulse-java to configure will build the PulseAudio Mixer for 
 java. This allows java programs to use PulseAudio as the sound backend.
 
-Systemtap support
+SystemTap Support
 =================
 
 The --enable-systemtap configure option will try to find the systemtap
@@ -146,11 +131,11 @@
 the tapset to trace java programs. The probes have zero overhead when
 not used and can safely be compiled in even when not used at runtime.
 
-Support for additional VMs
+Support for Additional VMs
 ==========================
 
 Although IcedTea can be built multiple times to use a different virtual
-machine, addtional VM's can be built without building the other components
+machine, additional VMs can be built without building the other components
 multiple times.
 
 On architectures where hotspot is available, use