Macro: ac_prog_java_works

Back to the Main Page. | # ac_prog_java_works | Download the M4 Source.

Synopsis

  `AC_PROG_JAVA_WORKS`

Version

  1.1.1.1 (2001/07/26) Java_Support @ ac-archive-0.5.39

Author

  Stephane Bortzmeyer <bortzmeyer@pasteur.fr>

Description

  Internal use ONLY.

  Note: This is part of the set of autoconf M4 macros for Java programs. It is VERY IMPORTANT that you download the whole set, some macros depend on other. Unfortunately, the autoconf archive does not support the concept of set of macros, so I had to break it for submission. The general documentation, as well as the sample configure.in, is included in the AC_PROG_JAVA macro.

M4 Source Code

      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($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
      ]
      )