Macro: ac_prog_java_works

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

# ac_prog_java_works

## Synopsis

`AC_PROG_JAVA_WORKS`

## Version

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

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