# HG changeset patch # User Andrew John Hughes # Date 1279732679 -3600 # Node ID 07fdd12537a6b010affc9a79f05e0b8194b9cd04 # Parent 3ac8e6470d4f2524af37339c15863b1933696e49 Update the README. 2010-07-21 Andrew John Hughes * README: Updated. diff -r 3ac8e6470d4f -r 07fdd12537a6 ChangeLog --- 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 + + * README: Updated. + 2010-07-21 Andrew John Hughes Backport documentation patches to avoid documentation diff -r 3ac8e6470d4f -r 07fdd12537a6 README --- 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