changeset 3013:410b4993d8df

Avoid referring to the bootstrap runtime library when compiling the JDK, so as to avoid version conflicts. 2013-07-09 Andrew John Hughes <gnu.andrew@redhat.com> * Makefile.am: (ICEDTEA_ECJ_PATCHES): Add new patch. * patches/ecj/jcp-importsources.patch: Include imported JAXP sources in sourcepath when building org.jcp code. 2013-07-09 Omair Majid <omajid@redhat.com> * patches/ecj/needs-6.patch: Build additional code using -source 6. 2013-05-15 Andrew John Hughes <gnu.andrew@member.fsf.org> * Makefile.am: (ICEDTEA_BOOTSTRAP_CLASSES): Add java.sql.SQLException if any of the constructors are missing. * javac.in: Handle -Xbootclasspath/p, -Xbootclasspath and -Xbootclasspath/a by prepending, setting or appending its value to the bootclasspath option used to ecj, respectively. * configure.ac: Test for the java.sql.SQLException constructors. * patches/ecj/icedtea.patch: Drop addition of ICEDTEA_RT in common/Rules.gmk in JDK altogether. * patches/ecj/needs-6.patch: Add java.awt Makefile.
author Andrew John Hughes <gnu.andrew@redhat.com>
date Wed, 10 Jul 2013 14:25:35 +0100
parents 80e8d9771395
children 72801116cb84
files ChangeLog Makefile.am configure.ac javac.in patches/ecj/icedtea.patch patches/ecj/needs-6.patch
diffstat 6 files changed, 106 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Jul 10 14:12:46 2013 +0100
+++ b/ChangeLog	Wed Jul 10 14:25:35 2013 +0100
@@ -1,3 +1,33 @@
+2013-07-09  Andrew John Hughes  <gnu.andrew@redhat.com>
+
+	* Makefile.am:
+	(ICEDTEA_ECJ_PATCHES): Add new patch.
+	* patches/ecj/jcp-importsources.patch:
+	Include imported JAXP sources in sourcepath
+	when building org.jcp code.
+
+2013-07-09  Omair Majid  <omajid@redhat.com>
+
+	* patches/ecj/needs-6.patch: Build additional code
+	using -source 6.
+
+2013-05-15  Andrew John Hughes  <gnu.andrew@member.fsf.org>
+
+	* Makefile.am:
+	(ICEDTEA_BOOTSTRAP_CLASSES): Add java.sql.SQLException
+	if any of the constructors are missing.
+	* javac.in: Handle -Xbootclasspath/p, -Xbootclasspath
+	and -Xbootclasspath/a by prepending, setting or appending
+	its value to the bootclasspath option used to ecj,
+	respectively.
+	* configure.ac: Test for the java.sql.SQLException
+	constructors.
+	* patches/ecj/icedtea.patch:
+	Drop addition of ICEDTEA_RT in common/Rules.gmk in JDK
+	altogether.
+	* patches/ecj/needs-6.patch:
+	Add java.awt Makefile.
+
 2013-07-10  Andrew John Hughes  <gnu.andrew@redhat.com>
 
 	* configure.ac: Bump to 1.12.6.
--- a/Makefile.am	Wed Jul 10 14:12:46 2013 +0100
+++ b/Makefile.am	Wed Jul 10 14:25:35 2013 +0100
@@ -140,6 +140,27 @@
 	$(SHARE)/javax/net/ssl/KeyStoreBuilderParameters.java
 endif
 
+#PR57420 - java.sql.SQLException
+if LACKS_JAVA_SQL_EXCEPTION_THROWABLE
+ICEDTEA_BOOTSTRAP_CLASSES += \
+	$(SHARE)/java/sql/SQLException.java
+else
+if LACKS_JAVA_SQL_EXCEPTION_REASON_THROWABLE
+ICEDTEA_BOOTSTRAP_CLASSES += \
+	$(SHARE)/java/sql/SQLException.java
+else
+if LACKS_JAVA_SQL_EXCEPTION_REASON_STATE_THROWABLE
+ICEDTEA_BOOTSTRAP_CLASSES += \
+	$(SHARE)/java/sql/SQLException.java
+else
+if LACKS_JAVA_SQL_EXCEPTION_REASON_STATE_CODE_THROWABLE
+ICEDTEA_BOOTSTRAP_CLASSES += \
+	$(SHARE)/java/sql/SQLException.java
+endif
+endif
+endif
+endif
+
 # Flags
 MEMORY_LIMIT = -J-Xmx1024m
 IT_CFLAGS=$(CFLAGS) $(ARCHFLAG)
@@ -753,7 +774,8 @@
 	patches/ecj/corba-dependencies.patch \
 	patches/ecj/jaxws-langtools-dependency.patch \
 	patches/ecj/jaxws-jdk-dependency.patch \
-	patches/ecj/hotspot-jdk-dependency.patch
+	patches/ecj/hotspot-jdk-dependency.patch \
+	patches/ecj/jcp-importsources.patch
 
 if DTDTYPE_QNAME
 ICEDTEA_ECJ_PATCHES += \
--- a/configure.ac	Wed Jul 10 14:12:46 2013 +0100
+++ b/configure.ac	Wed Jul 10 14:25:35 2013 +0100
@@ -154,6 +154,12 @@
   [new javax.net.ssl.KeyStoreBuilderParameters(new java.util.ArrayList<java.security.KeyStore.Builder>()).getParameters()]
 )
 
+dnl PR57420 - java.sql.SQLException
+IT_CHECK_FOR_CONSTRUCTOR([JAVA_SQL_EXCEPTION_THROWABLE],[java.sql.SQLException],[Throwable.class],[new Throwable()])
+IT_CHECK_FOR_CONSTRUCTOR([JAVA_SQL_EXCEPTION_REASON_THROWABLE],[java.sql.SQLException],[String.class,Throwable.class],["Something went wrong",new Throwable()])
+IT_CHECK_FOR_CONSTRUCTOR([JAVA_SQL_EXCEPTION_REASON_STATE_THROWABLE],[java.sql.SQLException],[String.class,String.class,Throwable.class],["Something went wrong","",new Throwable()])
+IT_CHECK_FOR_CONSTRUCTOR([JAVA_SQL_EXCEPTION_REASON_STATE_CODE_THROWABLE],[java.sql.SQLException],[String.class,String.class,Integer.TYPE,Throwable.class],["Something went wrong","",666,new Throwable()])
+
 # 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/javac.in	Wed Jul 10 14:12:46 2013 +0100
+++ b/javac.in	Wed Jul 10 14:25:35 2013 +0100
@@ -7,7 +7,29 @@
 my $JAVAC_WARNINGS="-nowarn";
 
 my @bcoption;
-push @bcoption, '-bootclasspath', glob '@abs_top_builddir@/bootstrap/jdk1.6.0/jre/lib/rt.jar'
+my @bcoptionsp = grep {$_ =~ '^-Xbootclasspath/p:' } @ARGV;
+my @bcoptions = grep {$_ =~ '^-Xbootclasspath:' } @ARGV;
+my @bcoptionsa = grep {$_ =~ '^-Xbootclasspath/a:' } @ARGV;
+my $bcp = $bcoptionsp[0];
+my $bc = $bcoptions[0];
+my $bca = $bcoptionsa[0];
+my $systembc = glob '@abs_top_builddir@/bootstrap/jdk1.6.0/jre/lib/rt.jar';
+if ($bcp)
+{
+    $bcp =~ s/^[^:]*://;
+    $systembc = join ":", $bcp, $systembc;
+}
+if ($bc)
+{
+    $bc =~ s/^[^:]*://;
+    $systembc = $bc;
+}
+if ($bca)
+{
+    $bca =~ s/^[^:]*://;
+    $systembc = join ":", $systembc, $bca;
+}
+push @bcoption, '-bootclasspath', $systembc
     unless grep {$_ eq '-bootclasspath'} @ARGV;
 my @ecj_parms = ($ECJ_WARNINGS, @bcoption);
 my @javac_parms = ($JAVAC_WARNINGS, '-Xprefer:source', '-XDignore.symbol.file=true');
--- a/patches/ecj/icedtea.patch	Wed Jul 10 14:12:46 2013 +0100
+++ b/patches/ecj/icedtea.patch	Wed Jul 10 14:25:35 2013 +0100
@@ -602,18 +602,6 @@
 diff -Nru openjdk-ecj.orig/jdk/make/common/Rules.gmk openjdk-ecj/jdk/make/common/Rules.gmk
 --- openjdk-ecj.orig/jdk/make/common/Rules.gmk	2011-01-07 21:32:51.000000000 +0000
 +++ openjdk-ecj/jdk/make/common/Rules.gmk	2012-01-18 21:43:04.150185964 +0000
-@@ -235,8 +235,9 @@
- 	  $(ECHO) "# Java sources to be compiled: (listed in file $(JAVA_SOURCE_LIST))"; \
- 	  $(CAT) $(JAVA_SOURCE_LIST); \
- 	  $(ECHO) "# Running javac:"; \
--	  $(ECHO) $(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
--	  $(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
-+	   $(ECHO) $(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -bootclasspath "$(ICEDTEA_RT):$(ICEDTEA_JCE):$(CLASSDESTDIR)" \
-+         -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
-+         $(JAVAC_CMD) -sourcepath "$(SOURCEPATH)" -bootclasspath "$(ICEDTEA_RT):$(ICEDTEA_JCE):$(CLASSDESTDIR)" -d $(CLASSDESTDIR) @$(JAVA_SOURCE_LIST); \
- 	fi
- 	@$(java-vm-cleanup)
- 
 @@ -302,6 +303,8 @@
  	$(JAVAH_CMD) -d $(CLASSHDRDIR)/ \
  		$(CLASSES.export) $(subst $$,\$$,$(EXPORTED_inner))
--- a/patches/ecj/needs-6.patch	Wed Jul 10 14:12:46 2013 +0100
+++ b/patches/ecj/needs-6.patch	Wed Jul 10 14:25:35 2013 +0100
@@ -46,3 +46,27 @@
  
  #
  # Files to compile
+diff --git a/make/java/awt/Makefile b/make/java/awt/Makefile
+--- openjdk-ecj/jdk/make/java/awt/Makefile
++++ openjdk-ecj/jdk/make/java/awt/Makefile
+@@ -27,6 +27,8 @@
+ PACKAGE = java.awt
+ PRODUCT = sun
+ include $(BUILDDIR)/common/Defs.gmk
++LANGUAGE_VERSION = -source 6
++CLASS_VERSION = -target 6
+ 
+ 
+ #
+diff -ruN openjdk-ecj.orig/jdk/make/java/java/Makefile openjdk-ecj/jdk/make/java/java/Makefile
+--- openjdk-ecj.orig/jdk/make/java/java/Makefile	2012-10-26 14:25:40.000000000 -0400
++++ openjdk-ecj/jdk/make/java/java/Makefile	2013-07-09 15:46:52.421633685 -0400
+@@ -33,6 +33,8 @@
+ LIBRARY = java
+ PRODUCT = java
+ include $(BUILDDIR)/common/Defs.gmk
++LANGUAGE_VERSION = -source 6
++CLASS_VERSION = -target 6
+ 
+ # windows compiler flags
+ ifeq ($(PLATFORM),windows)