/hg/icedtea6: 6 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Mon Jul 26 01:39:01 PDT 2010


changeset 1d36a3fd16c0 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1d36a3fd16c0
author: Andrew John Hughes <ahughes at redhat.com>
date: Sun Jul 25 22:47:02 2010 +0100

	Backport S6668231: Presence of a critical subjectAltName causes
	JSSE's SunX509 to fail trusted checks.

	2010-07-25 Andrew John Hughes <ahughes at redhat.com>

	 * Makefile.am: Add patch.
		* patches/openjdk/6668231-ssl_cert.patch: Backport SSL
	certificate fix 'Presence of a critical subjectAltName
	causes JSSE's SunX509 to fail trusted checks'.
		* overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/
	www/protocol/https/HttpsURLConnection/crisubn.jks,
		* overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/
	www/protocol/https/HttpsURLConnection/trusted.jks: Keystores
	for the new test introduced by this patch.


changeset 606d9aa072d6 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=606d9aa072d6
author: Andrew John Hughes <ahughes at redhat.com>
date: Mon Jul 26 09:24:00 2010 +0100

	Make naming of OpenJDK backports clearer and use original changeset
	for 6963870.

	2010-07-25 Andrew John Hughes <ahughes at redhat.com>

	 Make purpose of OpenJDK patches clearer and use
	original changeset for 6963870.
		* patches/openjdk/6678385.patch,
		* patches/openjdk/6961732.patch,
		* patches/openjdk/6963870.patch: Renamed to...
		* Makefile.am: Use new patch names.
		* patches/openjdk/6678385-window_movement_crasher.patch,
		* patches/openjdk/6961732-negative_leading.patch,
		* patches/openjdk/6963870-swing_npe.patch: these.


changeset 261f47cbfac7 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=261f47cbfac7
author: Andrew John Hughes <ahughes at redhat.com>
date: Mon Jul 26 09:27:34 2010 +0100

	Fix use of fstatat in NIO2 on architectures other than x86 and
	x86_64.

	2010-07-20 Andrew John Hughes <ahughes at redhat.com>

	 * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/Un
	ixNativeDispatcher.c: Define _ATFILE_SOURCE to obtain
	fstatat64, regardless of architecture.


changeset 549cfe48fc56 in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=549cfe48fc56
author: Andrew John Hughes <ahughes at redhat.com>
date: Wed Jul 21 18:17:59 2010 +0100

	Update the README.

	2010-07-21 Andrew John Hughes <ahughes at redhat.com>

	 * README: Updated.


changeset d7226257dd2e in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=d7226257dd2e
author: Andrew John Hughes <ahughes at redhat.com>
date: Mon Jul 26 09:31:02 2010 +0100

	Update INSTALL documentation and configure help.

	2010-07-21 Andrew John Hughes <ahughes at redhat.com>

	 * INSTALL: Updated, with documentation of new
	options and removal of outdated information.
		* acinclude.m4: (WITH_OPENJDK_SRC_DIR): Add '=DIR' to the
	configure help. (AC_CHECK_FOR_OPENJDK): Add '[=DIR]' to the
	configure help. (AC_CHECK_WITH_TZDATA_DIR): Remove broken
	expansion of ${DEFAULT} in configure help, replacing it with
	the value used. (IT_CHECK_NEW_PLUGIN): Remove
	'experimental'. Fix default in configure help.
		* configure.ac: Fix default in configure help for NIO2.


changeset dd4d9f50ac7c in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=dd4d9f50ac7c
author: Andrew John Hughes <ahughes at redhat.com>
date: Mon Jul 26 09:38:47 2010 +0100

	Update README and INSTALL for HEAD.

	2010-07-26 Andrew John Hughes <ahughes at redhat.com>

	 * README: Updated for HEAD using IcedTea7 version.
		* INSTALL: Likewise.


diffstat:

