This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java 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]

Re: compilation problems with ecj.jar


Andrew,

Andrew Haley wrote:
The *real* cause is that, for some reason, gcj isn't being passed the
correct path to libgcj.jar in the host system.  Instead, this happens:

jc1 /mnt/zebedee/aph/gcc/trunk/libjava/.././libjava/../ecj.jar \
 -fhash-synchronization \
 -fno-use-divide-subroutine \
 -fuse-boehm-gc \
 -fnon-call-exceptions \
 -fkeep-inline-functions \
 -quiet \
 -dumpbase ecj.jar \
 -mtune=generic \
 -auxbase ecj \
 -g \
 -O2 \
 -version \
 -ffloat-store \
 -fomit-frame-pointer \
 -findirect-dispatch \
 -fbootclasspath=./:/tmp/prefix/share/java/libgcj-4.3.0.jar \
 -o /tmp/ccD80X4c.s

Note that the bootclasspath at this point is wrong: there's no
libgcj.jar in the install dir yet.  The first "./" item in the string
is wrong because the .class files we need are no longer in the build
dir: they're in the srcdir.

This oughta do it:

Index: Makefile.am
===================================================================
--- Makefile.am (revision 120638)
+++ Makefile.am (working copy)
@@ -670,7 +670,7 @@
ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) -Djava.class.path=$(ECJ_JAR)
else !ENABLE_SHARED
## Use ecj.jar at compile time.
-ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR)
+ecjx_LDFLAGS = $(ECJX_BASE_FLAGS) $(ECJ_BUILD_JAR) -fbootclasspath=$(BOOTCLASSPATH)
endif !ENABLE_SHARED
ecjx_LDADD = -L$(here)/.libs libgcj.la



Can you commit that patch? With it, a static compilation of GCJ for Linux works on a 32bit computer. Just want to make sure that it won't be forgotten.



thanks Marco


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