This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Fix libjava bootstrap (PR java/37893)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Matthias Klose <doko at ubuntu dot com>, Andrew Haley <aph at redhat dot com>, Tom Tromey <tromey at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 23 Oct 2008 10:27:02 +0200
- Subject: [PATCH] Fix libjava bootstrap (PR java/37893)
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
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