14 files changed, 2092 insertions(+), 1574 deletions(-)
ChangeLog                                                                      |   51 
INSTALL                                                                        |  376 ++-
Makefile.am                                                                    |    7 
README                                                                         |  118 
acinclude.m4                                                                   |    6 
configure.ac                                                                   |    4 
overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c |   37 
patches/openjdk/6668231-ssl_cert.patch                                         |  306 ++
patches/openjdk/6678385-window_movement_crasher.patch                          | 1241 ++++++++++
patches/openjdk/6678385.patch                                                  | 1241 ----------
patches/openjdk/6961732-negative_leading.patch                                 |   45 
patches/openjdk/6961732.patch                                                  |   45 
patches/openjdk/6963870-swing_npe.patch                                        |   99 
patches/openjdk/6963870.patch                                                  |   90 

diffs (truncated from 3904 to 500 lines):

diff -r 6bf6ff2ad1ea -r dd4d9f50ac7c ChangeLog
--- a/ChangeLog	Fri Jul 23 11:51:57 2010 -0400
+++ b/ChangeLog	Mon Jul 26 09:38:47 2010 +0100
@@ -1,3 +1,54 @@ 2010-07-23  Jon VanAlten  <jon.vanalten@
+2010-07-26  Andrew John Hughes  <ahughes at redhat.com>
+
+	* README: Updated for HEAD using IcedTea7 version.
+	* INSTALL: Likewise.
+
+2010-07-21  Andrew John Hughes  <ahughes at redhat.com>
+
+	* INSTALL: Updated, with documentation
+	of new options and removal of outdated information.
+	* acinclude.m4:
+	(WITH_OPENJDK_SRC_DIR): Add '=DIR' to the configure help.
+	(AC_CHECK_FOR_OPENJDK): Add '[=DIR]' to the configure help.
+	(AC_CHECK_WITH_TZDATA_DIR): Remove broken expansion of ${DEFAULT}
+	in configure help, replacing it with the value used.
+	(IT_CHECK_NEW_PLUGIN): Remove 'experimental'.  Fix default in
+	configure help.
+	* configure.ac:
+	Fix default in configure help for NIO2.
+
+2010-07-21  Andrew John Hughes  <ahughes at redhat.com>
+
+	* README: Updated.
+
+2010-07-20  Andrew John Hughes  <ahughes at redhat.com>
+
+	* overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c:
+	Define _ATFILE_SOURCE to obtain fstatat64, regardless of architecture.
+
+2010-07-25  Andrew John Hughes  <ahughes at redhat.com>
+
+	Make purpose of OpenJDK patches clearer and
+	use original changeset for 6963870.
+	* patches/openjdk/6678385.patch,
+	* patches/openjdk/6961732.patch,
+	* patches/openjdk/6963870.patch: Renamed to...
+	* Makefile.am: Use new patch names.
+	* patches/openjdk/6678385-window_movement_crasher.patch,
+	* patches/openjdk/6961732-negative_leading.patch,
+	* patches/openjdk/6963870-swing_npe.patch: these.
+
+2010-07-25  Andrew John Hughes  <ahughes at redhat.com>
+
+	* Makefile.am: Add patch.
+	* patches/openjdk/6668231-ssl_cert.patch:
+	Backport SSL certificate fix 'Presence of a
+	critical subjectAltName causes JSSE's SunX509 to
+	fail trusted checks'.
+	* overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/crisubn.jks,
+	* overlays/openjdk/jdk/test/sun/security/ssl/com/sun/net/ssl/internal/www/protocol/https/HttpsURLConnection/trusted.jks:
+	Keystores for the new test introduced by this patch.
+
 2010-07-23  Jon VanAlten  <jon.vanalten at redhat.com>
 
 	* patches/openjdk/6963870.patch: New file. Backpatched from jdk7 for
diff -r 6bf6ff2ad1ea -r dd4d9f50ac7c INSTALL
--- a/INSTALL	Fri Jul 23 11:51:57 2010 -0400
+++ b/INSTALL	Mon Jul 26 09:38:47 2010 +0100
@@ -7,8 +7,10 @@ a default location.
 
 The build requirements are as follows:
 
