/hg/icedtea7: PR1119: Only add classes to rt-source-files.txt if...

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Wed Aug 15 17:07:40 PDT 2012


changeset 60bd733bd20c in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=60bd733bd20c
author: Andrew John Hughes <gnu_andrew at member.fsf.org>
date: Thu Aug 16 01:07:29 2012 +0100

	PR1119: Only add classes to rt-source-files.txt if the class (or one or more of its methods/fields) are actually missing from the boot JDK

	2012-08-16  Andrew John Hughes  <gnu_andrew at member.fsf.org>

		* Makefile.am:
		(ICEDTEA_BOOTSTRAP_CLASSES): Only add
		BasicDirectoryModel if addPropertyListener
		is missing.  Dispense with LACKS_SUN_AWT_TOOLKIT
		conditional.
		(rt-source-files.txt): Remove dead ICEDTEA_BOOTSTRAP_DIRS
		which has not been set for some time.
		(rt-class-files.stamp): Replace LACKS_SUN_AWT_TOOLKIT
		conditional with test of contents of ICEDTEA_BOOTSTRAP_CLASSES.
		Note; need to use grep as field contains whitespace.
		(rt.stamp): Likewise.
		* configure.ac:
		Add call to IT_CHECK_FOR_METHOD to look for
		javax.swing.plaf.basic.BasicDirectoryModel.addPropertyChangeListener.
		Improve readability using line breaks.
		* NEWS: Updated.


diffstat:

 ChangeLog    |  19 +++++++++++++++++++
 Makefile.am  |  53 +++++++++++++++++++++++++----------------------------
 NEWS         |   2 ++
 configure.ac |  14 ++++++++++++--
 4 files changed, 58 insertions(+), 30 deletions(-)

diffs (152 lines):

diff -r 32dfd32d5674 -r 60bd733bd20c ChangeLog
--- a/ChangeLog	Wed Aug 15 13:20:11 2012 +0200
+++ b/ChangeLog	Thu Aug 16 01:07:29 2012 +0100
@@ -1,3 +1,22 @@
+2012-08-16  Andrew John Hughes  <gnu_andrew at member.fsf.org>
+
+	* Makefile.am:
+	(ICEDTEA_BOOTSTRAP_CLASSES): Only add
+	BasicDirectoryModel if addPropertyListener
+	is missing.  Dispense with LACKS_SUN_AWT_TOOLKIT
+	conditional.
+	(rt-source-files.txt): Remove dead ICEDTEA_BOOTSTRAP_DIRS
+	which has not been set for some time.
+	(rt-class-files.stamp): Replace LACKS_SUN_AWT_TOOLKIT
+	conditional with test of contents of ICEDTEA_BOOTSTRAP_CLASSES.
+	Note; need to use grep as field contains whitespace.
+	(rt.stamp): Likewise.
+	* configure.ac:
+	Add call to IT_CHECK_FOR_METHOD to look for
+	javax.swing.plaf.basic.BasicDirectoryModel.addPropertyChangeListener.
+	Improve readability using line breaks.
+	* NEWS: Updated.
+
 2012-08-15  Xerxes RÃ¥nby  <xerxes at zafena.se>
 	    Robert Lougher  <rob at jamvm.org.uk>
 
diff -r 32dfd32d5674 -r 60bd733bd20c Makefile.am
--- a/Makefile.am	Wed Aug 15 13:20:11 2012 +0200
+++ b/Makefile.am	Thu Aug 16 01:07:29 2012 +0100
@@ -101,12 +101,6 @@
 # Sources used from OpenJDK.
 ICEDTEA_BOOTSTRAP_CLASSES =
 
-if LACKS_SUN_AWT_TOOLKIT
-#PR42003 - Missing javax.swing.plaf.basic.BasicDirectoryModel methods cause OpenJDK build failure 
-ICEDTEA_BOOTSTRAP_CLASSES += \
-	$(SHARE)/javax/swing/plaf/basic/BasicDirectoryModel.java
-endif
-
 #PR43148 - javac fails due to missing java.util.regex.Matcher.quoteReplacement
 if LACKS_JAVA_UTIL_REGEX_MATCHER_QUOTEREPLACEMENT
 ICEDTEA_BOOTSTRAP_CLASSES += \
@@ -125,6 +119,12 @@
 	$(SHARE)/javax/management/modelmbean/ModelMBeanInfo.java
 endif
 
+#PR42003 - Missing javax.swing.plaf.basic.BasicDirectoryModel methods cause OpenJDK build failure 
+if LACKS_JAVAX_SWING_PLAF_BASIC_BASICDIRECTORYMODEL_ADDPROPERTYCHANGELISTENER
+ICEDTEA_BOOTSTRAP_CLASSES += \
+	$(SHARE)/javax/swing/plaf/basic/BasicDirectoryModel.java
+endif
+
 # Settings for javac
 
 IT_LANGUAGE_SOURCE_VERSION=6
@@ -2368,39 +2368,36 @@
 
 rt-source-files.txt: $(OPENJDK_BOOT_TREE)
 	rm -f $@
-	for dir in $(ICEDTEA_BOOTSTRAP_DIRS) ; \
-	do \
-	$(FIND) $(abs_top_builddir)/$$dir -name '*.java' >> $@; \
-	done
 	for files in $(ICEDTEA_BOOTSTRAP_CLASSES) ; \
 	do \
 	  echo $$files >> $@ ; \
 	done
