Stephane Bortzmeyer <bortzmeyer@pasteur.fr>
GPLWithACException
This program is free software; you can
redistribute it and/or modify it under the terms of the GNU General Public License
as published by the Free Software Foundation. As a special exception, the respective
Autoconf Macro's copyright owner gives unlimited permission to copy, distribute and modify
the configure scripts that are the output of Autoconf when processing the Macro. You
need not follow the terms of the
GNU General Public License when using or distributing such scripts
Here is a summary of the main macros:
AC_PROG_JAVAC: finds a Java compiler.
AC_PROG_JAVA: finds a Java virtual machine.
AC_CHECK_CLASS: finds if we have the given class (beware of
CLASSPATH!).
AC_CHECK_RQRD_CLASS: finds if we have the given class and stops
otherwise.
AC_TRY_COMPILE_JAVA: attempt to compile user given source.
AC_TRY_RUN_JAVA: attempt to compile and run user given source.
AC_JAVA_OPTIONS: adds Java configure options.
AC_PROG_JAVA tests an existing Java virtual machine. It uses the
environment variable JAVA then tests in sequence various common
Java virtual machines. For political reasons, it starts with the
free ones. You *must* call [AC_PROG_JAVAC] before.
If you want to force a specific VM:
AC_PROG_JAVA
(but after AC_INIT)
You can use the JAVA variable in your Makefile.in, with @JAVA@.
*Warning*: its success or failure can depend on a proper setting of
the CLASSPATH env. variable.
TODO: allow to exclude virtual machines (rationale: most Java
programs cannot run with some VM like kaffe).
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.
A Web page, with a link to the latest CVS snapshot is at
<http://www.internatif.org/bortzmeyer/autoconf-Java/>.
This is a sample configure.in Process this file with autoconf to
produce a configure script.
AC_INIT(UnTag.java)
dnl Checks for programs.
AC_CHECK_CLASSPATH
AC_PROG_JAVAC
AC_PROG_JAVA
dnl Checks for classes
AC_CHECK_RQRD_CLASS(org.xml.sax.Parser)
AC_CHECK_RQRD_CLASS(com.jclark.xml.sax.Driver)
AC_OUTPUT(Makefile)
AC_DEFUN([AC_PROG_JAVA],[
AC_REQUIRE([AC_EXEEXT])dnl
if test x$JAVAPREFIX = x; then
test x$JAVA = x && AC_CHECK_PROGS(JAVA, kaffe$EXEEXT java$EXEEXT)
else
test x$JAVA = x && AC_CHECK_PROGS(JAVA, kaffe$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
])