-GNU libgcj 4.3.0 (or equivalent 1.5 class library, such as GNU Classpath >= 0.95)
-Eclipse Java Compiler
+A bootstrap JDK, either:
+  - GNU libgcj 4.3.0 (or equivalent class library based on GNU Classpath >= 0.95) for --with-gcj-home mode (the default)
+  - IcedTea6 for --with-openjdk mode
+Eclipse Java Compiler (ecj)
 CUPS
 libX11 (libXp, libXtst, libXi, libXt)
 Freetype2
@@ -16,6 +18,7 @@ sed
 sed
 tar
 md5sum
+sha256sum (from coreutils)
 wget
 alsa
 xalan
@@ -23,118 +26,268 @@ firefox-devel
 firefox-devel 
 glib2-devel 
 gtk2-devel
-ant >= 1.6.5
+ant >= 1.6.5 with the regexp task from ant-nodeps
 libXinerama-devel
 giflib-devel
 libpng-devel
 libjpeg-devel >= 6b
 zlib-devel
+xulrunner-devel (can be disabled using --disable-plugin)
 rhino (can be disabled using --without-rhino)
-
-For building the PulseAudio based mixer, you will need
-pulseaudio-libs-devel >= 0.9.11
-
-For building VisualVM, you will need
-netbeans = 6.5
-
-For building the zero-assembler port (see below), you will need libffi.
-
-For building the Shark JIT, you will need LLVM 2.5 or current SVN.
-
-For building with systemtap support (--enable-systemtap), you will need
-systemtap-sdt-devel (available since systemtap 0.9.5). This also needs
-the --with-abs-install-dir configure option to make sure the hotspot.stp.in
-tapset gets the correct installation location for the libjvm.so, it
-defaults to the root of the j2sdk-image build dir otherwise (but then
-you cannot move that to another location without adjusting the paths
-in the tapset/hotspot.stp file. For example:
- --enable-systemtap --with-abs-install-dir=/usr/lib/jvm/java-1.6.0-openjdk
-(Java method tracing works starting with systemtap 0.9.9)
+libffi (for --enable-zero or on archs other than x86/x86_64/sparc)
+pulseaudio-libs-devel >= 0.9.11 (for --enable-pulse-java)
+LLVM 2.5 or later (for --enable-shark)
+systemtap-sdl-devel >= 0.9.5 (for --enable-systemtap, Java method tracing requires systemtap >= 0.9.9)
 
 See ./configure --help if you need to override the defaults.
 
-To bootstrap IcedTea with ecj and a Classpath-based JDK such as GCJ:
-autoreconf
+To bootstrap IcedTea with ecj and a GNU Classpath-based JDK:
+./autogen.sh
 ./configure 
 make
 
-To build IcedTea with an older version of IcedTea or OpenJDK, use:
-autoreconf
-./configure --with-openjdk 
-	to specify the location use --with-openjdk=/path/to/icedtea]
+The following locations are checked for a GNU Classpath-based JDK:
+   * /usr/lib/jvm/java-gcj
+   * /usr/lib/jvm/gcj-jdk
+   * /usr/lib/jvm/cacao
+in that order.
+
+To build IcedTea with an older version of IcedTea6, use:
+./autogen.sh
+./configure --with-openjdk
 make
 
-There is currently no install target.
+The following locations are checked for an IcedTea6 JDK:
+    * /usr/lib/jvm/java-openjdk
+    * /usr/lib/jvm/icedtea6
+    * /usr/lib/jvm/java-6-openjdk
+    * /usr/lib/jvm/openjdk
+    * /usr/lib/jvm/java-icedtea
+in the order given above.
 
-IcedTea ends up in openjdk/build/<os>-<arch> when the build completes.
-Example instantiations of <os>-<arch> include linux-i586, linux-amd64 and linux-ppc64.
+Note that IcedTea7 can not be used to build IcedTea6.
 
