This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix libjava bootstrap (PR java/37893)


Hi!

After last night's libjava commit, libjava doesn't build anymore, unless
in --enable-java-maintainer-mode.  The commit revamped tools.zip target
of classpath/tools/Makefile*, and while all-classes.lst has been generated
unconditionally before, it is now generated only if JAVA_MAINTAINER_MODE.
But it is used always, it is mentioned in libjava/Makefile.am's
libgcj_tools_la_GCJFLAGS.

Fixed thusly, ok to commit?

BTW, the gcc_assert (finput); in jcf-parse.c is weird, asserts should be
used to ensure internal compiler consistency, not ensure that a file, whose
filename was passed by the user on the command line, exists and can be
opened.

2008-10-23  Jakub Jelinek  <jakub@redhat.com>

	PR java/37893
	* tools/Makefile.am (tools.zip): Generate *.lst files always, not
	just in JAVA_MAINTAINER_MODE.
	* tools/Makefile.in: Regenerated.

--- libjava/classpath/tools/Makefile.am.jj	2008-10-23 09:07:06.000000000 +0200
+++ libjava/classpath/tools/Makefile.am	2008-10-23 10:16:08.000000000 +0200
@@ -329,10 +329,8 @@ if CREATE_GJDOC_PARSER
 	  $(srcdir)/gnu/classpath/tools/gjdoc/expr/java-expression.g
 endif
 endif
-## Compile ASM separately as it is latin-1 encoded.
+endif
 	find $(srcdir)/external/asm -name '*.java' -print > asm.lst
-	AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
-	  $$AC -g -w -d $(srcdir)/asm @asm.lst
 	find $(srcdir)/gnu/classpath/tools \
 	     $(srcdir)/com/sun/javadoc \
 	     $(srcdir)/com/sun/tools/doclets \
@@ -350,8 +348,12 @@ endif
 	else \
 	    echo -n > vm-tools.lst; \
 	fi
-	$(JCOMPILER) $(USE_JAVAC_FLAGS) -g -d $(srcdir)/classes @classes.lst @vm-tools.lst
 	cat classes.lst asm.lst vm-tools.lst > all-classes.lst
+if JAVA_MAINTAINER_MODE
+## Compile ASM separately as it is latin-1 encoded.
+	AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
+	  $$AC -g -w -d $(srcdir)/asm @asm.lst
+	$(JCOMPILER) $(USE_JAVAC_FLAGS) -g -d $(srcdir)/classes @classes.lst @vm-tools.lst
 endif
 ## END GCJ LOCAL
 ## Copy over tools resource files.
--- libjava/classpath/tools/Makefile.in.jj	2008-10-23 09:07:06.000000000 +0200
+++ libjava/classpath/tools/Makefile.in	2008-10-23 10:16:21.000000000 +0200
@@ -1315,28 +1315,28 @@ $(TOOLS_ZIP): $(ALL_TOOLS_FILES)
 @CREATE_GJDOC_PARSER_TRUE@@CREATE_GJDOC_TRUE@@JAVA_MAINTAINER_MODE_TRUE@	@mkdir_p@ $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr
 @CREATE_GJDOC_PARSER_TRUE@@CREATE_GJDOC_TRUE@@JAVA_MAINTAINER_MODE_TRUE@	$(ANTLR) -o $(gjdoc_gendir)/gnu/classpath/tools/gjdoc/expr/ \
 @CREATE_GJDOC_PARSER_TRUE@@CREATE_GJDOC_TRUE@@JAVA_MAINTAINER_MODE_TRUE@	  $(srcdir)/gnu/classpath/tools/gjdoc/expr/java-expression.g
-@JAVA_MAINTAINER_MODE_TRUE@	find $(srcdir)/external/asm -name '*.java' -print > asm.lst
+	find $(srcdir)/external/asm -name '*.java' -print > asm.lst
+	find $(srcdir)/gnu/classpath/tools \
+	     $(srcdir)/com/sun/javadoc \
+	     $(srcdir)/com/sun/tools/doclets \
+	     $(srcdir)/com/sun/tools/javadoc \
+	     $(srcdir)/com/sun/tools/javac \
+	     $(srcdir)/com/sun/tools/javah \
+	     $(srcdir)/sun/rmi/rmic \
+	     $(GJDOC_EX) \
+	     -name '*.java' -print > classes.lst
+	if [ -f $(top_builddir)/../vm-tools-packages ]; then \
+	    : > vm-tools.lst; \
+	    for pkg in `cat $(top_builddir)/../vm-tools-packages`; do \
+	      $(FIND) $(top_srcdir)/../$$pkg -follow -name '*.java' -print >> vm-tools.lst; \
+	    done \
+	else \
+	    echo -n > vm-tools.lst; \
+	fi
+	cat classes.lst asm.lst vm-tools.lst > all-classes.lst
 @JAVA_MAINTAINER_MODE_TRUE@	AC=`echo $(JCOMPILER) | sed -e 's/UTF-8/ISO-8859-1/g'`; \
 @JAVA_MAINTAINER_MODE_TRUE@	  $$AC -g -w -d $(srcdir)/asm @asm.lst
-@JAVA_MAINTAINER_MODE_TRUE@	find $(srcdir)/gnu/classpath/tools \
-@JAVA_MAINTAINER_MODE_TRUE@	     $(srcdir)/com/sun/javadoc \
-@JAVA_MAINTAINER_MODE_TRUE@	     $(srcdir)/com/sun/tools/doclets \
-@JAVA_MAINTAINER_MODE_TRUE@	     $(srcdir)/com/sun/tools/javadoc \
-@JAVA_MAINTAINER_MODE_TRUE@	     $(srcdir)/com/sun/tools/javac \
-@JAVA_MAINTAINER_MODE_TRUE@	     $(srcdir)/com/sun/tools/javah \
-@JAVA_MAINTAINER_MODE_TRUE@	     $(srcdir)/sun/rmi/rmic \
-@JAVA_MAINTAINER_MODE_TRUE@	     $(GJDOC_EX) \
-@JAVA_MAINTAINER_MODE_TRUE@	     -name '*.java' -print > classes.lst
-@JAVA_MAINTAINER_MODE_TRUE@	if [ -f $(top_builddir)/../vm-tools-packages ]; then \
-@JAVA_MAINTAINER_MODE_TRUE@	    : > vm-tools.lst; \
-@JAVA_MAINTAINER_MODE_TRUE@	    for pkg in `cat $(top_builddir)/../vm-tools-packages`; do \
-@JAVA_MAINTAINER_MODE_TRUE@	      $(FIND) $(top_srcdir)/../$$pkg -follow -name '*.java' -print >> vm-tools.lst; \
-@JAVA_MAINTAINER_MODE_TRUE@	    done \
-@JAVA_MAINTAINER_MODE_TRUE@	else \
-@JAVA_MAINTAINER_MODE_TRUE@	    echo -n > vm-tools.lst; \
-@JAVA_MAINTAINER_MODE_TRUE@	fi
 @JAVA_MAINTAINER_MODE_TRUE@	$(JCOMPILER) $(USE_JAVAC_FLAGS) -g -d $(srcdir)/classes @classes.lst @vm-tools.lst
-@JAVA_MAINTAINER_MODE_TRUE@	cat classes.lst asm.lst vm-tools.lst > all-classes.lst
 	@list=`cd $(srcdir)/resource && find gnu/classpath/tools com/sun/tools/javac \
 	       sun/rmi/rmic $(GJDOC_EX) -name \*.properties -print -o -name \*.jav -print`; \
 	for p in $$list; do \

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]