changeset 2930:ac23a08f7709

Fix bootstrap build with OpenJDK6 by pre-building new CORBA classes. 2012-11-28 Andrew John Hughes <gnu.andrew@redhat.com> * Makefile.am: (ICEDTEA_BOOTSTRAP_CLASSES): Add the generated file ORBUtilSystemException.java if the build JDK has the old version. * configure.ac: Add checks for com.sun.corba.se.impl.logging.ORBUtilSystemException and the method ioExceptionOnClose(Throwable). * patches/ecj/corba-dependencies.patch: Regenerated against new version of icedtea.patch. * patches/ecj/icedtea.patch: Remove unneeded addition of bootclasspath.
author Andrew John Hughes <gnu.andrew@redhat.com>
date Wed, 28 Nov 2012 10:38:33 +0000
parents dfe3209fcf64
children 5e25810d47d2
files ChangeLog Makefile.am configure.ac patches/ecj/corba-dependencies.patch patches/ecj/icedtea.patch
diffstat 5 files changed, 41 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Tue Nov 20 16:12:30 2012 +0000
+++ b/ChangeLog	Wed Nov 28 10:38:33 2012 +0000
@@ -1,3 +1,17 @@
+2012-11-28  Andrew John Hughes  <gnu.andrew@redhat.com>
+
+	* Makefile.am:
+	(ICEDTEA_BOOTSTRAP_CLASSES): Add the generated
+	file ORBUtilSystemException.java if the build JDK
+	has the old version.
+	* configure.ac:
+	Add checks for com.sun.corba.se.impl.logging.ORBUtilSystemException
+	and the method ioExceptionOnClose(Throwable).
+	* patches/ecj/corba-dependencies.patch:
+	Regenerated against new version of icedtea.patch.
+	* patches/ecj/icedtea.patch:
+	Remove unneeded addition of bootclasspath.
+
 2012-11-20  Andrew John Hughes  <gnu.andrew@redhat.com>
 
 	RH513605: Updating/Installing OpenJDK should recreate
--- a/Makefile.am	Tue Nov 20 16:12:30 2012 +0000
+++ b/Makefile.am	Wed Nov 28 10:38:33 2012 +0000
@@ -80,6 +80,14 @@
 	$(SHARE)/javax/swing/plaf/basic/BasicDirectoryModel.java
 endif
 
+# Workaround for old OpenJDK versions with older CORBA classes
+if !LACKS_ORBUTILSYSTEMEXCEPTION
+if LACKS_ORBUTILSYSTEMEXCEPTION_IOEXCEPTIONONCLOSE_THROWABLE
+ICEDTEA_BOOTSTRAP_CLASSES += \
+	$(abs_top_srcdir)/generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java
+endif
+endif
+
 # Flags
 MEMORY_LIMIT = -J-Xmx1024m
 IT_CFLAGS=$(CFLAGS) $(ARCHFLAG)
--- a/configure.ac	Tue Nov 20 16:12:30 2012 +0000
+++ b/configure.ac	Wed Nov 28 10:38:33 2012 +0000
@@ -58,12 +58,21 @@
 IT_DISABLE_JDK_TESTS
 
 IT_CHECK_FOR_METHOD([JAVAX_SWING_PLAF_BASIC_BASICDIRECTORYMODEL_ADDPROPERTYCHANGELISTENER],
-  [javax.swing.plaf.basic.BasicDirectoryModel.addPropertyChangeListener],
+  [javax.swing.plaf.basic.BasicDirectoryModel.addPropertyChangeListener(PropertyChangeListener)],
   [javax.swing.plaf.basic.BasicDirectoryModel],
   ["addPropertyChangeListener",java.beans.PropertyChangeListener.class],
   [javax.swing.plaf.basic.BasicDirectoryModel model = new javax.swing.plaf.basic.BasicDirectoryModel(new javax.swing.JFileChooser()); model.addPropertyChangeListener(model)]
 )
 
