RFD: Precompile ecj [Was Re: GCCMain not found & test suite errors fatal?]

Andrew Haley aph@redhat.com
Wed Jan 6 16:39:00 GMT 2010


This makes ecj1 (and therefore gcj with Java source) much faster but
takes 1m30s of CPU on a very fast computer.  It doesn't really seem to
make the build longer on a multi-CPU box, since it runs in parallel with
the rest of the build AFAICS.  Do you think we can get away with this?

Andrew.


2010-01-06  Andrew Haley  <aph@redhat.com>

	* Makefile.am (ecjx_LDFLAGS): Always precompile AWT.

Index: Makefile.am
===================================================================
--- Makefile.am (revision 155475)
+++ Makefile.am (working copy)
@@ -1075,30 +1075,20 @@

 ## Build an ecjx from a .jar.
 ecjx_SOURCES = ecjx.cc
-## We use the BC ABI here so that we don't need to compile ecj.jar.
-## Hopefully the user has compiled it into his system .db.
-## However, even if not it will run reasonably quickly.
-
 ECJX_BASE_FLAGS = -findirect-dispatch \
        --main=org.eclipse.jdt.internal.compiler.batch.GCCMain

 if NATIVE

 ecjx_LINK = $(GCJLINK) $(ecjx_LDFLAGS)
-
-if ENABLE_SHARED
-## Use ecj.jar at runtime.
-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) -fbootclasspath=$(BOOTCLASSPATH)
-endif !ENABLE_SHARED
-
 ecjx_LDADD = -L$(here)/.libs $(extra_ldflags)
 ecjx_DEPENDENCIES = libgcj.la libgcj.spec
 if BUILD_SUBLIBS
 ecjx_DEPENDENCIES += libgcj-noncore.la
+
 endif
+
 if USE_LIBGCJ_BC
 ecjx_DEPENDENCIES += libgcj_bc.la
 else



More information about the Java mailing list