changeset 2382:9b3c0feaa29d default tip

Backport for PR732: Use xsltproc for bootstrap xslt in place of Xerces/Xalan
author Danesh Dadachanji <ddadacha@redhat.com>
date Fri, 09 Mar 2012 13:57:42 -0500
parents 5ede8a5762d4
children
files ChangeLog Makefile.am NEWS acinclude.m4 configure.ac patches/ecj/xsltproc.patch
diffstat 6 files changed, 87 insertions(+), 108 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Feb 15 09:40:29 2012 +0000
+++ b/ChangeLog	Fri Mar 09 13:57:42 2012 -0500
@@ -1,3 +1,28 @@
+2012-03-09  Danesh Dadachanji  <ddadacha@redhat.com>
+
+	* Makefile.am:
+	(ENDORSED_DIR): Removed.
+	(ICEDTEA_ECJ_PATCHES): Add xsltproc.patch.
+	(ICEDTEA_ENV_ECJ): Set XSLT.  Don't
+	set ICEDTEA_ENDORSED_DIR or ENDORSED.
+	(bootstrap-directory-stage1): Don't link
+	xalan2, xerces2 or xalan2 serialiser.
+	* acinclude.m4:
+	(FIND_XALAN2_JAR): Removed.
+	(FIND_XALAN2_SERIALIZER_JAR): Removed.
+	(FIND_XERCES2_JAR): Removed.
+	* configure.ac:
+	Replace calls to FIND_XALAN2_JAR,
+	FIND_XALAN2_SERIALIZER_JAR and
+	FIND_XERCES2_JAR with call to
+	FIND_TOOL for xsltproc.
+	* patches/ecj/xsltproc.patch:
+	Patch jvmti.make in HotSpot to use
+	xsltproc instead of Java's XSLT
+	when bootstrapping.
+	* NEWS: Updated.
+
+
 2012-02-15  Andrew John Hughes  <ahughes@redhat.com>
 
 	* NEWS: Add 1.9.14.
--- a/Makefile.am	Wed Feb 15 09:40:29 2012 +0000
+++ b/Makefile.am	Fri Mar 09 13:57:42 2012 -0500
@@ -35,7 +35,6 @@
 ICEDTEA_CLS_DIR_ECJ = $(ECJ_BUILD_OUTPUT_DIR)/classes
 BOOT_DIR = $(abs_top_builddir)/bootstrap/jdk1.6.0
 RUNTIME = $(BOOT_DIR)/jre/lib/rt.jar
-ENDORSED_DIR = $(BOOT_DIR)/lib/endorsed
 ECJ_BOOT_DIR = $(abs_top_builddir)/bootstrap/ecj
 ICEDTEA_BOOT_DIR = $(abs_top_builddir)/bootstrap/icedtea
 SERVER_DIR = hotspot/import/jre/lib/$(INSTALL_ARCH_DIR)/server
@@ -474,7 +473,8 @@
 	patches/ecj/icedtea-jaxp-dependency.patch \
 	patches/ecj/bootver.patch \
 	patches/ecj/getannotation-cast.patch \
-	patches/ecj/override.patch
+	patches/ecj/override.patch \
+	patches/ecj/xsltproc.patch
 
 if DTDTYPE_QNAME
 ICEDTEA_ECJ_PATCHES += \
@@ -530,8 +530,6 @@
 	ALT_BOOTDIR="$(BOOT_DIR)" \
 	BUILD_ARCH_DIR="$(BUILD_ARCH_DIR)" \
 	ICEDTEA_CLS_DIR="$(ICEDTEA_CLS_DIR)" \
-	ICEDTEA_ENDORSED_DIR="$(ENDORSED_DIR)" \
-	ENDORSED="-Djava.endorsed.dirs=$(ENDORSED_DIR)" \
 	CLASSPATH="" \
 	LD_LIBRARY_PATH="" \
 	ZERO_BUILD="$(ICEDTEA_ZERO_BUILD)" \
@@ -612,7 +610,8 @@
 	JAR_KNOWS_J_OPTIONS="$(JAR_KNOWS_J_OPTIONS)" \
 	JAR_ACCEPTS_STDIN_LIST="$(JAR_ACCEPTS_STDIN_LIST)" \
 	DISABLE_NIMBUS="true" \
