diff options
author | Tom Tromey <tromey@redhat.com> | 2006-10-17 19:42:09 +0000 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2006-10-17 19:42:09 +0000 |
commit | 3e05e7a7fe9f05fd86a7c7e876f39441212f8d9f (patch) | |
tree | c57a167a4ef54c4bbbb0906fbb114530b29c04ea | |
parent | 4aa97a1e0ee9818d071eda5c254fb057f4aa0bcf (diff) |
libjava
* configure, Makefile.in: Rebuilt.
* Makefile.am (install-exec-hook): Now unconditional. Rename ecjx
if needed.
(jar_DATA): Add ecj jar when needed.
(toolexec_PROGRAMS): New variable.
(ecjx_SOURCES, ecjx_LDFLAGS, ecjx_LDADD, ecjx_DEPENDENCIES):
Likewise.
* prims.cc (JvRunMainName): New function.
* include/jvm.h (JvRunMainName): Declare.
* configure.ac: Added --with-ecj-jar.
(ECJ_JAR): New subst.
(ECJ_BUILD_JAR): Likewise.
(INSTALL_ECJ_JAR): New conditional.
(BUILD_ECJ1): Likewise.
gcc/java
* jvgenmain.c (main): Handle -findirect-dispatch.
* jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to
jvgenmain.
contrib
* download_ecj: New file.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcj-eclipse@117829 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | contrib/ChangeLog | 4 | ||||
-rwxr-xr-x | contrib/download_ecj | 15 | ||||
-rw-r--r-- | gcc/java/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/java/jvgenmain.c | 30 | ||||
-rw-r--r-- | gcc/java/jvspec.c | 2 | ||||
-rw-r--r-- | libjava/ChangeLog | 17 | ||||
-rw-r--r-- | libjava/Makefile.am | 27 | ||||
-rw-r--r-- | libjava/Makefile.in | 123 | ||||
-rwxr-xr-x | libjava/configure | 66 | ||||
-rw-r--r-- | libjava/configure.ac | 17 | ||||
-rw-r--r-- | libjava/gcj/Makefile.in | 6 | ||||
-rw-r--r-- | libjava/include/Makefile.in | 6 | ||||
-rw-r--r-- | libjava/include/jvm.h | 2 | ||||
-rw-r--r-- | libjava/prims.cc | 6 | ||||
-rw-r--r-- | libjava/testsuite/Makefile.in | 6 |
15 files changed, 284 insertions, 49 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 3a59cb63dc7..e233b78fd27 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,7 @@ +2006-10-17 Tom Tromey <tromey@redhat.com> + + * download_ecj: New file. + 2006-06-02 Richard Earnshaw <rearnsha@arm.com> Mike Stump <mrs@apple.com> diff --git a/contrib/download_ecj b/contrib/download_ecj new file mode 100755 index 00000000000..77d6898f2c8 --- /dev/null +++ b/contrib/download_ecj @@ -0,0 +1,15 @@ +#! /bin/sh + +# +# Download the ecj jar file needed by gcj. +# Run this from the top level of the gcc source tree and the libjava +# build will do the right thing. +# +# (C) 2006 Free Software Foundation +# +# This script is Free Software, and it can be copied, distributed and +# modified as defined in the GNU General Public License. A copy of +# its license can be downloaded from http://www.gnu.org/copyleft/gpl.html +# + +wget -O ecj.jar ftp://sources.redhat.com/pub/java/ecj-latest.jar diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index c063ab5e79e..c604950e8f5 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2006-10-17 Tom Tromey <tromey@redhat.com> + + * jvgenmain.c (main): Handle -findirect-dispatch. + * jvspec.c (jvgenmain_spec): Pass -findirect-dispatch to + jvgenmain. + 2006-10-06 Andrew Haley <aph@redhat.com> * builtins.c (compareAndSwapInt_builtin): Check that we really do diff --git a/gcc/java/jvgenmain.c b/gcc/java/jvgenmain.c index e0cddc0d4d5..f4fb0ba38ab 100644 --- a/gcc/java/jvgenmain.c +++ b/gcc/java/jvgenmain.c @@ -1,5 +1,5 @@ /* Program to generate "main" a Java(TM) class containing a main method. - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 + Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GCC. @@ -57,14 +57,23 @@ main (int argc, char **argv) FILE *stream; const char *mangled_classname; int i, last_arg; + int indirect = 0; + char *prog_name = argv[0]; /* Unlock the stdio streams. */ unlock_std_streams (); gcc_init_libintl (); + if (argc > 1 && ! strcmp (argv[1], "-findirect-dispatch")) + { + indirect = 1; + ++argv; + --argc; + } + if (argc < 2) - usage (argv[0]); + usage (prog_name); for (i = 1; i < argc; ++i) { @@ -77,7 +86,7 @@ main (int argc, char **argv) } if (i < argc - 2 || i == argc) - usage (argv[0]); + usage (prog_name); last_arg = i; classname = argv[i]; @@ -85,7 +94,7 @@ main (int argc, char **argv) /* gcj always appends `main' to classname. We need to strip this here. */ p = strrchr (classname, 'm'); if (p == NULL || p == classname || strcmp (p, "main") != 0) - usage (argv[0]); + usage (prog_name); else *p = '\0'; @@ -99,7 +108,7 @@ main (int argc, char **argv) if (stream == NULL) { fprintf (stderr, _("%s: Cannot open output file: %s\n"), - argv[0], outfile); + prog_name, outfile); exit (1); } } @@ -130,13 +139,18 @@ main (int argc, char **argv) fprintf (stream, "int main (int argc, const char **argv)\n"); fprintf (stream, "{\n"); fprintf (stream, " _Jv_Compiler_Properties = props;\n"); - fprintf (stream, " extern void *%s;\n", mangled_classname); - fprintf (stream, " JvRunMain (%s, argc, argv);\n", mangled_classname); + if (indirect) + fprintf (stream, " JvRunMainName (\"%s\", argc, argv);\n", classname); + else + { + fprintf (stream, " extern void *%s;\n", mangled_classname); + fprintf (stream, " JvRunMain (%s, argc, argv);\n", mangled_classname); + } fprintf (stream, "}\n"); if (stream != stdout && fclose (stream) != 0) { fprintf (stderr, _("%s: Failed to close output file %s\n"), - argv[0], argv[2]); + prog_name, argv[2]); exit (1); } return 0; diff --git a/gcc/java/jvspec.c b/gcc/java/jvspec.c index b542ec696e1..e6790e848e1 100644 --- a/gcc/java/jvspec.c +++ b/gcc/java/jvspec.c @@ -59,7 +59,7 @@ int lang_specific_extra_outfiles = 0; int shared_libgcc = 1; static const char jvgenmain_spec[] = - "jvgenmain %{D*} %b %m.i |\n\ + "jvgenmain %{findirect-dispatch} %{D*} %b %m.i |\n\ cc1 %m.i %1 \ %{!Q:-quiet} -dumpbase %b.c %{d*} %{m*} %{a*}\ %{g*} %{O*} \ diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 43bd7e388e7..5bbbbce99a0 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,20 @@ +2006-10-17 Tom Tromey <tromey@redhat.com> + + * configure, Makefile.in: Rebuilt. + * Makefile.am (install-exec-hook): Now unconditional. Rename ecjx + if needed. + (jar_DATA): Add ecj jar when needed. + (toolexec_PROGRAMS): New variable. + (ecjx_SOURCES, ecjx_LDFLAGS, ecjx_LDADD, ecjx_DEPENDENCIES): + Likewise. + * prims.cc (JvRunMainName): New function. + * include/jvm.h (JvRunMainName): Declare. + * configure.ac: Added --with-ecj-jar. + (ECJ_JAR): New subst. + (ECJ_BUILD_JAR): Likewise. + (INSTALL_ECJ_JAR): New conditional. + (BUILD_ECJ1): Likewise. + 2006-10-13 Tom Tromey <tromey@redhat.com> * HACKING: Updated. diff --git a/libjava/Makefile.am b/libjava/Makefile.am index 540b8f78f40..2e746d0e9ef 100644 --- a/libjava/Makefile.am +++ b/libjava/Makefile.am @@ -53,6 +53,9 @@ pkgconfig_DATA = libgcj.pc jardir = $(datadir)/java jar_DATA = libgcj-$(gcc_version).jar +if INSTALL_ECJ_JAR +jar_DATA += $(ECJ_BUILD_JAR) +endif if JAVA_HOME_SET JAVA_HOME_DIR = $(JAVA_HOME) @@ -83,6 +86,13 @@ endif bin_SCRIPTS = addr2name.awk +if BUILD_ECJ1 +## We build ecjx and not ecj1 because in one mode, ecjx will not work +## until after 'make install', and we don't want it to be picked up in +## the build tree by gcj via a -B option. +toolexec_PROGRAMS = ecjx +endif + ## ################################################################ ## @@ -420,12 +430,12 @@ extra_headers = java/lang/Object.h java/lang/Class.h $(extra_headers) $(srcdir)/java/lang/Object.h $(srcdir)/java/lang/Class.h: @: +install-exec-hook: install-toolexeclibLTLIBRARIES install-toolexecPROGRAMS ## Support for libgcj_bc: dummy shared library used only at link-time. if USE_LIBGCJ_BC ## Install libgcj_bc dummy lib in the target directory. We also need to delete ## libtool's .la file, this prevents libtool resetting the lib again ## later. -install-exec-hook: install-toolexeclibLTLIBRARIES @echo Installing dummy lib libgcj_bc.so.1.0.0; \ rm $(toolexeclibdir)/libgcj_bc.so; \ mv $(toolexeclibdir)/libgcj_bc.so.1.0.0 $(toolexeclibdir)/libgcj_bc.so; \ @@ -435,6 +445,9 @@ install-exec-hook: install-toolexeclibLTLIBRARIES $(LN_S) libgcj_bc.so.1.0.0 $(toolexeclibdir)/libgcj_bc.so.1; \ rm $(toolexeclibdir)/libgcj_bc.la; endif +if BUILD_ECJ1 + mv $(DESTDIR)$(toolexecdir)/ecjx $(DESTDIR)$(toolexecdir)/ecj1 +endif ## Install the headers. It is fairly ugly that we have to do this by ## hand. @@ -660,6 +673,18 @@ grmiregistry_LDADD = -L$(here)/.libs libgcj.la ## linking this program. grmiregistry_DEPENDENCIES = libgcj.la libgcj.spec +## Build an ecjx from a .jar. +ecjx_SOURCES = +## 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_LDFLAGS = -findirect-dispatch \ + --main=org.eclipse.jdt.internal.compiler.batch.GCCMain \ + -Djava.class.path=$(ECJ_JAR) +ecjx_LINK = $(GCJLINK) +ecjx_LDADD = -L$(here)/.libs libgcj.la +ecjx_DEPENDENCIES = libgcj.la libgcj.spec + ## ################################################################ ## This lists all the C++ source files in subdirectories. diff --git a/libjava/Makefile.in b/libjava/Makefile.in index 00e39123c2a..251a8740161 100644 --- a/libjava/Makefile.in +++ b/libjava/Makefile.in @@ -44,19 +44,21 @@ target_triplet = @target@ @USE_LIBGCJ_BC_TRUE@am__append_2 = libgcj_bc.la @XLIB_AWT_TRUE@am__append_3 = lib-gnu-awt-xlib.la @QT_AWT_TRUE@am__append_4 = lib-gnu-java-awt-peer-qt.la +@INSTALL_ECJ_JAR_TRUE@am__append_5 = $(ECJ_BUILD_JAR) @NATIVE_TRUE@bin_PROGRAMS = jv-convert$(EXEEXT) gij$(EXEEXT) \ @NATIVE_TRUE@ grmic$(EXEEXT) grmiregistry$(EXEEXT) \ @NATIVE_TRUE@ gcj-dbtool$(EXEEXT) -@BASH_JAR_TRUE@am__append_5 = scripts/jar -@USING_GCC_TRUE@am__append_6 = $(WARNINGS) -@USING_BOEHMGC_TRUE@am__append_7 = boehm.cc -@USING_NOGC_TRUE@am__append_8 = nogc.cc -@USING_POSIX_PLATFORM_TRUE@am__append_9 = posix.cc -@USING_WIN32_PLATFORM_TRUE@am__append_10 = win32.cc -@USING_DARWIN_CRT_TRUE@am__append_11 = darwin.cc -@USING_POSIX_THREADS_TRUE@am__append_12 = posix-threads.cc -@USING_WIN32_THREADS_TRUE@am__append_13 = win32-threads.cc -@USING_NO_THREADS_TRUE@am__append_14 = no-threads.cc +@BUILD_ECJ1_TRUE@toolexec_PROGRAMS = ecjx$(EXEEXT) +@BASH_JAR_TRUE@am__append_6 = scripts/jar +@USING_GCC_TRUE@am__append_7 = $(WARNINGS) +@USING_BOEHMGC_TRUE@am__append_8 = boehm.cc +@USING_NOGC_TRUE@am__append_9 = nogc.cc +@USING_POSIX_PLATFORM_TRUE@am__append_10 = posix.cc +@USING_WIN32_PLATFORM_TRUE@am__append_11 = win32.cc +@USING_DARWIN_CRT_TRUE@am__append_12 = darwin.cc +@USING_POSIX_THREADS_TRUE@am__append_13 = posix-threads.cc +@USING_WIN32_THREADS_TRUE@am__append_14 = win32-threads.cc +@USING_NO_THREADS_TRUE@am__append_15 = no-threads.cc DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \ $(srcdir)/../config.guess $(srcdir)/../config.sub \ $(srcdir)/../depcomp $(srcdir)/../install-sh \ @@ -68,7 +70,7 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/../compile \ $(top_srcdir)/scripts/jar.in COPYING ChangeLog NEWS THANKS @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@noinst_PROGRAMS = \ @MAINTAINER_MODE_TRUE@@NATIVE_TRUE@ gen-from-JIS$(EXEEXT) -@XLIB_AWT_TRUE@am__append_15 = $(xlib_nat_headers) +@XLIB_AWT_TRUE@am__append_16 = $(xlib_nat_headers) subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ @@ -106,9 +108,9 @@ am__vpath_adj = case $$p in \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(bindir)" \ - "$(DESTDIR)$(bindir)" "$(DESTDIR)$(dbexecdir)" \ - "$(DESTDIR)$(jardir)" "$(DESTDIR)$(pkgconfigdir)" \ - "$(DESTDIR)$(toolexecmainlibdir)" + "$(DESTDIR)$(toolexecdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(dbexecdir)" "$(DESTDIR)$(jardir)" \ + "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(toolexecmainlibdir)" toolexeclibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(toolexeclib_LTLIBRARIES) am__dirstamp = $(am__leading_dot)dirstamp @@ -391,7 +393,10 @@ libgcj_bc_la_OBJECTS = $(am_libgcj_bc_la_OBJECTS) am_libgij_la_OBJECTS = gij.lo libgij_la_OBJECTS = $(am_libgij_la_OBJECTS) binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) +toolexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(toolexec_PROGRAMS) +am_ecjx_OBJECTS = +ecjx_OBJECTS = $(am_ecjx_OBJECTS) am_gcj_dbtool_OBJECTS = gnu/gcj/tools/gcj_dbtool/natMain.$(OBJEXT) gcj_dbtool_OBJECTS = $(am_gcj_dbtool_OBJECTS) am__gen_from_JIS_SOURCES_DIST = gnu/gcj/convert/gen-from-JIS.c \ @@ -436,13 +441,13 @@ GCJLD = $(GCJ) SOURCES = $(lib_gnu_awt_xlib_la_SOURCES) \ $(lib_gnu_java_awt_peer_qt_la_SOURCES) $(libgcj_la_SOURCES) \ $(EXTRA_libgcj_la_SOURCES) $(libgcj_bc_la_SOURCES) \ - $(libgij_la_SOURCES) $(gcj_dbtool_SOURCES) \ + $(libgij_la_SOURCES) $(ecjx_SOURCES) $(gcj_dbtool_SOURCES) \ $(gen_from_JIS_SOURCES) $(gij_SOURCES) $(grmic_SOURCES) \ $(grmiregistry_SOURCES) $(jv_convert_SOURCES) DIST_SOURCES = $(lib_gnu_awt_xlib_la_SOURCES) \ $(lib_gnu_java_awt_peer_qt_la_SOURCES) \ $(am__libgcj_la_SOURCES_DIST) $(EXTRA_libgcj_la_SOURCES) \ - $(libgcj_bc_la_SOURCES) $(libgij_la_SOURCES) \ + $(libgcj_bc_la_SOURCES) $(libgij_la_SOURCES) $(ecjx_SOURCES) \ $(gcj_dbtool_SOURCES) $(am__gen_from_JIS_SOURCES_DIST) \ $(gij_SOURCES) $(grmic_SOURCES) $(grmiregistry_SOURCES) \ $(jv_convert_SOURCES) @@ -486,6 +491,8 @@ AWK = @AWK@ BACKTRACESPEC = @BACKTRACESPEC@ BASH_JAR_FALSE = @BASH_JAR_FALSE@ BASH_JAR_TRUE = @BASH_JAR_TRUE@ +BUILD_ECJ1_FALSE = @BUILD_ECJ1_FALSE@ +BUILD_ECJ1_TRUE = @BUILD_ECJ1_TRUE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ @@ -507,6 +514,8 @@ DIVIDESPEC = @DIVIDESPEC@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +ECJ_BUILD_JAR = @ECJ_BUILD_JAR@ +ECJ_JAR = @ECJ_JAR@ EGREP = @EGREP@ EXCEPTIONSPEC = @EXCEPTIONSPEC@ EXEEXT = @EXEEXT@ @@ -531,6 +540,8 @@ HASH_SYNC_SPEC = @HASH_SYNC_SPEC@ IEEESPEC = @IEEESPEC@ INCLTDL = @INCLTDL@ INSTALL_DATA = @INSTALL_DATA@ +INSTALL_ECJ_JAR_FALSE = @INSTALL_ECJ_JAR_FALSE@ +INSTALL_ECJ_JAR_TRUE = @INSTALL_ECJ_JAR_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ @@ -730,7 +741,7 @@ toolexecmainlib_DATA = libgcj.spec pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libgcj.pc jardir = $(datadir)/java -jar_DATA = libgcj-$(gcc_version).jar +jar_DATA = libgcj-$(gcc_version).jar $(am__append_5) @JAVA_HOME_SET_FALSE@JAVA_HOME_DIR = $(prefix) @JAVA_HOME_SET_TRUE@JAVA_HOME_DIR = $(JAVA_HOME) @JAVA_HOME_SET_FALSE@BOOT_CLASS_PATH_DIR = $(jardir)/$(jar_DATA) @@ -740,7 +751,7 @@ propdir = $(libdir) db_name = classmap.db db_pathtail = gcj-$(gcc_version)/$(db_name) @NATIVE_TRUE@dbexec_DATA = $(db_name) -bin_SCRIPTS = addr2name.awk $(am__append_5) +bin_SCRIPTS = addr2name.awk $(am__append_6) GCJ_WITH_FLAGS = $(GCJ) --encoding=UTF-8 -Wno-deprecated GCJLINK = $(LIBTOOL) --tag=GCJ --mode=link $(GCJ) -L$(here) $(JC1FLAGS) \ $(LDFLAGS) -o $@ @@ -778,7 +789,7 @@ AM_GCJFLAGS = \ --encoding=UTF-8 \ -Wno-deprecated -fbootstrap-classes -AM_CFLAGS = @LIBGCJ_CFLAGS@ $(am__append_6) +AM_CFLAGS = @LIBGCJ_CFLAGS@ $(am__append_7) PEDANTIC_CFLAGS = -ansi -pedantic -Wall -Wno-long-long JCFLAGS = -g JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS) @@ -802,9 +813,9 @@ libgij_la_LDFLAGS = -rpath $(toolexeclibdir) \ libgcj_la_SOURCES = prims.cc jni.cc exception.cc stacktrace.cc link.cc \ defineclass.cc interpret.cc verify.cc $(nat_source_files) \ - $(am__append_7) $(am__append_8) $(am__append_9) \ - $(am__append_10) $(am__append_11) $(am__append_12) \ - $(am__append_13) $(am__append_14) + $(am__append_8) $(am__append_9) $(am__append_10) \ + $(am__append_11) $(am__append_12) $(am__append_13) \ + $(am__append_14) $(am__append_15) nat_files = $(nat_source_files:.cc=.lo) xlib_nat_files = $(xlib_nat_source_files:.cc=.lo) @@ -7519,6 +7530,14 @@ grmiregistry_LDFLAGS = --main=gnu.java.rmi.registry.RegistryImpl \ grmiregistry_LINK = $(GCJLINK) grmiregistry_LDADD = -L$(here)/.libs libgcj.la grmiregistry_DEPENDENCIES = libgcj.la libgcj.spec +ecjx_SOURCES = +ecjx_LDFLAGS = -findirect-dispatch \ + --main=org.eclipse.jdt.internal.compiler.batch.GCCMain \ + -Djava.class.path=$(ECJ_JAR) + +ecjx_LINK = $(GCJLINK) +ecjx_LDADD = -L$(here)/.libs libgcj.la +ecjx_DEPENDENCIES = libgcj.la libgcj.spec nat_source_files = \ gnu/classpath/natSystemProperties.cc \ gnu/classpath/natConfiguration.cc \ @@ -7620,7 +7639,7 @@ gnu/gcj/xlib/natXImage.cc \ gnu/gcj/xlib/natXUnmapEvent.cc sourcesdir = $(jardir) -headers_to_make = $(nat_headers) $(am__append_15) +headers_to_make = $(nat_headers) $(am__append_16) # Work around what appears to be a GNU make bug handling MAKEFLAGS # values defined in terms of make variables, as is the case for CC and @@ -8188,6 +8207,37 @@ clean-noinstPROGRAMS: echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done +install-toolexecPROGRAMS: $(toolexec_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(toolexecdir)" || $(mkdir_p) "$(DESTDIR)$(toolexecdir)" + @list='$(toolexec_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + || test -f $$p1 \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(toolexecPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(toolexecdir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(toolexecPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(toolexecdir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-toolexecPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(toolexec_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(toolexecdir)/$$f'"; \ + rm -f "$(DESTDIR)$(toolexecdir)/$$f"; \ + done + +clean-toolexecPROGRAMS: + @list='$(toolexec_PROGRAMS)'; for p in $$list; do \ + f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f $$p $$f"; \ + rm -f $$p $$f ; \ + done +ecjx$(EXEEXT): $(ecjx_OBJECTS) $(ecjx_DEPENDENCIES) + @rm -f ecjx$(EXEEXT) + $(ecjx_LINK) $(ecjx_LDFLAGS) $(ecjx_OBJECTS) $(ecjx_LDADD) $(LIBS) gnu/gcj/tools/gcj_dbtool/$(am__dirstamp): @$(mkdir_p) gnu/gcj/tools/gcj_dbtool @: > gnu/gcj/tools/gcj_dbtool/$(am__dirstamp) @@ -9159,7 +9209,7 @@ check: check-recursive all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA) installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(dbexecdir)" "$(DESTDIR)$(jardir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(toolexecmainlibdir)"; do \ + for dir in "$(DESTDIR)$(toolexeclibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(toolexecdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(dbexecdir)" "$(DESTDIR)$(jardir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(toolexecmainlibdir)"; do \ test -z "$$dir" || $(mkdir_p) "$$dir"; \ done install: install-recursive @@ -9246,12 +9296,11 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -@USE_LIBGCJ_BC_FALSE@install-exec-hook: clean: clean-recursive clean-am: clean-binPROGRAMS clean-generic clean-libtool \ - clean-noinstPROGRAMS clean-toolexeclibLTLIBRARIES \ - mostlyclean-am + clean-noinstPROGRAMS clean-toolexecPROGRAMS \ + clean-toolexeclibLTLIBRARIES mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) @@ -9274,8 +9323,8 @@ install-data-am: install-data-local install-jarDATA \ install-pkgconfigDATA install-exec-am: install-binPROGRAMS install-binSCRIPTS \ - install-dbexecDATA install-toolexeclibLTLIBRARIES \ - install-toolexecmainlibDATA + install-dbexecDATA install-toolexecPROGRAMS \ + install-toolexeclibLTLIBRARIES install-toolexecmainlibDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-exec-hook @@ -9307,14 +9356,14 @@ ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-binSCRIPTS \ uninstall-dbexecDATA uninstall-info-am uninstall-jarDATA \ - uninstall-pkgconfigDATA uninstall-toolexeclibLTLIBRARIES \ - uninstall-toolexecmainlibDATA + uninstall-pkgconfigDATA uninstall-toolexecPROGRAMS \ + uninstall-toolexeclibLTLIBRARIES uninstall-toolexecmainlibDATA uninstall-info: uninstall-info-recursive .PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ check-am clean clean-binPROGRAMS clean-generic clean-libtool \ - clean-noinstPROGRAMS clean-recursive \ + clean-noinstPROGRAMS clean-recursive clean-toolexecPROGRAMS \ clean-toolexeclibLTLIBRARIES ctags ctags-recursive dist \ dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \ distcheck distclean distclean-compile distclean-generic \ @@ -9325,7 +9374,7 @@ uninstall-info: uninstall-info-recursive install-data-am install-data-local install-dbexecDATA \ install-exec install-exec-am install-exec-hook install-info \ install-info-am install-jarDATA install-man \ - install-pkgconfigDATA install-strip \ + install-pkgconfigDATA install-strip install-toolexecPROGRAMS \ install-toolexeclibLTLIBRARIES install-toolexecmainlibDATA \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic \ @@ -9335,7 +9384,8 @@ uninstall-info: uninstall-info-recursive uninstall uninstall-am uninstall-binPROGRAMS \ uninstall-binSCRIPTS uninstall-dbexecDATA uninstall-info-am \ uninstall-jarDATA uninstall-pkgconfigDATA \ - uninstall-toolexeclibLTLIBRARIES uninstall-toolexecmainlibDATA + uninstall-toolexecPROGRAMS uninstall-toolexeclibLTLIBRARIES \ + uninstall-toolexecmainlibDATA $(db_name): gcj-dbtool$(EXEEXT) @@ -10937,7 +10987,7 @@ gcjh.stamp: classpath/lib/compile-classes $(extra_headers) $(srcdir)/java/lang/Object.h $(srcdir)/java/lang/Class.h: @: -@USE_LIBGCJ_BC_TRUE@install-exec-hook: install-toolexeclibLTLIBRARIES +install-exec-hook: install-toolexeclibLTLIBRARIES install-toolexecPROGRAMS @USE_LIBGCJ_BC_TRUE@ @echo Installing dummy lib libgcj_bc.so.1.0.0; \ @USE_LIBGCJ_BC_TRUE@ rm $(toolexeclibdir)/libgcj_bc.so; \ @USE_LIBGCJ_BC_TRUE@ mv $(toolexeclibdir)/libgcj_bc.so.1.0.0 $(toolexeclibdir)/libgcj_bc.so; \ @@ -10946,6 +10996,7 @@ $(extra_headers) $(srcdir)/java/lang/Object.h $(srcdir)/java/lang/Class.h: @USE_LIBGCJ_BC_TRUE@ rm $(toolexeclibdir)/libgcj_bc.so.1; \ @USE_LIBGCJ_BC_TRUE@ $(LN_S) libgcj_bc.so.1.0.0 $(toolexeclibdir)/libgcj_bc.so.1; \ @USE_LIBGCJ_BC_TRUE@ rm $(toolexeclibdir)/libgcj_bc.la; +@BUILD_ECJ1_TRUE@ mv $(DESTDIR)$(toolexecdir)/ecjx $(DESTDIR)$(toolexecdir)/ecj1 install-data-local: $(PRE_INSTALL) diff --git a/libjava/configure b/libjava/configure index e6eb0e58764..e61a16fb20a 100755 --- a/libjava/configure +++ b/libjava/configure @@ -310,7 +310,7 @@ ac_includes_default="\ # include <unistd.h> #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_subdir host_subdir target_subdir libgcj_basedir host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical LN_S mkinstalldirs CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LDFLAGS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE AS ac_ct_AS LD ac_ct_LD AR ac_ct_AR RANLIB ac_ct_RANLIB JAR ZIP UNZIP BASH_JAR_TRUE BASH_JAR_FALSE MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBGCJ_CFLAGS LIBGCJ_CXXFLAGS LIBGCJ_JAVAFLAGS LIBGCJ_LD_SYMBOLIC LIBGCJDEBUG TOOLKIT XLIB_AWT_TRUE XLIB_AWT_FALSE QT_AWT_TRUE QT_AWT_FALSE X_AWT_TRUE X_AWT_FALSE GCJH INCLTDL LIBLTDL DIRLTDL LIBTOOL CXXCPP CPPFLAGS GCJ GCJFLAGS GCJDEPMODE am__fastdepGCJ_TRUE am__fastdepGCJ_FALSE subdirs TESTSUBDIR_TRUE TESTSUBDIR_FALSE JAVA_HOME_SET_TRUE JAVA_HOME_SET_FALSE JAVA_HOME INTERPRETER LIBFFI LIBFFIINCS PLATFORM CPP EGREP USING_WIN32_PLATFORM_TRUE USING_WIN32_PLATFORM_FALSE USING_POSIX_PLATFORM_TRUE USING_POSIX_PLATFORM_FALSE USING_DARWIN_CRT_TRUE USING_DARWIN_CRT_FALSE SYSTEMSPEC LIBGCJTESTSPEC ZLIBSPEC ZLIBTESTSPEC X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS GTK_CAIRO_TRUE GTK_CAIRO_FALSE PKG_CONFIG CAIRO_CFLAGS CAIRO_LIBS PANGOFT2_CFLAGS PANGOFT2_LIBS extra_ldflags_libjava GCLIBS GCINCS GCDEPS GCSPEC JC1GCSPEC GCTESTSPEC USING_BOEHMGC_TRUE USING_BOEHMGC_FALSE USING_NOGC_TRUE USING_NOGC_FALSE THREADLIBS THREADINCS THREADDEPS THREADSPEC THREADLDFLAGS THREADCXXFLAGS USING_POSIX_THREADS_TRUE USING_POSIX_THREADS_FALSE USING_WIN32_THREADS_TRUE USING_WIN32_THREADS_FALSE USING_NO_THREADS_TRUE USING_NO_THREADS_FALSE USE_LIBGCJ_BC_TRUE USE_LIBGCJ_BC_FALSE LIBGCJ_SPEC HASH_SYNC_SPEC USING_GCC_TRUE USING_GCC_FALSE LIBICONV LTLIBICONV LIBMAGIC GTK_CFLAGS GTK_LIBS GLIB_CFLAGS GLIB_LIBS LIBART_CFLAGS LIBART_LIBS CLASSPATH_SEPARATOR ac_ct_GCJ ZLIBS SYS_ZLIBS ZINCS DIVIDESPEC CHECKREFSPEC EXCEPTIONSPEC BACKTRACESPEC IEEESPEC NATIVE_TRUE NATIVE_FALSE NEEDS_DATA_START_TRUE NEEDS_DATA_START_FALSE GCC_UNWIND_INCLUDE toolexecdir toolexecmainlibdir toolexeclibdir dbexecdir GCJVERSION gxx_include_dir libstdcxx_incdir ALLOCA PERL SYSDEP_SOURCES LD_START_STATIC_SPEC LD_FINISH_STATIC_SPEC here LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_subdir host_subdir target_subdir libgcj_basedir host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical LN_S mkinstalldirs CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LDFLAGS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE AS ac_ct_AS LD ac_ct_LD AR ac_ct_AR RANLIB ac_ct_RANLIB JAR ZIP UNZIP BASH_JAR_TRUE BASH_JAR_FALSE MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBGCJ_CFLAGS LIBGCJ_CXXFLAGS LIBGCJ_JAVAFLAGS LIBGCJ_LD_SYMBOLIC LIBGCJDEBUG TOOLKIT XLIB_AWT_TRUE XLIB_AWT_FALSE QT_AWT_TRUE QT_AWT_FALSE X_AWT_TRUE X_AWT_FALSE GCJH INCLTDL LIBLTDL DIRLTDL LIBTOOL CXXCPP CPPFLAGS GCJ GCJFLAGS GCJDEPMODE am__fastdepGCJ_TRUE am__fastdepGCJ_FALSE subdirs TESTSUBDIR_TRUE TESTSUBDIR_FALSE ECJ_BUILD_JAR ECJ_JAR BUILD_ECJ1_TRUE BUILD_ECJ1_FALSE INSTALL_ECJ_JAR_TRUE INSTALL_ECJ_JAR_FALSE JAVA_HOME_SET_TRUE JAVA_HOME_SET_FALSE JAVA_HOME INTERPRETER LIBFFI LIBFFIINCS PLATFORM CPP EGREP USING_WIN32_PLATFORM_TRUE USING_WIN32_PLATFORM_FALSE USING_POSIX_PLATFORM_TRUE USING_POSIX_PLATFORM_FALSE USING_DARWIN_CRT_TRUE USING_DARWIN_CRT_FALSE SYSTEMSPEC LIBGCJTESTSPEC ZLIBSPEC ZLIBTESTSPEC X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS GTK_CAIRO_TRUE GTK_CAIRO_FALSE PKG_CONFIG CAIRO_CFLAGS CAIRO_LIBS PANGOFT2_CFLAGS PANGOFT2_LIBS extra_ldflags_libjava GCLIBS GCINCS GCDEPS GCSPEC JC1GCSPEC GCTESTSPEC USING_BOEHMGC_TRUE USING_BOEHMGC_FALSE USING_NOGC_TRUE USING_NOGC_FALSE THREADLIBS THREADINCS THREADDEPS THREADSPEC THREADLDFLAGS THREADCXXFLAGS USING_POSIX_THREADS_TRUE USING_POSIX_THREADS_FALSE USING_WIN32_THREADS_TRUE USING_WIN32_THREADS_FALSE USING_NO_THREADS_TRUE USING_NO_THREADS_FALSE USE_LIBGCJ_BC_TRUE USE_LIBGCJ_BC_FALSE LIBGCJ_SPEC HASH_SYNC_SPEC USING_GCC_TRUE USING_GCC_FALSE LIBICONV LTLIBICONV LIBMAGIC GTK_CFLAGS GTK_LIBS GLIB_CFLAGS GLIB_LIBS LIBART_CFLAGS LIBART_LIBS CLASSPATH_SEPARATOR ac_ct_GCJ ZLIBS SYS_ZLIBS ZINCS DIVIDESPEC CHECKREFSPEC EXCEPTIONSPEC BACKTRACESPEC IEEESPEC NATIVE_TRUE NATIVE_FALSE NEEDS_DATA_START_TRUE NEEDS_DATA_START_FALSE GCC_UNWIND_INCLUDE toolexecdir toolexecmainlibdir toolexeclibdir dbexecdir GCJVERSION gxx_include_dir libstdcxx_incdir ALLOCA PERL SYSDEP_SOURCES LD_START_STATIC_SPEC LD_FINISH_STATIC_SPEC here LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -889,6 +889,7 @@ Optional Packages: --with-escher=ABS.PATH specify path to escher dir or JAR for X peers --with-gnu-ld assume the C compiler uses GNU ld default=no --with-pic try to use only PIC/non-PIC objects default=use both + --with-ecj-jar=FILE use preinstalled ecj jar --with-java-home=DIRECTORY value of java.home system property --with-win32-nlsapi=ansi or unicows or unicode @@ -5899,7 +5900,7 @@ test x"$pic_mode" = xno && libtool_flags="$libtool_flags --prefer-non-pic" case $host in *-*-irix6*) # Find out which ABI we are using. - echo '#line 5902 "configure"' > conftest.$ac_ext + echo '#line 5903 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -6797,6 +6798,45 @@ if test -z "$enable_hash_synchronization"; then fi +install_ecj_jar=no +ECJ_BUILD_JAR= +ECJ_JAR= + +# Check whether --with-ecj-jar or --without-ecj-jar was given. +if test "${with_ecj_jar+set}" = set; then + withval="$with_ecj_jar" + ECJ_JAR=$withval +else + if test -f $libgcj_basedir/../ecj.jar; then + ECJ_BUILD_JAR=$libgcj_basedir/../ecj.jar + ECJ_JAR='$(jardir)/ecj.jar' + install_ecj_jar=yes + fi +fi; + + + + +if test "$ECJ_JAR" != ""; then + BUILD_ECJ1_TRUE= + BUILD_ECJ1_FALSE='#' +else + BUILD_ECJ1_TRUE='#' + BUILD_ECJ1_FALSE= +fi + + + +if test $install_ecj_jar = yes; then + INSTALL_ECJ_JAR_TRUE= + INSTALL_ECJ_JAR_FALSE='#' +else + INSTALL_ECJ_JAR_TRUE='#' + INSTALL_ECJ_JAR_FALSE= +fi + + + # Check whether --with-java-home or --without-java-home was given. if test "${with_java_home+set}" = set; then withval="$with_java_home" @@ -6902,7 +6942,7 @@ if test "${enable_sjlj_exceptions+set}" = set; then : else cat > conftest.$ac_ext << EOF -#line 6905 "configure" +#line 6945 "configure" struct S { ~S(); }; void bar(); void foo() @@ -17128,6 +17168,20 @@ echo "$as_me: error: conditional \"TESTSUBDIR\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${BUILD_ECJ1_TRUE}" && test -z "${BUILD_ECJ1_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"BUILD_ECJ1\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"BUILD_ECJ1\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${INSTALL_ECJ_JAR_TRUE}" && test -z "${INSTALL_ECJ_JAR_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"INSTALL_ECJ_JAR\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"INSTALL_ECJ_JAR\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${JAVA_HOME_SET_TRUE}" && test -z "${JAVA_HOME_SET_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"JAVA_HOME_SET\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -17904,6 +17958,12 @@ s,@am__fastdepGCJ_FALSE@,$am__fastdepGCJ_FALSE,;t t s,@subdirs@,$subdirs,;t t s,@TESTSUBDIR_TRUE@,$TESTSUBDIR_TRUE,;t t s,@TESTSUBDIR_FALSE@,$TESTSUBDIR_FALSE,;t t +s,@ECJ_BUILD_JAR@,$ECJ_BUILD_JAR,;t t +s,@ECJ_JAR@,$ECJ_JAR,;t t +s,@BUILD_ECJ1_TRUE@,$BUILD_ECJ1_TRUE,;t t +s,@BUILD_ECJ1_FALSE@,$BUILD_ECJ1_FALSE,;t t +s,@INSTALL_ECJ_JAR_TRUE@,$INSTALL_ECJ_JAR_TRUE,;t t +s,@INSTALL_ECJ_JAR_FALSE@,$INSTALL_ECJ_JAR_FALSE,;t t s,@JAVA_HOME_SET_TRUE@,$JAVA_HOME_SET_TRUE,;t t s,@JAVA_HOME_SET_FALSE@,$JAVA_HOME_SET_FALSE,;t t s,@JAVA_HOME@,$JAVA_HOME,;t t diff --git a/libjava/configure.ac b/libjava/configure.ac index f418998bbf5..f5808010385 100644 --- a/libjava/configure.ac +++ b/libjava/configure.ac @@ -452,6 +452,23 @@ if test -z "$enable_hash_synchronization"; then enable_hash_synchronization=$enable_hash_synchronization_default fi + +install_ecj_jar=no +ECJ_BUILD_JAR= +ECJ_JAR= +AC_ARG_WITH(ecj-jar, + AS_HELP_STRING([--with-ecj-jar=FILE], [use preinstalled ecj jar]), + [ECJ_JAR=$withval], + [if test -f $libgcj_basedir/../ecj.jar; then + ECJ_BUILD_JAR=$libgcj_basedir/../ecj.jar + ECJ_JAR='$(jardir)/ecj.jar' + install_ecj_jar=yes + fi]) +AC_SUBST(ECJ_BUILD_JAR) +AC_SUBST(ECJ_JAR) +AM_CONDITIONAL(BUILD_ECJ1, test "$ECJ_JAR" != "") +AM_CONDITIONAL(INSTALL_ECJ_JAR, test $install_ecj_jar = yes) + AC_ARG_WITH(java-home, AS_HELP_STRING([--with-java-home=DIRECTORY], [value of java.home system property]), diff --git a/libjava/gcj/Makefile.in b/libjava/gcj/Makefile.in index 2c3c88da09b..a44ea293c6e 100644 --- a/libjava/gcj/Makefile.in +++ b/libjava/gcj/Makefile.in @@ -89,6 +89,8 @@ AWK = @AWK@ BACKTRACESPEC = @BACKTRACESPEC@ BASH_JAR_FALSE = @BASH_JAR_FALSE@ BASH_JAR_TRUE = @BASH_JAR_TRUE@ +BUILD_ECJ1_FALSE = @BUILD_ECJ1_FALSE@ +BUILD_ECJ1_TRUE = @BUILD_ECJ1_TRUE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ @@ -110,6 +112,8 @@ DIVIDESPEC = @DIVIDESPEC@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +ECJ_BUILD_JAR = @ECJ_BUILD_JAR@ +ECJ_JAR = @ECJ_JAR@ EGREP = @EGREP@ EXCEPTIONSPEC = @EXCEPTIONSPEC@ EXEEXT = @EXEEXT@ @@ -134,6 +138,8 @@ HASH_SYNC_SPEC = @HASH_SYNC_SPEC@ IEEESPEC = @IEEESPEC@ INCLTDL = @INCLTDL@ INSTALL_DATA = @INSTALL_DATA@ +INSTALL_ECJ_JAR_FALSE = @INSTALL_ECJ_JAR_FALSE@ +INSTALL_ECJ_JAR_TRUE = @INSTALL_ECJ_JAR_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/libjava/include/Makefile.in b/libjava/include/Makefile.in index a5df6754455..65a93b1799d 100644 --- a/libjava/include/Makefile.in +++ b/libjava/include/Makefile.in @@ -88,6 +88,8 @@ AWK = @AWK@ BACKTRACESPEC = @BACKTRACESPEC@ BASH_JAR_FALSE = @BASH_JAR_FALSE@ BASH_JAR_TRUE = @BASH_JAR_TRUE@ +BUILD_ECJ1_FALSE = @BUILD_ECJ1_FALSE@ +BUILD_ECJ1_TRUE = @BUILD_ECJ1_TRUE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ @@ -109,6 +111,8 @@ DIVIDESPEC = @DIVIDESPEC@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +ECJ_BUILD_JAR = @ECJ_BUILD_JAR@ +ECJ_JAR = @ECJ_JAR@ EGREP = @EGREP@ EXCEPTIONSPEC = @EXCEPTIONSPEC@ EXEEXT = @EXEEXT@ @@ -133,6 +137,8 @@ HASH_SYNC_SPEC = @HASH_SYNC_SPEC@ IEEESPEC = @IEEESPEC@ INCLTDL = @INCLTDL@ INSTALL_DATA = @INSTALL_DATA@ +INSTALL_ECJ_JAR_FALSE = @INSTALL_ECJ_JAR_FALSE@ +INSTALL_ECJ_JAR_TRUE = @INSTALL_ECJ_JAR_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h index 4f860133d5c..90f8d263a3c 100644 --- a/libjava/include/jvm.h +++ b/libjava/include/jvm.h @@ -413,6 +413,8 @@ void _Jv_FreeMethodCache (); void _Jv_SetStackSize (const char *arg); extern "C" void JvRunMain (jclass klass, int argc, const char **argv); +extern "C" void JvRunMainName (const char *name, int argc, const char **argv); + void _Jv_RunMain (jclass klass, const char *name, int argc, const char **argv, bool is_jar); diff --git a/libjava/prims.cc b/libjava/prims.cc index 744dd6657bf..cd39f075605 100644 --- a/libjava/prims.cc +++ b/libjava/prims.cc @@ -1584,6 +1584,12 @@ JvRunMain (jclass klass, int argc, const char **argv) _Jv_RunMain (klass, NULL, argc, argv, false); } +void +JvRunMainName (const char *name, int argc, const char **argv) +{ + _Jv_RunMain (NULL, name, argc, argv, false); +} + // Parse a string and return a heap size. diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in index 7d7223cc8bd..8d9905b496b 100644 --- a/libjava/testsuite/Makefile.in +++ b/libjava/testsuite/Makefile.in @@ -77,6 +77,8 @@ AWK = @AWK@ BACKTRACESPEC = @BACKTRACESPEC@ BASH_JAR_FALSE = @BASH_JAR_FALSE@ BASH_JAR_TRUE = @BASH_JAR_TRUE@ +BUILD_ECJ1_FALSE = @BUILD_ECJ1_FALSE@ +BUILD_ECJ1_TRUE = @BUILD_ECJ1_TRUE@ CAIRO_CFLAGS = @CAIRO_CFLAGS@ CAIRO_LIBS = @CAIRO_LIBS@ CC = @CC@ @@ -98,6 +100,8 @@ DIVIDESPEC = @DIVIDESPEC@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +ECJ_BUILD_JAR = @ECJ_BUILD_JAR@ +ECJ_JAR = @ECJ_JAR@ EGREP = @EGREP@ EXCEPTIONSPEC = @EXCEPTIONSPEC@ EXEEXT = @EXEEXT@ @@ -122,6 +126,8 @@ HASH_SYNC_SPEC = @HASH_SYNC_SPEC@ IEEESPEC = @IEEESPEC@ INCLTDL = @INCLTDL@ INSTALL_DATA = @INSTALL_DATA@ +INSTALL_ECJ_JAR_FALSE = @INSTALL_ECJ_JAR_FALSE@ +INSTALL_ECJ_JAR_TRUE = @INSTALL_ECJ_JAR_TRUE@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ |