changeset 2789:d4df8b91c361

PR2341: Update README & INSTALL files 2015-07-06 Andrew John Hughes <gnu.andrew@member.fsf.org> * INSTALL: Update list of detected JDKs, specifying that bootstrap mode is not specific to Classpath JDKs. Remove dead --with-netbeans-home, --with-ant-home, --with-xalan2-jar, --with-xalan2-serializer-jar, --with-xerces2-jar, --enable-systemtap and --with-gcj-home options. Document --with-jdk-home. Move --enable-system-kerberos to be listed with other system library options. Update XRender and SystemTap documentation. Document the SunEC provider. Update list of architectures supported by native HotSpot ports. Mention ARM32 JIT. * NEWS: Updated. * README: Remove outdated notes about in-development OpenJDK 7. Update list of architectures supported by native HotSpot ports and mention ARM32 JIT. Remove section about PulseAudio mixer (moved to IcedTea-Sound). * acinclude.m4: (IT_CHECK_FOR_JDK): Match ICEDTEA7_VMS ordering to ICEDTEA6_VMS ordering.
author Andrew John Hughes <gnu_andrew@member.fsf.org>
date Tue, 07 Jul 2015 00:14:45 +0100
parents 30fbdb330c85
children eb54def091bd
files ChangeLog INSTALL NEWS README acinclude.m4
diffstat 5 files changed, 79 insertions(+), 70 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Jul 06 23:44:03 2015 +0100
+++ b/ChangeLog	Tue Jul 07 00:14:45 2015 +0100
@@ -1,3 +1,27 @@
+2015-07-06  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	* INSTALL: Update list of detected
+	JDKs, specifying that bootstrap mode is
+	not specific to Classpath JDKs. Remove
+	dead --with-netbeans-home, --with-ant-home,
+	--with-xalan2-jar, --with-xalan2-serializer-jar,
+	--with-xerces2-jar, --enable-systemtap and
+	--with-gcj-home options. Document --with-jdk-home.
+	Move --enable-system-kerberos to be listed with other
+	system library options. Update XRender and SystemTap
+	documentation. Document the SunEC provider. Update
+	list of architectures supported by native HotSpot ports.
+	Mention ARM32 JIT.
+	* NEWS: Updated.
+	* README: Remove outdated notes about in-development
+	OpenJDK 7. Update list of architectures supported
+	by native HotSpot ports and mention ARM32 JIT.
+	Remove section about PulseAudio mixer (moved
+	to IcedTea-Sound).
+	* acinclude.m4:
+	(IT_CHECK_FOR_JDK): Match ICEDTEA7_VMS ordering
+	to ICEDTEA6_VMS ordering.
+
 2015-06-03  Andrew John Hughes  <gnu.andrew@member.fsf.org>
 
 	* NEWS: Updated.
--- a/INSTALL	Mon Jul 06 23:44:03 2015 +0100
+++ b/INSTALL	Tue Jul 07 00:14:45 2015 +0100
@@ -8,8 +8,8 @@
 The build requirements are as follows:
 
 A bootstrap JDK, either:
-  - GNU libgcj 4.4.0 (or equivalent class library based on GNU Classpath >= 0.95) for --enable-bootstrap mode (the default)
-  - IcedTea6 or IcedTea7 for --disable-bootstrap mode
+  - GNU libgcj 4.4.0 (or equivalent class library based on GNU Classpath >= 0.95) (--enable-bootstrap mode only, the default)
+  - IcedTea6 or IcedTea7
 CUPS
 libX11 (libXp, libXtst, libXi, libXt, libXinerama)
 Freetype2
@@ -49,6 +49,12 @@
 make
 
 The following locations are checked for a JDK:
+    * /usr/lib/jvm/icedtea-7
+    * /usr/lib/jvm/icedtea7
+    * /usr/lib/jvm/java-7-openjdk
+    * /usr/lib/jvm/java-1.7.0-openjdk.x86_64
+    * /usr/lib64/jvm/java-1.7.0-openjdk
+    * /usr/lib/jvm/java-1.7.0
     * /usr/lib/jvm/icedtea-6
     * /usr/lib/jvm/icedtea6
     * /usr/lib/jvm/java-6-openjdk
@@ -109,19 +115,19 @@
   fontconfig instead of trying to dynamically open it at runtime.
 * --enable-system-pcsc: Build and link against the system installation of
   libpcsclite instead of trying to dynamically open it at runtime.
