summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/m4
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/m4')
-rw-r--r--libjava/classpath/m4/ac_prog_antlr.m446
-rw-r--r--libjava/classpath/m4/ac_prog_java.m417
-rw-r--r--libjava/classpath/m4/ac_prog_java_works.m4109
-rw-r--r--libjava/classpath/m4/ac_prog_javac.m414
-rw-r--r--libjava/classpath/m4/ac_prog_javac_works.m48
-rw-r--r--libjava/classpath/m4/acinclude.m480
6 files changed, 249 insertions, 25 deletions
diff --git a/libjava/classpath/m4/ac_prog_antlr.m4 b/libjava/classpath/m4/ac_prog_antlr.m4
new file mode 100644
index 00000000000..e2c10780ae3
--- /dev/null
+++ b/libjava/classpath/m4/ac_prog_antlr.m4
@@ -0,0 +1,46 @@
+
+AC_DEFUN([AC_LIB_ANTLR],[
+ AC_MSG_CHECKING([for the ANTLR parser generator JAR file])
+ if test -z "$ANTLR_JAR"; then
+ for antlr_lib_home in `ls -d /usr/local/share/antlr* 2> /dev/null` \
+ /usr/share/antlr/lib /usr/share/java /usr/lib;
+ do
+ if test -f "$antlr_lib_home/antlr.jar"; then
+ ANTLR_JAR="$antlr_lib_home/antlr.jar"
+ break
+ fi
+ done
+ fi
+ test -f $ANTLR_JAR || AC_MSG_ERROR([specified ANTLR jar file $ANTLR_JAR not found.]) \
+ && AC_MSG_RESULT([$ANTLR_JAR])
+ AC_SUBST(ANTLR_JAR)
+ AC_PROVIDE([$0])dnl
+])
+
+AC_DEFUN([AC_PROG_ANTLR],[
+ AC_REQUIRE([AC_PROG_JAVA])dnl
+ AC_CHECK_TOOLS([ANTLR], [cantlr runantlr antlr])
+ if test "x$ANTLR" = x; then
+ if test -z "$JAVA"; then
+ AC_MSG_ERROR(Failed to find either an antlr binary or a suitable Java runtime for ANTLR.)
+ else
+ ANTLR="$JAVA -classpath $ANTLR_JAR antlr.Tool"
+ fi
+ fi
+ AC_SUBST(ANTLR)
+ AC_MSG_CHECKING([for antlr $1.$2.$3 or better])
+ antlr_version_str=`$ANTLR 2>&1 | head -n 1 | sed '/.*Version */!d; s///;q'`
+ if test "$antlr_version_str"; then
+ antlr_version_regex='s/\([[[:digit:]]]\+\)\.\([[[:digit:]]]\+\)\.\([[[:digit:]]]\+\).*$/'
+ antlr_version_major=`echo $antlr_version_str | sed "$antlr_version_regex\\1/"`
+ antlr_version_minor=`echo $antlr_version_str | sed "$antlr_version_regex\\2/"`
+ antlr_version_micro=`echo $antlr_version_str | sed "$antlr_version_regex\\3/"`
+ (test $antlr_version_major -gt $1 || \
+ (test $antlr_version_major -eq $1 && \
+ test $antlr_version_minor -gt $2) || \
+ (test $antlr_version_major -eq $1 && \
+ test $antlr_version_minor -eq $2 && \
+ test $antlr_version_micro -ge $3))
+ fi
+ AC_MSG_RESULT($antlr_version_major.$antlr_version_minor.$antlr_version_micro)
+])
diff --git a/libjava/classpath/m4/ac_prog_java.m4 b/libjava/classpath/m4/ac_prog_java.m4
new file mode 100644
index 00000000000..356d99d8084
--- /dev/null
+++ b/libjava/classpath/m4/ac_prog_java.m4
@@ -0,0 +1,17 @@
+dnl Available from the GNU Autoconf Macro Archive at:
+dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_prog_java.html
+dnl
+dnl Changes for gjdoc: check for "kaffe, gij, java", not only "kaffe, java"
+dnl Changes for GNU Classpath: check for "cacao, jamvm" as well
+dnl
+AC_DEFUN([AC_PROG_JAVA],[
+AC_REQUIRE([AC_EXEEXT])dnl
+if test "x$JAVAPREFIX" = x; then
+ test "x$JAVA" = x && AC_CHECK_PROGS(JAVA, cacao$EXEEXT jamvm$EXEEXT kaffe$EXEEXT gij$EXEEXT java$EXEEXT)
+else
+ test "x$JAVA" = x && AC_CHECK_PROGS(JAVA, cacao$EXEEXT jamvm$EXEEXT kaffe$EXEEXT gij$EXEEXT java$EXEEXT, $JAVAPREFIX)
+fi
+test "x$JAVA" = x && AC_MSG_ERROR([no acceptable Java virtual machine found in \$PATH])
+AC_PROG_JAVA_WORKS
+AC_PROVIDE([$0])dnl
+])
diff --git a/libjava/classpath/m4/ac_prog_java_works.m4 b/libjava/classpath/m4/ac_prog_java_works.m4
new file mode 100644
index 00000000000..ffde1ffc4ab
--- /dev/null
+++ b/libjava/classpath/m4/ac_prog_java_works.m4
@@ -0,0 +1,109 @@
+dnl Available from the GNU Autoconf Macro Archive at:
+dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_prog_java_works.html
+dnl
+AC_DEFUN([AC_PROG_JAVA_WORKS], [
+AC_CHECK_PROG(uudecode, uudecode$EXEEXT, yes)
+if test x$uudecode = xyes; then
+AC_CACHE_CHECK([if uudecode can decode base 64 file], ac_cv_prog_uudecode_base64, [
+dnl /**
+dnl * Test.java: used to test if java compiler works.
+dnl */
+dnl public class Test
+dnl {
+dnl
+dnl public static void
+dnl main( String[] argv )
+dnl {
+dnl System.exit (0);
+dnl }
+dnl
+dnl }
+cat << \EOF > Test.uue
+begin-base64 644 Test.class
+yv66vgADAC0AFQcAAgEABFRlc3QHAAQBABBqYXZhL2xhbmcvT2JqZWN0AQAE
+bWFpbgEAFihbTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51
+bWJlclRhYmxlDAAKAAsBAARleGl0AQAEKEkpVgoADQAJBwAOAQAQamF2YS9s
+YW5nL1N5c3RlbQEABjxpbml0PgEAAygpVgwADwAQCgADABEBAApTb3VyY2VG
+aWxlAQAJVGVzdC5qYXZhACEAAQADAAAAAAACAAkABQAGAAEABwAAACEAAQAB
+AAAABQO4AAyxAAAAAQAIAAAACgACAAAACgAEAAsAAQAPABAAAQAHAAAAIQAB
+AAEAAAAFKrcAErEAAAABAAgAAAAKAAIAAAAEAAQABAABABMAAAACABQ=
+====
+EOF
+if uudecode$EXEEXT Test.uue; then
+ ac_cv_prog_uudecode_base64=yes
+else
+ echo "configure: __oline__: uudecode had trouble decoding base 64 file 'Test.uue'" >&AC_FD_CC
+ echo "configure: failed file was:" >&AC_FD_CC
+ cat Test.uue >&AC_FD_CC
+ ac_cv_prog_uudecode_base64=no
+fi
+rm -f Test.uue])
+fi
+if test x$ac_cv_prog_uudecode_base64 != xyes; then
+ rm -f Test.class
+ AC_MSG_WARN([I have to compile Test.class from scratch])
+ if test x$ac_cv_prog_javac_works = xno; then
+ AC_MSG_ERROR([Cannot compile java source. $JAVAC does not work properly])
+ fi
+ if test x$ac_cv_prog_javac_works = x; then
+ AC_PROG_JAVAC
+ fi
+fi
+AC_CACHE_CHECK(if $JAVA works, ac_cv_prog_java_works, [
+JAVA_TEST=Test.java
+CLASS_TEST=Test.class
+TEST=Test
+changequote(, )dnl
+cat << \EOF > $JAVA_TEST
+/* [#]line __oline__ "configure" */
+public class Test {
+public static void main (String args[]) {
+ System.exit (0);
+} }
+EOF
+changequote([, ])dnl
+if test x$ac_cv_prog_uudecode_base64 != xyes; then
+ if AC_TRY_COMMAND($JAVAC $JAVACFLAGS $JAVA_TEST) && test -s $CLASS_TEST; then
+ :
+ else
+ echo "configure: failed program was:" >&AC_FD_CC
+ cat $JAVA_TEST >&AC_FD_CC
+ AC_MSG_ERROR(The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?))
+ fi
+fi
+if AC_TRY_COMMAND(CLASSPATH=.:$CLASSPATH $JAVA $JAVAFLAGS $TEST) >/dev/null 2>&1; then
+ ac_cv_prog_java_works=yes
+else
+ echo "configure: failed program was:" >&AC_FD_CC
+ cat $JAVA_TEST >&AC_FD_CC
+ AC_MSG_ERROR(The Java VM $JAVA failed (see config.log, check the CLASSPATH?))
+fi
+rm -fr $JAVA_TEST $CLASS_TEST Test.uue
+])
+AC_PROVIDE([$0])dnl
+]
+)
+dnl Available from the GNU Autoconf Macro Archive at:
+dnl http://www.gnu.org/software/ac-archive/htmldoc/ac_try_compile_java.html
+dnl
+AC_DEFUN([AC_TRY_COMPILE_JAVA],[
+AC_REQUIRE([AC_PROG_JAVAC])dnl
+cat << \EOF > Test.java
+/* [#]line __oline__ "configure" */
+ifelse([$1], , , [import $1;])
+public class Test {
+[$2]
+}
+EOF
+if AC_TRY_COMMAND($JAVAC $JAVACFLAGS Test.java) && test -s Test.class
+then
+dnl Don't remove the temporary files here, so they can be examined.
+ ifelse([$3], , :, [$3])
+else
+ echo "configure: failed program was:" >&AC_FD_CC
+ cat Test.java >&AC_FD_CC
+ifelse([$4], , , [ rm -fr Test*
+ $4
+])dnl
+fi
+rm -fr Test*])
diff --git a/libjava/classpath/m4/ac_prog_javac.m4 b/libjava/classpath/m4/ac_prog_javac.m4
index 869c1942f2c..0c505dae840 100644
--- a/libjava/classpath/m4/ac_prog_javac.m4
+++ b/libjava/classpath/m4/ac_prog_javac.m4
@@ -36,12 +36,22 @@ dnl Modified to remove jikes by Andrew John Hughes on 2008-02-11
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 -warn:-deprecation,serial,unusedImport"] ["ecj-3.3$EXEEXT -warn:-deprecation,serial,unusedImport"] ["ecj-3.2$EXEEXT -warn:-deprecation,serial,unusedImport"] ["javac$EXEEXT -Xlint:unchecked"] "gcj$EXEEXT -C")
+ 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 -warn:-deprecation,serial,unusedImport"] ["ecj-3.3$EXEEXT -warn:-deprecation,serial,unusedImport"] ["ecj-3.2$EXEEXT -warn:-deprecation,serial,unusedImport"] ["javac$EXEEXT -Xlint:unchecked"] "gcj$EXEEXT -C", $JAVAPREFIX)
+ 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)
dnl GCJ LOCAL
if test "$enable_java_maintainer_mode" = yes; then
AC_PROG_JAVAC_WORKS
diff --git a/libjava/classpath/m4/ac_prog_javac_works.m4 b/libjava/classpath/m4/ac_prog_javac_works.m4
index 827ecc9bbdf..a03f476e3f8 100644
--- a/libjava/classpath/m4/ac_prog_javac_works.m4
+++ b/libjava/classpath/m4/ac_prog_javac_works.m4
@@ -31,8 +31,12 @@ public class Object
}
}
EOF
-dnl GCJ LOCAL: don't call JAVAC with $JAVACFLAGS -source 1.5 -target 1.5
-if AC_TRY_COMMAND($JAVAC $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/libjava/classpath/m4/acinclude.m4 b/libjava/classpath/m4/acinclude.m4
index 9f98f1c37f6..65cb8fc4769 100644
--- a/libjava/classpath/m4/acinclude.m4
+++ b/libjava/classpath/m4/acinclude.m4
@@ -55,18 +55,45 @@ dnl -----------------------------------------------------------
AC_DEFUN([CLASSPATH_WITH_GLIBJ],
[
AC_PATH_PROG(ZIP, zip)
- AC_ARG_WITH([fastjar],
- [AS_HELP_STRING([--with-fastjar=PATH], [define to use a fastjar style tool])],
+
+ AC_MSG_CHECKING(for a jar-like tool)
+ AC_ARG_WITH([jar],
+ [AS_HELP_STRING([--with-jar=PATH], [define to use a jar style tool])],
[
- AC_MSG_CHECKING([for user supplied fastjar])
- FASTJAR=${withval}
- AC_MSG_RESULT([${FASTJAR}])
- ],
- [AC_PATH_PROGS([FASTJAR], [fastjar gjar jar])])
-dnl We disable ZIP by default if we find fastjar.
- if test x"${FASTJAR}" != x; then
- ZIP=""
+ case "${withval}" in
+ yes)
+ JAR=yes
+ ;;
+ no)
+ JAR=no
+ AC_MSG_RESULT(${JAR})
+ ;;
+ *)
+ if test -f "${withval}"; then
+ JAR="${withval}"
+ AC_MSG_RESULT(${JAR})
+ else
+ AC_MSG_RESULT([not found])
+ AC_MSG_ERROR([The jar tool ${withval} was not found.])
+ fi
+ ;;
+ esac
+ ],
+ [
+ JAR=yes
+ ])
+ if test x"${JAR}" = "xyes"; then
+ AC_MSG_RESULT([trying fastjar, gjar and jar])
+ AC_PATH_PROGS([JAR], [fastjar gjar jar])
+ if test x"${RHINO_JAR}" = "xyes"; then
+ AC_MSG_RESULT([not found])
+ fi
+ fi
+ if test x"${JAR}" = "xno" && test x"${ZIP}" = ""; then
+ AC_MSG_ERROR([No zip or jar tool found.])
fi
+ AM_CONDITIONAL(WITH_JAR, test x"${JAR}" != "xno" && test x"${JAR}" != "xyes")
+ AC_SUBST(JAR)
AC_ARG_WITH([glibj],
[AS_HELP_STRING([--with-glibj],[define what to install (zip|flat|both|none|build) [default=zip]])],
@@ -111,7 +138,7 @@ dnl We disable ZIP by default if we find fastjar.
*) AC_MSG_ERROR(bad value ${enableval} for --enable-examples) ;;
esac],
[EXAMPLESDIR="examples"])
- if test "x${use_zip}" = xno && test "x${install_class_files}" = xno; then
+ if test "x${build_class_files}" = xno; then
EXAMPLESDIR=""
fi
AC_SUBST(EXAMPLESDIR)
@@ -124,7 +151,7 @@ dnl We disable ZIP by default if we find fastjar.
*) AC_MSG_ERROR(bad value ${enableval} for --enable-tools) ;;
esac],
[TOOLSDIR="tools"])
- if test "x${use_zip}" = xno && test "x${install_class_files}" = xno; then
+ if test "x${build_class_files}" = xno; then
TOOLSDIR=""
fi
AC_SUBST(TOOLSDIR)
@@ -155,8 +182,17 @@ AC_DEFUN([CLASSPATH_WITH_GJDOC],
AC_MSG_ERROR("Cannot use ${withval} as gjdoc executable since it doesn't exist"))
fi],
[WITH_GJDOC=no])
-
AM_CONDITIONAL(CREATE_API_DOCS, test "x${WITH_GJDOC}" = xyes)
+ if test "x${WITH_GJDOC}" = xyes; then
+ AC_MSG_CHECKING([version of GJDoc])
+ gjdoc_version=$(${GJDOC} --version|cut -d ' ' -f2)
+ AC_MSG_RESULT(${gjdoc_version})
+ case ${gjdoc_version} in
+ 0.7.9) ;;
+ 0.8*) ;;
+ *) AC_MSG_ERROR([Building documentation requires GJDoc >= 0.7.9, ${gjdoc_version} found.]) ;;
+ esac
+ fi
])
dnl -----------------------------------------------------------
@@ -234,14 +270,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)
OpenPOWER on IntegriCloud