+	touch $@
 
 stamps/rt-class-files.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) rt-source-files.txt
 	mkdir -p lib/rt
-if LACKS_SUN_AWT_TOOLKIT
-	$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d lib/rt \
-	  -classpath $(SYSTEM_JDK_DIR)/jre/lib/rt.jar \
-          -sourcepath '$(SOURCEPATH_DIRS)' \
-          -bootclasspath \'\' @rt-source-files.txt ;
-endif
+	if echo $(ICEDTEA_BOOTSTRAP_CLASSES) | grep '\S' &> /dev/null ; then \
+	  $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d lib/rt \
+	    -classpath $(SYSTEM_JDK_DIR)/jre/lib/rt.jar \
+            -sourcepath '$(SOURCEPATH_DIRS)' \
+            -bootclasspath \'\' @rt-source-files.txt ; \
+	fi
 	mkdir -p stamps
 	touch $@
 
 stamps/rt.stamp: stamps/rt-class-files.stamp
-if LACKS_SUN_AWT_TOOLKIT
-	(set -e ; \
-	 cd lib/rt ; \
-	 for dirs in $(ICEDTEA_BOOTSTRAP_RESOURCES) ; \
-	   do \
-	   destpath=`echo $$dirs|sed -e 's#$(LANGTOOLS)/##' -e 's#$(SHARE)/##'` ; \
-	   mkdir -p `dirname $$destpath` ; \
-	   cp -a ../../$$dirs $$destpath ; \
-	 done ; \
-	 $(ZIP) -qur $(STAGE1_BOOT_DIR)/jre/lib/rt.jar \
-	 com java javax sun );
-endif
+	if echo $(ICEDTEA_BOOTSTRAP_CLASSES) | grep '\S' &> /dev/null ; then \
+	  (set -e ; \
+	   cd lib/rt ; \
+	   for dirs in $(ICEDTEA_BOOTSTRAP_RESOURCES) ; \
+	     do \
+	     destpath=`echo $$dirs|sed -e 's#$(LANGTOOLS)/##' -e 's#$(SHARE)/##'` ; \
+	     mkdir -p `dirname $$destpath` ; \
+	     cp -a ../../$$dirs $$destpath ; \
+	   done ; \
+	   $(ZIP) -qur $(STAGE1_BOOT_DIR)/jre/lib/rt.jar \
+	     com java javax sun ); \
+	fi
 	mkdir -p stamps
 	touch $@
 
diff -r 32dfd32d5674 -r 60bd733bd20c NEWS
--- a/NEWS	Wed Aug 15 13:20:11 2012 +0200
+++ b/NEWS	Thu Aug 16 01:07:29 2012 +0100
@@ -16,6 +16,8 @@
   - PR902: PulseAudioClip getMicrosecondsLength() returns length in milliseconds, not microseconds
   - PR986: IcedTea7 fails to build with IcedTea6 CACAO due to low max heap size
   - PR1050: Stream objects not garbage collected
+  - PR1119: Only add classes to rt-source-files.txt if the class (or one or more of its methods/fields)
+    are actually missing from the boot JDK
 * JamVM
   - ARMv6 armhf: Changes for Raspbian (Raspberry Pi)
   - PPC: Don't use lwsync if it isn't supported
diff -r 32dfd32d5674 -r 60bd733bd20c configure.ac
--- a/configure.ac	Wed Aug 15 13:20:11 2012 +0200
+++ b/configure.ac	Thu Aug 16 01:07:29 2012 +0100
@@ -117,10 +117,20 @@
 IT_PR40630_CHECK
 IT_CHECK_FOR_CLASS([JAVAX_ANNOTATION_RESOURCE], [javax.annotation.Resource])
 IT_GETDTDTYPE_CHECK
-IT_CHECK_FOR_CLASS([SUN_AWT_TOOLKIT], [sun.awt.SunToolkit])
 IT_CHECK_FOR_CLASS([JAVAX_MANAGEMENT_REMOTE_JMXSERVICEURL], [javax.management.remote.JMXServiceURL])
 IT_CHECK_FOR_CLASS([JAVAX_MANAGEMENT_MODELMBEAN_MODELMBEANINFO], [javax.management.modelmbean.ModelMBeanInfo])
-IT_CHECK_FOR_METHOD([JAVA_UTIL_REGEX_MATCHER_QUOTEREPLACEMENT],[java.util.regex.Matcher.quoteReplacement],[java.util.regex.Matcher],["quoteReplacement",String.class],java.util.regex.Matcher.quoteReplacement("Blah"))
+IT_CHECK_FOR_METHOD([JAVA_UTIL_REGEX_MATCHER_QUOTEREPLACEMENT],
+  [java.util.regex.Matcher.quoteReplacement],
+  [java.util.regex.Matcher],
+  ["quoteReplacement",String.class],
+  [java.util.regex.Matcher.quoteReplacement("Blah")]
+)
+IT_CHECK_FOR_METHOD([JAVAX_SWING_PLAF_BASIC_BASICDIRECTORYMODEL_ADDPROPERTYCHANGELISTENER],
+  [javax.swing.plaf.basic.BasicDirectoryModel.addPropertyChangeListener],
+  [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)]
+)
 IT_CHECK_ENABLE_WARNINGS
 IT_DIAMOND_CHECK
 IT_BYTECODE7_CHECK



More information about the distro-pkg-dev mailing list