summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog15
-rw-r--r--examples/Makefile.am4
-rw-r--r--lib/Makefile.am4
-rw-r--r--m4/ac_prog_javac.m48
-rw-r--r--m4/ac_prog_javac_works.m47
-rw-r--r--m4/acinclude.m418
-rwxr-xr-xtools/Makefile.am4
7 files changed, 51 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index fb467497f..aab0f66e9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2008-09-13 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ * examples/Makefile.am,
+ * lib/Makefile.am:
+ Add GCJ rules.
+ * m4/ac_prog_javac.m4:
+ Check whether JAVAC is gcj.
+ * m4/ac_prog_javac_works.m4:
+ Add GCJ rules.
+ * m4/acinclude.m4:
+ Don't bother checking for -J
+ if using GCJ.
+ * tools/Makefile.am:
+ Add GCJ rules.
+
2007-08-23 Daniel Frampton <zyridium@zyridium.net>
* AUTHORS: Added.
diff --git a/examples/Makefile.am b/examples/Makefile.am
index 409269b2e..cefd1b62d 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -1,7 +1,11 @@
## Input file for automake to generate the Makefile.in used by configure
GLIBJ_CLASSPATH='$(top_builddir)/lib/glibj.zip'
+if GCJ_JAVAC
+JCOMPILER = $(JAVAC) $(JAVACFLAGS) -fsource=1.5 -ftarget=1.5 --encoding=UTF-8 --bootclasspath=$(GLIBJ_CLASSPATH) --classpath='$(top_builddir)/tools/tools.zip'
+else
JCOMPILER = $(JAVAC) $(JAVACFLAGS) -source 1.5 -target 1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_CLASSPATH) -classpath '$(top_builddir)/tools/tools.zip'
+endif
# All our example java source files
EXAMPLE_JAVA_FILES = $(srcdir)/gnu/classpath/examples/*/*.java $(srcdir)/gnu/classpath/examples/*/*/*.java $(srcdir)/gnu/classpath/examples/*/*/*/*.java
diff --git a/lib/Makefile.am b/lib/Makefile.am
index a29f6b5f1..8104ee764 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -8,7 +8,11 @@ sinclude $(JAVA_DEPEND)
compile_classpath = $(vm_classes):$(top_srcdir):$(top_srcdir)/external/w3c_dom:$(top_srcdir)/external/sax:$(top_srcdir)/external/relaxngDatatype:$(top_srcdir)/external/jsr166:.:$(PATH_TO_GLIBJ_ZIP):$(PATH_TO_ESCHER)
# handling source to bytecode compiler programs like gcj, jikes and kjc
+if GCJ_JAVAC
+JCOMPILER = $(JAVAC) $(JAVACFLAGS) -fsource=1.5 -ftarget=1.5 --bootclasspath='' --classpath=$(compile_classpath) -d . @classes
+else
JCOMPILER = $(JAVAC) $(JAVACFLAGS) $(JAVAC_MEM_OPT) -source 1.5 -target 1.5 -bootclasspath '' -classpath $(compile_classpath) -d . @classes
+endif
if CREATE_COLLECTIONS
COLLECTIONS = collections.jar
diff --git a/m4/ac_prog_javac.m4 b/m4/ac_prog_javac.m4
index 9ec163185..baf518600 100644
--- a/m4/ac_prog_javac.m4
+++ b/m4/ac_prog_javac.m4
@@ -38,12 +38,20 @@ AC_DEFUN([AC_PROG_JAVAC],[
AC_REQUIRE([AC_EXEEXT])dnl
ECJ_OPTS="-warn:-deprecation,serial,unusedImport"
JAVAC_OPTS="-Xlint:unchecked,cast,divzero,empty,finally,overrides"
+GCJ_OPTS="-g"
if test "x$JAVAPREFIX" = x; then
test "x$JAVAC" = x && AC_CHECK_PROGS(JAVAC, ["ecj$EXEEXT $ECJ_OPTS"] ["ecj-3.3$EXEEXT $ECJ_OPTS"] ["ecj-3.2$EXEEXT $ECJ_OPTS"] ["javac$EXEEXT $JAVAC_OPTS"] "gcj$EXEEXT -C")
else
test "x$JAVAC" = x && AC_CHECK_PROGS(JAVAC, ["ecj$EXEEXT $ECJ_OPTS"] ["ecj-3.3$EXEEXT $ECJ_OPTS"] ["ecj-3.2$EXEEXT $ECJ_OPTS"] ["javac$EXEEXT $JAVAC_OPTS"] "gcj$EXEEXT -C", $JAVAPREFIX)
fi
test "x$JAVAC" = x && AC_MSG_ERROR([no acceptable Java compiler found in \$PATH])
+AC_CACHE_CHECK([if $JAVAC is a version of gcj], ac_cv_prog_javac_is_gcj, [
+if $JAVAC --version | grep gcj > /dev/null; then
+ ac_cv_prog_javac_is_gcj=yes;
+ JAVAC="$JAVAC $GCJ_OPTS";
+fi])
+AC_SUBST(JAVAC_IS_GCJ, $ac_cv_prog_javac_is_gcj)
+AM_CONDITIONAL(GCJ_JAVAC, test x"${JAVAC_IS_GCJ}" = xyes)
AC_PROG_JAVAC_WORKS
AC_PROVIDE([$0])dnl
])
diff --git a/m4/ac_prog_javac_works.m4 b/m4/ac_prog_javac_works.m4
index 02b1f28c3..a03f476e3 100644
--- a/m4/ac_prog_javac_works.m4
+++ b/m4/ac_prog_javac_works.m4
@@ -31,7 +31,12 @@ public class Object
}
}
EOF
-if AC_TRY_COMMAND($JAVAC $JAVACFLAGS -source 1.5 -target 1.5 $JAVA_TEST) >/dev/null 2>&1; then
+if test x$JAVAC_IS_GCJ = xyes; then
+ CMD="$JAVAC $JAVACFLAGS -fsource=1.5 -ftarget=1.5 $JAVA_TEST"
+else
+ CMD="$JAVAC $JAVACFLAGS -source 1.5 -target 1.5 $JAVA_TEST"
+fi
+if AC_TRY_COMMAND($CMD) >/dev/null 2>&1; then
ac_cv_prog_javac_works=yes
else
AC_MSG_ERROR([The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?)])
diff --git a/m4/acinclude.m4 b/m4/acinclude.m4
index c89fd1e25..5b9f5d247 100644
--- a/m4/acinclude.m4
+++ b/m4/acinclude.m4
@@ -257,14 +257,16 @@ AC_DEFUN([CLASSPATH_JAVAC_MEM_CHECK],
}
}
EOF
- AC_MSG_CHECKING([whether javac supports -J])
- $JAVAC $JAVACFLAGS -J-Xmx768M -sourcepath '' $JAVA_TEST
- javac_result=$?
- if test "x$javac_result" = "x0"; then
- AC_MSG_RESULT([yes])
- JAVAC_MEM_OPT="-J-Xmx768M"
- else
- AC_MSG_RESULT([no])
+ if test x$JAVAC_IS_GCJ != xyes; then
+ AC_MSG_CHECKING([whether javac supports -J])
+ $JAVAC $JAVACFLAGS -J-Xmx768M -sourcepath '' $JAVA_TEST
+ javac_result=$?
+ if test "x$javac_result" = "x0"; then
+ AC_MSG_RESULT([yes])
+ JAVAC_MEM_OPT="-J-Xmx768M"
+ else
+ AC_MSG_RESULT([no])
+ fi
fi
rm -f $JAVA_TEST $CLASS_TEST
AC_SUBST(JAVAC_MEM_OPT)
diff --git a/tools/Makefile.am b/tools/Makefile.am
index 3be825a9a..4585e0fa9 100755
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -4,7 +4,11 @@ GLIBJ_BOOTCLASSPATH='$(top_builddir)/lib/glibj.zip'
GLIBJ_CLASSPATH=asm
# Setup the compiler to use the GNU Classpath library we just built.
+if GCJ_JAVAC
+JCOMPILER = $(JAVAC) $(JAVACFLAGS) -fsource=1.5 -ftarget=1.5 --encoding=UTF-8 --bootclasspath=$(GLIBJ_BOOTCLASSPATH) --classpath=$(GLIBJ_CLASSPATH)
+else
JCOMPILER = $(JAVAC) $(JAVACFLAGS) -source 1.5 -target 1.5 -encoding UTF-8 -bootclasspath $(GLIBJ_BOOTCLASSPATH) -classpath $(GLIBJ_CLASSPATH)
+endif
if CREATE_GJDOC
USE_JAVAC_FLAGS = -classpath $(CLASSPATH):$(srcdir):$(ANTLR_JAR):generated:. $(JAVAC_FLAGS)