This is the mail archive of the java@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] | |
On Tue, Nov 10, 2009 at 10:00:29AM +0000, Andrew Haley wrote:Jack Howarth wrote:In fink, we have been building the gcj ecj1 support by copying the ecj-latest.jar file from ftp://sourceware.org/pub/java into the top level of the gcc source directory. I would like to try building gcc on darwin with the eclipse compiler instead. We have a fink ecj package which provides...
/. /sw /sw/bin /sw/bin/ecj /sw/share /sw/share/doc /sw/share/doc/ecj /sw/share/doc/ecj/about.html /sw/share/java /sw/share/java/ecj /sw/share/java/ecj/ecj.jar
How exactly does one build the gcj against this ecj compiler? Would creating a symlink in the toplevel gcc directory to
/sw/share/java/ecj/ecj.jar be sufficient to cause the installed
eclipse compiler to be used for ecj1?We configure for Fedora with --with-ecj-jar=/usr/share/java/eclipse-ecj.jar You don't have to copy that jar into the toplev of srcdir.
Would there be any possible differences in the code execution of gcj when built
with the stock ftp://sourceware.org/pub/java/ecj-latest.jar compared to the ecj.jar
from eclipse? My initial attempts at building a usable gcj with eclipse's ecj.jar
failed due to undefined symbols for org.eclipse.jdt.internal.compiler.batch.GCCMain
at runtime for ecj1.
I noticed that the fedora 12 gcc specfile at...
http://cvs.fedoraproject.org/viewvc/rpms/gcc/F-12/gcc.spec?revision=1.90&view=markup
has a section...
%if %{build_java} %if !%{bootstrap_java} # If we don't have gjavah in $PATH, try to build it with the old gij mkdir java_hacks cd java_hacks cp -a ../../libjava/classpath/tools/external external mkdir -p gnu/classpath/tools cp -a ../../libjava/classpath/tools/gnu/classpath/tools/{common,javah,getopt} gnu/classpath/tools/ cp -a ../../libjava/classpath/tools/resource/gnu/classpath/tools/common/Messages.properties gnu/classpath/tools/common cp -a ../../libjava/classpath/tools/resource/gnu/classpath/tools/getopt/Messages.properties gnu/classpath/tools/getopt cd external/asm; for i in `find . -name \*.java`; do gcj --encoding ISO-8859-1 -C $i -I.; done; cd ../.. for i in `find gnu -name \*.java`; do gcj -C $i -I. -Iexternal/asm/; done gcj -findirect-dispatch -O2 -fmain=gnu.classpath.tools.javah.Main -I. -Iexternal/asm/ `find . -name \*.class` -o gjavah.r eal cat > gjavah <<EOF #!/bin/sh export CLASSPATH=`pwd`${CLASSPATH:+:$CLASSPATH} exec `pwd`/gjavah.real "\$@" EOF chmod +x `pwd`/gjavah cat > ecj1 <<EOF #!/bin/sh exec gij -cp /usr/share/java/eclipse-ecj.jar org.eclipse.jdt.internal.compiler.batch.GCCMain "\$@" EOF chmod +x `pwd`/ecj1 export PATH=`pwd`${PATH:+:$PATH} cd .. %endif %endif
This would be difficult to implement in fink for darwin since we don't have legacy gij/gcj compiler to leverage from the system compilers. Is there another way to get around the issue of the undefined org.eclipse.jdt.internal.compiler.batch.GCCMain symbol in ejc1 when using the ecj.jar from eclipse?
#!/bin/sh exec gij -cp someDirectory:/usr/share/java/eclipse-ecj.jar org.eclipse.jdt.internal.compiler.batch.GCCMain "\$@"
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |