diff options
Diffstat (limited to 'libjava/classpath/m4')
-rw-r--r-- | libjava/classpath/m4/ac_prog_antlr.m4 | 46 | ||||
-rw-r--r-- | libjava/classpath/m4/ac_prog_java.m4 | 17 | ||||
-rw-r--r-- | libjava/classpath/m4/ac_prog_java_works.m4 | 109 | ||||
-rw-r--r-- | libjava/classpath/m4/ac_prog_javac.m4 | 14 | ||||
-rw-r--r-- | libjava/classpath/m4/ac_prog_javac_works.m4 | 8 | ||||
-rw-r--r-- | libjava/classpath/m4/acinclude.m4 | 80 |
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) |