-	NO_DOCS="true"
+	NO_DOCS="true" \
+	XSLT="$(XSLTPROC)"
 
 # Source files
 # FIXME (distclean): Add generated file list
@@ -1272,11 +1271,6 @@
 	ln -sf $(JAR) $(ECJ_BOOT_DIR)/bin/jar
 	ln -sf $(abs_top_builddir)/javac $(ECJ_BOOT_DIR)/bin/javac
 	ln -sf $(abs_top_builddir)/javap $(ECJ_BOOT_DIR)/bin/javap
-	mkdir -p $(ECJ_BOOT_DIR)/lib/endorsed && \
-	ln -sf $(XALAN2_JAR) $(ECJ_BOOT_DIR)/lib/endorsed/xalan-j2.jar && \
-	ln -sf $(XALAN2_SERIALIZER_JAR) \
-	  $(ECJ_BOOT_DIR)/lib/endorsed/xalan-j2-serializer.jar && \
-	ln -sf $(XERCES2_JAR) $(ECJ_BOOT_DIR)/lib/endorsed/xerces-j2.jar
 	mkdir -p $(ECJ_BOOT_DIR)/jre/lib && \
 	cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(ECJ_BOOT_DIR)/jre/lib/rt.jar && \
 	ln -sf $(SYSTEM_JDK_DIR)/jre/lib/$(JRE_ARCH_DIR) \
--- a/NEWS	Wed Feb 15 09:40:29 2012 +0000
+++ b/NEWS	Fri Mar 09 13:57:42 2012 -0500
@@ -10,6 +10,9 @@
 
 New in release 1.9.14 (2012-XX-XX):
 
+* Bug Fixes
+  - PR732: Use xsltproc for bootstrap xslt in place of Xerces/Xalan 
+
 New in release 1.9.13 (2012-02-14):
 
 * Security fixes
--- a/acinclude.m4	Wed Feb 15 09:40:29 2012 +0000
+++ b/acinclude.m4	Fri Mar 09 13:57:42 2012 -0500
@@ -568,101 +568,6 @@
   AC_SUBST(ALT_JAR_CMD)
 ])
 
-AC_DEFUN([FIND_XALAN2_JAR],
-[
-  AC_MSG_CHECKING([for a xalan2 jar])
-  AC_ARG_WITH([xalan2-jar],
-              [AS_HELP_STRING(--with-xalan2-jar,specify location of the xalan2 jar)],
-  [
-    if test -f "${withval}" ; then
-      XALAN2_JAR="${withval}"
-    fi
-  ],
-  [
-    XALAN2_JAR=
-  ])
-  if test -z "${XALAN2_JAR}"; then
-    if test -e "/usr/share/java/xalan-j2.jar"; then
-      XALAN2_JAR=/usr/share/java/xalan-j2.jar
-    elif test -e "/usr/share/java/xalan2.jar"; then
-      XALAN2_JAR=/usr/share/java/xalan2.jar
-    elif test -e "/usr/share/xalan/lib/xalan.jar"; then
-      XALAN2_JAR=/usr/share/xalan/lib/xalan.jar
-    else
-      AC_MSG_RESULT(no)
-    fi
-  fi
-  if test -z "${XALAN2_JAR}"; then
-    AC_MSG_ERROR("A xalan2 jar was not found.")
-  fi
-  AC_MSG_RESULT(${XALAN2_JAR})
-  AC_SUBST(XALAN2_JAR)
-])
-
-AC_DEFUN([FIND_XALAN2_SERIALIZER_JAR],
-[
-  AC_MSG_CHECKING([for a xalan2 serializer jar])
-  AC_ARG_WITH([xalan2-serializer-jar],
-              [AS_HELP_STRING(--with-xalan2-serializer-jar,specify location of the xalan2-serializer jar)],
-  [
-    if test -f "${withval}" ; then
-      XALAN2_SERIALIZER_JAR="${withval}"
-    fi
-  ],
-  [
-    XALAN2_SERIALIZER_JAR=
-  ])
-  if test -z "${XALAN2_SERIALIZER_JAR}"; then
-    if test -e "/usr/share/java/xalan-j2-serializer.jar"; then
-      XALAN2_SERIALIZER_JAR=/usr/share/java/xalan-j2-serializer.jar
-    elif test -e "/usr/share/xalan-serializer/lib/serializer.jar"; then
-      XALAN2_SERIALIZER_JAR=/usr/share/xalan-serializer/lib/serializer.jar
-    elif test -e "/usr/share/java/serializer.jar"; then
-      XALAN2_SERIALIZER_JAR=/usr/share/java/serializer.jar
-    else
-      AC_MSG_RESULT(no)
-    fi
-  fi
-  if test -z "${XALAN2_SERIALIZER_JAR}"; then
-    AC_MSG_ERROR("A xalan2-serializer jar was not found.")
-  fi
-  AC_MSG_RESULT(${XALAN2_SERIALIZER_JAR})
-  AC_SUBST(XALAN2_SERIALIZER_JAR)
-])
-
-AC_DEFUN([FIND_XERCES2_JAR],
-[
-  AC_MSG_CHECKING([for a xerces2 jar])
-  AC_ARG_WITH([xerces2-jar],
-              [AS_HELP_STRING(--with-xerces2-jar,specify location of the xerces2 jar)],
-  [
-    if test -f "${withval}" ; then
-      XERCES2_JAR="${withval}"
-    fi
-  ],
-  [
-    XERCES2_JAR=
-  ])
-  if test -z "${XERCES2_JAR}"; then
-    if test -e "/usr/share/java/xerces-j2.jar"; then
-      XERCES2_JAR=/usr/share/java/xerces-j2.jar
-    elif test -e "/usr/share/java/xerces2.jar"; then
-      XERCES2_JAR=/usr/share/java/xerces2.jar
-    elif test -e "/usr/share/xerces-2/lib/xercesImpl.jar"; then
-      XERCES2_JAR=/usr/share/xerces-2/lib/xercesImpl.jar
-    elif test -e "/usr/share/java/xercesImpl.jar"; then
-      XERCES2_JAR=/usr/share/java/xercesImpl.jar
-    else
-      AC_MSG_RESULT(no)
-    fi
-  fi
-  if test -z "${XERCES2_JAR}"; then
-    AC_MSG_ERROR("A xerces2 jar was not found.")
-  fi
-  AC_MSG_RESULT(${XERCES2_JAR})
-  AC_SUBST(XERCES2_JAR)
-])
-
 AC_DEFUN([FIND_RHINO_JAR],
 [
   AC_MSG_CHECKING([whether to include Javascript support via Rhino])
--- a/configure.ac	Wed Feb 15 09:40:29 2012 +0000
+++ b/configure.ac	Fri Mar 09 13:57:42 2012 -0500
@@ -164,9 +164,7 @@
   FIND_JAR
   FIND_RMIC
   FIND_ECJ_JAR
-  FIND_XALAN2_JAR
-  FIND_XALAN2_SERIALIZER_JAR
-  FIND_XERCES2_JAR
+  FIND_TOOL([XSLTPROC], [xsltproc])
   AC_CONFIG_FILES([javac], [chmod +x javac])
   AC_CONFIG_FILES([javap], [chmod +x javap])
 fi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/ecj/xsltproc.patch	Fri Mar 09 13:57:42 2012 -0500
@@ -0,0 +1,54 @@
+diff -r 591c7dc0b2ee make/linux/makefiles/jvmti.make
+--- openjdk-ecj.orig/hotspot/make/linux/makefiles/jvmti.make  Thu May 19 13:27:44 2011 +0200
++++ openjdk-ecj/hotspot/make/linux/makefiles/jvmti.make Wed May 25 20:01:25 2011 +0100
+@@ -59,8 +59,6 @@
+ 
+ JvmtiGeneratedFiles = $(JvmtiGeneratedNames:%=$(JvmtiOutDir)/%)
+ 
+-XSLT = $(QUIETLY) $(REMOTE) $(RUN.JAVA) $(ENDORSED) -classpath $(JvmtiOutDir) jvmtiGen
+-
+ .PHONY: all jvmtidocs clean cleanall
+ 
+ # #########################################################################
+@@ -77,34 +75,34 @@
+ 
+ $(JvmtiOutDir)/jvmtiEnter.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
+ 	@echo Generating $@
+-	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnter.cpp -PARAM interface jvmti
++	$(XSLT) -o $(JvmtiOutDir)/jvmtiEnter.cpp --stringparam interface jvmti $(JvmtiSrcDir)/jvmtiEnter.xsl $(JvmtiSrcDir)/jvmti.xml
+ 
+ $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp: $(JvmtiGenClass) $(InterpreterSrcDir)/bytecodeInterpreter.cpp $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl
+ 	@echo Generating $@
+-	$(XSLT) -IN $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml -XSL $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl -OUT $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp 
++	$(XSLT) -o $(JvmtiOutDir)/bytecodeInterpreterWithChecks.cpp $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xsl $(InterpreterSrcDir)/bytecodeInterpreterWithChecks.xml
+ 
+ $(JvmtiOutDir)/jvmtiEnterTrace.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnter.xsl
+ 	@echo Generating $@
+-	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnter.xsl -OUT $(JvmtiOutDir)/jvmtiEnterTrace.cpp -PARAM interface jvmti -PARAM trace Trace
++	$(XSLT) -o $(JvmtiOutDir)/jvmtiEnterTrace.cpp --stringparam interface jvmti --stringparam trace Trace $(JvmtiSrcDir)/jvmtiEnter.xsl $(JvmtiSrcDir)/jvmti.xml
+ 
+ $(JvmtiOutDir)/jvmtiEnvRecommended.cpp: $(both) $(JvmtiSrcDir)/jvmtiEnv.xsl $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiEnvFillClass)
+ 	@echo Generating $@
+-	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiEnv.xsl -OUT $(JvmtiOutDir)/jvmtiEnvStub.cpp
++	$(XSLT) -o $(JvmtiOutDir)/jvmtiEnvStub.cpp $(JvmtiSrcDir)/jvmtiEnv.xsl $(JvmtiSrcDir)/jvmti.xml
+ 	$(QUIETLY) $(REMOTE) $(RUN.JAVA) -classpath $(JvmtiOutDir) jvmtiEnvFill $(JvmtiSrcDir)/jvmtiEnv.cpp $(JvmtiOutDir)/jvmtiEnvStub.cpp $(JvmtiOutDir)/jvmtiEnvRecommended.cpp
+ 
+ $(JvmtiOutDir)/jvmtiEnv.hpp: $(both) $(JvmtiSrcDir)/jvmtiHpp.xsl
+ 	@echo Generating $@
+-	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiHpp.xsl -OUT $(JvmtiOutDir)/jvmtiEnv.hpp
++	$(XSLT) -o $(JvmtiOutDir)/jvmtiEnv.hpp $(JvmtiSrcDir)/jvmtiHpp.xsl $(JvmtiSrcDir)/jvmti.xml
+ 
+ $(JvmtiOutDir)/jvmti.h: $(both) $(JvmtiSrcDir)/jvmtiH.xsl
+ 	@echo Generating $@
+-	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmtiH.xsl -OUT $(JvmtiOutDir)/jvmti.h
++	$(XSLT) -o $(JvmtiOutDir)/jvmti.h $(JvmtiSrcDir)/jvmtiH.xsl $(JvmtiSrcDir)/jvmti.xml
+ 
+ jvmtidocs:  $(JvmtiOutDir)/jvmti.html 
+ 
+ $(JvmtiOutDir)/jvmti.html: $(both) $(JvmtiSrcDir)/jvmti.xsl
+ 	@echo Generating $@
+-	$(XSLT) -IN $(JvmtiSrcDir)/jvmti.xml -XSL $(JvmtiSrcDir)/jvmti.xsl -OUT $(JvmtiOutDir)/jvmti.html
++	$(XSLT) -o $(JvmtiOutDir)/jvmti.html $(JvmtiSrcDir)/jvmti.xsl $(JvmtiSrcDir)/jvmti.xml
+ 
+ # #########################################################################
+