-Rebuilding The IcedTea Plugs
-----------------------------
+There is currently no install target.  IcedTea ends up in
+openjdk.build when the build completes.
 
-When IcedTea is initially built, it creates stamp files in the stamps directory
-to determine what and when dependencies were compiled. For example, to rebuild 
-the rt plugs certain files need to be deleted before restarting the build.
+Most targets in IcedTea creat stamp files in the stamps directory to
+determine what and when dependencies were compiled.  Each target has a
+corresponding clean-x target which removes the output and the stamp
+file, allowing it to be rebuilt.  For example, stamps/rt.stamp (alias
+rt) builds the bootstrap classes needed in the bootstrap build and
+clean-rt removes the classes and the stamp file.
 
- - If the rt plugs have been modified, delete stamps/rt-class-files.stamp.
- - If a new class has been added to the rt plugs, delete
- rt-source-files.txt  so it can be recreated with the new class list.
+Build Modification Options
+==========================
 
-To view all targets that create stamp files, see 
-Makefile.am (section 'All Stamped Targets').
+The build process may be modified by passing the following options
+to configure:
 
-The Zero Assembler Port
------------------------
+* --disable-docs: Don't build the Javadoc documentation.
+* --with-openjdk-src-dir: Copy the specified OpenJDK tree, rather than
+  downloading and extracting a tarball.
+* --disable-optimizations: Build with -O0.
+* --enable-hg: Checkout the OpenJDK tree from Mercurial, rather than
+  downloading and extracting a tarball.
+* --with-gcj: Compile ecj to native code with gcj prior to building.
+* --with-openjdk: Perform a quick (no bootstrap) build using an installed
+  copy of IcedTea6.  If a directory is not specified, a check against
+  the list presented above is performed.
+* --with-parallel-jobs: Run the specified number of parallel jobs when
+  building HotSpot and the JDK.  If this option is passed without an
+  argument, the number of online processors plus one is used.
+* --with-netbeans-home: The location of NetBeans for use in the VisualVM build,
+  defaults to /usr/share/netbeans.
+* --with-ant-home: The location of Ant, defaults to /usr/share/ant.
+* --with-pkgversion=PKG: Include the specified distro package information in
+  the output of java -version.
+* --with-gcj-home: Perform a full bootstrap build using an installed
+  copy of a GNU Classpath JDK such as gcj.  If a directory is not specified,
+  a check against the list presented above is performed.
+* --with-java: Specify the location of a 'java' binary.  By default, the path
+  is checked for gij and java.
+* --with-ecj: Specify the location of a 'ecj' binary.  By default, the path
+  is checked for ecj, ecj-3.1, ecj-3.2 and ecj-3.3.
+* --with-javac: Specify the location of a 'javac' binary.  By default, the path
+  is checked for javac.
+* --with-jar: Specify the location of a 'jar' binary.  By default, the path
+  is checked for gjar and jar.
+* --with-javah: Specify the location of a 'javah' binary.  By default, the path
+  is checked for gjavah and javah.
+* --with-rmic: Specify the location of a 'rmic' binary.  By default, the path
+  is checked for grmic and rmic.
+* --with-ecj-jar: Specify the location of an ecj JAR file.  By default, the
+  following paths are checked:
+    - /usr/share/java/eclipse-ecj.jar
+    - /usr/share/java/ecj.jar
+    - /usr/share/eclipse-ecj-3.{2,3,4,5}/lib/ecj.jar
+* --with-xalan2-jar: Specify the location of a xalan2 JAR file.  By default, the
+  following paths are checked:
+    - /usr/share/java/xalan-j2.jar
+    - /usr/share/java/xalan2.jar
+    - /usr/share/xalan/lib/xalan.jar
+* --with-xalan2-serializer-jar: Specify the location of a xalan2 serializer JAR file.
+  By default, the following paths are checked:
+    - /usr/share/java/xalan-j2-serializer.jar
+    - /usr/share/xalan-serializer/lib/serializer.jar
+    - /usr/share/java/serializer.jar
+* --with-xerces2-jar: Specify the location of a xerces2 JAR file.  By default, the
+  following paths are checked:
+    - /usr/share/java/xerces-j2.jar
+    - /usr/share/java/xerces2.jar
+    - /usr/share/xerces-2/lib/xercesImpl.jar
+    - /usr/share/java/xercesImpl.jar
+* --with-openjdk-src-zip: Specify the location of the OpenJDK tarball to avoid downloading.
+* --with-hotspot-src-zip: Specify the location of the HotSpot tarball to avoid downloading.
+* --with-alt-jar: Use the specified jar binary in the second stage rather than the one just built.
+* --with-jaxp-drop-zip: Specify the location of the JAXP source drop zip file to avoid downloading.
+* --with-jaf-drop-zip: Specify the location of the JAF source drop zip file to avoid downloading.
+* --with-jaxws-drop-zip: Specify the location of the JAXWS source drop zip file to avoid downloading.
+* --with-cacao-home: Specify the location of an installed CACAO to use rather than downloading
+  and building one.
+* --with-cacao-src-zip: Specify the location of a CACAO tarball to avoid downloading.
+* --with-cacao-src-dir: Specify the location of a CACAO source tree to avoid downloading.
+* --with-hg-revision: Specify a hg revision to use (as opposed to tip) with the --enable-hg option.
+* --with-tzdata-dir: Specify the location of Java timezone data, defaulting to /usr/share/javazi.
+* --with-netbeans: Specify the location of NetBeans for VisualVM, defaulting to the netbeans on the path.
+* --with-abs-install-dir: The final install location of the j2sdk-image, for use in the SystemTap tapset.
 
-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.
+Other options may be supplied which enable or disable new features.
+These are documented fully in the relevant section below.
 
-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.
+* --enable-pulse-java: Build the PulseAudio sound provider.
+* --disable-xrender: Don't include the XRender pipeline.
+* --enable-nio2: Include the NIO2 backport.
+* --enable-systemtap: Include support for tracing using systemtap.
+* --enable-nss: Enable the NSS security provider.
+* --enable-cacao: Replace HotSpot with the CACAO VM.
+* --enable-shark: Build the Shark LLVM-based JIT.
+* --enable-zero: Build the zero assembler port on x86/x86_64/sparc platforms.
+* --disable-plugin: Don't build the browser plugin.
+* --disable-npplugin: Build the old unsupported plugin rather than NPPlugin.
+* --with-hotspot-build: The HotSpot to use, defaulting to 'original' i.e. hs14 as bundled with OpenJDK.
+* --with-rhino: Include Javascript support using Rhino.
+* --with-additional-vms=vm-list: Additional VMs to build using the system described
+  below.
+
+Testing
+=======
+
+IcedTea6 includes support for running the test suite included with
+OpenJDK, using the in-tree copy of JTReg.  Invoking 'make check' will
+cause the HotSpot, JDK and langtools test suites to be run.  The
+individual test suites may be run using the check-hotspot, check-jdk
+and check-langtools targets respectively.
+
+The PulseAudio provider
+=======================
+
+IcedTea6 includes an implementation of the javax.sound.* APIs using
+PulseAudio which can be enabled using --enable-pulse-java.   The resulting
+provider is org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider.
+
+Xrender Support
+===============
+
+IcedTea6 includes support for an Xrender-based rendering pipeline
+developed by Clemens Eisserer (http://linuxhippy.blogspot.com/).  This
+is compiled by default, and can be disabled using --disable-xrender.
+To actually use the pipeline, the sun.java2d.xrender property needs to
+be set to true, e.g.  by passing the -Dsun.java2d.xrender=True option
+to java.
+
+NIO2 Backport
+=============
+
+IcedTea6 includes a backport of NIO2 from OpenJDK7; see
+http://openjdk.java.net/projects/nio/.  This provides support for
+asynchronous I/O and an improved file system API, providing access to
+POSIX file permissions, timestamps, extended attributes and ACLs and
+allowing directories to be watched.  This is enabled using the
+--enable-nio2 option.
+
+As new classes can not be added to the java.* and javax.* namespace of
+the 1.6 API, the new java.nio classes are contained in
+org.classpath.icedtea.java.nio, so code will needed to be adjusted to
+work with the backport.
+
+SystemTap
+=========
+
+IcedTea6 includes work to allow the existing DTrace probes included in
+OpenJDK to be used with SystemTap.  This is enabled using the
+--enable-systemtap option, and requires version 0.9.5 or later (0.9.9
+or later if you want Java method tracing).  The tapset needs to know
+the final install location of the JDK, so the --with-abs-install-dir
+should also be used to specify this.  If not set, it defaults to the
+in-tree location of openjdk/build/<os>-<arch>/j2sdk-image and requires
+manual changes to tapset/hotspot.stp to work from elsewhere. For
+example, if you plan to install the resulting build in
+/usr/lib/jvm/java-1.6.0-openjdk, then you should specify
+--enable-systemtap
+--with-abs-install-dir=/usr/lib/jvm/java-1.6.0-openjdk.
+
+NSS Security Provider
+=====================
+
+OpenJDK includes an NSS-based security provider in the form of
+sun.security.pkcs11.SunPKCS11.  However, as this needs to know the
+location of the NSS installation it should use, it is not enabled
+in normal OpenJDK builds.  As IcedTea can detect NSS using configure,
+it can simplify the process of enabling this provider by generating
+a configuration file for the NSS provider.  If --enable-nss is specified,
+this configuration will be turned on in lib/security/java.security.
+This can also be done manually at a later date.
 
 CACAO
------
+=====
 
-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 CACAO
-0.99.3 during the build.  To use a different version, use
---with-cacao-home=<dir> to point to an existing installation which use
-the Sun VM interface.
+IcedTea6 can use CACAO as the virtual machine, as opposed to HotSpot.
+One advantage of this is that CACAO has a JIT implementation for
+more platforms than HotSpot, including ppc, ppc64, arm and mips.
+When --enable-cacao is specified, CACAO will be downloaded and built,
+followed by the JDK portion of OpenJDK resulting in a CACAO+OpenJDK
+image in openjdk/build/<os>-<arch>/j2sdk-image.  The --with-cacao-home
+option can be used to specify the use of an existing CACAO install
+instead, and --with-cacao-src-zip/dir options exist to allow the use
+of a pre-downloaded zip or source tree respectively.
 
-Building additional virtual machines
-------------------------------------
+Zero & Shark
+============
 
-Although IcedTea can be built multiple times to use a different virtual
-machine, addtional VM's can be built without building the other components
-multiple times.
+IcedTea6 includes a zero assembler port of HotSpot, which avoids
+architecture-specific code as much as possible, allowing an
+interpreter to be built and run on most platforms (albeit very
+slowly).  As HotSpot only includes JITs for x86, x86_64 and SPARC, the
+zero assembler port is automatically enabled on all other
+architectures.  On x86, x86_64 and SPARC, it may be built using
+--enable-zero.
 
-On architectures where hotspot is available, use
-   --with-additional-vms=cacao,zero  (or shark instead of zero)
-on architectures where only zero (or shark) is available, use
-   --with-additional-vms=cacao
-to build the additional VM's.  It's not possible to build cacao as the
-default VM, and zero as additional VM.
-To build zero as the default VM and shark as an additional VM, use
-   --enable-zero --with-additional-vms=shark
+To overcome the performance issues inherent in zero, a LLVM-based JIT
+called Shark has been developed.  This performs Just-In-Time compilation
+on any architecture supported by LLVM.  To enable it, pass the option
+--enable-shark to configure.  Please note that Shark is still in
+development and builds are still likely to fail at present.
 
-The additional VM's are available by calling the java with the option
-`-cacao', `-zero' or `-shark', or by calling the java tools with
-`-J-<vm name>'. If the build was configured with '--enable-shark',
-use `-Xint' to just use the zero VM.
+The Browser Plugin
+==================
 
-Support for different versions of HotSpot
------------------------------------------ 
+IcedTea6 contains a Free Software browser plugin based on NPRuntime
+called NPPlugin.  By default, this will be built, and it can be turned
+off using the -disable-plugin option.
+
+A test suite is supplied for the browser plugin.  It can be built
+using 'make plugin-tests' and run by loading the HTML page specified
+into a browser with the plugin installed.
+
+For debugging, the environment variable ICEDTEAPLUGIN_DEBUG should be
+set to 'true'.  This will produce output on the console from the C++
+side, and output from the Java side in $HOME/.icedteaplugin/java.stdout
+and $HOME/.icedteaplugin/java.stderr.  It also starts the debug server
+on port 8787.
+
+Support for Different Versions of HotSpot
+=========================================
 
 IcedTea allows the version of HotSpot provided with the upstream build
 drop to be replaced with another.  Support for this is provided by the
@@ -165,11 +318,50 @@ download stage and just verifies that th
 download stage and just verifies that the zip's MD5 sum matches that
 of the requested build.
 
-At present, two versions of HotSpot are officially supported.  These
-are HotSpot 14 ('original') which is provided by the upstream OpenJDK
-tarball, and 'hs16', which is used in hotspot.map to provide the
-latest version of HotSpot 16.  Thus, either --with-hotspot-build
-without an argument or --with-hotspot-build=hs16 provides the
-latest supported hs16, while no HotSpot build argument,
---without-hotspot-build or --with-hotspot-build=original uses the
-upstream HotSpot.
+At present, IcedTea6 only supports the 'original' HotSpot (hs17)
+provided as part of the upstream tarball.
+
+Javascript Support
+==================
+
+IcedTea6 adds Javascript support via the javax.script API by using
+an existing installation of Rhino.  Support is enabled by default,
+with the following locations being searched for a Rhino JAR file:
+
+* /usr/share/java/rhino.jar
+* /usr/share/java/js.jar
+* /usr/share/rhino-1.6/lib/js.jar
+
+A JAR file can instead be specified using the --with-rhino option,
+or support may be disabled by specifying --without-rhino.
+
+Note that the final installed JAR file is a modified version with the
+namespace prefixed by 'sun.' as in the proprietary Oracle JDK.  This
+avoids conflicts between the JDK's copy of Rhino and any used by other
+applications.
+
+Building Additional Virtual Machines
+====================================
+
+Although IcedTea can be built multiple times to use a different virtual
+machine, additional VMs can be built without building the other components
+multiple times.
+
+On architectures where hotspot is available, use
+   --with-additional-vms=cacao,zero  (or shark instead of zero)
+on architectures where only zero (or shark) is available, use
+   --with-additional-vms=cacao
+to build the additional VMs.  It's not possible to build cacao as the
+default VM, and zero as additional VM.
+To build zero as the default VM and shark as an additional VM, use
+   --enable-zero --with-additional-vms=shark
+
+The additional VMs are available by calling the java with the option
+`-cacao', `-zero' or `-shark', or by calling the java tools with
+`-J-<vm name>'. If the build was configured with '--enable-shark',
+use `-Xint' to just use the zero VM.
+
+Please note that using this feature does not do as extensive testing
+of the VM as would enabling it in the default full bootstrap mode,
+which compiles IcedTea and then recompiles it using the just-built
+image.
diff -r 6bf6ff2ad1ea -r dd4d9f50ac7c Makefile.am
--- a/Makefile.am	Fri Jul 23 11:51:57 2010 -0400
+++ b/Makefile.am	Mon Jul 26 09:38:47 2010 +0100
@@ -278,12 +278,13 @@ ICEDTEA_PATCHES = \
 	patches/icedtea-jtreg-httpTest.patch \
 	patches/arm.patch \
 	patches/shark-debug-option.patch \
-	patches/openjdk/6678385.patch \



More information about the distro-pkg-dev mailing list