1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
|
@node ax_prog_java
@unnumberedsec ax_prog_java
@majorheading Synopsis
@smallexample
AX_PROG_JAVA
@end smallexample
@majorheading Description
Here is a summary of the main macros:
AX_PROG_JAVAC: finds a Java compiler.
AX_PROG_JAVA: finds a Java virtual machine.
AX_CHECK_CLASS: finds if we have the given class (beware of CLASSPATH!).
AX_CHECK_RQRD_CLASS: finds if we have the given class and stops
otherwise.
AX_TRY_COMPILE_JAVA: attempt to compile user given source.
AX_TRY_RUN_JAVA: attempt to compile and run user given source.
AX_JAVA_OPTIONS: adds Java configure options.
AX_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 [AX_PROG_JAVAC] before.
If you want to force a specific VM:
- at the configure.in level, set JAVA=yourvm before calling AX_PROG_JAVA
@smallexample
(but after AC_INIT)
@end smallexample
- at the configure level, setenv JAVA
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.
@smallexample
AC_INIT(UnTag.java)
@end smallexample
@smallexample
dnl Checks for programs.
AC_CHECK_CLASSPATH
AX_PROG_JAVAC
AX_PROG_JAVA
@end smallexample
@smallexample
dnl Checks for classes
AX_CHECK_RQRD_CLASS(org.xml.sax.Parser)
AX_CHECK_RQRD_CLASS(com.jclark.xml.sax.Driver)
@end smallexample
@smallexample
AC_OUTPUT(Makefile)
@end smallexample
@majorheading Source Code
Download the
@uref{http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_prog_java.m4,latest
version of @file{ax_prog_java.m4}} or browse
@uref{http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=history;f=m4/ax_prog_java.m4,the
macro's revision history}.
@majorheading License
@w{Copyright @copyright{} 2008 Stephane Bortzmeyer @email{bortzmeyer@@pasteur.fr}}
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; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License along
with this program. If not, see <https://www.gnu.org/licenses/>.
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, even though portions of the text of the
Macro appear in them. The GNU General Public License (GPL) does govern
all other use of the material that constitutes the Autoconf Macro.
This special exception to the GPL applies to versions of the Autoconf
Macro released by the Autoconf Archive. When you make and distribute a
modified version of the Autoconf Macro, you may extend this special
exception to the GPL to apply to your modified version as well.
|