/hg/release/icedtea6-1.6: 5 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Mon Jul 26 12:47:14 PDT 2010


changeset 07fdd12537a6 in /hg/release/icedtea6-1.6
details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=07fdd12537a6
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 c64dd66292db in /hg/release/icedtea6-1.6
details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=c64dd66292db
author: Andrew John Hughes <ahughes at redhat.com>
date: Mon Jul 26 18:43:33 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.
		* configure.ac: Fix default in configure help for NIO2 and
	plugin options.


changeset c79bef6a3406 in /hg/release/icedtea6-1.6
details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=c79bef6a3406
author: Andrew John Hughes <ahughes at redhat.com>
date: Mon Jul 26 18:53:50 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 ed41571c551a in /hg/release/icedtea6-1.6
details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=ed41571c551a
author: Andrew John Hughes <ahughes at redhat.com>
date: Sun Jul 25 22:36:52 2010 +0100

	Backpatch S6963870: Eliminate NullPointerEx in swing class
	CompoundBorder method getBorderInsets

	 * patches/openjdk/6963870.patch: New file. Backpatched from
	jdk7 for upstream bug#6963870. Fixes IcedTea Bug#477:
	NullPointerEx in swing class CompoundBorder method
	getBorderInsets.
		* Makefile.am: Include above patch.


changeset a8565028983e in /hg/release/icedtea6-1.6
details: http://icedtea.classpath.org/hg/release/icedtea6-1.6?cmd=changeset;node=a8565028983e
author: Andrew John Hughes <ahughes at redhat.com>
date: Mon Jul 26 20:47:07 2010 +0100

	Update NEWS prior to release.

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

	 * NEWS: Updated.


diffstat:

8 files changed, 548 insertions(+), 191 deletions(-)
ChangeLog                               |   38 ++
INSTALL                                 |  432 +++++++++++++++++++++++--------
Makefile.am                             |    4 
NEWS                                    |   29 +-
README                                  |  121 +++-----
acinclude.m4                            |    6 
configure.ac                            |   10 
patches/openjdk/6963870-swing_npe.patch |   99 +++++++

diffs (truncated from 947 to 500 lines):

diff -r 3ac8e6470d4f -r a8565028983e ChangeLog
--- a/ChangeLog	Wed Jul 21 17:39:05 2010 +0100
+++ b/ChangeLog	Mon Jul 26 20:47:07 2010 +0100
@@ -1,3 +1,41 @@ 2010-07-21  Andrew John Hughes  <ahughes
+2010-07-25  Andrew John Hughes  <ahughes at redhat.com>
+
+	* NEWS: Updated.
+
+2010-07-23  Jon VanAlten  <jon.vanalten at redhat.com>
+
+	* patches/openjdk/6963870.patch: New file. Backpatched from jdk7 for
+	upstream bug#6963870. Fixes IcedTea Bug#477: NullPointerEx in swing
+	class CompoundBorder method getBorderInsets.
+	* Makefile.am: Include above patch.
+
+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-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.
+	* configure.ac:
+	Fix default in configure help for NIO2 and plugin options.
+
+2010-07-21  Andrew John Hughes  <ahughes at redhat.com>
+
+	* README: Updated.
+
 2010-07-21  Andrew John Hughes  <ahughes at redhat.com>
 
 	Backport documentation patches to avoid documentation
diff -r 3ac8e6470d4f -r a8565028983e INSTALL
--- a/INSTALL	Wed Jul 21 17:39:05 2010 +0100
+++ b/INSTALL	Mon Jul 26 20:47:07 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
@@ -27,96 +29,344 @@ libXinerama-devel
 libXinerama-devel
 giflib-devel
 libpng-devel
-libjpeg-devel = 6b
+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)
+netbeans = 6.5 (for --enable-visualvm)
 
 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/<os>-<arch> when the build completes.  Example
+instantiations of <os>-<arch> include linux-i586, linux-amd64 and
+linux-ppc64.
 
-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.
+* --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-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-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-visualvm: Build VisualVM.
+* --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.
+* --enable-plugin: Build the browser plugin.
+* --enable-npplugin: Build the new 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.
+
+VisualVM
+========
+
+IcedTea6 supports the downloading and compilation of VisualVM 1.1.1
+via the --enable-visualvm option.  This requires NetBeans 6.5.  The
+build takes place following that of IcedTea, which is used to compile
+VisualVM, and the result is installed in the SDK image created by the
+OpenJDK build (i.e. openjdk/build/<os>-<arch>/j2sdk-image).
+
+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.  If --enable-nss
+is specified, then a configuration file for the NSS provider will be
+generated and installed, and the provider turned on.
 
 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
+============
+
+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.
+
+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.
+
+Please also note that HotSpot 14 (the default) must be used with Zero
+and Shark.  We don't support the use of HotSpot 11.  See the
+documentation of the hotspot-build option below for more details.
+
+The Browser Plugin
+==================
+
+IcedTea6 currently includes two browser plugins; a new plugin based on
+NPRuntime and an older deprecated plugin used in previous releases.
+By default, neither will be built as the plugin is no longer supported
+or maintained as part of the IcedTea6 1.6 series.  To use the plugin,
+we recommend you upgrade to at least IcedTea6 1.7.4, where the new
+NPPlugin will be built by default.
+
+If you do wish to enable the plugin in this release, it can be built
+by passing the --enable-npplugin option to configure for the new
+NPPlugin or --enable-plugin for the old plugin.
+
+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
+--with-hotspot-build option which causes IcedTea to probe the
+hotspot.map file for an entry with the given build name.  The
+hotspot.map file maps the name to a changeset from a given repository
+URL.  During the build, it downloads HotSpot from
+${URL}/archive/${CHANGESET}.tar.gz and the resulting file is verified
+using the MD5 sum stored in hotspot.map.
+
+New build selections may be provided by providing further mappings in
+the hotspot.map file.  The name can be anything
+e.g. 'shiny_new_hotspot'.  This is simply used to map the argument to
+--with-hotspot-build to the values in the file and to apply
+appropriate patches (see patches/hotspot, $HSBUILD is available in
+Makefile.am for obtaining the build name).  The special value
+'original' is used for patches/hotspot/original to denote those for
+the upstream HotSpot; this value does not appear in hotspot.map.  
+
+The changeset and URL should refer to a valid HotSpot tree when used
+as above.  The required values can be obtained from a local checkout
+or by using the web interface.  The simplest way to calculate the MD5
+sum is to download the tarball and then run the 'md5sum' application
+on it.  The resulting value should be added to hotspot.map.
+
+As with the OpenJDK build tarballs, the location of an alternate zip
+can be specified using --with-hotspot-src-zip.  This skips the
+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 11 ('original') which is provided by the upstream OpenJDK
+tarball, and 'default', which is used in hotspot.map to provide the
+latest version of HotSpot 14.  Thus, either no hotspot-build option,
+--with-hotspot-build without an argument or
+--with-hotspot-build=default provides the latest supported hs14, while
+--without-hotspot-build or --with-hotspot-build=original uses the
+upstream HotSpot.
+
+Note that HotSpot 11 ('original') is not supported for use with Zero
+or Shark.
+
+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, 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
@@ -125,46 +375,10 @@ on architectures where only zero (or sha
    --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
 
 The additional VM's are available by calling the java with the option
-`-cacao' or `-zero' (for shark as well), or by calling the java tools with
-`-J-<vm name>'.
-
-Support for different versions of HotSpot
------------------------------------------ 
-
-IcedTea allows the version of HotSpot provided with the upstream build
-drop to be replaced with another.  Support this is provided by the
---with-hotspot-build option which causes IcedTea to probe the
-hotspot.map file for an entry with the given build name.  The
-hotspot.map file maps the name to a changeset from the repository
-http://hg.openjdk.java.net/hsx/hsx14/master/ which it downloads from
-http://hg.openjdk.java.net/hsx/hsx14/master/archive/${CHANGESET}.tar.gz.
-The resulting download is verified using the MD5 sum stored in
-hotspot.map.
-
-New build selections may be provided by providing further mappings in
-the hotspot.map file.  The name can be anything
-e.g. 'shiny_new_hotspot'.  This is simply used to map the argument to
---with-hotspot-build to the values in the file and to apply



More information about the distro-pkg-dev mailing list