summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2005-02-07 02:32:37 +0000
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2005-02-07 02:32:37 +0000
commite6cd44e0c0be8f502355c6853d9196c6e598b973 (patch)
treedf1ef9c96cb15a9688601f41e16e82ad5aa41b0b
parentbc06aa3889246cb2df9742430256ebaf7955ccdc (diff)
downloadclasspath-e6cd44e0c0be8f502355c6853d9196c6e598b973.tar.gz
2005-02-07 Andrew John Hughes <gnu_andrew@member.fsf.org>
* acinclude.m4: (CLASSPATH_FIND_JAVAC): Add ECJ option. (CLASSPATH_WITH_ECJ): New function. (CLASSPATH_CHECK_ECJ): New function. * examples/Makefile.am: Allow examples to be built with ecj. * lib/Makefile.am: Allow Classpath to be built with ecj.
-rw-r--r--ChangeLog11
-rw-r--r--acinclude.m438
-rw-r--r--examples/Makefile.am4
-rw-r--r--lib/Makefile.am4
4 files changed, 57 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 6bd27aa0b..278a989f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2005-02-07 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ * acinclude.m4:
+ (CLASSPATH_FIND_JAVAC): Add ECJ option.
+ (CLASSPATH_WITH_ECJ): New function.
+ (CLASSPATH_CHECK_ECJ): New function.
+ * examples/Makefile.am:
+ Allow examples to be built with ecj.
+ * lib/Makefile.am:
+ Allow Classpath to be built with ecj.
+
2005-02-06 Mark Wielaard <mark@klomp.org>
Reported by Timo Lindfors <timo.lindfors@iki.fi>
diff --git a/acinclude.m4 b/acinclude.m4
index ab4173a92..431cfd0c0 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -9,13 +9,16 @@ AC_DEFUN([CLASSPATH_FIND_JAVAC],
CLASSPATH_WITH_JIKES
CLASSPATH_WITH_KJC
CLASSPATH_WITH_GCJX
+ CLASSPATH_WITH_ECJ
if test "x${user_specified_javac}" = x; then
AM_CONDITIONAL(FOUND_GCJ, test "x${GCJ}" != x)
AM_CONDITIONAL(FOUND_JIKES, test "x${JIKES}" != x)
+ AM_CONDITIONAL(FOUND_ECJ, test "x${ECJ}" != x)
else
AM_CONDITIONAL(FOUND_GCJ, test "x${user_specified_javac}" = xgcj)
AM_CONDITIONAL(FOUND_JIKES, test "x${user_specified_javac}" = xjikes)
+ AM_CONDITIONAL(FOUND_ECJ, test "x${user_specified_javac}" = xecj)
fi
AM_CONDITIONAL(FOUND_KJC, test "x${user_specified_javac}" = xkjc)
AM_CONDITIONAL(FOUND_GCJX, test "x${user_specified_javac}" = xgcjx)
@@ -404,3 +407,38 @@ AC_DEFUN([REGEN_WITH_JAY],
])
AM_CONDITIONAL(REGEN_PARSERS, test "x${JAY_FOUND}" = xyes)
])
+
+dnl -----------------------------------------------------------
+AC_DEFUN([CLASSPATH_WITH_ECJ],
+[
+ AC_ARG_WITH([ecj],
+ [AS_HELP_STRING(--with-ecj,bytecode compilation with ecj)],
+ [
+ if test "x${withval}" != x && test "x${withval}" != xyes && test "x${withval}" != xno; then
+ CLASSPATH_CHECK_ECJ(${withval})
+ else
+ if test "x${withval}" != xno; then
+ CLASSPATH_CHECK_ECJ
+ fi
+ fi
+ user_specified_javac=ecj
+ ],
+ [
+ CLASSPATH_CHECK_ECJ
+ ])
+ AC_SUBST(ECJ)
+])
+
+dnl -----------------------------------------------------------
+AC_DEFUN([CLASSPATH_CHECK_ECJ],
+[
+ if test "x$1" != x; then
+ if test -f "$1"; then
+ ECJ="$1"
+ else
+ AC_PATH_PROG(ECJ, "$1")
+ fi
+ else
+ AC_PATH_PROG(ECJ, "ecj")
+ fi
+])
diff --git a/examples/Makefile.am b/examples/Makefile.am
index afe19ea06..45e33f6b3 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -10,10 +10,14 @@ else
if FOUND_GCJX
JCOMPILER = $(GCJX) -bootclasspath '' -sourcepath '' -classpath $(top_builddir)/lib:.
else
+if FOUND_ECJ
+JCOMPILER = $(ECJ) --bootclasspath '$(top_builddir)/lib' --classpath .
+else
error dunno how to setup the JCOMPILER and compile
endif
endif
endif
+endif
# All our example java source files
EXAMPLE_JAVA_FILES = $(srcdir)/gnu/classpath/examples/*/*.java
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 2a950c16a..30c4e428a 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -26,6 +26,10 @@ JAVAC = $(KJC) -classpath .:$(USER_CLASSLIB) -d . @classes
else
if FOUND_GCJX
JAVAC = $(GCJX) -classpath .:$(USER_CLASSLIB) -d . @classes
+else
+if FOUND_ECJ
+JAVAC = $(ECJ) -warn:-deprecation,serial -proceedOnError -bootclasspath '' -classpath $(compile_classpath) -d . @classes
+endif # FOUND_ECJ
endif # FOUND_GCJX
endif # FOUND_KJC
endif # FOUND_GCJ