]>
Commit | Line | Data |
---|---|---|
e0441a5b MK |
1 | dnl @synopsis AC_PROG_JAVAC |
2 | dnl | |
3 | dnl AC_PROG_JAVAC tests an existing Java compiler. It uses the | |
4 | dnl environment variable JAVAC then tests in sequence various common | |
5 | dnl Java compilers. For political reasons, it starts with the free | |
6 | dnl ones. | |
7 | dnl | |
8 | dnl If you want to force a specific compiler: | |
9 | dnl | |
6b1786aa | 10 | dnl - at the configure.ac level, set JAVAC=yourcompiler before calling |
e0441a5b MK |
11 | dnl AC_PROG_JAVAC |
12 | dnl | |
13 | dnl - at the configure level, setenv JAVAC | |
14 | dnl | |
15 | dnl You can use the JAVAC variable in your Makefile.in, with @JAVAC@. | |
16 | dnl | |
17 | dnl *Warning*: its success or failure can depend on a proper setting of | |
18 | dnl the CLASSPATH env. variable. | |
19 | dnl | |
20 | dnl TODO: allow to exclude compilers (rationale: most Java programs | |
21 | dnl cannot compile with some compilers like guavac). | |
22 | dnl | |
23 | dnl Note: This is part of the set of autoconf M4 macros for Java | |
24 | dnl programs. It is VERY IMPORTANT that you download the whole set, | |
25 | dnl some macros depend on other. Unfortunately, the autoconf archive | |
26 | dnl does not support the concept of set of macros, so I had to break it | |
27 | dnl for submission. The general documentation, as well as the sample | |
6b1786aa | 28 | dnl configure.ac, is included in the AC_PROG_JAVA macro. |
e0441a5b MK |
29 | dnl |
30 | dnl @category Java | |
31 | dnl @author Stephane Bortzmeyer <bortzmeyer@pasteur.fr> | |
32 | dnl @version 2000-07-19 | |
33 | dnl @license GPLWithACException | |
34 | dnl | |
35 | dnl Modified to remove jikes by Andrew John Hughes on 2008-02-11 | |
36 | ||
729530c0 | 37 | AC_DEFUN_ONCE([AC_PROG_JAVAC],[ |
e0441a5b | 38 | AC_REQUIRE([AC_EXEEXT])dnl |
a1906e8b | 39 | ECJ_OPTS="-warn:-deprecation,serial,unusedImport,unusedPrivate,resource" |
cd6d4007 MK |
40 | JAVAC_OPTS="-Xlint:unchecked,cast,divzero,empty,finally,overrides" |
41 | GCJ_OPTS="-g" | |
e0441a5b | 42 | if test "x$JAVAPREFIX" = x; then |
cd6d4007 | 43 | test "x$JAVAC" = x && AC_CHECK_PROGS(JAVAC, ["ecj$EXEEXT $ECJ_OPTS"] ["ecj-3.3$EXEEXT $ECJ_OPTS"] ["ecj-3.2$EXEEXT $ECJ_OPTS"] ["javac$EXEEXT $JAVAC_OPTS"] "gcj$EXEEXT -C") |
e0441a5b | 44 | else |
cd6d4007 | 45 | test "x$JAVAC" = x && AC_CHECK_PROGS(JAVAC, ["ecj$EXEEXT $ECJ_OPTS"] ["ecj-3.3$EXEEXT $ECJ_OPTS"] ["ecj-3.2$EXEEXT $ECJ_OPTS"] ["javac$EXEEXT $JAVAC_OPTS"] "gcj$EXEEXT -C", $JAVAPREFIX) |
e0441a5b MK |
46 | fi |
47 | test "x$JAVAC" = x && AC_MSG_ERROR([no acceptable Java compiler found in \$PATH]) | |
cd6d4007 | 48 | AC_CACHE_CHECK([if $JAVAC is a version of gcj], ac_cv_prog_javac_is_gcj, [ |
729530c0 | 49 | if $JAVAC --version 2>&1 | grep gcj >&AS_MESSAGE_LOG_FD ; then |
cd6d4007 MK |
50 | ac_cv_prog_javac_is_gcj=yes; |
51 | JAVAC="$JAVAC $GCJ_OPTS"; | |
729530c0 AJH |
52 | else |
53 | ac_cv_prog_javac_is_gcj=no; | |
54 | fi | |
55 | ]) | |
cd6d4007 MK |
56 | AC_SUBST(JAVAC_IS_GCJ, $ac_cv_prog_javac_is_gcj) |
57 | AM_CONDITIONAL(GCJ_JAVAC, test x"${JAVAC_IS_GCJ}" = xyes) | |
e0441a5b MK |
58 | dnl END GCJ LOCAL |
59 | AC_PROVIDE([$0])dnl | |
60 | ]) |