+* --enable-system-kerberos: Link against the system Kerberos library and
+  query it at runtime to obtain the cache location, rather than using a
+  hardcoded value.
 * --enable-compile-against-syscalls: Check for syscalls at compile-time not runtime.
 * --with-gcj: Compile ecj to native code with gcj prior to building.
 * --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-jdk-home: Perform a build using the installed JDK, such as gcj or IcedTea,
+  to bootstrap.  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
@@ -142,22 +148,6 @@
     - /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-corba-src-zip: Specify the location of the CORBA tarball to avoid downloading.
@@ -191,7 +181,6 @@
 * --disable-langtools-tests: Disable the running of the langtools JTReg suite.
 * --disable-jdk-tests: Disable the running of the jdk JTreg suite.
 * --disable-xrender: Don't include the XRender pipeline.
-* --enable-systemtap: Include support for tracing using systemtap.
 * --enable-nss: Enable the NSS security provider.
 * --enable-cacao: Replace HotSpot with the CACAO VM.
 * --enable-jamvm: Replace HotSpot with JamVM.
@@ -200,9 +189,6 @@
 * --with-rhino: Include Javascript support using Rhino (location may optionally be specified).
 * --with-additional-vms=vm-list: Additional VMs to build using the system described
   below.
-* --enable-system-kerberos: Link against the system Kerberos library and
-  query it at runtime to obtain the cache location, rather than using a
-  hardcoded value.
 * --enable-arm32-jit: Build the ARM32 JIT.
 * --enable-sunec: Build the SunEC crypto provider against system NSS.
 * --enable-native-debuginfo: Include debuginfo in native binaries.
@@ -228,10 +214,9 @@
 
 IcedTea7 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.
+is compiled by default.  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.
 
 SystemTap
 =========
@@ -239,16 +224,16 @@
 IcedTea7 includes work to allow the existing DTrace probes included in
 OpenJDK to be used with SystemTap.  This 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 option
+the final install location of the JDK, so the --prefix option
 should also be used to specify this.  If not set, it defaults to the
 in-tree location of openjdk.build/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
---with-abs-install-dir=/usr/lib/jvm/java-1.6.0-openjdk.
+--prefix=/usr/lib/jvm/java-1.6.0-openjdk.
 
-NSS Security Provider
-=====================
+The NSS PKCS11 Security Provider and Elliptic Curve Cryptography
+================================================================
 
 OpenJDK includes an NSS-based security provider in the form of
 sun.security.pkcs11.SunPKCS11.  However, as this needs to know the
@@ -259,12 +244,20 @@
 this configuration will be turned on in lib/security/java.security.
 This can also be done manually at a later date.
 
+The PKCS11 option was originally added as it was the only way that
+elliptic curve cryptography support could be provided. From OpenJDK 7
+onwards, there is another provider, SunEC. This also utilises NSS, but
+directly via its ECC functions rather than the PKCS11 interface.
+Specifying --enable-sunec will build this provider, linked against
+NSS. Version 3.16.1 or later of NSS is required so that the
+appropriate softokn ABI is available to the provider.
+
 CACAO
 =====
 
 IcedTea7 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.
+more platforms than HotSpot, including ppc, 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/j2sdk-image.  The --with-cacao-home
@@ -287,10 +280,10 @@
 IcedTea7 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.
+slowly).  As HotSpot only includes JITs for x86, x86_64, AArch64,
+ppc64, ppc64le and SPARC, the zero assembler port is automatically
+enabled on all other architectures.  On HotSpot architectures, 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
@@ -298,9 +291,8 @@
 --enable-shark to configure.  Please note that Shark is still in
 development and builds are still likely to fail at present.
 
-On ARM32, there is also a native JIT port built on top of Zero. This
-still has issues and is thus not enabled by default. To enable it,
-pass --enable-arm32-jit to configure.
+On ARM32, there is also a native JIT port built on top of Zero, which
+is built on this platform by default.
 
 Support for Different Versions of HotSpot
 =========================================
--- a/NEWS	Mon Jul 06 23:44:03 2015 +0100
+++ b/NEWS	Tue Jul 07 00:14:45 2015 +0100
@@ -27,6 +27,7 @@
   - S8078666, PR2326: JVM fastdebug build compiled with GCC 5 asserts with "widen increases"
 * Bug fixes
   - PR2328: GCJ uses ppc64el named libarch directory on ppc64le
