| 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*]) |