+# Workaround issue with old CORBA classes in old OpenJDK builds
+IT_CHECK_FOR_CLASS([ORBUTILSYSTEMEXCEPTION],[com.sun.corba.se.impl.logging.ORBUtilSystemException])
+IT_CHECK_FOR_METHOD([ORBUTILSYSTEMEXCEPTION_IOEXCEPTIONONCLOSE_THROWABLE],
+  [com.sun.corba.se.impl.logging.ORBUtilSystemException.ioExceptionOnClose(Throwable)],
+  [com.sun.corba.se.impl.logging.ORBUtilSystemException],
+  ["ioExceptionOnClose",java.lang.Throwable.class],
+  [new com.sun.corba.se.impl.logging.ORBUtilSystemException(null).ioExceptionOnClose(new InternalError())]
+)
+
 # Use xvfb-run if found to run gui tests (check-jdk).
 AC_CHECK_PROG(XVFB_RUN_CMD, xvfb-run, [xvfb-run -a -e xvfb-errors], [])
 AC_SUBST(XVFB_RUN_CMD)
--- a/patches/ecj/corba-dependencies.patch	Tue Nov 20 16:12:30 2012 +0000
+++ b/patches/ecj/corba-dependencies.patch	Wed Nov 28 10:38:33 2012 +0000
@@ -1,15 +1,16 @@
-diff -Nru openjdk.orig/corba/make/common/Rules.gmk openjdk/corba/make/common/Rules.gmk
---- openjdk-ecj.orig/corba/make/common/Rules.gmk	2012-08-15 16:52:40.749869095 +0100
-+++ openjdk-ecj/corba/make/common/Rules.gmk	2012-08-15 16:59:16.800640493 +0100
-@@ -202,9 +202,11 @@
+diff -Nru openjdk-ecj.orig/corba/make/common/Rules.gmk openjdk-ecj/corba/make/common/Rules.gmk
+--- openjdk-ecj.orig/corba/make/common/Rules.gmk	2012-10-26 19:21:47.000000000 +0100
++++ openjdk-ecj/corba/make/common/Rules.gmk	2012-11-28 00:38:06.787628798 +0000
+@@ -201,8 +201,12 @@
+ 	  $(ECHO) "# Java sources to be compiled: (listed in file $(JAVA_SOURCE_LIST))"; \
  	  $(CAT) $(JAVA_SOURCE_LIST); \
  	  $(ECHO) "# Running javac:"; \
- 	  $(ECHO) $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -bootclasspath $(ICEDTEA_RT):$(CLASSBINDIR) \
--	    -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
+-	  $(ECHO) $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
+-	  $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
++	  $(ECHO) $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) \
 +	    -sourcepath "$(SOURCEPATH):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes" \
 +	    -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
- 	  $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -bootclasspath $(ICEDTEA_RT):$(CLASSBINDIR) \
--	    -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
++	  $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) \
 +	    -sourcepath "$(SOURCEPATH):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes" \
 +	    -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
  	fi
--- a/patches/ecj/icedtea.patch	Tue Nov 20 16:12:30 2012 +0000
+++ b/patches/ecj/icedtea.patch	Wed Nov 28 10:38:33 2012 +0000
@@ -327,22 +327,6 @@
  
  #
  # We want to privatize JVM symbols on Solaris. This is so the user can
-diff -Nru openjdk-ecj.orig/corba/make/common/Rules.gmk openjdk-ecj/corba/make/common/Rules.gmk
---- openjdk-ecj.orig/corba/make/common/Rules.gmk	2012-01-18 14:06:25.120768497 +0000
-+++ openjdk-ecj/corba/make/common/Rules.gmk	2012-01-18 21:44:43.635816486 +0000
-@@ -201,8 +201,10 @@
- 	  $(ECHO) "# Java sources to be compiled: (listed in file $(JAVA_SOURCE_LIST))"; \
- 	  $(CAT) $(JAVA_SOURCE_LIST); \
- 	  $(ECHO) "# Running javac:"; \
--	  $(ECHO) $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
--	  $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
-+	  $(ECHO) $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -bootclasspath $(ICEDTEA_RT):$(CLASSBINDIR) \
-+	    -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
-+	  $(JAVAC_CMD) $(JAVAC_PREFER_SOURCE) -bootclasspath $(ICEDTEA_RT):$(CLASSBINDIR) \
-+	    -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
- 	fi
- 	@$(java-vm-cleanup)
- 
 diff -Nru openjdk-ecj.orig/corba/make/common/shared/Defs-java.gmk openjdk-ecj/corba/make/common/shared/Defs-java.gmk
 --- openjdk-ecj.orig/corba/make/common/shared/Defs-java.gmk	2012-01-18 16:50:57.569109033 +0000
 +++ openjdk-ecj/corba/make/common/shared/Defs-java.gmk	2012-01-18 21:43:04.150185964 +0000