/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