+  - PR2341: Update README & INSTALL files
 * PPC & AIX port
   - S8069590: AIX port of "8050807: Better performing performance data handling"
   - S8078482, PR2307: ppc: pass thread to throw_AbstractMethodError
--- a/README	Mon Jul 06 23:44:03 2015 +0100
+++ b/README	Tue Jul 07 00:14:45 2015 +0100
@@ -32,15 +32,9 @@
 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.
+IcedTea is derived from OpenJDK, an open-source implementation of
+the Java SE platform. See http://openjdk.java.net/groups/conformance/
+for information on compatibility testing.
 
 A Note About License Headers
 ----------------------------
@@ -48,7 +42,7 @@
 Some sources downloaded from openjdk.java.net do not display the GPL
 license header.  Instances are:
 
- - We are assuming that these files are owned by Sun:
+ - We are assuming that these files are owned by Sun/Oracle:
    openjdk/jdk/src/share/classes/**/resources/*.properties
 
 The Zero Assembler and Shark Ports
@@ -59,8 +53,9 @@
 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
+assembler port is enabled by default on platforms without a
+native HotSpot port (i.e. other than x86, x86_64, sparc, AArch64,
+ppc64, ppc64le).  To enable it on these platforms, use the
 --enable-zero option.
 
 Gary is now working on a JIT called Shark to provide better
@@ -68,26 +63,23 @@
 preliminary version of this is now included with IcedTea and can be
 built with the --enable-shark option.
 
+On ARM32, there is also a native JIT port built on top of Zero, which
+is built on this platform by default.
+
 CACAO as VM
 ===========
 
 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 a snapshot
-of CACAO during the build, which has been tested with this version of
+not yet been ported, including ppc, arm and mips.  To use CACAO as the
+VM, use the --with-cacao option.  This will download a snapshot of
+CACAO during the build, which has been tested with this version of
 IcedTea7.
 
 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
 =================
 
--- a/acinclude.m4	Mon Jul 06 23:44:03 2015 +0100
+++ b/acinclude.m4	Tue Jul 07 00:14:45 2015 +0100
@@ -1143,11 +1143,11 @@
       BOOTSTRAP_VMS="/usr/lib/jvm/java-gcj /usr/lib/jvm/gcj-jdk /usr/lib/jvm/cacao";
     fi
     ICEDTEA6_VMS="/usr/lib/jvm/icedtea-6 /usr/lib/jvm/icedtea6 /usr/lib/jvm/java-6-openjdk
-    		  /usr/lib/jvm/java-1.6.0-openjdk.x86_64 /usr/lib64/jvm/java-1.6.0-openjdk
-		  /usr/lib/jvm/java-1.6.0"
-    ICEDTEA7_VMS="/usr/lib/jvm/icedtea-7 /usr/lib/jvm/icedtea7 /usr/lib/jvm/java-1.7.0-openjdk
-    		  /usr/lib/jvm/java-1.7.0-openjdk.x86_64 /usr/lib64/jvm/java-1.7.0-openjdk
-		  /usr/lib/jvm/java-1.7.0 /usr/lib/jvm/java-7-openjdk"
+    		  /usr/lib/jvm/java-1.6.0-openjdk /usr/lib/jvm/java-1.6.0-openjdk.x86_64
+		  /usr/lib64/jvm/java-1.6.0-openjdk /usr/lib/jvm/java-1.6.0"
+    ICEDTEA7_VMS="/usr/lib/jvm/icedtea-7 /usr/lib/jvm/icedtea7 /usr/lib/jvm/java-7-openjdk
+                  /usr/lib/jvm/java-1.7.0-openjdk /usr/lib/jvm/java-1.7.0-openjdk.x86_64
+		  /usr/lib64/jvm/java-1.7.0-openjdk /usr/lib/jvm/java-1.7.0"
     for dir in ${BOOTSTRAP_VMS} ${ICEDTEA7_VMS} ${ICEDTEA6_VMS} \
     	       /usr/lib/jvm/java-openjdk /usr/lib/jvm/openjdk /usr/lib/jvm/java-icedtea \
 	       /etc/alternatives/java_sdk_openjdk ; do